文章目录
- 软件包管理简介
- rpm命令管理
- rpm包命名规则
- rpm包依赖性
- 安装升级与卸载
- 查询
- 查询是否安装 rpm -q 包名
- 查询软件包详细信息 rpm -qi 包名
- 查询包中文件安装位置 rpm -ql 包名
- 查询系统文件属于哪个RPM包 rpm -qf 系统文件名
- 查询软件包的依赖性 rpm -qR 包名
- 校验(判断系统文件是否受到更改)
- RPM包中文件提取(常用于误删除后的恢复)
- yum在线管理
- IP地址配置和网络yum源
- 网络yum源 vi /etc/yum.repos.d/CentOS-Base.repo
- yum命令
- yum软件组管理命令
- yum grouplist # 列出所有可用的软件组列表
- yum groupinstall 软件组名 # 安装指定软件组,组名可以由grouplist查询出来
- yum groupremove 软件组名 # 卸载指定软件组
- 光盘yum源搭建
- 源码包管理
- 脚本安装包
软件包管理简介
软件包分类(WINDOWS包不能用于LINUX)
- 源码包(脚本安装包) 开源 绝大多数都是C语言写的
- 二进制包(RPM包、系统默认包) 源代码包经过编译后的机器语言包,二进制包不能看到源代码,但其能够加快安装速度,省略编译过程
- redhat和debian版本的主要区别主要是使用的二进制包不同
源码包优点
- 开源,如果有足够的能力,可以修改源代码
- 可以自由选择所需的功能
- 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
- 卸载方便
源码包缺点
- 安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,安装过程中一旦报错新手很难解决
二进制包优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包安装快得多
二进制包缺点
- 经过编译,不再可以看到源代码
- 功能选择不如源码包灵活
- 依赖性
rpm命令管理
rpm包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
- httpd - 软件包名
- 2.2.15 - 软件版本
- 15 - 软件发布的次数
- el6.centos - 适合的Linux平台
- i686 - 适合的硬件平台
- rpm - rpm包扩展名
rpm包依赖性
- 树形依赖: a->b->c(装a要求b,装b要求c)
- 环形依赖: a->b->c->a (解决方法:用一条命令同时装)
- 模块依赖: 模块依赖查询网站:www.rpmfind.net
- 十分繁琐,而且靠猜
安装升级与卸载
包全名与包名
- 包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
- 包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
RPM安装 rpm -ivh 包全名
- -i (install) 安装
- -v (verbose) 显示详细信息
- -h (hash) 显示进度
- –nodeps 不检测依赖性
RPM升级 rpm -Uvh 包全名
- -U 升级
RPM卸载 rpm -e 包名
- -e 卸载
- –nodeps 不检查依赖性
查询
查询是否安装 rpm -q 包名
- -q 查询
- -a 所有(查询所有已经安装的RPM包)
查询软件包详细信息 rpm -qi 包名
- -i 查询软件信息
- -p 查询未安装包信息
查询包中文件安装位置 rpm -ql 包名
- -l 列表
- -p 查询未安装包信息
查询系统文件属于哪个RPM包 rpm -qf 系统文件名
- -f 查询系统文件属于哪个软件包(file)
查询软件包的依赖性 rpm -qR 包名
- -R 查询软件包的依赖性
- -p 查询未安装包信息
校验(判断系统文件是否受到更改)
rpm -V 已安装的包名
- -V 校验指定RPM包中的文件
- 没有提示信息则表示没有经过修改
验证内容中的信息具体内容
- S 文件大小是否改变
- M 文件的类型或文件的权限(rwx)是否被改变
- 5 文件MD5校验和是否改变(可以看成文件内容是否改变)
- D 设备的中,从代码是否改变
- L 文件路径是否改变
- U 文件的所有者是否改变
- G 文件的属组是否改变
- T 文件的修改时间是否改变
文件类型
- c 配置文件
- d 普通文档
- g 鬼文件
- l 授权文件
- r 描述文件
RPM包中文件提取(常用于误删除后的恢复)
-
pm2cpio 包全名 |\ cpio -idv .文件绝对路径(\代表命令没有输完,换行)
-
rpm2cpio - 将rpm包转换为cpio格式的命令
-
cpio 是一个标准工具,用于创建软件档案文件和从档案文件中提取文件
-
-i copy-in模式,还原
-
-d
yum在线管理
IP地址配置和网络yum源
网络yum源 vi /etc/yum.repos.d/CentOS-Base.repo
- [base] 容器名称,一定要放在[]
- name 容器说明,可以自己随便写
- mirrorlist 镜像站点,这个可以注释掉
- baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
- enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
- gpgcheck 如果是1就是指RP,的数字证书生效,如果是0则不生效
- gpgkey 数字证书的公钥文件保存位置。不用修改
yum命令
查询
- yum list #查询所有可用软件包列表
- yum search 关键字 #搜索服务器上所有和关键字相关的包
安装 yum - y install 包名
- install - 安装
- -y - 自动回答yes
升级 yum -y update 包名
- update - 升级
- -y - 自动回答yes
- 不加包名则升级所有软件包(包括Linux内核)
- 慎重使用
卸载 yum -y remove 包名
- remove - 卸载
- -y - 自动回答yes
- 会自动卸载所依赖的包
- 尽量不卸载,特别是使用yum卸载
- 用什么装什么
yum软件组管理命令
yum grouplist # 列出所有可用的软件组列表
yum groupinstall 软件组名 # 安装指定软件组,组名可以由grouplist查询出来
- 如果软件组名有空格,则需要用双引号
yum groupremove 软件组名 # 卸载指定软件组
光盘yum源搭建
挂载光盘
- mount /dev/cdrom /mnt/cdrom/
让网络yum源文件失效
- 只让CentOS-Media.repo生效
- 更改其他所有的repo文件的enable=0
- 或者把其他的所有repo文件的后缀名都改掉,让其不是repo文件,它就不再起作用
源码包管理
源码包和RPM包的区别(安装之前的区别:概念上的区别;安装之后的区别:安装位置不同)
RPM包安装在默认位置中
路径 | 功能 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
源码包安装在指定位置中
- 一般是/usr/local/软件名/
安装位置不同带来的影响
- RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
- /etc/rc.d/init.d/httpd start
- service httpd start
- 源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
- /usr/local/apache2/bin/apachect1 start
源码包安装过程
安装准备
- 安装C语言编译器gcc
- 下载源码包
安装注意事项
- 源代码保存位置:/usr/local/src/
- 软件安装位置:/usr/local/
- 如何确定安装过程中报错:
- 安装过程停止
- 并出现error、warning或no的提示
安装过程
-
下载源码包
-
解压缩下载的源码包
-
进入解压缩目录
-
./configure 软件配置与检查(–prefix = 前缀)
- 定义需要的功能选项
- 检测系统环境是否符合安装要求
- 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑
-
make 编译
-
make install 编译安装
卸载
- 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件
脚本安装包
简介
- 脚本安装包并不是独立的软件包类型,常见安装的是源码包
- 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
- 非常类似于Windows下软件的安装方式
Webwin的作用
- Webwin是一个基于Web的Linux系统管理界面。可以通过图形化的方式设置用户账号,Apache、DNS、文件共享等服务