apt updateを複数回実行するとアップグレードが不可能になる

apt updateを複数回実行するとアップグレードが不可能になる

システムを更新するスクリプトがあります:

sudo apt update && sudo apt upgrade && sudo apt autoremove

アップグレードがロックされているため、アップグレード可能なパッケージをアップグレードできないというエラーが表示されることがあります。スクリプトを再度実行すると、そのときにはapt updateアップグレードするものが何も表示されず、実行するときにapt upgrade「アップグレードするものが何もない」ためアップグレードは実行されません。最初にリストされたパッケージをアップグレードするにはどうすればよいですかapt update?

実際のケース: 現在、Firefox 67.0.3 (バージョン 67.0.4 が利用可能) を使用していますが、最初はapt update更新があることが示されていました。アップグレードできず、apt update再度実行すると Firefox のアップグレードはリストされず、apt upgrade何もアップグレードされませんでした。

この問題を Google で検索しましたが、見つかりません。どんな助けでもいただければ幸いです。

よろしくお願いします。英語が下手で申し訳ありません

答え1

最も可能性の高い理由は、無人アップグレードの実行と同時にスクリプトを実行している場合があることです。

無人アップグレード ログを確認すると簡単に確認できます。

以下は、今日の早朝の無人アップグレード ログの例です。

$ grep 2019-06-21 /var/log/unattended-upgrades/unattended-upgrades.log

2019-06-21 06:35:25,971 INFO Initial blacklist : 
2019-06-21 06:35:25,986 INFO Initial whitelist: 
2019-06-21 06:35:25,986 INFO Starting unattended upgrades script
2019-06-21 06:35:25,986 INFO Allowed origins are: o=Ubuntu,a=disco, o=Ubuntu,a=disco-security, o=UbuntuESM,a=disco, 
2019-06-21 06:36:00,248 INFO Packages that will be upgraded: bind9-host intel-microcode libbind9-161 libdns-export1104 libdns1104 libirs161 libisc-export1100 libisc1100 libisccc161 libisccfg163 liblwres161 libpq5
2019-06-21 06:36:00,248 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2019-06-21 06:37:18,374 INFO All upgrades installed

ログの5行目を見てください(Packages that will be upgraded:...): このリストはaptから直接取得されます。ほとんどから取得したリストと同じですsudo apt update。無人アップグレードのデフォルト設定では、-security ポケットのみを使用します。-updates、-backports、PPA、サードパーティのリポジトリは使用されません。そのため、セキュリティ以外のパッケージがいくつかインストールされない場合があります。この設定は変更できます。

次に、ログの 7 行目 ( ) を見てくださいAll upgrades installed。これは、5 行目にリストされているすべてのパッケージが正常にアップグレードされ、Unattended Upgrades が apt ロックを解除してその日のアップグレードを終了したことの確認です。問題や障害が発生した場合、または UU がまだ動作している場合は、この行は表示されません。

sudo apt update06:35 に手動で実行した場合、アップグレードするパッケージが多数あることがわかります。しかしsudo apt upgrade、06:38 に実行した場合、パッケージはアップグレードされませんでした...これは、Unattended Upgrades によってすでにアップグレードされていたためです。

答え2

sudo apt update が完了するたびに、Ubuntu ソフトウェア アップデートが邪魔をしているのだと思います。ソフトウェア アップデート設定を開いて、すべてのオプションが「なし」に設定されていることを確認してください。これでポップアップが抑制されるとは思いませんが、自動アップグレードを試みたり、ファイルをロックしたりすることは防げるはずです。

Firefox を修正するには、 を実行してsudo apt install --reinstall firefox問題が解決するかどうかを確認します。 ロックに関するエラーが表示される場合は、通常、 で削除できますsudo rm /var/lib/dpkg/lock

ちなみに、スクリプトでは、sudo -- sh -c 'apt update; apt upgrade --autoremove -y'

関連情報