Linux軟件包管理及相關命令

rpm命令,yum命令

軟件包管理及相關命令

對于一個用戶來說,直接通過控制操作系統的內核來控制操作系統的話有點不切實際。因此需要在內核的基礎上安裝各種服務軟件和工具軟件?,F在大多數的操作系統都提供了集中式的軟件包管理機制。用戶可以通過方便管理各種軟件包。軟件包中通常包含了編譯好了的二進制文件和其他資源(安裝及卸載腳本、元數據、軟件說明等)。

CentOS軟件包管理:
CentOS發行版和Fedora的軟件包后綴為.rpm,因此看到以.rpm為后綴的包文件基本上就是CentOS或者Fedora。
CentOS通過yum工具來安裝和管理軟件包。也可以先部署好repository(軟件包倉庫)后來通過rpm命令來進行軟件包的安裝和管理。

rpm命令詳解:
rpm是一款遵循GPL協定的功能強大的軟件包管理工具,通過rpm能夠極大的方便用戶對于linux的使用及管理。
使用規則:
rpm [OPTION]… [the name of rpm package]
? 查詢或者判斷軟件包
rpm {-q | –query} [OPTION] [query option]
rpm {-V | –verify} [OPTION] [verify option]
? 安裝或卸載軟件包
rpm {-i | –install} [install option] {package name} ##安裝軟件包
rpm {-U | –upgrade} [install option] {package name} ##檢驗軟件包的存在,若存在則升級
rpm {-F | –freshen} [install option] {package name} ##僅用來升級軟件包
rpm {-e | –erase} [option] {package name}
常用選項:
-a | –all :查詢所有包
-f | –file :選擇rpm包文件(查詢含有指定文件的包)
-i | –info:查詢包的相關信息
-i [package name]:安裝指定軟件包
-v:顯示軟件包的安裝過程(verbose)
-h | –hash:顯示軟件包安裝時的進度
-vv:詳細展示rpm命令執行時的過程細節
–force:強制安裝此包
–nodeps:安裝此包時不進行包依賴的檢查
–prefix /path/to/install_directory:指定軟件包安裝的目錄
–justdb:只是升級數據庫,文件系統不升級
–test:運行卸載測試(不是真的卸載常與-vv選項結合排障)
-p | –package [package_name]:查詢一個還沒有安裝的軟件包
-q:獲取某個軟件包的全名
-ql package_name:獲取軟件包的安裝位置,不能帶后綴
(尋找二進制程序可使用which)
應用實例:
1、 安裝軟件包
rpm -ivh package_name(一般講rpm包放置于當前目錄)
2、 卸載安裝包
rpm -e package_name
3、 查詢
(1)查詢包是否已安裝
rpm -q package_name
(2)查詢已經安裝的所有包
rpm -qa(可結合管道符與grep來搜索特定包)
(3)查詢某文件是由哪個rpm包生成的
rpm -qf /path/to/somefile
(4)查詢未安裝的包文件
rpm -qpi package_file
(5)查詢包的簡要信息
rpm -qi package_name
(6)查詢包安裝后生成的文件列表
rpm -ql package_name
(7)查詢包安裝后的配置文件
rpm -qc package_name
(8)查詢包安裝后的生成的所有幫助文件
rpm -qd package_name
(9)查看包制作時隨版本變化的changelog信息
rpm -q –changelog package_name

yum命令詳解:
yum是基于rpm包管理,能夠從互聯網上的服務器自動下載rpm包并進行安裝的一款工具。可以自動的解決包的依賴關系(一次性全部安裝所有依賴包),能夠提供包的刪查改等功能。
使用形式:yum [opton] [command] [package_name…]
常用參數:
-y:當安裝過程中有提示選擇的時候,自動選擇“yes”
-q:不顯示安裝的過程
-h:顯示幫助信息
-c:指定配置文件
-v:顯示安裝的詳細過程

主要功能:
1、 install(安裝)
2、 update(更新)
3、 check-update(檢查更新)
4、 remove(卸載)
5、 list(顯示)
6、 search(查找)
7、 info(獲取包信息)
8、 clean(清除包緩存)
應用舉例:
1、 安裝
yum install package_name(安裝package_name)
yum groupinstall group(安裝程序組group)
2、 更新
yum update(默認更新所有東西,包括系統版本)
yum update package(更新指定程序包)
yum check-update(檢查可更新的程序)
yum groupupdate group(更新從程序組)
yum update-to package(將程序包升級到指定版本)
3、 查找和顯示
yum info package (顯示未安裝的包的信息)
yum list(顯示可以獲取的包,包括已安裝的)
yum list package(顯示指定未安裝的程序包的信息)
yum search string(根據string來查找包)
yum groupinfo group(顯示程序組的信息)
yum repolist all(顯示所有包倉庫,包括可用的和不可用的)
yum repolist enable(顯示可用包倉庫)
yum repolist disable(顯示不可用的包倉庫)
4、 卸載程序
yum [remove | erase] package_name(刪除包)
yum groupremove group(刪除程序組)
yum depllist package_name(查看該包的依賴情況)
5、 清除緩存
yum clean package清除緩存目錄下的安裝包
yum clean headers清除緩存目錄下的headers
yum clean oldheaders清除緩存目錄下的舊headers
yum clean ; yum clean all(清除所有緩存目錄下的緩存)
yum clean plugins
6、 建立緩存
yum makecache

本地yum搭建:
(1) 環境要求,需要關閉防火墻,selinux設置為disabled
systemctl disable firewalld
vim /etc/sysconfig/selinux,將SELINUX=enforce修改為SELINUX=disabled
(2) 將本地源文件掛載:
mount /opt/centos/CentOS-7-x86_64-Everything-1708.iso /mnt/centos7-everything/
此時執行mount即可看到掛載的文件:

(3) 修改repo文件:cd /etc/yum.repos.d/
先備份所有的yum源文件,mv ./* /etc/yum.repos.d.backup/
(4) 添加yum源文件:cd /etc/yum.repos.d/
vim CentOS-Media.repo,添加如下內容:
[c7-media]
name=CentOS-$releasever – Media
baseurl=file:///mnt/centos-everything/
gpgcheck=1
enable=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

(5) 清除之前的yum緩存并且生成現有的yum緩存:
yum clean all && yum makecache
(6) 緩存制作完成之后就可以進行包的安裝了

網絡yum源制作:
(1) 有了本地源制作的經驗后,網絡源制作也是相當的簡單,開始先關閉防火墻,selinux=diabled。
(2) 回到yum源目錄并創建一個網絡yum源文件:cd /etc/yum.repos.d/ && touch CentOS-mirrorlist。
(3) 在CentOS中添加如下內容:
[centos-mirrorlist]
name=CentOS-$releasever
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
gpgcheck=1
enable=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
(4) 清除之前的yum緩存并制作現有緩存:yum clean all && yum makecache
(5) 至此網絡yum源制作完畢。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92116

(1)
~~
上一篇 2018-03-12
下一篇 2018-03-12

相關推薦

  • Linux Basics

    計算機的組成及其功能:             CPU:運算器、控制器、寄存器、緩存             存儲器:內存,RAM(Random Access Memory)   …

    Linux干貨 2016-09-17
  • 馬哥教育網絡班20期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。    w | grep "^root\>" |sort -u   2、取出最后登錄到當前系統的用戶的相關信息。    who |   3、取出當前系統上被用戶當作…

    Linux干貨 2016-06-26
  • 第一周作業

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3. 描述Linux的哲學思想,按照自己的理解對其解釋性描述。
    4. 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、……等命令使用,配合相應實例闡述。
    5. 如何獲取幫助信息,描述man文檔章節劃分。
    6. 羅列發行版基礎目錄名稱命名法則及功用規定。

    Linux干貨 2017-12-03
  • http協議簡介

        http:Hyper Text Transfer Protocol,超文本傳輸協議。是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,并稱之為超文本(hyp…

    Linux干貨 2015-11-18
  • jackcui0804作業

    (1)顯示/proc/meminfo 文件中以大小s 開頭的行;( 要求:使用兩種方式) [root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*" SwapCac…

    Linux干貨 2016-08-08
  • 壓縮與歸檔

    一、壓縮     壓縮:根據一定算法將數據以更加節省空間的形式存放。下面來看一下Linux常見的壓縮工具:     1、gzip/gunzip         后綴名:.gz   …

    Linux干貨 2015-05-04
欧美性久久久久