Пакеты не установлены в Ubuntu

Обновлено: 03.07.2024

На днях я обновлял свою систему Ubuntu. Я предпочитаю способ обновления системы из командной строки, используя комбинацию apt update и apt upgrade.

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

Следующие пакеты были сохранены:

Вот скриншот ошибки, с которой я столкнулся:

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

Позвольте мне показать вам, как справиться с этой ошибкой в ​​Ubuntu и других дистрибутивах Linux, таких как Linux Mint, Debian, Kali Linux и т. д.

Исправление ошибки «Следующие пакеты были сохранены»

Исправить эту ошибку очень просто. Все, что вам нужно сделать, это использовать команду apt install с пакетом или пакетами в вопросе:

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

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

Объяснение: причина ошибки «Следующие пакеты были сохранены» и способы ее устранения

Предложенное выше исправление должно решить проблему за вас. Но интересно ли вам, что вызвало ошибку и как ее исправить? Позвольте мне объяснить вам это.

Обычно, когда вы запускаете команды sudo apt update и sudo apt upgrade, все установленные пакеты обновляются до их доступных более новых версий.

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

В приведенном здесь примере при первоначальной установке fwupd инструменты tpm2-tools и tpm2-abrmd не были установлены, и fwupd не зависел от них. Позже более новая версия fwupd потребовала установки этих новых пакетов.

Это механизм в диспетчере пакетов APT Debian, который информирует вас о том, что для уже установленного пакета теперь необходимо установить новый пакет в качестве зависимости. Когда вы вручную и по отдельности обновляете эти пакеты, вы видите, какие новые пакеты будут установлены, и ошибка больше не отображается.

В этом случае вы также можете использовать apt full-upgrade/apt-get dist-upgrade вместо apt install имя_пакета, но я бы этого не рекомендовал. Полное обновление apt может автоматически удалять пакеты, которые он считает ненужными, при обработке зависимостей. Это может привести к нежелательным ситуациям.

Вы исправили эту ошибку?

Помогло ли это решение избавиться от ошибки "пакеты были сохранены"? Если да, я приветствую ваше быстрое сообщение «спасибо» в разделе комментариев. Если нет, дайте мне знать, и я постараюсь вам помочь.

Ubuntu предлагает комплексную систему управления пакетами для установки, обновления, настройки и удаления программного обеспечения. В дополнение к предоставлению доступа к организованной базе из более чем 60 000 пакетов программного обеспечения для вашего компьютера Ubuntu, средства управления пакетами также включают возможности разрешения зависимостей и проверки обновлений программного обеспечения.

Для взаимодействия с системой управления пакетами Ubuntu доступно несколько инструментов: от простых утилит командной строки, которые могут быть легко автоматизированы системными администраторами, до графического интерфейса, которым легко пользоваться новичкам в Ubuntu.

Введение

Система управления пакетами Ubuntu основана на той же системе, которая используется в дистрибутиве Debian GNU/Linux. Файлы пакета содержат все необходимые файлы, метаданные и инструкции для реализации определенной функции или программного приложения на вашем компьютере с Ubuntu.

Файлы пакетов Debian обычно имеют расширение .deb и обычно находятся в репозиториях, представляющих собой наборы пакетов, которые можно найти в Интернете или на физических носителях, таких как диски CD-ROM. Пакеты обычно находятся в предварительно скомпилированном двоичном формате; таким образом, установка выполняется быстро и не требует компиляции программного обеспечения.

Многие пакеты используют зависимости. Зависимости — это дополнительные пакеты, необходимые основному пакету для правильной работы. Например, фестиваль пакета синтеза речи зависит от пакета alsa-utils , который представляет собой пакет, предоставляющий инструменты звуковой библиотеки ALSA, необходимые для воспроизведения звука. Чтобы фестиваль работал, он и все его зависимости должны быть установлены. Инструменты управления программным обеспечением в Ubuntu сделают это автоматически.

Команда apt — это мощный инструмент командной строки, который работает с Advanced Packaging Tool (APT) Ubuntu и выполняет такие функции, как установка новых пакетов программного обеспечения, обновление существующих пакетов программного обеспечения, обновление индекс списка пакетов и даже обновление всей системы Ubuntu.

Некоторые примеры популярного использования утилиты apt:

Установка пакета. Установка пакетов с помощью инструмента apt довольно проста. Например, чтобы установить сетевой сканер nmap, введите следующее:

Удалить пакет. Удалить пакет (или пакеты) также просто. Чтобы удалить пакет, установленный в предыдущем примере, введите следующее:

Совет

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

Примечание

Сценарии. Хотя apt является инструментом командной строки, он предназначен для интерактивного использования, а не для вызова из неинтерактивных сценариев. В сценариях следует использовать команду apt-get (возможно, с флагом --quiet). Для основных команд синтаксис двух инструментов идентичен.

Кроме того, добавление параметра --purge к команде apt remove также приведет к удалению файлов конфигурации пакета. Это может быть или не быть желаемым эффектом, поэтому используйте его с осторожностью.

Обновление индекса пакетов. Индекс пакетов APT представляет собой базу данных доступных пакетов из репозиториев, определенных в файле /etc/apt/sources.list и в каталоге /etc/apt/sources.list.d. Чтобы обновить локальный индекс пакетов последними изменениями, внесенными в репозитории, введите следующее:

Обновление пакетов: со временем обновленные версии пакетов, установленных на вашем компьютере, могут стать доступными в репозиториях пакетов (например, обновления безопасности). Чтобы обновить систему, сначала обновите индекс пакетов, как описано выше, а затем введите:

Информацию об обновлении до новой версии Ubuntu см. в разделе Обновление.

Действия команды apt, такие как установка и удаление пакетов, регистрируются в файле журнала /var/log/dpkg.log.

Для получения дополнительной информации об использовании APT прочтите подробное Руководство пользователя APT или введите:

Способности

Запуск Aptitude без параметров командной строки предоставит вам управляемый меню текстовый интерфейс для системы Advanced Packaging Tool (APT). Многие из распространенных функций управления пакетами, такие как установка, удаление и обновление, могут выполняться в Aptitude с помощью одноклавишных команд, которые обычно представляют собой строчные буквы.

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

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

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

Установить пакеты. Чтобы установить пакет, найдите пакет в категории пакетов Неустановленные пакеты с помощью клавиш со стрелками на клавиатуре и клавиши ENTER. Выделите нужный пакет, затем нажмите клавишу +. Запись пакета должна стать зеленой, указывая на то, что она помечена для установки. Теперь нажмите g, чтобы просмотреть сводку действий с пакетом. Нажмите g еще раз, и начнется загрузка и установка пакета. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

Удалить пакеты. Чтобы удалить пакет, найдите пакет в категории пакетов Установленные пакеты с помощью клавиш со стрелками на клавиатуре и клавиши ENTER. Выделите нужный пакет, который хотите удалить, затем нажмите клавишу -. Запись пакета должна стать розовой, указывая на то, что она помечена для удаления. Теперь нажмите g, чтобы просмотреть сводку действий с пакетом. Нажмите g еще раз, и начнется удаление пакета. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

Обновить индекс пакетов. Чтобы обновить индекс пакетов, просто нажмите клавишу u. Начнется обновление индекса пакета.

Обновить пакеты: чтобы обновить пакеты, выполните обновление индекса пакетов, как описано выше, а затем нажмите клавишу U, чтобы пометить все пакеты с обновлениями. Теперь нажмите g, после чего вам будет представлена ​​сводка действий с пакетом. Нажмите g еще раз, и начнется загрузка и установка. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

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

i: установленный пакет

c: пакет не установлен, но конфигурация пакета остается в системе

p: удалено из системы

v: виртуальный пакет

B: Сломанный пакет

u: Файлы распакованы, но пакет еще не настроен

C: Наполовину сконфигурировано — ошибка конфигурации, требуется исправление

H: Установлено наполовину — удаление не удалось, требуется исправление

Чтобы выйти из Aptitude, просто нажмите клавишу q и подтвердите, что хотите выйти. Многие другие функции доступны в меню Aptitude при нажатии клавиши F10.

Командная строка

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

Чтобы удалить тот же пакет, используйте команду:

Подробнее об опциях командной строки для Aptitude см. справочные страницы.

dpkg — это менеджер пакетов для систем на основе Debian. Он может устанавливать, удалять и создавать пакеты, но, в отличие от других систем управления пакетами, не может автоматически загружать и устанавливать пакеты или их зависимости. Apt и Aptitude новее и добавляют дополнительные функции поверх dpkg. В этом разделе рассматривается использование dpkg для управления локально установленными пакетами:

Чтобы вывести список всех пакетов в базе данных пакетов системы, включая все пакеты, установленные и удаленные, из командной строки терминала:

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

Замените apache2 любым именем пакета, частью имени пакета или регулярным выражением.

Чтобы вывести список файлов, установленных пакетом, в данном случае пакетом ufw, введите:

Если вы не уверены, какой пакет установил файл, dpkg -S может сообщить вам об этом. Например:

Вывод показывает, что файл /etc/host.conf принадлежит пакету base-files.

Примечание

Многие файлы создаются автоматически в процессе установки пакета, и даже если они находятся в файловой системе, dpkg -S может не знать, какому пакету они принадлежат.

Вы можете установить локальный файл .deb, введя:

Замените zip_3.0-4_amd64.deb на фактическое имя файла локального файла .deb, который вы хотите установить.

Удалить пакет можно следующим образом:

Внимание!

Удаление пакетов с помощью dpkg в большинстве случаев НЕ рекомендуется. Лучше использовать диспетчер пакетов, который обрабатывает зависимости, чтобы убедиться, что система находится в согласованном состоянии. Например, команда dpkg -r zip удалит zip-пакет, но все пакеты, зависящие от него, будут по-прежнему установлены и могут работать некорректно.

Дополнительные параметры dpkg см. на справочной странице: man dpkg .

Конфигурация APT

Конфигурация системных репозиториев Advanced Packaging Tool (APT) хранится в файле /etc/apt/sources.list и каталоге /etc/apt/sources.list.d. Здесь приводится ссылка на пример этого файла вместе с информацией о добавлении или удалении ссылок на репозиторий из файла.

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

Дополнительные репозитории

В дополнение к официально поддерживаемым репозиториям пакетов, доступным для Ubuntu, существуют дополнительные поддерживаемые сообществом репозитории, которые добавляют тысячи дополнительных пакетов для потенциальной установки. Двумя наиболее популярными являются репозитории universe и multiverse. Эти репозитории официально не поддерживаются Ubuntu, но поскольку они поддерживаются сообществом, они обычно предоставляют пакеты, безопасные для использования на вашем компьютере с Ubuntu.

Примечание

Пакеты в репозитории multiverse часто имеют проблемы с лицензированием, из-за которых их нельзя распространять с бесплатной операционной системой, и они могут быть незаконными в вашей местности. .

Предупреждение

Имейте в виду, что ни в репозиториях universe, ни в репозиториях multiverse нет официально поддерживаемых пакетов. В частности, для этих пакетов могут отсутствовать обновления безопасности.

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

По умолчанию репозитории universe и multiverse включены, но если вы хотите отключить их, отредактируйте /etc/apt/sources.list и прокомментируйте следующие строки:

Автоматические обновления

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

Чтобы настроить автоматическое обновление, отредактируйте /etc/apt/apt.conf.d/50unattended-upgrades и настройте следующие параметры в соответствии со своими потребностями:

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

Примечание

Двойной "//" служит комментарием, поэтому все, что следует за "//", не будет оцениваться.

Чтобы включить автоматическое обновление, отредактируйте файл /etc/apt/apt.conf.d/20auto-upgrades и установите соответствующие параметры конфигурации apt:

Приведенная выше конфигурация обновляет список пакетов, загружает и устанавливает доступные обновления каждый день. Эти действия запускаются таймерами в установленное время, но со случайной задержкой: apt-daily.timer и apt-daily-upgrade.timer. Эти таймеры активируют соответствующие службы, запускающие сценарий /usr/lib/apt/apt.systemd.daily.

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

Во многих случаях это полезно, но в некоторых случаях это может привести к обратным результатам. Примерами могут служить администраторы со многими выключенными машинами или образами виртуальных машин, которые запускаются только для какого-то быстрого действия, которое затем откладывается или даже блокируется автоматическими обновлениями. Чтобы адаптировать это поведение, мы можем изменить/переопределить конфигурацию обоих таймеров apt [ apt-daily-upgrade.timer, apt-daily.timer ]. Для этого используйте systemctl edit и переопределите атрибут Persistent, например Persistent=delay (пример такого переопределения):

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

Примечание

Подробнее о параметрах конфигурации apt Periodic можно прочитать на справочной странице apt.conf(5) и в заголовке скрипта /usr/lib/apt/apt.systemd.daily.

Результаты автоматических обновлений будут регистрироваться в /var/log/unattended-upgrades .

Уведомления

Настройка Unattended-Upgrade::Mail в файле /etc/apt/apt.conf.d/50unattended-upgrades позволит unattended-upgrades отправлять администратору электронное письмо с подробным описанием любых пакетов, требующих обновления или имеющих проблемы.

Другой полезный пакет — apticron. apticron настроит задание cron для отправки администратору по электронной почте информации обо всех пакетах в системе, для которых доступны обновления, а также сводку изменений в каждом пакете.

Чтобы установить пакет apticron, в терминале введите:

После установки пакета отредактируйте /etc/apticron/apticron.conf , чтобы указать адрес электронной почты и другие параметры:

Ссылки

Большая часть материала, описанного в этой главе, доступна на справочных страницах, многие из которых доступны в Интернете.

Дополнительную информацию можно найти на вики-странице InstallingSoftware Ubuntu.

Дополнительные сведения о dpkg см. на справочной странице dpkg.

Руководство пользователя APT и справочная страница apt содержат полезную информацию об использовании apt.

Для получения дополнительной информации о таймерах systemd (и systemd в целом) посетите справочную страницу systemd и справочную страницу systemd.timer.

Дополнительные параметры aptitude см. в руководстве пользователя aptitude.

Страница Adding Repositories HOWTO (Ubuntu Wiki) содержит более подробную информацию о добавлении репозиториев.

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

Введение

Давайте рассмотрим, что такое зависимости и зачем они нужны. Мы все в тот или иной момент наверняка видели сообщение от нашей системы, когда мы устанавливали программное обеспечение об «отсутствующих зависимостях». Эта ошибка означает, что необходимая часть программного пакета устарела, недоступна или отсутствует. Давайте рассмотрим, как решать эти проблемы, когда мы сталкиваемся с ними в Ubuntu.

Установить зависимости

Ubuntu использует apt (или Advanced Package Tool) для управления пакетами программного обеспечения. Большую часть времени вы увидите команду apt-get, используемую всякий раз, когда вы видите установку чего-либо в Ubuntu. Основная задача apt-get — извлечь информацию и пакеты из репозитория с безопасными, аутентифицированными источниками программного обеспечения, используемыми для установки, обновления и/или удаления пакетов вместе с их зависимостями.

Это синтаксис apt-get:

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

Установить программное обеспечение

Допустим, мы хотим установить Python на наш сервер. Во-первых, нам нужно установить минимальный пакет/зависимость libpython2.7. Мы можем запустить эту команду, чтобы выполнить это.

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

Теперь мы можем установить python почти такой же командой:

Программное обеспечение для удаления

Если мы хотим удалить эту зависимость, мы можем запустить следующую команду.

Это удалит минимальный пакет libpython2.7, а также все связанные с ним зависимости.

Обновление программного обеспечения

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

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

Список программного обеспечения

Если вы хотите вывести список всех доступных пакетов, мы можем использовать эту команду.

Мы упоминаем эту команду, поскольку она ведет нас к следующему разделу, посвященному зависимостям. Эта команда покажет нам огромный список пакетов, доступных для установки. Теперь предположим, что мы хотим установить пакет libslang2, но не уверены, какие зависимости нужно установить вместе с этим пакетом, а какие нет. Мы можем даже не знать, какие из них нам нужны. К счастью, Linux предоставляет эту возможность с помощью флага showpkg. Мы можем запустить эту команду, чтобы увидеть, какие зависимости необходимы.

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

Очистить зависимости

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

Эти команды сделают за нас работу так же, как команды yum clean и yum cleanall в CentOS.

Флаг clean удаляет все файлы .deb из локального репозитория в /var/cache, кроме файлов блокировки.

Флаг autoclean также удаляет все файлы .deb из локального репозитория, но, в отличие от флага clean, удаляет только устаревшие пакеты, которые больше нельзя загрузить. .

Ошибки неудовлетворенных зависимостей

Почти каждый пользователь Ubuntu сталкивался с ошибкой «Следующие пакеты имеют неудовлетворенные проблемы с зависимостями». В этом случае сбой почти всегда связан с менеджером пакетов apt, а не с устанавливаемым программным обеспечением. К счастью, есть несколько вариантов исправить эту ситуацию. Мы рассмотрим несколько способов решения этой проблемы.

Резервное копирование файлов конфигурации

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

Параметры

При возникновении этих ошибок зависимостей у нас есть несколько вариантов решения проблемы.

  • Включить все репозитории
  • Обновите программное обеспечение
  • Обновите программное обеспечение
  • Очистить зависимости пакета
  • Очистить кешированные пакеты
  • Удаление "приостановленных" или "отложенных" пакетов.
  • Используйте флаг -f с подкомандой install
  • Используйте команду build-dep
  • Пакет тестовой установки
  • Переустановите программное обеспечение
  • Удалить PPA

Список пакетов с помощью Apt-mark

Кроме того, когда используется команда apt-mark showauto, она печатает список каждого пакета, который будет автоматически добавлен в новой строке. Если указано имя пакета, будут показаны только те пакеты, которые будут установлены автоматически. Мы упомянули об этом, чтобы отметить пакеты, которые должны устанавливаться вместе с программным обеспечением.

Вариант 1. Включите все репозитории Ubuntu.

Использование этого параметра позволит использовать более широкую базу программного обеспечения и зависимостей. Затем, после обновления, мы можем попытаться переустановить программное обеспечение.

Вариант 2. Обновите программное обеспечение

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

Вариант 3. Обновите программное обеспечение

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

Вариант 4. Очистка зависимостей пакета

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

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

Вариант 5. Очистка кэшированных пакетов

Эта команда очистит локальный репозиторий загруженных пакетов. Затем попробуйте переустановить программное обеспечение.

Вариант 6. Удалить пакеты "Приостановлено" или "Задержано"

Чтобы найти программное обеспечение, которое заблокировано или приостановлено, мы можем использовать команду apt-mark. Получив эту информацию, мы можем использовать флаги удаления и пробного запуска, чтобы увидеть, что именно будет удалено. Затем попробуйте переустановить программное обеспечение.

Вариант 7. Используйте флаг -f

Согласно справочной странице apt-get, использование параметра -f (или --fix-broken) позволит команде apt-get попытаться исправить проблему с неработающими зависимостями. Не используйте имя пакета в команде при использовании -f.

Если вы видите сообщение 0, это означает, что эта команда не удалась. Однако мы еще не закончили. Попробуем выполнить команду еще раз.

Вариант 8. Используйте команду Build-dep

С помощью этой подкоманды мы можем установить все зависимости для 'softwarename'. Затем мы можем попытаться переустановить зависимости программного обеспечения по отдельности.

Вариант 9. Пакет тестовой установки

Флаг --dry-run показывает, что apt-get установит без фактической установки пакета. Это полезно с приведенной выше командой. Также иногда перед установкой программного обеспечения может отображаться ошибка зависимости.

Вариант 10. Переустановите программное обеспечение

Есть определенные проблемы с зависимостями и возникающие конфликты, которые не может решить apt. Когда это произойдет, apt сохранит эти пакеты в состоянии «приостановлено». Это означает, что они не будут полностью установлены. Удаление этих программных пакетов может решить проблему и помочь решить исходную проблему. Команда apt-get purge удалит программу, все связанные файлы конфигурации и любые подключаемые модули или настройки из нашей системы.

Если в выходных данных какие-либо пакеты находятся в состоянии «приостановлено», мы можем продолжить и попытаться удалить их. После завершения этой команды запустите эту команду, чтобы

Теперь удаляйте задержанные пакеты по одному, каждый раз выполняя dist-upgrade, пока не закончатся задержанные пакеты. После этого попробуйте переустановить пакет. Обязательно используйте параметр –пробный запуск, чтобы быть в курсе последствий:

Вариант 11. Удалить старый PPA

Следующие команды удаляют пакет, PPA и связанные зависимости.

В итоге можно сделать вывод, что apt-get управляет зависимостями так же, как yum. Мы можем установить зависимость с помощью подкоманды install, удалить ее с помощью подкоманды remove, обновить ее с помощью подкоманды upgrade и т. д.

Если вы используете Ubuntu и ищете лучший способ управления своими зависимостями и пакетами, apt-get — это то, что вам нужно. Он превосходит dpkg и более удобен для пользователя.

Если у вас по-прежнему возникают проблемы с этим, позвоните нам по телефону 800.580.4985 или откройте чат или билет, чтобы поговорить с одним из наших знающих и опытных администраторов Linux уже сегодня!

Пакеты для текущего выпуска R 4.1.* доступны для большинства стабильных выпусков Ubuntu для настольных ПК до официальной даты окончания срока их службы. Однако полностью поддерживается только последний выпуск Long Term Support (LTS). По состоянию на 19 мая 2021 года поддерживаются следующие выпуски

  • Impish Indri (21.10, только amd64),
  • Hirsute Hippo (только 21.04, amd64),
  • Focal Fossa (20.04; только LTS и amd64),
  • Bionic Beaver (18.04; LTS) и
  • Ксениал Ксерус ​​(16.04; LTS).

Обратите внимание, что для установки пакетов R 4.1 необходима новая и другая запись в sources.list. Подробнее см. ниже.

Старые выпуски R см. в соответствующем файле README.

Репозиторий c2d4u доступен только для выпусков LTS. Если вы хотите попытаться использовать репозиторий с выпуском, отличным от LTS, вы можете вручную отредактировать «c2d4u_team-ubuntu-c2d4u4_0_-*.list», чтобы использовать фокус вместо предполагаемого выпуска. Такое использование репозитория c2d4u не поддерживается.Настоятельно рекомендуется выпуск LTS для использования репозитория c2d4u.

Чтобы получить последние пакеты R 4.1, добавьте запись, например

Чтобы установить полную систему R, используйте

Пользователи, которым необходимо скомпилировать пакеты R из исходного кода [например, сопровождающие пакетов или все, кто устанавливает пакеты с помощью install.packages()] также должны установить пакет r-base-dev:

Для установки и компиляции R или некоторых его пакетов могут потребоваться пакеты Ubuntu из репозиториев «backports». Поэтому рекомендуется активировать репозитории бэкпортов с помощью записи типа

Пользователи Mint и других производных Ubuntu

При создании записи для apt вы должны использовать название выпуска Ubuntu, на котором основан ваш дистрибутив. Например, не используйте «ума», вместо этого используйте «фокус».

В репозиториях Ubuntu доступен ряд пакетов R, имена которых начинаются с r-cran-. В CRAN постоянно обновляются следующие пакеты: все пакеты, входящие в рекомендованный r пакет, а именно

  • r-cran-boot
  • r-cran-класс
  • r-cran-кластер
  • r-cran-codetools
  • r-cran-иностранный
  • r-cran-kernsmooth
  • r-кран-решетка
  • r-кран-масса
  • r-кран-матрица
  • r-cran-mgcv
  • р-кран-нлме
  • r-cran-nnet
  • r-cran-rpart
  • r-cran-spatial
  • г-кран-выживание

Другие пакеты r-cran-* обновляются только в выпусках Ubuntu. Пользователи, которым необходимо обновить один из этих пакетов R (скажем, r-cran-foo), должны сначала убедиться, что они получили все необходимые зависимости сборки с помощью

Поскольку они полагаются на установленную версию R, мы также предоставляем на экспериментальной основе версии следующих пакетов настолько актуальные, насколько позволяет выпуск Ubuntu:

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

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

В связи с прекращением поддержки apt-key рекомендуемый способ добавления ключа:

Чтобы проверить ключ:

Отпечаток пальца должен быть 298A3A825C0D65DFD57CBB651716619E084DAB9.

Использование apt-ключа

Можно использовать альтернативный метод, извлекая ключ с помощью

а затем передайте его apt-key с помощью

Некоторые люди сообщали о трудностях при использовании этого подхода. Проблема обычно связана с брандмауэром, блокирующим порт 11371. Если первая команда gpg не удалась, вы можете попробовать (спасибо Mischan Toosarani за подсказку):

а затем передайте его apt-key с помощью

Пакеты R, входящие в Ubuntu r-base, и рекомендуемые r-пакеты устанавливаются в каталог /usr/lib/R/library. Их можно обновить с помощью apt-get с

Другие пакеты r-cran-*, поставляемые с Ubuntu, устанавливаются в каталог /usr/lib/R/site-library.

Для установки пакетов R, не поставляемых с Ubuntu, сначала требуются инструменты для компиляции пакетов из исходного кода. Эти инструменты устанавливаются через пакет разработки R с

Это соответствует основным требованиям для компиляции R-пакетов. Затем пакеты R могут быть установлены локальным пользователем/администратором из исходных пакетов CRAN, как правило, изнутри R с помощью

функция или использование

из оболочки. Если у вас есть права на запись в /usr/local/lib/R/site-library/ и вы не установили R_LIBS_USER вручную, они будут установлены там. В противном случае вас спросят, следует ли создать каталог в вашем домашнем каталоге для этих пакетов. Обычное обновление таких локально скомпилированных пакетов можно выполнить с помощью

который обновит пакеты в первой части пути к вашей библиотеке. Вы можете посмотреть компоненты этого пути,

Чтобы найти пакеты, R просматривает переменные R_LIBS_USER и R_LIBS_SITE. В Debian и Ubuntu параметру R_LIBS_USER в файле /etc/R/Renviron присваивается значение

где $platform — это что-то вроде «x86_64-pc-linux-gnu» в зависимости от установленной версии R. Вы можете переопределить это в файле ~/.Renviron. R_LIBS_SITE устанавливается в /etc/R/Renviron на

Это означает, что пакеты, установленные из R, имеют приоритет над пакетами, установленными через систему управления пакетами Ubuntu, если у вас одновременно установлены две версии.

Лучшее место, где можно сообщить о проблемах с этими пакетами или задать вопросы по R, относящиеся к Ubuntu, — это список рассылки R-SIG-Debian. См.

При установке программного обеспечения в наших системах Ubuntu мы в первую очередь выбираем официальные репозитории Ubuntu или поддерживаемые Ubuntu репозитории PPA. К сожалению, не все программное обеспечение официально доступно через Ubuntu, и нам приходится искать другие способы установки полезного программного обеспечения в наши системы. Один из таких способов — через .deb, которые в основном доступны в разделе «Загрузки» на официальных сайтах многих производителей.

  • Установите пакет .deb через Терминал (подход на основе командной строки)
  • Установите пакет .deb через Ubuntu Software Manager (подход на основе пользовательского интерфейса
  • Установите пакет .deb с помощью gdebi (подход на основе пользовательского интерфейса)

Пакет Google Chrome .deb можно загрузить в вашу систему по следующей ссылке:

Сохраните файл, желательно в папку «Загрузки».

Мы выполнили команды и процедуры, упомянутые в этой статье, в системе Ubuntu 18.04 LTS.

Установите пакет .deb через Терминал

Откройте командную строку Ubuntu, приложение «Терминал» либо с помощью системного тире, либо с помощью сочетания клавиш Ctrl+Alt+T.

Затем вы можете использовать утилиту dpkg со следующим синтаксисом, чтобы установить пакет .deb, который уже находится в вашей системе.

$ sudo dpkg -i [путь к файлу deb]

Пример:

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

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

Используйте команду dpkg для установки deb пакет

Теперь в вашей системе должен быть установлен Google Chrome. Если вы загрузили установочный пакет из любого другого места, вам необходимо указать полный путь в команде dpkg.

Удаление:

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

Вот как я удалю установленную стабильную версию Google Chrome из своей системы с помощью утилиты dpkg:

Удалить файлы с помощью команды dpkg

Установите пакет .deb через Ubuntu Software Manager

Мы объясним эту процедуру на том же примере пакета Google Chrome .deb. Установочный пакет google-chrome-stable_current_amd64.deb сохраняется в папке «Загрузки».

Откройте установочный пакет, дважды щелкнув его в папке «Загрузки».

В диспетчере программного обеспечения Ubuntu откроется следующее окно:

Установить программное обеспечение из пакета .deb в Ubuntu Desktop

Нажмите кнопку «Установить». Вам будет предложено пройти аутентификацию, так как только авторизованный пользователь может установить программное обеспечение в Ubuntu.

Введите пароль и нажмите «Аутентификация». Начнется процесс установки, и вы сможете увидеть его ход в следующем окне:

Установка программного обеспечения

Программное обеспечение будет успешно установлено в вашей системе.

Удаление:

Если вы хотите удалить пакет, установленный с помощью этой процедуры, вы можете использовать команду apt-get в терминале Ubuntu следующим образом:

$ sudo apt-get remove [имя-программы]

Например, я буду использовать следующую команду, чтобы удалить стабильную версию Google Chrome из моей системы:

Удалите программное обеспечение с помощью apt-get команда

Система предложит вам вариант y/n, чтобы подтвердить начало процедуры удаления. Пожалуйста, введите Y, а затем нажмите Enter, после чего программное обеспечение будет удалено из вашей системы.

Установите пакет .deb с помощью установщика пакетов GDebi (пользовательский интерфейс)

Чтобы установить пакет .deb с помощью пользовательского интерфейса gdebi, выполните следующие действия:

Установить установщик пакетов GDebi

Если gdebi не установлен в вашей системе, вы можете легко установить его с помощью диспетчера программного обеспечения Ubuntu.

На панели инструментов «Действия» рабочего стола Ubuntu щелкните значок Ubuntu Software.

Открыть диспетчер программного обеспечения Ubuntu

В следующем представлении нажмите значок поиска и введите gdebi в строке поиска. В результатах поиска будет показан установщик пакетов GDebi следующим образом:

Найти пакет GDebi

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

Установить GDebi

Нажмите кнопку «Установить», чтобы начать процесс установки. Появится следующее диалоговое окно аутентификации, в котором вы должны указать свои данные аутентификации, поскольку только авторизованный пользователь может устанавливать программное обеспечение в Ubuntu.

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

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

Прогресс установки

Затем GDebi будет установлен в вашей системе, и после успешной установки вы получите следующее сообщение:

Launch GDebi

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

Установите пакет .deb

Мы снова будем использовать пакет .deb стабильной версии Google Chrome, чтобы объяснить, как установить программное обеспечение через его файл .deb с помощью установщика пакетов GDebi.

Мы перейдем в папку «Загрузки», так как наш файл .deb находится там. Там мы щелкнем правой кнопкой мыши пакет и выберем в меню «Открыть с помощью другого приложения».

Установить пакет Debian с GDebi

В приведенном выше диалоговом окне «Выбор приложения» выберите установщик пакетов GDEbi. Затем пакет будет загружен в gdebi следующим образом:

Установщик пакета - Описание

Теперь нажмите кнопку «Установить пакет», чтобы начать процедуру установки. Появится следующее диалоговое окно аутентификации, в котором вы должны указать свои данные аутентификации, поскольку только авторизованный пользователь может устанавливать программное обеспечение в Ubuntu.

Получить разрешения sudo

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


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

Удаление:

Откройте файл .deb установленного программного обеспечения в программе установки пакетов Gdebi.

GDebi предложит вам два варианта на выбор; переустановите пакет и удалите пакет.

Удаление пакета

Нажмите кнопку «Удалить пакет» в представлении выше. Появится диалоговое окно аутентификации, чтобы вы могли указать свои данные аутентификации, поскольку только авторизованный пользователь может удалить программное обеспечение в Ubuntu. Введите свой пароль и нажмите кнопку «Аутентификация». После этого начнется процесс удаления, отображающий индикатор выполнения, как показано ниже.

Удаление завершено

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

Похожие сообщения:

Карим Буздар

Об авторе: Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Вы можете связаться с Каримом в LinkedIn

Читайте также: