Последнее время мне часто стали задавать вопросы про траблы с Kali Linux. Поэтому я решил написать несколько советов по установке и первоначальной настройке, чтобы сразу кидать ссылку на эту статью. Здесь я не буду кормить Вас говном с лопаты про "описание инструментов", "работу с airgeddon" и т.д.
Kali Linux - узкоспециализированный дистрибутив. Во многом хайп по поводу него (в т.ч. на лоре) связан с набегом бесноватых арчешкольников/гентоебов на макиных какеров.
Создан для специалистов по ИБ. Дистр нужен для экономии времени оных, которое является ценным ресурсом (но не для любителей конструктора, гены/LFS etc). Поэтому лучше не лезть туда, если нужен проеб времени после уроков/анальная оккупация соседского WiFI - для этого есть арч/слака.
Конечно Kali может не нравится всяким битардам/бородатым одменам/любителям ебилдов и т.д. Ведь он "не трушный". Так он, блять, не для них создавался. Каждому свое.
В треде не хочу слышать вскукареки от персонажей, перечисленных во 2 и 3 абзацах. Мне ваше мнение не интересно. Мануал для новичков.
Я решил описать три проблемных момента в использовании Kali Linux и ноутбука:
Проблемы с гибридной графикой. Для работы с CUDA и некоторыми программами для перебора паролей нам понадобится драйвер для NVIDIA.
Если вы уже пытались сами поставить дрова, то скорее всего получили падение иксов (система в ауте). Как решать данную проблему можно узнать в Google.
Я же опишу 1 из 3 вариантов установки драйвера NVIDIA для Kali. Почему только 1? Да потому, что он подходит для применения дистрибутива по назначению.
Однако если вы работаете только в Kali (повседневное использование), то этот способ может Вам не подойти, так как будет больше жрать батарею, нагрев видеокарты у меня при обычных операциях такой же, как в Windows.
Если кратко, есть 3 варианта работы с гибридной графикой в Linux (PRIME, NVIDIA-PRIME, Bumblebee), я процитирую пользователя с ЛОРа:
Я думаю, что Вы уже слышали как минимум про 1 из этих вариантов, их описание есть в Arch/Debian/Ubuntu WiKi и на оф. ресурсах NVIDIA.
Так как я белый человек, то использую PRIME, его поддержка была полноценно обеспечена в 2016 году. NVIDIA-PRIME и Bumblebee - это ебанные костыли. Однако подойдут тем, кто постоянно работает на Linux.
# apt-get install aria2
# wget https://github.com/ilikenwf/apt-fast/archive/master.zip
# unzip master.zip
# cd apt-fast-master
# cp apt-fast /usr/bin
# cp apt-fast.conf /etc
# cp ./man/apt-fast.8 /usr/share/man/man8
# gzip /usr/share/man/man8/apt-fast.8
# cp ./man/apt-fast.conf.5 /usr/share/man/man5
# gzip /usr/share/man/man5/apt-fast.conf.5
# apt-fast update // вместо get
P.S. Если вы захотите потом отключить дискретную карту и вернуть Intel, есть 2 варианта: править конфиги и мигрировать на NVIDIA-PRIME/Bumblebee.
В 1 случае кроме правки можно поставить bbswitch:
# git clone https://github.com/Bumblebee-Project/bbswitch
# cd bbswitch
# make
# make load
Управление питанием и соответствующие команды описаны в README.
Сам я пока не правил конфиги на Intel, так как проще поставить NVIDIA-PRIME, однако Вы можете поэкспериментировать.
Ноутбук MSI с dualboot (Windows + Kali Linux 2018.1). Мануал особенно актуален для владельцев более менее новых ноутбуков с гибридной графикой.
Kali Linux - узкоспециализированный дистрибутив. Во многом хайп по поводу него (в т.ч. на лоре) связан с набегом бесноватых арчешкольников/гентоебов на макиных какеров.
Конечно Kali может не нравится всяким битардам/бородатым одменам/любителям ебилдов и т.д. Ведь он "не трушный". Так он, блять, не для них создавался. Каждому свое.
В треде не хочу слышать вскукареки от персонажей, перечисленных во 2 и 3 абзацах. Мне ваше мнение не интересно. Мануал для новичков.
Материал для тех, кто уже работал в Linux. Если Вы до этого сидели только на Windows, то статья не для Вас.
Ссылки в рамках данного мануала не являются рекламой.
Я решил описать три проблемных момента в использовании Kali Linux и ноутбука:
Самый первый косяк, который может привести к тому, что юзер "кококо..кудКУД..КУДАХ" (расшифровка: "идите нахуй со своим Калом, ставлю Parrot") - это траблы с записью на флешку с целью установки на HDD.
Тут бывет 2 проблемы: в BIOS/UEFI и методе записи.
Не нужно слушать леммингов и ставить Кал v. 1.1. Используйте последнюю версию дистрибутива, там поддерживается UEFI. Соответственно забудьте по Legasy и т.д. Кроме Secure Boot (если он есть) ничего трогать не нужно.
Не хотите трахаться с настройками программ для записи образа? Выделите отдельную флешку под Kali. Понадобится программа Rufus и HDD Low Level Format Tool.
1) Скачиваем образ Kali, Rufus, HDD Low Level Format Tool
2) Rufus при первой попытке записи Kali попросит докачать пакеты, соглашаемся.
3) Выбираем в Rufus ISO-образ Kali, отмечаем DD-способ записи, пишем образ на флешку
4) Теперь у Вас есть загрузочная флешка
5) Ставим Kali на HDD
6) Затем идем в Windows, форматируем флешку HDD Low Level Format Tool, записываем Rufus-ом обычный ISO (для чего это - узнаете в пункте 2).
Тут бывет 2 проблемы: в BIOS/UEFI и методе записи.
Не нужно слушать леммингов и ставить Кал v. 1.1. Используйте последнюю версию дистрибутива, там поддерживается UEFI. Соответственно забудьте по Legasy и т.д. Кроме Secure Boot (если он есть) ничего трогать не нужно.
Не хотите трахаться с настройками программ для записи образа? Выделите отдельную флешку под Kali. Понадобится программа Rufus и HDD Low Level Format Tool.
1) Скачиваем образ Kali, Rufus, HDD Low Level Format Tool
2) Rufus при первой попытке записи Kali попросит докачать пакеты, соглашаемся.
3) Выбираем в Rufus ISO-образ Kali, отмечаем DD-способ записи, пишем образ на флешку
5) Ставим Kali на HDD
6) Затем идем в Windows, форматируем флешку HDD Low Level Format Tool, записываем Rufus-ом обычный ISO (для чего это - узнаете в пункте 2).
Как говорится "беда не приходит одна". Часто у владельцев ноутбуков не стартует вообще любой Дебилиан-based дистрибутив на ноутбуке. А все дело в nouveau. Нужно запретить запуск этого говна сначала в загрузочном меню Kali, при первом старте, а уже потом резидентно из системы.
1) Нажимаем "e" (англ. раскладка) в boot-menu перед стартом системы, добавляем nouveau.modeset=0 --splash в конец строки с опцией "linux". Жмем F10.
2) Далее выполняем в cmd:
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf
3) Перезагружаемся, все должно взлететь само.
4) Так как в пункте 1 мы решили, что для удобства нужна рабочая флешка с различными режимами запуска Kali, то после перезаписи ISO-образа необходимо отредактировать grub.cfg (добавляем тоже самое - nouveau.modeset=0). На всякий случай сделайте копию не модифицированного grub.cfg
5) Сохраняем изменения и пробуем запустить разные режимы с флешки
1) Нажимаем "e" (англ. раскладка) в boot-menu перед стартом системы, добавляем nouveau.modeset=0 --splash в конец строки с опцией "linux". Жмем F10.
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf
3) Перезагружаемся, все должно взлететь само.
4) Так как в пункте 1 мы решили, что для удобства нужна рабочая флешка с различными режимами запуска Kali, то после перезаписи ISO-образа необходимо отредактировать grub.cfg (добавляем тоже самое - nouveau.modeset=0). На всякий случай сделайте копию не модифицированного grub.cfg
Перед установкой драйверов делайте бекап системы.
Проблемы с гибридной графикой. Для работы с CUDA и некоторыми программами для перебора паролей нам понадобится драйвер для NVIDIA.
Если вы уже пытались сами поставить дрова, то скорее всего получили падение иксов (система в ауте). Как решать данную проблему можно узнать в Google.
Я же опишу 1 из 3 вариантов установки драйвера NVIDIA для Kali. Почему только 1? Да потому, что он подходит для применения дистрибутива по назначению.
Однако если вы работаете только в Kali (повседневное использование), то этот способ может Вам не подойти, так как будет больше жрать батарею, нагрев видеокарты у меня при обычных операциях такой же, как в Windows.
Если кратко, есть 3 варианта работы с гибридной графикой в Linux (PRIME, NVIDIA-PRIME, Bumblebee), я процитирую пользователя с ЛОРа:
---------------------------------------------------------------------------------
Вопрос: PRIME и NVIDIA-PRIME это разные технологии?
Разные.
PRIME для белых людей, не надо ни разлогиниваться, ни иксы новые запускать, работает через DRI3, обеспечивает высокую производительность.
NVIDIA-PRIME для нас - требует иксов со специальным конфигом, загруженных ядерных модулей от NVIDIA, и переопределённого LD_LIBRARY_PATH (чтоб libGL блобовский найти). Приходится рестартить иксы, либо запускать новые. Особо упоротые при этом умудряются ещё и разлогиниться (и просрать всех демонов, запущенных от юзера). Производительность на высоте, юзабилити в жопе.
Есть ещё bumblebee - способ, позволяющий запускать отдельное приложение на Nvidia (без всяких разлогинов). Требует запущенного от рута демона, автоматически управляет питанием и ядерными модулями. Производительность в жопе, юзабилити на высоте.
bbswitch - модуль ядра позволяющий управлять питанием дескреток NVIDIA. Изначально разрабатывался для bumblebee, но может использоваться и без него.
---------------------------------------------------------------------------------
Вопрос: PRIME и NVIDIA-PRIME это разные технологии?
Разные.
PRIME для белых людей, не надо ни разлогиниваться, ни иксы новые запускать, работает через DRI3, обеспечивает высокую производительность.
NVIDIA-PRIME для нас - требует иксов со специальным конфигом, загруженных ядерных модулей от NVIDIA, и переопределённого LD_LIBRARY_PATH (чтоб libGL блобовский найти). Приходится рестартить иксы, либо запускать новые. Особо упоротые при этом умудряются ещё и разлогиниться (и просрать всех демонов, запущенных от юзера). Производительность на высоте, юзабилити в жопе.
Есть ещё bumblebee - способ, позволяющий запускать отдельное приложение на Nvidia (без всяких разлогинов). Требует запущенного от рута демона, автоматически управляет питанием и ядерными модулями. Производительность в жопе, юзабилити на высоте.
bbswitch - модуль ядра позволяющий управлять питанием дескреток NVIDIA. Изначально разрабатывался для bumblebee, но может использоваться и без него.
---------------------------------------------------------------------------------
Я думаю, что Вы уже слышали как минимум про 1 из этих вариантов, их описание есть в Arch/Debian/Ubuntu WiKi и на оф. ресурсах NVIDIA.
Так как я белый человек, то использую PRIME, его поддержка была полноценно обеспечена в 2016 году. NVIDIA-PRIME и Bumblebee - это ебанные костыли. Однако подойдут тем, кто постоянно работает на Linux.
Тут я добавил немного вкусовщины (некоторый софт, его ставить не обязательно, но желательно), обозначается * после номера.
Kali - это роллинг-релиз, обновляться надо регулярно.
# apt-get install aria2
# wget https://github.com/ilikenwf/apt-fast/archive/master.zip
# unzip master.zip
# cd apt-fast-master
# cp apt-fast /usr/bin
# cp apt-fast.conf /etc
# cp ./man/apt-fast.8 /usr/share/man/man8
# gzip /usr/share/man/man8/apt-fast.8
# cp ./man/apt-fast.conf.5 /usr/share/man/man5
# gzip /usr/share/man/man5/apt-fast.conf.5
# apt-fast update // вместо get
Создаем документ с именем update и таким содержимым:
#!/bin/bash
apt-fast update && apt-fast upgrade && apt-fast dist-upgrade
Даем ему необходимые права:
Открываем терминал из расположения скрипта (обычно Desctop)
# chmod ugo+x update
Разрешаем в св-вах самого файла и настройках файлового менеджера исполнение скриптов как программ.
# cp update /usr/local/bin/update
Теперь для обновления системы достаточно написать update в консоли. После того, как обновились перезагружаемся.
#!/bin/bash
apt-fast update && apt-fast upgrade && apt-fast dist-upgrade
Даем ему необходимые права:
Открываем терминал из расположения скрипта (обычно Desctop)
# chmod ugo+x update
Разрешаем в св-вах самого файла и настройках файлового менеджера исполнение скриптов как программ.
# cp update /usr/local/bin/update
Теперь для обновления системы достаточно написать update в консоли. После того, как обновились перезагружаемся.
# lspci | grep -E "VGA|3D" // если у вас ноутбук с гибридной графикой, то отобразится 2 граф. адаптера - Intel и NVIDIA
# lsmod |grep -i nouveau // на всякий случай смотрим, нет ли nouveau, вывод должен быть пустой
# apt-fast install nvidia-driver nvidia-xconfig
# nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6 // узнаем bus nvidia, должно вывести что-то типа PCI:1:0:0
Создаем в /etc/X11 файл xorg.conf с содержимым:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
PCI:1:0:0 меняем на свое значение.
Создаем в
/usr/share/gdm/greeter/autostart/ и /etc/xdg/autostart/ файлы optimus.desktop с содержимым:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Если у Вас не GNOME, то меняем значения на свои.
Перезагружаемся, ставим mesa-utils.
# apt-fast install mesa-utils
# apt-get install ocl-icd-libopencl1 nvidia-cuda-toolkit // ставим cuda-toolkit
Исправляем тиринг.
# glxinfo | grep -i "direct rendering" //должно вывести direct rendering: Yes
Проверяем синхронизацию.
# xrandr --verbose|grep PRIME
Вывод будет такой:
PRIME Synchronization: 0
PRIME Synchronization: 1
PRIME Synchronization: 1
PRIME Synchronization: 1
Это есть причина тиринга, исправляем:
Идем в /etc/default/grub
Ищем строчку linux GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
добавляем туда после splash значение nvidia-drm.modeset=1 и сохраняем изменения.
Делаем
# update-grub
Перезагружаемся и проверяем вывод
# xrandr --verbose|grep PRIME // теперь должны быть только единицы.
Возможны траблы у рукожопов, когда вместо старта иксов будет текст с ошибкой, просто жмем CTRL+D, и все стартует, либо логинимся, и жмем runlevel 3, затем rulevel 5.
Если пришел конкретный пздц, то откатываем изменения:
# apt-get remove --purge nvidia*
# rm -rf /etc/X11/xorg.conf
# rm -rf /usr/share/gdm/greeter/autostart/optimus.desktop
# rm -rf /etc/xdg/autostart/optimus.desktop
Потом перезагружаемся и ищем мануалы по Bumblebee/NVIDIA-PRIME.
# lsmod |grep -i nouveau // на всякий случай смотрим, нет ли nouveau, вывод должен быть пустой
# apt-fast install nvidia-driver nvidia-xconfig
# nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6 // узнаем bus nvidia, должно вывести что-то типа PCI:1:0:0
Создаем в /etc/X11 файл xorg.conf с содержимым:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
PCI:1:0:0 меняем на свое значение.
Создаем в
/usr/share/gdm/greeter/autostart/ и /etc/xdg/autostart/ файлы optimus.desktop с содержимым:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Если у Вас не GNOME, то меняем значения на свои.
Перезагружаемся, ставим mesa-utils.
# apt-fast install mesa-utils
# apt-get install ocl-icd-libopencl1 nvidia-cuda-toolkit // ставим cuda-toolkit
Исправляем тиринг.
# glxinfo | grep -i "direct rendering" //должно вывести direct rendering: Yes
Проверяем синхронизацию.
# xrandr --verbose|grep PRIME
Вывод будет такой:
PRIME Synchronization: 0
PRIME Synchronization: 1
PRIME Synchronization: 1
PRIME Synchronization: 1
Это есть причина тиринга, исправляем:
Идем в /etc/default/grub
Ищем строчку linux GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
добавляем туда после splash значение nvidia-drm.modeset=1 и сохраняем изменения.
Делаем
# update-grub
Перезагружаемся и проверяем вывод
# xrandr --verbose|grep PRIME // теперь должны быть только единицы.
Возможны траблы у рукожопов, когда вместо старта иксов будет текст с ошибкой, просто жмем CTRL+D, и все стартует, либо логинимся, и жмем runlevel 3, затем rulevel 5.
Если пришел конкретный пздц, то откатываем изменения:
# apt-get remove --purge nvidia*
# rm -rf /etc/X11/xorg.conf
# rm -rf /usr/share/gdm/greeter/autostart/optimus.desktop
# rm -rf /etc/xdg/autostart/optimus.desktop
Потом перезагружаемся и ищем мануалы по Bumblebee/NVIDIA-PRIME.
# apt-fast install lm-sensors // контроль за температурой железа
# apt-fast install psensor // граф. вариант
# psensor
# apt-fast install lshw // информация о железе
# apt-fast install git g++ build-essential pkg-config // тест работы видеокарты
# apt-fast install libx11-dev libgl1-mesa-dev
# apt-fast install libjpeg-dev
# apt-fast install libpng-dev
# git clone https://github.com/glmark2/glmark2.git
# cd /
# cd cd glmark2
# ./waf configure --with-flavors=x11-gl
# ./waf build -j 4
# sudo ./waf install
# sudo strip -s /usr/local/bin/glmark2
# glmark2
# apt-fast install psensor // граф. вариант
# psensor
# apt-fast install lshw // информация о железе
# apt-fast install git g++ build-essential pkg-config // тест работы видеокарты
# apt-fast install libx11-dev libgl1-mesa-dev
# apt-fast install libjpeg-dev
# apt-fast install libpng-dev
# git clone https://github.com/glmark2/glmark2.git
# cd /
# cd cd glmark2
# ./waf configure --with-flavors=x11-gl
# ./waf build -j 4
# sudo ./waf install
# sudo strip -s /usr/local/bin/glmark2
# glmark2
P.S. Если вы захотите потом отключить дискретную карту и вернуть Intel, есть 2 варианта: править конфиги и мигрировать на NVIDIA-PRIME/Bumblebee.
В 1 случае кроме правки можно поставить bbswitch:
# git clone https://github.com/Bumblebee-Project/bbswitch
# cd bbswitch
# make
# make load
Управление питанием и соответствующие команды описаны в README.
Сам я пока не правил конфиги на Intel, так как проще поставить NVIDIA-PRIME, однако Вы можете поэкспериментировать.
Всю ответственность за свои действия несете только Вы. Материал выложен для ознакомления. Не пишите потом мне, что проебали систему.
Последнее редактирование: