OpenSUSE: Найдите все Пакеты без репозитория

Существует несколько программ, которые имеют несколько различных реализаций, которые совместимы, что касается их основных функций, но отличаются по деталям или расширения и возможно имеют документацию, которая была записана независимо. Когда это произойдет, Вы будете видеть различные страницы справочника в различных системах, так как это технически различные программы.

Несколько примеров на Linux cron (существует несколько реализаций вокруг), init и друзья (существует много различий между SysVinit, Upstart и Systemd), awk (большинство систем Linux имеет GNU awk, но существует также меньший Mawk), locate (существует GNU, располагаются, и затем там mlocate и slocate), …

Кроме того, некоторые программы имеют дополнительные функции, которые выбраны параметрами компиляции. Часто страница справочника сгенерирована во время компиляции и только документирует опции, включенные в ту конкретную компиляцию.

Некоторые дистрибутивы поднимают свои страницы руководства онлайн (это может быть полезно для проверки мобильности), например, Debian, SuSE, Ubuntu, … ссылки должна быть на теге распределения Wiki на Exchange Стопки Unix (если распределение имеет страницы справочника онлайн, и ссылка не находится в Wiki, добавьте его).

3
01.11.2012, 00:01
3 ответа

Используя ответ/руководство 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

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

2
27.01.2020, 21:13
rpm -qa --qf '%-30{DISTRIBUTION} %{NAME}\n'| sort

дает Вам список всего repos, используемого Вашими пакетами. Нахождение тех, которых Вы не хотите, оставляют как осуществление читателю. :-).

4
27.01.2020, 21:13
[1130292]Пакеты, которые "потеряли" свой репозиторий или были установлены непосредственно из файла .rpm, покажут [1130738]Репозиторий: @System[1130739] когда вы делаете на них [1130740]zypper info[1130741]. Поэтому теоретически их все можно найти с помощью [1130742]zypper-пакетов --repo @System --installed-only[1130743], но в libzypp этого до сих пор не хватает ([1130744]openSUSE Bug 770239 - 'zypper pa' не поддерживает @System repo[1130745]). [12191]В качестве обходного пути нужно делать [1130746]информацию по зипперам[1130747] для каждого установленного пакета и фильтр для тех, у кого есть репозиторий [1130748]@System[1130749]:[12192]Довольно медленно, но делает работу.[1130297].
1
27.01.2020, 21:13

Теги

Похожие вопросы