日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux软件包管理(dpkg、rpm)与软件源的由来(apt、yum、Yast)

發(fā)布時(shí)間:2025/3/21 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux软件包管理(dpkg、rpm)与软件源的由来(apt、yum、Yast) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章補(bǔ)充與總結(jié):

ubuntu中dpkg與apt的關(guān)系:

dpkg繞過apt包管理數(shù)據(jù)庫對軟件包進(jìn)行操作,所以你用dpkg安裝過的軟件包用apt可以再安裝一遍,系統(tǒng)不知道之前安裝過了,將會(huì)覆蓋之前dpkg的安裝。dpkg是用來安裝.deb文件,但不會(huì)解決模塊的依賴關(guān)系,且不會(huì)關(guān)心ubuntu的軟件倉庫內(nèi)的軟件,可以用于安裝本地的deb文件

apt會(huì)解決和安裝模塊的依賴問題,并會(huì)咨詢軟件倉庫, 但不會(huì)安裝本地的deb文件, apt是建立在dpkg之上的軟件管理工具

aptitude?apt-get?一樣,是?Debian?及其衍生系統(tǒng)***能極其強(qiáng)大的包管理工具。與?apt-get?不同的是,aptitude在處理依賴問題上更佳一些。舉例來說,aptitude在刪除一個(gè)包時(shí),會(huì)同時(shí)刪除本身所依賴的包。這樣,系統(tǒng)中不會(huì)殘留無用的包,整個(gè)系統(tǒng)更為干凈。


ubuntu中軟件源指的是什么:

源是指線上軟件倉庫,它解決了我們通過本地軟件管理命令(rpm、dpkg)的包依賴問題,我們可以在ubuntu下使用apt命令集安裝源里的軟件(opensuse 上用zyper,redhat用yum),他可以直接幫我們安裝好所依賴的軟件包。如果下載源碼包,自行編譯或者使用dpkg或rpm安裝.deb或.rpm的軟件包安裝好之后可能會(huì)因?yàn)槿鄙僖蕾嚢鴮?dǎo)致軟件無法運(yùn)行或者運(yùn)行失敗。

ubuntu源列表文件存放位置: /etc/apt/sources.list


Linux界的兩大主流: RPM與DPKG


?

由于自由軟體的蓬勃發(fā)展,加上大型Unix-Like 主機(jī)的強(qiáng)大效能,讓很多軟體開發(fā)者將他們的軟體使用Tarball 來釋出。后來Linux 發(fā)展起來后,由一些企業(yè)或社群將這些軟體收集起來制作成為distributions 以發(fā)布這好用的Linux 作業(yè)系統(tǒng)。但后來發(fā)現(xiàn)到,這些distribution 的軟體管理實(shí)在傷腦筋, 如果軟體有漏洞時(shí),又該如何修補(bǔ)呢?使用tarball 的方式來管理嗎? 又常常不曉得到底我們安裝過了哪些程式?因此,一些社群與企業(yè)就開始思考Linux 的軟體管理方式。

?

如同剛剛談過的方式,Linux 開發(fā)商先在固定的硬體平臺(tái)與作業(yè)系統(tǒng)平臺(tái)上面將需要安裝或升級的軟體編譯好, 然后將這個(gè)軟體的所有相關(guān)檔案打包成為一個(gè)特殊格式的檔案,在這個(gè)軟體檔案內(nèi)還包含了預(yù)先偵測系統(tǒng)與相依軟體的腳本, 并提供記載該軟體提供的所有檔案資訊等。最終將這個(gè)軟體檔案釋出。 用戶端取得這個(gè)檔案后,只要透過特定的指令來安裝,那么該軟體檔案就會(huì)依照內(nèi)部的腳本來偵測相依的前驅(qū)軟體是否存在,若安裝的環(huán)境符合需求,那就會(huì)開始安裝 ,安裝完成后還會(huì)將該軟體的資訊寫入軟體管理機(jī)制中,以達(dá)成未來可以進(jìn)行升級、移除等動(dòng)作呢。

?

目前在Linux 界軟體安裝方式最常見的有兩種,分別是:

  • dpkg
    這個(gè)機(jī)制最早是由Debian Linux 社群所開發(fā)出來的,透過dpkg 的機(jī)制, Debian 提供的軟體就能夠簡單的安裝起來,同時(shí)還能提供安裝后的軟體資訊,實(shí)在非常不錯(cuò)。只要是衍生于Debian 的其他Linux distributions 大多使用dpkg 這個(gè)機(jī)制來管理軟體的, 包括B2D, Ubuntu 等等。

  • RPM
    這個(gè)機(jī)制最早是由Red Hat 這家公司開發(fā)出來的,后來實(shí)在很好用,因此很多distributions 就使用這個(gè)機(jī)制來作為軟體安裝的管理方式。包括Fedora, CentOS, SuSE 等等知名的開發(fā)商都是用這咚咚。

如前所述,不論dpkg/rpm 這些機(jī)制或多或少都會(huì)有軟體屬性相依的問題,那該如何解決呢?其實(shí)前面不是談到過每個(gè)軟體檔案都有提供相依屬性的檢查嗎? 那 么如果我們將相依屬性的資料做成列表, 等到實(shí)際軟體安裝時(shí),若發(fā)生有相依屬性的軟體狀況時(shí),例??如安裝A 需要先安裝B 與C ,而安裝B 則需要安裝D 與E 時(shí),那么當(dāng)妳要安裝A ,透過相依屬性列表,管理機(jī)制自動(dòng)去取得B, C, D, E 來同時(shí)安裝, 不就解決了屬性相依的問題嗎?

?

沒錯(cuò)! 您真聰明! 目前新的Linux 開發(fā)商都有提供這樣的『線上升級』機(jī)制,透過這個(gè)機(jī)制, 原版光碟就只有第一次安裝時(shí)需要用到而已,其他時(shí)候只要有網(wǎng)路,妳就能夠取得原本開發(fā)商所提供的任何軟體了呢!在dpkg 管理機(jī)制上就開發(fā)出APT 的線上升級機(jī)制,RPM 則依開發(fā)商的不同,有Red Hat 系統(tǒng)的yum , SuSE 系統(tǒng)的Yast Online Update (YOU), Mandriva 的urpmi 軟體等。

distribution 代表軟體管理機(jī)制使用指令線上升級機(jī)制(指令)
Red Hat/FedoraRPMrpm, rpmbuildYUM (yum)
Debian/UbuntuDPKGdpkgAPT (apt-get)

我們這里使用的是CentOS 系統(tǒng)嘛! 所以說: 使用的軟體管理機(jī)制為RPM機(jī)制,而用來作為線上升級的方式則為yum底下就讓我們來談?wù)凴PM 與YUM 的相關(guān)說明吧!

?

RPM與DPKG

目前市面上大部分的Linux distro都是根基于Red Hat及Debian這兩大廠牌的改裝(SuSE是一個(gè)異類)??。因此在套件管理上,Red Hat的RPM與Debian的DPKG就成為Linux套件管理上的兩大標(biāo)準(zhǔn)。

?

這邊也不討論類Unix作業(yè)系統(tǒng)在套件管理(軟體的安裝,移除,查詢)上所持的哲學(xué)與一般人常用的MS Windows系列有很大的不同而衍生出的困難了,直接就這兩個(gè)套件管理工具列出比較以利查詢。

?

以下整理列表來自Jamyy's Weblog :

?

安裝

目的rpm 用法dpkg 用法
安裝指定套件rpm -i pkgfile.rpmdpkg -i pkgfile.deb

查詢

目的rpm 用法dpkg 用法
顯示所有已安裝的套件名稱rpm -qadpkg -l (小寫L)
顯示套件包含的所有檔案rpm -ql softwarename (小寫L)dpkg -L softwarename
顯示特定檔案所屬套件名稱rpm -qf /path/to/filedpkg -S /path/to/file
查詢套件檔案資訊rpm -qip pkgfile.rpm (顯示套件資訊)
rpm -qlp pkgfile.rpm (小寫L,顯示套件內(nèi)所有檔案)
dpkg -I pkgfile.deb (大寫I )
dpkg -c pkgfile.deb
顯示指定套件是否安裝rpm -q softwarename (只顯示套件名稱)
rpm -qi softwarename (顯示套件資訊)
dpkg -l softwarename (小寫L,只列出簡潔資訊)
dpkg -s softwarename (顯示詳細(xì)資訊)
dpkg -p softwarename (顯示詳細(xì)資訊)

移除

目的rpm 用法dpkg 用法
移除指定套件rpm -e softwarenamedpkg -r softwarename (會(huì)留下套件設(shè)定檔)
dpkg -P softwarename (完全移除)

在Debian使用alien處理RPM套件

alien 可處理.deb、.rpm、.slp、.tgz 等檔案格式, 進(jìn)行轉(zhuǎn)檔或安裝.
于Debian安裝非Debian套件時(shí),可使用alien進(jìn)行安裝.
安裝alien套件: apt-get install alien

  • 在Debian安裝RPM套件: alien -i quota-3.12-7.i386.rpm
  • 制作成deb的套件格式: alien -d quota-3.12-7.i386.rpm
  • 制作成rpm的套件格式: alien -r quota_3.12-6_i386.deb

?

APT與YUM

雖然RPM與DPKG有效的解決的軟體的安裝,移除與查詢的需求,但是在Linux上的套件管理還有一個(gè)很大的問題必須解決,就是各軟體間的相依性(dependency)。RPM與DPKG只能做到檢查相依性,在安裝或移除時(shí)告知相依性的不滿足,皆下來就需要使用者自行去找出所需的套件來安裝。這樣的確是有點(diǎn)不方便,因此產(chǎn)生了前端工具軟體- APT及YUM。

?

?

APT

Debian開發(fā),目前也有porting到其他版本,要在Red Hat系的Fedora或CentOS使用也是可以的。

使用方法:

  • 編輯/etc/apt/sources.list ,設(shè)定所選用的版本,如stable,testing,unstable及套件來源站臺(tái)或裝置。檔案詳細(xì)設(shè)定請參考: 了解Debian系統(tǒng)的哲學(xué)
  • 基本指令:
apt-setup設(shè)定/etc/apt/souces.list
apt-get update軟體資料庫同步
apt-get install softwarename1 [softwarename2.....]安裝軟體
apt-get remove softwarename 1 [softwarename 2...]移除軟體(保留設(shè)定檔)
apt-get --purge remove softwarename 1 [ softwarename 2...]移除軟體(不保留設(shè)定檔)
apt-cache search softwarename列出所有sofrwarename的套件
apt-upgrade [softwarename 1softwarename 2...]更新套件,不指定套件名則更新所有可更新的套件
apt-get clean(autoclean)刪除系統(tǒng)暫存的deb(autoclean只會(huì)將比目前系統(tǒng)舊版的套件刪除)
apt-get dist-upgrade轉(zhuǎn)換系統(tǒng)的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

?

?

YUM

YUM(Yellow dog Updater, Modified )是Yellow Dog Linux開發(fā)的。Yellow Dog Linux原本是一套完全源于Red Hat但運(yùn)作于先前使用IBM PPC平臺(tái)的MAC機(jī)器,原本以為這個(gè)版本已經(jīng)消失,沒想到最新消息是他們推出了在Sony PS3上面運(yùn)作的版本。CentOS及Fedora的基本預(yù)設(shè)安裝中即將YUM列入其內(nèi)。 如果沒記錯(cuò),要在Debian上使用YUM也是可以的。

使用方法:

  • 編輯/etc/yum.conf檔案詳細(xì)設(shè)定請參考: 簡易APT/YUM伺服器設(shè)定注1
  • 基本指令: (如果yum在工作過程中需要使用者回應(yīng),可加上-y參數(shù)直接回答yes )
yum install softwarename1 [softwarename2.....]安裝套件
yum update [softwarename 1softwarename 2...]更新套件,不指定套件名則更新所有可更新的套件
yum list列出目前在yum server 上面有的套件
yum info類似rpm -qi
yum clean移除下載到本機(jī)的packages 或headers
yum remove softwarename1 [softwarename2.....]移除已經(jīng)安裝的套件

注1:Red Hat近年來致力于將一個(gè)設(shè)定檔切割成很多小設(shè)定檔。 以yum.conf為例,Red Hat將其分割成xxx.repo檔放置在/etc/yum.repos.d這個(gè)目錄下。 并在yum.conf檔里增加一行注解: PUT YOUR REPOS HERE OR IN separate files named file.repo in /etc/yum.repos.d。個(gè)人可視喜好決定。

?

參考文件:

  • 鳥哥的Linux與ADSL私房菜: 簡易APT/YUM伺服器設(shè)定
  • Debian無痛起步法: 了解Debian系統(tǒng)的哲學(xué)
  • Jamyy's Weblog: rpm vs. dpkg常用參數(shù)對照
  • 原文地址:http://justcoding.iteye.com/blog/1937171

    總結(jié)

    以上是生活随笔為你收集整理的linux软件包管理(dpkg、rpm)与软件源的由来(apt、yum、Yast)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产一区二区在线免费观看 | 精品亚洲一区二区三区四区五区 | 久草精品在线观看 | 日韩欧美在线一区二区 | 久久综合在线 | free性护士vidos猛交 | 亚洲天堂一级片 | 婷婷色综合 | 91福利网| 亚洲91精品 | 轻点好疼好大好爽视频 | 国产卡一卡二卡三无线乱码新区 | 妺妺窝人体色www聚色窝仙踪 | 国产九九九精品 | 日韩极品视频 | 国产 欧美 日韩 | 精品国产色| 性生交生活片1 | 一级色网站 | xxx日韩| 蜜桃色av| 91精品国产电影 | 香蕉毛片| 波多野结衣网站 | 日本艳妇| 国产婷婷一区二区三区 | 特黄特色大片免费播放器使用方法 | 中国美女黄色 | 国内一区二区三区 | 久久国语 | 亚洲精品字幕在线 | 在线免费观看黄色 | 黄色国产一区二区 | 91在线导航 | 色欲色香天天天综合网www | 国产成人av一区二区三区不卡 | 户外露出一区二区三区 | 精品一区欧美 | 两女双腿交缠激烈磨豆腐 | 国产精品久久久久久无人区 | 色中文字幕在线观看 | 国产国产乱老熟女视频网站97 | 精品香蕉一区二区三区 | 国产精品婷婷午夜在线观看 | 久久有精品 | 激情丁香婷婷 | 操日本老妇| 茄子av在线 | 成人激情片 | 国产一区二区黑人欧美xxxx | 亚洲字幕av一区二区三区四区 | 黄色片网站在线看 | 久热只有精品 | 一本色道久久hezyo加勒比 | 日韩少妇内射免费播放 | 免费看的av网站 | 国产一二在线 | 日韩欧美国产精品综合嫩v 国产小毛片 | 欧美精品久久久久久久多人混战 | 欧美亚洲综合在线 | 搞逼综合网 | 一区二区三区毛片 | 欧美性一级 | 国产精品日日摸天天碰 | 丰满少妇在线观看资源站 | 日日干日日草 | 日本夫妻性生活视频 | 伊人小视频 | 伊人春色网 | 国产suv精品一区二区6 | 9久久精品 | 成人一级黄色 | www午夜| 久久不射网站 | 在线成人一区 | 阿v天堂2018 俄罗斯丰满熟妇hd av色吧 | 我要操av| 极品蜜桃臀肥臀-x88av | 久久久久国色av免费观看性色 | 亚洲精品一区二区三区四区 | 国产一卡二卡三卡四卡 | 神马久久久久久久久久 | 国产一区激情 | 国产伦理一区二区三区 | 91视频综合网 | 丁香花免费高清完整在线播放 | 一区二区日韩欧美 | 亲切的金子片段 | 亚洲欧洲在线播放 | 又黄又免费的视频 | 亚洲深夜福利 | 蜜桃aaa| 国产成人免费看一级大黄 | 亚洲欧美小视频 | 亚洲 欧美 激情 另类 | av在线播放器 | 成人午夜影院在线观看 | 少妇一级淫免费播放 | 久久av一区二区三区亚洲 |