Linux学习整理-软件安装管理命令
前言
根据Linux发行版的版本不一样,软件的包管理命令不一样,
Debian系列
dpkg
是Debian系列发行版的软件包管理的基础,用来安装,卸载,管理.deb
包,全称是Debian Package
。APT
就是在dkpg基础上做出的前端工具,全称是Advanced Package Tool
,还有apt-get,apt-cache
等命令行。
比较常用的Ubuntu就是用的apt。
RedHat系列
RPM
是RedHat系列发行版的软件包管理工具,全称是Red Hat Package Manager
,RPM包的扩展名就是.rpm
。yum
全称是Yellowdog Updater Modified
。Centos主要用的就是这个包管理工具。dnf
全称是Dandified Yum
。这个是在yum基础上fork出来新做成的包管理工具。Fedora 18
以后的版本都是采用的这个包管理工具。语法跟yum基本一致。
1. Centos(yum)
1-1. 跟yum命令相关的文件及文件夹
- /etc/yum/version-groups.conf
- /etc/yum/pluginconf.d/
- /etc/yum.repos.d/
yun源的定义。
也就是说从哪下载东西,都是把下载地址定义在这个文件夹下面。内容是ini文件的定义格式。
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
- /etc/yum.conf
- /var/cache/yum/
yum缓存文件夹
1-2. yum的用法
yum [options] COMMAND
1-2-1 yum查询用命令
help★(常用)
显示yum的命令和属性。
yum help
list★(常用)
repository的package列表。
# 列出可以利用的所有package
yun list available
# 列出已经安装了的所有package
yun list installed
# 列出所有package
yum list all
# 列出所有的内核package
yum list kernel
info★(常用)
显示package的详细信息,得指定具体的package的名称
yum info [package]
check-update★(常用)
检查本地安装的软件是否有更新。
yum check-update
provides★(常用)
根据指定的参数去查询符合条件的package。
yum provides [feature]
举个例子:知道某个命令但是不知道应该安装哪个package。
[root@centos ~]# yum provides ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.iij.ad.jp
base/7/x86_64/filelists_db | 7.2 MB 00:00:02
docker-ce-stable/7/x86_64/filelists_db | 30 kB 00:00:00
epel/x86_64/filelists_db | 12 MB 00:00:01
extras/7/x86_64/filelists_db | 277 kB 00:00:00
nginx/x86_64/filelists_db | 95 kB 00:00:00
updates/7/x86_64/filelists_db | 7.8 MB 00:00:01
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig
其它
- deplist
列出指定包的依赖包
yum deplist package1 [package2] [...]
- search
用指定的参数,去模糊查询。比如记住了package名称的一部分,这种情况下可以用search去查询。
注意跟provides的区别。
yum search [string]
- updateinfo
获取有关可用软件包更新的信息
updateinfo [summary|list|info|remove-pkgs-ts|exclude-updates|exclude-all|check-running-kernel]
- grouplist
列出所有的package group名称
yum grouplist
- groupinfo
列出group的所有package
yum groupinfo [packagename]
1-2-2. yum仓库管理
repolist★(常用)
列出/etc/yum.repo.d/
下所有仓库
yum repolist [all|enabled|disabled]
repoinfo★(常用)
显示仓库详细情报。比repolist要详细的多。
yum repoinfo [all|enabled|disabled]
repo-pkgs
操作仓库下的package。
- list 列出仓库下所有的package。
- install 安装仓库下所有的package。
- remove 卸载仓库下所有的package。
- reinstall 重装仓库下所有的package。
yum repo-pkgs [reponame] [remove|install|list|...]
1-2-3. yum故障排除
history★(常用)
列出所有的yum操作
yum history list
根据list出的列表,可以查看每个ID的详细操作内容。
yum history info [ID]
还有很多别的操作。
yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
比如说,安装某个package可能会有很多依赖的package也会被安装进来。想去卸载的时候,可以查看yum的操作历史,找到ID然后用下面的命令去卸载。
yum history undo [ID]
其它
- check
检查本地的rpmdb是否有问题,不加参数默认是all。
yum check [dependencies|duplicates|obso‐leted|provides|all]
这个命令超级费时间,CPU能到100%。网上查了一下,没找到原因。
- clean
清除缓存/var/cache/yum/
,没有默认参数,需要参数。
yum clean [packages|metadata|expire-cache|dbcache|headers|expire-cache|rpmdb|plugins|all]
- fs (不知道干啥用)
操作主机文件系统,主要是删除语言包和文档以实现最小安装。
yum fs [filters|refilter|refilter-cleanup|du]
- fssnapshot|fssnap(不知道干啥用)
创建文件系统快照,删除,列出当前的快照
fssnapshot [summary|list|have-space|create|delete]
1-2-4. yum包的安装,升级,卸载
erase|remove|autoremove★(常用)
卸载package
yum remove|erase|autoremove package1 [package2] [...]
install ★(常用)
安装package
yum install package1 [package2] [...]
reinstall ★(常用)
重新安装package
yum reinstall package1 [package2] [...]
localinstall★(常用)
通过本地的,或者http,ftp的rpm文件进行安装
yum localinstall [rpmfile]
update ★(常用)
升级所有的package
yum update
升级指定package
yum update [package]
其它
- distribution-synchronization
同步版本,如果已安装版本高于yum仓库里的版本,则会降到yum仓库的版本,相当于downgrade
,如果是低于yum源里的版本,就会升级,相当于upgrade
。
yum distribution-synchronization
- downgrade
将安装软件的版本降到某个指定版本。
downgrade package1 [package2] [...]
- upgrade
更新正在考虑弃用的package
yum upgrade
yum可以安装卸载各种软件,但是有些时候要安装的软件可能不在本机的yam仓库里,这个时候需要用到下面的这个命令yum-config-manager
来把下载链接添加到本地仓库。
2. Centos(yum-config-manager)
2-1. 属性–add-repo
把链接或者文件添加到本地仓库,然后是其有效。
yum-config-manager --add-repo repository_url
2-2. 属性 --enable
指定仓库的有效性变成有效
yum-config-manager --enable [reponame]
所有仓库有效
yum-config-manager --enable \*
2-3. 属性 --disable
指定仓库的有效性变成无效
yum-config-manager --disable [reponame]
所有仓库无效
yum-config-manager --disable \*
2-4. 属性 --setopt --save
修改/etc/yum.conf
文件
yum-config-manager --setopt=option=value --save
关于option可以用man yum.conf
来查看。
3. Centos(rpm)
rpm命令是rpm package的管理器。属性太多,只介绍常用命令。
3.1 安装
rpm -i [rpmfile]
rpm -ivh [rpmfile]
3.2 升级
rpm -u [rpmfile]
3.3 卸载
rpm -e [rpmfile]
3.4 查询
常用下面的命令组合
rpm -qai | grep [string]
4. 其它跟rpm,yum相关的命令
可以用man -k yum rpm
来查看,有些命令很少用,这里不做介绍。
[root@centos ~]# man -k rpm yum
find-repos-of-install (1) - report which Yum repository a package was installed from
grub2-rpm-sort (8) - Sort input according to RPM version compare.
repo-rss (1) - generates an RSS feed from one or more Yum repositories
repoclosure (1) - display a list of unresolved dependencies for a yum repository
repodiff (1) - list differences between two or more Yum repositories
repomanage (1) - list the newest or oldest RPM packages in a directory
repoquery (1) - query information from Yum repositories
reposync (1) - synchronize yum repositories to a local directory
rpm (8) - RPM Package Manager
rpm2cpio (8) - Extract cpio archive from RPM Package Manager (RPM) package.
rpmdb (8) - RPM Database Tool
rpmkeys (8) - RPM Keyring
show-changed-rco (1) - show changes in an RPM package
show-installed (1) - show installed RPM packages and descriptions
verifytree (1) - verify that a local yum repository is consistent
yum (8) - Yellowdog Updater Modified
yum-builddep (1) - install missing dependencies for building an RPM package
yum-complete-transaction (8) - attempt to complete failed or aborted Yum transactions
yum-config-manager (1) - manage yum configuration options and yum repositories
yum-debug-dump (1) - write system RPM configuration to a debug-dump file
yum-debug-restore (1) - replay Yum transactions captured in a debug-dump file
yum-groups-manager (1) - create and edit yum's group metadata
yum-shell (8) - Yellowdog Updater Modified shell
yum-utils (1) - tools for manipulating repositories and extended package management
yum.conf (5) - Configuration file for yum(8).
yumdb (8) - query and alter the Yum database
yumdownloader (1) - download RPM packages from Yum repositories