# Ubuntu

# Ubuntu Setup

Настройка Ubuntu OS

#### **<span style="color:rgb(22,145,121);">Учетные данные/доступ</span>**

##### <span style="color:rgb(53,152,219);">Создание/Удаление sudo user</span>

```ruby
sudo useradd -m -s /bin/bash <user>
sudo usermod -aG sudo,adm,systemd-journal <user>
sudo passwd <user>
```

**Удаление user + homedir**

```ruby
sudo pkill -u <user>
sudo userdel -r <user>
sudo visudo  # Удалить строку <user>
```


##### <span style="color:rgb(53,152,219);">Настройка SSH доступа</span>

```ruby
sudo apt install ssh -y
sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf  # Для облачных образов
```

```ruby
sudo tee /etc/ssh/sshd_config > /dev/null << 'EOF'
TCPKeepAlive yes
ClientAliveInterval 60  
ClientAliveCountMax 360
PermitRootLogin prohibit-password
PasswordAuthentication yes
PubkeyAuthentication yes
EOF
```

```ruby
sudo systemctl restart ssh
```

#### **<span style="color:rgb(22,145,121);">Настройка Сети</span>**

##### <span style="color:rgb(53,152,219);">Режим DHCP</span>

```ruby
sudo tee /etc/netplan/01-netcfg.yaml > /dev/null << 'EOF'
# DHCP
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true
      dhcp4-overrides:
        use-dns: true
        use-domains: true
      dhcp6: false  # Отключить IPv6 если не используется
EOF
```

##### <span style="color:rgb(53,152,219);">Режим Static IP</span>

```ruby
sudo tee /etc/netplan/01-netcfg.yaml > /dev/null << 'EOF'
# Static IP
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 192.168.1.10/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [local]
EOF
```

**Перезапуск сети**

```ruby
sudo netplan apply
sudo systemctl restart systemd-networkd
```

##### <span style="color:rgb(53,152,219);">Отключение ipv6</span>

**Способ 1 (Рекомендуемый)**

```ruby
sudo tee -a /etc/sysctl.conf > /dev/null << 'EOF'
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF

sudo sysctl -p
sudo sysctl --system
```

**Способ 2 (Через GRUB)**

```ruby
sudo sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub
sudo update-grub
```

```ruby
sudo reboot
```

#### **<span style="color:rgb(22,145,121);">Тюнинг системы</span>**

**<span style="color:rgb(53,152,219);">Изменение имени сервера</span>**

```ruby
sudo hostnamectl set-hostname <name>
```

```ruby
sudo tee -a /etc/hosts > /dev/null << 'EOF'
127.0.0.1       localhost <name>
::1             localhost <name>
EOF
```

**Изменить Приветствие при User Logon**

```ruby
sudo chmod -x /etc/update-motd.d/10-help-text

sudo tee /etc/update-motd.d/10-help-text > /dev/null << 'EOF'
#!/bin/sh
# Файл очищен для изменения приветствия
EOF
```

**Тюнинг Приглашения prompt в консоли**

```ruby
echo "PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]$ '" >> ~/.bashrc
source ~/.bashrc
```

**Ограничение размера LOGs системы**

```ruby
sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=100M/g' /etc/systemd/journald.conf
sudo systemctl restart systemd-journald
sudo journalctl --rotate
```

**Добавление switch языка по Alt+Shift**

```ruby
# GNOME
sudo apt install gnome-tweaks -y
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"
```

**<span style="color:rgb(53,152,219);">Установка часового пояса (Москва)</span>**

```ruby
sudo timedatectl list-timezones | grep Moscow
sudo timedatectl set-timezone Europe/Moscow
sudo localectl set-locale LC_TIME="ru_RU.UTF-8"
sudo locale-gen ru_RU.UTF-8
```

**Смена раскладки (Ubuntu 24.04 Gnome)**

```ruby
sudo apt install gnome-tweak-tool -y
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Super>space']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"
```

**Ярлык для Desktop OS**

```ruby
tee ~/Desktop/myapp.desktop > /dev/null << 'EOF'
[Desktop Entry]
Version=1.0
Name=MyApp
Comment=My Application
Exec=/path/to/script.sh
Icon=/path/to/icon.png
Terminal=false
Type=Application
Categories=Utility;
EOF

chmod +x ~/Desktop/myapp.desktop
```

#### <span style="color:rgb(22,145,121);">**Обновление системы, Алиасы**</span>

**Установка доп. пакетов**

```ruby
sudo apt update
sudo apt install -y vim tree net-tools mlocate curl wget htop jq
```

##### <span style="color:rgb(53,152,219);">Добавление Алиасов/Обновления </span>

```ruby
tee -a ~/.bashrc << 'EOF'
# ------------------------------------------------------------------------------
# Prompt console
# ------------------------------------------------------------------------------
PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]$ '
# ------------------------------------------------------------------------------
# Bind Aliases
# ------------------------------------------------------------------------------
alias upd='sudo apt update -y && \
sudo apt upgrade -y && \
sudo apt full-upgrade -y && \
sudo apt autoremove -y && \
sudo apt autoclean -y && \
sudo updatedb && \
sudo apt --fix-broken install'

alias hclean='cat /dev/null > ~/.bash_history && history -c'
alias doc='docker ps --all --format "table {{.ID}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias ports='sudo netstat -tulpn | grep LISTEN'
# ------------------------------------------------------------------------------
EOF

source ~/.bashrc
```

##### <span style="color:rgb(53,152,219);">Дополнительные настройки для Ubuntu 24.04</span>

```ruby
# Включение автоматических обновлений безопасности
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
```

```ruby
# Настройка временной зоны для журналов
sudo timedatectl set-local-rtc 0
```

```ruby
# Оптимизация SWAP
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```

```ruby
# Настройка лимитов системы
sudo tee -a /etc/security/limits.conf > /dev/null << 'EOF'
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
EOF
```

##### <span style="color:rgb(53,152,219);">Настройка fail2ban для SSH</span>

```ruby
sudo apt install fail2ban -y

sudo tee /etc/fail2ban/jail.local > /dev/null << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
EOF

sudo systemctl enable fail2ban
sudo systemctl start fail2ban
```

# Linux Utilities

Установка ПО (!)

#### Изменение прав пользователя

```ruby
# Добавление в администраторы
sudo adduser service
sudo usermod -aG wheel service

# Удаление из администраторов
sudo gpasswd -d user wheel
```


#### Блокировка входа под root

```ruby
sudo usermod -s /sbin/nologin root
```


#### Установка XRDP клиента

```ruby
sudo dnf install xrdp xrdp-selinux tigervnc-server
touch ~/.xsession
echo startplasma-x11 >> ~/.xsession
sudo systemctl enable xrdp
sudo systemctl restart xrdp
```

#### Создание общей папки в ОС  


```ruby
sudo mkdir /srv/shared
sudo groupadd SharedUsers
sudo chgrp -R SharedUsers /srv/shared
sudo chmod -R 775 /srv/shared
sudo usermod -a -G SharedUsers user
sudo usermod -a -G SharedUsers service
getent group SharedUsers
sudo reboot
```

#### Понижение Ядра RedOS

```ruby
sudo dnf download v4l2loopback_6.6.6-1.red80.x86_64.x86_64
sudo dnf install v4l2loopback_6.6.6-1.red80.x86_64-0.12.7-112.red80.x86_64.rpm
wget https://mirror.yandex.ru/redos/8.0/x86_64/os/kernel-lt-6.6.6-1.red80.x86_64.rpm
sudo dnf install kernel-lt-6.6.6-1.red80.x86_64.rpm
sudo ls -l /boot
sudo grubby --set-default /boot/vmlinuz-6.6.6-1.red80.x86_64
sudo reboot
```

#### Исправление проблемы с LAN

**Realtek RTL8125** \[Моноблок RDW\]

```ruby
echo -e "[Unit]\nDescription=Load r8169 driver\nBefore=network.target\n\n[Service]\nType=oneshot\nExecStart=/sbin/modprobe r8169\nRemainAfterExit=yes\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /etc/systemd/system/load-r8169.service

sudo systemctl enable load-r8169.service
```

#### Исправление проблемы с Audio

**Фиксация версии пакета wireplumber**

```ruby
# Откатываем версию пакета
sudo -E dnf dg wireplumber wireplumber-libs

# Исключаем пакет из обновлений
sudo sh -c 'echo "exclude=wireplumber wireplumber-libs" >> /etc/dnf/dnf.conf'
```


#### Пред-Настройка Lenovo Notebook

**Входим в BIOS** \[F2\]

<table id="bkmrk-time-%D0%BD%D0%B0-3-%D1%87%D0%B0%D1%81%D0%B0-%D1%80%D0%B0%D0%BD%D1%8C%D1%88" style="border-collapse:collapse;width:32.8571%;height:89.3907px;"><colgroup><col style="width:50.1529%;"></col><col style="width:50.1529%;"></col></colgroup><tbody><tr style="height:29.7969px;"><td style="height:29.7969px;">Time</td><td style="height:29.7969px;">на 3 часа раньше реального</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">Hotkey Mode</td><td style="height:29.7969px;">Disable</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">Flip to Start</td><td style="height:29.7969px;">Disable</td></tr></tbody></table>

#### Установка OnlyOffice

```ruby
sudo dnf remove libreoffice*
sudo dnf autoremove
sudo dnf upgrade --refresh
sudo dnf install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install flathub org.onlyoffice.desktopeditors
```

#### Установка Шрифтов Gost-A в Linux

[https://fonts-online.ru/fonts/gost-type-a](https://fonts-online.ru/fonts/gost-type-a)  
**Скачиваем TTF файлы** в папку $HOME

```ruby
sudo mkdir /usr/share/fonts/gost
sudo cp *.ttf /usr/share/fonts/gost
```

#### Включение Alt+Shift в Ubuntu  


```ruby
sudo apt update
sudo apt install gnome-tweaks -y
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L', '<Alt>Shift_R', '<Shift>Alt_L', '<Shift>Alt_R']"
```

#### Установка Winbox

```ruby
sudo dnf install snapd -y
sudo ln -s /var/lib/snapd/snap /snap
sudo systemctl enable --now snapd.socket
sudo systemctl start snapd
sudo snap install winbox
```

#### Установка KeePassXC

```ruby
sudo dnf install keepassxc -y
```

#### Установка NTP серверов времени

```ruby
sudo dnf install chrony
```

<details id="bkmrk-sudo-vim-%2Fetc%2Fchrony-1"><summary>sudo vim /etc/chrony/chrony.conf</summary>

```ruby
# Российские серверы времени
server ntp1.stratum1.ru iburst minpoll 4 maxpoll 10
server ntp2.stratum1.ru iburst minpoll 4 maxpoll 10
server ntp3.stratum1.ru iburst minpoll 4 maxpoll 10
server ntp1.vniiftri.ru iburst minpoll 4 maxpoll 10
server ntp2.vniiftri.ru iburst minpoll 4 maxpoll 10
# Резервные международные серверы
server 0.pool.ntp.org iburst minpoll 4 maxpoll 10
server 1.pool.ntp.org iburst minpoll 4 maxpoll 10
server 2.pool.ntp.org iburst minpoll 4 maxpoll 10
server 3.pool.ntp.org iburst minpoll 4 maxpoll 10

# Директория для хранения файлов
driftfile /var/lib/chrony/chrony.drift
# Файл для логов
logdir /var/log/chrony
# Включить ведение логов
log measurements statistics tracking
# Обновление файла drift при выходе
dumponexit
# Максимальная коррекция времени
maxupdateskew 100.0
# Коррекция времени при большой разнице
makestep 1.0 3
# Минимальное количество источников
minsources 2
# Включить kernel discipline
rtcsync
# Временная зона
leapsectz right/UTC
```

</details>```ruby
sudo chronyd -Q -f /etc/chrony/chrony.conf
sudo systemctl start chronyd
```

#### Установка AnyDesk

```ruby
wget https://download.anydesk.com/linux/anydesk-latest-amd64.tar.gz
sudo dnf install anydesk-latest-amd64.tar.gz
```

#### Монтирование FS OS в LiveCD

Загружаемся под LiveCD

```ruby
df -lh
Filesystem Size   Used Available Use% Mounted on
*          *      *    *         *    *
/dev/sda4  69G    17G  49G       26%  /run/media/liveuser/917bf822-3dcf-4c3b-8d20-52ae500cdf35
```

```ruby
# Proxmox Host
mkdir -p /mnt/vm130
guestmount -a /dev/pve/vm-130-disk-0 -i /mnt/vm130
cd /mnt/vm130
mount --bind /dev /mnt/vm130/dev
mount --bind /proc /mnt/vm130/proc
mount --bind /sys /mnt/vm130/sys
chroot /mnt/vm130 /bin/bash

# Размонтирование
cd
umount /mnt/vm130/
rm -rf /mnt/vm130
```

```ruby
# LiveCD Linux
sudo mkdir /mnt/rootfs
sudo mount -o rw /dev/sda4 /mnt/rootfs
sudo chroot /mnt/rootfs/
```

#### LVM Разделы при загрузке с LiveCD

```ruby
sudo vgchange -ay
```

#### Расширение раздела текущего диска

```ruby
sudo dnf install cloud-utils-growpart -y
sudo growpart /dev/vda 4
```

#### SCP Копирование по сети

```ruby
sudo scp -r /home/user1/folder1 user2@10.12.19.22:/home/user2/
```

#### Настройка IP утилитой Netplan

**Static**

```ruby
sudo nmcli connection modify netplan-enp3s0 ipv4.method manual \
ipv4.addresses "10.12.19.22/24" ipv4.gateway "10.12.19.1" ipv4.dns "10.12.19.1"

# Перезапуск соединения
sudo nmcli connection down netplan-enp3s0 && sudo nmcli connection up netplan-enp3s0
```

**DHCP**

```ruby
# Очистка статических настроек
sudo nmcli connection modify netplan-enp3s0 ipv4.addresses ""
sudo nmcli connection modify netplan-enp3s0 ipv4.gateway ""
sudo nmcli connection modify netplan-enp3s0 ipv4.dns ""

# Включение автоматического метода (DHCP) - это главная команда!
sudo nmcli connection modify netplan-enp3s0 ipv4.method auto

# Перезапуск соединения
sudo nmcli connection down netplan-enp3s0 && sudo nmcli connection up netplan-enp3s0
```

#### Установка Ventoy

```ruby
curl -s https://api.github.com/repos/ventoy/Ventoy/releases/latest | grep -o "https://.*linux\.tar\.gz" | head -1 | wget -i -
tar -xvf ventoy-1.1.12-linux.tar.gz
sudo rm -rf ventoy-1.1.12-linux.tar.gz
sudo mv ventoy-1.1.12 /opt
cd /opt/ventoy-1.1.12

sudo ./VentoyWeb.sh
```

**Перейти по ссылке**  
[http://127.0.0.1:24680](http://127.0.0.1:24680)

#### Выключение Emergency Mode (Silo)

```ruby
sudo systemctl isolate multi-user.target
```


#### Исправление эффекта Мерцания \[MSI\]  


**1. Диагностика оборудования**

```ruby
# Определим производителя и модель видеокарты
sudo lspci -k | grep -EA3 'VGA|3D|Display'

# Узнаем, какой драйвер используется
sudo dmesg | grep -i "drm" | grep -i "driver"

# Должен использоваться драйвер Intel i915
```

 **2. Настройка параметров ядра для Intel GPU**

```ruby
# 1.Создаем бэкап оригинального файла grub (на всякий случай)
sudo cp /etc/default/grub /etc/default/grub.backup

# 2.Редактируем конфигурацию GRUB с принудительным режимом
sudo sed -i 's/GRUB_CMDLINE_LINUX="[^"]*/& i915.force_probe=7d45 drm.vblankoffdelay=1 video=eDP-1:1920x1080@60D/' /etc/default/grub

# 3.Проверяем что изменения применились правильно
sudo grep GRUB_CMDLINE_LINUX /etc/default/grub

# 4.Обновляем конфигурацию GRUB
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# 5.Если предыдущая команда не сработала, пробуем для UEFI системы
sudo grub2-mkconfig -o /boot/efi/EFI/redos/grub.cfg 2>/dev/null || echo "UEFI путь не найден, использован стандартный"
```

**3. Настройка X11 (GDM/SDDM)**

<details id="bkmrk-sudo-vim-%2Fetc%2Fx11%2Fxo"><summary>sudo vim /etc/X11/xorg.conf.d/10-monitor.conf</summary>

```ruby
Section "Monitor"
    Identifier  "eDP-1"
    # Генерируем точную модельню для 1920x1080 @ 60 Гц.
    # Эту строку можно сгенерировать командой: cvt 1920 1080 60
    Modeline    "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    Option      "PreferredMode" "1920x1080_60.00"
EndSection

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    # Опция ниже может помочь с некоторыми проблемами совместимости
    # Option      "TearFree" "true"
EndSection

Section "Screen"
    Identifier  "Screen0"
    Device      "Intel Graphics"
    Monitor     "eDP-1"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080_60.00"
    EndSubSection
EndSection
```

</details>**4. Перезагрузка и проверка**

```ruby
sudo reboot
```

```ruby
# Посмотреть текущее разрешение
sudo xrandr

# Проверить, что драйвер i915 загружен
sudo lsmod | grep i915
```

#### Смена default route интернета на Wi-Fi

```ruby
# Узнаем Имена Интерфейсов и Метрики (eno1)
route

# Меняем метрику LAN интерфейса ниже Wi-Fi интерфейса
sudo ip route del default dev eno1
sudo ip route add default via 192.168.1.1 dev eno1 metric 700

# Восстанавливаем метрики по умолчанию
sudo nmcli connection down eno1 && sudo nmcli connection up eno1

# Проверяем маршрут по умолчанию (через Wi-Fi)
route
```

#### Размещение Docker на другом диске ОС  


```ruby
sudo mkfs.xfs /dev/vdb
sudo mkdir -p /var/lib/docker_data
sudo blkid /dev/vdb
UUID=f1d77065-c5b2-4ad3-a188-71169be9c25e
  
sudo bash -c 'cat << EOF >> /etc/fstab
UUID=f1d77065-c5b2-4ad3-a188-71169be9c25e /var/lib/docker_data    xfs     defaults        0 0
EOF'

sudo systemctl daemon-reload
sudo mount -a
df -h /var/lib/docker_data
sudo systemctl stop docker

cat << EOF | sudo tee /etc/docker/daemon.json
{
  "log-driver": "journald",
  "live-restore": true,
  "icc": false,
  "disable-validation": true,
  "data-root": "/var/lib/docker_data"
}
EOF

sudo systemctl start docker
docker info | grep "Docker Root Dir"
sudo ls -l /var/lib/docker_data
sudo reboot
```

#### Одностраничник Docker (deb) тест HTTP

**Установка Docker (deb)**

```ruby
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker.io docker-ce docker-ce-cli containerd.io
```

```ruby
sudo usermod -aG docker $USER
exit
```

**Создание Dockerfile**

```ruby
touch index.html && chmod 644 index.html
docker run -d --name my-site -p 80:80 -v $(pwd)/index.html:/usr/share/nginx/html/index.html:ro,Z docker.io/nginx:alpine
```

#### Одностраничник Docker (rpm) тест HTTP

```ruby
sudo gpasswd -d $USER docker
sudo dnf install -y podman podman-docker podman-compose buildah slirp4netns fuse-overlayfs

echo 'net.ipv4.ip_unprivileged_port_start=80' | sudo tee /etc/sysctl.d/99-podman.conf
sudo sysctl -p /etc/sysctl.d/99-podman.conf
```

```ruby

<html>
<head>
    <title>Test Page</title>
</head>
<body>
    Hello World
</body>
</html>
```

**Создание Dockerfile**

```ruby
touch index.html && chmod 644 index.html
docker run -d --name my-site -p 80:80 -v $(pwd)/index.html:/usr/share/nginx/html/index.html:ro,Z docker.io/nginx:alpine
```

#### Добавление / Изменение IP,DNS,GW

```ruby
# Добавление нового интерфейса
sudo nmcli connection add type ethernet \
con-name eccm-iface \
ifname ens15 \
ipv4.method manual \
ipv4.addresses 10.12.126.105/28 \
ipv4.gateway 10.12.126.110 \
ipv4.dns 10.10.51.1
sudo nmcli device reapply eccm-iface
```

```ruby
# Изменение DHCP на Static IP
sudo nmcli connection modify enp18s0 \
ipv4.method manual \
ipv4.addresses 10.12.126.105/28 \
ipv4.gateway 10.12.126.110 \
ipv4.dns 10.10.51.1
sudo nmcli device reapply enp18s0
```

#### Полезные ссылки

**Настройка Ubuntu Intel GPU Drivers**  
[https://www.linuxfordevices.com/tutorials/ubuntu/install-intel-graphic-drivers  
https://www.maketecheasier.com/install-intel-graphics-drivers-linux  
https://redos.red-soft.ru/base/redos-7\_3/7\_3-problem/7\_3-error-drivers/7\_3-intel-i915](https://www.linuxfordevices.com/tutorials/ubuntu/install-intel-graphic-drivers)

**Смена пароля root (grub)**  
[https://www.maketecheasier.com/reset-root-password-linux](https://www.maketecheasier.com/reset-root-password-linux)

**IPsec VPN Tunnel + Bastion Server**  
[https://github.com/chriscatuk/vpn-bastion  
https://curiousdevops.com/2022/01/26/diy-ssh-bastion-hosts-34b2-dee9874d](https://github.com/chriscatuk/vpn-bastion)

**Настрйока ProFTPd**  
[https://www.dmosk.ru/miniinstruktions.php?mini=proftpd-ubuntu](https://www.dmosk.ru/miniinstruktions.php?mini=proftpd-ubuntu)

**MeshCentral Сервер RDС**  
[https://ylianst.github.io/MeshCentral/install/install2/#ubuntu-1804](https://ylianst.github.io/MeshCentral/install/install2/#ubuntu-1804)

**Установка Proxmox виртуализации**  
[https://serveradmin.ru/ustanovka-i-nastroyka-proxmox](https://serveradmin.ru/ustanovka-i-nastroyka-proxmox)

**Установка Kaspersky Security Center** \[Wiki.js\]  
[https://wiki.ublinux.ru/ru/Software/Programs\_and\_utilities/All/ksc](https://wiki.ublinux.ru/ru/Software/Programs_and_utilities/All/ksc)

[Древо Версий Linux ОС](https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)


</body></html>

# CryptoPro/Rutoken/Jacarta

**Установка программ и драйверов Криптографии**

#### Установка КриптоПро

**[Инструкция](https://redos.red-soft.ru/base/redos-7_3/7_3-security/7_3-ext-szi/7_3-cpro/7_3-cryptopro/) общая**

**[Загрузка](https://www.cryptopro.ru/products/csp/downloads) дистрибутива КриптоПро**

<p class="callout success">Используем любую учётную запись КриптоПро  
user: **xeonmp22**  
pass: **cryptopro2000**</p>

Выбираем **Сертифицированный** Криптопровайдер и плагин  
Скачиваем на Рабочий стол Архив

**Установка дистрибутивов**

```ruby
cd /home/$USER/Рабочий\ стол/
tar -xf linux-amd64.tgz
cd linux-amd64
chmod +x install_gui.sh
sudo ./install_gui.sh
```

<p class="callout warning">**Выбрать опции:**  
 - Импортировать сертификаты из ОС  
 - Поддержка токенов и смарт карт</p>

##### Установка ПО для сертификатов

Установка средства управления сертификатами **token-manager**

```ruby
sudo dnf install token-manager python3-chardet
```

Установка программного обеспечения для подписи файлов **gostcrypto**

```ruby
sudo dnf install gostcryptogui
```

<p class="callout info">Утилиты **Ключевые носители и сертификаты** и **Подпись и шифрование файлов** после установки будут доступны в меню Пуск для работы с контейнерами и подписания документов.</p>

##### Проверка и ввод лицензии \[Опция\]

Вывод текущего серийного номера лицензии

```ruby
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -view
```

Ввод нового номера лицензии

```ruby
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <серийный_номер>
```

##### Удаление лицензии \[Опция\]

```ruby
sudo rm /var/opt/cprocsp/users/$USER/local.ini
```

#### Установка Rutoken

**Загрузка Дистрибутива Rutoken** [https://www.rutoken.ru/support/download/get/rtPKCS11-rpm-x64.html](https://www.rutoken.ru/support/download/get/rtPKCS11-rpm-x64.html)  
cd rutoken

```ruby
sudo dnf localinstall ./lib*
sudo dnf install pcsc-tools
sudo dnf install ifd-rutokens
```

<p class="callout warning">**librtpkcs11ecp-2.15.1.0-1.x86\_64.rpm** замените на актуальную версию</p>

**Установка средства управления сертификатами token-manager**

```ruby
sudo dnf install token-manager python3-chardet
sudo dnf install gostcryptogui
```

#### Установка Jacarta \[Saby\]

[https://www.aladdin-rd.ru/support/downloads/jacarta\_client](https://www.aladdin-rd.ru/support/downloads/jacarta_client)

```ruby
cd Jacarta
sudo chmod +x install.sh
sudo ./install.sh
```

##### Offline Установка \[Опция\]

[https://saby.ru/help/plugin/sbis3plugin/install\_notconnection](https://saby.ru/help/plugin/sbis3plugin/install_notconnection)

```ruby
cd Sbis
sudo whereis libstdc++.so.6 | head -n 1 | cut -d ' ' -f 2 | xargs file | sed "s@.*\.@\'@"
32
```

```ruby
sudo -E dnf install -y ./saby-minimal-core.rpm
sudo -E dnf install -y ./sbis3plugin.rpm
sudo -E dnf install -y ./sbis3plugin-additions.rpm
```

#### Тест Плагинов/Драйверов

<p class="callout warning"><span style="color:rgb(0,0,0);">JaCarta будет работать только под учёткой Админа</span></p>

[https://online.saby.ru/reg/](https://online.saby.ru/reg/)  
[**https://install.kontur.ru/sertum**](https://install.kontur.ru/sertum)

<p class="callout warning">Если возникает ошибка Плагина при запуске Браузера Chromium-Gost  
</p>

```ruby
wget https://gu-st.ru/content/Gosplugin/Gosplugin_Alt-RedOS_Installer.rpm.zip
unzip Gosplugin_Alt-RedOS_Installer.rpm.zip
chmod +x Gosplugin_Alt-RedOS_Installer.rpm.sh
sudo sh ./Gosplugin_Alt-RedOS_Installer.rpm.sh
```

#### Ошибки и проблемы

<p class="callout danger">После обновления пакетов КриптоПРО не видит Rutoken и контейнеры</p>

После ручного обновления пакетов возможен случай, когда при вставленном и на 100% рабочем Rutoken КриптоПРО не видит ни сам носитель, ни расположенные на нём контейнеры. При этом в списке устройств USB устройство видно и определяется корректно.

Чтобы это проверить, запустите Терминал и войдите с правами суперпользователя и введите команду считывания всех подключенных USB устройств

```ruby
lsusb
```

В полученном списке устройств должен корректно отображаться Rutoken. Если носитель присутствует, нужно попробовать запустить утилиту работы с контейнерами **Ключевые носители и сертификаты** из меню Пуск**.** При попытке запуска вы получите ошибку

```ruby
СКЗИ КриптоПРО CSP или некоторые его компоненты не установлены для amd64
```

Самый легкий путь, пусть и не самый очевидный, который может решить эту проблему - переустановка КриптоПРО CSP особым образом

1\. Скачайте архив с сайта КриптоПро <span class="wikiexternallink">[по ссылке](https://cryptopro.ru/sites/default/files/private/csp/50/12000/linux-amd64.tgz)</span>.

<p class="callout warning">Для скачивания необходима регистрация и вход на сайте.</p>

<p class="callout success">Используем любую учётную запись КриптоПро  
user: **xeonmp22**  
pass: **cryptopro2000**</p>

2\. Распакуйте архив в папку при помощи консольных команд или интерфейса системы (в примере **/home/user/Загрузки**).

```ruby
cd /home/user/Загрузки
tar -xvf linux-amd64.tgz
```

4\. Перейдите в папку с КриптоПро

```ruby
cd /home/user/Загрузки/linux-amd64
```

5\. Установите права на запуск деинсталлятора и запустите процесс удаления

```ruby
chmod +x uninstall.sh
./uninstall.sh
```

Дождитесь сообщения о деинсталляции КриптоПРО CSP.

<p class="callout warning">После получения данного сообщения не закрывайте Терминал и не перезагружайте АРМ!</p>

6\. Установите права на запуск инсталлятора и запустите установку КриптоПРО в режиме визуального интерфейса согласно инструкции выше.

<p class="callout warning">Во время установки интерфейс не запустится, а вы получите сообщение в Терминале "Обнаружено зацикливание в файловой системе"!</p>

7\. Дождитесь, пока окно Терминала не станет полностью черным - пропадут любые надписи. После чего можно проверять работоспособность обнаружения Rutoken и ключевых контейнеров в утилите КриптоПРО или в утилите **Ключевые носители и сертификаты.**

8\. В случае успеха - закройте терминал и перезагрузите АРМ. Проверьте работоспособность после перезагрузки.

---

ССЫЛКИ:

- <span class="wikiexternallink">[Установка КриптоПро CSP 5.0](https://redos.red-soft.ru/base/redos-7_3/7_3-security/7_3-ext-szi/7_3-cpro/7_3-cryptopro-csp-5-0/)</span>
- <span class="wikiexternallink">[Графические утилиты для работы с КриптоПро CSP](https://redos.red-soft.ru/base/redos-7_3/7_3-security/7_3-ext-szi/7_3-cpro/7_3-gui-kriptopro-csp/)</span>