Linux系統下yum命令查看安裝了哪些軟件包:
$yum list installed //列出全部已安裝的軟件包 php
yum針對軟件包操做經常使用命令:
1.使用YUM查找軟件包
命令:yum search phphtml
2.列出全部可安裝的軟件包
命令:yum list phpjava
3.列出全部可更新的軟件包
命令:yum list updates node
4.列出全部已安裝的軟件包
命令:yum list installed linux
5.列出全部已安裝但不在 Yum Repository 內的軟件包
命令:yum list extras redis
6.列出所指定的軟件包
命令:yum list +包名數據庫
7.使用YUM獲取軟件包信息 、顯示yum包的信息:
命令:yum info PACKAGE_NAMEvim
8.搜索yum包:
命令:yum search PACKAGE_NAMEcentos
9.列出全部可更新的軟件包信息
命令:yum info updates 緩存
10.列出全部已安裝的軟件包信息
命令:yum info installed
11.列出全部已安裝但不在 Yum Repository 內的軟件包信息
命令:yum info extras
12.列出軟件包提供哪些文件
命令:yum provides
1三、更新具體的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
2一、更新全部的軟件包
yum update
2二、大規模的升級
yum upgrade
2三、查能夠更新的軟件包
yum check-update
查到某些軟件是否安裝了。總結起來就是這樣幾類:
一、rpm包安裝的,能夠用rpm -qa看到,若是要查找某軟件包是否安裝,用 rpm -qa | grep 「軟件或者包的名字」。
[root@localhost ~] rpm -qa | grep ruby
二、以deb包安裝的,能夠用dpkg -l能看到。若是是查找指定軟件包,用dpkg -l | grep 「軟件或者包的名字」;
[root@localhost ~] dpkg -l | grep ruby
三、yum方法安裝的,能夠用yum list installed查找,若是是查找指定包,命令後加 | grep 「軟件名或者包名」;
[root@localhost ~] yum list installed | grep ruby
四、若是是以源碼包本身編譯安裝的,例如.tar.gz或者tar.bz2形式的,這個只能看可執行文件是否存在了,
上面兩種方法都看不到這種源碼形式安裝的包。若是是以root用戶安裝的,可執行程序一般都在/sbin:/usr/bin目錄下。
說明:
其中rpm yum Redhat系linux的軟件包管理命令,dpkg debian系列的軟件包管理命令
五、安裝一個軟件全部依賴的包
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所示:
常見問題:
一、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不能解析地址
解決方法兩種:
- Ping mirror.centos.org是否可以返回IP地址,檢測服務器DNS配置和網關配置,是否正確,問題能夠被解決;
修改配置文件DNS:vim /etc/resolv.conf
二、執行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
解決方法兩種:
- rpm -e vsftpd-sysvinit vsftpd 卸載依賴的包;
- rpm -e vsftpd --nodeps 不依賴其餘的包,可能會不完整;
error: open of vsftpd-3.0.2-22.el7.x86_64.rpm failed: No such file or directory
解決方法兩種:
- 找不到該文件,從光盤鏡像ISO找到該文件,而後上傳至當前目錄;
- 能夠使用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
三、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
四、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
五、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