Как обновить Kali Linux


Как обновить программы в Kali Linux

Обновление программ в системах Linux отличается от обновления в Windows. Причём отличается в лучшую сторону – на мой взгляд, система управления и обновлениями программами (в Linux обычно используют слово «пакеты») является одним из ключевых преимуществ ОС семейства Linux.

Если в Windows обновление каждой программы выполняется в индивидуальном порядке: какие-то программы делают это автоматически, какие-то выводят соответствующее уведомление, для каких-то нужно самому заходить на официальный сайт и проверять информацию о новой версии. В Linux все программы (пакеты) собраны в одно или несколько хранилищ, которые называются репозиториями. Обычно, у каждого дистрибутива свой собственный репозиторий. Одна система может использовать сразу несколько репозиториев, например, Linux Mint «из коробки» использует пакеты из хранилища Ubuntu и из своего собственного хранилища.

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

Обновление Kali Linux в графическом интерфейсе

Я рекомендую для обновления системы использовать командную строку (консоль), поскольку это быстрее и надёжнее. Но если вам принципиально использование приложения с графическим интерфейсом, то в меню найдите пункт «Центр приложений» и запустите.

В открывшемся окне перейдите во вкладку «Обновления», если обновлений нет, то нажмите на круговую стрелочку в верхнем левом углу:

Появится сообщение об обновлении операционной системы:

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

Для запуска процесса обновления нажмите на кнопку «Перезапустить и установить» и подтвердите ваш выбор:

При следующем запуске системы начнётся обновление:

Обновления кэша с информацией о приложениях

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

sudo apt update

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

sudo apt-get update

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

Обновление всех пакетов системе в Kali Linux

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

sudo apt full-upgrade

Среди удаляемых пакетов могут быть конфликтующие (мешающие установке требуемых зависимостей).


Аналогичный результат можно получить командами:

sudo apt-get dist-upgrade
# или
sudo aptitude full-upgrade

Обновление кэша и приложений в одну команду

Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:


sudo apt update && sudo apt full-upgrade -y

Как посмотреть, какие пакеты будут обновлены в Kali Linux

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

apt list --upgradable

Как обновить один пакет в Kali Linux

Если вы не хотите обновлять систему целиком, а хотите обновить одну определённую программу, то используйте команду вида (замените имя_пакета на действительное название):

sudo apt install имя_пакета

Например, для обновления пакета apktool:

sudo apt install apktool

Как обновить ядро Kali Linux

Ядро Linux поставляется упакованным в пакет, как и остальные программы. По мере выхода новых версий ядра, в Kali Linux произойдёт его обновление вместе с остальными пакетами при выполнении команды:

sudo apt full-upgrade

Как обновить систему Kali Linux до последней версии

Регулярно выходят новые версии Kali Linux, например, 2017.1, 2017.2 и т.д. Если у вас уже установлена любая версия, выпущенная начиная с 2016 года (так называемые Rolling релизы), то для полного обновления системы вам достаточно обновить кэш пакетов, а затем запустить полное обновление пакетов, т.е. выполнить команду

sudo apt update && sudo apt full-upgrade -y

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

Новости из релиза главным образом относятся к Live образу, который обновляется несколько раз в год, все остальные нововведения попадают каждому пользователю Kali Linux сразу после внедрения.

Удаление неиспользуемых программ и ядер Kali Linux

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

Для этого применяется команда:

sudo apt autoremove -y

Её использование безопасно и не должно приводить к проблемам.

Как уже было сказано, поскольку ядра поставляются в качестве пакетов, то приведённая выше команда также удалит неиспользуемые (из-за того, что уже установлена новая версия) ядра Linux.


Очистка кэша пакетов в Kali Linux

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

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

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

sudo apt autoclean -y

и

sudo apt clean -y

clean – удалить скачанные файлы архивов

clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.

autoclean - удалить старые скачанные файлы архивов

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

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

Ошибки и проблемы при обновлении Kali Linux

В соответствующей ветке форума рассмотрены самые частые ошибки, которые могут возникнуть при обновлении Kali Linux, прежде чем написать о проблеме, рекомендуется ознакомиться с данной информацией: https://kali.org.ru/main-forum/ошибки-и-проблемы-при-обновлении-kali-linux/


Рекомендуется Вам:

12 комментариев to Как обновить Kali Linux

  1. shad:

    чтобы очистить систему можно пойти более простым путем. установить bleachbit (apt-get install bleachbit) и все делается двумя кликами мыши 🙂

    • Alexey:

      Я тоже пользуюсь bleachbit – она очищает даже больше, чем просто кэш APT. В Linux многие действия можно сделать разными способами. wink

  2. Velizar:

    Доброго времени столкнулся с вот такой проблемкой

     apt-get upgrade linux-headers-$(uname -r)
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    E: Не удалось найти пакет linux-headers-4.16.0-kali2-amd64
    E: Не удалось найти пакет с помощью glob «linux-headers-4.16.0-kali2-amd64 »
    E: Не удалось найти пакет с помощью regex «linux-headers-4.16.0-kali2-amd64 »
    root@kali:~#

    собственно некоторые пакеты не видит не находит кандидата на установку

    Подозреваю что дело в старом ядре в линуксе не очень

    lsb_release -a
    No LSB modules are available.
    Distributor ID:    Kali
    Description:    Kali GNU/Linux Rolling
    Release:    kali-rolling
    Codename:    kali-rolling

    Трабл как вылечить не подскажете

    • Alexey:

      Перед выполнением вашей команды, обновите кэш пакетов:

      sudo apt update

      А потом обновляйте/устанавливайте нужные пакеты.

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

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

  3. Velizar:

    Спасибо за ответ ммм обновление кеша sudo apt upgrade я естественно делал в первую очередь

    root@kali:~# apt update
    Пол:1 https://ftp.acc.umu.se/mirror/kali.org/kali kali-rolling InRelease [30,5 kB]
    Чтение списков пакетов… Готово            
    E: Release file for https://http.kali.org/kali/dists/kali-rolling/InRelease is not valid yet (invalid for another 4ч 13мин 46с). Updates for this repository will not be applied.

    Вот такой ответ системы

    Еще давненько воюю с wine ну ни как не могу поставить работаю через play on linux что ну совсем не удобно перепробывал все точней многие методы wine как бы в системе есть но автоматом приложения не запускаются и назначить wine по умолчанию так же не получается так как не видит kali wine в системе только через play on linux.Тыкните ссылкой пожалуйста как скажем полностью удалить wine в общем переустановить правильно

    • Alexey:

      У вас время на компьютере неправильное? Судя по всему, дело всего лишь в этом.

      Для удаления Wine:

      sudo apt purge playonlinux wine32 winbind

      Также можно удалить пользовательские настройки/системы wine:

      m -rf ~/.wine/

      PlayOnLinux тоже имеет в папке ~/ скрытый каталог, название которого начинается на точку – его тоже можно удалить.

      Для установки wine:

      sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install wine32 winbind
      wine --config

      Если у вас в контекстном меню не появился Wine, то раньше помогало следующее:

      1. нажмите правой кнопкой на приложение, которое хотите запустить
      2. выберите «Открыть в другой программе»
      3. там, где строка для ввода, введите wine и нажмите кнопку «Установить по умолчанию», нажмите ОК. Теперь все .exe файлы будут открываться двойным кликом.

      Файлы .exe можно открывать командой вида:

      wine /путь/до/файла.exe

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

  4. Velizar:

    Спасибо за ответы.Я конечно попробую (ранее пробывал) переустановить wine но результат тот же.Практически везде одна и та же схема.И вы так же советуете если wine нет в списке назначить его можно вручную сделав любой .exe фаил по умолчанию.Но у меня и так не получается ну нет вайна и все тут.Так же все точней во всех статьях при установке вайна говорится что при winecfg естественно после всех ранее нужных манипуляции 99% коментариев гласят что wine попросит установить mono и нужно согласится и т.д Но у меня не просит его устанавливать.Я не припомню при попытке чего система жаловалась на отсутствие mono.А вот как его скажем самостоятельно-вручную без просьбы wine установить не нашел ни где.Стандарты и команды как вы описывали выше почти везде одинаковы а как установить-обновить именно mono для wine нет нигде.Собственно я просто забил и поставил виртуалку не очень удобно медленно но хоть как то.

  5. Jason:

    Здравствуйте! А в чём отличие команд apt-get update от sudo apt update?

    • Alexey:

      Применительно к Kali Linux, разницы совершенно нет.

      Если перед первой командой дописать sudo (означает запуск от администратора), чтобы получилось так

      sudo apt-get update
      # и
      sudo apt update

      то разницы нет для всех производных Debian.

      То есть apt-get это более старая, а apt более новая команда. Но их ПРАКТИЧЕСКОЕ различие незначительно для пользователей.

  6. Jason:

    Алексей, спасибо, а что у вас в source листе?

    • Alexey:

      Там достаточно одной строки:

      deb https://http.kali.org/kali kali-rolling main non-free contrib

      Она отличается от той, которая по умолчанию (HTTP заменён на HTTPS - подробности здесь).

      • Geruny:

        Здравствуйте, очень нужна ваша помощь, поставил на usb образ кали 2018(последняя версия на оф сайте), всё обновил, в сурс листе ссылки по умолчанию закомментировал, оставил только вашу, но когда ввожу команду

        apt-get upgrade linux-headers-$(uname -r)

        результат такой же, как и у предидущего юзера

        Чтение списков пакетов… Готово
        Построение дерева зависимостей       
        Чтение информации о состоянии… Готово
        E: Не удалось найти пакет linux-headers-4.15.0-kali2-amd64
        E: Не удалось найти пакет с помощью glob «linux-headers-4.15.0-kali2-amd64»
        E: Не удалось найти пакет с помощью regex «linux-headers-4.15.0-kali2-amd64»
        подскажите в чём проблема, уже весь инет перерыл, ничего дельного не нашёл

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *