Linux установка нескольких пакетов одновременно

Многопоточная работа apt-get

Есть новая рабочая машина, постепенно устанавливаю нужный софт. Для установки использую apt-get, некоторые пакеты .deb и .run качаю и устанавливаю через Ubuntu Software Center. Я определенно могу выполнять apt-get install в нескольких инстансах терминала одновременно, но стоит ли так делать? Может ли привести к ошибкам при установке? Можно ли одновременно выполнять apt-get install и установку через Software Center?

Если пакеты независимые — то да, можно. Но на практике так лучше не делать. Некоторые пакетные менеджеры делают лок, поэтому, даже если запустить в паралель, все равно будет работать последовательно. Делает ли его apt — я не знаю.

1 ответ 1

можно дать команду на установку нескольких пакетов сразу:

$ sudo apt-get install пакет1 пакет2 . $ sudo dpkg -i файл1 файл2 . 

установка пакета — это не атомарное действие, а состоит из нескольких взаимосвязанных, поэтому при вызове всех упомянутых программ они устанавливают блокировку, препятствующую одновременному запуску нескольких экземпляров программ, вносящих изменения в пакетную базу.

ubuntu software center, как и прочие графические обёртки вокруг пакетной базы, для непосредственных манипуляций (в зависимости от реализации) либо напрямую вызывают упомянутые программы, либо действуют через библиотечные функции, и в конечном итоге тоже устанавливают ту же самую блокировку.

небольшое отступления с изложением некоторых подробностей:

apt , apt-get , aptitude — собственно установкой пакета не занимаются, а предназначены для:

  • взаимодействия с репозиториями: скачивания списков пакетов и файлов с пакетами
  • разрешения зависимостей и конфликтов на основе информации из списков пакетов и из уже установленных пакетов
  • принятия решений о том, какие именно пакеты устанавливать, какие удалять, какие обновлять

а собственно для установки/удаления/обновления пакетов эти программы вызывают уже dpkg , чей алгоритм работы достаточно сложен и подробно изложен в документации.

многие из всех выше-перечисленных действий (выполняемых как apt* , так и dpkg ), будучи выполнены одновременно в произвольном порядке, могут приводить к конфликтам и несогласованности. потому одновременный запуск этих программ нежелателен и (где возможно) запрещается блокировками.

Источник

Использование apt-команд в Linux

Использование apt-команд в Linux

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

Читайте также:  Kali linux получить root

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

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

Что такое apt

В Debian Linux используется система dpkg-пакетов. Система пакетов — это способ предоставления программ и приложений для установки. Таким образом, вам не придётся собирать программу из исходного кода, что, поверьте, не очень удобно для работы с пакетами. APT (Advanced Package Tool) — это инструмент командной строки для взаимодействия с системой упаковки в дистрибутивах Linux на основе Debian.

Для управления ими уже существуют команды dpkg. Но APT — более дружественный. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, удаления пакетов и т.д.

Команды apt предоставляют способ командной строки для взаимодействия с APT и управления пакетами.

На данный момент, я должен упомянуть, что apt-get, пожалуй, самый популярный инструмент из APT. Но apt медленно продвигается как альтернатива.

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

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

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

Если вы не хотите читать, можете посмотреть это видео с основными apt командами для пользователей Ubuntu.

Здесь вы увидите три типа строк: «Hit», «Get» и «Ign». В основном это:

  • Hit: нет никаких изменений в версии пакета по сравнению с предыдущей версией.
  • Ign: пакет игнорируется. Либо пакет слишком свеж, чтобы его даже не надо было проверять, либо произошла ошибка при получении файла, но ошибка была тривиальной, и поэтому ее игнорируют. Не волнуйтесь, это не ошибка.
  • Get: Доступна новая версия. Она скачает информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в Кб) со строкой ‘get’ на скриншоте выше.

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

После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ — это обновить все пакеты, которые имеют доступные обновления. Вы можете просто использовать команду ниже:

Это покажет вам, сколько и какие пакеты будут обновлены.

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

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

Читайте также:  Linux file names with spaces

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

Хотя это звучит, будто вы выполняете обновление apt, команда будет обновлять пакеты, и вы получите последнюю версию пакета. Но это не так. apt-update обновляет только базу данных пакетов.

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

По этой причине наиболее быстрый и удобный способ обновления системы Ubuntu с помощью этой команды:

sudo apt update && sudo apt upgrade -y

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

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

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

Хорошо, что здесь можно использовать автозавершение. Таким образом, если вы не уверены в точном названии пакета, вы можете набрать несколько букв и нажать клавишу табуляции, и терминал подскажет все пакеты, доступные с этими буквами. Например:

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

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

Что если вы запустите apt install на уже установленном пакете?

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

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

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

sudo apt install --no-upgrade

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

sudo apt install --only-upgrade

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

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

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

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

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

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

Читайте также:  Intel haswell linux graphics driver

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

Какая разница между apt remove и apt purge?

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

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

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

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

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

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

Как просмотреть содержимое пакета

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

Здесь будет показана информация о выбранном пакете(ах), такая как его зависимости, размер установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, среди прочего:

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

Команда apt имеет новую опцию под названием «список». С помощью нее вы можете увидеть все пакеты, у которых есть более новая версия, готовая к обновлению:

Вы также можете увидеть все установленные пакеты в системе с установленной опцией —installed:

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

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

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

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

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

Ваш вклад

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

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

Источник

Оцените статью
Adblock
detector