day15-Linux软件安装

1. RPM的使用

RPM全称 Redhat Package Manager 缩写,由红帽开发用于软件包的安装升级卸载与查询。
rpm常用选项及说明

选项 说明
i 安装在rpm的软件包
v 显示安装的详细信息
h 显示安装的进度
U 升级软件包
e 卸载软件包
q 查看版本信息
qa 查看所有已安装的软件包
ql 查看软件所有的文件所在的路径
qc 查看软件配置文件所在的路径
qf 查看系统已安装的命令属于哪个软件包(需要用文件的绝对路径)

rpm安装软件

[root@ennan ~]# mount /dev/cdrom  /mnt/
mount: /dev/sr0 is write-protected, mounting read-only 
[root@ennan ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
# 安装本地的软件包
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]
[root@ennan ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
# 安装网络的软件包
Retrieving https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-25.el7              ################################# [100%]

rpm软件包升级

[root@ennan ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
warning: /var/tmp/rpm-tmp.7LX5Zg: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-3.0.9-1.el7         ################################# [100%]
[root@ennan ~]# rpm -q zabbix-agent
# 查看软件包的版本号
zabbix-agent-3.0.9-1.el7.x86_64
[root@ennan ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
# 通过-U选项对软件包升级
Retrieving https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
warning: /var/tmp/rpm-tmp.8ZlRib: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-4.2.5-1.el7         ################################# [ 50%]
Cleaning up / removing...
   2:zabbix-agent-3.0.9-1.el7         ################################# [100%]
[root@ennan ~]# rpm -q zabbix-agent
# 通过软件包版本号查看是否升级成功
zabbix-agent-4.2.5-1.el7.x86_64

rpm卸载软件包

[root@ennan ~]# rpm -e zabbix-agent
# 通过-e选项卸载软件包
[root@ennan ~]# rpm -q zabbix-agent
# 查看软件包是否存在
package zabbix-agent is not installed

rpm查询相关
查询所有已经安装的软件包(可通过grep进行模糊查询)

[root@ennan ~]# rpm -qa
# 列出系统安装的所有软件包
byacc-1.9.20130304-3.el7.x86_64
libproxy-0.4.11-11.el7.x86_64

[root@ennan ~]# rpm -qa | grep ftp
# 查询系统安装的有ftp的包
vsftpd-3.0.2-25.el7.x86_64

查看软件包所有文件

[root@ennan ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd

查看软件包的配置文件的路径

[root@ennan ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

查询已经安装的命令属于哪个软件包

[root@ennan ~]# rpm -qf /usr/sbin/vsftpd
# 查询的命令必须为绝对路径
vsftpd-3.0.2-25.el7.x86_64
[root@ennan ~]# rpm -qf $(which vsftpd)
vsftpd-3.0.2-25.el7.x86_64

2. yum的使用

使用rpm安装软件时,有些软件包会存在依赖关系,会导致软件安装失败。

[root@ennan ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm error: Failed dependencies:
    libCHARSET3-samba4.so()(64bit) is needed by samba-0:4.8.3-4.el7.x86_64
    libCHARSET3-samba4.so(SAMBA_4.8.3)(64bit) is needed by samba-0:4.8.3-4.el7.x86_64

使用yum工具安装,会自动解决依赖关系,yum本质上安装的也是.rpm的安装包。
yum源配置

    1. vim手动编辑.repo文件。
    1. wget下载已经编辑好的.repo文件。
[root@ennan ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    1. 安装-release软件,会释放一个.repo文件至/etc/yum.repos.d/目录
root@ennan ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.P8jQMy: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-4.2-2.el7         ################################# [100%]
[root@ennan ~]# ls /etc/yum.repos.d/
# /etc/yum.repos.d/下多了zabbix.repo
CentOS-Base.repo      CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-Base.repo.bak  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo        CentOS-Media.repo      zabbix.repo

yum源配置实列
系统默认为国外的yum源,需要我们换成国内的yum源,且需要按章扩展源。

# 基本源
[root@ennan ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#扩展源
[root@ennan ~]#  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装Nginx时,需要使用到官方的yum源

[root@ennan ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo 
baseurl=http://nginx.org/packages/centos/7/$basearch/ 
gpgcheck=0
enabled=1
# 查看可用的yum源
[root@ennan ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
nginx                                                        | 2.9 kB  00:00:00     
nginx/x86_64/primary_db                                      |  49 kB  00:00:19     
repo id                     repo name                                         status
base/7/x86_64               CentOS-7 - Base - mirrors.aliyun.com              10,019
epel/x86_64                 Extra Packages for Enterprise Linux 7 - x86_64    13,343
extras/7/x86_64             CentOS-7 - Extras - mirrors.aliyun.com               435
nginx/x86_64                nginx repo                                           164
updates/7/x86_64            CentOS-7 - Updates - mirrors.aliyun.com            2,500
zabbix/x86_64               Zabbix Official Repository - x86_64                   93
zabbix-non-supported/x86_64 Zabbix Official Repository non-supported - x86_64      4
repolist: 26,558

在使用zabbix、Docker、Nginx、OpenStack之类的程序时,都可以同通过官方网站找yum源。

yum安装软件
使用网络的yum源安装“小火车”

[root@ennan ~]# yum install sl -y
[root@ennan ~]# sl
                              (  ) (@@) ( )  (@)  ()    @@    O     @     O     @      O
                         (@@@)
                     (    )
                  (@@@@)

                (   )
               ====        ________             ___________
           _D _|  |_______/        \__I_I_____===__|_________|
            |(_)---  |   H\________/ |   |        =|___ ___|      _________________
            /     |  |   H  |  |     |   |         ||_| |_||     _|             \_____A
           |      |  |   H  |__--------------------| [___] |   =|                        |
           | ________|___H__/__|_____/[][]~\_______|       |   -|                        |
           |/ |   |-----------I_____I [][] []  D   |=======|____|________________________|_
         __/ =| o |=-O=====O=====O=====O \ ____Y___________|__|__________________________|_
          |/-=|___|=    ||    ||    ||    |_____/~\___/          |_D__D__D_|  |_D__D__D_|
           \_/      \__/  \__/  \__/  \__/      \_/               \_/   \_/    \_/   \_/

使用yum安装本地软件包

[root@ennan ~]# ls
samba-4.8.3-4.el7.x86_64.rpm
[root@ennan ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm
# yum会联网找安装本地软件包所使用的依赖包
Dependencies Resolved
===========================================================================================
 Package                Arch       Version             Repository                     Size
===========================================================================================
Installing:
 samba                  x86_64     4.8.3-4.el7         /samba-4.8.3-4.el7.x86_64     1.9 M
Installing for dependencies:
 libldb                 x86_64     1.3.4-1.el7         base                          137 k
 libtalloc              x86_64     2.1.13-1.el7        base                           32 k
 libtdb                 x86_64     1.3.15-1.el7        base                           48 k
 libtevent              x86_64     0.9.36-1.el7        base                           36 k
 libwbclient            x86_64     4.8.3-4.el7         base                          109 k
 pytalloc               x86_64     2.1.13-1.el7        base                           17 k
 samba-client-libs      x86_64     4.8.3-4.el7         base                          4.8 M
 samba-common           noarch     4.8.3-4.el7         base                          206 k
 samba-common-libs      x86_64     4.8.3-4.el7         base                          164 k
 samba-common-tools     x86_64     4.8.3-4.el7         base                          448 k
 samba-libs             x86_64     4.8.3-4.el7         base                          276 k

Transaction Summary
===========================================================================================
Install  1 Package (+11 Dependent packages)

利用yum安装本地的软件包适用于安装大型软件。可提前将软件包下载至本地,通过yum可安装可以解决依赖关系,快速安装软件,节约软件安装的时间。

yum软件升级
查看系统中哪些软件包可以升级

[root@ennan ~]# yum check-update

升级软件包

[root@ennan ~]# yum update openssl

yum update可以升级系统容内核,适用于刚装完系统的服务器。

yum卸载软件

[root@ennan ~]# yum remove samba -y

因为多个软件可能依赖于同一个文件,当卸载软件时,会同时删除依赖文件。可能会导致其他软件不萌正常使用。所以卸载软件,慎用!!!

yum查询
查询所有软件包,包括已安装的和未安装的

[root@ennan ~]# yum list

列出系统中已成功安装的软件包

[root@ennan ~]# yum list installed
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356