over 4 years ago

自製離線版 Package Repository 區分為三個步驟:

  1. 下載套件 DEB
  2. 建立 Package Repository
  3. 設定 Source list

下載套件 DEB

下載想要離線安裝的套件有許多方式,下面列出 2 種:

  1. 直接下載目標套件

    $ apt-get download pkg_name
    
    • 缺點: 不會自動下載相依套件 (Dependancies)
  2. 以模擬安裝的方式下載。

    $ apt-get --download-only -o Dir::Cache::archives=/path/to/archive/ install pkg_name
    
    • 優點: 是會自動尋找相依
    • 缺點: 是如果系統已經裝過的套件就會被自動忽略 (與安裝的行為相同)

建立 Package Repository

首先,先進入你收集套件的資料夾。應該會看到一大堆的 DEB 檔。這時,從下方選一種方式建立 Repository:

  1. dpkg-scanpackages

    $ dpkg-scanpackages . | gzip -9c > Packages.gz
    
  2. apt-ftparchive

    $ apt-ftparchive packages ./ > Packages
    

設定 Source list

/etc/apt/ 新增一個 local.list 內容如下:

deb file:///path/to/package/repo/ ./

使用

在 apt 加上額外的參數,限定來源,就可以使用自己的 Repo 了。

$ apt-get -o Dir::Etc::sourcelist=/etc/apt/local.list  -o Dir::Etc::sourceparts=" " update
$ apt-get -o Dir::Etc::sourcelist=/etc/apt/local.list  -o Dir::Etc::sourceparts=" " install pkg_name
← 在 Jenkins 分析 Flake8 測試結果 利用 Powershell 開啟遠端桌面 →
 
comments powered by Disqus