Что означает «@» перед именем репо в «dnf list»?

В качестве варианта я использую следующее:

apt-get -V -s dist-upgrade \
    |grep -E "^   .*=>.*" \
    |awk 'BEGIN {
        ul=sprintf("%*s",40,""); gsub(/ /,"-",ul);
        printf "%-30s %-30s %-30s\n", "Package", "Installed", "Available";
        printf "%-30.30s %-30.30s %-30.30s\n", ul, ul, ul;
     }
     {
        printf "%-30s %-30s %-30s\n",
               $1,
               substr($2,2),
               substr($4,1,length($4)-1)
     }'

Вставьте его в сценарий с именем apt-updates , и вы можете затем вызвать apt-updates , чтобы получить список всех обновлений независимо от пользователя.

Вам по-прежнему нужно вызвать apt-get update с привилегированным доступом.

10
04.05.2018, 11:23
1 ответ

Позвольте мне бросить кирпич, чтобы привлечь сюда нефрит.

dnf список всех | less показывает все пакеты (включая установленные и доступные). Вывод состоит из двух разделов: «Установленные пакеты» и «Доступные пакеты». Всем «Установленным пакетам» предшествует знак @, а «Доступным пакетам» нет. Итак, я считаю, что знаки @ показывают, что пакеты установлены. Если пакет установлен, но его исходное репо было удалено, я полагаю, что отображается знак @@ .

Исходный код dnf размещен по адресу https://github.com/rpm-software-management/dnf . После загрузки кода src выполните команду grep в командной строке -ri. в каталоге и ничего не возвращает. Однако на его странице на github это упоминается

. Он осуществляет управление пакетами с использованием библиотек RPM, libsolv и hawkey.

Я смотрю на hawkey, который размещен в рамках того же проекта, по адресу https://github.com/rpm-software-management/hawkey . Посмотрите его код с помощью командной строки grep -ri. , он показывает некоторые результаты.

./src/types.h:#define HY_CMDLINE_REPO_NAME "@commandline"
./hawkey.spec:- fix: commandline RPMs do not provide their files (RhBug:1112810) (Ales Kozumplik)

Итак, командная строка взята из пакета hawkey . Что касается вопроса, почему @comandline отображается в команде dnf list , я предполагаю, что код dnf не может правильно использовать hawkey .

3
27.01.2020, 20:03

Теги

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