オフラインのマシンを更新する方法を探しています。そのために私が使用してこの説明見つかっ--print-のURIからをapt-get
。新しいパッケージ(および依存関係)を正常にインストールしました。とても便利な。
ただし、前のリンクで説明した方法を使用してパッケージリストを更新しようとすると、すべての名前が付いた一連のファイルになりましたPackages.bz2.*
。ここで、*
値は1〜23になります。結果のファイルをにコピーし/var/lib/apt/lists/
ます。
wgetを使用してファイルをダウンロードする方法はありますが、apt-getが元々使用していたものと同じ名前(またはなるべく同じ名前)のPackages.bz2を呼び出す代わりに、archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages
それらを抽出するときに読みやすい名前のままになります。
それをした後、更新を見つけるためにapt-getを取得するために私がしなければならないことは他にあります(私はurisを出力してパッケージをインストールするアップグレードを行うつもりです)。
実行例:
sudo apt-get update --print-uris -y > update.list
これにより、次のような行を含むファイルが作成されます。
'http://security.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/Packages.bz2' security.ubuntu.com_ubuntu_dists_trusty-security_main_binary-amd64_Packages 0 :
'http://security.ubuntu.com/ubuntu/dists/trusty-security/restricted/binary-amd64/Packages.bz2' security.ubuntu.com_ubuntu_dists_trusty-security_restricted_binary-amd64_Packages 0 :
この形式はwgetに渡すことができないため、実行することでURLを抽出します(リンクされたページに示されているように、前のコマンドで直接実行できます)。
cat update.list | grep ^\' | cut -d\' -f2 > update.cut
次に、次のような行を含むファイルを取得します。
http://security.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/Packages.bz2
http://security.ubuntu.com/ubuntu/dists/trusty-security/restricted/binary-amd64/Packages.bz2
オプション--input-fileを使用して、これをwgetにフィードできるようになりました。私は実行しました:
mkdir lists
cd lists
wget --input-file ../update.cut
ls
ショー:
Packages.bz2 Packages.bz2.14 Packages.bz2.2 Packages.bz2.4 Translation-en.bz2 Translation-en.bz2.4
Packages.bz2.1 Packages.bz2.15 Packages.bz2.20 Packages.bz2.5 Translation-en.bz2.1 Translation-en.bz2.5
Packages.bz2.10 Packages.bz2.16 Packages.bz2.21 Packages.bz2.6 Translation-en.bz2.10 Translation-en.bz2.6
Packages.bz2.11 Packages.bz2.17 Packages.bz2.22 Packages.bz2.7 Translation-en.bz2.11 Translation-en.bz2.7
Packages.bz2.12 Packages.bz2.18 Packages.bz2.23 Packages.bz2.8 Translation-en.bz2.2 Translation-en.bz2.8
Packages.bz2.13 Packages.bz2.19 Packages.bz2.3 Packages.bz2.9 Translation-en.bz2.3 Translation-en.bz2.9
この時点以降、リンクしたサイトでは、/ var / lib / apt / lists /に追加する以外の手がかりはありません。そのために(オフラインマシンにファイルをコピーした後):
sudo rm -R /var/lib/apt/lists/*
bunzip2 Packages.bz2.14
sudo cp Packages.bz2.14.out /var/lib/apt/lists/
しかし、それを行った後、パッケージを検索できないapt-cache
ため、何かがおかしいと思われます(Packages.bz2.14.outファイルにパッケージ名0adがリストされていることを確認し、検索しました)。
今のところ、人間が読める名前のwgetダウンロードファイルを取得しようとしています(gpgファイルである必要があると思いますが、名前のためにどのファイルかはわかりません)。
その後、アップグレードとソフトウェアのインストールを行うために、新しいパッケージリストを使用してパッケージ検索を実行できるようにします。gpgファイルが見つからない場合(パッケージが見つからない理由かもしれません)、またはにコピーする前にgpgを確認する必要があります/var/lib/apt/lists/
。
wget
デフォルトで同じ名前を保持する必要があります。
--print-uris
ダウンロードするdebsのリストを取得し、インターネットに接続している別のマシンからそれらのパッケージをダウンロードします(すでに正常に実行されています)