怎樣完整地離線更新並升級基於 Debian 的作業系統

Sk 發表於 2022-11-27
Debian

怎樣完整地離線更新並升級基於 Debian 的作業系統

不久之前我已經向你展示瞭如何在任意離線的 UbuntuArch Linux 作業系統上安裝軟體。 今天,我們將會看看如何完整地離線更新並升級基於 Debian 的作業系統。 和之前所述方法的不同之處在於,這次我們將會升級整個作業系統,而不是單個的軟體包。這個方法在你沒有網路連結或擁有的網路速度很慢的時候十分有用。

完整地離線更新並升級基於 Debian 的作業系統

首先假設,你在單位擁有正在執行並配置有高速網際網路連結的系統(Windows 或者 Linux),而在家有一個沒有網路連結或網路很慢(例如撥號網路)的 Debian 或其衍生的作業系統。現在如果你想要離線更新你家裡的作業系統怎麼辦?購買一個更加高速的網路連結?不,根本不需要!你仍然可以透過網際網路離線更新升級你的作業系統。這正是 Apt-Offline工具可以幫助你做到的。

正如其名,apt-offline 是一個為 Debian 及其衍生發行版(諸如 Ubuntu、Linux Mint 這樣基於 APT 的作業系統)提供的離線 APT 包管理器。使用 apt-offline,我們可以完整地更新/升級我們的 Debian 系統而不需要網路連結。這個程式是由 Python 程式語言寫成的兼具 CLI 和圖形介面的跨平臺工具。

準備工作

  • 一個已經聯網的作業系統(Windows 或者 Linux)。在這份指南中,為了便於理解,我們將之稱為線上作業系統。
  • 一個離線作業系統(Debian 及其衍生版本)。我們稱之為離線作業系統。
  • 有足夠空間容納所有更新包的 USB 驅動器或者外接硬碟。

安裝

Apt-Offline 可以在 Debian 及其衍生版本的預設倉庫中獲得。如果你的線上作業系統是執行的 Debian、Ubuntu、Linux Mint,及其它基於 DEB 的作業系統,你可以透過下面的命令安裝 Apt-Offline:

sudo apt-get install apt-offline

如果你的線上作業系統執行的是非 Debian 類的發行版,使用 git clone 獲取 Apt-Offline 倉庫:

git clone https://github.com/rickysarraf/apt-offline.git

切換到克隆的目錄下並在此處執行:

cd apt-offline/
sudo ./apt-offline

在離線作業系統(沒有聯網的作業系統)上的步驟

到你的離線作業系統上建立一個你想儲存簽名檔案的目錄:

mkdir ~/tmp
cd ~/tmp/

你可以自己選擇使用任何目錄。接下來,執行下面的命令生成簽名檔案:

sudo apt-offline set apt-offline.sig

示例輸出如下:

Generating database of files that are needed for an update.
Generating database of file that are needed for operation upgrade

預設條件下,apt-offline 將會生成需要更新和升級的相關檔案的資料庫。你可以使用 --update 或者 --upgrade 選項相應建立。

複製完整的 tmp 目錄到你的 USB 驅動器或者或者外接硬碟上,然後換到你的線上作業系統(有網路連結的作業系統)。

在線上作業系統上的步驟

插入你的 USB 驅動器然後進入 tmp 資料夾:

cd tmp/

然後,執行如下命令:

sudo apt-offline get apt-offline.sig --threads 5 --bundle apt-offline-bundle.zip

在這裡的 -threads 5 代表著(併發連線的) APT 倉庫的數目。如果你想要從更多的倉庫下載軟體包,你可以增加這裡的數值。然後 -bundle apt-offline-bundle.zip 選項表示所有的軟體包將會打包到一個叫做 apt-offline-bundle.zip 的單獨存檔中。這個存檔檔案將會被儲存在你的當前工作目錄中(LCTT 譯註:即 tmp 目錄)。

上面的命令將會按照之前在離線作業系統上生成的簽名檔案下載資料。

怎樣完整地離線更新並升級基於 Debian 的作業系統

根據你的網路狀況,這個操作將會花費幾分鐘左右的時間。請記住,apt-offline 是跨平臺的,所以你可以在任何作業系統上使用它下載包。

一旦下載完成,複製 tmp 資料夾到你的 USB 或者外接硬碟上並且返回你的離線作業系統(LCTT 譯註:此處的複製操作似不必要,因為我們一直在 USB 儲存器的 tmp 目錄中操作)。千萬保證你的 USB 驅動器上有足夠的空閒空間儲存所有的下載檔案,因為所有的包都放在 tmp 資料夾裡了。

離線作業系統上的步驟

把你的裝置插入你的離線作業系統,然後切換到你之前下載了所有包的 tmp目錄下。

cd tmp

然後,執行下面的命令來安裝所有下載好的包。

sudo apt-offline install apt-offline-bundle.zip

這個命令將會更新 APT 資料庫,所以 APT 將會在 APT 緩衝裡找所有需要的包。

注意事項: 如果線上和離線作業系統都在同一個區域網中,你可以透過 scp 或者其他傳輸應用程式將 tmp 檔案傳到離線作業系統中。如果兩個作業系統在不同的位置(LCTT 譯註:意指在不同的區域網),那就使用 USB 裝置來複製。

好了大夥兒,現在就這麼多了。 希望這篇指南對你有用。還有更多好東西正在路上。敬請關注!

祝你愉快!


via: https://www.ostechnix.com/fully-update-upgrade-offline-debian-based-systems/

作者:SK 譯者:leemeans 校對:wxy

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