SetCap не найден в Debian 9

#!/bin/sh
my_script(){
    { cat; cat <&3; }>"$0"
} <<SHEBANG 3<<\SCRIPT
#!${SHELL}
SHEBANG
#now all the rest of your script

#goes in here

SCRIPT

my_script

большинство оболочек автоматически помещают все содержимое здесь-документов в защищенные временные файлы. те, которые не используют каналы, и этих буферов обычно более чем достаточно для записи сценариев оболочки, но, конечно, они не точные.

и функции - это буквальные строки, хранящиеся в памяти оболочки. выполнение описанного выше должно требоваться только один раз, и после этого ваш скрипт будет интерпретироваться тем, что было в $ SHELL в то время, когда вы его запускали.

14
14.07.2018, 02:43
2 ответа

Поискsetcap

Я полагаю, что setcapсодержится в этом пакете libcap2-bin. Я нашел это, погуглив «debian setcap», что привело меня к этой справочной странице:

Название справочной страницы говорит вам, в каком пакете она находится:

/ jessie / libcap2-bin / setcap(8)

Теперь, когда мы «думаем», что знаем имя пакета, мы можем его найти:

Если вы прокрутите эту страницу вниз, вы увидите все различные архитектуры. Нажмите на ссылку для amd64:

Нашел

И вотsetcap:

File list of package libcap2-bin in jessie of architecture amd64
/sbin/capsh
/sbin/getcap
/sbin/getpcaps
/sbin/setcap
/usr/share/doc/libcap2-bin/README.Debian
/usr/share/doc/libcap2-bin/changelog.Debian.gz
/usr/share/doc/libcap2-bin/changelog.gz
/usr/share/doc/libcap2-bin/copyright
/usr/share/man/man1/capsh.1.gz
/usr/share/man/man1/getpcaps.1.gz
/usr/share/man/man5/capability.conf.5.gz
/usr/share/man/man8/getcap.8.gz
/usr/share/man/man8/pam_cap.8.gz
/usr/share/man/man8/setcap.8.gz
19
27.01.2020, 19:50

Просто выполните поиск, чтобы узнать, есть ли в пакете эта команда, используя

apt-file search setcap

Если файл apt -не установлен, сначала установите его, а затем повторите -проблему выше:

sudo apt install apt-file -y  && sudo apt-file update
apt-file search setcap

нужная запись отображается как

libcap2-bin: /sbin/setcap

теперь вы знаете, в каком пакете он есть, поэтому установите его, используя

sudo apt-get install libcap2-bin

чтобы увидеть содержимое проблемы с пакетом

dpkg -L some-package
dpkg -L libcap2-bin

где вы увидите setcapи его аналогgetcap

9
27.01.2020, 19:50

Теги

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