Поиск пакетов, установленных задачей с помощью tasksel

Ну, невозможно узнать, о чем думал автор этого сценария. Но вот некоторые наблюдения:

  • Если команда awkдействительно говорит printf, затем он печатает целочисленное значение второй строки в строке ввода.
  • Как роайма прокомментировал и как я, как известно, прокомментировал, awk— очень мощная программа. Вам почти никогда не нужно запускать его в комбинации с grep, sedили другим awk. Так
    grep num_lines filename | awk '{ printf("%d", int($2)) }'
    можно написать
    awk '/num_lines/ { printf("%d", int($2)) }' filename
  • Как я упоминал выше, int($2)дает вам целую часть второй строки в строке ввода. Итак, если в файле конфигурации указано num_lines   foo, вы получите 0. Если написано num_lines   3.14, вы получите 3. Маловероятно, что вам потребуется принимать такие меры предосторожности. с хорошо -сформированным конфигурационным файлом.
  • В любом случае,
    printf("%d", int($2))
    — это излишество. Насколько я могу судить,
    printf("%d", $2)
    и
    print int($2)
    (почти )точно эквивалентны.
  • Единственное отличие, которое я могу определить заключается в том, что версия printfне пишет новую строку в конце :
    $ echo "num_lines   42" | awk '{printf("%d", $2)}'; date
    42Mon, May 13, 2019 12:00:00 AM
     
    $ echo "num_lines   42" | awk '{print int($2)}'; date
    42
    Mon, May 13, 2019 12:00:01 AM
    но это не совсем актуально, поскольку `…`удаляет завершающую новую строку.
  • Вы говорите: «Для меня это выглядит как обычное присваивание переменной». Но пользователи [t]csh знают, что это не позволяет
    variable=value
    ты должен сказать
    set variable=value
    или
    @ variable=expr
    Конечно, простая целочисленная константа допустима expr, . так что автор может просто использовать @вместо setпотому что это короче, и они знают, что значение является целым числом.

Таким образом, инструкция устанавливает переменную linesк значению num_linesиз ../config.txt.

0
01.07.2021, 03:26
1 ответ

Поскольку вы хотите выполнить очистку после taskselустановки пакета, вам необходимо определить, что на самом деле произошло в результате этой установки, а это сильно зависит от контекста -. Однако есть журналы; если вы отметите /var/log/apt/history.log, вы должны найти подробную информацию о том, что установлено tasksel, и вы сможете использовать это для удаления всех пакетов, которые были установлены вместе с task-cinnamon-desktop.

tasksel --task-packages cinnamon-desktopперечисляет только task-cinnamon-desktop, потому что это пакет, который устанавливает задача; все остальные пакеты являются зависимостями task-cinnamon-desktop. Вы можете увидеть их, нажав на ссылку выше, или используя apt show, apt-cache depends, apt-rdependsи т. д. Обратите внимание, что списки пакетов, которые вы найдете, используя этот подход, несколько теоретически :есть большое количество альтернативных зависимостей, и какой из них будет выбран, будет зависеть от того, какие другие пакеты уже установлены.

Заблаговременно , , т.е. до установки задачи, вы можете определить что будет установлено в данной системе, спросив aptчто она будет делать:

apt install -s task-cinnamon-desktop

(это работает без root ).

Чтобы определить, какие пакеты могут быть установлены, теоретически необходимо изучить дерево зависимостей. apt-rdependsпокажет вам максимальное дерево зависимостей, которое в данном случае не очень полезно. apt showпокажет вам зависимости каждого пакета; начиная сtask-cinnamon-desktop:

$ apt show task-cinnamon-desktop
...
Depends: tasksel (= 3.53), task-desktop, cinnamon-desktop-environment
...

taskselнеинтересно, но это показывает, что task-cinnamon-desktopизвлекает основной метапакет Cinnamon -cinnamon-desktop-environmentи общую настольную задачуtask-desktop.

Продолжая предыдущее:

$ apt show cinnamon-desktop-environment
...
Depends: cinnamon-core (>= 3.8), eog, evince | pdf-viewer, firefox-esr | firefox | chromium | iceweasel | gnome-www-browser, fonts-liberation, fonts-noto, gedit, gnome-calculator | galculator, gnome-screenshot, gnome-terminal | x-terminal-emulator, icedove | thunderbird | evolution | geary, pidgin | empathy, totem | gnome-mplayer | vlc, xdg-user-dirs-gtk
Recommends: blueman, brasero | k3b, cheese, cups, gdebi, gedit-plugins, gimp, gnome-disk-utility, gnome-font-viewer, gnome-games, orca | gnome-orca, gnome-sound-recorder, gnome-system-monitor, gnote, gstreamer1.0-libav, gstreamer1.0-plugins-ugly, hexchat | xchat, inkscape, libreoffice-calc, libreoffice-gnome, libreoffice-impress, libreoffice-writer, mate-themes, rhythmbox, rhythmbox-plugin-cdrecorder, rhythmbox-plugins, shotwell | gnome-photos, simple-scan, sound-juicer, sound-theme-freedesktop, synaptic, system-config-printer, transmission-gtk | deluge, vinagre, vino, yelp, zenity
...

Окружение рабочего стола зависит от cinnamon-core, eog, средства просмотра PDF(evinceпо умолчанию ), веб-браузера(firefox-esrпо умолчанию ), различных шрифтов, geditи т. д. также рекомендует ряд пакетов, которые будут установлены по умолчанию, но могут быть удалены без удаления метапакета -.

1
28.07.2021, 11:21

Теги

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