나는 사용자 정의 빌드를 실행하고 있습니다 Debian buster/sid
. 잘못 실행하여 많은 문제가 발생하는 것 같습니다 apt-get dist-upgrade
(이것이 바로 그 이유인 것 같습니다). 따라서 Desktop Manager\Desktop Environment는 더 이상 전혀 로드되지 않으며 명령줄 셸만 표시됩니다.
적성과 apt-get 및 dpkg가 손상되었습니다.
apt 업데이트, aptitude 업데이트 및 apt-get 업데이트가 실패하고 실행하려고 할 때 많은 오류가 발생하지만 내 /etc/apt/sources.list는 괜찮아 보입니다.
deb http://ftp.ie.debian.org/debian unstable main contrib non-free
deb-src http://ftp.ie.debian.org/debian unstable main contrib non-free
deb http://ftp.ie.debian.org/debian experimental main contrib non-free
deb-src http:// ftp.ie.debian.org/debian experimental main contrib non free
deb https://dl.winehq.org/wine-builds/debian sid main
deb https://dl.winehq.org/wine-builds/ubuntu sid main
이 오류는 다음을 업데이트할 때 발생합니다.
Err:2 http://ftp.ie.debian.org/debian unstable InRelease
Couldn't execute /usr/bin/apt-key to check /var/lib/apt/lists/partial/ftp.ie.debian.org_debian_dists_experimental_InRelease
그리고
E: Problem executing scripts APT::Update::Post-Invoke-Success '/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 4 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null'
E: Sub-process returned an error code
aptitude Upgrade, apt Upgrade 또는 apt-get Upgrade가 손상된 dpkg로 인해 손상된 것으로 나타납니다.
dpkg에서는 다음 오류가 발생합니다.
dpkg: warning: 'sh' not found in PATH or not executable
dpkg: error: 1 expected
그런데 돌아오는데 echo $PATH
이게 좋아 보여요
/home/ferg/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
내가 노력하면 sh
얻을 것이다
The program 'sh' is currently not installed. To run 'sh' please ask your administrator to install the package 'dash'
내가 시도하면sudo apt-get install dash
그것은 나에게 말한다dash is already the newest version (0.5.8-2.6)
내가 계속하면
E: Sub-process /usr/sbin/dpkg-preconfigure --apt || true returned an error code (100)
E: Failure running script /usr/sbin/dpkg/preconfigure --apt || true
내가 실행 sudo nano /etc/apt/apt.conf.d/70debconf
하고 해당 줄을 주석 처리 하면DPkg::Pre-Install-Pkgs {"/usr/sbian/dpkg-preconfigure --apt || true";};
그러면 적성은 실패한다
dpkg: warning: 'sh' not found in PATH or not executable
dpkg: error: 1 expected
따라서 sh가 내 PATH에 없기 때문에 dpkg(및 aptitude, apt-get, apt)가 손상되었기 때문에 시스템을 복원하는 데 필요한 패키지를 다시 설치할 수 없습니다. 그러나 모든 올바른 디렉토리가 내 경로에 있습니다. 나는 이것을 sh로 고치면 dpkg와 aptitude가 다시 작동할 것이라고 가정하고 있지만, sh에 정확히 무엇이 문제인지 궁금합니다.
도움을 주셔서 미리 감사드립니다.
고쳐 쓰다:
ls -l /bin/bash
반품
-rwxr-xr-x 1 root root 1099016 May 15 2017 /bin/bash
ls -l /bin/sh
반품
lrwxrwxrwx 1 root root 4 Jun 28 2017 /bin/sh -> dash
ls -l /bin/dash
반품
ls: cannot access 'bin/dash': No such file or directory
그러면 /bin/sh가 어떻게든 삭제된 /bin/dash로 리디렉션되는 것 같나요?
sudo apt-get install --reinstall dash
실패:
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for dash:amd64
위와 같은 오류로 인해 실행이 sudo ln -sf bash /bin/sh
실패 합니다.sudo apt-get install --reinstall dash
이 문제와 그 변형을 Google에서 검색하는 동안 사용자의 PATH 및 권한과 관련된 많은 솔루션을 찾았으며 및 를 포함하여 문제와 관련된 파일을 확인했습니다 /etc/sudoers
/root/.bashrc
. 대부분의 경우 사용자는 경로(일반적으로 누락된 경로 또는 디렉터리)를 올바르게 정의함으로써 문제를 해결할 수 있습니다. 위에서 언급했듯이 내 PATH에는 정상적으로 실행하든 루트로 실행하든 관계없이 모든 관련 디렉터리가 포함되어 있는 것 같습니다. 일부 사용자에게는 권한 또는 자체 문제가 있습니다. 또한 다양한 명령과 명령을 루트로 실행해 보았지만 이는 내 문제가 다르다는 것을 의미합니다./root/.profile
/etc/profile
/sbin
/usr/sbin
echo $PATH
sudo echo $PATH
sudo
aptitude
apt
apt-get
dpkg
sudo -i
답변1
당신은 물렸다불쾌한 실수dash
이로 인해 /bin/sh
삭제가 발생했습니다. 이 문제는 해결되었으므로 다른 질문이 요청되어 apt update
해결 apt full-upgrade
되었습니다( /bin/sh
pointing 으로 되돌린 후 bash
이에 대한 귀하의 의견이 명확하지 않았습니다).
답변2
@Stephen Kitt가 말했듯이 나는이 오류내 특정 배포판의 심볼릭 링크와 마찬가지로 dash
깨졌습니다 ( Bourne 쉘).sh
/bin/sh
/bin/dash/
sudo ln -sf bash /bin/sh
지적 sh
하고 달리고 다시 문제를 해결했습니다 bash
.sudo apt-get update
sudo apt-get install --reinstall dash
sudo apt-get full-upgrade