Вопрос или проблема
Я скачал файл установщика kali-linux-2024.4-installer-amd64.iso с сайта Kali Linux, выделил 100 ГБ памяти через VirtualBox, прошел настройку и загрузку виртуальной машины. sudo apt update
сработала нормально. Затем я ввел sudo apt -y upgrade
и получил ошибку:
Setting up kali-desktop-base (2025.1.6) ...
update-alternatives: error: alternative path /usr/share/desktop-base/kali-theme/login/background.svg doesn't exist
**dpkg:** error processing package kali-desktop-base (--configure):
installed kali-desktop-base package post-installation script subprocess returned error exit status 2
Processing triggers for desktop-file-utils (0.28-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for gnome-menus (3.36.0-2) ...
Processing triggers for libc-bin (2.40-3) ...
Processing triggers for (2.13.0-1) ...
Processing triggers for dbus (1.16.0-1) ...
Processing triggers for kali-menu (2025.1.1) ...
Errors were encountered while processing:
kali-desktop-base
**<red>Error</red> Sub-process /usr/bin/dpkg returned an error code (1)**
Попытка использовать предустановленные виртуальные машины для VirtualBox вместо установочного образа ISO приводит к той же ошибке.
Как это исправить?
Ключевая строка ошибки:
update-alternatives: error: alternative path /usr/share/desktop-base/kali-theme/login/background.svg doesn't exist
Перейдите в папку этого файла (/usr/share/desktop-base/kali-theme/login
). Вы должны увидеть 3 “файла”, которые на самом деле не файлы, а символические ссылки – “background”, “background.svg”, “background-blurred”. Вместо обычных изображений, по крайней мере один значок является большим красным фоном с белым X в середине, указывающим на то, что источник, на который ссылается символическая ссылка, не существует. Я обнаружил, что это символические ссылки, щелкнув правой кнопкой мыши по файлу и посмотрев его свойства. Просмотр свойств также покажет вам, какое имя файла она ищет. В моем случае символические ссылки назывались “background.svg” и “background-blurred”, но указывали на файлы “login.svg” и “login-blurred” (без расширения) соответственно.
Решение:
- Скачайте красивую картинку, которую вы хотели бы видеть на экране входа.
- Перейдите к файлам символических ссылок, щелкните правой кнопкой мыши по ним и найдите “Цель ссылки” (куда указывают символические ссылки). Это будет местом назначения файла, который вы собираетесь скопировать.
- Папки, где находятся и символические ссылки, и реальные изображения, являются ограниченными, поэтому вам потребуется более высокий уровень привилегий, т.е. вам понадобится
sudo
.
sudo cp srcFile destFileLocationWithFilename
sudo cp ~/Downloads/prettyPic /usr/share/backgrounds/kali/login.svg
sudo cp ~/Downloads/prettyPic /usr/share/backgrounds/kali/login-blurred
Ссылки:
Форум Linux
Форум Kali
Ответ или решение
Обновление Kali Linux в виртуальной машине VirtualBox может стать настоящим испытанием, особенно когда пользователи встречаются с ошибками, подобными той, что возникает при обработке пакета kali-desktop-base
. Ваша жалоба касается именно этой ситуации, и прежде чем перейти к решению, разберем теорию и возможные причины данной ошибки.
Теория
Первоначально стоит осознать, что ошибки при обновлении пакетов в Linux чаще всего связаны с неверными путями или поврежденными ссылками на файлы в системе. В вашем случае ошибка возникает из-за отсутствия альтернативного пути /usr/share/desktop-base/kali-theme/login/background.svg
, о чем свидетельствует вывод update-alternatives: error...
.
Программа update-alternatives
управляет символическими ссылками для автоматической смены альтернативных программ или файлов в системе. Если путь, на который ссылается update-alternatives
, отсутствует, это приводит к ошибке установки пакета.
Пример
В данном случае символические ссылки, которые должны указывать на определенные фоновые изображения для десктопа, ссылаются на несуществующие файлы. В папке /usr/share/desktop-base/kali-theme/login
выдвижение указывает на отсутствие файлов, польские названия "background", "background.svg", "background-blurred" не могут быть разрешены, так как их цели отсутствуют.
При попытке обновить пакет kali-desktop-base
, он пытается настроить эти ссылки на несуществующие файлы, что и вызывает ошибку. В результате любые дальнейшие обработки пакета kali-desktop-base
невозможны из-за отсутствия критического файла.
Применение
Для решения данной проблемы вам необходимо будет заменить отсутствующие изображения. Это можно сделать, установив свои собственные фоновые рисунки и настроив символические ссылки вручную. Вот детальная инструкция, как это осуществить:
-
Загрузка Файлов: Найдите или создайте подходящее изображение, которое вы бы хотели использовать в качестве фонового изображения для вашего экрана входа. Убедитесь, что изображение находится в доступном месте, например, в папке
~/Downloads
. -
Корректировка прав доступа: Поскольку директории
/usr/share/...
защищены, вам понадобятся права суперпользователя для работы с ними. Подготовьтесь использоватьsudo
для копирования и изменения файлов. -
Перемещение и настройка файлов:
a. Переместите ваше изображение в защищенный каталог. Используйте команду:
sudo cp ~/Downloads/имяВашегоФайла /usr/share/backgrounds/kali/login.svg
То же самое сделайте для остальных отсутствующих файлов или создайте дополнительные изображения, имитируя отсутствие
login-blurred
.b. Проверьте целевые ссылки. Убедитесь, что ссылки теперь указывают на верные файлы. Возможно, потребуется использовать
ln -sf
для создания или исправления символических ссылок:sudo ln -sf /usr/share/backgrounds/kali/login.svg /usr/share/desktop-base/kali-theme/login/background.svg
-
Перезапуск: После переноса файлов и настройки ссылок, убедитесь, что система понимает сделанные изменения. Перезапустите машину виртуализации для лучшей уверенности в корректной обработке новых путей.
-
Повторное обновление: Запустите команду обновления снова, чтобы обеспечить корректную установку всех зависимостей и отсутствие ошибок.
sudo apt update && sudo apt -y upgrade
Заключение
Ошибки такого рода часто возникают из-за несоответствий в файловой системе, особенно когда инсталлируется или обновляется пакет в достаточно специфичных системах, как Kali Linux. Своевременная замена отсутствующих файлов и корректная настройка символических ссылок — это надежный способ предотвратить повторное возникновение подобной ошибки.
Существует масса форумов и сообщества, где обсуждаются подобные проблемы, что может послужить дополнительным источником решений. Однако, имея достоверный подход к пониманию Linux и символических ссылок, большинство подобных препятствий легко решаются правильными базовыми действиями.