今天这篇文章做个测试,发一篇老公的专业文章,看看在这里有没有人感兴趣
rpm命令
1、安装rpm包
命令格式:rpm -i /path/to/your-rpm-file
一般组合起来使用:-ivh
命令格式:rpm -ivh /path/to/your-rpm-file
2、卸载rpm包
命令格式:rpm -e 包名
3、查询
查询所有已经安装包:rpm -qa
配合grep的使用:rpm -qa |grep openssl
rpm -qa |grep "openssl\|curl"
查询包的摘要信息:rpm -qi 包名
查询包安装生成的文件清单:rpm -ql 包名
查询某文件是由哪个rpm包安装生成的:rpm -qf /path/to/some_file
查询包安装生成的配置文件:rpm -qc 包名
查询包安装生成的帮助文档:rpm -qd 包名
查询包相关的脚本:rpm -q --scripts 包名
对未安装的RPM包查询信息,使用"-p",可以与其他查询相关的其他选项组合使用。
命令格式:rpm -qpi /path/to/your-rpm-file
4、升级软件
命令格式:rpm -Uvh /path/to/your-rpm-file
命令格式:rpm -Fvh /path/to/your-rpm-file
5、校验RPM包
命令格式:rpm -V 包名
对已经安装的软件,进行将要。若无输出,则表示已安装的软件没有被修改。若软件被修改,则会输出信关信息。具体请查看RPM相关手册。
6、RPM的数据库
数据库文件位于:/var/lib/rpm
若库损坏,很多RPM的查询将无法使用。
对损坏的数据库,可以进行数据库重建:
rpm --initdb #新建数据库
rpm--rebuilddb #重建数据库
7、RPM常用选项:
-i:表示安装。
-v,-vv, -vvv:表示详细信息。
-h:以"#"号显示安装进度。
-q:查询指定包名。
-e:卸载指定包名。
-U:升级软件,若未软件尚未安装,则安装软件。
-F:升级软件。
-V:对RPM包进行验证。
--nodeps:忽略依赖关系。
--query:查询指定包名。同-q选项。
--hash:同-h。
--install:表示安装,同-i选项。
--test:仅作测试,不真正执行,可用于测试安装,测试卸载。
--replacepkgs:重新安装。替换原有的安装。
--force:忽略软件包及文件的冲突。
--initdb:新建RPM的数据库。
--rebuilddb:重建RPM的数据库。
--percent:以百分比的形式输出安装的进度。
RPM包的查询:
rpm -q:查询某一个RPM包是否已安装
rpm -qi:查询某一个RPM包的详细信息
rpm -ql:列出某RPM包中所包含的文件。
rpm -qf:查询某文件是哪个RPM包生成的。
rpm -qa:列出当前系统所有已安装的包
yum命令
1、YUM客户端的配置
YUM的配置方式是基于分段配置的。
主配置文件:/etc/yum.conf
YUM的片段配置:/etc/yum.repos.d/*.repo
主配置文件配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。
配置文件字段作用:
[main] #main仓库
cachedir=/var/cache/yum/$basearch/$releasever #rpm包缓存位置
keepcache=0 #rpm包是否长期保存
debuglevel=2 #日志级别
logfile=/var/log/yum.log #日志文件
exactarch=1 #下载的rpm包是否需要与本地平台完全匹配
obsoletes=1
gpgcheck=1 #是否需要自动来源合法性检测
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
其他配置文件,CentOS中/etc/yum.repos.d/目录下的配置文件只有CentOS-Base.rep有效。
配置文件中的一些配置项作说明:
[ ... ]:仓库的名称。不能重复。
name:对仓库的描述,该项必须有。
baseurl:配置仓库的路径。用于指定一个url。
mirrorlist:指向一个镜像列表,里面有多个url。
enabled:是否启用当前仓库。值为1或0,默认为1。
gpgcheck:是否需要gpg校验。值为1或0,默认为1。
gpgkey:验证RPM包的密钥文件路径。该文件可以在远处服务器上,也可以在本地。
cost:仓库优先级的配置。值越低,表示访问的代价越低,也即优先使用。
2、yum命令使用
yum list all
结果说明:
第一列:软件包名称.平台名称。
第二列:软件版本号-release号。
第三列:安装情况。
若显示@则表示该软件已经通过仓库安装。如@anaconda 表示已经通过anaconda仓库安装。
install,则表示系统已经安装,未通过仓库安装。
若无@或不是install,则表示尚未安装。如base,表示未安装,包位于base仓库中。updates,表示未安装,包位于updates仓库中。
例如yum list all|grep openssl显示结果:
Repodata is over 2 weeks old. Installyum-cron? Or run: yum makecache fast
openssl.x86_64 1:1.0.2k-12.el7 @anaconda
openssl-libs.x86_64 1:1.0.2k-12.el7 @anaconda
xmlsec1-openssl.x86_64 1.2.20-7.el7_4 @anaconda
apr-util-openssl.x86_64 1.5.2-6.el7 base
openssl.x86_64 1:1.0.2k-16.el7 base
openssl-devel.i686 1:1.0.2k-16.el7 base
openssl-devel.x86_64 1:1.0.2k-16.el7 base
yum list all 包名
查看yum仓库中指定包名的软件包,可以使用通配符例如
yum list all openssl
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.nwsuaf.edu.cn
Installed Packages
openssl.x86_64 1:1.0.2k-12.el7 @anaconda
Available Packages
openssl.x86_64
Installed Package:表示已经安装的包。
Avaliable Package:表示没有安装,但可以安装的包。
yum listinstalled
只显示已经安装的包
yum listavailable
只显示没有安装,但可安装的包。
yum list updates
查看所有可更新的包。
yum list extras
显示不属于任何仓库的,额外的包。
yum listobsoletes
显示被废弃的包
yum list recent
新添加进yum仓库的包
yum search 查询名
模糊匹配搜索
例如:
yum search cmak
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.nwsuaf.edu.cn
======================================================================================================================N/S matched: cmak =======================================================================================================================
cmake-gui.x86_64 : Qt GUI for cmake
cmake.x86_64 : Cross-platform make system
Name and summary matches only, use"search all" for everything.
yum repolist
查看当前能够使用的yum仓库
yum repolist all
显示所有仓库
yumrepolist enabled
显示启用的仓库
yum repolistdisabled
显示禁用的仓库
yum info 包名
显示软件包的摘要信息
类似于rpm -qi 包名,yum info没有rpm -qi显示全。但可以显示出安装状态(Installed Packages,Available Packages)
yum provides 文件和 yum whatprovides 文件
查询某个文件是由哪个软件包生成的
yum clean [packages | metadata | expire-cache | rpmdb | plugins | all ]
yum仓库若更新,则本地缓存就没有意义了。所以本地缓存需要清空。
yum makecache
yum客户端会下载远程yum的文件。在本地生成缓存。
yum [-y] install包1 包2 ... 包n
安装应用程序
yum [-y]reinstall 包1 包2 ... 包n
重新安装软包
yum update 包1 包2 ... 包n
升级软件包
yum update-to 包-版本号
update-to可以指定版本号。
yum check-update
检测可升级的包
yum remove 包1 包2 ... 包n
卸载软件包
若该包被依赖,则该卸载可能会导致一些问题。如A依赖B,若卸载B,则A也会被卸载
yuminstall/update rpm包路径
或者使用localinstall,localupdate。在RHEL5/CentOS5下必须使用localinstall,localupdate
yumlocalinstall/localupdate rpm包路径
yum localinstall --nogpgcheck
--nogpgcheck选项,可以避免yum作校验
yum grouplist
查看yum仓库里的包组
yum groupinfo 包组名
显示指定的包组信息
yum [-y]groupinstall 包组1 包组2 ... 包组n
安装包组
yum [-y]groupupdate包组1 包组2 ... 包组n
升级包组
yum [-y] groupremove包组1 包组2 ... 包组n
卸载包组
yum history
查看此前安装卸载等操作历史
rpm命令
1、安装rpm包
命令格式:rpm -i /path/to/your-rpm-file
一般组合起来使用:-ivh
命令格式:rpm -ivh /path/to/your-rpm-file
2、卸载rpm包
命令格式:rpm -e 包名
3、查询
查询所有已经安装包:rpm -qa
配合grep的使用:rpm -qa |grep openssl
rpm -qa |grep "openssl\|curl"
查询包的摘要信息:rpm -qi 包名
查询包安装生成的文件清单:rpm -ql 包名
查询某文件是由哪个rpm包安装生成的:rpm -qf /path/to/some_file
查询包安装生成的配置文件:rpm -qc 包名
查询包安装生成的帮助文档:rpm -qd 包名
查询包相关的脚本:rpm -q --scripts 包名
对未安装的RPM包查询信息,使用"-p",可以与其他查询相关的其他选项组合使用。
命令格式:rpm -qpi /path/to/your-rpm-file
4、升级软件
命令格式:rpm -Uvh /path/to/your-rpm-file
命令格式:rpm -Fvh /path/to/your-rpm-file
5、校验RPM包
命令格式:rpm -V 包名
对已经安装的软件,进行将要。若无输出,则表示已安装的软件没有被修改。若软件被修改,则会输出信关信息。具体请查看RPM相关手册。
6、RPM的数据库
数据库文件位于:/var/lib/rpm
若库损坏,很多RPM的查询将无法使用。
对损坏的数据库,可以进行数据库重建:
rpm --initdb #新建数据库
rpm--rebuilddb #重建数据库
7、RPM常用选项:
-i:表示安装。
-v,-vv, -vvv:表示详细信息。
-h:以"#"号显示安装进度。
-q:查询指定包名。
-e:卸载指定包名。
-U:升级软件,若未软件尚未安装,则安装软件。
-F:升级软件。
-V:对RPM包进行验证。
--nodeps:忽略依赖关系。
--query:查询指定包名。同-q选项。
--hash:同-h。
--install:表示安装,同-i选项。
--test:仅作测试,不真正执行,可用于测试安装,测试卸载。
--replacepkgs:重新安装。替换原有的安装。
--force:忽略软件包及文件的冲突。
--initdb:新建RPM的数据库。
--rebuilddb:重建RPM的数据库。
--percent:以百分比的形式输出安装的进度。
RPM包的查询:
rpm -q:查询某一个RPM包是否已安装
rpm -qi:查询某一个RPM包的详细信息
rpm -ql:列出某RPM包中所包含的文件。
rpm -qf:查询某文件是哪个RPM包生成的。
rpm -qa:列出当前系统所有已安装的包
yum命令
1、YUM客户端的配置
YUM的配置方式是基于分段配置的。
主配置文件:/etc/yum.conf
YUM的片段配置:/etc/yum.repos.d/*.repo
主配置文件配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。
配置文件字段作用:
[main] #main仓库
cachedir=/var/cache/yum/$basearch/$releasever #rpm包缓存位置
keepcache=0 #rpm包是否长期保存
debuglevel=2 #日志级别
logfile=/var/log/yum.log #日志文件
exactarch=1 #下载的rpm包是否需要与本地平台完全匹配
obsoletes=1
gpgcheck=1 #是否需要自动来源合法性检测
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
其他配置文件,CentOS中/etc/yum.repos.d/目录下的配置文件只有CentOS-Base.rep有效。
配置文件中的一些配置项作说明:
[ ... ]:仓库的名称。不能重复。
name:对仓库的描述,该项必须有。
baseurl:配置仓库的路径。用于指定一个url。
mirrorlist:指向一个镜像列表,里面有多个url。
enabled:是否启用当前仓库。值为1或0,默认为1。
gpgcheck:是否需要gpg校验。值为1或0,默认为1。
gpgkey:验证RPM包的密钥文件路径。该文件可以在远处服务器上,也可以在本地。
cost:仓库优先级的配置。值越低,表示访问的代价越低,也即优先使用。
2、yum命令使用
yum list all
结果说明:
第一列:软件包名称.平台名称。
第二列:软件版本号-release号。
第三列:安装情况。
若显示@则表示该软件已经通过仓库安装。如@anaconda 表示已经通过anaconda仓库安装。
install,则表示系统已经安装,未通过仓库安装。
若无@或不是install,则表示尚未安装。如base,表示未安装,包位于base仓库中。updates,表示未安装,包位于updates仓库中。
例如yum list all|grep openssl显示结果:
Repodata is over 2 weeks old. Installyum-cron? Or run: yum makecache fast
openssl.x86_64 1:1.0.2k-12.el7 @anaconda
openssl-libs.x86_64 1:1.0.2k-12.el7 @anaconda
xmlsec1-openssl.x86_64 1.2.20-7.el7_4 @anaconda
apr-util-openssl.x86_64 1.5.2-6.el7 base
openssl.x86_64 1:1.0.2k-16.el7 base
openssl-devel.i686 1:1.0.2k-16.el7 base
openssl-devel.x86_64 1:1.0.2k-16.el7 base
yum list all 包名
查看yum仓库中指定包名的软件包,可以使用通配符例如
yum list all openssl
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.nwsuaf.edu.cn
Installed Packages
openssl.x86_64 1:1.0.2k-12.el7 @anaconda
Available Packages
openssl.x86_64
Installed Package:表示已经安装的包。
Avaliable Package:表示没有安装,但可以安装的包。
yum listinstalled
只显示已经安装的包
yum listavailable
只显示没有安装,但可安装的包。
yum list updates
查看所有可更新的包。
yum list extras
显示不属于任何仓库的,额外的包。
yum listobsoletes
显示被废弃的包
yum list recent
新添加进yum仓库的包
yum search 查询名
模糊匹配搜索
例如:
yum search cmak
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: mirrors.nwsuaf.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.nwsuaf.edu.cn
======================================================================================================================N/S matched: cmak =======================================================================================================================
cmake-gui.x86_64 : Qt GUI for cmake
cmake.x86_64 : Cross-platform make system
Name and summary matches only, use"search all" for everything.
yum repolist
查看当前能够使用的yum仓库
yum repolist all
显示所有仓库
yumrepolist enabled
显示启用的仓库
yum repolistdisabled
显示禁用的仓库
yum info 包名
显示软件包的摘要信息
类似于rpm -qi 包名,yum info没有rpm -qi显示全。但可以显示出安装状态(Installed Packages,Available Packages)
yum provides 文件和 yum whatprovides 文件
查询某个文件是由哪个软件包生成的
yum clean [packages | metadata | expire-cache | rpmdb | plugins | all ]
yum仓库若更新,则本地缓存就没有意义了。所以本地缓存需要清空。
yum makecache
yum客户端会下载远程yum的文件。在本地生成缓存。
yum [-y] install包1 包2 ... 包n
安装应用程序
yum [-y]reinstall 包1 包2 ... 包n
重新安装软包
yum update 包1 包2 ... 包n
升级软件包
yum update-to 包-版本号
update-to可以指定版本号。
yum check-update
检测可升级的包
yum remove 包1 包2 ... 包n
卸载软件包
若该包被依赖,则该卸载可能会导致一些问题。如A依赖B,若卸载B,则A也会被卸载
yuminstall/update rpm包路径
或者使用localinstall,localupdate。在RHEL5/CentOS5下必须使用localinstall,localupdate
yumlocalinstall/localupdate rpm包路径
yum localinstall --nogpgcheck
--nogpgcheck选项,可以避免yum作校验
yum grouplist
查看yum仓库里的包组
yum groupinfo 包组名
显示指定的包组信息
yum [-y]groupinstall 包组1 包组2 ... 包组n
安装包组
yum [-y]groupupdate包组1 包组2 ... 包组n
升级包组
yum [-y] groupremove包组1 包组2 ... 包组n
卸载包组
yum history
查看此前安装卸载等操作历史