'dpkg-deb' не найден в PATH или не является исполняемым

Подстановка процессов здесь вам в помощь:

$ comm -23 <(find /dir -name 'something') <(cut -c43- list)

Формат <(command)применяет дескриптор временного файла к command, и весь <( )используется в качестве файлового ввода дляcomm(или любой другой команды ).
Подробнее о подстановке процессов см. здесь . Также проверьтеman bash:

Process Substitution
Process substitution allows a process's input or output to be referred to using a filename. It takes the form of <(list) or >(list). The process list is run asynchronously, and its input or output appears as a filename. This filename is passed as an argument to the current command as the result of the expansion. If the >(list) form is used, writing to the file will provide input for list. If the <(list) form is used, the file passed as an argument should be read to obtain the output of list. Process substitution is supported on systems that support named pipes (FIFOs) or the /dev/fd method of naming open files.

0
21.08.2019, 10:02
2 ответа

Поскольку вы все еще можете запустить dpkg, по крайней мере часть пакета dpkgвсе еще присутствует. Чтобы восстановить dpkg-deb, попробуйте повторно -установитьdpkg:

  • загрузите соответствующий файл пакета(Mint 18.3 основан на Ubuntu 16.04, поэтому ищите Xenial на этой странице , чтобы получить соответствующие ссылки; ссылка для скачивания, которую я здесь даю, предполагает, что вы используете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
    

Если это не поможет, вам придется прибегнуть к более ручному подходу, как предложено в ответе arved:

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, чтобы убедиться, что все настроено правильно.

4
28.01.2020, 02:14

Добавьте эти каталоги (/usr/local/sbin, /usr/sbinи/sbin)в PATH вашего пользователя.

В этом нет ничего плохого, и часто бывает полезно -многие «корневые» команды могут предоставить полезную информацию о вещах, у вас есть доступ для чтения , даже если они не могут ничего изменить, потому что вы не -] пользователь root не имеет прав на запись .

Либо запустите aptс sudo -i apt.....вместо sudo apt...... Это гарантирует, что команда aptбудет запущена в корневой логин оболочке (, поэтому будет выполнен профиль root.profile или.bash _с соответствующей настройкой PATH ).

См. man sudoи найдите -i, также известное как --login, чтобы узнать, что делает -i.

2
28.01.2020, 02:14

Теги

Похожие вопросы