Linux学习整理-软件安装管理相关命令1(Centos yum,rpm)

Linux学习整理-软件安装管理命令

  • 前言
    • Debian系列
    • RedHat系列
  • 1. Centos(yum)
    • 1-1. 跟yum命令相关的文件及文件夹
    • 1-2. yum的用法
      • 1-2-1 yum查询用命令
        • help★(常用)
        • list★(常用)
        • info★(常用)
        • check-update★(常用)
        • provides★(常用)
        • 其它
      • 1-2-2. yum仓库管理
        • repolist★(常用)
        • repoinfo★(常用)
        • repo-pkgs
      • 1-2-3. yum故障排除
        • history★(常用)
        • 其它
      • 1-2-4. yum包的安装,升级,卸载
        • erase|remove|autoremove★(常用)
        • install ★(常用)
        • reinstall ★(常用)
        • localinstall★(常用)
        • update ★(常用)
        • 其它
  • 2. Centos(yum-config-manager)
    • 2-1. 属性--add-repo
    • 2-2. 属性 --enable
    • 2-3. 属性 --disable
    • 2-4. 属性 --setopt --save
  • 3. Centos(rpm)
    • 3.1 安装
    • 3.2 升级
    • 3.3 卸载
    • 3.4 查询
  • 4. 其它跟rpm,yum相关的命令

前言

根据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)

yum 是一个交互式的、基于 rpm 的包管理器。它可以自动执行系统更新,包括依赖分析和基于“存储库”元数据的过时处理。它还可以执行新包的安装、旧包的删除以及在许多其他命令/服务中对已安装和/或可用包执行查询。

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]

这个跟yum localinstall一样的效果
一般来说常用下面的组合命令

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

你可能感兴趣的:(Linux,linux,学习,运维)