软件包管理及相关命令

对于一个用户来说,直接通过控制操作系统的内核来控制操作系统的话有点不切实际。因而须要在内核的基础上安装各类服务软件和工具软件。现今大多数的操作系统都提供了集中式的软件包管理机制。用户可以通过便捷管理各类软件包。软件包中一般包含了编译好了的二补码文件和其他资源(安装及卸载脚本、元数据、软件说明等)。

CentOS软件包管理:

CentOS发行版和Fedora的软件包后缀为.rpm,因而见到以.rpm为后缀的包文件基本上就是CentOS或则Fedora。

CentOS通过yum工具来安装和管理软件包。也可以先布署好repository(软件包库房)后来通过rpm命令来进行软件包的安装和管理。

rpm命令解读:

rpm是一款遵守GPL协定的功能强悍的软件包管理工具,通过rpm才能极大的便捷用户对于linux的使用及管理。

使用规则:

rpm[OPTION]…[thenameofrpmpackage]

查询或则判定软件包

rpm{-q|–query}[OPTION][queryoption]

rpm{-V|–verify}[OPTION][verifyoption]

安装或卸载软件包

rpm{-i|–install}[installoption]{packagename}##安装软件包

rpm{-U|–upgrade}[installoption]{packagename}##检验软件包的存在,若存在则升级

rpm{-F|–freshen}[installoption]{packagename}##仅拿来升级软件包

rpm{-e|–erase}[option]{packagename}

常用选项:

-a|–all:查询所有包

-f|–file:选择rpm包文件(查询富含指定文件的包)

-i|–info:查询包的相关信息

-i[packagename]:安装指定软件包

-v:显示软件包的安装过程(verbose)

linux启动软件命令_linux下载命令_linux软件下载命令

-h|–hash:显示软件包安装时的进度

-vv:详尽展示rpm命令执行时的过程细节

–force:强制安装此包

–nodeps:安装此包时不进行包依赖的检测

–prefix/path/to/install_directory:指定软件包安装的目录

–justdb:只是升级数据库,文件系统不升级

–test:运行卸载测试(不是真的卸载常与-vv选项结合排障)

-p|–package[package_name]:查询一个还没有安装的软件包

-q:获取某个软件包的全名

-qlpackage_name:获取软件包的安装位置,不能带后缀

(找寻二补码程序可使用which)

应用实例:

1、安装软件包

rpm-ivhpackage_name(通常讲rpm包放置于当前目录)

2、卸载安装包

rpm-epackage_name

3、查询

(1)查询包是否已安装

rpm-qpackage_name

(2)查询早已安装的所有包

rpm-qa(可结合管线符与grep来搜索特定包)

(3)查询某文件是由那个rpm包生成的

rpm-qf/path/to/somefile

(4)查询未安装的包文件

rpm-qpipackage_file

(5)查询包的简略信息

rpm-qipackage_name

(6)查询包安装后生成的文件列表

rpm-qlpackage_name

(7)查询包安装后的配置文件

rpm-qcpackage_name

(8)查询包安装后的生成的所有帮助文件

rpm-qdpackage_name

(9)查看包制做时随版本变化的changelog信息

rpm-q–changelogpackage_name

yum命令解读:

yum是基于rpm包管理,才能从互联网上的服务器手动下载rpm包并进行安装的一款工具。可以手动的解决包的依赖关系(一次性全部安装所有依赖包),还能提供包的删查改等功能。

使用方式:yum[opton][command][package_name…]

常用参数:

-y:当安装过程中有提示选择的时侯,手动选择“yes”

-q:不显示安装的过程

-h:显示帮助信息

-c:指定配置文件

-v:显示安装的详尽过程

主要功能:

1、install(安装)

2、update(更新)

3、check-update(检测更新)

4、remove(卸载)

5、list(显示)

6、search(查找)

7、info(获取包信息)

8、clean(去除包缓存)

应用举例:

1、安装

yuminstallpackage_name(安装package_name)

yumgroupinstallgroup(安装程序组group)

2、更新

yumupdate(默认更新所有东西中文linux操作系统,包括系统版本)

yumupdatepackage(更新指定程序包)

yumcheck-update(检测可更新的程序)

yumgroupupdategroup(更新从程序组)

yumupdate-topackage(将程序包升级到指定版本)

3、查找和显示

yuminfopackage(显示未安装的包的信息)

yumlist(显示可以获取的包deepin linux,包括已安装的)

yumlistpackage(显示指定未安装的程序包的信息)

yumsearchstring(按照string来查找包)

yumgroupinfogroup(显示程序组的信息)

yumrepolistall(显示所有包库房,包括可用的和不可用的)

yumrepolistenable(显示可用包库房)

yumrepolistdisable(显示不可用的包库房)

4、卸载程序

yum[remove|erase]package_name(删掉包)

yumgroupremovegroup(删掉程序组)

yumdepllistpackage_name(查看该包的依赖情况)

5、清除缓存

yumcleanpackage消除缓存目录下的安装包

yumcleanheaders消除缓存目录下的headers

yumcleanoldheaders消除缓存目录下的旧headers

yumclean;yumcleanall(去除所有缓存目录下的缓存)

yumcleanplugins

6、建立缓存

yummakecache

本地yum搭建:

(1)环境要求,须要关掉防火墙,selinux设置为disabled

systemctldisablefirewalld

vim/etc/sysconfig/selinux,将SELINUX=enforce更改为SELINUX=disabled

(2)将本地源文件挂载:

mount/opt/centos/CentOS-7-x86_64-Everything-1708.iso/mnt/centos7-everything/

此时执行mount即可见到挂载的文件:

(3)更改repo文件:cd/etc/yum.repos.d/

linux启动软件命令_linux下载命令_linux软件下载命令

先备份所有的yum源文件,mv./*/etc/yum.repos.d.backup/

(4)添加yum源文件:cd/etc/yum.repos.d/

vimCentOS-Media.repo,添加如下内容:

[c7-media]

name=CentOS-$releasever–Media

baseurl=file:///mnt/centos-everything/

gpgcheck=1

enable=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

(5)消除之前的yum缓存而且生成现有的yum缓存:

yumcleanall&&yummakecache

(6)缓存制做完成以后就可以进行包的安装了

网路yum源制做:

(1)有了本地源制做的经验后linux软件下载命令,网路源制做也是相当的简单,开始先关掉防火墙linux软件下载命令,selinux=diabled。

(2)回到yum源目录并创建一个网路yum源文件:cd/etc/yum.repos.d/&&touchCentOS-mirrorlist。

(3)在CentOS中添加如下内容:

[centos-mirrorlist]

name=CentOS-$releasever

mirrorlist=$releasever&arch=$basearch&repo=os&infra=$infra

gpgcheck=1

enable=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

(4)消除之前的yum缓存并制做现有缓存:yumcleanall&&yummakecache

(5)至此网路yum源制做完毕。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复