Linux軟件包管理及相關命令

rpm命令,yum命令

軟件包管理及相關命令

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

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包并進行安裝的一款工具??梢宰詣拥慕鉀Q包的依賴關系(一次性全部安裝所有依賴包),能夠提供包的刪查改等功能。
使用形式: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 19:54
下一篇 2018-03-12 21:44

相關推薦

  • #招聘福利#深圳云戈科技有限公司廣州分公司/運維工程師/廣州/招聘3人

    深圳云戈科技有限公司廣州分公司/運維工程師/廣州 招聘人數:3人 職位名稱:運維工程師 崗位職責:負責大型數據處理系統、交易系統的維護工作。包括系統調優、數據庫調優、系統版本升級、系統事件             處理、系統監控與巡檢、數據分析與修復、實施應急方案、參數配置、系統擴容與部署、維護報告…

    Linux干貨 2016-03-28
  • Linux之查找命令find簡介

    查找命令find簡介    Linux使用過程中難免會遇到查找功能,類似于Windows中的搜索功能,如果想要找某個文件在什么地方,什么格式的文件等等。在Linux中我們可以使用find、locate、which、whereis等命令。接下來我們就簡單說一下如何使用這幾個命令查找文件。 一、which which命令的作用是,在PATH變…

    Linux干貨 2015-05-18
  • 先給出自動化編譯安裝httpd的腳本,后面的mysql,php-fpm,xcache等還在測試中

    自動化編譯安裝httpd的腳本! FUNDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "Make …

    Linux干貨 2016-10-30
  • N25-第五周博客作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf      root (hd0,0)…

    Linux干貨 2017-01-06
  • apache服務器

    一、改變網頁的默認位置 1、修改DocumentRoot和Directory,修改新的存放路徑為/data/htdocs/ 2、創建/data/htdocs/index.html,注意權限問題 3、注意報錯You don't have permission to access /index.html,此時去查看SElinux的狀態。命令selinu…

    Linux干貨 2016-10-09
  • 20161014作業

    2016/10/14作業: ##操作類: 1. 設置自己的終端提示符,要求字符終端登錄時: a> 需要帶顏色 b> 需要顯示當前執行到了第幾條命令 c> 顯示當前登錄終端,主機名和當前時間 2、使用shutdown命令于5分鐘后重啟自己的PC機 3. 學習man,學會使用a> ls遞歸列出/usr目錄下所有文件, b> 列出目錄…

    Linux干貨 2016-10-20
欧美性久久久久