'dpkg-deb'가 PATH에 없거나 실행 가능하지 않습니다.

'dpkg-deb'가 PATH에 없거나 실행 가능하지 않습니다.

내 사용자 및 루트에서 apt를 사용하여 아무것도 제거하거나 설치할 수 없습니다. 시도할 때마다 다음 오류가 발생합니다.

dpkg: warning: 'dpkg-deb' not found in PATH or not executable
dpkg: error: 1 expected program not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin

$PATH 변수(루트와 내 사용자 모두에서)를 확인했는데 여기에 필요한 모든 것이 포함되어 있습니다.

ranran9991@Ran-Mint ~ $ sudo -i
[sudo] password for ranran9991: 
Ran-Mint ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/lib/jvm/java-11-oracle/bin:/usr/lib/jvm/java-11-oracle/db/bin

출력 grep -i path /etc/sudoers:

Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

산출sudo find / -mount -name dpkg-deb -exec ls -ld {} +

ranran9991@Ran-Mint ~ $ sudo find / -mount -name dpkg-deb -exec ls -ld {} +
[sudo] password for ranran9991: 
lrwxrwxrwx 1 root root      4 Nov 24  2018 /usr/share/bash-completion/completions/dpkg-deb -> dpkg
-rwxr-xr-x 1 root root 153952 Oct  4  2018 /var/lib/docker/overlay2/8c4b3545f8b2b1fd424a8054dfa0a631959619f0dc34efe9ca5c5e52f0fe7696/diff/usr/bin/dpkg-deb

저는 시나몬민트 18.3을 사용하고 있습니다.

무엇을 해야할지 잘 모르겠고 도움이 필요합니다.

답변1

여전히 실행할 수 있으므로 패키지 dpkg의 적어도 일부가 여전히 남아 있습니다. dpkg복구하려면 dpkg-deb다음을 다시 설치해야 합니다 dpkg.

  • 다운로드적절한 패키지 파일(Mint 18.3은 Ubuntu 16.04를 기반으로 하고 있으므로,이 페이지적절한 링크를 얻으십시오. 여기에 제공되는 다운로드 링크는 귀하가 하나를 사용하고 있다고 가정합니다 amd64.

    wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.18.4ubuntu1.6_amd64.deb
    
  • 설치하다

    sudo dpkg -i dpkg_1.18.4ubuntu1.6_amd64.deb
    

이것이 실패하면 제안된 대로 보다 수동적인 접근 방식을 채택해야 합니다.Arvid의 답변:

ar x dpkg_1.18.4ubuntu1.6_amd64.deb data.tar.gz
tar xf data.tar.gz ./usr/bin/dpkg-deb
sudo install usr/bin/dpkg-deb /usr/bin

그런 다음 설치 프로그램을 사용하여 dpkg모든 것이 올바르게 설정되었는지 확인하십시오.

답변2

이러한 디렉터리( /usr/local/sbin, /usr/sbin/sbin)를 사용자의 PATH에 추가합니다.

해롭지 않으며 종종 유용합니다. 많은 "루트" 명령이 유용한 정보를 제공할 수 있습니다.읽기 권한이 있습니다.루트가 아닌 사용자가 아무것도 변경하지 않기 때문에 아무것도 변경할 수 없더라도쓰기 액세스.

또는 run 대신 apt사용하십시오 . 이렇게 하면 명령이 루트 디렉터리에서 실행됩니다.sudo -i apt.....sudo apt.....apt로그인쉘(따라서 루트의 .profile 또는 .bash_profile을 실행하고 PATH를 적절하게 설정하십시오).

수행하는 작업에 대한 자세한 내용을 확인 하고 man sudo검색해 -i보세요 .--login-i

관련 정보