aptでインストール済みのパッケージ構成を(他のサーバで)復元する
古いサーバにaptでインストールされているパッケージたちを新しいサーバにもインストールする必要があり、とりあえずググって出てきた方法で試したがうまくいかず、他にないか探していたらちょうどいいものがあったのでメモ。
環境
移行前、移行先のサーバ共にUbuntu Server 18.04 LTS
手順
1. 移行前のサーバ
sudo apt update & upgrade sudo apt install apt-clone sudo apt-clone clone ~/hoge
すると、インストールできないパッケージ等の情報が標準出力に出るとともに、hoge.apt-clone.tar.gz
が生成されるので、scp
などで移行先のサーバに送ってください(自分はディレクトリがマウントされていたので送る必要はなかったけど)。
2. 移行先のサーバ
sudo apt update & upgrade sudo apt install apt-clone sudo apt-clone restore ~/hoge.apt-clone.tar.gz
以上でインストールは完了です。
余談
もともとはこちらなどに書かれているように、dselect
を使ってインストールしようとしていました。しかし、
という警告が出て、まあ入れ直すのだから大丈夫だろうとは思いつつも、highly recommendedと言われてるし、ググってもこの警告に関して言及してる人が見当たらなかったこと、そもそも手順がややこしくpip
のpip freeze > requirements.txt
とpip -r requirements.txt
みたいにあっさり移行できる方法がないのかと思ったこともあり、改めて他の手段を探すことにした結果、apt-clone
を見つけて使うことにしました。そのとき日本語の情報が見当たらなかったのでこの記事を書くことにしました。
上のダイアログでNoを選んでも無事インストールできていたのか気になる……。