オンラインマシンを一度だけ返却してオフラインDebianシステムでディストリビューションアップグレードを実行する方法はありますか?
apt-get update && apt-get dist-upgrade
私はオフラインコンピュータと同じことを成功しましたが、apt-offline
これを行うにはオンラインコンピュータに2回戻らなければなりませんでした。
ワークフローは次のとおりです。
# OFFLINE machine:
apt-offline set step1.sig --update --upgrade --upgrade-type dist-upgrade
# The step1.sig file only contains references to Package and Release
# files, not any package names.
# ONLINE machine:
apt-offline get step1.sig --bundle step1.zip
# OFFLINE machine (this is the equivalent of apt-get update):
apt-offline install step1.zip
apt-offline set step2.sig --update --upgrade --upgrade-type dist-upgrade
# The step2.sig file now contains references to deb files.
# ONLINE machine:
apt-offline get step2.sig --bundle step2.zip
# OFFLINE machine (this is the equivalent of apt-get dist-upgrade):
apt-offline install step2.zip
私はコマンドラインツール(または他のツール)を使用してオフラインとオンラインコンピュータ間の往復1回でこれを行うことに興味がありますapt-offline
。
既存のパッケージのリストから何かを作成することを望んで最初のステップでこれを試しましたが、オフラインシステムの現在知られているパッケージのリストにあるものを考えると、最初のステップではアップグレード可能なものが見つかりませんでした。言葉になります):
apt-offline set packages.sig --install-packages `aptitude search '~i!~M' -F '%p'`
答え1
パッケージインデックスファイル(利用可能なパッケージ)を更新してから、パッケージセット(インストールするパッケージ)を更新する必要があります。に基づいて更新されたインデックスファイル。
オフラインコンピュータからオンラインコンピュータに移動する最初の部分は、非同期パッケージインデックスファイルと非同期パッケージセットを送信します。
オンラインマシンでパッケージインデックスファイルを更新できます。それから新しいインデックスファイルに従ってパッケージセットを更新し、そのバンドルをダウンロードします。
2番目の部分では、オンラインコンピュータからオフラインコンピュータとして生成されたパッケージを送信できます。
問題は
apt-offline set upgrade.sig --upgrade
ローカルコンピュータのパッケージインデックスファイルを使用し、他のパッケージインデックスファイルを使用するオプションはありません。したがって、オンラインマシンではこのコマンドを実行できませんが、オフラインマシンとの往復が必要です。
解決策は、apt-offlineにローカルパッケージインデックスファイルとは異なるパッケージインデックスファイルを使用するように指示することです。しかし、現在はこれは不可能です。これをパッチしたり、独自のツールを作成したりできます。