Вопрос или проблема
Когда я устанавливаю Snap-пакеты через терминал, он не показывает мне много информации. Я хочу видеть больше информации, такой как установленные зависимости и прочее.
Кроме того, мне не нравится, что после отображения чего-либо текст очищается, и показывается следующее сообщение. Вот что я имею в виду:
Сначала он говорит что-то вроде этого:
Загрузка snap "snap" (5555) из канала "latest/stable" ...
Затем он полностью очищает этот текст и говорит что-то другое:
Монтирование snap "snap" ...
Мне бы хотелось, чтобы он хотя бы перестал очищать эти сообщения и просто отображал их как обычный менеджер пакетов. Например, apt не очищает, он продолжает отображать все. Представьте, что есть что-то, что мне хотелось бы увидеть, и я отошел от экрана на секунду, и не смог это увидеть…
Apt против Snap
Если вы запутались, вот разница между тем, что я увижу, когда вернусь к экрану в apt и snap.
Apt:
Подготовка к распаковке .../language-pack-gnome-en_1%3а20.04+20220211_all.deb ...
Распаковка language-pack-gnome-en (1:20.04+20220211) поверх (1:20.04+20210802) ...
Подготовка к распаковке .../language-pack-gnome-en-base_1%3а20.04+20220211_all.deb ...
Распаковка language-pack-gnome-en-base (1:20.04+20220211) поверх (1:20.04+20210802) ...
Настройка language-pack-gnome-en (1:20.04+20220211) ...
Настройка language-pack-gnome-en-base (1:20.04+20220211) ...
Обработка триггеров для bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu2) ...
Перестройка /usr/share/applications/bamf-2.index...
~$
Snap:
Перестройка /usr/share/applications/bamf-2.index...
~$
Ubuntu 20.04
Хотя я не нашел способа получить вывод напрямую из команды, вы можете использовать snap tasks --last=install
, чтобы увидеть вывод после выполнения. Например:
$ sudo snap install code --classic
code 38c31bc7 от Visual Studio Code (vscode✓) установлен
$ snap tasks --last=install
Статус Запуск Готов Резюме
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Убедитесь, что предварительные условия для "code" доступны
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Загрузка snap "code" (169) из канала "stable"
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Получение и проверка утверждений для snap "code" (169)
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Монтирование snap "code" (169)
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Копирование данных snap "code"
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Настройка профилей безопасности snap "code" (169)
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Сделать snap "code" (169) доступным для системы
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Автоматическое подключение подходящих подключений и слотов snap "code"
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Установить автоматические псевдонимы для snap "code"
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Настройка псевдонимов snap "code"
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Запуск установочного хука snap "code", если он присутствует
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Запуск стандартного конфигурационного хука snap "code", если он присутствует
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Запуск служб snap "code" (169)
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Запуск конфигурационного хука snap "code", если он присутствует
Готов сегодня в 20:25 UTC сегодня в 20:26 UTC Проведение проверки состояния snap "code"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Убедитесь, что предварительные условия для "core20" доступны
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Загрузка snap "core20" (2379) из канала "stable"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Получение и проверка утверждений для snap "core20" (2379)
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Монтирование snap "core20" (2379)
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Копирование данных snap "core20"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Настройка профилей безопасности snap "core20" (2379)
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Сделать snap "core20" (2379) доступным для системы
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Автоматическое подключение подходящих подключений и слотов snap "core20"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Установить автоматические псевдонимы для snap "core20"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Настройка псевдонимов snap "core20"
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Запуск установочного хука snap "core20", если он присутствует
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Запуск служб snap "core20" (2379)
Готов сегодня в 20:25 UTC сегодня в 20:25 UTC Проведение проверки состояния snap "core20"
Ответ или решение
Для того чтобы получить более подробную информацию при установке пакетов Snap через терминал, в настоящее время не существует прямого способа изменить уровень информативности, подобно тому, как это делается в apt
. Однако вы можете использовать несколько обходных путей, чтобы отслеживать процесс установки и увидеть больше информации о выполняемых действиях.
-
Использование команды snap tasks:
После выполнения установки Snap пакета, вы можете использовать командуsnap tasks --last=install
, чтобы просмотреть последние задачи, выполненные в процессе установки. Это будет полезно, чтобы увидеть все шаги, которые были выполнены, включая загрузку, монтирование и настройку пакета.Пример:
sudo snap install code --classic code 38c31bc7 from Visual Studio Code (vscode✓) installed snap tasks --last=install
Вывод покажет вам каждую задачу, которая была выполнена во время установки, что будет весьма полезно для понимания того, что произошло.
-
Используйте
-v
(verbose) для более детального вывода:
Хотяsnap
не имеет флага-v
для всех команд, в некоторых случаях можно использовать--verbose
, чтобы получить более детальную информацию о выполнении команд. Это может не всегда работать при установке, но стоит попробовать для других операций с Snap.Пример:
snap install <имя_пакета> --verbose
-
Изменение поведения терминала:
На текущий момент в Snap нет опции для сохранения всего вывода, как это делаетapt
. Однако можно перенаправить вывод команды в файл, чтобы иметь возможность просмотреть его в будущем:sudo snap install <имя_пакета> | tee установленные_пакеты.log
-
Работа с журналами:
Вы можете проверять системные журналы или журналы snap, чтобы увидеть, что произошло во время установки. Для этого можно использовать команду:journalctl -u snapd.service
Эти подходы помогут вам получить больше информации о процессе установки пакетов Snap и обеспечат лучшую видимость действий, выполняемых в терминале. К сожалению, в данный момент Snap не предоставляет такой же уровень вывода, как это делает apt
, и вы не можете полностью предотвратить очистку предыдущих сообщений.