Debian - Обслуживание
Обслуживание Debian
- обновление
- Репозитории дистрибутивов
- Проблемы при обновлении
- Решения других проблем
Debian обновление
0. Сделать BackUp!
1. Предварительное обновление - в пределах текущей версии
apt update
apt dist-upgrade -y
reboot
lsb_release -a
2. Смена версии
Для перехода 9->10
sed -i 's/stretch/buster/g' /etc/apt/sources.list
sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.list
Или заменить в /etc/apt/sources.list все stretch на buster
Для перехода 10->11
Заменить в /etc/apt/sources.list все buster на bullseye
В security - buster/updates на bullseye-security
Для перехода 11->12
Заменить в /etc/apt/sources.list все bullseye на bookworm
bullseye-updates на bookworm-updates
ullseye-security на bookworm-security
Также добавлены non-free репозитории
3. Обновление до версии
Если возникнет вопрос о перезапуске служб - Согласиться
Если возникнет вопрос о версиях конфиг-файлов - N - оставить существующие
apt-get update -y
apt upgrade --without-new-pkgs -y
apt-get full-upgrade -y
reboot
lsb_release -a
apt --purge autoremove
Репозитории дистрибутивов
https://www.geekersdigest.com/apt-etc-apt-sources-list-for-every-debian-release/
Debian 7 (Wheezy)
Archived:
deb http://archive.debian.org/debian/ wheezy main contrib non-free
deb http://archive.debian.org/debian-security wheezy/updates main contrib non-free
Debian 8 (Jessie)
Original:
deb http://deb.debian.org/debian/ jessie main contrib non-free
deb http://ftp.debian.org/debian/ jessie-updates main contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
Archived:
deb http://archive.debian.org/debian/ jessie main contrib non-free
deb http://archive.debian.org/debian-security jessie/updates main contrib non-free
Debian (Stretch)
Original:
deb http://deb.debian.org/debian/ stretch main contrib non-free
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
Archived (announced on March 27th 2023):
deb http://archive.debian.org/debian/ stretch main contrib non-free
deb http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free
deb http://archive.debian.org/debian-security stretch/updates main contrib non-free
Debian 10 (Buster)
Original:
deb http://deb.debian.org/debian/ buster main non-free contrib
deb http://deb.debian.org/debian/ buster-updates main non-free contrib
deb http://security.debian.org/ buster/updates main non-free contrib
Archived (announced in March 2024): deb http://archive.debian.org/debian/ buster main non-free contrib deb http://archive.debian.org/debian/ buster-updates main non-free contrib deb http://archive.debian.org/debian/ buster-proposed-updates main non-free contrib deb http://security.debian.org/ buster/updates main non-free contrib
Debian 11 (Bullseye)
Careful: Syntax change (debian-security)!
Original:
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
Debian 12 (Bookworm)
Note: Newly added non-free-firmware area added by default
Original:
deb http://deb.debian.org/debian bookworm main contrib non-free-firmware non-free
deb http://deb.debian.org/debian bookworm-updates main contrib non-free-firmware non-free
deb http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware non-free
Проблемы при обновлении
Не запускается - Не грузит grub. В rescue mode.
Восстановление Grub
1.1 Через Live
- Запустить live дистрибутив с флжшки или CD
В терминале выполнить
sudo fdisk -l
Найти linux раздел (предположить, что она была корнем /
sudo mount /dev/sda1 /mnt
ls /mnt
Должен быть каталог /boot
Установить grub на нее
grub-install --root-directory=/mnt/ /dev/sda
reboot
Нет поддержки SMB.1
Установить и добавить ключ версии -o vers=2.0 или даже -o vers=1.0
apt -y install smbclient cifs-utils
mount -t cifs //<server_ip>/<share> /mnt/<mountpoint> -o vers=2.0
Не работают веб-сервисы
- Переписать модули PHP для apache2 или fpm соккеты для nginx
- начиная с deb19 apache не работает с /tmp
Нужно оставить старую версию пакета - не обновлять его
Бывает нужно, когда новая работает не стабильно или старая собрана с трудом
sudo apt-mark hold <package>
apt-mark showhold
Решения других проблем
Ошибка (обычно при установке пакетов) В PATH суперпользователя обычно должны присутствовать /usr/local/sbin, /usr/sbin и /sbin
Прописать в /root/.bashrc строку:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Файловый менеджер Thunar не видит win(smb) шары и сеть
sudo apt install gvfs-backends smbclient
Установка сертификата минцифры на Lin
Проверка
curl -I https://securepayments.sberbank.ru/
Установка
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt
wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
cp *.crt /usr/local/share/ca-certificates/
update-ca-certificates
Запуск i386 приложений на x64
apt-get install libc6-i386
Восстановление ROOT пароля
1. Перезапуск с нажатым левым shift
2. Выбрать Recovery Mode
3. В Recovery Menu выбрать root
4. Перемонтировать FS: mount -o remount,rw /
5. passwd .....
Система в read/only
sudo su
[type password]
mount -o remount, rw /
проблема с rtl8821ce WiFi
rtl8821ce : sudo apt install git dkms build-essential
git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce
sudo ./dkms-install.sh
Linux Problem: detected hardware unit hang interfaces : сетевые карты intel
ethtool -K enp0s25 gso off gro off tso off
ethtool -K enp0s25 tx off rx off
pcie_aspm=off
update-grub
SSH ошибка Unable to negotiate with host: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
Добавить ключ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@host
или ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 user@host
Ошибка GPG: .... Следующие подписи не могут быть проверены, так как недоступен открытый ключ
Ошибка GPG: https://pkg.jenkins.io/debian-stable binary/ Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 5BA31D57EF5975CA
{PUB_KEY} = 85A3D26506C4AE2A
$ gpg --keyserver keyserver.ubuntu.com --recv-key 5BA31D57EF5975CA
$ gpg -a --export 5BA31D57EF5975CA | apt-key add -
Или при помощи расширенных параметров apt-key:
$ apt-key adv --recv-key --keyserver keyserver.ubuntu.com {PUB_KEY}
$ apt-key adv --recv-key --keyserver keyserver.ubuntu.com 5BA31D57EF5975CA
, где key серверы могут быть например keyserver.ubuntu.com ha.pool.sks-keyservers.net
Согласование старых и новых протоколов SSH
Ошибки типа "no hostkey alg" и "userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]"
# Добавить в /etc/ssh/sshd_config:
HostKeyAlgorithms +ssh-rsa,ssh-dss
PubkeyAcceptedAlgorithms +ssh-rsa
Удобства и howto
заменить имя
$ hostnamectl set-hostname server1
$ vi /etc/hosts
server1
Сделать старые (стандартные) имена сетевых устройств linux:
sudo nano /etc/default/grub
Найти “GRUB_CMDLINE_LINUX” вставить ”net.ifnames=0 biosdevname=0“.
sudo grub-mkconfig -o /boot/grub/grub.cfg
Справка по SCREEN
Начать сессию
screen
Выйти из сессии
CTRL+a CTRL+d
Вернуться к сессии
streen -x (-r)
Отправка e-mail из командной строки
echo "Сообщение" | mmail -a "Content-Type: text/plain; charset=UTF-8" -s "Сабжект" test@test.tt
dd - копирование дисков
# dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
Копирпование MBR
# dd if=/dev/sda of=/dev/sdb bs=512 count=1
Посмотреть процесс в старых версиях
# sudo kill -USR1 $(pgrep ^dd$)
Показать количество соединений в linux
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Перенос Debian на другое железо
- установить аналогичную версию на новом месте
- на старом создать архив
tar -czvf old_server.tar.gz /bin/ /boot/ /etc/ /home/ /lib/ /opt/ /root/ /sbin/ /tmp/ /usr/ /var/ /srv/
- из live дистрибутива прибить вышеперечисленные папки и распаковать
Прописать сеть в /etc/network/interfaces
auto eth0
allow-hotplug eth0 #iface eth0 inet dhcp
iface eth0 inet static
address 172.16.11.22
netmask 255.255.255.0
gateway 172.16.11.1
dns-nameservers 8.8.8.8
dns-search domain.ru
auto wlp2s0
iface wlp2s0 inet dhcp
wpa-ssid MYSSID
wpa-psk 87654321
Удалить network manager:
apt remove network-manager
HOTSPOT запуск точки доступа
nmcli d wifi hotspot ifname <wifi_iface> ssid <ssid> password <password>
nmcli r wifi off
Монтирование дискового раздела по UUID
blkid /dev/sdb1
/dev/sdb1: UUID="7c12436f-7cd2-4243-a0f1-bbe286ec8882" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ad27fe6b-01"
/etc/fstab:
UUID=7c12436f-7cd2-4243-a0f1-bbe286ec8882 /mnt/data ext4 defaults 0 2
xRDP - установка с редиректом звука
https://c-nergy.be/blog/?p=17734
sudo apt install build-essential dpkg-dev libpulse-dev git autoconf libtool xrdp
cd ~
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
cd pulseaudio-module-xrdp
scripts/install_pulseaudio_sources_apt_wrapper.sh
если закончилось этой строкой, то всё ок
- All done. Configure PA xrdp module with PULSE_DIR=/home/<%user%>/pulseaudio.src
./bootstrap && ./configure PULSE_DIR=~/pulseaudio.src
make
sudo make install
Для проверки запустить
ls $(pkg-config --variable=modlibexecdir libpulse) | grep xrdp
При проблемах смены рпскладки из сессии xRDP
setxkbmap -option 'grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:menu' -layout 'us,ru'
VirtualBOX - пример установки в Debian 11 версии 7.0.12
$ wget https://download.virtualbox.org/virtualbox/7.0.12/virtualbox-7.0_7.0.12-159484~Debian~bullseye_amd64.deb
$ wget https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
$ sudo apt update
$ sudo apt install linux-headers-$(uname -r) dkms -y
$ sudo dpkg -i virtualbox-7.0_7.0.12-159484~Debian~bullseye_amd64.deb
$ sudo usermod -aG vboxusers $USER
$ newgrp vboxusers
$ sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
Где SYSLOG в debian 12 ?
а всё.. теперь journalctl
$ journalctl -b - вывод записей с момента последней загрузки $ journalctl -S "2024-09-10 12:00" -U "2024-09-10 12:10" - вывод записей за определенный период времени $ journalctl -u ssh - вывод записей, принятых от определенной службы $ journalctl -k - вывод сообщений ядра $ journalctl -p err - вывод сообщений с определенным приоритетом, в данном случае будут выведены ошибки и более высокие приоритеты(crit, alert, emerg) $journalctl -f - вывод сообщений в реальном времени
но если всё же очень надо, то
$ sudo apt install rsyslog
$ systemctl status rsyslog
Показать количство процессов по убыванию
ps ax | awk '{print $5}' | sort | uniq -c | sort -n -r | head -10
Lisolog / 2023