1. 程式人生 > 實用技巧 >linux系統rpm包管理及yum命令

linux系統rpm包管理及yum命令

mount : 掛載

# 1.將光碟(ISO)插入光碟機中
# 2.建立掛載目錄
[root@www ~]# mkdir /guangqu

# 3.將光碟機掛載在/guangqu目錄
[root@www ~]# mount /dev/cdrom /guangqu
mount: /dev/sr0 is write-protected, mounting read-only

# 4.檢視掛載情況
[root@www ~]# df -h
/dev/sr0        4.3G  4.3G     0 100% /guangqu

# 5.檢視掛載的目錄中所有檔案
[root@www guangqu]# ll -a
total 689
drwxrwxr-x.  8 root root   2048 Nov 26  2018 .
dr-xr-xr-x. 18 root root    239 Apr 16 10:56 ..
-rw-rw-r--.  1 root root     14 Nov 26  2018 CentOS_BuildTag
-rw-r--r--.  1 root root     29 Nov 26  2018 .discinfo
drwxr-xr-x.  3 root root   2048 Nov 26  2018 EFI
-rw-rw-r--.  1 root root    227 Aug 30  2017 EULA
-rw-rw-r--.  1 root root  18009 Dec 10  2015 GPL
drwxr-xr-x.  3 root root   2048 Nov 26  2018 images
drwxr-xr-x.  2 root root   2048 Nov 26  2018 isolinux
drwxr-xr-x.  2 root root   2048 Nov 26  2018 LiveOS
drwxrwxr-x.  2 root root 663552 Nov 26  2018 Packages
drwxrwxr-x.  2 root root   4096 Nov 26  2018 repodata
-rw-rw-r--.  1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--.  1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--.  1 root root   2883 Nov 26  2018 TRANS.TBL
-rw-r--r--.  1 root root    354 Nov 26  2018 .treeinfo

RPM:RPM Packages Manager

tree-1.5.3-3.el6.x86_64.rpm
包名:tree
版本:1.5.3
釋出次數:3
系統:C6
架構:64位
字尾:rpm
yelp-tools-3.28.0-1.el7.noarch.rpm
包名:yelp-tools
版本號:3.28.0
釋出次數:1
系統:CentOS7
架構:noarch(32位和64位都相容)
分類 安裝 版本
rpm包 預先編譯打包,安裝簡單 軟體版本偏低
原始碼包 手動編譯打包,安裝繁瑣 軟體版本隨意
二進位制包 解壓即可使用, 安裝簡單 不能修改原始碼

RPM包的獲取途徑

  1. 光碟或者 官網
  2. RPM包查詢網站:TP
  3. 各大軟體的官方網站
  4. 阿里雲
  5. 清華源
  6. 網易源
  7. 華為源
  8. ...

RPM管理命令

## rpm 安裝相關命令
-i: install 安裝
-v:顯示詳細過程
-h:顯示安裝進度
--test:安裝之前做測試
--force:強制安裝
--nodeps:忽略依賴包
## rpm 查詢相關命令
-q:查詢指定的包(必須接包名)
-qa:all 列出當前系統安裝的所有rpm包,配合grep使用
-qc:conf 專門查詢安裝的服務的相關配置檔案
-ql:list 列出指定安裝包的相關目錄
-qf:查詢,該命令屬於哪個包或者任意檔案屬於哪個RPM包

Linux9期基礎-day23

課前回顧

xalan-j2-2.7.1-23.el7.noarch.rpm
包名:xalan-j2
版本號:2.7.1
釋出次數:23
系統:el7
架構:相容32位和64位
字尾:rpm

## 如何獲取rpm包
# 1.掛載光碟機,從映象中獲取
# 2.從rpm映象倉庫中
	- 阿里映象站
	- 華為源
	- 清華源
	。。。
# 3.需要安裝的軟體官網

## rpm命令
-i:安裝
-v:顯示安裝資訊
-h:顯示安裝進度
--test:安裝前測試
--force:強制安裝
--nodeps:忽略依賴關係

-q:檢視指定的軟體是否安裝
-qa:檢視系統中已安裝的rpm包
-ql:檢視指定軟體包所安裝的所有檔案 包括目錄
-qc:檢視指定軟體包的配置檔案
-qf:檢視一個檔案或者一個目錄屬於哪個RPM
-q --scripts:查詢rpm安裝前和安裝後執行的指令碼

-qi:檢視指定rpm軟體的詳細資訊
-qd:檢視指定軟體包的man幫助

-qip:檢視未安裝的rpm詳細資訊
[root@localhost Packages]# rpm -qip zip-3.0-11.el7.x86_64.rpm 

-qlp:檢視未安裝的rpm會產生的目錄
[root@localhost Packages]# rpm -qlp zip-3.0-11.el7.x86_64.rpm 

nginx-1.16.1

## rpm 升級命令
-U:如果老版本存在,就升級,如果不存在就安裝
-f:升級,但是老版本必須存在
[root@localhost zabbix]# rpm -Uvh zabbix-agent-3.4.9-1.el7.x86_64.rpm
warning: zabbix-agent-3.4.9-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-3.4.9-1.el7         ################################# [ 50%]
Cleaning up / removing...
   2:zabbix-agent-3.0.0-1.el7         ################################# [100%]
[root@localhost zabbix]# rpm -qa|grep zabbix
zabbix-agent-3.4.9-1.el7.x86_64

-e:解除安裝

curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ |grep rpm |awk -F '"' '{print"wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/", $2}'|bash

YUM安裝

1.必須有網路,通過網路獲取軟體

2.管理RPM包

3.自動解決依賴

4.命令簡單 好記

5.生產最佳實踐

YUM實踐命令

# 只能列出在/etc/yum.repos.d/目錄下以repo結尾的檔案中enable=1的倉庫中所有可安裝的rpm包
yum list

# 檢視安裝包的詳細資訊,類似於rpm -qi
yum info
[root@localhost yum.repos.d]# yum info nginx

## yum 安裝命令

# 安裝任何源的rpm包:倉庫中的,指定url中,本地
yum install
[root@localhost ~]# yum install -y nginx
[root@localhost yum.repos.d]# yum install -y http://test.driverzeng.com/MySQL_plugins/Atlas-2.2.1.el6.x86_64.rpm

# 安裝在本地的rpm包,並且解決依賴
yum localinstall

## yum 誤刪除配置檔案,重灌服務
yum reinstall


install  reinstall remove localinstall
-y:(yes)安裝

## 解除安裝軟體
yum remove
[root@zls ~]# yum erase samba -y
[root@zls ~]# yum remove samba -y

## yum更新
# 哪些軟體需要升級
yum check-update

# 更新指定軟體
yum update hostname -y

# 全部更新(十分危險)
yum update -y



## yum倉庫相關指令
#列出yum源可用的軟體倉庫
[root@zls ~]# yum repolist

#列出全部yum源可用和禁用的倉庫
[root@zls ~]# yum repolist all

[root@localhost yum.repos.d]# yum-config-manager --enable zls_zabbix


# 如果不知道命令輸入那個包,使用provides
[root@localhost ~]# yum provides */ifconfig

# 換源:先清除快取
yum clean all

# 換源:再更新快取(生成新的快取)
yum makecache

#列出已經安裝和所有可使用的軟體組
[root@zls ~]# yum groups list

#安裝一整個組的軟體
[root@zls ~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools

#yum刪除包組
[root@zls ~]# yum groups remove  -y Base


## yum 歷史命令
[root@qls yum.repos.d]# yum history

Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     9 | root <root>              | 2020-04-14 20:48 | Install        |    5  <
     8 | root <root>              | 2019-12-28 23:18 | Erase          |    1 >E
     7 | root <root>              | 2019-11-26 22:36 | Install        |    1   
     6 | root <root>              | 2019-11-26 22:34 | Install        |    1   
     5 | root <root>              | 2019-11-26 22:33 | Install        |    1   
     4 | root <root>              | 2019-11-26 22:23 | I, U           |   11   
     3 | root <root>              | 2019-11-26 21:59 | Install        |   62  <
     2 | root <root>              | 2019-11-26 21:49 | Install        |    1 >E
     1 | System <unset>           | 2019-11-26 20:22 | Install        |  308   

[root@qls yum.repos.d]# yum history info 8

# 撤銷指定的安裝內容
[root@qls yum.repos.d]# yum history undo 8

製作nginx倉庫

目錄

 下載nginx
 [root@wzh yum.repos.d]# yum install -y nginx
編輯nginx配置檔案
[root@wzh yum.repos.d]# cd /etc/nginx/conf.d
進入conf.d目錄編輯yum.conf檔案
[root@wzh conf.d]# vim yum.conf
server {
    listen       80;
    server_name  www.wzh.com;
    location / {
        root   /wzh_repo;
        autoindex on;
        access_log off;
    }
}
編輯完成儲存退出
刪除nginx預設配置檔案
[root@wzh conf.d]# rm -f /etc/nginx/conf.d/default.conf 
啟動nginx
[root@wzh conf.d]# systemctl start nginx
檢視埠
[root@wzh conf.d]# ss -an |grep 21
nl     UNCONN     0      0         9:5221                   *                   
u_str  LISTEN     0      128    /run/systemd/private 21058                 * 0                  
u_dgr  UNCONN     0      0      /run/systemd/shutdownd 21079                 * 0                  
u_seq  LISTEN     0      128    /run/udev/control 21117                 * 0                  
u_dgr  UNCONN     0      0         * 21338                 * 8926               
u_str  ESTAB      0      0         * 21858                 * 21859              
u_dgr  UNCONN     0      0         * 21866                 * 8943               
u_dgr  UNCONN     0      0         * 21457                 * 8943               
u_str  ESTAB      0      0      /run/systemd/journal/stdout 21859                 * 21858              
u_str  ESTAB      0      0         * 32193                 * 32194              
u_dgr  UNCONN     0      0         * 21953                 * 21954              
u_dgr  UNCONN     0      0         * 21954                 * 21953              
u_str  ESTAB      0      0      /run/systemd/journal/stdout 32194                 * 32193              
u_str  ESTAB      0      0         * 36120                 * 36121              
u_str  ESTAB      0      0      /run/systemd/journal/stdout 36121                 * 36120              
tcp    LISTEN     0      32       :::21                   :::*   
建立倉庫
[root@wzh conf.d]# createrepo /wzh_repo/
Spawning worker 0 with 4310 pkgs
進入目錄檢視repodata
[root@wzh conf.d]# cd /wzh_repo/
[root@wzh wzh_repo]# ll
total 296
drwxr-xr-x 2 root root 221184 Apr 15 05:24 base
drwxr-xr-x 3 root root     22 Apr 16 05:29 centos
drwxr-xr-x 2 root root      6 Apr 15 05:21 nginx
drwxr-xr-x 2 root root   4096 Apr 16 09:19 repodata
drwxr-xr-x 2 root root  16384 Apr 15 05:28 zabbix
配置客戶端檔案
[root@web01 yum.repos.d]# vim wzh_aliyun.repo
[wzh_aliyun]
name=123
baseurl=http://10.0.0.200/wzh_repo/
gpgcheck=0
enabled=1
檢查yum倉庫
[root@web01 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                   repo name                                             status
wzh_repo                                  'zheshiwzhdecangku'                                   2,514
repolist: 2,514