Kali Linux на WSL: “sudo apt upgrade -y” не завершается/застрял

Вопрос или проблема

Я хочу использовать Kali Linux на своем компьютере с Windows 11 через WSL. После установки Kali на WSL я выполнил sudo apt update -y, что прошло успешно, затем sudo apt upgrade -y, которое теперь застряло на 2% прогресса уже более 20 минут. Эта операция не должна занимать столько времени.

вот как это выглядит

Выполнил sudo apt update -y, и это прошло успешно, затем sudo apt upgrade -y, которое не завершилось. Индикатор прогресса застрял на 2% уже более 20 минут. Я не могу прервать процесс с помощью “ctrl + c”. Если я попытаюсь открыть другое окно терминала Kali и выполнить команду sudo apt upgrade, я получаю ошибку “Ожидание блокировки кэша: Не удалось получить блокировку /var/lib/dpkg/lock-frontend. Она удерживается процессом 126 (apt)…”.

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

Спасибо!

Я столкнулся с этой проблемой сегодня и заметил, что процесс telinit использует 100% CPU, когда смотрел вывод top в другом терминале.

Выполнение sudo kill -9 <telinit pid> позволило завершить обновление.

Шаги

  1. Откройте Powershell от имени администратора
  2. Выполните эту команду wsl –unregister
  3. Удалите Linux WSL из Windows
  4. Снова загрузите из Microsoft Store
  5. После этого запустите свой Linux WSL после установки
  6. Не выполняйте никаких обновлений, просто запустите sudo apt-get update
  7. После этого выполните эти две команды в Linux WSL
  8. “sudo mv /usr/sbin/telinit /usr/sbin/telinit.bak “
  9. “sudo ln -s /usr/bin/true /usr/sbin/telinit”
  10. После этого выполните sudo apt-get update && sudo apt-get upgrade

Я столкнулся с такой же проблемой при обновлении Kali Linux на WSL2. Я также пытался исправить проблему, удалив файлы блокировки, но это не сработало для меня.

 $ sudo rm /var/lib/apt/lists/lock
 $ sudo rm /var/cache/apt/archives/lock
 $ sudo rm /var/lib/dpkg/lock

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

$ `sudo apt install -f`

или

$ sudo dpkg --configure -a

Ответ или решение

Чтобы решить проблему с зависанием команды sudo apt upgrade -y в Kali Linux на WSL (Windows Subsystem for Linux), выполните следующие шаги:

1. Проверка запущенных процессов

Сначала вам нужно проверить, есть ли работающие процессы, которые могут блокировать apt. Откройте новый терминал в Kali и выполните команду:

top

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

sudo kill -9 <PID>

2. Удаление блокировок

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

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

3. Исправление зависших пакетов

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

sudo apt install -f

или

sudo dpkg --configure -a

4. Установка необходимых обновлений

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

sudo apt update -y
sudo apt upgrade -y

5. Дополнительные действия для решения проблемы с telinit

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

sudo mv /usr/sbin/telinit /usr/sbin/telinit.bak
sudo ln -s /usr/bin/true /usr/sbin/telinit

После этого снова попробуйте выполнить обновление:

sudo apt update && sudo apt upgrade

6. Переустановка WSL (если ничего не помогает)

Если несмотря на все попытки проблема сохраняется, вы можете удалить и заново установить Kali Linux на WSL. Для этого выполните следующие шаги:

  1. Откройте PowerShell от имени администратора.
  2. Выполните команду:
    wsl --unregister <имя_дистрибутива>
  3. Удалите Kali Linux из Windows.
  4. Снова скачайте Kali Linux из Microsoft Store.
  5. После установки не выполняйте обновления сразу, просто запустите:
    sudo apt-get update
  6. Затем выполните команды, которые помогут избежать проблем с telinit (как указано выше).

Заключение

Следуя этим шагам, вы должны устранить проблему с зависанием sudo apt upgrade -y в Kali Linux на WSL. Если проблема все еще сохраняется, возможно, стоит искать дополнительные источники информации и поддержку на форумах, связанных с Kali и WSL.

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

Капча загружается...