apt アップグレードで「操作は許可されていません」というエラーが表示される

apt アップグレードで「操作は許可されていません」というエラーが表示される

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 が原因であると確信していますので、問題が解決するまで、提案されたコマンドをすべて段階的に実行してください。

  1. まず、次のコマンドを実行して、ウイルス対策のすべてのインスタンスを無効にします。

    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
    
  2. 使用しているウイルス対策/セキュリティ/ブロック プログラムをすべて削除します。

  3. 次のコマンドを実行します。

    sudo apt --fix-broken install
    sudo apt upgrade  
    

  1. アップグレードでまだエラーが表示される場合は、以下も実行します。

    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
    
  2. 今すぐ更新してアップグレードしてください:

    sudo apt update
    sudo apt full-upgrade
    

まだ直ってないですか?

  1. それでもエラーが表示される場合は、パッケージを再インストールすることをお勧めします。

    sudo rm -r /var/cache/apt/archives/*.deb
    sudo apt update
    sudo apt upgrade
    
  2. すべての依存関係がインストールされているかどうかを確認します。

    パッケージは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

関連情報