Skip to main content

Ubuntu Setup

Учетные данные/доступ

Настройка SSH доступа

sudo apt install ssh -y
sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf  # Для облачных образов
sudo vim /etc/ssh/sshd_config
TCPKeepAlive yes
ClientAliveInterval 60  
ClientAliveCountMax 360
PermitRootLogin prohibit-password  # Отключить root доступ по SSH
PasswordAuthentication yes          # При необходимости включить парольную аутентификацию
PubkeyAuthentication yes            # Рекомендуется для безопасности
sudo systemctl restart ssh  # В Ubuntu 24.04 используется ssh (не sshd)

Создание пользователя с правами sudo

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

Удаление пользователя полное

sudo pkill -u <user>  # Вместо killall (не всегда установлен)
sudo userdel -r <user>
sudo visudo  # Удалить строку с <user> если добавляли через visudo

Настройка Сети

Важно: В Ubuntu 24.04 используется Netplan с новым синтаксисом (версия 2)

Режим DHCP

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

Режим Static IP

sudo vim /etc/netplan/01-netcfg.yaml
# 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]  # Опционально

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

sudo netplan apply
sudo systemctl restart systemd-networkd  # Для применения изменений

Отключение сетевого протокола ipv6

Способ 1 (Рекомендуемый для Ubuntu 24.04)

sudo vim /etc/sysctl.conf
# В конце файла добавить:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
sudo sysctl -p
sudo sysctl --system  # Применить все настройки

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

sudo vim /etc/default/grub
# Найти строку:
GRUB_CMDLINE_LINUX=""
# Заменить на:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
sudo update-grub
sudo reboot

Тюнинг системы

Изменение имени сервера

sudo hostnamectl set-hostname name  # Современный способ
sudo vim /etc/hosts
127.0.0.1       localhost name
::1             localhost name  # IPv6 запись

Изменить Приветствие при входе пользователя

sudo chmod -x /etc/update-motd.d/10-help-text
sudo vim /etc/update-motd.d/10-help-text
# Комментировать все лишние строки или очистить файл

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

echo "PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]$ '" >> ~/.bashrc
source ~/.bashrc  # Применить без выхода

Ограничение размера LOGs системы (до 100mb)

sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=100M/g' /etc/systemd/journald.conf
sudo systemctl restart systemd-journald
sudo journalctl --rotate  # Принудительная ротация журналов

Добавление переключения языка по Alt+Shift (для GNOME)

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

Установка часового пояса (Москва)

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)

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 файла
vim ~/Desktop/myapp.desktop
[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;
chmod +x ~/Desktop/myapp.desktop

https://wikilinux.ru/all_articles/sozdanie-yarlykov-dlya-sh-skriptov

https://specifications.freedesktop.org/desktop-entry-spec/latest/recognized-keys.html

Обновление системы, алиасы

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

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

Добавление Алиасов Обновления итд.

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 && \  # В Ubuntu 24.04 предпочтительнее full-upgrade
sudo apt autoremove -y && \
sudo apt autoclean -y && \
sudo updatedb && \
sudo apt --fix-broken install'  # Проверка зависимостей

alias clean='sudo apt autoremove -y && sudo apt autoclean -y'
alias install='sudo apt install'
alias search='apt search'
alias show='apt show'
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  # Применить изменения

Создание скрипта обновления

sudo tee ~/update.apt.sh << 'EOF'
#!/bin/bash
set -e  # Остановка при ошибке

echo "=== Starting system update ==="
sudo apt update
sudo apt upgrade -y
sudo apt full-upgrade -y  # Вместо dist-upgrade
sudo apt autoremove -y
sudo apt autoclean -y
sudo apt --fix-broken install
sudo updatedb
echo "=== System update completed successfully ==="
EOF
sudo chmod +x ~/update.apt.sh
sudo ~/update.apt.sh

Дополнительные полезные настройки для Ubuntu 24.04

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

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

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