Linux yum 命令與 apt 命令

Linux yum 命令

yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。html

基於 RPM 包管理,可以從指定的服務器自動下載 RPM 包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。前端

yum 提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。c++

yum 語法

yum [options] [command] [package ...]
  • options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇所有爲 "yes"),-q(不顯示安裝的過程)等等。
  • command:要進行的操做。
  • yum經常使用命令

    • 1. 列出全部可更新的軟件清單命令:yum check-updatevim

    • 2. 更新全部軟件命令:yum updatecentos

    • 3. 僅安裝指定的軟件命令:yum install <package_name>緩存

    • 4. 僅更新指定的軟件命令:yum update <package_name>bash

    • 5. 列出全部可安裝的軟件清單命令:yum list服務器

    • 6. 刪除軟件包命令:yum remove <package_name>ide

    • 7. 查找軟件包命令:yum search <keyword>this

    • 8. 清除緩存命令:

      • yum clean packages: 清除緩存目錄下的軟件包
      • 安裝 pam-develyum clean headers: 清除緩存目錄下的 headers
      • yum clean oldheaders: 清除緩存目錄下舊的 headers
      • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的 headers

實例 1

安裝 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先檢查軟件的屬性相依問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

實例 2

移除 pam-devel

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==一樣的,先解決屬性相依的問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 pam-devel               i386       0.99.6.2-4.el5   installed         495 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)  <==還好,並無屬性相依的問題,單純移除一個軟件

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing   : pam-devel                    ######################### [1/1]

Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!

實例 3

利用 yum 的功能,找出以 pam 爲開頭的軟件名稱有哪些?

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages <==底下則是『可升級』的或『未安裝』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base

國內 yum 源

網易(163)yum源是國內最好的yum源之一 ,不管是速度仍是軟件版本,都很是的不錯。

將yum源設置爲163 yum,能夠提高軟件包安裝和更新的速度,同時避免一些常見軟件版本沒法找到。

安裝步驟

首先備份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下載對應版本 repo 文件, 放入 /etc/yum.repos.d/ (操做前請作好相應備份)

  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
  • CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo

運行如下命令生成緩存

yum clean all
yum makecache
除了網易以外,國內還有其餘不錯的 yum 源,好比中科大和搜狐。

中科大的 yum 源,安裝方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安裝方法查看: http://mirrors.sohu.com/help/centos.html

配置本地Yum倉庫

實現此案例須要按照以下步驟進行。

步驟一:搭建一個本地Yum,將RHEL6光盤手動掛載到/media

命令操做以下所示:

[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mount | tail -1
/dev/sr0 on /media type iso9660 (ro)

步驟二:將本地設置爲客戶端,進行Yum驗證

Yum客戶端需編輯配置文件,命令操做以下所示:

[root@localhost ~]# cd /etc/yum.repos.d/         //必須在這個路徑下
[root@localhost yum.repos.d]# ls                  //此路徑下事先有配置文件的模板
rhel-source.repo

[root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo //配置文件必須以.repo結尾
[root@localhost yum.repos.d]# vim rhel6.repo
[rhel-6]                                     //中括號裏內容要求惟一,但不要出現特殊字符
name=Red Hat Enterprise Linux 6           //此爲描述信息,能夠看狀況填寫
baseurl=file:///media/                     //此項爲yum軟件倉庫位置,指向光盤掛載點
enabled=1                                   //此項爲是否開啓,1爲開啓, 0爲不開啓
gpgcheck=1                                  //此項爲是否檢查簽名,1爲檢測, 0爲不檢測
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //簽名認證信息的路徑

[root@localhost /]# yum repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-6                                            | 3.9 kB     00:00 ... 
rhel-6/primary_db                                  | 3.1 MB     00:00 ... 
repo id             repo name                                     status
rhel-6              Red Hat Enterprise Linux 6                    3,690
repolist: 3,690

對於 Linux 軟件安裝時提示缺失庫的,可使用 yum 的 provides 參數查看 libstdc++.so.6 的庫文件包含在那個安裝包中只須要執行:

yum provides libstdc++.so.6

而後按查詢到安裝包包名,使用 yum install 安裝便可。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Linux apt 命令

apt(Advanced Packaging Tool)是一個在 Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。

apt 命令提供了查找、安裝、升級、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。

apt 命令執行須要超級管理員權限(root)。

apt 語法

apt [options] [command] [package ...]
  • options:可選,選項包括 -h(幫助),-y(當安裝過程提示選擇所有爲"yes"),-q(不顯示安裝的過程)等等。
  • command:要進行的操做。
  • package:安裝的包名。

apt 經常使用命令

  • 列出全部可更新的軟件清單命令:sudo apt update

  • 升級軟件包:sudo apt upgrade

    列出可更新的軟件包及版本信息:apt list --upgradeable

    升級軟件包,升級前先刪除須要更新軟件包:sudo apt full-upgrade

  • 安裝指定的軟件命令:sudo apt install <package_name>

    安裝多個軟件包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的軟件命令:sudo apt update <package_name>

  • 顯示軟件包具體信息,例如:版本號,安裝大小,依賴關係等等:sudo apt show <package_name>

  • 刪除軟件包命令:sudo apt remove <package_name>

  • 清理再也不使用的依賴和庫文件: sudo apt autoremove

  • 移除軟件包及配置文件: sudo apt purge <package_name>

  • 查找軟件包命令: sudo apt search <keyword>

  • 列出全部已安裝的包:apt list --installed

  • 列出全部已安裝的包的版本信息:apt list --all-versions

實例

查看一些可更新的包:

sudo apt update

  

升級安裝包:

sudo apt upgrade

  

 

 

在以上交互式輸入字母 Y 便可開始升級。

能夠將如下兩個命令組合起來,一鍵升級:

sudo apt update && sudo apt upgrade -y

安裝 mplayer 包:

sudo apt install mplayer

如過不太記得完整的包名,咱們能夠只輸入前半部分的包名,而後按下 Tab 鍵,會列出相關的包名:

 

 

以上實例咱們輸入來 reds,而後按下 Tab 鍵,輸出來四個相關的包。

若是咱們想安裝一個軟件包,但若是軟件包已經存在,則不要升級它,可使用 –no-upgrade 選項:

sudo apt install <package_name> --no-upgrade

安裝 mplayer 若是存在則不要升級:

udo apt install mplayer --no-upgrade

 

 若是隻想升級,不要安裝可使用 --only-upgrade 參數:

sudo apt install <package_name> --only-upgrade

只升級 mplayer,若是不存在就不要安裝它:

sudo apt install mplayer --only-upgrade

 

 若是須要設置指定版本,語法格式以下:

sudo apt install <package_name>=<version_number>

package_name 爲包名,version_number 爲版本號。

移除包可使用 remove 命令

sudo apt remove mplayer

查找名爲 libimobile 的相關包:

apt search libimobile

查看 pinta 包的相關信息:

apt show pinta

列出可更新的軟件包:

apt list --upgradeable

清理再也不使用的依賴和庫文件:

sudo apt autoremove

在以上交互式輸入字母 Y 便可開始清理。
相關文章
相關標籤/搜索