16-软件包管理(RMP命令管理)
源码包
- 脚本安装
二进制包(RPM包,系统默认包)
RPM包命名规则
httpd-2-2-15-15.e16.centos.1.i686.rpm
- httpd 软件包名
- 2.2.15 软件版本
- 15 软件发布次数
- e16.centos 适合的Linux平台
- i686 适合的硬件平台
- rpm rpm包扩展名
RPM包依赖性(重要!)
-
树形依赖:a->b->c
-
环形依赖a->b->c->a
-
模块依赖:模块依赖(查询网址www.rpmfind.net)
包名和包全名的使用
包全名:操作的包是没有安装的软件包时使用包全名(安装和升级时)
包名:操作已经安装的软件包时使用包名(是搜索/var/lib/rpm中的数据库)
RPM安装
- rpm -i 安装
- rpm -v 显示详细信息
- rpm -h 显示进度
- rpm -nodeps 不检查依赖性
- rpm -U 升级
- rpm -e 卸载
- rpm -Uvh 包全名(常用的升级命令)
- rpm -ivh 包全名 (常用的安装命令)
RPM查询方式
-
rpm -q 包名 查询包是否安装
-
rpm -qa 查询所有已安装的包
-
rpm -qi 查询未安装包信息
-
rpm -qp 查询未安装包信息
-
rpm -ql 查询未安装包列表
-
rpm -qf [系统文件名] 查询系统文件属于哪个软件包
-
-R 查询软件包依赖性
RPM校验
使用校验的方式来判断系统文件是否被修改
-
rpm -V [已安装的包名]
-
S 文件大小改变
-
M文件类型或文件权限改变
-
5 文件MD5校验和改变(文件内容改变)
-
D 设备的中,从代码改变
-
L文件路径改变
-
U文件的属主(所有者)改变
-
G文件属组改变
-
T文件修改时间改
-
c 配置文件
-
d 普通文档
-
g “鬼文件”(该文件不应该被这个RPM包包含)
-
l 授权文件
-
r 描述文件
-
RPM包文件提取
-
rpm2cpio 包全名 | \ cpio -idv.文件绝对路径
- rpm2cpio 将rpm包转换为cpio格式的命令
- cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
-
cpio 选项<[文件|设备]
- -i 还原
- -d 还原时自动新建目录
- -v 显示还原过程
将 coreutils这个包转换成cpio格式,并将转换后的cpio内容提取到 ./bin/ls目录中
17-软件包管理(yum在线管理)
要保证可以连接到互联网上!或者使用本地光盘作为yum源。
centos 的网卡默认是不启动的
要改成ONBOOT="yes"来启动网卡w
网络yum源
网络yum源在/etc/yum.respos.d/CentOS-Base.repo
vim进入/etc/yum.respos.d/CentOS-Base.repo后
- [base] 容器名称,一定要放在中括号内
- name 容器说明,可以随便写
- mirrorlist 镜像站点,可以注释
- enablcd 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效的
- gpgcheck如果是1是指RPM的数字证书生效,如果是0则不生效
- gpgkey数字证书的公钥文件保存位置。不用修改
yum 命令(查询,安装,升级,卸载)
-
yum list 查询所有可用软件包列表
-
yum search [关键字]
yum中没有包全名这个概念
-
yum -y install 包名
-
install 安装
-
-y 自动回答yes
-
-
yum -y update 包名
- 注意!如果不加包名会自动升级所有的文件,包括内核配置等,升级完内核配置需要本地进行配置,如果不配置服务器是打不开的!!!!!
-
yum -y remove 包名 卸载
尽量不要卸载!!!!!只装不卸!!!!卸载也要rpm手工卸载!!!
yum卸载会将一系列的依赖包都给卸载!!可能系统也依赖某个你卸载了的包,会导致系统崩溃!!!!
-
yum grouplist 列出所有可用的软件组列表
-
yum groupinstall [软件组名] 安装指定软件组
-
yum groupremove [软件组名] 卸载指定软件组
光盘yum源搭建
步骤1 挂载光盘
mounrt /dev/sr0 /mnt/cdrom/
将dev下的sr0挂载到mnt下的cdrom
步骤2 让网络yum源失效
方法1:vim /etc/yum.respos.d/CentOS-Base.repo 将enable改为0
方法2:进入/etc/yum.respos.d,将所有网络yum源改名
步骤3 修改光盘yum源
vim CentOS-Media
[容器名]
name=容器说明
baseurl=file:///mnt/cdrom
#这个地址为光盘挂载的实际地址
#不存在的地址1
#不存在的地址2
#将上面两个不存在的地址注释掉
gpgecheck=1
enable=1