Если вы попытаетесь запустить программу, которая не установлена, вы получите сообщение
The program 'x' is currently not installed. You can install it by typing:
sudo apt-get install x
, и вместо того, чтобы предлагать вам установить программу для вас, вы должны ввести фактическую команду. Как можно изменить это поведение?
דער פּעקל וואָס איז פאַראַנטוואָרטלעך פֿאַר דעם נאַטור איז די באַפֿעל-ניט-געפֿונען פּעקל, און עס שוין כולל די געבעטן נאַטור כאָטש עס איז פאַרקריפּלט דורך פעליקייַט. איר קענען געבן עס דורך לייגן די פאלגענדע שורה צו דיין ~ / .bashrc
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
איצט די נאַטור איז געביטן צו
The program 'x' is currently not installed. You can install it by typing:
sudo apt-get install x
Do you want to install it? (N/y)
באַמערקונג:
אויב איר באַקומען אַ אָנזאָג וועגן פּיטהאָן קראַשינג (ספּאַסיפיקלי AttributeError: 'סטר' כייפעץ האט קיין אַטריביוט 'דעקאָדע'
) דאָס איז זשוק 1073919 . א פאַרריכטן איז שוין בנימצא פֿאַר ראַרינג און סאָסי. אַלטערנאַטיוועלי ( אַוואַנסירטע יוזערז בלויז ), איר קענען טוישן די טעקע /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
רעדאַגירן: די פיקס איז איצט באפרייט אין ווערסיע 0.3ubuntu7.1 אין Raring (SRU) און פֿאַר 0.3ubuntu8 אין Saucy.
Автоматическая установка - плохая идея. Если вы хотите сэкономить на вводе, вы можете использовать
sudo apt-get install !!
, где !!
будет заменено последней командой из истории. Вы, вероятно, также могли бы сделать это псевдонимом, но я не знаю, как добавить !!
, не оценивая его.
Однако есть некоторые предостережения, как упоминалось @ eliah-kagan и @gertvdijk в комментариях. У некоторых программ нет того же имени пакета, что и у исполняемого двоичного файла. Кроме того, передача аргументов в двоичный файл может привести к неожиданным результатам.
Мое решение представляет собой гибрид между безопасностью и удобством:
auto-apt проверяет доступ к файлам программ, работающих в его среды, и если программа пытается получить доступ к файлу, известному принадлежат к неустановленному пакету, auto-apt установит этот пакет с помощью apt-get. Для работы этой функции требуются apt и sudo. Он также предоставляет простую базу данных для поиска, какой пакет содержит запрошенный файл.
Это эмулятор терминала, в котором вы входите в среду, где каждый доступ к файлу проверяется заранее с помощью auto-apt, и если он не существует, он выполняет поиск в базе данных (a la apt-file
]), загрузите и установите нужный пакет, а затем разрешите программе продолжить работу. Вы должны выполнить его как root:
sudo auto-apt
Это полезно в тех случаях, когда вы создаете пакет и не в настроении находиться перед экраном, ища каждую ошибку конфигурации, отсутствующие заголовки и т.д.
Это также может использоваться в качестве замены apt-get + apt-file, где вы можете устанавливать программы, просто сообщающие команде
о необходимости их выполнения.
Вы должны понимать, что не должны оставлять его открытым, когда ваша система не работает. t выглядело так, поскольку это почти как если бы вы использовали пользователя root.
Страница руководства: http://derpi.tuwien.ac.at/cgi-bin/man/man2html?1+auto-apt
Есть несколько способов быстрой установки предлагаемого пакета:
Добавить export COMMAND_NOT_FOUND_INSTALL_PROMPT = 1
где-нибудь вроде ~ / .bashrc
это самый «крутой» способ, хотя, очевидно, не так безопасно, но, вероятно, в 90% случаев вызовет внутреннее «Спасибо, это именно то, что я хотел, чтобы вы сделали!» ответ.
(Один личный недостаток этого метода заключается в том, что мне кажется, что ответ трудно запомнить / найти, поэтому я, как правило, не использовал его до сих пор.)
Если вы используете Терминал по умолчанию , вы можете быстро выбрать строку и щелкнуть средней кнопкой мыши, чтобы вставить ее прямо в командную строку. (Другие терминалы или приложения SSH могут иметь другие методы.)
На практике я обычно нахожу это достаточно быстрым и немного сложнее сделать «случайно» и без какой-либо предварительной настройки, поэтому я предпочитаю это делать.
Однако есть что сказать - если вы умеете (или хотите научиться) быстро печатать - для непосредственного ввода sudo apt install packagename
.
Это помогает вам тренировать мышечную память , а также означает, что вам нужно прочитать и ввести имя пакета, что означает, что вы, вероятно, легче запомните его в будущем. Это также немного проще в более поздних версиях Ubuntu, потому что apt
работает вместо apt-get
.