Linux軟體包管理

2022-02-26 23:42:18 字數 3700 閱讀 8203

軟體包分類:源**包 .tar.gz tar.bz2等格式,能夠看到所有的源**,分為指令碼安裝(專門人員寫好的shell指令碼,也屬於源**包)、編譯安裝等;二進位製包:rpm包、系統預設包

二進位製包缺點是依賴性問題;源**包都是編譯,所以避免的依賴性問題

rpm包命令規則:httpd-2.2.15-15.el6.centos.1.i686.rpm

httpd 軟體包名

2.2.15 軟體版本

15 發布次數

el6 redhat6系列

centos 適用於centos平台

i686 32位計算機系統,x86_64 64位計算機作業系統

rpm rpm字尾名

centos系統自帶的rpm包都在安裝光碟下的packages下,在虛擬機器中直接使用mount /dev/sr0 /mnt/cdrom 掛載後即可檢視

模組(單個檔案)依賴問題解決:

當安裝mysql時:rpm -ivh mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm

會提示需要依賴libodbcinst.so.2,而這個模組存在於某個rpm包中

這時候去**www.rpmfind.net可以查詢依賴模組存在於哪個rpm包中,從而安裝該依賴包

通過快捷搜尋centos,選擇相應的版本

rmp包安裝:rpm -ivh 包名 根據依賴繼續往下安裝,需要安裝一大堆

rpm依賴分為:樹形依賴、環形依賴、庫檔案依賴

rpm包公升級命令:rpm -uvh 包全名  如果沒有原始包,那麼公升級和安裝效果一樣,如果當前操作版本比已經安裝的包版本高,那麼就是公升級包

所有rpm包安裝記錄都在:/var/lib/rpm/下的資料庫檔案中

rpm包解除安裝:rpm -e 包名(不是包全名),比如:rpm -e httpd

解除安裝時也需要根據依賴性解除安裝,必須根據提示解除安裝錯誤提示的依賴包

無論安裝或者解除安裝都不要使用:--nodeps (不檢查依賴性) 這樣會引起很多殘留,導致依賴的其他包失效

linux刪除安裝包不會產生任何垃圾,只是刪除所有的安裝檔案即可

rpm包查詢,比如:rpm -q httpd

查詢所有的rpm包:rpm -qa

更常用的是利用管道匹配(包含匹配,查的更全):rpm -qa | grep httpd

查詢軟體包詳細資訊:rpm -qi httpd

查詢未安裝的軟體包資訊:rpm -qip 包全名 查詢包全名必須進入目錄當中查詢,而且必須輸入包全名

查詢包的檔案釋放位置:rpm -ql httpd 可以檢視所有檔案的列表

查詢未知安裝包將要安裝的位置:rpm -qlp 包全名 

根據系統檔名查詢屬於哪個rpm包:rpm -qf 檔名

查詢rpm包依賴的包:rpm -qr httpd 一般情況下直接安裝即可,會給出提示(同樣可以使用-q)

rpm包校驗:rpm -v httpd 測試軟體包所有檔案資訊是否被篡改,包括內容,大小,屬性,許可權等

檢驗資訊:s 大小修改 m許可權修改 5 md5校驗修改,,可以用來判斷系統是否被入侵

系統命令丟失後,利用rpm包提取恢復過程:比如ls命令丟失:/bin/ls 通過whereis ls查詢

1、查詢ls命令屬於哪個rpm包:rpm -qf /bin/ls

2、在光碟rpm包目錄外執行(比如家目錄):

rpm2cpio /mnt/cdrom/packages/coreutils-8.4-37.el6.x86_64.rpm | cpio -idv ./bin/ls

現在就提取到當前目錄下

3、cd ./bin/然後轉移檔案:cp ls /bin/

然後ls命令就可以用了

yum原始檔位置:/etc/yum.repos.d/

預設的原始檔是:centos-base.repo

[base] 基本yum源

name 容器說明

mirrorlist 映象源 url備用站點預設注釋

enabled預設為1 生效

gpgcheck 數字證書驗證,建議為1,提高安全性

gpgkey 證書位置,計算機預設有,在目錄/etc/pki/rpm-pgp/下

搭建光碟yum源:

cd /etc/yum.repos.d/

使本地yum源失效:mv centos-base.repo cenos-bask.repo.bak

放入光碟機,掛載好光碟:mount /dev/sr0 /mnt/cdrom

vim /etc/yum.repos.d/centos-media.repo

修改baseurl=file:///mnt/cdrom 剩餘兩行新增注釋

修改enabled=1 使光碟yum源生效

然後儲存退出

yum list 可以檢視所有的yum源軟體列表,檢視的同時首先更新本地資料庫, 後面的yum源位置和我們設定光碟yum源[media]名稱一致,說明yum正常生效

yum search 關鍵字 檢視yum源相關包,比如:yum search httpd

yum源安裝:yum -y install 包名 (在yum安裝中,只有包名,不用包全名;-y是自動回答yes,全自動執行)

yum -y install gcc 安裝c語言編譯器

軟體公升級:yum -y update httpd (公升級的時候一定要做好準備,比如:關閉指定的服務,重啟伺服器,平台**更改等,如果有重大漏洞,建議公升級,伺服器正常執行過程當中,建議穩定性為先,新伺服器搭建前考慮所有環境公升級到最新穩定版本)

yum -y update 後面不加軟體包,更新所有的軟體,包括核心,生產過程中慎用

yum -y remove 包名   解除安裝指定包

建議伺服器初始使用最小化安裝,需要什麼軟體就安裝,盡量不解除安裝,解除安裝可能使其他軟體或者系統依賴丟失,影響穩定性

lang=en_us 更改語系為英語

lang=zh_cn.utf8 更改為中文

以上是臨時修改

yum grouplist 列出所有可用的軟體組列表

yum groupinstall 組名 安裝指定的組包

yum groupremove 組名 解除安裝指定的組包

關於軟體查詢,要使用rpm -q一系列的命令查詢

rpm或者yum安裝,一般不要指定安裝位置,否則啟動或者解除安裝會出現位置,建議全部預設

原始碼包安裝位置一般位於:/usr/local/軟體目錄或者/usr/軟體目錄  需要自己指定

原始碼包啟動一般使用絕對路徑加引數啟動,或者使用環境變數

原始碼包解除安裝直接刪除安裝目錄即可,不會殘留任何垃圾檔案

伺服器軟體有大量使用者訪問,建議手動安裝官方原始碼包,效率更高,效能更好

底層支援軟體比如gcc之類的建議使用自帶的yum源安裝或者rpm包即可

安裝原始碼包報錯現象:安裝終止或者出現error,no等提示

比如apache原始碼包安裝:httpd-2.4.18.tar.bz2

軟體配置檢查,定義功能選項,檢測環境是否符合要求,一般情況下必須指定安裝位置,目錄不需要手工建立:

./configure --prefix=/usr/local/apache

編譯:make

如果編譯報錯,則清除編譯的快取和臨時檔案,重新開始:make clean

安裝:make install 如果這一步報錯,需要執行make clean 並且刪除目錄:rm -rf /usr/local/apache

linux軟體包管理

二進位制軟體包管理 rpm,yum rpm的使用 rpm包格式 stdo 1.7.2p1 5.e15.i386.rpm stdo 軟體名 1.7.2p1 版本號 5.e15 發行號 i386 硬體平台 1 安裝軟體包 一般不能指定安裝目錄 rpm ivh 軟體包全部名稱 rpm i stdo 1.7...

Linux 軟體包管理

rpm redhat package manager redhat軟體包管理工具,類似windows裡面的setup.exe 是linux這系列作業系統裡面的打包安裝工具,它雖然是redhat的標誌,但理念是通用的。rpm包的名稱格式 apache 1.3.23 11.i386.rpm apache...

Linux軟體包管理

apt advanced package tool 是debian ubuntu等系統中的軟體包管理程式,使用apt可以找到想要的軟體包,而且安裝 解除安裝 更新也比較簡單,apt的原始檔為 etc apt 目錄下的sources.list檔案 修改資料來源 由於國內網路環境問題,故將ubuntu的...