主頁(yè) > 知識(shí)庫(kù) > Ubuntu基礎(chǔ)教程之a(chǎn)pt-get命令

Ubuntu基礎(chǔ)教程之a(chǎn)pt-get命令

熱門標(biāo)簽:蕪湖呼叫中心外呼系統(tǒng)哪家強(qiáng) 貴港市機(jī)器人外呼系統(tǒng)團(tuán)隊(duì) ec外呼系統(tǒng)怎么樣 漯河電銷外呼系統(tǒng)價(jià)格 征服者快捷酒店地圖標(biāo)注 咸陽(yáng)穩(wěn)定外呼系統(tǒng)公司 天津外呼系統(tǒng)運(yùn)營(yíng)商 電銷機(jī)器人怎么錄音 貴陽(yáng)語(yǔ)音電銷機(jī)器人

前言

apt-get 命令是 Ubuntu 系統(tǒng)中的包管理工具,可以用來(lái)安裝、卸載包,也可以用來(lái)升級(jí)包,還可以用來(lái)把系統(tǒng)升級(jí)到新的版本。本文介紹 apt-get 命令的基本用法,演示環(huán)境為 Ubuntu 18.04。

基本語(yǔ)法

語(yǔ)法格式:

apt-get [options] command

配置文件:

早期 apt-get 默認(rèn)的配置文件為 /etc/apt/apt.conf,但是當(dāng)前的 Ubuntu 系統(tǒng)中默認(rèn)沒有這個(gè)文件。

如果 /etc/apt/apt.conf 文件存在,apt-get 仍然會(huì)讀取它。但現(xiàn)在的設(shè)計(jì)思路是把配置文件分隔后放置在 /etc/apt/apt.conf.d 目錄下,這樣更容易管理。

常用選項(xiàng):

-h, --help  // 查看幫助文檔
-v, --version  // 查看 apt-get 的版本
-y   // 在需要確認(rèn)的場(chǎng)景中回應(yīng) yes
-s, --dry-run  // 模擬執(zhí)行并輸出結(jié)果
-d, --download-only // 把包下載到緩存中而不安裝
--only-upgrade  // 更新當(dāng)前版本的包而不是安裝新的版本
--no-upgrade  // 在執(zhí)行 install 命令時(shí),不安裝已安裝包的更新
-q, --quiet  // 減少輸出
--purge   // 配合 remove 命令刪除包的配置文件
--reinstall  // 重新安裝已安裝的包或其新版本

常用子命令:

update

update 命令用于重新同步包索引文件,/etc/apt/sources.list 文件中的配置指定了包索引文件的來(lái)源。更新了包索引文件后就可以得到可用的包的更新信息和新的包信息。這樣我們本地就有了這樣的信息:有哪些軟件的哪些版本可以從什么地方(源)安裝。

update 命令應(yīng)該總是在安裝或升級(jí)包之前執(zhí)行。

install

install 命令用來(lái)安裝或者升級(jí)包。每個(gè)包都有一個(gè)包名,而不是一個(gè)完全限定的文件名(例如,在 Debian 系統(tǒng)中,提供的參數(shù)是 apt-utils,而不是 apt-utils_1.6.1_amd64.deb)。被安裝的包依賴的包也將被安裝。配置文件 /etc/apt/sources.list 中包含了用于獲取包的源(服務(wù)器)。install 命令還可以用來(lái)更新指定的包。

upgrade

upgrade 命令用于從 /etc/apt/sources.list 中列出的源安裝系統(tǒng)上當(dāng)前安裝的所有包的最新版本。在任何情況下,當(dāng)前安裝的軟件包都不會(huì)被刪除,尚未安裝的軟件包也不會(huì)被檢索和安裝。如果當(dāng)前安裝的包的新版本不能在不更改另一個(gè)包的安裝狀態(tài)的情況下升級(jí),則將保留當(dāng)前版本。必須提前執(zhí)行 update 命令以便 apt-get 知道已安裝的包是否有新版本可用。

注意 update 與 upgrade 的區(qū)別:

update 是更新軟件列表,upgrade 是更新軟件。

dist-upgrade

除執(zhí)行升級(jí)功能外,dist-upgrade 還智能地處理與新版本包的依賴關(guān)系的變化。apt-get 有一個(gè) "智能" 的沖突解決系統(tǒng),如果有必要,它將嘗試升級(jí)最重要的包,以犧牲不那么重要的包為代價(jià)。因此,distr -upgrade 命令可能會(huì)刪除一些包。因此在更新系統(tǒng)中的包時(shí),建議按順序執(zhí)行下面的命令:

$ apt-get update
$ apt-get upgrade -y
$ apt-get dis-upgrade -y

remove

remove 與 install 類似,不同之處是刪除包而不是安裝包。注意,使用 remove 命令刪除一個(gè)包會(huì)將其配置文件留在系統(tǒng)上。

purge

purge 命令與 remove 命令類似,purge 命令在刪除包的同時(shí)也刪除了包的配置文件。

autoremove

autoremove 命令用于刪除自動(dòng)安裝的軟件包,這些軟件包當(dāng)初是為了滿足其他軟件包對(duì)它的依賴關(guān)系而安裝的,而現(xiàn)在已經(jīng)不再需要了。

download

download 命令把指定包的二進(jìn)制文件下載到當(dāng)前目錄中。注意,是類似 *.deb 這樣的包文件。

clean

clean 命令清除在本地庫(kù)中檢索到的包。它從 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 目錄刪除除鎖文件之外的所有內(nèi)容。

autoclean

與 clean 命令類似,autoclean 命令清除檢索到的包文件的本地存儲(chǔ)庫(kù)。不同之處在于,它只刪除不能再下載的軟件包文件,而且這些文件在很大程度上是無(wú)用的。這允許長(zhǎng)時(shí)間維護(hù)緩存,而不至于大小失控。

source

source 命令下載包的源代碼。默認(rèn)會(huì)下載最新可用版本的源代碼到當(dāng)前目錄中。

changelog

changelog 命令嘗試下載并顯示包的更新日志。

常見用法

查看幫助文檔

$ apt-get -h

更新包索引文件

$ sudo apt-get update

安裝包

$ sudo apt-get install nginx

在需要確認(rèn)的場(chǎng)景中回應(yīng) yes

多數(shù)包在安裝前都需要與用戶交互,在用戶確認(rèn)后才繼續(xù)安裝。而在自動(dòng)化的任務(wù)中是沒辦法與用戶交互的。-y 選項(xiàng)可以在這樣的場(chǎng)景中發(fā)揮作用,其效果就像是用戶確認(rèn)了安裝操作一樣:

$ sudo apt-get install -y nginx

安裝系統(tǒng)中有更新的包

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get dis-upgrade -y

重新安裝已安裝的包

如果我們認(rèn)為一個(gè)包工作不正常,可以嘗試重新安裝它,為 install 命令添加 --reinstall 選項(xiàng)就可以了。另外,如果已安裝的包有了更新或新版本,也可以用這個(gè)方法把包升級(jí)到最新的版本:

$ sudo apt-get install --reinstall curl

更新指定的包

比較奇怪的是更新指定的包居然不是通過(guò) upgrade 命令完成的,而是使用 intall 命令,注意:是 install 命令:

$ sudo apt-get install vim

模擬執(zhí)行命令并輸出結(jié)果

應(yīng)用 -s 選項(xiàng)后命令并不會(huì)真正執(zhí)行,但是會(huì)模擬執(zhí)行并輸出結(jié)果,比如下面的例子:

$ sudo apt-get update
$ sudo apt-get -s upgrade

添加 -s 選項(xiàng)后,upgrade 命令會(huì)輸出將要被更新的軟件但不會(huì)真的執(zhí)行升級(jí)操作。

檢查某個(gè)包的版本

通過(guò)下面的命令可以查看已安裝包或即將安裝包的版本:

$ sudo apt-get -s install vim

下面是一個(gè)已安裝包的例子:

下面是一個(gè)未安裝包的例子:

安裝指定版本的包

注意,這里指的是包的版本號(hào):

$ sudo apt-get install tree=1.7.0-5

把包下載到緩存中而不安裝

選項(xiàng) -d, --download-only 告訴命令只把包下載到緩存中而不安裝它們,主要用在把下載包和安裝包分開的場(chǎng)景,比如系統(tǒng)默認(rèn)的自動(dòng)化更新:

$ sudo apt-get install -d nginx
$ sudo apt-get upgrade -d
$ sudo apt-get dist-upgrade -d

刪除包

remove 命令的特點(diǎn)是只刪除程序文件,保留相關(guān)的配置文件:

$ sudo apt-get remove vim

如果要徹底清除包,可以使用 purge 命令,它會(huì)同時(shí)刪除程序文件及其配置文件:

$ sudo apt-get purge vim

autoremove 命令用于刪除自動(dòng)安裝的軟件包,這些軟件包當(dāng)初是為了滿足其他軟件包對(duì)它的依賴關(guān)系而安裝的,而現(xiàn)在已經(jīng)不再需要了。因此在刪除包后執(zhí)行一下 autoremove 是個(gè)不錯(cuò)的選擇:

$ sudo apt-get autoremvoe

清除系統(tǒng)中緩存的包安裝文件

安裝包的過(guò)程實(shí)際上是先把包安裝文件下載到緩存目錄,然后執(zhí)行安裝。久而久之系統(tǒng)中會(huì)存在大量無(wú)用的包安裝文件,clean 命令可以清除這些緩存的包安裝文件:

$ sudo apt-get clean

clean 命令從 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 目錄刪除除鎖文件之外的所有內(nèi)容。

autoclean 命令與 clean 命令類似。不同之處在于,它只刪除不能再下載的軟件包文件,而且這些文件在很大程度上是無(wú)用的。這允許長(zhǎng)時(shí)間維護(hù)緩存,而不至于大小失控:

$ sudo apt-get autoclean

在執(zhí)行 remove 命令時(shí)使用 --purge 選項(xiàng)的效果等同于執(zhí)行 purge 命令:

$ sudo apt-get remove --purge vim

在執(zhí)行 install/remove 命令時(shí)使用 --autoremove 選項(xiàng),可以同時(shí)刪除無(wú)用的依賴包,類似在執(zhí)行完 install/remove 命令后再執(zhí)行一次 autoremove 命令:

$ sudo apt-get remove --autoremove vim

在執(zhí)行 install/upgrade 命令時(shí)顯示更詳細(xì)的版本信息

通過(guò) -V 選項(xiàng),可以讓 install/upgrade 命令輸出包的具體版本,下面是默認(rèn)的輸出:

$ sudo apt-get upgrade -s

下面是添加 -V 選項(xiàng)后的輸出:

$ sudo apt-get upgrade -V -s

減少輸出

既然可以增加詳細(xì)的輸出信息,也可以靈活地使用 -q 選項(xiàng)來(lái)減少輸出的信息:

$ sudo apt-get install -q curl
$ sudo apt-get install -q=2 curl

查看已安裝包的更改日志

可以通過(guò) changelog 命令來(lái)查看包的更新記錄:

$ apt-get changelog tree

下載包的源代碼(source code)

apt-get source 命令用來(lái)下載包的源代碼。要讓 apt-get source 命令起作用需要先更新 /etc/apt/sources.list 文件,添加 deb-src 配置,其實(shí)就是取消掉原本被注釋掉的以 deb-src 開頭的行。在 desktop 版的系統(tǒng)中,還可以通過(guò) "Software & Updates" UI 來(lái)做同樣的事情,在 "Ubuntu Software" 選項(xiàng)卡中選中 "Source code" 項(xiàng)即可:

現(xiàn)在再執(zhí)行 apt-get source 命令并指定包的名稱,就可以下載到該包的源代碼了:

$ apt-get source tree

查看 apt-get 的版本

$ apt-get -v

這里顯示的居然是 apt,太奇葩了!接著看:

原來(lái) apt-get、apt-cache 和 apt-config 的功能都是由 apt 命令提供的。

查看系統(tǒng)的更新記錄

日志文件 /var/log/apt/history.log 記錄了系統(tǒng)的更新歷史記錄。通過(guò)它可以查看所有通過(guò) apt 命令執(zhí)行的安裝、升級(jí)、刪除記錄:

$ less /var/log/apt/history.log

參考:

apt-get man page

apt.conf man page

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:攀枝花 西寧 濰坊 東營(yíng) 淮北 怒江 香港 西藏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ubuntu基礎(chǔ)教程之a(chǎn)pt-get命令》,本文關(guān)鍵詞  Ubuntu,基礎(chǔ),教程,之,apt-get,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ubuntu基礎(chǔ)教程之a(chǎn)pt-get命令》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Ubuntu基礎(chǔ)教程之a(chǎn)pt-get命令的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章