Как удалить все пакеты Snap и snapd, предпочтительно одной командой [дубликат]

Вопрос или проблема

Я в настоящее время использую машину с Ubuntu 20.04 с небольшим объемом корневого раздела. Стандартная установка snap занимает ~1G пространства, хотя и с немногими пакетами. Когда я попытался удалить core из snap, я получил следующую ошибку.

# snap remove core18
error: cannot remove "core18": snap "core18" is not removable: snap is being used by snaps gnome-3-34-1804, gtk-common-themes и snap-store.

Я понимаю, что могу обойти эту проблему, сначала вручную удалив зависимости, но есть ли однострочное решение, которое управляет зависимостями автоматически, чтобы все snaps и snapd можно было удалить за один раз?

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

  1. Откройте терминал

  2. Список всех snaps, установленных на вашей системе, с помощью snap list. Вы увидите что-то вроде этого:

    Name                  Version                     Rev    Tracking         Publisher         Notes
    chromium              87.0.4280.141               1444   latest/stable    canonical✓        -
    core                  16-2.48.2                   10583  latest/stable    canonical✓        core
    core18                20201210                    1944   latest/stable    canonical✓        base
    emote                 1.3.0                       12     latest/stable    tom-james-watson  -
    gnome-3-28-1804       3.28.0-19-g98f9e67.98f9e67  145    latest/stable    canonical✓        -
    gnome-3-34-1804       0+git.3556cb3               66     latest/stable    canonical✓        -
    gnome-system-monitor  3.36.0-12-g35f88a56d7       148    latest/stable/…  canonical✓        -
    gtk-common-themes     0.1-50-gf7627e4             1514   latest/stable/…  canonical✓        -
    snap-store            3.38.0-59-g494f078          518    latest/stable/…  canonical✓        -
    spotify               1.1.46.916.g416cacf1        43     latest/stable    spotify✓          -
    vlc                   3.0.11                      1700   latest/stable    videolan✓         -
    
  3. Удалите каждый snap, который вы могли выбрать для установки с помощью sudo snap remove <package>:

    sudo snap remove chromium
    sudo snap remove emote
    sudo snap remove spotify
    sudo snap remove vlc
    
  4. Удалите core snaps в следующем порядке (ваш список может незначительно отличаться):

    sudo snap remove snap-store
    sudo snap remove gtk-common-themes
    sudo snap remove gnome-system-monitor
    sudo snap remove gnome-3-34-1804
    sudo snap remove gnome-3-28-1804
    sudo snap remove core18
    sudo snap remove snapd
    
  5. Убедитесь, что на вашем компьютере больше не установлено snaps с использованием snap list. Вы должны увидеть сообщение вроде этого:

    No snaps are installed yet. Try 'snap install hello-world'.
    
  6. Отмонтируйте точки монтирования snap с sudo umount /snap/core/{point}, заменив {point} фактической точкой монтирования. Вы можете найти полный список с помощью df -h.

    Примечание: В Ubuntu 20.10 (и старше) вам нужно сделать только это: sudo umount /var/snap.

  7. Удалите snapd с вашего компьютера с помощью sudo apt purge snapd

  8. Удалите любые оставшиеся каталоги, связанные с snap:

    rm -rf ~/snap
    sudo rm -rf /snap
    sudo rm -rf /var/snap
    sudo rm -rf /var/lib/snapd
    

Теперь ваша система будет свободна от snaps.

Вы можете выполнить:

sudo snap remove $(snap list | awk '!/^Name|^core|^snapd/ {print $1}')
sudo apt purge snapd gnome-software-plugin-snap

Или одной строкой:

sudo snap remove $(snap list | awk '!/^Name|^core|^snapd/ {print $1}') && sudo apt purge snapd gnome-software-plugin-snap

Я должен добавить, что удаление snapd и gnome-software-plugin-snap1 также удаляет ubuntu-software, магазин программного обеспечения Ubuntu. Это можно исправить, выполнив

sudo apt install gnome-software

однако не все значки появятся обратно…

Ответ или решение

Для полного удаления Snap и Snapd с вашей системы Ubuntu 20.04, рекомендуется выполнить несколько шагов. Snap может занимать значительное пространство, особенно на системах с ограниченным объемом на корневом разделе. Вы, вероятно, столкнулись с проблемой при попытке удалить зависимости, такие как core18, использующиеся другими пакетами. Однако, существует возможность облегчить этот процесс. Давайте разберем последовательность действий:

Шаги по удалению Snap и Snapd

  1. Откройте Терминал
    Запустите терминал, чтобы вводить команды.

  2. Получите список всех установленных пакетов Snap
    Введите команду snap list, чтобы увидеть все установленные snap-пакеты. Вы получите что-то наподобие:

    Name                  Version                     Rev    Tracking         Publisher         Notes
    chromium              87.0.4280.141               1444   latest/stable    canonical✓        -
    ...
  3. Удалите установленные snap-пакеты
    Сначала удалите все пользовательские snap-пакеты, используя команду sudo snap remove <package>:

    sudo snap remove chromium
    ...
  4. Удалите системные snap-пакеты
    Удалите оставшиеся системные snap-пакеты:

    sudo snap remove snap-store
    sudo snap remove gtk-common-themes
    sudo snap remove gnome-system-monitor
    ...
  5. Проверьте, что все snap-пакеты удалены
    Убедитесь, что все snap-пакеты удалены с помощью snap list. Если пакеты отсутствуют, вы увидите сообщение:

    No snaps are installed yet. Try 'snap install hello-world'.
  6. Размонтируйте точки монтирования snap
    Используйте df -h, чтобы найти точки монтирования snap и размонтировать их:

    sudo umount /snap/core/{точка}

    Примечание: в Ubuntu 20.10 и новее можете использовать: sudo umount /var/snap.

  7. Удалите Snapd
    Для удаления snapd введите:

    sudo apt purge snapd
  8. Удалите оставшиеся директории Snap
    Убедитесь, что все директории, связанные с snap, удалены:

    rm -rf ~/snap
    sudo rm -rf /snap
    sudo rm -rf /var/snap
    sudo rm -rf /var/lib/snapd

Альтернативное однострочное решение

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

sudo snap remove $(snap list | awk '!/^Name|^core|^snapd/ {print $1}') && sudo apt purge snapd gnome-software-plugin-snap

Имейте в виду, что удаление snapd и gnome-software-plugin-snap1 также приведет к удалению программного обеспечения Ubuntu, которое можно восстановить следующим образом:

sudo apt install gnome-software

Заключение

Эти шаги обеспечат полное удаление Snap и Snapd с вашего устройства, освобождая дополнительное место в системе. Обратите внимание на зависимости, чтобы избежать конфликта с необходимыми системными пакетами.

Оцените материал
Добавить комментарий

Капча загружается...