Не обновляются пакеты linux
После того, как вы установили систему, в нашем случае Ubuntu или любой другой дистрибутив, его нужно регулярно обновлять. Установка обновлений Ubuntu необходима, чтобы получить новые версии программ, исправления ошибок, а также исправления проблем с безопасностью. Разработка Ubuntu происходит так, что новые версии программ поставляются только с релизом дистрибутива, а затем приходят только обновления исправляющие баги и проблемы с безопасностью. Но это не значит, что не нужно их устанавливать. Кроме того, если вы хотите также иметь самые новые версии программного обеспечения, то можете использовать PPA разработчиков и устанавливать программы от туда. Как правило, разработчики всегда загружают самые новые версии.
В этой статье будет как установить обновления Ubuntu, мы поговорим о том, как обновить программы Ubuntu через терминал, так и через графический интерфейс, с помощью стандартной утилиты - менеджер обновлений.
Обновление программ в Ubuntu через менеджер обновлений
В Ubuntu предусмотрен механизм обновления через менеджер обновлений. Это графическая программа, которая запускается время от времени и предлагает обновить систему если были выпущены новые обновления.
Менеджер обновлений Ubuntu довольно прост и вы можете запустить его через главное меню:
Сразу после запуска программа обновит списки программ из репозиториев, чтобы понять есть ли новые версии пакетов:
Если не возникло никаких ошибок связи с сетью или источниками программного обеспечения, вы увидите такое окно:
Программа говорит, сколько обновлений было найдено и сколько данных нужно скачать через интернет.
Осталось нажать кнопку Установить сейчас и начнется обновление пакетов Ubuntu:
Вы можете посмотреть более подробную информацию о процессе обновления:
После завершения обновления программ в ubuntu менеджер обновлений Ubuntu уведомит вас, что все пакеты были обновлены успешно.
Поведение менеджера обновлений можно настроить. Для этого откройте утилиту Программы и обновления, затем перейдите на вкладку обновления:
Тут вы можете указать какие обновления нужно устанавливать, как часто проверять обновления и что делать при появлении новых обновлений для программного обеспечения, например мы можем их сразу же установить без участия пользователя.
Обновление системы Ubuntu с помощью менеджера обновлений может показаться простым, и это так и есть, пока не возникли ошибки. А при возникновении ошибок нам нужно попытаться обновить систему через терминал, чтобы получить больше информации о проблеме.
Обновление пакетов Ubuntu через терминал
Для обновления через терминал обычно используется инструмент командной строки apt. Эта утилита позволяет не только обновлять пакеты, но и устанавливать и удалять программное обеспечение, искать программы, настраивать репозитории и т д.
Первым делом, нам необходимо выполнить обновление репозиториев ubuntu, для этого используется такая команда обновления ubuntu:
sudo apt update
Утилита нам сразу подсказывает, что есть обновления и мы можем узнать, какие пакеты будут обновлены:
apt list --upgradable
Теперь непосредственно обновление системы Ubuntu. Для этого есть две опции upgrade и full-upgrade (раньше dist-upgrade). Рассмотрим в чем разница между upgrade и dist upgrade:
- upgrade - устанавливает самые новые версии всех пакетов доступные в репозиториях. Использует все репозитории их /etc/apt/souces.list и /etc/apt/souces.list.d/*. То есть обновляются пакеты не только из официальных репозиториев, но и из PPA. Обновляются только установленные пакеты, если же для обновления пакета необходимо установить или удалить другой пакет, такие пакеты обновлены не будут.
- full-upgrade - кроме всего, что делает upgrade, здесь поддерживается умное разрешение зависимостей для новых версий пакетов. Конфликтующие пакеты могут быть удалены, а новые, дополнительные - установлены.
Таким образом, установка обновлений Ubuntu может быть выполнена одной из команд:
sudo apt upgrade
sudo apt full-upgrade
Причем рекомендуется именно вторая команда обновления ubuntu, поскольку она более продумана и обновляет больше пакетов.
Здесь не обязательно обновлять все пакеты, мы можем обновить только один определенный пакет, например браузер:
sudo apt full-update firefox
Опцию full-update мы используем чтобы обновить включая установку новых зависимостей.
Обновление пакетов Ubuntu через Synaptic
sudo apt install synaptic
Запустить программу можно из главного меню:
Главное окно программы выглядит вот так:
Программа работает не совсем привычным образом. Чтобы выполнить операции над пакетами, необходимо их сначала отметить, а затем уже применить нужную операцию. Такая же ситуация с обновлением.
Но давайте обо всем по порядку, сначала необходимо обновить списки пакетов из репозиториев, чтобы программа узнала, есть ли новые версии, это аналогичное действие команды apt update или, тому что выполняется при старте стандартного менеджера обновлений, так сказать проверка обновлений ubuntu. Откройте меню правка и выберите Обновить сведения о пакетах:
Дальше обновление системы Ubuntu. Как я и сказал, нужно сначала отметить пакеты, с которыми будем работать. Поскольку обновляем все, перейдите на вкладку состояние, установленные и нажмите кнопку Отметить все. Программа сама определит, что для данных пакетов есть обновления и если кроме обновления пакетов ubuntu нужно выполнять дополнительные действия, она покажет их:
Можно пойти другим путем, на той же вкладке нажать Ctrl+A, чтобы отметить все пакеты, затем в контекстном меню выбрать Отметить для обновления:
Независимо от способа, дальше нажимаем Применить:
Программа опять покажет, какие изменения будут внесены в систему, нажмите Apply:
Только теперь начнется загрузка пакетов:
Выводы
Установка обновлений Ubuntu, не такое уж сложное дело, но оно должно выполняться периодически, чтобы поддерживать систему в актуальном состоянии и безопасности. Из этой статьи вы узнали целых три способа выполнить обновление пакетов Ubuntu. Этого вполне достаточно, чтобы выбрать подходящий для вас. Часто во время обновлений возникают ошибки, что делать если Ubuntu не обновляется мы рассмотрим в следующей статье.
Кто не встречал ошибок в процессе обновления Ubuntu? Ошибки обновления в Ubuntu и иных дистрибутивах Linux встречаются часто и не вызывают удивления. В статье описан ряд часто встречающихся ошибок и способы их решения.
Данная статья является частью серии, посвященной новичкам в Ubuntu, и она призвана помочь лучше понять работу с дистрибутивом.
В данном туториале мы рассмотрим часто встречающиеся ошибки, которые можно встретить при обновлении Ubuntu. Они зачастую происходят тогда, когда пытаешься добавить софт или репозитории самостоятельно.
Если во время обновления системы появляются ошибки, паниковать не стоит. Ошибки случаются часто и решения есть. Вы научитесь как решить часто встречающиеся ошибки.
Многие пользователи Ubuntu обновляют систему через графическую программное средство обновления. Вам приходит оповещения, что стали доступными обновления для вашей системы и теперь можно нажать на кнопку для начала скачивания и установки.
Обычно так и происходит, но иногда можно увидеть подобную ошибку:
Failed to download repository information. Check your internet connection
Скорее всего ошибка покажется странной, так как интернет работает, но вас все равно просят его проверить.
Нам придется использовать командную строку. Для того чтобы ее быстро открыть можете воспользоваться сочетанием клавиш ctrl+alt+T. Исполните в ней данную команду:
Дождитесь завершения процесса. Рассмотрите последние 3-4 строки вывода. Они покажут действительные причины ошибки sudo apt-get update. Вот пример:
Дальше туториал будет посвящен способам решения ошибок, указанных в нескольких последних строчках вывода командной строки.
Когда вы запустите обновление в терминале, то можете увидеть ошибку “Problem With MergeList”:
По какой-то причине файл в директории /var/lib/apt/lists сломался. Вы можете удалить все файлы в указанной директории и запустить обновление снова. Исполните указанные команды одна за другое:
Проблемы должны исчезнуть
Вы можете встретиться с ошибкой “Hash Sum mismatch”. Ее решение аналогично тому, что мы написали выше.
Скорее всего ошибка происходит из-за несовпадения на серверах кэша метаданных. Для исправления ситуации используйте данные команды:
Если вы попытаетесь добавить репозиторий, который недоступен в вашей текущей версии Ubuntu, то увидите ошибку 404 not found:
Вы добавили PPA в надежде установить приложение, но оно недоступно для вашей версии Ubuntu, и появилась ошибка. Вот почему следует заранее проверять доступно ли PPA для вашей версии Ubuntu или нет. Как удостовериться, что для вашей версии есть PPA, можно посмотреть здесь.
Откройте Software & Updates
Здесь пройдите во вкладку Other Software и поищите PPA. Уберите галочку, чтобы PPA удалилась из системы.
Удалите PPA с помощью Software & Updates
Ваш список программ после этого обновится. Теперь, если вы снова запустите обновление, ошибка исчезнет.
В данной ситуации доступна новая версия программы, но эта версия не распространена на все зеркала. Если вы не используете зеркало, то решить эту проблему просто — сделайте источником программы основной сервер.
Пройдите в Software & Updates там измените сменить сервер с которого происходит скачивание на main (основной):
Добавление PPA может также привести к оповещению “GPG error: The following signatures couldn’t be verified” во время обновления:
Данный ключ можно использовать так:
Как только ключ будет добавлен, запустите обновление и все должны быть в порядке.
Еще одна знаковая ошибка при обновлении Ubuntu — это “BADSIG error”, которая выглядит примерно так:
Все репозитории подписаны GPG, и по какой-то причине система считает их неверными. Необходимо обновить ключи подписей. Проще всего это сделать путем повторной генерации списка apt get (с ключами подписей) и он должен иметь верный ключ.
Используйте следующие команды одну за другой:
Обновление через терминал может привести к такому:
Для исправления ошибки исполните в терминале данную команду:
Данная ошибка происходит, когда еще одна программа использует APT. Допустим вы устанавливаете что-то через Ubuntu Software Center и в одновременно пытается запустить apt в терминале.
Проверьте не использует ли apt другая программа. Это может быть команда в терминале, Software Center, Software Updater, Software & Updates или иной другой соф, который занимается установкой и удалением приложений.
Если можете такие программы закрыть, закрывайте. Если что-то в процессе, то дождитесь завершения.
Если ничего найти не можете, используйте данную команду для того, чтобы прекратить все подобные процессы:
Это хитрая проблема, так что придется попотеть. Если это не поможет, то рекомендуем эту статью.
Так завершается обзор часто встречающихся ошибок при обновлении Ubuntu. Надеюсь данная статья поможет вам с ними справится.
Вы не встречали других ошибок при обновлении Ubuntu недавно, о которых здесь не говорится? Расскажите в комментариях.
Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.
P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.
Чиним сломанные пакеты с apt-get
Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:
sudo apt-get update --fix-missing
sudo apt-get install -f
Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:
Чиним сломанные пакеты с apt-get и dpkg
Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:
sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update
В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:
sudo rm /var/lib/apt/lists/lock
Принудительное удаление пакета с помощью apt-get и dpkg
В редких ситуациях может случиться и такое, что ни один из выше указанных методов не сработает и вам понадобиться вручную удалить сломанный пакет. Для этого разумеется вы должны точно знать что это за пакет, и первый вариант удаление пакета с помощью apt-get, для этого вводим команду:
sudo apt-get remove и название пакета
Если же вам не удалось удалить пакет, переходим к кардинальным мерам, для принудительного пакеты введите команду:
sudo dpkg --remove --force-remove-reinstreq и название пакеты
Затем выполните очистку и обновление пакетов:
sudo apt-get clean && sudo apt-get update
Заключение
Если вы не знаете про менеджеры пакетов apt-get и dpkg, на WIKI имеется статьи, первая про apt , вторая статья про dpkg . В редких ситуациях, выше приведенных мер может быть недостаточно для исправления сломанных пакетов. В этом случае, может понадобиться ручная сборка и удаление сломанных пакетов, правда, имеется риск повредить работоспособность всей системы, что в свою очередь может вывести ее из строя. В этом случае, если вы делали резервные копии вашей системы можно откатиться работоспособной версии системы. Сделать резервную копию вашей системы можно при помощи Timeshift или Deja Dup , последняя имеется в дистрибутиве Ubuntu. Но, чаще всего удается отделаться малой кровью когда появляются сломанные пакеты, и выше приведенных мер достаточно для исправления сломанных пактов.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как обновить программы в Kali Linux
Обновление программ в системах Linux отличается от обновления в Windows. Причём отличается в лучшую сторону – на мой взгляд, система управления и обновлениями программами (в Linux обычно используют слово «пакеты») является одним из ключевых преимуществ ОС семейства Linux.
Если в Windows обновление каждой программы выполняется в индивидуальном порядке: какие-то программы делают это автоматически, какие-то выводят соответствующее уведомление, для каких-то нужно самому заходить на официальный сайт и проверять информацию о новой версии. В Linux все программы (пакеты) собраны в одно или несколько хранилищ, которые называются репозиториями. Обычно, у каждого дистрибутива свой собственный репозиторий. Одна система может использовать сразу несколько репозиториев, например, Linux Mint «из коробки» использует пакеты из хранилища Ubuntu и из своего собственного хранилища.
Результатом такого подхода является то, что проверить обновления сразу для всех пакетов и обновить их можно буквально несколькими кликами мышки (если вы используете графический интерфейс), либо двумя командами (если вы предпочитаете командную строку).
Обновление Kali Linux в графическом интерфейсе
Я рекомендую для обновления системы использовать командную строку (консоль), поскольку это быстрее и надёжнее. Но если вам принципиально использование приложения с графическим интерфейсом, то в меню найдите пункт «Центр приложений» и запустите.
В открывшемся окне перейдите во вкладку «Обновления», если обновлений нет, то нажмите на круговую стрелочку в верхнем левом углу:
Если вас интересуют, какие пакеты будут обновлены, нажмите на него:
Для запуска процесса обновления нажмите на кнопку «Перезапустить и установить» и подтвердите ваш выбор:
При следующем запуске системы начнётся обновление:
Обновления кэша с информацией о приложениях
Когда в репозиторий вносятся изменения, например, при обновлении пакета, необходимо синхронизировать эту информацию с локальным кэшем вашей операционной системы Linux. Это делается командой:
Примечание: этого результата (обновления кэша) можно достичь разными способами, в том числе имеется ещё несколько команд. Например, следующая команда также обновит кэш (нет принципиальной разницы, какую команду вы используете):
Даже если вы не собираетесь выполнять полное обновление системы, обновление кэша необходимо выполнить перед установкой любых пакетов. В противном случае вы можете столкнуться с ошибкой, что требуемый пакет не найден. Эта ошибка возникает из-за того, что в вашей системе есть информация о предыдущей версии пакета и ссылка для его скачивания, и именно по этому адресу она пытается получить файл пакета. Но в репозитории устаревшая версия уже могла быть удалена. В результате получается, что пакет есть в репозитории, но ваша система не узнает его новый адрес, пока не обновит свой кэш.
Обновление всех пакетов системе в Kali Linux
Чтобы обновить все пакеты, для которых вышли новые версии, а также установить необходимые зависимости и удалить мешающие пакеты, используется команда:
Среди удаляемых пакетов могут быть конфликтующие (мешающие установке требуемых зависимостей).
Аналогичный результат можно получить командами:
Обновление кэша и приложений в одну команду
Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:
Как посмотреть, какие пакеты будут обновлены в Kali Linux
Перед началом процесса обновления вы можете вывести список пакетов, для которых имеются новые версии и которые будут обновлены вышеприведёнными командами. Чтобы увидеть информацию о новых пакетах наберите:
Как обновить один пакет в Kali Linux
Если вы не хотите обновлять систему целиком, а хотите обновить одну определённую программу, то используйте команду вида (замените имя_пакета на действительное название):
Например, для обновления пакета apktool:
Как обновить ядро Kali Linux
Ядро Linux поставляется упакованным в пакет, как и остальные программы. По мере выхода новых версий ядра, в Kali Linux произойдёт его обновление вместе с остальными пакетами при выполнении команды:
Как обновить систему Kali Linux до последней версии
Регулярно выходят новые версии Kali Linux, например, 2017.1, 2017.2 и т.д. Если у вас уже установлена любая версия, выпущенная начиная с 2016 года (так называемые Rolling релизы), то для полного обновления системы вам достаточно обновить кэш пакетов, а затем запустить полное обновление пакетов, т.е. выполнить команду
Хотя в новостях указываются на разные нововведения, приуроченные к тому или иному релизу (выпуску), на самом деле, эти нововведения (обновление ядра, новые версии программ и новые инструменты) могли быть добавлены задолго до официального релиза, и если вы регулярно обновляете свою систему, то они уже были установлены или будут установлены вышеприведённой командой.
Удаление неиспользуемых программ и ядер Kali Linux
Время от времени рекомендуется выполнять команды по удалению пакетов, которые были установлены автоматически (так как были зависимостями других программ), но теперь больше не нужны.
Для этого применяется команда:
Её использование безопасно и не должно приводить к проблемам.
Как уже было сказано, поскольку ядра поставляются в качестве пакетов, то приведённая выше команда также удалит неиспользуемые (из-за того, что уже установлена новая версия) ядра Linux.
Очистка кэша пакетов в Kali Linux
Кроме кэша, в котором хранится информация о пакетах, также имеется кэш с файлами самих пакетов. И если первый весьма невелик в размерах, второй занимает довольно много места, которое постоянно увеличивается.
При каждом обновлении программ файлы пакетов скачиваются в кэш. После обновления скаченные файлы (можно назвать их установочными) не удаляются, и постепенно кэш разрастается до больших размеров. Это сделано намерено с той идеей, что если после очередного обновления вы обнаружите, что новый пакет имеет проблемы, а старая версия уже недоступна в онлайн репозитории, то вы сможете окатиться до старой версии установив её из файла, сохранённого в кэше.
Для роллинг дистрибутивов кэш разрастается очень быстро, и если вы недостаточно квалифицированы, чтобы откатиться до старой версии, установочный пакет которой сохранён в кэше, то для вас эти сотни мегабайт или даже несколько гигабайт – это зря потраченное место на жестком диске. Поэтому время от времени можно выполнять команды
clean – удалить скачанные файлы архивов
clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.
autoclean - удалить старые скачанные файлы архивов
Как и clean, autoclean вычищает из локального репозитория скаченные файлы пакетов. Разница только в том, что она удаляет только файлы пакетов, которые не могут быть больше загружены и в значительной степени бесполезны.
Это позволяет поддерживать кэш в течение долгого периода без его слишком большого разрастания.
Читайте также: