Обычный режим
Правила форума
Ответить

Утилита maybe

05 дек 2017, 09:28

Вы когда-нибудь задавались вопросом, что делает команда запущенная на выполнение? Не все знают, что делает конкретная команда или программа. Конечно, можно проверить на Explainhell. Скопируйте/вставьте команду на веб-сайт Explainhell и вы узнаете, что делает каждая часть команды. Но это совсем не обязательно. Можно легко узнать, что именно будет делать команда или программа до ее выполнения, прямо из терминала. Познакомьтесь с «maybe» - простым инструментом, который позволяет запускать команду и увидеть, что произойдет с файлами! После просмотра выведенного листинга вы можете решить, хотите ли вы запускать команду или нет.
«maybe» запускает процессы под управлением ptrace с помощью библиотеки python-ptrace.
Установка:
На Arch Linux и ее деревативы:
Код:
sudo pacman -S python-pip

На RHEL, CentOS:
Код:
sudo yum install epel-release
sudo yum install python-pip

На Fedora:
Код:
sudo dnf install epel-release
sudo dnf install python-pip

На Debian, Ubuntu, Linux Mint:
Код:
sudo apt-get install python-pip

На SUSE, openSUSE:
Код:
sudo zypper install python-pip

Синтаксис работы следующий:
Код:
maybe COMMAND [ARGUMENT]

Как это работает. Введем команду:
Код:
maybe touch test.txt

Программа вернет примерно такой результат:
Код:
maybe has prevented touch test.txt from performing 1 file system operations:
create file /home/admins.su/test.txt
Do you want to rerun touch test.txt and permit these operations? [y/N]

Здесь видно, что выполнение команды приведет к созданию файла /home/user/test.txt и утилита спрашивает, хотим ли мы выполнить данную команду.
Теперь переименуем файл:
Код:
maybe mv test.txt test.sh

maybe вернет следующую информацию:
Код:
maybe has prevented mv test.txt test.sh from performing 1 file system operations:
rename /home/cucadmuh/test.txt to test.sh
Do you want to rerun mv test.txt test.sh and permit these operations? [y/N]

Согласимся. Теперь сделаем файл исполняемым:
Код:
maybe chmod +x test.sh

maybe has prevented chmod +x test.sh from performing 1 file system operations:
change permissions of /home/cucadmuh/temp/test.sh to rwxrwxr-x

Другие команды и действия выводятся аналогично.
Утилита свежая и информация не всегда выводится в том виде, в котором хотелось бы. Но она позволяет добавить чуть больше спокойствия при выполнении рискованных операций, таких как rm....

Re: Утилита maybe

07 дек 2017, 19:43

fedora 25. Не нужно устанавливать epel-release да это и не получится. У меня уже был установлен пакетный
менеджер python-pip и следовательно осталось только установить сам пакет командой:
Код:
sudo pip install maybe
Ответить