今日、Ubuntuソフトウェアの提案に基づいてアップグレードしようとすると、次のエラーが表示されます。このエラーが表示されるのは初めてです。私の18.04システムは何ヶ月も前からうまく機能しています。
どんな助けも大歓迎です。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
$ Sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5,871 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 388166 files and directories currently installed.)
Preparing to unpack .../libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabi/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because MaxReports is reached already
Errors were encountered while processing:
/var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
libc6-dev-armhf-cross
を再インストールしてみてください(libc6-dev-armel-cross
についても同じことをしてください)
Sudo apt remove libc6-dev-armhf-cross
に続いてSudo apt install libc6-dev-armhf-cross
(apt install --reinstall
は機能していないようです)
Sudo apt remove
を実行すると、それに依存するパッケージが削除される場合があります。依存パッケージを削除せずにこれを行う方法については、下記の Olek Wojnarの答え を参照してください
Gen.Stack で使用されるアプローチのバリエーションを使用して、この問題をきれいに解決することができました。受け入れられたソリューションの問題は、問題のパッケージの依存関係を削除するが、それらの復元に失敗することです。この解決策はその問題を防ぎます。
まず、問題のあるパッケージを削除し、依存関係を削除せずに構成を削除します。
Sudo dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
パッケージキャッシュを消去します。
Sudo apt clean
パッケージリストを更新します。
Sudo apt update
壊れた依存関係を修正します(削除されたパッケージのうち2つを自動的にインストールする必要があります)。
Sudo apt -f install
最後に、残りの2つのパッケージをインストールします。
Sudo apt install libc6-dev-armel-cross libc6-dev-armhf-cross
これにより、システムが正常な状態に戻ります。
多くの依存関係が削除されないようにするには、dpkg -P --force-depends
を試してください。
dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
次に、それらのパッケージを再度更新、取得、インストールします。
apt update
[...]
apt clean
apt install libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
Building dependency tree
Reading state information... Done
After this operation, 0 B of additional disk space will be used.
Get:1 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe AMD64 libc6-armel-cross all 2.27-3ubuntu1cross1.1 [1,031 kB]
Get:2 http://en.archive.ubuntu.com/ubuntu bionic-updates/main AMD64 libc6-armhf-cross all 2.27-3ubuntu1cross1.1 [1,005 kB]
Get:3 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe AMD64 libc6-dev-armel-cross all 2.27-3ubuntu1cross1.1 [1,936 kB]
Get:4 http://en.archive.ubuntu.com/ubuntu bionic-updates/main AMD64 libc6-dev-armhf-cross all 2.27-3ubuntu1cross1.1 [1,899 kB]
Fetched 5,871 kB in 9s (661 kB/s)
Selecting previously unselected package libc6-armel-cross.
(Reading database ... 760110 files and directories currently installed.)
Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
[...]
したがって、--reinstall
によっても、依存関係を使用して手動で、またはdpkg -[P|i] --force-depends
を使用して再インストールすることもできません。
2018-10-09:それらのパッケージはまだ壊れていますが、更新が見えないため、パッケージを(アン)インストールするためにaptを使用できるようにすべて削除しました。現状のままにするということは、パッケージをインストールまたは削除できないことを意味します。ローカルにインストールされたツールチェーンを使用して、要件を満たしています。
編集:問題のあるパッケージと依存関係をすべて削除することに注意してください。
上記のapt remove/installメソッドを使用する場合、依存関係により、aptが意図した以上の削除を行う場合があります。他のパッケージを再インストールする必要がある場合もあります。また、次のものも再インストールしました。
これらの一部はすでに自動的に再インストールされますが、削除されたパッケージのリストをコピーして、何をする必要があるかをaptに把握させる方が簡単でした。
Sudo apt-get install \
g++-7-arm-linux-gnueabihf g++-7-multilib-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
gcc-7-arm-linux-gnueabihf gcc-7-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf \
libasan4-armhf-cross libasan4-dbg-armhf-cross libatomic1-armhf-cross libatomic1-dbg-armhf-cross \
libc6-armel-armhf-cross libc6-armel-cross libc6-armhf-cross libc6-dev-armel-armhf-cross \
libc6-dev-armel-cross libc6-dev-armhf-cross libcilkrts5-armhf-cross libcilkrts5-dbg-armhf-cross \
libgcc-7-dev-armhf-cross libgcc1-armhf-cross libgcc1-dbg-armhf-cross libgomp1-armhf-cross \
libgomp1-dbg-armhf-cross libsfasan4-armhf-cross libsfatomic1-armhf-cross \
libsfcilkrts5-armhf-cross libsfgcc-7-dev-armhf-cross libsfgcc1-armhf-cross \
libsfgomp1-armhf-cross libsfstdc++-7-dev-armhf-cross libsfstdc++6-armhf-cross \
libsfubsan0-armhf-cross libstdc++-7-dev-armhf-cross libstdc++6-7-dbg-armhf-cross \
libstdc++6-armhf-cross libubsan0-armhf-cross libubsan0-dbg-armhf-cross \
Ubuntu 18.04でシナプスパッケージマネージャーを使用して、問題のあるパッケージを削除して後で再インストールすることでエラーを解決しました。