使用yum查詢系統安裝的軟件及可以更新的軟件並單獨指定升級某一個軟件


https://blog.csdn.net/rentian1/article/details/93768557?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

Linux系統下yum命令查看安裝了哪些軟件包: 
$yum list installed //列出所有已安裝的軟件包 


yum針對軟件包操作常用命令: 
1.使用YUM查找軟件包 
命令:yum search php


2.列出所有可安裝的軟件包 
命令:yum list php


3.列出所有可更新的軟件包 
命令:yum list updates 


4.列出所有已安裝的軟件包 
命令:yum list installed 


5.列出所有已安裝但不在 Yum Repository 內的軟件包 
命令:yum list extras 


6.列出所指定的軟件包 
命令:yum list +包名


7.使用YUM獲取軟件包信息 、顯示yum包的信息:
命令:yum info PACKAGE_NAME


8.搜索yum包:
命令:yum search PACKAGE_NAME


9.列出所有可更新的軟件包信息 
命令:yum info updates 


10.列出所有已安裝的軟件包信息 
命令:yum info installed 


11.列出所有已安裝但不在 Yum Repository 內的軟件包信息 
命令:yum info extras 


12.列出軟件包提供哪些文件 
命令:yum provides

 

13、更新具體的yum包:

$ yum update PACKAGE_NAME

14.顯示已啟用的yum存儲庫的列表:

$ yum repolist

15.清除yum緩存:

 

$ yum clean all

$ yum clean all

 

16.找出哪個yum包提供了一個特定的文件(例如:/usr/bin/nc)):

$ yum whatprovides "*bin/nc"

17.卸載yum包裝:

$ yum remove PACKAGE_NAME

 

18.取出yum包裝:

$ yum downloader PACKAGE_NAME

20.重新安裝一個yum包:

$ yum reinstall PACKAGE_NAME

 

 

查到某些軟件是否安裝了。總結起來就是這樣幾類:

1、rpm包安裝的,可以用rpm -qa看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep “軟件或者包的名字”。

[root@localhost ~] rpm -qa | grep ruby

 

2、以deb包安裝的,可以用dpkg -l能看到。如果是查找指定軟件包,用dpkg -l | grep “軟件或者包的名字”;

[root@localhost  ~] dpkg -l | grep ruby

 

3、yum方法安裝的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “軟件名或者包名”;

[root@localhost ~] yum list installed | grep ruby

 

4、如果是以源碼包自己編譯安裝的,例如.tar.gz或者tar.bz2形式的,這個只能看可執行文件是否存在了,

上面兩種方法都看不到這種源碼形式安裝的包。如果是以root用戶安裝的,可執行程序通常都在/sbin:/usr/bin目錄下。

說明:

其中rpm yum Redhat系linux的軟件包管理命令,dpkg debian系列的軟件包管理命令

5、安裝一個軟件所有依賴的包

yum localinstall -y java.1.1.0.rpm

 

軟件的配置管理

1)Linux平台下軟件分類,按照軟件的內容分為二進制軟件、源碼包軟件;

2)二進制包特點:軟件的內容直接可以使用的,系統能夠直接識別,直接運行,后綴以rpm、.zip結尾,或者基於rpm、yum工具去安裝;

3)源代碼包特點:軟件的內容不能直接使用的,內容包括.c .h .cpp等,后綴以tar、zip、tar.gz、tar.bz2,需要通過GCC編譯器編譯,生成二進制文件,方可使用;安裝的方式:./configure;make;make install;

4)RPM軟件、YUM軟件區別是什么?沒有大的區別,都是用於管理以.rpm結尾的二進制包,RPM、YUM可以實現軟件的安裝、卸載、更新等管理;

5)RPM軟件管理不能自己解決依賴軟件包,而YUM可以自行解決各種依賴包,企業生產環境推薦使用YUM工具的,RPM安裝的軟件包,必須在本地存在(也可以使用http下載),YUM安裝的軟件包可以在線自動下載;

6)為嘛YUM可以自行下載軟件,因為服務器可以上網,YUM內部工作機制問題,YUM是C/S模式,客戶端、服務端,客戶端基於repo文件找到服務端鏡像地址,根據地址鏡像rpm軟件安裝、配置,如果鏡像地址是外網,需要服務器能夠上外網;

7)YUM服務器端負責發布工作.rpm結尾軟件包+依賴關系+基礎數據庫信息,服務器端一般通過HTTP、FTP協議進行發布;

8)YUM客戶端,基於YUM命令,自動去查找YUM服務器端相關的軟件+依賴關系,客戶端使用YUM命令,首先會檢查/etc/yum.repos.d是否有.repo結尾的文件,如果沒有repo結尾的文件,則無法使用yum安裝軟件;

9)BAT企業,都是內部構建本地YUM源,YUM在內部節約外部帶寬,節省成本,同時加快運行效率;

10)服務器內部傳輸帶寬至少1000Mb,

 

YUM源端軟件包擴展

YUM源端軟件包擴展

默認使用ISO鏡像文件中的軟件包構建的HTTP YUM源,會發現缺少很多軟件包,如果服務器需要掛載移動硬盤,Mount掛載移動硬盤需要ntfs-3g軟件包支持,而本地光盤鏡像中沒有該軟件包,此時需要往YUM源端添加ntfs-3g軟件包,添加方法如下:

  • 切換至/var/www/html/centos目錄,官網下載NTFS-3G軟件包。

cd /var/www/html/centos/

 

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-2016.2.22-3.el7.x86_64.rpm

http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-devel-2016.2.22-3.el7.x86_64.rpm

  • Createrepo命令更新軟件包,同理,如需新增其他軟件包,同樣把軟件下載至本地,然后通過createrepo更新即可,如圖6-18所示:

createrepo –update centos/

圖6-18 CreateRepo update更新軟件包

  • 客戶端YUM驗證,安裝NTFS-3G軟件包,如圖6-19所示:

 

 

 

 

常見問題:

1、yum install ntpdate,報錯如下:

Loaded plugins: fastestmirror, priorities

http://mirror.centos.org/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirror.centos.org; Name or service not known"

Trying other mirror.

 

Could not resolve host不能解析地址

解決方法兩種:

  1. Ping mirror.centos.org是否能夠返回IP地址,檢測服務器DNS配置和網關配置,是否正確,問題可以被解決;

修改配置文件DNS:vim /etc/resolv.conf

 

2、執行rpm -e vsftpd指令,報錯信息如下:

error: Failed dependencies:

vsftpd = 3.0.2-22.el7 is needed by (installed) vsftpd-sysvinit-3.0.2-22.el7.x86_64

解決方法兩種:

  1. rpm -e vsftpd-sysvinit vsftpd 卸載依賴的包;
  2. rpm -e vsftpd --nodeps 不依賴其他的包,可能會不完整;

error: open of vsftpd-3.0.2-22.el7.x86_64.rpm failed: No such file or directory

解決方法兩種:

  1. 找不到該文件,從光盤鏡像ISO找到該文件,然后上傳至當前目錄;
  2. 可以使用rpm -ivh在線安裝,在百度上面查找,然后復制地址,例如: rpm -ivh http://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

 

3、CentOS7yum安裝出現/var/run/yum.pid 已被鎖定,解決辦法 : 

root@bogon ~]# yum install -y gcc gcc+
已加載插件:fastestmirror, langpacks
/var/run/yum.pid 已被鎖定,PID 為 11154 的另一個程序正在運行。
Another app is currently holding the yum lock; waiting for it to exit...
  另一個應用程序是:PackageKit
    內存:130 M RSS (1.4 GB VSZ)
    已啟動: Mon May  1 16:17:14 2017 - 04:06之前
    狀態  :睡眠中,進程ID:11154
Another app is currently holding the yum lock; waiting for it to exit...
  另一個應用程序是:PackageKit
    內存:130 M RSS (1.4 GB VSZ)
    已啟動: Mon May  1 16:17:14 2017 - 04:08之前
    狀態  :睡眠中,進程ID:11154

經過百度發現只要刪除/var/run/yum.pid就可以正常使用了,即

rm -rf /var/run/yum.pid.
/sbin/service yum-updatesd restart

 

4、yum 安裝軟件時,報錯:No package XXX available.

[root@localhost ~]# yum -y install redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.163.com
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package redis available.
Nothing to do
解決方法:

1).先去更新一下yum倉庫:
#yum -y update
 

5、yum安裝軟件報錯:curl#6 - "Could not resolve host: mirrorlist.centos.org; Temporary failure in name resolut

# yum install -y epel-release
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Temporary failure in name resolution"


     1. Contact the upstream for the repository and get them to fix the problem.


     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).
 

dns解析的問題,處理辦法:
vim /etc/resolv.conf  加入:

nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

 

 

 

 

參考鏈接 :yum命令不能使用的相關錯誤  :https://blog.csdn.net/rachel_luo/article/details/8692744

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM