Apt get 邊看邊記

2021-03-31 08:56:59 字數 2162 閱讀 3158

基於 beret, an apt-get primer, http://.linux.***/article.pl?sid=04/12/03/177243 但不是完全翻譯,並且有所補充,算是一篇比較入門的有關 debian 的 apt 的文章吧啊。

apt-get 在debian專案中的地位是無可替代的,如果說有乙個程式可以代表debian ,那毫無疑問,是 apt-get,apt-get和deb包提供了 rpm 所無法提供的強大功能。

除了apt的便捷以外,apt-get的一大好處是極大地減小了所謂依賴關係惡夢的發生 機率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的 援助手段,幫你逃出魔窟。

軟體包都是為某乙個基本的debian發布版所準備的(從unstable到stable),並且劃 分到不同類別中(如 main contrib nonfree),這個是依據 debian 自由軟體綱領而 劃分的(也就是常說的dfsg),因為美國限制加密軟體出口,還有乙個non-us類別。

apt-get 獲取軟體包所依賴的配置檔案 /etc/apt/sources.list 中的設定編寫格式 是

deb [server-type] [address] [directories] [areas]
文中例子:
deb http://mirror.peer1.***/debian main contrib non-free
我在學校的時候的例子
deb http://debian.ustc.edu.**/debian/ testing main contrib non-free
如果用deb-src 而不是 deb 的話,那麼就是指的源**包。通常都會使用http和f tp方式獲取檔案,不過也可以使用本地檔案,更罕見的還有rsh和ssh,但都是可以 的。使用 ***select-apt 可以用來判斷哪個映象更快。修改了映象資訊後,應該使 用apt-get update 命令,更新軟體包的資訊

你可以從debian **上看軟體包的相關資訊,而另一方面可以使用 dpkg -l 看哪 些軟體包已經被安裝了。很大的程式,比如gnome,通常有個空的軟體包,只是通過 依賴關係來安裝其他所有的相應的軟體,而這些軟體也可以被逐一安裝。

使用 apt-get install [package-name] 就可以安裝軟體包了,這裡不需要版本號,apt-get 會自動選擇最新的。如果最新 的已經被安裝了,那麼就不會安裝了。如果希望安裝乙個較老的版本,可以選擇版 本,比如

apt-get install gimp=2.2
你也可以選擇特定的發布版apt-get install -t unstable gimp

執行之前,apt-get 會列出有多少軟體包要被安裝、公升級,如果要被安裝的軟體不 只是你所指出的軟體包,那麼它會問你是否繼續。可以使用 -s 來看看執行的結果 (注: 不知道這個是怎麼**的,沒試過)

apt-get 安裝過程中,會顯示安裝的狀況,有時 apt-get 會根據軟體包的需求呼叫 debconf 來讓使用者輸入一些配置選項。這個配置一般都是一些選擇,通常選擇預設 情況都可以,也可以使用 --yes 來宣告,全部使用預設選項,無需提問。(注:如果使用cron來每天自動更新系統,這個選項還是挺有用的,雖然總覺得有點害怕吧。)

apt-get 的 upgrade 不會安裝新的軟體包,只會公升級原有的軟體包的版本,要公升級 整個系統,可能要安裝新的軟體包,這可以通過 dist-upgrade 完成,比如公升級 s table到testing,建議要公升級 stable 到 unstable,先公升級到 testing,以減小風 險。

也可以使用 remove 命令刪除軟體包。(注:如果要連配置檔案也一起刪 除,需要使用 --purge 引數)

有時也會出問題,可以用下面一些辦法解決:

當然,如果你的技巧和耐心不夠的話,還是小心使用系統吧,正常的使用通常不會 造成很多需要解決的問題 :)

多年以來,apt-get 有了很多前端,除了商業版本外,其他的都可以通過 apt-get 來安裝。文字介面下,aptitude 還不錯,瀏覽軟體包比較方便。對於圖形介面 synaptic 是個不錯的選擇,比較原汁原味的 apt,而 kpachage 就不那麼像 apt 了。

大部分的桌面用 linux 版本都有摒棄命令列的傾向,不過,apt-get 是乙個 命令 行是最好的 的特例。它的存在正是那些基於 debian 的系統大行其到的原因。而且 apt-get 甚至已經被移植到 rpm 系統之中了。

NIO邊看邊記 之 channel(二)

通道channel就像流。通道中的資料總是先讀到到buffer中 對於buffer來說是乙個寫操作 再從buffer中寫到另乙個通道總 相對於buffer來說是乙個讀操作 channel主要分為兩類 檔案channel和網路channel,細分為4種。filechanel 從普通檔案中讀寫資料 da...

NIO邊看邊記 之 管道Pipe(十一)

nio支援管道操作。管道模型如下所示 管道通常用來兩個執行緒來傳輸資料。其中sinkchannel用於往pipe中寫資料,sourcechannel用於從pipe中讀資料。1.建立管道 pipe pipe pipe.open 2.寫管道 pipe.sinkchannel sinkchannel pi...

邊看邊理解Spring day2

1 快取bean是為了可能會有迴圈引用的情況?2 業務邏輯處理採用aop思想 prehandler handler posthandler 3 單例快取 private final mapsingletonobjects new concurrenthashmap 256 單例例項快取 4 連續兩次...