root として実行して Ubuntu 21.10 をアップグレードしようとするとapt upgrade
、次のエラーが発生します。
dpkg: error processing archive /var/cache/apt/archives/login_1%3a4.8.1-1ubuntu9_amd64.deb (--unpack):
unable to create '/usr/share/man/zh_CN/man1/login.1.gz.dpkg-new' (while processing './usr/share/man/zh_CN/man1/login.1.gz'): Operation not permitted
Errors were encountered while processing:
/var/cache/apt/archives/login_1%3a4.8.1-1ubuntu9_amd64.deb
さらに調べてみると、 の拡張属性に関係している可能性があることがわかりました/usr/share/man/zh_CN/man1
。
実行するとlsattr -ld /usr/share/man/zh_CN/man1/
出力されます:
/usr/share/man/zh_CN/man1/ Synchronous_Updates, Immutable, Append_Only, Compression_Requested, Extents
これらの属性を安全に削除できますか (何らかの理由があって存在しているはずです)? または、他に実行する必要があるアップグレード コマンドがありますか?
答え1
ご覧のとおり、ウイルス対策ソフトをご使用のようです。そのウイルス対策ソフトを無効にして続行してください。
注記: これは McAfee が原因であると確信していますので、問題が解決するまで、提案されたコマンドをすべて段階的に実行してください。
まず、次のコマンドを実行して、ウイルス対策のすべてのインスタンスを無効にします。
sudo dpkg --purge mfedx sudo dpkg --purge mcafeetp sudo dpkg --purge mcafeeespaac sudo dpkg --purge mcafeeespfileaccess Sudo dpkg --purge mcafeeesp sudo dpkg --purge mcafeert sudo dpkg --purge mfecma sudo dpkg --purge mfert
使用しているウイルス対策/セキュリティ/ブロック プログラムをすべて削除します。
次のコマンドを実行します。
sudo apt --fix-broken install sudo apt upgrade
アップグレードでまだエラーが表示される場合は、以下も実行します。
sudo apt clean sudo apt autoremove sudo dpkg -i ./var/cache/apt/archives*.deb sudo dpkg -i --force-overwrite /var/cache/apt/archives/login_1%3a4.8.1-1ubuntu9_amd64.deb
今すぐ更新してアップグレードしてください:
sudo apt update sudo apt full-upgrade
まだ直ってないですか?
それでもエラーが表示される場合は、パッケージを再インストールすることをお勧めします。
sudo rm -r /var/cache/apt/archives/*.deb sudo apt update sudo apt upgrade
すべての依存関係がインストールされているかどうかを確認します。
パッケージは
login
以下に依存します:libaudit1
(>= 1:2.2.1)
セキュリティ監査用の動的ライブラリlibc6
(>= 2.33)
GNU C ライブラリ: 共有ライブラリlibcrypt1
(>= 1:4.1.0)
libcrypt
共有ライブラリlibpam-modules
(>= 1.1.8-1)
PAM 用のプラグ可能な認証モジュールlibpam-runtime
PAM ライブラリのランタイム サポートlibpam0g
(>= 0.99.7.1)
プラグ可能な認証モジュールライブラリ
今までに修正されていない場合は、login
パッケージをパージして再インストールします。
sudo dpkg -P login
sudo apt remove --purge login
sudo apt autoremove
sudo apt install login
コメントやチャットで何でもお気軽に質問してください。
答え2
apt
コマンドには管理者権限が必要です。
コマンドの前に を付ける必要がありますsudo
。
また、sudo apt update
他の操作を行う前に を実行して、apt
現在のソフトウェア リストで作業していることを確認する必要があります。
例えば:
sudo apt update
sudo apt upgrade