Linux中國

Camicri Cube: 可離線的便攜包管理系統

眾所周知,在系統中使用新立得包管理工具或軟體中心下載和安裝應用程序的時候,我們必須得有互聯網連接。但,如果您剛好沒有網路或者是網路速度死慢死慢的呢?在您的 Linux 桌面系統中使用軟體中心包管理工具來安裝軟體絕對是一個頭痛的問題。反而,您可以從相應的官網上手工下載應用程序包並手工安裝。但是,大多數的 Linux 用戶並不知道他們希望安裝的應用程序所需要的依賴關係包。如果您恰巧出現這種情況,應用怎麼辦呢?現在一切都不用擔心了。今天,我們給您介紹一款非常棒的名叫 Camicri Cube離線包管理工具。

您可以把此包管理工具裝在任何聯網的系統上,下載您所需要安裝的軟體列表,然後把它們安裝到沒聯網的機器上,就可以安裝了。聽起來很不錯吧?是的,它就是這樣操作的。Cube 是一款像新立得和 Ubuntu 軟體中心這樣的包管理工具,但是一款攜帶型的。它在任何平台(Windows 系統、基於 Apt 的 Linux 發布系統)、在線狀態、離線狀態、在快閃記憶體或任何可移動設備上都是可以使用和運行的。我們這個實驗項目的主要目的是使處在離線狀態的 Linux 用戶能很容易的下載和安裝 Linux 應用程序。

Cube 會收集您的離線電腦的詳細信息,如操作系統的詳細信息、安裝的應用程序等等。然後使用 USB 迷你盤對 cube 應用程序進行拷貝,得到一副本,把其放在其它有網路連接的系統上使用,接著就可以下載您需要的應用程序列表。下載完所有需要的軟體包之後,回到您原來的計算機,並開始安裝。Cube 是由 Jake Capangpangan 開發和維護的,是用 C++ 語言編寫,而且已經集成了所有必須的包。因此,使用它並不需要再安裝任何額外的軟體。

安裝

現在,讓我們下載 Cube 程序包,然後在沒有網路連接的離線系統上進行安裝。既可以從官網主站頁面下載,也可以從Sourceforge 網站下載。要確保下載的版本跟您的離線計算機架構對應的系統相匹配。比如我使用的是64位的系統,就要下載64位版本的安裝包。

wget http://sourceforge.net/projects/camicricube/files/Camicri%20Cube%201.0.9/cube-1.0.9.2_64bit.zip/

對此 zip 文件解壓,解壓到 home 目錄或者著是您想放的任何地方:

unzip cube-1.0.9.2_64bit.zip

這就好了。接著,該是知道怎麼使用的時候了。

使用

這兒,我使用的是兩台裝有 Ubuntu 系統的機器。原機器(離線-沒有網路連接)上面跑著的是 Ubuntu 14.04 系統,有網路連接的機器跑著的是 Lubuntu 14.04 桌面系統。

離線系統上的操作步驟:

在離線系統上,進入已經解壓的 Cube 文件目錄,您會發現一個名叫 「cube-linux」 的可執行文件,雙擊它,並點擊執行。如果它是不可執行的,用如下命令設置其可執行許可權。

sudo chmod -R +x cube/

然後,進入 cube 目錄,

cd cube/

接著執行如下命令來運行:

./cube-linux

輸入項目的名稱(比如sk)然後點擊創建按紐。正如我上面提到的,這將會創建一個與您的系統相關的完整詳細信息的新項目,如操作系統的詳細信息、安裝的應用程序列表、庫等等。

如您所知,我們的系統是離線的,意思是沒有網路連接。所以我點擊取消按紐來跳過資源庫的更新過程。隨後我們會在一台有網路連接的系統上更新此資源庫。

再一次,在這台離線機器上我們點擊 No 來跳過更新,因為我們沒有網路連接。

就是這樣。現在新的項目已經創建好了,它會保存在我們的主 cube 目錄裡面。進入 Cube 目錄,您就會發現一個名叫 Projects 的目錄。這個目錄會保存有您的離線系統的必要完整詳細信息。

現在,關閉 cube 應用程序,然後拷貝整個主 cube 文件夾到任何的快閃記憶體盤裡,接入有網路連接的系統。

在線系統上操作步驟:

往下的操作步驟需要在有網路連接的系統上進行。在我們的例子中,用的是 Lubuntu 14.04 系統的機器。

跟在源機器上的操作一樣設置使 cube 目錄具有可執行許可權。

sudo chmod -R +x cube/

現在,雙擊 cube-linux 文件運行應用程序或者也可以在終端上載入運行,如下所示:

cd cube/
./cube-linux

在窗口的 「Open Existing Projects」 部分會看到您的項目列表,選擇您需要的項目。

隨後,cube 會詢問這是否是您的項目所在的源機器。它並不是我的源(離線)機器,所以我點擊 No

接著會詢問是否想要更新您的資源庫。點擊 OK 來更新資料庫。

下一步,我們得更新所有過期的包/應用程序。點擊 Cube 工具欄上的 「Mark All updates」 按紐。然後點擊 「Download all marked」 按紐來更新所有過期的包/應用程序。如下截圖所示,在我的例子當中,有302個包需要更新。這時,點擊 OK 來繼續下載所標記的安裝包。

現在,Cube 會開始下載所有已標記的包。

我們已經完成了對資料庫和安裝包的更新。此時,如果您在離線系統上還需要其它的安裝包,您也可以下載這些新的安裝包。

下載新的應用程序

例如,現在我想下載 apache2 包。在搜索框里輸入包的名字,點擊搜索按紐。Cube 程序會獲取您想查找的應用程序的詳細信息。點擊 「Download this package now」按紐,接著點擊 OK 就開始下載了。

Cube 將會下載 apache2 的安裝包及所有的依賴包。

如果您想查找和下載更多安裝包的話,只要簡單的點擊 「Mark this package」 按紐就可以搜索到需要的包了。只要您想在源機器上安裝的包都可以標記上。一旦標記完所有的包,就可以點擊位於頂部工具欄的 「Download all marked」 按紐來下載它們。

在完成資源庫、過期軟體包的更新和下載好新的應用程序後,就可以關閉 Cube 應用程序。然後,拷貝整個 Cube 文件夾到任何的閃盤或者外接硬碟。回到您的離線系統中來。

離線機器上的操作步驟:

把 Cube 文件夾拷回您的離線系統的任意位置。進入 cube 目錄,並且雙擊 cube-linux 文件來載入啟動 Cube 應用程序。

或者,您也可以從終端下啟動它,如下所示:

cd cube/
./cube-linux

選擇您的項目,點擊打開。

然後會彈出一個對話框詢問是否更新系統,尤其是已經下載好新的資源庫的時候,請點擊「是」。因為它會把所有的資源庫傳輸到您的機器上。

您會看到,在沒有網路連接的情況下這些資源庫會更新到您的離線機器上。那是因為我們已經在有網路連接的系統上下載更新了此資源庫。看起來很酷,不是嗎?

更新完資源庫後,讓我們來安裝所有的下載包。點擊 「Mark all Downloaded」 按紐選中所有的下載包,然後點擊 Cube 工具欄上的 「Install All Marked」 按紐來安裝它們。Cube 應用程序會自動打開一個新的終端窗口來安裝所有的軟體包。

如果遇到依賴的問題,進入 Cube Menu -> Packages -> Install packages with complete dependencies 來安裝所有的依賴包。

如果您只想安裝特定的包,定位到列表包位置,點擊 「Downloaded」 按紐,所有的已下載包都會被列出來。

然後雙擊某個特定的包,點擊 「Install this」按紐來安裝或者如果想過後再安裝它的話可以先點擊 「Mark this」 按紐。

順便提一句,您可以在任意已經連接網路的系統上下載所需要的包,然後在沒有網路連接的離線系統上安裝。

結論

這是我曾經使用過的最好、最有用的軟體工具之一。但我在用 Ubuntu 14.04 測試盒子測試的時候,遇到了很多依賴問題,還經常會出現閃退的情況。也僅僅是在最新 Ubuntu 14.04 離線系統上使用沒有遇到任何問題。希望這些問題在老版本的 Ubuntu 上不會發生。除了這些小問題,這個小工具就如同宣傳的一樣,像魔法一樣神奇。

歡呼吧!

原文作者:

SK(Senthilkumar,又名SK,來自於印度的泰米爾納德邦,Linux 愛好者,FOSS 論壇支持者和 Linux 板塊顧問。一個充滿激情和活力的人,致力於提供高質量的 IT 專業文章,非常喜歡寫作以及探索 Linux、開源、電腦和互聯網等新事物。)

via: http://www.unixmen.com/camicri-cube-offline-portable-package-management-system/

譯者:runningwater 校對:Caroline

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。