Linux: обновление приложений, ОС и драйверов в UBUNTU/Debian, установка системы
В новых версиях Ubuntu/Debian не обязательно использовать apt-get, достаточно apt.
Приложения
sudo apt-get update – получение списка всех доступных обновлений приложений из установленных в системе репозиториев. Обязательно запускаем чтобы гарантировать, что мы ставим последние версии приложений.
После обновления перезагружаемся. Осторожно! при обновлении сервисов они могут не работать (у меня выдавало ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)) при обновлении mysql, что вполне естественно.
Обновление может помочь при переводе часов (обновлялся пакет tzdata, отвечающий за часовые пояса).
После перезагрузки не забываем стартануть все демоны, а так же можем наткнуться на отсутствие сетевой доступности из-за прописывания маршрутов динамически в RIB, а не в файл. Проверяем вышестоящими командами отсутствия новых апдейтов.
Clean
sudo apt-get autoremove – удаление осиротевших пакетов/библиотек и прочего треша, запускаем строго ПОСЛЕ обновления и перезагрузки. Запускать надо т.к. может сильно высвободить память от мусора. Причем запускать несколько раз, как с CCleaner. После этого может понадобится еще одна перезагрузка (в шапке будет system restart required).
Аналогично теряли базу postgres на gentoo. Причем она продолжала работать в оперативке.
OS
uname –a – смотрим hostname, версию ядра, разрядность (если система 64-битная, то в консоли это будет обозначено как x86_64; если система 32-битная, то будет i686 или i386)
sudo apt-get install update-manager-core – устанавливаем приложение по обновлению ядра
sudo do-release-upgrade или sudo apt full-upgrade – обновление релиза OS (ядра Linux). Если версия хоть и предыдущая, но поддерживаемая LTS, несколько раз думаем перед обновлением, насколько оно нужно. Вместо обновления на новую LTS система может предложить обновить только Security стек, как самое необходимое.
Репозитории
/etc/apt/sources.list – для ubuntu находятся тут. Так же приложения можно ставить из ppa-репозиториев (установка ppa-приложений) с сайта launchpad.net, принадлежащего Canonical (по сути маркет для приложений). Например популярный репозиторий для php7.0 http://ppa.launchpad.net/ondrej/php/ubuntu. В любом случае (особенно в случае с ppa), устанавливая тот или иной репозиторий, нужно быть уверенным, что он надежный – иначе получим нерабочий или даже вредоносный софт.
Пример добавления репозитория.
Можно добавлять и непосредственно строкой в файл /etc/apt/sources.list, причем чем «выше» (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий.
Другие полезные apt-команды
apt list –installed – смотрим информацию про все установленные пакеты
apt show python3 – смотрим информацию про конкретный пакет
apt list phantomjs – смотрим информацию про конкретный пакет
apt search python3-pip – ищем конкретный пакет
apt-cache policy mysql-server – смотрим текущую версию пакета и ту, на которую будет апдейт
REMOVE
DPKG
DPKG, как и пакет deb – от прародителя Ubuntu – Debian. DPKG – установщик пакетов в Debian like системах. Не является пакетным менеджером т.к. не умеет скачивать пакеты, не умеет скачивать/устанавливать их зависимости. Но в связке dpkg + apt “–fix-broken” работает – т.е. устанавливаем приложение с использованием dpkg, далее “подтягиваем” недостающее с помощью –fix-broken.
Установка обновлений Ubuntu
После того, как вы установили систему, в нашем случае Ubuntu или любой другой дистрибутив, его нужно регулярно обновлять. Установка обновлений Ubuntu необходима, чтобы получить новые версии программ, исправления ошибок, а также исправления проблем с безопасностью. Разработка Ubuntu происходит так, что новые версии программ поставляются только с релизом дистрибутива, а затем приходят только обновления исправляющие баги и проблемы с безопасностью. Но это не значит, что не нужно их устанавливать. Кроме того, если вы хотите также иметь самые новые версии программного обеспечения, то можете использовать PPA разработчиков и устанавливать программы от туда. Как правило, разработчики всегда загружают самые новые версии.
Обновление программ в Ubuntu через менеджер обновлений
В Ubuntu предусмотрен механизм обновления через менеджер обновлений. Это графическая программа, которая запускается время от времени и предлагает обновить систему если были выпущены новые обновления.
Менеджер обновлений Ubuntu довольно прост и вы можете запустить его через главное меню:
Сразу после запуска программа обновит списки программ из репозиториев, чтобы понять есть ли новые версии пакетов:
Если не возникло никаких ошибок связи с сетью или источниками программного обеспечения, вы увидите такое окно:
Программа говорит, сколько обновлений было найдено и сколько данных нужно скачать через интернет.
Осталось нажать кнопку Установить сейчас и начнется обновление пакетов Ubuntu:
Вы можете посмотреть более подробную информацию о процессе обновления:
После завершения обновления программ в ubuntu менеджер обновлений Ubuntu уведомит вас, что все пакеты были обновлены успешно.
Поведение менеджера обновлений можно настроить. Для этого откройте утилиту Программы и обновления, затем перейдите на вкладку обновления:
Тут вы можете указать какие обновления нужно устанавливать, как часто проверять обновления и что делать при появлении новых обновлений для программного обеспечения, например мы можем их сразу же установить без участия пользователя.
Обновление системы Ubuntu с помощью менеджера обновлений может показаться простым, и это так и есть, пока не возникли ошибки. А при возникновении ошибок нам нужно попытаться обновить систему через терминал, чтобы получить больше информации о проблеме.
Обновление пакетов Ubuntu через терминал
Для обновления через терминал обычно используется инструмент командной строки apt. Эта утилита позволяет не только обновлять пакеты, но и устанавливать и удалять программное обеспечение, искать программы, настраивать репозитории и т д.
Первым делом, нам необходимо выполнить обновление репозиториев ubuntu, для этого используется такая команда обновления ubuntu:
Утилита нам сразу подсказывает, что есть обновления и мы можем узнать, какие пакеты будут обновлены:
Теперь непосредственно обновление системы Ubuntu. Для этого есть две опции upgrade и full-upgrade (раньше dist-upgrade). Рассмотрим в чем разница между upgrade и dist upgrade:
Таким образом, установка обновлений Ubuntu может быть выполнена одной из команд:
sudo apt full-upgrade
Причем рекомендуется именно вторая команда обновления ubuntu, поскольку она более продумана и обновляет больше пакетов.
Здесь не обязательно обновлять все пакеты, мы можем обновить только один определенный пакет, например браузер:
sudo apt full-update firefox
Опцию full-update мы используем чтобы обновить включая установку новых зависимостей.
Обновление пакетов Ubuntu через Synaptic
Обновлять пакеты Ubuntu можно не только с помощью стандартных пакетных менеджеров. Также есть и сторонние программы. Например Synaptic. Если он у вас еще не установлен, это легко исправить:
sudo apt install synaptic
Запустить программу можно из главного меню:
Главное окно программы выглядит вот так:
Программа работает не совсем привычным образом. Чтобы выполнить операции над пакетами, необходимо их сначала отметить, а затем уже применить нужную операцию. Такая же ситуация с обновлением.
Но давайте обо всем по порядку, сначала необходимо обновить списки пакетов из репозиториев, чтобы программа узнала, есть ли новые версии, это аналогичное действие команды apt update или, тому что выполняется при старте стандартного менеджера обновлений, так сказать проверка обновлений ubuntu. Откройте меню правка и выберите Обновить сведения о пакетах:
Дальше обновление системы Ubuntu. Как я и сказал, нужно сначала отметить пакеты, с которыми будем работать. Поскольку обновляем все, перейдите на вкладку состояние, установленные и нажмите кнопку Отметить все. Программа сама определит, что для данных пакетов есть обновления и если кроме обновления пакетов ubuntu нужно выполнять дополнительные действия, она покажет их:
Можно пойти другим путем, на той же вкладке нажать Ctrl+A, чтобы отметить все пакеты, затем в контекстном меню выбрать Отметить для обновления:
Независимо от способа, дальше нажимаем Применить:
Программа опять покажет, какие изменения будут внесены в систему, нажмите Apply:
Только теперь начнется загрузка пакетов:
После завершения установки обновлений программа выдаст сообщение, что все прошло успешно.
Выводы
Установка обновлений Ubuntu, не такое уж сложное дело, но оно должно выполняться периодически, чтобы поддерживать систему в актуальном состоянии и безопасности. Из этой статьи вы узнали целых три способа выполнить обновление пакетов Ubuntu. Этого вполне достаточно, чтобы выбрать подходящий для вас. Часто во время обновлений возникают ошибки, что делать если Ubuntu не обновляется мы рассмотрим в следующей статье.
Использование apt-команд в Linux
Если вы используете Debian, Ubuntu, Linux Mint или любой другой дистрибутив Debian или Ubuntu, вы, должно быть, уже сталкивались с некоторыми apt-командами.
Впервые появившаяся в Ubuntu 16.04, apt медленно набирает популярность. Поскольку все больше и больше дистрибутивов Linux, основанных на Ubuntu, настаивают на том, чтобы apt стала рекомендуемой командой для управления пакетами, пришло время научиться использовать команды apt.
В этом руководстве для начинающих пользователей Linux я расскажу вам о различных командах apt с примерами, чтобы Вы могли использовать их в качестве опытного пользователя Linux.
Что такое 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.
Обновление базы пакетов с помощью apt
apt фактически работает с базой данных доступных пакетов. Если база данных не обновляется, система не будет знать, есть ли более новые пакеты. Поэтому обновление репозитория должно быть первым делом в любой системе Linux сразу после ее установки.
Обновление базы данных пакетов требует права суперпользователя, поэтому вам придется использовать sudo.
Когда вы запустите эту команду, вы увидите, что информация о пакете извлекается с различных серверов.
Здесь вы увидите три типа строк: «Hit», «Get» и «Ign». В основном это:
Обновление установленных пакетов с помощью apt
Это покажет вам, сколько и какие пакеты будут обновлены.
Есть еще один способ выполнить полное обновление с помощью команды, приведенной ниже:
Полное обновление работает так же, как и обычное обновление, за исключением того, что если обновление системы нуждается в удалении пакета, уже установленного в системе, оно сделает это. В то время как обычная команда обновления этого не сделает.
В чем разница между apt update и apt upgrade?
Хотя это звучит, будто вы выполняете обновление apt, команда будет обновлять пакеты, и вы получите последнюю версию пакета. Но это не так. apt-update обновляет только базу данных пакетов.
Например, если у вас установлен XYZ пакет версии 1.3, после apt-обновления база данных будет знать, что доступна более новая версия 1.4. Когда вы делаете apt-update после apt-upgrade, она увеличивает(или обновляет, в зависимости от того, какой термин вы предпочитаете) установленные пакеты до более новой версии.
По этой причине наиболее быстрый и удобный способ обновления системы Ubuntu с помощью этой команды:
Как установить новые пакеты с помощью apt
Если вы уже знаете имя пакета, вы можете установить его с помощью команды ниже:
на нужный пакет. Предположим, вы хотите установить mplayer, вы можете просто использовать команду ниже:
Хорошо, что здесь можно использовать автозавершение. Таким образом, если вы не уверены в точном названии пакета, вы можете набрать несколько букв и нажать клавишу табуляции, и терминал подскажет все пакеты, доступные с этими буквами. Например:
Как установить несколько пакетов с apt
Вы не обязаны устанавливать только один пакет за раз. Вы можете установить несколько пакетов сразу, указав имена всех пакетов через пробел:
Что если вы запустите apt install на уже установленном пакете?
Не волнуйтесь. Просто загляните в базу данных и, если будет найдена более новая версия, обновите установленный пакет до более нового. Таким образом, с его помощью можно не навредить, если только вы не хотите, чтобы он был обновлен.
Как установить пакеты без обновления
Как только обновлять пакеты, а не устанавливать
Как установить конкретную версию приложения
По умолчанию для приложения будет установлена последняя версия, доступная в репозитории. Но если вы не хотите устанавливать последнюю версию, вы можете указать номер версии. Вам нужно будет знать точный номер версии, которую вы хотите установить.
Просто добавьте =версия с именем пакета.
Как удалить установленные пакеты с помощью apt
Довольно разговоров об установке пакетов, посмотрим, как удалить пакеты. Удалить пакеты так же просто, как и установить их. Просто используйте команду ниже:
Автозавершение работает и здесь. Поэтому просто начните набирать имя пакета и нажимать клавишу табуляции, и он предложит все установленные пакеты, начинающиеся с этих букв.
Какая разница между apt remove и apt purge?
Если вы использовали apt remove, чтобы избавиться от определенного программного обеспечения, а затем попытаетесь установить его снова, ваше программное обеспечение будет иметь те же самые файлы конфигурации. Конечно, при повторной установке вам будет предложено переопределить существующие конфигурационные файлы.
Очищение же полезно, когда вы запутались в настройке программы. Вы хотите полностью стереть ее следы из системы и, возможно, начать заново. И да, вы можете использовать apt-purge на уже удаленном пакете.
Обычно для удаления пакета более чем достаточно apt remove.
Поиск пакетов
Не самый мой любимый способ поиска пакетов. Но это полезно, когда вы ищете какую-то конкретную библиотеку. Просто используйте следующую команду с нужными условиями поиска. Она найдет все пакеты, содержащие ваше поисковое слово.
Как просмотреть содержимое пакета
Если вы хотите узнать больше о пакете перед установкой или удалением, вы можете использовать команду ниже:
Здесь будет показана информация о выбранном пакете(ах), такая как его зависимости, размер установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, среди прочего:
Список обновляемых и установленных версий
Команда apt имеет новую опцию под названием «список». С помощью нее вы можете увидеть все пакеты, у которых есть более новая версия, готовая к обновлению:
Как очистить вашу систему с помощью apt
Я уже рассказывал о способах очистки системы Ubuntu, чтобы освободить место. В отличие от apt-get, здесь нет команд чистки и автоочистки. Вы все еще можете использовать опцию автоудаления и освободить место на диске:
Эта команда удаляет библиотеки и пакеты, которые были установлены автоматически для удовлетворения требований зависимостей установленного пакета. Если пакет удален, эти автоматически установленные пакеты, хотя и бесполезны, остаются в системе.
Я недавно почистил свою систему, и поэтому она показывает только несколько Kb файлов, которые нужно удалить. В противном случае, с помощью этой команды можно легко получить 100 Мб свободного места.
Ваш вклад
Я сознательно не включал в эту статью команду apt edit-sources. Это связано с тем, что этот параметр команды находится в процессе разработки и на данный момент он делает не более чем открытие файла source.list в редакторе по вашему выбору.
Вам понравилось это руководство по использованию команд apt в Linux? Надеюсь, что с примерами легко было разобраться в команде apt. Ваши отзывы помогут создать больше подобных руководств в ближайшем будущем.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как обновить Kali Linux
Как обновить программы в 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 релизы), то для полного обновления системы вам достаточно обновить кэш пакетов, а затем запустить полное обновление пакетов, т.е. выполнить команду
Хотя в новостях указываются на разные нововведения, приуроченные к тому или иному релизу (выпуску), на самом деле, эти нововведения (обновление ядра, новые версии программ и новые инструменты) могли быть добавлены задолго до официального релиза, и если вы регулярно обновляете свою систему, то они уже были установлены или будут установлены вышеприведённой командой.
Новости из релиза главным образом относятся к Live образу, который обновляется несколько раз в год, все остальные нововведения попадают каждому пользователю Kali Linux сразу после внедрения.
Удаление неиспользуемых программ и ядер Kali Linux
Время от времени рекомендуется выполнять команды по удалению пакетов, которые были установлены автоматически (так как были зависимостями других программ), но теперь больше не нужны.
Для этого применяется команда:
Её использование безопасно и не должно приводить к проблемам.
Как уже было сказано, поскольку ядра поставляются в качестве пакетов, то приведённая выше команда также удалит неиспользуемые (из-за того, что уже установлена новая версия) ядра Linux.
Очистка кэша пакетов в Kali Linux
Кроме кэша, в котором хранится информация о пакетах, также имеется кэш с файлами самих пакетов. И если первый весьма невелик в размерах, второй занимает довольно много места, которое постоянно увеличивается.
При каждом обновлении программ файлы пакетов скачиваются в кэш. После обновления скаченные файлы (можно назвать их установочными) не удаляются, и постепенно кэш разрастается до больших размеров. Это сделано намерено с той идеей, что если после очередного обновления вы обнаружите, что новый пакет имеет проблемы, а старая версия уже недоступна в онлайн репозитории, то вы сможете окатиться до старой версии установив её из файла, сохранённого в кэше.
Для роллинг дистрибутивов кэш разрастается очень быстро, и если вы недостаточно квалифицированы, чтобы откатиться до старой версии, установочный пакет которой сохранён в кэше, то для вас эти сотни мегабайт или даже несколько гигабайт – это зря потраченное место на жестком диске. Поэтому время от времени можно выполнять команды
clean – удалить скачанные файлы архивов
clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.
Как и clean, autoclean вычищает из локального репозитория скаченные файлы пакетов. Разница только в том, что она удаляет только файлы пакетов, которые не могут быть больше загружены и в значительной степени бесполезны.
Это позволяет поддерживать кэш в течение долгого периода без его слишком большого разрастания.