Мой жизненный лог

Все, что не вошло в другие рубрики
Мой сайт | Все заметки

Запуск простого python http-сервера

Иногда нужно быстро передать по сети файл, например, прошивку для устройства на ESP. Самый быстрый способ — запустить простой http-сервер:

sudo python3 -m http.server --bind 192.168.2.10 9000

Файлы из каталога, откуда запущен сервер будут доступны по адресу: http://192.168.2.10:9000

Создаём шифрованную флешку в Linux

Зачем всё это

Шифрованную флешку можно использовать для хранения паролей, ключей шифрования и т. п.

Подготовка флешки

Создаём шифрованный раздел

Создаём раздел:

$ sudo fdisk /dev/sdc

Шифруем раздел:

$ sudo cryptsetup -y -v luksFormat /dev/sdc1

Монтируем и читаем служебную информацию

Монтируем шифрованный раздел:

$ sudo cryptsetup luksOpen /dev/sdc1 backup-keys

Он будет примонтирован в /dev/mapper/backup-keys с симлинком на /dev/dm-0

$ ls -l /dev/mapper/backup-keys
lrwxrwxrwx 1 root root 7 мар 27 12:24 /dev/mapper/backup-keys -> ../dm-0

Узнать статус устройства:

$ sudo cryptsetup -v status backup-keys
[sudo] пароль для adegtyarev: 
/dev/mapper/backup-keys is active.
  type:    LUKS2
  cipher:  aes-xts-plain64
  keysize: 512 bits
  key location: keyring
  device:  /dev/sdc1
  sector size:  512
  offset:  32768 sectors
  size:    227328 sectors
  mode:    read/write
Команда выполнена успешно.

Получить подробную информацию о зашифрованных томах

$ sudo cryptsetup luksDump /dev/sdc1

На всякий случай сделайте резервную копию заголовка LUKS в файл usb-luks-header-backup.bin и сохраните его в надёжном месте:

$ sudo cryptsetup luksHeaderBackup /dev/sdc1 --header-backup-file usb-luks-header-backup.bin

Восстановить заголовок можно будет командой:

$ sudo cryptsetup luksHeaderRestore /dev/sdc1 --header-backup-file usb-luks-header-backup.bin

Создаём файловую систему, монтируем и даём права пользователю

Теперь создадим файловую систему:

$ sudo mkfs.ext4 /dev/mapper/backup-keys

Создаём точку монтирования и монтируем диск:

$ udo mkdir /mnt/tmp
$ sudo mount /dev/mapper/backup-keys /mnt/tmp

Чтобы работать с флешкой было удобно, дадим пользователю полные права:

$ sudo chown -R username:groupname /mnt/tmp

Всё, переходим в точку монтирования в консоли или открываем её в файловом менеджере по вкусу:

$ cd ./backup-keys

Отключение шифрованного раздела

Теперь отключим шифрованный раздел:

$ cd ~
$ sudo umount /dev/mapper/backup-keys
$ sudo cryptsetup luksClose /dev/mapper/backup-keys

Использование шифрованной флешки

Общий алгоритм теперь каждый раз такой.

Открываем шифрованный раздел через LUKS:

$ sudo cryptsetup luksOpen /dev/sdc1 backup-keys

Монтируем:

$ sudo mount /dev/mapper/backup-keys /mnt/tmp

По завершении работы не забывайте отмонтировать шифрованный раздел и отключить блочное устройство.

Изменение пароля

Сделаем резервную копию заголовков LUKS:

$ sudo cryptsetup luksDump /dev/sdc1

Задаём новую ключевую фразу:

$ sudo cryptsetup luksAddKey /dev/sdc1

Удаляем старую ключевую фразу, нужно будет ввести старый пароль:

$ sudo cryptsetup luksRemoveKey /dev/sdc1

Права на последовательный порт в Linux

Последовательные порты в Linux называются /dev/tty*, для работы с ними нужно состоять в группе uucp.

У меня Arch Linux, поэтому я буду писать команды для него.

$USERNAME — это переменная, в которой содержится имя текущего пользователя. Если вам нужно работать с другим пользователем, вместо этой переменной впишите нужное имя.

Посмотреть, в каких группах состоит пользователь:

$ groups $USERNAME
wheel lp sys network power adegtyarev

Добавить пользователя в группу uucp:

$ sudo gpasswd -a $USERNAME uucp
 Нет комментариев    10   10 мес   linux   tty

Отключаем swap на Linux

Посмотреть, какие разделы используются в качестве swap:

swapon -s

Отключить определённый раздел или файл:

swapoff /dev/hdxx

Отключить все swap-файлы и разделы

sudo swapoff -a

Включить снова можно командой

swapon  /dev/hdxx
 Нет комментариев    11   10 мес   hdd   linux   swap

Посмотреть, какой видеодрайвер используется видеокартой в Linux

Ставим lshw, у меня Arch Linux, поэтому:

$ sudo pacman -S lshw

Теперь смотрим, какой драйвер используется:

$ sudo lshw -c video | grep driver                                                                                                                                                                                                                                    
       configuration: driver=nvidia latency=0

В моём случае, это nvidia. Теперь, зная имя драйвера, посмотрим подробнее:

$ modinfo nvidia                                                                                                                                                                                                                                                              
filename:       /lib/modules/5.16.2-1-MANJARO/extramodules/nvidia.ko.gz
firmware:       nvidia/470.94/gsp.bin
alias:          char-major-195-*
version:        470.94
supported:      external
license:        NVIDIA
srcversion:     F4DAA75128B36852A9F7FE6
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
retpoline:      Y
name:           nvidia
vermagic:       5.16.2-1-MANJARO SMP preempt mod_unload

Артефакты при захвате видео с экрана в Linux

Чтобы избавиться от цветных полос и прочих артефактов на записанных видео при использовании видеокарт NVIDIA, отключите в настройках OpenGL опцию Allow Flipping.

Настройку можно изменить утилитой NVIDIA X Server Settings, которую придётся установить.

Скриншот окна NVIDIA X Server Settings

KDE: Меняем браузер для Телеграм

Я использую Arch Linux с KDE и у меня Телеграм ни в какую не хотел открывать ссылки в браузере по умолчанию — Vivaldi.

Проблему решил командами:

$ xdg-mime default vivaldi-stable.desktop x-scheme-handler/http                                                                                                                                                                                                                                                
$ xdg-mime default vivaldi-stable.desktop x-scheme-handler/https
Ранее Ctrl + ↓