Использование apt

Конспект в доработке

    Пакет deb

    Программы упаковываются в пакеты с расширением deb, туда помещается различная информация:
    Набор файлов, верификация содержимого и атрибутов
    Зависимости от наличия других пакетов и их версий
    Скрипты исполняемые при установке и удалениии
    Метаданные пакета - имя, версия, сборка
    Триггеры

    Триггеры

    Триггер - это скрипт
    Позволяет изменять состояние пакета в зависимости от статуса установки другого пакета.

    Информация о пакете

    Посмотреть информацию о пакете:

    apt show name_package
    ABI
    Двоичный интерфейс приложений - набор соглашений для доступа приложений к операционной системе и низкоуровневым сервисам, спроектирован для переносимости исполняемого кода между машинами, имеющими совместимые ABI ABI регламентирует использование регистров процесора, состав и формат системных вызовов одного модуля другим, формат передачи аргументов и возвращаемых значений, организацию стека, типы данных, форматы файлов.
    Если объектный файл был создан компилятором, поддерживающим определенный EABI, тогда компановка возможна любым другим компановщиком поддерживающий этот же EABI.
    В библиотеках linux ABI документирует интерфейсы, которые разработчик определил как стабильные

    Зависимости

    Зависимости - библиотеки, программы, драйвера, другое...

    Обновление кэша

    В официальных репозиториях возможны обновления, например ссылки на какой то пакет, поэтому перед установкой или обновлением пакетов, необходимо синхронизировать локальный кэш с репозиторием, для этого в debian подобных, есть следующая команда:

    apt update
    Полезные команды в менеджере apt
    apt help

    Поиск установленного пакета по названию(установлен, не установлен)

    apt list yandex*

    Различная информация о пакете, независимо от того, установлен он в систему или нет

    apt show vim

    Удаляет пакет вместе с конфигурационными файлами пользователя

    apt purge postgresql*

    Обновляет локальный репозиторий и удаляет неактуальные версии пакетов

    apt dist-upgrade apt full-upgrade
    Структура пакетов deb

    https://hackware.ru/?p=8185

    Сборка пакетов deb

    https://losst.ru/sozdanie-deb-paketov
    https://www.dmosk.ru/instruktions.php?object=build-deb

    apt-file

    Поиск файлов в пакетах, как в установленных так и в не установленных.

    apt install apt-file apt-file update apt-file search test.h apt-file search test.h
    Зависимости пакета
    apt depends vim apt-cache depends
    Зависимость пакетов от данного пакета

    Следует проверить перед удалением, если не уверен

    apt-cache showpkg nmap
    Cписок изменений пакета

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

    apt changelog vim
    Скачать пакет без установки
    apt download nmap
    Проверить cache приложений и сломанные зависимости
    apt-get check nmap
    Установить локальный .deb пакет
    #Установка без проверки зависимости sudo dpkg -i nmap_7.60-1ubuntu5_amd64.deb #Опция f пытается привести в норму нарушенные зависимости. Опция f используется с командами install/remove, может пропустить какие то пакеты, чтобы найти решение. apt install -f #Установка пакета и его зависимостей из указанной директории ./ apt install ./nmap_7.60-1ubuntu5_amd64.deb
    Удаление ненужных зависимостей
    sudo apt autoremove
    Отчистить кэш пакетов

    В директории /var/cache/apt/archives хранится кэш пакетов на случай если необходимо откатиться на старую версию пакета.

    apt clean
    Ошибка: 404 Not Found [IP: 172.89.202.113 443]

    Возникает при использовании команды: apt install, apt upgrade, apt full-upgrade, apt dist-upgrade
    При выполнении этих команд информация о пакетах берется из локального кэша. Кэш автоматически не обновляется. Данные на удаленном сервере с пакетами могут изменяться, удаляться, при этом кэш об этом не знает, поэтому при запуске команд ошибка 404 говорит о том, что файл на сервере 172.89.202.113 443 не найден.
    Данную проблему можно решить обновлением списка пакетов:
    apt update

    Далее можно обновить сами пакеты:

    apt full-upgrade
    Ошибка: Соединение разорвано [IP: 92.99.230.13 80]

    Данная ошибка говорит о том, что при попытке скачать пакет, соединение по какой то причине было разорвано, в таком случае можно попробовать заново запустить команду

    E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

    Данная ошибка может возникать по разным причинам:
    Старый список пакетов, обновить список:

    apt update --fix-missing

    Установка с помощью dpkg и как следствие отсутствие нужных зависимостей, в таком случае можно попробовать доустановить нужные зависимости:

    apt install -f

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

    apt clean

    Следующая команда покажет битые пакеты, которые не установлены

    apt autoremove

    То же самое можно проделать с помощью команды dpkg

    dpkg --configure -a

    Чтобы удалить такие пакеты:

    dpkg --remove -force --force-remove-reinstreq имя_пакета

    Ошибка битых пакетов чаще всего возникает, когда при установке программы не хватает зависимостей, в таком случае их можно установить вручную, более подробно рассказано в следующей статье: здесь


    Источники
    Последнее изменение: 09.10.2024 07:53


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ