1. rpm和yum的关系
1. RPM是包管理机制。适用于RedHat,Fedora,CentOS,SuSE。
1. rpm包中记录了自己的依赖软件。
2. rpm包安装完成后,软件信息会记录在主机数据库中,以便将来的查询,验证和卸载。
2. YUM是在线安装(升级)机制。
2. *.rpm无须编译,可直接安装;*.src.rpm需要编译,但是可适配自己的主机平台。
3. x86 cpu硬件是向下兼容的,一般i386或i686平台上编译出来的rpm包在x86_64平台上可以正常使用。
4. RPM
1. 安装:
1. rpm -ivh xxx.rpm // 安装本地的rpm包。
2. rpm -ivh ip/path/xxx.rpm // 安装网络的rpm包。
3. 常用参数:
1. rpm -ivh xxx.rpm --test // 检查rpm包是否可以安装到当前linux环境,是否有依赖软件。
2. rpm -ivh xxx.rpm --prefix newpath // 指定安装路径。
3. rpm -ivh xxx.rpm --nosignature // 不检查数字证书。
4. --force // 强制安装
5. --nodeps //不检查依赖性。
2. 升级与更新
1. rpm -Uvh xxx.rpm // 升级(若没有安装,则安装)软件。
2. rpm -Fvh xxx.rpm // 仅升级软件。
3. 可以使用安装时提供的参数。
3. 查询:
1. rpm安装的软件信息会被写入/var/lib/rpm/目录下的数据库文件中。
2. 大致分为两类:查询已安装的软件的信息和查询未安装的指定rpm包的信息。
3. 查询的选项为:-q(query)。
4. 详细示例:
1. 查询已安装的软件信息:
1. rpm -qa // query all,查询系统中所有已安装的软件。
2. rpm -q openssl // 查询系统中是否安装了openssl。
3. rpm -ql openssl // query list,查询openssl软件包中的文件都安装到系统哪些路径了。
4. rpm -qi openssl // query information,查询openssl软件的详细信息
5. rpm -qc openssl // query config,查询openssl的配置文件。
6. rpm -qd openssl // 查询openssl的帮助文件。
7. rpm -qR openssl // query Required,查询openssl的依赖软件。
8. rpm -rf filename // query file,查询系统中的某个文件属于哪个已安装的软件包。
2. 查询未安装的指定rpm包的信息:
1. rpm -qp[licdR] xxx.rpm // query package,其中licdR的含义同上文。
4. 验证:
1. -V // Verify
2. 命令示例:
1. rpm -Va // 列出系统上所有被改动过的文件。
2. rpm -V openssl
1. 功能:验证openssl这个已安装的软件的相关文件是否被改动过。
2. 原理:将系统中openssl相关文件与/var/lib/rpm数据库中的内容相比较。
3. rpm -Vf filename // 检查系统中某个指定的文件是否被改动过。
5. 卸载:rpm -e openssl // 卸载openssl软件。
6. 重建rpm数据库/var/lib/rpm:rpm --rebuild。
5. YUM:
1. 查询
1. yum list // 列出yum服务器上提供的所有的软件名称。
2. yum list updates // 列出yum服务器上可供本机升级的软件。
3. yum search mysql // 查询yum服务器上mysql相关的软件。
4. yum info mysql-server // 查询mysql-server的详细信息,类似于rpm -qi。
5. yum provides filename // 查询提供本机指定文件的软件包有哪些,类似于rpm -qaf。
2. 安装/升级/删除
1. yum install mysql-server // 安装mysql-server
2. yum update mysql-server // 升级mysql-server
3. yum remove mysql-server // 删除mysql-server
3. yum的配置文件:
1. /etc/yum.repos.d/CentOS-Base.repo
1. base:容器名称。不能存在两个名称一样的容器。
2. mirrorlist: 容器可以使用的镜像站点。
3. baseurl: 容器的实际网址。我们修改这个字段就行。
4. enabled: 是否启动这个容器。
5. gpgcheck: 是否检验数字证书。
6. gpgkey: 数字证书公钥所在位置。
2. 查看当前有哪些yum容器:
1. yum repolist all
3. 修改容器可能的问题:
1. yum首先下载容器的清单到/var/lib/yum数据库中。
2. 如果仅改变了baseurl,而没有改变容器名称,则可能造成本机清单和yum服务器清单不同步。
3. 解决方式为清除本机的旧数据:
1. yum clean packages // 删除已下载的软件文件。
2. yum clean headers // 删除已下载的软件的文件头信息。
3. yum clean all // 将所有容器数据删除。
4. yum软件组功能:
1. 安装大型软件(如GNOME桌面)等大型软件时,大型软件需要很多rpm软件包,此时可是使用yum提供的软件组功能。
2. yum grouplist // 显示yum服务器上的所有可用软件组。
3. yum groupinfo GNOME // 显示某个软件组的信息。
4. yum groupinstall GNOME // 安装软件组。