Попробуйте это:
sqlite3 sqldb "select caption from notes_fts where notes_fts MATCH 'perl install';"
Просто с текущей реализацией apt-get этого сделать нельзя, нужно открыть запрос на возможность и обратиться к мейнтейнеру. Текущее поведение apt-get заключается в том, что когда список пакетов, которые вы неявно объявили установленными, равен количеству пакетов, которые будут установлены, и никакие другие пакеты не будут затронуты обновлениями или перерывами, apt-get предполагает, что пользователь уже уверен в том, что будет сделано , если вы не уверены или хотите проанализировать, что будет сделано без установки пакета, вы можете использовать Costas recommendation из -s, --simulate, --just-print, --dry-run, --recon, --no-act
.
Есть и другие утилиты, такие как apt-listbugs, которые проанализируют версии устанавливаемых пакетов до того, как вы их установите (в данном случае на предмет ошибок) и предупредят вас.
Команда принимает да
на всякий случай установки один пакет (который инициировал из командной строки), И все зависимости в система уже т.е. ничто для установки кроме одного спрошенного пакета.
В другом слове, "если ничто для наблюдения (никакие дополнительные пакеты) затем подсказки (ничто для просьбы)".
Для тестирования можно использовать ключ , с, - моделируют, - справедливая печать, - пробный прогон, - передовод "против", - без действий
Старый вопрос, я вижу, но сейчас в похожей ситуации. Обычно я использую sudo aptitude install -P PACKAGE_NAME
, что всегда спрашиваю перед установкой. Однако теперь в Debian менеджер пакетов по умолчанию apt|apt-get
и он не имеет этой функциональности. Конечно, я все еще могу установить aptitude
и использовать его... Однако я написал небольшую функцию-оболочку sh/bash/скрипт для apt-get
, чтобы спросить перед установкой. Он действительно сырой, и я написал его как функцию в своем терминале.
$ f () { sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf'; read -p 'Do You want to continue (y/N): ' ans; case $ans in [yY] | [yY][eE][sS]) sudo apt-get -y install "$@";; *);; esac; }
Теперь давайте уточним:
f () {
# Do filtered simulation - without lines contains 'Inst' and 'Conf'
sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf';
# Interact with user - If You want to proceed and install package(s),
# simply put 'y' or any other combination of 'yes' answer and tap ENTER.
# Otherwise the answer will be always not to proceed.
read -p 'Do You want to continue (y/N): ' ans;
case $ans in
[yY] | [yY][eE][sS])
# Because we said 'yes' I put -y to proceed with installation
# without additional question 'yes/no' from apt-get
sudo apt-get -y install "$@";
;;
*)
# For any other answer, we just do nothing. That means we do not install
# listed packages.
;;
esac
}
Чтобы использовать эту функцию как сценарий sh/bash, просто создайте файл сценария, например. my_apt-get.sh
с содержимым (Примечание :листинг не содержит комментариев,сделать его немного короче;-)):
#!/bin/sh
f () {
sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf';
read -p 'Do You want to continue (y/N): ' ans;
case $ans in
[yY] | [yY][eE][sS])
sudo apt-get -y install "$@";
;;
*)
;;
esac
}
f "$@"
Затем поместите его, например, для. в ~/bin/
и сделайте его исполняемым с помощью $ chmod u+x ~/bin/my_apt-get.sh
. Если каталог ~/bin
включен в вашу переменную PATH
, вы сможете выполнить ее просто с помощью:
$ my_apt-get.sh PACKAGE_NAME(S)_TO INSTALL
Обратите внимание:
sudo
. Если вы используете учетную запись root
, вам, вероятно, потребуется настроить ее.