Linux软件管理器(如何使用软件管理器来管理软件)
我們使用的是Linux廠商的系統(tǒng),即我們的系統(tǒng)和他們的系統(tǒng)是一樣的,所以他們編譯的軟件我們當(dāng)然可以用。
在安裝軟件的時(shí)候可以添加一些有關(guān)軟件的一些信息,將這些信息新建成數(shù)據(jù)庫(kù),那么就可以進(jìn)行卸載、更新和驗(yàn)證等相關(guān)操作了。(類似于windows下面的添加或刪除程序)
? ? ? ?兩種常見(jiàn)的軟件管理機(jī)制:RPM( RedHat Package Manager)和DPKG
distribution代表 軟件管理機(jī)制 使用命令 在線升級(jí)機(jī)制(命令)(可以用來(lái)解決依賴問(wèn)題)RedHat/Fedora RPM rpm,rpmbuild YUM(yum)Debian/Ubuntu DPKG dpkg APT(apt-get)RedHat、Fedora、Centos、SuSE等發(fā)行商使用的RPM機(jī)制;Debian、B2D、Ubuntu(派生于Debian,所以可以用于Debian想用的機(jī)制)使用的是DPKG。?
橫向比較:rpm/dpkg 不能用來(lái)解決包依賴,用來(lái)安裝、卸載、更新?*.rpm 或者 *.ded?文件
RPM:RedHat Package Manager,?
以一種數(shù)據(jù)庫(kù)記錄方式安裝軟件的一套管理機(jī)制。?
RPM最大的一個(gè)特點(diǎn)就是將要安裝的軟件先編譯好并打包成RPM機(jī)制的安裝包,通過(guò)包裝好的軟件中默認(rèn)的數(shù)據(jù)庫(kù)記錄這個(gè)軟件的依賴的軟件。?
優(yōu)點(diǎn):?
- 已經(jīng)編譯且打包完畢,所以軟件的傳輸和安裝都很方便。(省去了編譯源碼的麻煩)?
- 軟件的 信息都已記錄在數(shù)據(jù)庫(kù)中方便查詢、升級(jí)、卸載等操作。?
缺點(diǎn):?
- RPM文件已經(jīng)是編譯好的文件,那么其中的數(shù)據(jù)就無(wú)法修改了。該軟件只能安裝在原本默認(rèn)的環(huán)境(硬件和操作系統(tǒng))中,也就是說(shuō)你的主機(jī)系統(tǒng)要和當(dāng)初建立這個(gè)軟件的主機(jī)環(huán)境相同。?
- 所以,一個(gè)發(fā)行商的RPM文件不能用在另一個(gè)不相同的發(fā)行商的系統(tǒng)上。比如說(shuō),RedHat推出的RPM無(wú)法直接SuSE上進(jìn)行安裝。并且,很可能同一個(gè)發(fā)行商的不同版本的系統(tǒng)之間的RPM包也是無(wú)法兼容的,例如,Centos4.x的RPM包無(wú)法直接應(yīng)用在Centos5.x上?
總結(jié):要想使用相同的RPM包最好做到:1、同一個(gè)系統(tǒng)的發(fā)行商的RPM 2、同一個(gè)發(fā)行商的系統(tǒng)版本最好也是相同的 3、最好是完全相同的一個(gè)系統(tǒng)
- 軟件的安裝環(huán)境必須和當(dāng)初編譯該軟件的機(jī)器的環(huán)境是一樣的或者時(shí)候相當(dāng)?shù)?/li>
- 需要滿足依賴關(guān)系
- 卸載的時(shí)候特別是不能先刪除最底層的軟件,否則可能造成系統(tǒng)出問(wèn)題
apt-get:?
jack@jackvirtual:~$sudo apt-get install packagename #這里是安裝packagename這個(gè)軟件,當(dāng)使用這個(gè)命令的時(shí)候系統(tǒng)會(huì)去“下載源”文件中獲取下載源地址然后去指定的地方下載軟件
幾個(gè)命令:?
-dbkg:?這里詳細(xì)的介紹了dbkg的15個(gè)用法
- dbkg -i packagename #安裝或者更新某個(gè)軟件,如果這個(gè)包沒(méi)有下載的話那么就會(huì)保存,所以可以先使用wget命令下載下來(lái).deb軟件
? ? ? wget http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.228-0maverick1_amd64.deb -O flashplugin.deb
- 這里將下載下來(lái)的軟件包重命名為flashplugin.deb,然后使用sudo dpkg -i flashplugin.deb安裝這個(gè)軟件- [flashplugin.deb的地址](http://archive.canonical.com/pool/partner/a/adobe-flashplugin/)- dpkg -l #列出所有安裝的軟件- dpkg -r `packagename_without_.deb`#卸載軟件軟件,這里的軟件名不帶后綴- dpkg -R --install directory/ #安裝direcory目錄下的所有的*.deb軟件當(dāng)提示有依賴錯(cuò)誤時(shí):apt-get -f -y install,之后再運(yùn)行dpkg -i *.deb進(jìn)行安裝- apt-get:[apt-get的介紹和用法](http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/)- sudo apt-get install packagename1 packagename2 #安裝或者升級(jí)一個(gè)或多個(gè)軟件- `sudo apt-get install '*name*'` #使用通配符安裝軟件- sudo apt-get install packageName --only-upgrade #指定的軟件升級(jí)- sudo apt-get install packageName --no-upgrade #不升級(jí)已經(jīng)安裝的軟件- sudo apt-get install vsftpd=2.5.3-3ubuntu #安裝指定版本的軟件- sudo apt-get remove packageName #移除指定的軟件且不刪除其配置文件- sudo apt-get purge packageName #移除指定文件且刪除其配置文件,完全刪除了這個(gè)文件- sudo apt-get remove --purge packageName #跟上面的命令一樣- sudo apt-get --download-only source vsftpd #只下載指定軟件的源碼- sudo apt-get --compile source goaccess #下載、解壓、編譯源碼一氣呵成- sudo apt-get source vsftpd #下載并解壓一個(gè)包- sudo apt-get download nethogs #只下載不安裝- sudo apt-get upgrade #升級(jí)所有已經(jīng)安裝的軟件- sudo apt-cache pkgnames#列出所有available軟件原文鏈接:http://blog.csdn.net/u010378878/article/details/51675506總結(jié)
以上是生活随笔為你收集整理的Linux软件管理器(如何使用软件管理器来管理软件)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vue 递归实现树形结构
- 下一篇: js返回上一页并刷新代码整理