Рейтинг:5

Как найти метод установки для данной команды?

флаг lu

Я обычно устанавливаю пакеты, используя следующие методы:

  • Из репозиториев Ubuntu: sudo apt install имя_команды
  • Из PPA: мне нужно добавить PPA, чем запустить: sudo apt install имя_команды
  • Непосредственно из файла deb (например, загруженного с github, такого как pandoc): sudo apt install /path/to/packageName
  • С помощью снапа.
  • Использование изображений приложений
  • Использование плоского пакета

Иногда мне нужна эта информация, например, какой метод я использовал для установки данной команды/пакета.

Есть ли в Ubuntu команда с именем команды, которая вернет эту информацию?

guiverc avatar
флаг cn
Я обычно использую `whereis`, чтобы найти его местоположение. Одна только эта деталь может сказать вам тип пакета во многих случаях, и этот вывод решит, нужно ли мне идти дальше.. т.е. Я мог бы `dpkg -S`, если бы первый результат указывал на установленную *deb* и т. д., но я также буду знать подробности своего выпуска, которые влияют на то, как я интерпретирую результаты. например. `whereis ls` дает мне подробную информацию о `dpkg -S`, но для моего релиза `whereis chromium` говорит мне, что это *snap*, так что мне больше не нужно искать...
флаг hr
Если команда предоставляется пакетом deb (либо напрямую, либо из PPA, либо из официального репозитория), тогда `apt policy ` может быть полезно для определения того, какой
OK-Validation avatar
флаг lu
@steeldriver: Спасибо! это полезная команда.
Рейтинг:5
флаг cn

Есть ли в Ubuntu команда с именем команды, которая вернет эту информацию?

Нет, нет. Вам нужно провести некоторые расследования. Во-первых, тип Команда покажет информацию о характере команды:

введите <команда>

Эта команда укажет, является ли она встроенной оболочкой, псевдонимом, а если исполняемым файлом, то хеширована ли она, т. е. проиндексирована для быстрого поиска — это указывает на то, что вы запускали команду по крайней мере один раз в сеансе ранее. , или где находится двоичный файл.

Место, где установлен исполняемый файл, уже намекает на то, как был установлен пакет. Команда который раскрывает свое местонахождение:

какая <команда>
  • Исполняемые файлы пакетов, установленных с помощью обычной системы APT, то есть из репозиториев программного обеспечения Ubuntu, из добавленного вами PPA или из загруженного .deb установочный файл, обычно устанавливается в /USR/бен или же /бин. Используйте команду dpkg -S шаблон поиска имени файла чтобы узнать, какой пакет установил файл (источник).
  • Исполняемые файлы, установленные Snap, отображаются в специальном каталоге, который добавляется в ДОРОЖКА, т.е. / привязка / бен. Подтвердите, что это snap-пакет, найдя его в выводе список моментальных снимков.
  • Flatpak не предоставляет исполняемые файлы в PATH. Однако вы можете узнать, установлен ли пакет таким образом, из вывода команды список плоских пакетов --app.
  • Исполняемые AppImages могут быть размещены где угодно. Таким образом, не существует общего метода распознавания их источника. Однако, как правило, они не переименовываются, и их легко узнать по расширению. .AppImage.

Если ваш пакет был установлен как .deb, вы можете дополнительно различать вывод:

подходящая политика <пакет>

URL-адрес в выходных данных напрямую намекает, из какого источника пришел пакет, если он был установлен из источника программного обеспечения. Отсутствие URL указывает на то, что пакет был установлен с локально загруженного .deb.

OK-Validation avatar
флаг lu
Вероятно, это хороший показатель того, что для поиска этой информации необходим скрипт.
флаг hr
Вы также можете упомянуть `тип `в качестве альтернативы `который ` так как это разрешит случаи встроенных функций/функций/псевдонимов оболочки.Кроме того, `realpath -f $(what command)` иногда бывает полезен, когда команды связаны символическими ссылками (например, те, которые управляются механизмом `update-alternatives`).
OK-Validation avatar
флаг lu
@steeldriver: Точно. по иронии судьбы я читал об этом благодаря комментарию к моему вопросу здесь: https://unix.stackexchange.com/q/683661/504663

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.