База знаний (цифровой суверенитет)
  • Bash - работа с приложениями и утилитами

    Команды BASH
    1 4 6

    A
    521
    0

    Содержание

  • A
    521
    0

    🧹 Удаление списков пакетов APT (/var/lib/apt/lists/)


    Команда:

    rm -rf /var/lib/apt/lists/*
    

    удаляет все файлы в каталоге, где APT хранит списки пакетов (индексы репозиториев, метаданные, Release-файлы и др.).

    Разберём подробно, что означает каждый элемент, зачем это делается, и в каких случаях нельзя использовать эту команду.


    🔍 1. Что означает каждая часть команды

    rm

    Команда удаления файлов и директорий в Unix/Linux.

    -r

    Рекурсивное удаление:

    • удаляет файлы;
    • удаляет папки и всё их содержимое.

    -f

    Принудительное удаление:

    • без подтверждения,
    • игнорирует ошибки (например, если файл отсутствует).

    /var/lib/apt/lists/*

    Каталог, где хранятся загруженные APT списки пакетов:

    • индексы репозиториев,
    • файлы Packages,
    • метаданные о версиях,
    • локальные кэши источников.

    Символ * означает: удалить всё внутри каталога, но не сам каталог.


    📦 2. Что именно удаляется

    После выполнения:

    rm -rf /var/lib/apt/lists/*
    

    будет удалено буквально:

    • все кешированные списки пакетов репозиториев;
    • все индексы пакетов;
    • метаданные репозиториев;
    • файлы Release / InRelease;
    • индексация зависимостей.

    ⚠ Важно:

    Сами установленные пакеты это не затрагивает.
    Это влияет только на списки, используемые для поиска и установки.


    🔄 3. Что происходит после удаления

    APT перестанет "видеть" списки пакетов.

    При попытке установить что-либо:

    sudo apt install nano
    

    APT потребует обновить списки, и предложит выполнить:

    sudo apt update
    

    После чего заново скачает метаданные всех репозиториев.


    🐳 4. Применение в Docker (наиболее распространено)

    Для уменьшения размера Docker-образов после установки пакетов обычно делают так:

    RUN apt-get update \
     && apt-get install -y --no-install-recommends \
          curl wget nano \
     && rm -rf /var/lib/apt/lists/*
    

    Зачем?

    • уменьшает размер образа на 20–80 МБ;
    • ускоряет деплой;
    • улучшает кеширование слоёв Docker.

    🧰 5. Применение в LXC, Proxmox, chroot

    Можно безопасно очищать списки, например, чтобы:

    • пересоздать кэш APT;
    • исправить повреждённые списки;
    • обновить stuck-обновления;
    • уменьшить размер контейнера.

    Пример:

    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    

    🛑 6. Когда НЕ стоит выполнять эту команду

    Не используйте её:

    ❌ В автономных системах (offline)

    Если у вас:

    • локальные зеркала APT,
    • нет выхода в интернет,
    • офлайн-серверы

    — после удаления списков вы НЕ сможете установить новые пакеты.

    ❌ Если повреждён DNS / сеть

    APT не сможет скачать списки — система останется без возможности установки пакетов.

    ❌ В YunoHost при некорректных зеркалах

    Потому что YunoHost активно использует APT и большое количество репозиториев.


    🧾 7. Современные альтернативы (2025)

    Очистка кэша deb-пакетов (не списков):

    sudo apt clean
    

    Удаление только старых пакетов:

    sudo apt autoclean
    

    Удаление списка только одного репозитория:

    sudo rm /var/lib/apt/lists/deb.debian.org_debian_dists_bookworm_*
    

    Полное перевосстановление APT-метаданных:

    sudo rm -rf /var/lib/apt/lists/*
    sudo apt clean
    sudo apt update --fix-missing
    

    📝 8. Итог

    Команда:

    rm -rf /var/lib/apt/lists/*
    

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

    • для уменьшения размера Docker-образов,
    • для восстановления повреждённых списков,
    • при проблемах с зависимостями,
    • для очистки устаревших кешей.

    Однако требует интернет-соединения или локального зеркала, иначе пакетный менеджер останется без метаданных.

  • A
    521
    0

    Консольные браузеры


    Вот актуальный на 2025 год список рабочих консольных браузеров для Linux (все ставятся через пакетный менеджер и реально поддерживаются).

    Браузер Установка (Debian/Ubuntu/Mint) Плюсы Минусы Особенности
    lynx sudo apt install lynx Самый лёгкий, быстрый, работает везде Нет JS, нет картинок, очень аскетичный Идеален для чтения текста и API
    w3m sudo apt install w3m w3m-img Поддержка картинок в терминале (kitty, xterm с sixel), табло, JS частично через внешние скрипты Картинки только в некоторых терминалах Лучший для просмотра с картинками
    links2 sudo apt install links2 Графический режим (-g) — рисует в framebuffer, поддержка таблиц Старый, но живой Можно запускать с графикой без X11
    elinks sudo apt install elinks Самый функциональный текстовый: вкладки, Lua-скрипты, поддержка CSS Нет картинок, JS почти нет Лучший текстовый браузер в 2025 году
    browsh Скачать с https://www.browsh.org или через пакет Настоящий современный браузер (на базе Firefox), JS, CSS, картинки Требует X11 или Wayland + framebuffer Визуально почти как Chrome в терминале
    bomber go install github.com/nalgeon/bomber@latest Новый (2024–2025), написан на Go, поддержка JS и CSS Пока экспериментальный Очень перспективный
    edbrowse sudo apt install edbrowse Редактор + браузер, работает как ed/vi, поддержка JS Очень специфический интерфейс Для любителей ed и автоматизации
    surfraw sudo apt install surfraw Не браузер, а набор «поисковых эльфов» (google, wiki, archlinux и т.д.) Только поиск и быстрые ссылки Удобно вместо «sr google …»

    Самые интересные и живые в 2025 году (мой личный топ):

    1. elinks — до сих пор активно развивается, лучший чисто текстовый браузер.
    2. w3m + w3m-img — если у тебя терминал kitty, alacritty с sixel или iterm2 — будешь видеть картинки.
    3. browsh — реально современный веб в консоли (YouTube, Reddit, даже Netflix прогружается).
      Установка одной строкой:
      wget https://github.com/browsh-org/browsh/releases/latest/download/browsh_linux_amd64.deb
      sudo apt install ./browsh_linux_amd64.deb
      browsh
      
    4. bomber — новый, быстрый, написан на Go, уже умеет многое из современного веба.

    Быстрая установка всего самого крутого сразу (Debian/Ubuntu/Mint):

    sudo apt update а
    sudo apt install lynx w3m w3m-img elinks links2 edbrowse surfraw
    # + browsh отдельно (см. выше)
    
  • A
    521
    0

    Установка и удаление Snap


    Вот самый чистый, актуальный и проверенный на 2025 год способ установки и полного удаления Snap в Ubuntu/Debian/Mint/Pop!_OS и производных.

    Установка Snap (2025)

    sudo apt update
    sudo apt install snapd          # это всё, что нужно
    sudo systemctl enable --now snapd.socket   # на всякий случай
    

    После этого просто:

    snap install hello-world       # проверка
    

    Полное удаление Snap (ничего не останется)

    # 1. Список установленных snap-пакетов
    snap list
    
    # 2. Удалить ВСЕ snap-пакеты одной командой (2025 способ)
    sudo snap remove --purge $(snap list | awk '!/^Name|^snapd$/ {print $1}')
    
    # 3. Удалить сам snapd и всё, что с ним связано
    sudo apt purge -y snapd gnome-software-plugin-snap 2>/dev/null || true
    sudo apt autoremove -y
    
    # 4. Удалить остатки (это важно!)
    sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd
    rm -rf ~/snap
    
    # 5. (Опционально) Убить запущенные процессы snap, если висели
    sudo killall snapd || true
    
    # 6. Перезагрузить (рекомендуется)
    sudo reboot
    

    Однострочник полного удаления (мой личный, копируй-вставляй)

    sudo snap remove --purge $(snap list | awk '!/^Name|^snapd$/ {print $1}') 2>/dev/null; \
    sudo apt purge -y snapd gnome-software-plugin-snap; sudo apt autoremove -y; \
    sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd ~/snap; \
    echo "Snap полностью уничтожен. Перезагрузись!"
    

    Как проверить, что Snap действительно мёртв

    which snap && echo "Ещё жив!" || echo "Snap мёртв. Празднуем!"
    ls /snap /var/snap 2>/dev/null && echo "Остатки есть" || echo "Чисто"
    

    Альтернативы Snap (куда люди уходят в 2025)

    Что ставить вместо Snap Команда установки
    Flatpak sudo apt install flatpak
    AppImage просто скачиваем и запускаем
    Обычные .deb sudo apt install ...
    Distrobox / Toolbox для запуска приложений в контейнерах