Данная инструкция составлялась для себя. Предполагает установку 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 <strong>libssl-dev</strong>
Установка 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