软件包分类
源码包(脚本安装包)
优点:
- 开源,有足够的能力的人可以修改源代码 。
- 可以自由选择所需的功能 。
- 软件是编译安装,所以软件会更加适合自己的系统,也会更加稳定,效率更高 。
- 卸载方便。
缺点:
- 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误。
- 编译过程时间较长,安装比二进制安装时间长 。
- 因为是编译安装,安装过程中一旦报错新手很难解决。
二进制包(RPM包、系统默认包)
优点:
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载 。
- 安装速度比源码包安装快的多。
缺点:
- 二进制包是经过编译的,不再可以看到源代码 。
- 功能选择不如源码包灵活 。
- 依赖性复杂。
rpm命令管理
rpm包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
Linux中是没有扩展名的,这里的扩展名只是方便管理员知道这个文件是rpm包。
rpm包依赖性
树形依赖: a→b→c
环形依赖: a→b→c→a
模块依赖: 模块依赖查询网站:www.rpmfind.net
rpm包的包全名和包名的区别
包全名:操作的包是没有安装的软件包时, 使用包全名。而且要注意路径。
包名:操作已经安装的软件包时,使用包名。
操作包命是搜索/var/lib/rpm/中的数据库。
rpm包命令
rpm安装:
rpm -ivh 包全名(如果不在光盘目录下要写绝对路径)
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
–nodeps 不检测依赖性
常用的选项格式:-ivh
rpm包升级
rpm -Uvh 包全名 (如果不在光盘目录下要写绝对路径)
选项:
-U(upgrade) 升级
-v(verbose) 显示详细信息
-h(hash) 显示进度
常用的选项格式:-Uvh
rpm包卸载:
rpm -e 包名
选项:
-e(erase) 卸载
–nodeps 不检查依赖性
查询
查询某个rpm包是否安装:
rpm -q 包名
选项:
-q 查询(query)
-a 所有(all)
rpm –qa (查询所有已经安装的RPM包 )
查询rpm包的详细信息:
rpm –qi 包名
选项:
-i 查询软件信息(information)
-p 查询未安装包信息(package)
查询包中文件安装的位置:
rpm –ql 包名
选项:
-l 列表(list)
-p 查询未安装包信息(package)
查询系统文件属于哪个rpm包 :
rpm –qf 系统文件名
选项:
-f 查询系统文件属于哪个软件包(file)
查询rpm包的依赖性:
rpm –qR 包名
选项:
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
检验和文件提取
rpm包校验 :
rpm –V 已安装的包名
选项:
-V 校验指定RPM包中的文件(verify)
验证内容中的8个信息的具体内容如下:
- S 文件大小是否改变 。
- M 文件的类型或文件的权限(rwx)是否被改变 。
- 5 文件MD5校验和是否改变(可以看成文件内容是否改变) 。
- D 设备的中,从代码是否改变 。
- L 文件路径是否改变 。
- U 文件的属主(所有者)是否改变 。
- G 文件的属组是否改变 。
- T 文件的修改时间是否改变。
文件类型
- c 配置文件(config file) 。
- d 普通文档(documentation) 。
- g “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含。
- l 授权文件(license file) 。
- r 描述文件(read me)。
rpm包中文件提取:
rpm2cpio 包全名 | cpio -idv .文件绝对路径
rpm2cpio(将rpm包转换为cpio格式的命令)
cpio是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程
查询ls命令属于哪个软件包 :
rpm -qf /bin/ls
造成ls命令误删除假象:
mv /bin/ls /tmp/
提取RPM包中ls命令到当前目录的/bin/ls下 :
rpm2cpio /mnt/cdrom/Packages/coreutils- 8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
把ls命令复制会/bin/目录,修复文件丢失:
cp /root/bin/ls /bin/
yum在线管理
IP地址配置和网络yum源
1、IP地址配置 :(参考上一篇)
2、网络yum源 :
vi /etc/yum.repos.d/CentOS-Base.repo
- [base] 容器名称,一定要放在[]中
- name 容器说明,可以自己随便写
- mirrorlist 镜像站点,这个可以注释掉
- baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务 器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
- enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成 enable=0就是不生效
- gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
- gpgkey 数字证书的公钥文件保存位置。不用修改
yum命令
常用yum命令
查询所有可用软件包列表:
yum list
搜索服务器上所有和关键字相关的包:
yum search 关键字
安装 :
yum –y install 包名
选项: install 安装
-y 自动回答yes
升级:
yum -y update 包名
选项: update 升级
-y 自动回答yes
update 不加包名全部升级(包括Linux内核,服务器会崩)。
卸载 :
yum -y remove 包名
选项: remove 卸载
-y 自动回答y e s
remove 不加包名全部卸载(包括Linux内核,服务器会崩)。
YUM软件组管理命令 :
列出所有可用的软件组列表 :
yum grouplist
安装指定软件组,组名可以由grouplist查询出来:
yum groupinstall 软件组名(有空格要用“”括起来)
卸载指定软件组:
yum groupremove 软件组名 (有空格要用“”括起来)
另外还可以搭建光盘yum源,基本步骤参考:https://www.cnblogs.com/healy/p/11438012.html