//kalinux.info
Разное 1262 просмотров

Пользовательский дистрибутив Kali Linux

Пользовательский дистрибутив Kali Linux

Нам нравится, когда члены сообщества придумывают новые идеи или интересные сборки, и это привлекло наше внимание. Jacek Kowalczyk набросился на твиттер с действительно интересной историей. Его подход к настройке Kali, чтобы быть конкретным для его потребностей, является именно тем, почему эта функция так важна для нас, и мы хотели поделиться своей историей более широко.

Рецепт Live-build от Jacek состоял в облегченной версии Kali, использующей его любимые настольные среды, включая некоторые приятные конфигурации рабочего стола. Мы думали, что лучше всего позволить Jacek поделиться своим процессом с вами шаг за шагом, по его собственным словам:

История Jacek

Я потратил много времени на поиск дистрибутива Linux, который наилучшим образом отвечал моим потребностям. Мне нужна была очень легкая система, и я тестировал тонну вариантов (Manjaro, Debian, Ubuntu, Sparky, MX Linux, Antix, Arch, Anarchy, Antergos, Archlabs, Bunsen Labs и многие другие). Я также тестировал различные среды рабочего стола, пытаясь найти подходящее место (Xfce, LXDE, Mate, LXqt, i3, openbox, fluxbox, jwm и IceWM). Несмотря на это исчерпывающее тестирование, я все еще не был удовлетворен.

Стало ясно, что для моих нужд мне нужен скользящий выпуск Linux, который был не только легким, но и имел хорошую поддержку от компании или сообщества. Я сделал длинный список моих любимых дистрибутивов Linux, но я все еще не мог решить.

Я всегда хотел участвовать в проекте с открытым исходным кодом и немного развиваться. Мне пришло в голову, что моим решением может быть просто создание моей собственной установки - я могу взять дистрибутив Linux, установить базовую ОС и настроить его. Сначала это казалось отличным вариантом. Но что произойдет, если мне нужно будет переустановить? Я не хотел начинать сначала с настройки моей установленной системы.

Я знал, что хочу создать ISO, который мог бы использовать для установки моей системы в любое время и в любом месте. Он был бы идеально настроен для моих потребностей, которые были бы свежими из установки. Из-за этого я начал искать способы настройки Debian, Arch или Manjaro. Это привело меня к скриптам конфигурации Live-build Kali Linux. В этот момент я понял, что нашел свое решение.

Kali Linux - это гибкий дистрибутив, основанный на Debian, и имеет большую поддержку от команды Offensive Security, а также активного сообщества. Я также нашел существующие скрипты для i3wm, предоставленные командой Kali. Это была моя отправная точка. Я начал играть с списком пользовательских пакетов, а затем с некоторыми файлами chroot, которые будут включены в ISO. В этом процессе я создал более 20 образов ISO до тех пор, пока не получил один из них, которым я был доволен. Даже сейчас я все еще продолжаю улучшать его.

Позвольте мне объяснить, как я создал два варианта Kali linux - один с i3wm и один с Openbox window manager.

Пользовательский Kali Linux с i3wm или Openbox

Я сделал свою первую настройку, основанную на официальной документации Kali для live-build-config. Этот процесс:

 

  1. Установите Kali Linux.Используйте любой официальный образ Кали.
  2. Установите дополнительные пакеты.
  3. Запустите взлом i3wm / Openbox.Сначала я рассматривал их как две отдельные сборки, чтобы держать вещи чище для себя. Я делал двойную работу, но ее было легче отслеживать.
root@kali:~# apt install curl git live-build cdebootstrap
root@kali:~# git clone git://git.kali.org/live-build-config.git
...
root@kali:~# cd live-build-config/kali-config
root@kali:~/live-build-config/kali-config# ls
common variant-e17 variant-i3wm variant-light variant-mate
variant-default variant-gnome variant-kde variant-lxde variant-xfce

Для i3 я начал с внесения изменений в существующую папку variant-i3wm. Для Openbox, я скопировал вариант - i3wm каталог для варианта - Openbox и добавил мои изменения к нему

root@kali:~/live-build-config/kali-config# cp -r variant-i3wm variant-openbox

При этом следующим шагом было отредактировать файл kali-config // packages-lists / kali.list.chroot, чтобы добавить необходимые пакеты, которые я хотел. Мой список пакетов для i3wm можно найти здесь, и Openbox здесь. Все файлы конфигурации для livecd должны быть скопированы в kali-config / common / includes.chroot / root /. Этот каталог используется, поскольку среда livecd работает как пользователь root.

Все файлы конфигурации для установленной файловой системы должны быть скопированы в kali-config / common / includes.chroot / etc / skel /.  ets / skel каталог обычно используется в качестве шаблона для создания домашних каталогов пользователей, так что каждый новый пользователь по умолчанию будет иметь файлы , которые находятся в этом каталоге.

Nitrogen - это приложение, используемое для настройки обоев. Файл .config / nitrogen / bg-saved.cfg определяет набор обоев. Второй файл .config / nitrogen / nitrogen.cfg является основным конфигурационным файлом для nitrogen и определяет каталоги, в которых расположены изображения обоев. Я подправил каждый из них, чтобы соответствовать моим предпочтениям. После этого я также изменил апплет диспетчера питания, настроив .config / xfce4 / xfconf / xfce-perchannel-xml / xfce4-power-manager.xml.

Кроме того, я сделал ряд других настроек, чтобы персонализировать систему немного больше. Не вдаваясь в подробности, они были:

Для i3wm

  • kali-config / common / includes.chroot / root / .i3wm_conkyrc- Конфигурация для консольного инструмента. Этот файл conkyrc основан на конфигурации conky от Sparky Linux
  • kali-config / common / includes.chroot / root / .config / i3 / config- Файл конфигурации для i3wm был создан для меня на первом входе в i3wm, и я добавил несколько изменений для автозапуска других инструментов, таких как: nitrogen, clipit, управление громкостью и определил привязки клавиш для моих инструментов и действий (выключение и перезагрузка).

Для Openbox

  • kali-config / common / includes.chroot / root / .openbox_conkyrc- конфигурация для conky. Openbox conkyrc отличается от версии для i3wm. Этот файл основан на файле conkyrc из CrunchBang ++.
  • kali-config / common / includes.chroot / root / .config / openbox / autostart- файл автозапуска Openbox определяет, какие инструменты и приложения должны запускаться автоматически с сеанса openbox: (nitrogen, clipit, volume vontrol, power manager, conky). Я также основывал его на файле CrunchBang ++.
  • kali-config / common / includes.chroot / root / .config / openbox / menu.xml- это конфигурация меню Openbox, контролирующая, что происходит, когда вы нажимаете правой кнопкой мыши на рабочем столе. Openbox действительно уникален тем, что этот файл полностью контролируется пользователем, и вы можете запускать в нем сценарии и выполнять другие действия, такие как запуск приложений или даже просмотр состояния приложения медиаплеера в меню динамических труб. Openbox действительно мощный.
  • kali-config / common / includes.chroot / root / .config / openbox / rc.xml- Темы диспетчера окон Openbox и привязки клавиш. Это довольно неплохо, но я добавил туда свои ключевые слова для моих любимых инструментов и действий, таких как poweroff и reboot.
  • kali-config / common / includes.chroot / root / .config / tint2 / tint2rc- настройки и пусковые установки панели Tint Здесь я добавил свои наиболее часто используемые инструменты: терминал, редакторы, веб-браузеры. Чтобы отредактировать этот файл, я использовал приложение tint2conf gui. Это приложение позволяет легко определять темы панели tint2 и добавлять пусковые установки и другие элементы панели.

Все изменения для i3wm можно найти здесь, и Openbox можно найти здесь.

Я также добавил браузер Firefox для разработчиков, загрузив установочный пакет и распакуя его в kali-config / common / includes.chroot / opt / firefox /, а затем добавил клиента токсического токсика в kali-config / common / includes.chroot / opt / токсичный. Чтобы запустить Firefox, я добавил также сценарий оболочки kali-config / common / includes.chroot / usr / bin / firefox.sh.

#!/bin/bash
echo "Starting firefox developer edition"
/opt/firefox/firefox

Построение ISO

Со всей этой конфигурацией, это было время для забавной части, создавая ISO!

root@kali:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant i3wm --verbose
root@kali:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant openbox --verbose

С теми, кто работает, мне тогда просто пришлось ждать, пока работа закончится. В моем случае это заняло около 3 часов. Созданные файлы ISO были сохранены в подпапке изображений.

Окончательный вариант

В окончательной версии конфигураций я решил перенести мою установку i3wm в мою сборку Openbox. Таким образом, при создании Openbox config я получаю оба оконных менеджера Openbox и i3. На экране входа в систему я могу выбрать сеанс, который я хочу. Очевидно, что гораздо проще иметь один «идеальный» ISO, чем выбирать между ними во время установки.

Завершение

Мы любим подход Jacek к определению его потребностей, а затем не боялись просто прыгать и вносить изменения. Как и многие вещи в Linux, выполнение пользовательской установки может быть пугающей и выглядеть очень сложным процессом. Но как только вы входите и начинаете процесс, это действительно довольно просто, и объем работы, который он может сэкономить, потрясающий.

Спасибо Jacek за всю его тяжелую работу и готов поделиться этим с сообществом. Вы можете видеть, что еще делает Jacek на своей странице Gitlab.