Данная инструкция составлялась для себя. Предполагает установку debian после минимальной инсталляции (консоль онли) в облегченном варианте — с openbox в качестве менеджера окон, lxpanel в качестве панели рабочего стола и упором на qt-софт. Конфиги, например автозапуск, взяты с рабочей машины или приближены к ним. Инструкция может изменяться и дополняться.
эти команды выполняются от пользователя
эти команды выполняются от рута
Установка Debian
Настройка APT
Включение установки рекомендуемых пакетов по-умолчанию, подключение репозиториев бэкпортов и несвободного ПО
echo 'APT::Install-Recommends "true";' >> /etc/apt/apt.conf.d/60recommends echo deb http://deb.debian.org/debian buster-backports main > /etc/apt/sources.list.d/backports.list echo deb http://ftp.debian.org/debian/ buster contrib non-free > /etc/apt/sources.list.d/contrib_nonfree.list
Core system
Если установка с debootstrap, то установка базовых утилит запускается командой
tasksel -task-packages standard
Основная система и софт
Wajig — обертка над apt/aptitude, собрал в себя почти весь разрозненный функционал
apt update && apt install wajig
Базовые утилиты для командной строки
wajig install mc curl apt-transport-https firmware-linux-nonfree firmware-linux-free firmware-iwlwifi cifs-utils smbclient vim-nox ntfs-3g autofs dmeventd console-terminus python3-pip
Openbox
Набор пакетов, устанавливающих минимальное окружение рабочего стола, + конфигураторы
wajig install sddm openbox openbox-menu obconf-qt lxappearance kde-style-qtcurve-qt4 qt4-qtconfig compton kdialog lxpanel xfonts-terminus network-manager-gnome network-manager-openvpn-gnome dunst
Важные утилиты
wajig install dbus-x11 udiskie lxpolkit libpam-kwallet5 kde-l10n-ru gdebi p7zip-full p7zip-rar trash-cli
Полезный софт
wajig install parcellite syncthing-gtk yakuake konsole encfs seahorse
soft (other)
wajig install chromium chromium-l10n smplayer doublecmd-qt libunrar kate krdc libreoffice libreoffice-l10n-ru gaupol mkvtoolnix-gui thunderbird thunderbird-l10n-ru recoll aspell-ru handbrake
Настройка Nvidia Optimus
Nvidia Optimus: включить ускорение для всего сеанса на постоянку
Пользовательское окружение
mkdir ~/.config/openbox/ touch ~/.config/openbox/environment touch ~/.config/openbox/autostart chmod +x ~/.config/openbox/autostart
переменные окружения
файл автостарта
Директории по-умолчанию (XDG)
Папки темплейтов, скачиваний и т.д. описаны в файле
Настройка тем и прочего отображения
Установка
wajig install lxappearance qt5ct kde-style-qtcurve-qt4 qt4-qtconfig
Утилиты без ярлыков
qtconfig
lxappearance
Настройка хоткеев
Установить из локального пакета: obkey (github)
Смена браузера по умолчанию
update-alternatives --config x-www-browser xdg-settings set default-web-browser chromium.desktop
Chromium: kde-диалог сохранения
1. Убедиться что установлен kdialog
2. Сменить ярлык запуска хрома на
env XDG_CURRENT_DESKTOP=KDE /usr/bin/chromium %U
xdg-open не работает из хромиума
Проблема появляется после предыдущего шага в результате того, что скрипт xdg-open также начинает считать, что у нас полноценные кеды и пытается использовать для открытия ссылок инструменты, которых у нас нет. Проблема решается комментированием строк в файле /usr/bin/xdg-open:
- ...
- # KDE)
- # DE=kde;
- # ;;
- ...
Чтобы не ломать системный файл, лучше скопировать его в ~/.local/bin/ и отредактировать уже там
Прочий и опциональный софт
Блокировка экрана (i3lock)
wajig install i3lock
на хоткей:
i3lock -c 000000 -p win
Launcher (rofi)
wajig install rofi
на хоткей:
rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi
Индексатор документов (recoll)
wajig install recoll aspell-ru
Выделенный прокси (Shadowsocks)
На сервере
wajig install shadowsocks-libev
На клиенте
wajig install shadowsocks-libev
Запуск (добавлено в автозапуск выше)
ss-local -f /tmp/ss-local.pid --fast-open -c ~/.config/shadowsocks/config.json
В браузере настраиваем socks5-прокси на адрес 127.0.0.1:8376
Файловый менеджер (Double Commander)
Опционально. Пакет doublecmd-qt из базового репозитория соответствует пакету doublecmd-qt5 из нижеприведенного.
cd /tmp echo 'deb http://download.opensuse.org/repositories/home:/Alexx2000/Debian_10/ /' > /etc/apt/sources.list.d/doublecmd.list wget -nv https://download.opensuse.org/repositories/home:Alexx2000/Debian_10/Release.key -O Release.key apt-key add - < Release.key wajig update wajig install doublecmd-qt5
Nvidia driver
wajig install nvidia-detect nvidia-detect wajig install [nvidia-*-driver] [nvidia-settings-*]
Запустить от юзера nvidia-settings, применить настройки и сохранить xorg.conf как /etc/X11/xorg.conf.d/20-nvidia.conf (при необходимости создать папку)
Python
wxPython
wajig install dpkg-dev build-essential libpython3.7-dev freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libjpeg-dev libnotify-dev libpng-dev libsdl2-dev libsm-dev libtiff-dev libwebkit2gtk-4.0-dev libxtst-dev pip3 install wxpython
Oracle Java 17
cd /tmp wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.deb apt install ./jdk-17_linux-x64_bin.deb update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17/bin/java 1 update-alternatives --config java
Вычисление ReplayGain (QtGain)
wajig install flac vorbisgain
Из локальных пакетов: qtgain и mp3gain
Запуск виндовых игр (Lutris)
dpkg --add-architecture i386 echo "deb http://download.opensuse.org/repositories/home:/strycore/Debian_9.0/ ./" | sudo tee /etc/apt/sources.list.d/lutris.list cd /tmp/ wget -q https://download.opensuse.org/repositories/home:/strycore/Debian_9.0/Release.key -O- | sudo apt-key add - wajig update wajig install lutris wine libpulse0:i386
Шифрование личных файлов (Molch Encfs Manager)
https://moritzmolch.com/apps/mencfsm/index.html
Скриншоты онлайн (puush)
Сервис https://puush.me/ (на текущий момент регистрация новых пользователей отключена)
aptitude install scrot xclip python3-docopt python3-notify2
Сохраняем скрипт
Сохраняем API-ключ в файл ~/.config/puush/key. На хоткей вешаем команду
puush-linux.py area -c
Просмотрщик фото и картинок (XnView MP)
Мессенджер (Discord)
Прочие приложения
wajig install antiword libimage-exiftool-perl poppler-utils python-libxslt1 python-libxml2
Настройка сервисов
Bluetooth
Просто устанавливаем менеджер
wajig install blueman
После перезагрузки в трее должен появиться апплет (blueman-applet — самостоятельно прописывается в автозагрузку)
Принтер и система печати
aptitude install cups system-config-printer usermod -aG lpadmin qiwichupa
system-config-printer
Network Bonding
wajig install ifenslave ip link add bond0 type bond
Сон и гибернация
Закрытие ноута
Для гибридного сна по закрытию крышки ноута — в файле /etc/systemd/logind.conf
- [login]
- ...
- HandleLidSwitch=hybrid-sleep
- ...
Второй вариант
Будит комп спустя какое-то время после сна и переводит в гибернацию.
Добавить файл
systemctl enable suspend-sedation
Локальная почта
wajig install mutt exim4 dpkg-reconfigure exim4-config
- local delivery only; not on a network
- Keep number of DNS-queries minimal — yes
- mbox format in /var/mail/
- Split configuration into small files? No
- ...
- data = /var/mail/root
- ...
- Удалить:
- root: user
AUTOFS
Монтирует в точки монтирования при обращении к ним, демонтирует при отсутствии обращения по таймауту
wajig install autofs cifs-utils
- ...
- # корневая директория для монтирования по правилам из auto.misc
- /mnt/shares /etc/auto.misc
- ...
- # пример nfs-шары
- public -fstype=nfs,rw,async,soft,udp,nolock 192.168.1.2:/share/MD0_DATA/Public
- # пример cifs-шары с авторизацией доменного юзера
- psopen -fstype=cifs,rw,noperm,credentials=/etc/domain.cred ://192.168.122.3/open
Файл с доменной учеткой:
- username=MyName
- password=MyPassw0rd
- domain=MYDOMAIN
LVM
Мониторинг размера и автоувеличение снапшотов
Установка демона мониторинга размера томов
wajig install dmeventd
- ...
- snapshot_autoextend_threshold = 80
- snapshot_autoextend_percent = 20
- monitoring = 1
- ...
Шпаргалка по работе с LVM
Установка debian на vmware
Apt
echo APT::Install-Recommends "true"; >> /etc/apt/apt.conf.d/60recommends echo deb http://deb.debian.org/debian stretch-backports main > /etc/apt/sources.list.d/backports.list echo deb http://ftp.debian.org/debian/ stretch contrib non-free > /etc/apt/sources.list.d/contrib_nonfree.list apt install wajig
CLI
echo '#!/bin/sh' > /etc/rc.local echo '/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other' >> /etc/rc.local echo 'exit 0' >> /etc/rc.local chmod +x /etc/rc.local wajig install open-vm-tools vim-nox mc ssh
GUI
echo '#!/bin/sh' > /etc/rc.local echo '/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other' >> /etc/rc.local echo 'exit 0' >> /etc/rc.local chmod +x /etc/rc.local wajig install vim-nox mc ssh sddm openbox openbox-menu obconf-qt compton dar mc autofs cifs-utils smbclient vim lxpanel xterm ntfs-3g udiskie dmeventd curl apt-transport-https firmware-linux-nonfree firmware-linux-free firmware-iwlwifi xfonts-terminus console-terminus yakuake dbus-x11 konsole kde-l10n-ru gmrun gdebi doublecmd-qt p7zip-full p7zip-rar kate chromium chromium-l10n python3-pip open-vm-tools-desktop
Отказоустойчивая установка Debian с EFI на зеркало mdadm-рейда
Отказоустойчивая установка Debian с EFI на зеркало mdadm-рейда
Python
Работа с пакетами
Деинсталлятор зависимостей
pip3 install --user python3-pip-autoremove
использование:
pip3-autoremove pkgname
Установка другой версии
Пререквизиты:
wajig install build-essential checkinstall cmake dpkg-dev git libbz2-dev libbz2-dev libc6-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libsqlite3-dev libsqlite3-dev libxml2-dev libxslt1-dev openssl python-dev python-dev python-pip python-setuptools python-smbus readline-common tk-dev zlib1g-dev zlib1g-dev libssl-dev
Установка python 3.4.9
wajig install libssl1.0-dev #старому питону нужна эта версия cd /usr/src/ wget https://www.python.org/ftp/python/3.4.9/Python-3.4.9.tgz tar xzf Python-3.4.9.tgz cd Python-3.4.9 ./configure --enable-optimizations --enable-shared LDFLAGS=-Wl,-rpath=/usr/local/lib make make altinstall pip3.4 install --upgrade pip
mysqlclient (windows):
https://pypi.org/project/mysqlclient/1.3.6/#files
pip install mysqlclient==1.3.6
Установка QT4 + PySide
wajig install qt4-dev-tools qt4-qmake pip3.4 install pyside
Установка python 3.7.2
wajig install libffi-dev cd /usr/src/ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz tar xzf Python-3.7.2.tgz cd Python-3.7.2 ./configure --enable-optimizations --enable-shared LDFLAGS=-Wl,-rpath=/usr/local/lib make make altinstall pip3.7 install --upgrade pip # приводит к невозможности установки pyinstaller, откат: pip3.7 install pip==18.1
Установка QT5 + PySide2
wajig install qttools5-dev qt5-default pip3.7 install PySide2
cp /usr/share/applications/designer-qt4.desktop ~/.local/share/applications/designer-qt5.desktop vi ~/.local/share/applications/designer-qt5.desktop #executable - designer
Выбор версии QT
qtchooser -qt=5
Бинаризаторы
pip3.7 install pyinstaller