Существует несколько программ, которые имеют несколько различных реализаций, которые совместимы, что касается их основных функций, но отличаются по деталям или расширения и возможно имеют документацию, которая была записана независимо. Когда это произойдет, Вы будете видеть различные страницы справочника в различных системах, так как это технически различные программы.
Несколько примеров на Linux cron
(существует несколько реализаций вокруг), init
и друзья (существует много различий между SysVinit, Upstart и Systemd), awk
(большинство систем Linux имеет GNU awk, но существует также меньший Mawk), locate
(существует GNU, располагаются, и затем там mlocate и slocate), …
Кроме того, некоторые программы имеют дополнительные функции, которые выбраны параметрами компиляции. Часто страница справочника сгенерирована во время компиляции и только документирует опции, включенные в ту конкретную компиляцию.
Некоторые дистрибутивы поднимают свои страницы руководства онлайн (это может быть полезно для проверки мобильности), например, Debian, SuSE, Ubuntu, … ссылки должна быть на теге распределения Wiki на Exchange Стопки Unix (если распределение имеет страницы справочника онлайн, и ссылка не находится в Wiki, добавьте его).
Используя ответ/руководство Martin, я записал быстрый сценарий для взятия строки пакетов для удаления, zremove.sh
:
#!/bin/sh
pkgs=""
while read line
do
pkgs="$pkgs $line"
done
zypper rm $pkgs
После замечающий, что все мои пакеты "без репозитория" имели распределение openSUSE 12.1 в запросе об/мин, я дал эту команду, чтобы определить местоположение и удалить всех их:
rpm -qa --qf '%{DISTRIBUTION} : %{NAME}\n' | grep "openSUSE 12.1 :" | sed 's/openSUSE 12.1 : //' | sudo zremove.sh
Это обычно не отвечает на вопрос того, как найти все пакеты без отступающего репозитория, но он действительно решал мою начальную проблему.
rpm -qa --qf '%-30{DISTRIBUTION} %{NAME}\n'| sort
дает Вам список всего repos, используемого Вашими пакетами. Нахождение тех, которых Вы не хотите, оставляют как осуществление читателю. :-)
.