自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux基礎(chǔ)命令介紹十一:軟件包管理

系統(tǒng) Linux
linux中軟件包的管理隨著系統(tǒng)發(fā)行版本的不同而不同,RPM和DPKG為最常見(jiàn)的兩類軟件包管理工具,分別應(yīng)用于基于rpm軟件包的linux發(fā)行版和基于deb軟件包的linux發(fā)行版。本文只描述RPM的使用方法,另一種命令不同,但用法類似,就不做介紹了。

linux中軟件包的管理隨著系統(tǒng)發(fā)行版本的不同而不同,RPM和DPKG為最常見(jiàn)的兩類軟件包管理工具,分別應(yīng)用于基于rpm軟件包的linux發(fā)行版和基于deb軟件包的linux發(fā)行版。本文只描述RPM的使用方法,另一種命令不同,但用法類似,就不做介紹了。

[[179946]]

1、rpm RPM包管理器

選項(xiàng)-q表示查詢系統(tǒng)安裝的軟件包

  1. [root@centos7 ~]# rpm -q sudo 
  2. sudo-1.8.6p7-16.el7.x86_64 
  3. [root@centos7 ~]# rpm -q nginx 
  4. 未安裝軟件包 nginx  
  5. [root@centos7 ~]#  

選項(xiàng)-a表示查詢所有安裝的rpm包

  1. [root@centos7 ~]# rpm -qa|grep vim 
  2. vim-filesystem-7.4.160-1.el7.x86_64 
  3. vim-common-7.4.160-1.el7.x86_64 
  4. vim-enhanced-7.4.160-1.el7.x86_64 
  5. vim-minimal-7.4.160-1.el7.x86_64 
  6. [root@centos7 ~]#  

選項(xiàng)-f file表示查詢文件所屬軟件包

  1. [root@centos7 ~]# rpm -qf /usr/bin/ls 
  2. coreutils-8.22-15.el7.x86_64 
  3. [root@centos7 ~]#  

選項(xiàng)-c表示查詢軟件包的配置文件

  1. [root@centos7 ~]# rpm -qc sudo 
  2. /etc/pam.d/sudo 
  3. /etc/pam.d/sudo-i 
  4. /etc/sudo-ldap.conf 
  5. /etc/sudo.conf 
  6. /etc/sudoers 
  7. [root@centos7 ~]#  

選項(xiàng)-e表示卸載軟件包

  1. [root@centos7 ~]# rpm -e sudo 
  2. 警告:/etc/sudoers 已另存為 /etc/sudoers.rpmsave 
  3. [root@centos7 ~]# rpm -q sudo 
  4. 未安裝軟件包 sudo  
  5. [root@centos7 ~]#   

選項(xiàng)-i表示安裝 -v表示顯示詳細(xì)信息 -h表示顯示安裝進(jìn)度

  1. #下載rpm包 
  2. [root@centos7 tmp]# wget ftp.scientificlinux.org/linux/scientific/7rolling/x86_64/os/Packages/sudo-1.8.6p7-16.el7.x86_64.rpm 
  3. #安裝 
  4. [root@centos7 tmp]# rpm -ivh sudo-1.8.6p7-16.el7.x86_64.rpm  
  5. 警告:sudo-1.8.6p7-16.el7.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID 192a7d7d: NOKEY 
  6. 準(zhǔn)備中...                          ################################# [100%] 
  7. 正在升級(jí)/安裝... 
  8.    1:sudo-1.8.6p7-16.el7              ################################# [100%]  

有很多軟件并不是只有一個(gè)rpm包,它們之間有各種各樣的依賴關(guān)系,當(dāng)安裝(或卸載)時(shí),需要將所有依賴的包都安裝(或卸載)之后才能安裝(或卸載)成功

  1. [root@centos7 tmp]# rpm -e vim-common 
  2. 錯(cuò)誤:依賴檢測(cè)失?。?nbsp;
  3.     vim-common = 2:7.4.160-1.el7 被 (已安裝) vim-enhanced-2:7.4.160-1.el7.x86_64 需要  

選項(xiàng)--nodeps表示忽略依賴關(guān)系

  1. [root@centos7 tmp]# rpm -q vim-common 
  2. vim-common-7.4.160-1.el7.x86_64 
  3. [root@centos7 tmp]# rpm -e --nodeps vim-common 
  4. 警告:/etc/vimrc 已另存為 /etc/vimrc.rpmsave 
  5. [root@centos7 tmp]# rpm -q vim-common 
  6. 未安裝軟件包 vim-common  

選項(xiàng)-U表示對(duì)軟件包升級(jí)

  1. [root@centos7 tmp]# rpm -q wget 
  2. wget-1.14-10.el7_0.1.x86_64 
  3. [root@centos7 tmp]# rpm -Uvh wget-1.14-13.el7.x86_64.rpm  
  4. 準(zhǔn)備中...                          ################################# [100%] 
  5. 正在升級(jí)/安裝... 
  6.    1:wget-1.14-13.el7                 ################################# [ 50%] 
  7. 正在清理/刪除... 
  8.    2:wget-1.14-10.el7_0.1             ################################# [100%] 
  9. [root@centos7 tmp]# rpm -q wget 
  10. wget-1.14-13.el7.x86_64 

 

2、yum 下載更新器

  1. yum [options] [command] [package ...] 

yum是一個(gè)基于rpm的交互式軟件包管理器。yum在安裝軟件時(shí)并不需要像rpm那樣手動(dòng)查找安裝,它在工作時(shí)會(huì)搜索源中的rpm包,并自動(dòng)解決依賴關(guān)系,自動(dòng)下載并安裝。yum默認(rèn)源配置文件位于目錄/etc/yum.repos.d內(nèi)。

命令install表示安裝

  1. [root@centos7 ~]# yum install vim-common 
  2. 已加載插件:fastestmirror 
  3. Loading mirror speeds from cached hostfile 
  4.  * base: mirrors.yun-idc.com 
  5.  * extras: mirrors.yun-idc.com 
  6.  * updates: mirrors.yun-idc.com 
  7. 正在解決依賴關(guān)系 
  8. --> 正在檢查事務(wù) 
  9. ---> 軟件包 vim-common.x86_64.2.7.4.160-1.el7 將被 安裝 
  10. --> 解決依賴關(guān)系完成 
  11.  
  12. 依賴關(guān)系解決 
  13. .... #省略部分輸出 
  14. 安裝  1 軟件包 
  15.  
  16. 總下載量:5.9 M 
  17. 安裝大?。?1 M 
  18. Is this ok [y/d/N]:y  #需要在這里輸入確認(rèn)是否安裝 
  19. Downloading packages: 
  20. vim-common-7.4.160-1.el7.x86_64.rpm                         | 5.9 MB  00:00:00      
  21. Running transaction check 
  22. Running transaction test 
  23. Transaction test succeeded 
  24. Running transaction 
  25. 警告:RPM 數(shù)據(jù)庫(kù)已被非 yum 程序修改。 
  26. ** 發(fā)現(xiàn) 1 個(gè)已存在的 RPM 數(shù)據(jù)庫(kù)問(wèn)題, 'yum check' 輸出如下: 
  27. 2:vim-enhanced-7.4.160-1.el7.x86_64 有缺少的需求 vim-common = ('2''7.4.160''1.el7'
  28.   正在安裝    : 2:vim-common-7.4.160-1.el7.x86_64                         1/1  
  29.   驗(yàn)證中      : 2:vim-common-7.4.160-1.el7.x86_64                         1/1  
  30.  
  31. 已安裝: 
  32.   vim-common.x86_64 2:7.4.160-1.el7                                                                                                    
  33.  
  34. 完畢!  

命令check-update表示檢查更新

命令update表示升級(jí)

命令search表示搜索軟件包

命令list表示列出可用軟件包

命令remove表示卸載

命令clean表示清除yum緩存目錄內(nèi)容

選項(xiàng)-y表示在所有需要交互式確認(rèn)的地方默認(rèn)輸入yes

當(dāng)yum源中沒(méi)有所需要安裝的包時(shí),會(huì)報(bào)沒(méi)有可用軟件包的錯(cuò)誤。此時(shí)可以通過(guò)添加新的yum源來(lái)解決

如centos7中安裝nginx:

  1. #安裝repo 
  2. [root@centos7 tmp]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 
  3. 獲取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 
  4. 警告:/var/tmp/rpm-tmp.cUANoe: 頭V4 RSA/SHA1 Signature, 密鑰 ID 7bd9bf62: NOKEY 
  5. 準(zhǔn)備中...                          ################################# [100%] 
  6. 正在升級(jí)/安裝... 
  7.    1:nginx-release-centos-7-0.el7.ngx ################################# [100%]  

此時(shí)/etc/yum.repos.d中增加了一個(gè)新文件nginx.repo

  1. [root@centos7 tmp]# cat /etc/yum.repos.d/nginx.repo  
  2. # nginx.repo 
  3.  
  4. [nginx] 
  5. name=nginx repos                                      #名稱 
  6. baseurl=http://nginx.org/packages/centos/7/$basearch/ #源地址 
  7. gpgcheck=0  #是否檢查key,0表示不檢查 
  8. enabled=1   #這里等于0表示不啟用baseurl,為1表示啟用baseurl  

現(xiàn)在就可以通過(guò)命令yum install -y nginx安裝nginx了

當(dāng)服務(wù)器沒(méi)有網(wǎng)絡(luò)可用時(shí),還能夠設(shè)置本地yum源。此時(shí)需要手動(dòng)配置repo文件

首先將安裝光盤或ios文件掛載至系統(tǒng)(關(guān)于掛載的更多內(nèi)容請(qǐng)看這一篇)

  1. [root@centos7 tmp]# mount CentOS-7-x86_64-DVD-1611.iso /media 
  2. mount: /dev/loop2 寫保護(hù),將以只讀方式掛載 
  3. [root@centos7 tmp]#  
  4. #如果是光盤則如此掛載: 
  5. [root@centos7 tmp]# mount /dev/cdrom /media 
  6. mount: /dev/sr0 寫保護(hù),將以只讀方式掛載 
  7. [root@centos7 tmp]# 
  8. #卸載用umount或eject 
  9. [root@centos7 tmp]# umount /media 
  10. [root@centos7 tmp]# eject  

編輯yum源配置文件

  1. vim /etc/yum.repos.d/local.repo 
  2.     [local
  3.     name=test 
  4.     baseurl=file:///media #這里baseurl寫 前綴(file://)+掛載點(diǎn) 
  5.     enabled=1 
  6.     gpgcheck=0  

然后將原有網(wǎng)絡(luò)源配置文件備份到另一個(gè)目錄,/etc/yum.repo.d中只保留local.repo文件。安裝軟件:

  1. yum install bc -y 

3、源碼包

前面所說(shuō)的rpm和deb都是二進(jìn)制軟件包,由于這些軟件包都是已經(jīng)經(jīng)過(guò)編譯的,用戶不能設(shè)置編譯選項(xiàng),也不能對(duì)軟件做任何更改。相對(duì)來(lái)說(shuō),使用源碼包編譯安裝軟件提供了更多的靈活性,在編譯時(shí)可指定各種選項(xiàng),對(duì)于有能力的用戶,還可以修改源代碼。下面介紹一下linux中是如何安裝源碼包的

1)、獲取源碼包

  1. wget http://mirrors.sohu.com/nginx/nginx-1.9.6.tar.gz 

2)、解壓

  1. tar zxf nginx-1.9.6.tar.gz 

3)、配置

  1. [root@idc-v-71252 src]# cd nginx-1.9.6 
  2. [root@idc-v-71252 nginx-1.9.6]# ./configure --prefix=/usr/local/nginx  

這里配置選項(xiàng)--prefix=/usr/local/nginx表示指定nginx的安裝路徑為/usr/local/nginx。

可以執(zhí)行./configure --help查看有哪些配置參數(shù),此步驟的執(zhí)行會(huì)檢查系統(tǒng)是否符合編譯要求。如果報(bào)錯(cuò),很多情況下是因?yàn)樯倭艘恍┚幾g工具,可以使用yum安裝這些工具(當(dāng)然也可以裝源碼)。

在本例中報(bào)錯(cuò):./configure: error: the HTTP rewrite module requires the PCRE library.。

說(shuō)明少了pcre庫(kù),查看一下系統(tǒng):

  1. [root@idc-v-71252 nginx-1.9.6]# rpm -qa pcre 
  2. pcre-8.32-15.el7.x86_64 
  3. [root@idc-v-71252 nginx-1.9.6]#  

系統(tǒng)有pcre安裝,但沒(méi)有devel包,使用yum安裝

  1. [root@idc-v-71252 nginx-1.9.6]# yum install pcre-devel -y 

再次執(zhí)行configure發(fā)現(xiàn)報(bào)錯(cuò)變了:./configure: error: the HTTP gzip module requires the zlib library.

重復(fù)上述操作直到所需軟件都安裝完畢,之后再次執(zhí)行./configure --prefix=/usr/local/nginx

4、編譯

  1. [root@idc-v-71252 nginx-1.9.6]# make -j8 

使用make進(jìn)行編譯,選項(xiàng)-j表示指定并發(fā)執(zhí)行的數(shù)量,這里指定了和系統(tǒng)邏輯CPU數(shù)(可以使用命令grep -c "^processor" /proc/cpuinfo查看邏輯CPU數(shù))相同的并發(fā)數(shù)。

此步驟也可能會(huì)出現(xiàn)報(bào)錯(cuò),一般也是因?yàn)槿鄙侔?,仔?xì)閱讀報(bào)錯(cuò)信息,一般都不難解決。

5、安裝

  1. [root@idc-v-71252 nginx-1.9.6]# make install 

如果沒(méi)有錯(cuò)誤,這個(gè)軟件包就安裝完畢了,可以在/usr/local/nginx中找到安裝后的文件。

這里說(shuō)了源碼包的一般安裝過(guò)程,有些源碼包的安裝可能會(huì)有所不同,一般源碼包中都有相應(yīng)的安裝說(shuō)明文件(README或INSTALL),仔細(xì)閱讀這些文件或者通過(guò)查詢軟件官網(wǎng),就能找到它們的安裝方法。

責(zé)任編輯:龐桂玉 來(lái)源: segmentfault
相關(guān)推薦

2010-01-11 17:49:08

Fedora軟件包

2013-09-29 10:14:24

YUM軟件包管理Linux YUM

2020-06-15 19:20:00

AppImageLinux軟件包管理

2016-01-29 14:32:19

Linux軟件包管理

2010-01-05 10:14:09

Ubuntu軟件包

2017-02-06 19:58:31

DebianLinux軟件包

2015-09-14 16:12:23

命令DNFLinux

2010-02-05 14:46:20

Ubuntu軟件包

2021-02-28 13:26:15

Linux軟件包管理器軟件倉(cāng)庫(kù)

2010-01-06 16:33:24

Ubuntu軟件包

2018-11-22 08:00:00

Linux軟件包管理器Nix

2021-02-05 07:48:06

Linux操作系統(tǒng)軟件

2010-02-03 16:29:56

2010-01-11 18:59:45

Fedora Core

2021-01-30 09:23:27

Windows操作系統(tǒng)微軟

2021-05-28 16:00:45

Windows操作系統(tǒng)微軟

2010-03-03 16:39:01

Linux軟件包依賴

2011-11-15 09:22:20

Solaris 11

2010-02-23 17:21:06

Fedora yum

2021-02-07 19:18:23

MacOSM1 Mac蘋果
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)