更新后pacman -Syuq
:
# pacman -Sc
pacman:加载共享库时出错:libicuuc.so.59:无法打开共享对象文件:没有这样的文件或目录
# find / -name libicuuc.so.* 2>/dev/null
/usr/lib/libicuuc.so.60.1
/usr/lib/libicuuc.so.60
Run Code Online (Sandbox Code Playgroud)
Pi 版本 1 中的 Arch Linux:
# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
Run Code Online (Sandbox Code Playgroud)
Leg*_*ris 27
以前提出的解决方案与我无关或对我不起作用。出于某种原因,将icu
软件包从 59.1-2升级到 60.1-1 导致链接中断,许多程序(包括 pacman)在此后失败并出现此错误。我身边没有被打断的吃豆人。
如果您的缓存中还有以前的包,您可以试试这个,这对我有用:
/var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
)。mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
sudo pacman -Syu
我研究了这个问题并发现了有关/var/log/pacman.log
. 我看了日志,发现问题是:
...
[2017-11-28 04:34] [ALPM] upgraded libmariadbclient (10.1.28-1 -> 10.1.29-1)
[2017-11-28 04:34] [ALPM] transaction interrupted
Run Code Online (Sandbox Code Playgroud)
更新被中断,因此出现了链接问题。
然后我从这里下载了固件。我提取了丢失的库:
$ gunzip ArchLinuxARM-rpi-latest.tar.gz
$ tar -tf ArchLinuxARM-rpi-latest.tar |grep libicuuc.so.59
./usr/lib/libicuuc.so.59.1
./usr/lib/libicuuc.so.59
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59.1
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59
Run Code Online (Sandbox Code Playgroud)
libicuuc.so.59
是一个符号链接libicuuc.so.59.1
,所以我转移libicuuc.so.59.1
到了/usr/lib/libicuuc.so.59
。
运行pacman
我得到了丢失的错误libicudata.so.59
。我将丢失的库提取到/usr/lib
并pacman
正在工作:)。
然后我更新了系统并pacman -Syuq
检查了ldd /usr/bin/pacman
所有库是否都存在。我移走了 v59 库/usr/lib
并检查它是否pacman
正常工作。
祈祷重启...成功!!!
pacman -Sc
然后微笑着上床睡觉:)
归档时间: |
|
查看次数: |
55840 次 |
最近记录: |