什么是Linux軟件包
現(xiàn)代類 Unix 操作系統(tǒng)都提供了一個(gè)集中的軟件包管理機(jī)制,以幫助用戶搜索、安裝和管理軟件。而軟件通常以包的形式存儲(chǔ)在倉(cāng)庫(kù)中,對(duì)軟件包的使用和管理被稱為包管理。Linux 軟件包的基本組成部分通常有:共享庫(kù)、應(yīng)用程序、服務(wù)和文檔
0x01
軟件包格式
deb軟件包:由 Debian Linux 提出,Debian、Ubuntu等系統(tǒng)采用的軟件包管理機(jī)制,將應(yīng)用程序的二進(jìn)制文件、配置文檔、man/info幫助頁(yè)面等文件合并打包在一個(gè)文件中,用戶使用軟件包管理器直接操作軟件包,完成獲取、安裝、卸載、查詢等操作 rpm軟件包:由 RedHat 公司提出,Redhat、Centos、Fedora等系統(tǒng)采用的軟件包管理機(jī)制,建立統(tǒng)一的數(shù)據(jù)庫(kù)文件,詳細(xì)記錄軟件包安裝、卸載等變化信息,自動(dòng)分析軟件包依賴關(guān)系
0x02
軟件包命名
deb軟件包的命名遵循以下約定
Filename-Version-Reversion.Architecture.deb
軟件名稱 Filename
軟件版本 Version
修訂版本 Reversion
體系架構(gòu) Architecture
rpm軟件包的命名遵循以下約定:
Filename-Version-Reversion.OS.Architecture.rpm
軟件名稱 Filename
軟件版本 Version
修訂版本 Reversion
操作系統(tǒng) OS
體系架構(gòu) Architecture
通過了解軟件包的命名規(guī)則,就能知道軟件包所適用的環(huán)境了
0x03
軟件包管理工具
大多數(shù)流行的 Linux 發(fā)行版在包管理工具、方式和形式都大同小異,但卻還是有平臺(tái)差異:
使用軟件包管理工具安裝軟件后,常見的安裝位置如下圖所示
如何管理Linux軟件包
Linux軟件包管理通常不僅限于軟件的一次性安裝,還包括了對(duì)已安裝軟件包進(jìn)行升級(jí)的工具。下面以 Ubuntu 系統(tǒng)為例介紹如何管理Linux軟件包
0x01
dpkg管理工具
dpkg命令一般在直接安裝現(xiàn)成.deb包時(shí)使用,常見命令如下:
dpkg-i#安裝一個(gè)存在本地的Deb軟件包 dpgk-r #移除一個(gè)已經(jīng)安裝的軟件包 dpkg-P #移除已安裝軟件包及配置文件 dpkg-L #列出安裝的軟件包清單 dpkg-s #顯出軟件包的安裝狀態(tài)
dpkg命令可用于安裝、編譯、卸載和查詢Deb軟件包。但是不能主動(dòng)從鏡像點(diǎn)獲取軟件包,且安裝時(shí)無(wú)法檢測(cè)軟件包的依耐關(guān)系
0x02
apt管理工具
apt 是最常見的包操作命令,在Ubuntu中 apt 采用集中式的軟件倉(cāng)庫(kù)機(jī)制,將各式各樣的軟件包分門別類地存在軟件倉(cāng)庫(kù)中,然后將軟件倉(cāng)庫(kù)置于不同的鏡像服務(wù)器中,并保持基本一致,對(duì)于用戶而言,這些鏡像服務(wù)器就是他們的軟件源 在Ubuntu中,軟件源文件/etc/apt/sources.list中列出了軟件源鏡像站點(diǎn)地址。但這些鏡像站點(diǎn)中所具有的軟件資源并不清楚,可使用apt-get update命令掃描每一個(gè)軟件源服務(wù)器,為該服務(wù)器里的軟件包資源建立索引文件,并存放在本地的/var/lib/apt/lists目錄中 apt-get命令:主要用于自動(dòng)從互聯(lián)網(wǎng)的軟件倉(cāng)庫(kù)中搜索、安裝、升級(jí)、卸載軟件或操作系統(tǒng)。命令格式如下表示:
常見命令示例如下:
apt-getupdate #更新本地存放的軟件包倉(cāng)庫(kù)列表 apt-getupgrade#升級(jí)已安裝的包,僅升級(jí)已安裝的軟件包 apt-getdist-upgrade#升級(jí)已安裝的包,可添加或刪除程序包,以滿足新的依賴 apt-getinstallpkg#從軟件倉(cāng)庫(kù)安裝包 apt-getcheck #檢查軟件包依賴關(guān)系 apt-get-finstall#修復(fù)軟件包依賴關(guān)系 apt-get--reinstallinstall#重新安裝軟件包 apt-getremovepkg #不完全卸載,會(huì)刪除與該軟件包有依賴關(guān)系的軟件包 apt-get--purgeremovepkg#完全卸載,卸載軟件包時(shí),還刪除該軟件包配置文件 apt-getclean #清理整個(gè)軟件包緩沖區(qū) apt-getautoclean #按照依賴關(guān)系清理緩沖區(qū)中多余的軟件包apt-cache命令:可以從本地APT文件中查詢和顯示有關(guān)包的可用信息,包括包名稱、描述、版本、依賴項(xiàng)、repo和維護(hù)者信息等。命令格式如下表示:
常見命令示例如下:
apt-cachesearchpkg #搜索內(nèi)容 apt-cacheshowpkg #顯示有關(guān)軟件包的本地緩存信息 apt-cachepolicypkg #可以獲取軟件包當(dāng)前的安裝狀態(tài) apt-cachedependspkg #檢查軟件包的依賴關(guān)系
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11351瀏覽量
210499 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6900瀏覽量
123807 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41606 -
軟件包
+關(guān)注
關(guān)注
0文章
104瀏覽量
11663 -
管理工具
+關(guān)注
關(guān)注
0文章
24瀏覽量
7666
原文標(biāo)題:什么是Linux軟件包,如何管理它們
文章出處:【微信號(hào):嵌入式攻城獅,微信公眾號(hào):嵌入式攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
關(guān)于openEuler軟件包加固測(cè)試的經(jīng)驗(yàn)
命令終端的常用操作有哪些?軟件包管理機(jī)制是什么
RT-Thread軟件包定義和使用
![RT-Thread<b class='flag-5'>軟件包</b>定義和使用](https://file.elecfans.com/web1/M00/51/37/pIYBAFsCPbCARj8DAAASmGgmf14053.png)
Linux教程之如何進(jìn)行軟件包管理
RZ/Five Verified Linux 軟件包 V3.0.2 組件列表
![RZ/Five Verified <b class='flag-5'>Linux</b> <b class='flag-5'>軟件包</b> V3.0.2 組件列表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在Linux中如何查找軟件包版本
RZ/Five Verified Linux 軟件包 V3.0.2-update1 組件列表
![RZ/Five Verified <b class='flag-5'>Linux</b> <b class='flag-5'>軟件包</b> V3.0.2-update1 組件列表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/Five Verified Linux 軟件包 V3.0.2-update1 組件列表
![RZ/Five Verified <b class='flag-5'>Linux</b> <b class='flag-5'>軟件包</b> V3.0.2-update1 組件列表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/Five Verified Linux 軟件包 V3.0.2組件列表
![RZ/Five Verified <b class='flag-5'>Linux</b> <b class='flag-5'>軟件包</b> V3.0.2組件列表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread在線軟件包改為本地軟件包的方法
![RT-Thread在線<b class='flag-5'>軟件包</b>改為本地<b class='flag-5'>軟件包</b>的方法](https://file1.elecfans.com/web2/M00/90/34/wKgaomTV3BWAY_RKAAEC9HeRKXM649.jpg)
RZ/G驗(yàn)證的Linux軟件包V2.1.20-RT組件列表
![RZ/G驗(yàn)證的<b class='flag-5'>Linux</b><b class='flag-5'>軟件包</b>V2.1.20-RT組件列表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/G驗(yàn)證的Linux軟件包V2.1.20-RT 修補(bǔ)程序應(yīng)用指南
![RZ/G驗(yàn)證的<b class='flag-5'>Linux</b><b class='flag-5'>軟件包</b>V2.1.20-RT 修補(bǔ)程序應(yīng)用指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/G驗(yàn)證的Linux軟件包V2.1.20-RT 發(fā)布說明
![RZ/G驗(yàn)證的<b class='flag-5'>Linux</b><b class='flag-5'>軟件包</b>V2.1.20-RT 發(fā)布說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論