ENote
  • ✨Home
    • Відмова від відповідальності
  • Progr
    • Python
      • Модулі
        • pip
        • cgitb
        • datetime
          • Класс datetime() модуля datetime
            • Методы объекта datetime.datetime()
            • datetime.datetime examples
          • Класс timedelta() модуля datetime
            • datetime.timedelta examples
          • Класс date() модуля datetime
            • datetime.date examples
          • Класс time() модуля datetime
            • Формат для функций .strftime() и .strptime(). модуля datetime
        • os.path
        • pathlib
          • pathlib to str
        • subproces
        • os
        • Jinja
          • Синтаксис шаблонів Jinja
          • Клас Environment()
          • Простой пример cgi-скрипта c Jinja-шаблоном
          • Создание переменных
            • Як оновити глобальну змінну зсередини оператора IF / ELSE або циклу FOR
          • Фільтри і методи
          • Число у рядок, slices
          • Вбудовані фільтри Jinja2
        • re
          • re.search - example
          • re.findall - example
        • email / smtplib
          • Как отправлять электронные письма с помощью Python
        • requests
          • Як зберегти та завантажити файли cookie в запитах Python?
          • Извлечение и установка cookies с модулем requests в Python
          • Links
        • http.cookies
          • Всё о работе с cookie в Python — класс http.cookies
        • xlrd
        • xlwt
        • borb
          • ChunkOfText
          • send_usage_statistics
          • borb clear
          • 2.1.3 vs 2.1.15
          • QR-code
          • Залежності borb
        • JSON
          • Кирилиця в JSON
        • matplotlib
        • argparse
        • click
        • configparser
        • traceback
        • sys
          • exit()
        • mysql-connector-python
        • logging
        • icrawler
        • Auto Plates
        • rembg
        • random
      • Strings
        • Built-in methods
        • Форматування виводу
        • Початкові нулі
        • Рядок в число
      • list
        • Об’єднання списків
        • list.sort(), sorted()
        • list.reverse(), reversed()
        • all(), any()
        • sum(), min(), max()
        • map(), filter(), reduce()
        • join(), split()
      • tuple
      • dict
        • Об'єднання / злиття словників
        • Сортування словника Python: значення, ключі тощо
      • set
      • class Enum
      • Середнє арифметичне
      • Virtual environment
        • web-app
      • type(), isinstance()
      • __main__
      • Files & Dirs
        • Try except for exception handling
        • Cписок файлов директории
        • User Home Dir
        • Copy file
      • *args, **qwargs
      • Links
      • Область видимости
      • Handling a File Error
      • assert
      • if
      • Числа
        • Округлення чисел
        • Отримати число з рядка
      • Обработка исключений в Python
      • Файлы и сериализация данных
      • OOP
      • Net and Web
      • Структура проекта на Python
      • Распаковка итерируемых объектов
      • Links
      • Algorithms
      • Python exit commands: quit(), exit(), sys.exit() and os._exit()
      • Цикли for / while
      • uuid
    • JavaScript
      • String
        • replaceAll() polyfill
        • Шаблонные строки
      • Array
        • Все способы перебора массива в JavaScript
      • Object
      • document.location
      • RegExp
      • Examples
        • Вычисление остатка от деления
        • Остаток от деления и деление без остатка
        • Округление числа
      • XMLHttpRequest
      • alert, prompt, confirm
      • onclick
      • hidden, display:none
      • LocalStorage, sessionStorage
      • null, undefined
      • cookies (js)
      • var, let и const
        • var vs let
        • const
      • Модифікація DOM
        • DOM select
      • JSON
        • Try
      • fetch
      • typeof
      • FormData не включає disabled набори полів
      • FormData, fdata
      • Більше одного відео YouTube на одній сторінці
    • HTML, CSS
      • favicon
      • Деякі спецсимволи
      • meta
      • ASCII table
      • lang
      • Псевдоелементи ::after і ::before
      • Cursor
      • Об использовании нестандартных пробелов
      • Картинка фоном
      • Безпечні веб-шрифти
      • Завжди внизу, незалежно від пропорцій екрану
      • напівпрозорий елемент
      • Символи з тінью
      • SVG (bootstrap)
      • rel = canonical
      • link stylesheet: integrity & crossorigin
      • rel = noopener
    • Bootstrap
      • Form Validate
      • Password show/hide
    • Errors
  • Dev
    • Git
      • clone
      • git-scm (book)
      • git config
        • files .git*
        • core.filemode
        • core.sharedRepository
      • .gitignore
      • .gitkeep
      • Видалити з репозиторію
        • Видалений файл з однієї гілки...
      • Пам’ятка
        • Перегляд історії комітів
        • Скасувати git add
        • revert
        • Скасувати внесені зміни у файл
        • Додати до коміту файл
        • Видалити історію попередніх коммітів, та почати "з нуля"
        • Додати файли в останній коміт
      • Робота з гілками
        • Порівняти гілки
      • Git за полчаса
      • Три розділи проєкту Git
      • Merge conflict
      • Pull error
        • Git Error: You have divergent branches...
      • diff
      • Video
      • Merge скасувати
      • .gitignore: Permission denied
    • GitHub
      • SSH-підключення до GitHub
      • Перенести на сервер локальный репозиторий
      • Перенести на сервер репозиторій разом з історією
      • Створення змісту
    • Security
      • robots.txt
      • Cookies
    • Аутентифікація і cookies
      • ChatGPT
  • data
    • MySQL
      • MyISAM vs InnoDB
      • Типи даних
        • NULL (todo)
        • TIMESTAMP
        • YEAR
        • JSON
        • Требования к памяти для символьных типов
        • Поиск записей в таблице, которым нет соответствия в другой
      • Приклад створення БД, та користувача
        • Права для пользователей
      • Переглянути всі індекси таблиці
      • Копіювання, клонування таблиць
      • TEMPORARY TABLE
      • JOIN
      • ALTER TABLE
      • AUTO_INCREMENT
        • AUTO_INCREMENT у складовому індексі
      • LIMIT
        • Использование MySQL LIMIT
      • 10 Примеров входной загрузки данных из текстового файла в таблицы MySQL
      • Рішення
        • Выявление и удаление несвязанных записей
        • Выборка произвольных записей
        • Коректне сортування українських літер
        • Найти записи, которые присутствуют в одной таблице и отсутствуют во второй
        • Как удобно посмотреть данные...
        • Нахождение "дыр" в нумерации
        • Знайти дубликати полів в одній таблиці
        • Дані колонки 1 табл. перенести в 2 табл.
      • Функції
        • LAST_INSERT_ID()
        • GROUP_CONCAT
        • COUNT + DISTINCT
        • Функции для работы с датами и временем
      • Автоматизируйте создание бэкапов
      • mysqldump
        • Time Zone UTC
      • Результат запиту у файл
      • Результат запиту у змінну
      • Пособие по MySQL на Python
      • Змінні
      • Эмуляция функции row_number() в MySQL
      • Изучаем хранимые процедуры MySQL
      • SELECT DISTINCT
      • Dump всієї бази даних
      • Індекси
      • FOREIGN KEY
      • MAX(), MIN()
      • LENGTH, CHAR_LENGTH
      • Встановлення
    • MariaDB
    • PostgreSQL
      • Работа с базой данных PostgreSQL
      • Работаем с PostgreSQL через командную строку в Linux
    • Domains
      • Життєвий цикл доменів
      • Статус домена
    • SQLite, MySQL и PostgreSQL: сравниваем популярные реляционные СУБД
  • Linux
    • DNS
      • Как в DNS прописать 301 редирект
      • mail
        • SPF
          • Mirohost
        • _dmarc _domainkey
        • DKIM
        • Прописати ключі DKIM в exim
        • Листи з неіснуючим адресатом
    • Server
      • Zomro
        • pip
        • SSH-доступ по ключу (zomro)
        • venv
        • UnicodeEncodeError: 'latin-1' codec can't encode character
        • Mail Ports
        • Редірект з SSL-сертификатом на транзитному сайті
        • Редірект з SSL за допомогою .htaccess
      • Створення нового користувача з привілеями sudo в Ubuntu
      • SSH-доступ по ключу
      • Часовий пояс в Ubuntu 20.04
      • SSH-підключення командний рядок
      • Як встановити Python 3.9 (нижчу) на Ubuntu 22.04
      • Автозагрузка сервисов в Ubuntu
      • Підвищення безпеки SSH
      • Ubuntu Server
        • Art 01
    • Commands
      • adduser
      • apt
      • cat
      • ls
      • tar
      • ln
      • find
      • chmod
      • chown
      • mv
      • dig
      • ping
      • passwd
      • htpasswd
      • umask
      • usermode
      • history
      • cmp
      • chattr +i
    • Config
      • Keyboard
      • windows
      • My kbdswtch
      • Затримка при завантаженні системи
      • Files
        • /etc/resolv.conf
        • /boot/grub/grub.cfg
        • .config/user-dir.dirs
        • /etc/fstab
      • Як встановити шрифти
    • Apache
      • Встановлення
      • Подключить виртуальный хост
      • Файл .htaccess
        • Установка индексного файла
        • Фільтр IP-адрес
        • ModRewrite
          • Заборонити доступ за User-Agent
          • Перенаправити на іншу сторінку
          • Додавати слеш до адреси
        • Включити SSI
        • Виконувати скрипти CGI
        • Тимчасовий перехід з одного домену на інший
      • SSI
      • SSL
      • Відключити старт Apache з системою
      • Помилки
        • Скрипт не працює
        • CGI-скрипт не виводить кирилицю
        • Could not reliably determine
        • Permissions are missing on a component of the path
        • Symbolic link not allowed or link target not accessible
      • AddType, AddLanguage, AddCharset
    • Nginx
      • 301 редирект з www. та http: на https://(без www.)domain
    • Soft
      • SublimeText
        • Plugins
      • Firefox
      • Gwenview
      • inkscape
      • Double Commander
      • nano
      • mc
        • Знайти потрібний файл
      • meld / diffuse
      • hexedit
      • Kazam - відео з екрану
      • VeraCrypt
      • XnView MP
      • LibreOffice
      • xdotool
      • System Load Monitor
      • Battery Monitor
      • qBittorrent
    • Перетворення .RPM в .DEB
    • Bash
      • Конкатенация строк в Bash
      • Page
    • Файлові часові позначки в Linux: atime, mtime, ctime
    • Права доступу для файлів і каталогів
    • Зміна паролю root
    • Быстро удалить огромное количество файлов в каталоге
    • Як узнати версію Linux?
    • USB Flash ext4
    • Clear Cache
    • Доступ до спільної папки на Windows
    • Віртуальні консолі TTY1–TTY6
    • APT. Заборона оновлення
  • Різне
    • GitBook
    • Банковское округление
    • Ім’я користувача Youtube
  • Hard
    • Hardware
      • Acer Extensa
      • Таймер Feron TM22
      • WD My Book World Edition 2Tb
        • FTP
        • SSH
          • Проблеми
        • SSHFS
      • Canon PIXMA E3340
      • Термометри
    • Auto
      • Акумулятор
    • Electro
    • USB Flash recovery
Powered by GitBook
On this page
  • Что такое apt?
  • Использование команд apt для управления пакетами в дистрибутивах Linux на базе Debian и Ubuntu
  • Обновление базы данных пакетов с помощью apt
  • Обновление установленных пакетов с помощью apt
  • Как установить новые пакеты с apt?
  • Как установить несколько пакетов с apt?
  • Как обновлять пакеты, не устанавливая их?
  • Как удалить установленные пакеты с помощью apt?
  • В чем разница между apt remove и apt purge?
  • Поиск пакетов
  • Просмотр содержимого пакета.
  • Список обновляемых и установленных версий
  • Как очистить вашу систему с помощью apt?
  • Итоги
  1. Linux
  2. Commands

apt

Використання команди apt у Linux

PreviousadduserNextcat

Last updated 8 months ago

Краткое описание: В этой статье мы покажем, как использовать команды apt в **Linux. **И приведем примеры, чтобы вы научились эффективно управлять пакетами.

Если вы используете Debian, Ubuntu, Linux Mint или любые другие дистрибутивы Debian или Ubuntu, вы наверное знакомы с некоторыми командами apt.

Впервые команды apt появились **Ubuntu 16.04 **и с тех пор постепенно набирают популярность. Поскольку все больше и больше дистрибутивов Linux, основанных на Ubuntu, настаивают на том, чтобы apt была командой по умолчанию для управления пакетами. Ну что же, пришло время узнать, как использовать команды apt.

В этом руководстве я собираюсь объяснить вам различные команды apt с примерами, чтобы вы могли использовать их для своих повседневных задач.

Что такое apt?

Возможно, вы уже знаете, что Ubuntu происходит от Debian Linux. И Debian использует систему управления пакетами dpkg. Система управления пакетами — это способ предоставления программ и приложений для установки.

APT (Advanced Package Tool) — инструмент командной строки для взаимодействия с системой управления пакетами. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, удаления пакетов и т. д.

Использование команд apt для управления пакетами в дистрибутивах Linux на базе Debian и Ubuntu

Для этой статьи я буду использовать Ubuntu 16.04, но вы можете использовать любые другие дистрибутивы Linux на базе Debian/Ubuntu, такие как Linux Mint, Linux Lite и т.д.

Кроме того, я использую тему Pop в Ubuntu, поэтому мой терминал выглядит иначе, чем обычный фиолетовый тематический терминал.

Обновление базы данных пакетов с помощью apt

Apt фактически работает с базой данных доступных пакетов. Если база данных не обновляется, система не будет знать, имеются ли новые пакеты. Вот почему обновление репозитория должно быть первым, что нужно сделать в любой Linux-системе после установки.

Для обновления базы данных пакета необходимы привилегии суперпользователя, поэтому вам нужно будет использовать sudo.

sudo apt update

Когда вы запустите эту команду, вы увидите информацию о пакетах, полученную с разных серверов.

Здесь вы видите три типа линий: Hit, Get и Ign. Давайте разберемся с их значениями:

  • Hit: нет обновления для версии пакета.

  • Ign: пакет игнорируется. Либо пакет слишком старый, что нет возможности его проверить, либо произошла ошибка при извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не беспокойтесь, это не ошибка.

  • Get: доступна новая версия. Загрузится информацию о версии (а не пакет). Вы можете увидеть на скриншоте выше, что есть информация о загрузке (размер в kb) с названием «get».

Обновление установленных пакетов с помощью apt

После обновления базы данных пакетов вы можете обновить установленные пакеты. Для этого вы можете просто использовать следующую команду:

sudo apt upgrade

Команда покажет вам, количество пакетов и какие из них будут обновлены.

Существует еще один способ обеспечить полное обновление с помощью следующей команды:

sudo apt full-upgrade

Full-upgrade работает так же, как и обновление, за исключением того, что с его помощью для обновления системы требуется удаление пакета, уже установленного в системе. Принимая во внимание, что обычная команда обновления этого не делает.

В чем разница между apt update и apt upgrade?

Обновление apt обновляет базу данных пакетов.

Например, если у вас установлен пакет XYZ версии 1.3, после apt update база данных будет знать, что доступна более новая версия (1.4). Когда вы выполняете apt upgrade, у вас произойдет непосредственное обновление установленных пакетов на их более новые версии.

Именно поэтому самый быстрый и удобный способ «обновить» вашу систему с помощью этой команды:

sudo apt update && sudo apt upgrade -y

Как установить новые пакеты с apt?

Если вы уже знаете название пакета, его можно установить с помощью следующей команды:

sudo apt install <package_name>

Просто замените <package_name> на нужный пакет. Предположим, вы хотите установить mplayer, вы можете просто использовать следующую команду:

sudo apt install mplayer

Если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать на клавишу Tab, тут вы увидите предложение всех пакетов, доступных с этими буквами. Например:

Как установить несколько пакетов с apt?

Вы можете устанавливать не только один пакет за один раз. Вы можете установить несколько пакетов одновременно, указав имена пакетов вместе:

sudo apt install <package_1> <package_2> <package_3>

Что делать, если вы запускаете apt install для уже установленного пакета?

Не нужно волноваться. Это просто заглянет в базу данных, и если будет найдена более новая версия, она обновит установленный пакет до более новой версии. Так что никакого вреда не будет, если вы случайно выполните apt install для уже установленного пакета.

Как установить пакеты без обновления?

Бывает, что по какой-то причине вы хотите установить пакет, но не хотите его обновлять. В этом случае вы можете использовать опцию -no-upgrade следующим образом:

sudo apt install <package_name> --no-upgrade

Как обновлять пакеты, не устанавливая их?

Если вы хотите обновить пакет, но не хотите их устанавливать (если он еще не установлен), вы можете воспользоваться следующей командой:

sudo apt install <package_name> --only-upgrade

Как установить определенную версию приложения?

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

Просто добавьте = версию с названием пакета.

sudo apt install <package_name>=<version_number>

Как удалить установленные пакеты с помощью apt?

Давайте посмотрим, как удалить пакеты. Удаление пакетов выполнять так же просто, как и их устанавливать. Просто используйте следующую команду:

sudo apt remove <package_name>

Вы просто начните вводить имя пакета и нажимаете на клавишу Tab, и она предложит все установленные пакеты, которые начинаются с этих букв.

Другой способ удаления пакетов — использовать очистку. Команда используется следующим образом:

sudo apt purge <package_name>

В чем разница между apt remove и apt purge?

  • apt remove просто удаляет двоичные файлы пакета, но оставляет файлы конфигурации.

  • apt purge удаляет все, что связано с пакетом, включая файлы конфигурации.

Если вы использовали apt remove, чтобы избавиться от определенного программного обеспечения, а затем снова решили установить его, ваше программное обеспечение будет иметь исходные файлы конфигурации. Конечно, вам будет предложено переопределить существующие файлы конфигурации при его повторной установке.

Очистка полезна, когда вы что-то напутали с конфигурированием программы, если вы хотите полностью стереть свои следы из системы. И да, вы можете использовать apt purge для уже удаленного пакета.

Обычно apt remove более чем достаточно для удаления пакета.

Поиск пакетов

Я не очень люблю этот способ поиска пакетов, но и не могу отрицать его полезность, при поиске какой-то конкретной библиотеки. Просто используйте следующую команду с требуемыми условиями поиска. Она найдет все пакеты, содержащие ваш поисковый запрос.

apt search <search term>

Просмотр содержимого пакета.

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

apt show <package_name>

Это покажет информацию о данном пакете(-ах): размер его установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, среди прочего:

Список обновляемых и установленных версий

В команде apt появилась новая опция, под названием — list. Используя эту команду, вы можете увидеть все пакеты, готовые к обновлению:

apt list --upgradeable

apt list --installed

Существует также третий вариант, называемый –all-versions. В нем будут перечислены все доступные для вашей системы пакеты:

apt list -all-versions

Как очистить вашу систему с помощью apt?

Мы уже говорили о способах очистки системы Ubuntu, для освобождения места. В отличие от apt-get, здесь нет общей команды, как autoclean. Но вы все равно можете использовать опцию autoremove и освободить некоторое дисковое пространство:

sudo apt autoremove

Эта команда удаляет библиотеки и пакеты, которые были установлены автоматически. Если пакет удален, эти автоматически установленные пакеты, хотя и бесполезны, но все ровно остаются в системе.

Недавно я очистил свою систему, и поэтому она отображает только несколько килобайт файлов, которые нужно удалить. В противном случае вы можете запросто получить более 100 мб свободного места с помощью этой команды.

Итоги

Я намеренно не включил команду apt edit-sources в эту статью. Это потому, что этот параметр команды является незавершенным, и на данный момент он ничего не делает, кроме открытия файла sources.list в редакторе по вашему выбору. Надеюсь, что вы поняли как пользоваться командами apt.

http://blog.sedicomm.com/2018/04/06/ispolzovanie-komand-apt-v-linux-polnoe-rukovodstvo/