EC2マシンでuser-data-scriptとして実行されるPythonスクリプトを作成しています。bashコマンドと同様に、マシン上のパッケージをアップグレードする方法を理解しようとしています。
$ sudo apt-get -qqy update && sudo apt-get -qqy upgrade
私apt
はこれを行うためにPythonでパッケージを使用できることを知っています:
import apt
cache=apt.Cache()
cache.update()
cache.open(None)
cache.upgrade()
cache.commit()
問題は、Python自体がアップグレードされたパッケージの1つである場合にどうなるかです。このアップグレードの後にインタプリタとスクリプトをリロードして、中断したところから続行する方法はありますか?
今のところ、私の唯一の選択肢は、パッケージ(Pythonを含む可能性があります)をアップグレードし、残りのコードをPythonにドロップすることを唯一の目的として、ユーザーデータスクリプトとしてシェルスクリプトを使用することです。シェルスクリプトを使用する余分な手順を削除したいと思います。