실행하려고 하면 apt-get update
다음 오류가 발생합니다.
$ sudo apt-get update
/usr/lib/apt/methods/https: error while loading shared libraries: libnett▒d.sm.4: cannot open shared object file: No such file or directory
E: Method https has died unexpectedly!
E: Sub-process https returned an error code (127)
E: Method /usr/lib/apt/methods/https did not start correctly
모든 HTTPS 소스(docker, gitlab-runner)를 비활성화하면 apt-get이 제대로 작동하고 패키지를 설치할 수 있습니다. Google에서 이름이 인 라이브러리를 찾을 수 없습니다 libnett*d.sm.4
.
저는 RaspberryPi 3에서 Raspbian을 실행하고 있습니다.
$ cat /etc/*release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
를 다시 설치해 보았습니다 apt-transport-https
.
나는 또한 ping6
그것이 잘 작동하지 않는다는 것을 알아차렸습니다(동일 라이브러리). 물론 IPv6를 비활성화해 보았습니다.
고쳐 쓰다:
$ cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
$ cat /etc/apt/sources.list.d/*
deb [arch=armhf] https://apt.dockerproject.org/repo raspbian-jessie main
deb http://archive.raspberrypi.org/debian/ jessie main ui
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
# deb-src http://archive.raspberrypi.org/debian/ jessie main ui
# this file was generated by packages.gitlab.com for
# the repository at https://packages.gitlab.com/runner/gitlab-ci-multi-runner
# deb https://packages.gitlab.com/runner/gitlab-ci-multi-runner/raspbian/ jessie main
# deb-src https://packages.gitlab.com/runner/gitlab-ci-multi-runner/raspbian/ jessie main
소스를 완전히 비활성화하고 gitlab-runner
출력 docker
에서 활성화했습니다. 해당 줄에도 주석을 달면 apt-get update
제대로 작동합니다.모두활성 소스 사용량 http
.
답변1
이것은 디스크 손상처럼 보입니다 libnettle.so.4
.
이 특정 문제를 해결하려면 다음을 다시 설치해야 할 것 같습니다 libcurl3-gnutls
.
apt-get --reinstall install libcurl3-gnutls
(처럼 root
).
그러나 이는 아마도 범인이 아닐 것입니다. 다른 손상된 파일(적어도 패키지에서 설치된 파일)을 식별하려면 다음을 사용할 수 있습니다 debsums
.
debsums -c
(필요한 경우 설치 후 사용 apt-get install debsums
). 으로 표시된 패키지를 다시 설치해야 합니다 debsums -c
.
맨페이지에서는 debsums
영향을 받는 패키지를 다시 설치하는 데 편리한 다음 명령을 제공합니다.
apt-get install --reinstall $(dpkg -S $(debsums -c) | cut -d : -f 1 | sort -u)