====== Ubuntu ======
Скачать: https://mirror.yandex.ru/ubuntu-releases ([[https://launchpad.net/ubuntu/+cdmirrors|список зеркал]])
===== Статический IP =====
С версии 18.04 используется механизм networkd, управляемый конфигуратором netplan. Управляется файлом 01-netcfg.yaml или 50-cloud-init.yaml в каталоге /etc/netplan/.
Файл yaml должен иметь чёткую структуру и отступы в 2 пробела между иерархическими строками, иначе будут ошибки типа Invalid YAML at %%/etc/netplan/01-netcfg.yaml%% line 7 column 6: did not find expected key
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.222/24]
# `gateway4` has been deprecated since Ubuntu 22.04, see routes
# gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
routes:
# Шлюз по умолчанию - это default route
- to: default
via: 192.168.1.1
- to: 10.0.0.0/8
via: 10.1.0.1
- to: 192.168.0.0/16
via: 10.1.0.1
optional: yes
''optional: yes'' предотвращает вечное ожидание при загрузке системы A start job is running for Wait for Network to be Configured
# Применить конфиг
sudo netplan apply
[[https://linuxconfig.org/how-to-configure-static-ip-address-on-ubuntu-18-04-bionic-beaver-linux|How to configure static IP address on Ubuntu 18.04 Bionic Beaver Linux]]
==== Wi-fi ====
Wi-fi должен находиться в разделе ''wifis:''
network:
ethernets:
enp3s0:
dhcp4: true
optional: true
wifis:
wlp1s0:
addresses:
- 192.168.1.6/24
optional: true
access-points:
Vasya wifi:
password: P@ssw0rd123
nameservers:
addresses:
- 192.168.1.5
search:
- WORKGROUP
routes:
- to: default
via: 192.168.1.1
version: 2
==== `gateway4` has been deprecated, use default routes instead ====
Это предупреждение выдаётся на Ubuntu Server 22.04 при применении сетевых настроек. Опция шлюза переехала в маршрут default:
routes:
- to: default
via: 10.1.0.1
==== Permissions for /etc/netplan/00-installer-config.yaml are too open ====
sudo chmod 600 /etc/netplan/00-installer-config.yaml
==== Cannot call Open vSwitch: ovsdb-server.service is not running ====
sudo apt install openvswitch-switch-dpdk -y
===== hostname =====
Было:
$ hostname
server1
$ hostname --fqdn
server1
''vi /etc/hostname''
127.0.0.1 www.linuxconfig.org server1
Порядок важен! FQDN должен стоять впереди. Перезагрузка, и теперь
$ hostname
server1
$ hostname --fqdn
www.linuxconfig.org
$ hostname -d
linuxconfig.org
https://linuxconfig.org/how-to-change-fqdn-domain-name-on-ubuntu-20-04-focal-fossa-linux
Смена имени хоста:
hostnamectl set-hostname new-hostname
https://phoenixnap.com/kb/ubuntu-20-04-change-hostname
===== Переполнение раздела /boot =====
# Вывести все установленные ядра кроме того, которое используется в настоящий момент
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
# Удалить все ядра кроме активного (циферки заменить на нужные)
sudo rm -rf /boot/*-4.4.0-{63,64,66}-*
# Почистить пакеты
sudo apt-get autoremove
sudo apt-get -f install
sudo apt-get update and sudo apt-get upgrade
sudo reboot
[[https://askubuntu.com/questions/345588/what-is-the-safest-way-to-clean-up-boot-partition|What is the safest way to clean up /boot partition?]]
===== Увеличить размер раздела с LVM =====
Если это надо сделать после увеличения размера виртуального диска на гипервизоре:
# Пнуть систему, чтобы перечитала блочное устройство (здесь - sda)
echo 1 > /sys/block/sda/device/rescan
# Зайти в parted
parted /dev/sda
p # вывести список томов на диске
# На предупреждение, что на диске используется не всё место, надо ли исправить GPT, ответить Fix
resizepart 3 100% # Здесь 3 - номер тома из выведенного списка, который надо расширить до 100%
quit
# дальше LVM
pvresize /dev/sda3
lvextend -l +100%FREE -r /dev/mapper/ubuntu--vg-ubuntu--lv # вместе с файловой системой (-r)
df -h # проверить
https://askubuntu.com/questions/646183/expanding-disk-inside-hyper-v-using-lvm
# We need to resize the logical volume to use all the existing and free space of the volume group
$ lvm
lvm> lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
lvm> exit
# And then, we need to resize the file system to use the new available space in the logical volume
$ resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 58
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 120784896 (4k) blocks long.
# Finally, you can check that you now have available space:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 786M 1.2M 785M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 454G 3.8G 432G 1% /
https://askubuntu.com/questions/1106795/ubuntu-server-18-04-lvm-out-of-space-with-improper-default-partitioning
==== Неверный размер физического тома ====
При попытке увеличить размер LVM после увеличения размера диска виртуалки:
lvm> lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
WARNING: Device /dev/sdb has size of 251658240 sectors which is smaller than corresponding PV size of 62278074368 sectors. Was device resized?
One or more devices used as PVs in VG ubuntu-vg have changed sizes.
New size (14848 extents) matches existing size (14848 extents).
# Показать физические диски
pvdisplay
WARNING: Device /dev/sdb has size of 251658240 sectors which is smaller than corresponding PV size of 62278074368 sectors. Was device resized?
One or more devices used as PVs in VG ubuntu-vg have changed sizes.
--- Physical volume ---
PV Name /dev/sdb
VG Name ubuntu-vg
PV Size 29,00 TiB / not usable 28,94 TiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 14848
Free PE 0
Allocated PE 14848
PV UUID dTNypI-jy3M-UQMJ-2VxO-RBPj-ASyF-vJVS18
# Исправить неадекватный размер
pvresize /dev/sdb
==== Место на диске ====
# По файловым системам
df -h
# По каталогам с сортировкой по размеру
du -sh /* |sort -h
# sorted list containing the 20 biggest dirs
du -m /some/path | sort -nr | head -n 20
===== Обновление =====
==== 1 device has a firmware upgrade available ====
1 device has a firmware upgrade available.
Run `fwupdmgr get-upgrades` for more information.
# Обновить
fwupdmgr update
WARNING: UEFI capsule updates not available or enabled in firmware setup
See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information.
╔══════════════════════════════════════════════════════════════════════════════╗
║ Upgrade UEFI dbx from 77 to 217? ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ This updates the dbx to the latest release from Microsoft which adds ║
║ insecure versions of grub and shim to the list of forbidden signatures due ║
║ to multiple discovered security updates. ║
║ ║
║ Before installing the update, fwupd will check for any affected executables ║
║ in the ESP and will refuse to update if it finds any boot binaries signed ║
║ with any of the forbidden signatures.If the installation fails, you will ║
║ need to update shim and grub packages before the update can be deployed. ║
║ ║
║ Once you have installed this dbx update, any DVD or USB installer images ║
║ signed with the old signatures may not work correctly.You may have to ║
║ temporarily turn off secure boot when using recovery or installation media, ║
║ if new images have not been made available by your distribution. ║
║ ║
║ UEFI dbx and all connected devices may not be usable while updating. ║
╚══════════════════════════════════════════════════════════════════════════════╝
Perform operation? [Y|n]:
Downloading… [***************************************]
Decompressing… [***************************************]
Decompressing… [***************************************]
Authenticating… [***************************************]
Authenticating… [***************************************]
Restarting device… [***************************************]
Writing… [***************************************]
Decompressing… [***************************************]
Writing… [***************************************]
Restarting device… [***************************************]
Waiting… [***************************************]
Successfully installed firmware
An update requires a reboot to complete. Restart now? [y|N]: y
==== Обновление старой системы ====
=== Ubuntu 8.04 → 10.04.4 ===
https://help.ubuntu.com/community/EOLUpgrades/\\
https://help.ubuntu.com/community/EOLUpgrades/Hardy
Через интернет обновиться не получится, т. к., оно пытается прыгнуть сразу на 12-ю версию и обламывается. Нужно скачать alternate CD, в данном случае, [[http://old-releases.ubuntu.com/releases/10.04.4/|10.04.4]].
Привести /etc/apt/sources.list к виду
## EOL upgrade sources.list
# Required
deb http://old-releases.ubuntu.com/ubuntu/ hardy main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ hardy-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ hardy-security main restricted universe multiverse
# Optional
deb http://old-releases.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
Монтировать диск, запустить процесс
mkdir cdrom
mount /dev/sr0 cdrom
sh cdrom/cdromupgrade
Hyper-V integration components [[https://docs.microsoft.com/en-us/archive/blogs/enterprise_admin/linux-and-hyper-v-the-easy-way-brown-and-serve|добавлять в модули]] **не надо.** Сам собой появляется hv_vmbus, попытка добавить в /etc/initramfs-tools/modules
hv_storvsc
hv_blkvsc
hv_netvsc
и применению изменений
update-initramfs –u
reboot
приводит к неработоспособности системы. Поэтому лучше обновиться до версии 12 для полноценной поддержки гипервизора.
=== Ubuntu 10.04.4 → 12.04.5 ===
Ошибка после do-release-upgrade: error authenticating some files
Создать файл /etc/update-manager/release-upgrades.d/unauth.cfg
Вставить туда
[Distro]
AllowUnauthenticated=yes
После обновления удалить этот файл.
https://askubuntu.com/questions/425355/error-authenticating-some-packages-while-upgrade
После апгрейда можно в Hyper-V заменить устаревшие адаптеры на современные, т. к. все компоненты интеграции появляются в системе.
==== Отключить обновление до новой версии ====
шляпа, не работает
New release '18.04.2 LTS' available.\\
Run 'do-release-upgrade' to upgrade to it.
sudo chmod -x /etc/update-motd.d/90-updates-available
https://askubuntu.com/questions/616181/how-to-disable-release-upgrade-notification-at-terminal-tty-login-not-the-gui-p
===== Пользователь =====
# добавить
useradd username
# как вариант (более удобный способ)
adduser username
# задать пароль
passwd username
# домашний каталог и права
mkdir /home/username
chown -R username:username /home/username
# возможность быть админом (добавить пользователя в группу sudo)
usermod -aG sudo username
# Удалить пользователя из группы
gpasswd -d user group
# Удалить пользователя с домашним каталогом
deluser --remove-home user # Debian
userdel --remove user # RedHat/CentOS
https://andreyex.ru/linux/komandy-linux-i-komandy-shell/useradd-protiv-adduser-v-chem-raznitsa/\\
https://www.tecmint.com/add-or-remove-user-from-group-in-linux/\\
https://www.tecmint.com/delete-remove-a-user-account-with-home-directory-in-linux/
==== /etc/passwd ====
mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
| | | | | | |
| | | | | | +-> 7. Login shell
| | | | | +----------> 6. Home directory
| | | | +--------------------> 5. GECOS
| | | +--------------------------> 4. GID
| | +-------------------------------> 3. UID
| +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
# рабочий каталог - /www/site.ru, не создавать домашний каталог, запретить вход в консоль, логин www-user
useradd -b /www/site.ru -M -s /bin/false www-user
https://andreyex.ru/linux/ponimanie-fajla-etc-passwd/
Варианты запрета входа в консоль:
* /sbin/nologin - if user with that shell logs in, they'll get a polite message saying 'This account is currently not available.' This message can be changed with the file /etc/nologin.txt
* /bin/false - when someone who has false as shell logs in, they're immediately logged out when false exits.
https://unix.stackexchange.com/questions/10852/whats-the-difference-between-sbin-nologin-and-bin-false
==== Отключить запрос пароля sudo ====
Полезно для автоматизации (Ansible и т. п.).
# Open a Terminal window and type:
sudo visudo
# In the bottom of the file, add the following line:
$USER ALL=(ALL) NOPASSWD: ALL
# Where $USER is your username on your system.
# Save and close the sudoers file.
===== Время =====
# Часовой пояс
dpkg-reconfigure tzdata
===== Анализ дискового пространства =====
sudo apt install ncdu
ncdu /
ncdu 1.14.1 ~ Use the arrow keys to navigate, press ? for help
--- / ------------------------------------------------------------------------------
14.2 GiB [##########] /var
3.8 GiB [## ] swap.img
2.7 GiB [# ] /snap
2.7 GiB [# ] /usr
206.2 MiB [ ] /boot
203.1 MiB [ ] /home
5.3 MiB [ ] /etc
3.1 MiB [ ] /.kube
1.3 MiB [ ] /run
560.0 KiB [ ] /root
72.0 KiB [ ] /tmp
16.0 KiB [ ] /opt
e 16.0 KiB [ ] /lost+found
e 4.0 KiB [ ] /srv
e 4.0 KiB [ ] /mnt
e 4.0 KiB [ ] /media
e 4.0 KiB [ ] /cdrom
. 0.0 B [ ] /proc
0.0 B [ ] /sys
0.0 B [ ] /dev
@ 0.0 B [ ] libx32
@ 0.0 B [ ] lib64
@ 0.0 B [ ] lib32
@ 0.0 B [ ] sbin
@ 0.0 B [ ] lib
@ 0.0 B [ ] bin
Total disk usage: 23.8 GiB Apparent size: 128.0 TiB Items: 655946
===== Временно сменить шлюз без правки конфигов =====
# To temporarily change the default route you can use an ip command like this:
sudo ip route change default via 192.168.1.1 dev eth0
https://askubuntu.com/questions/31646/default-gateway-changing
===== ifconfig не отображает интерфейсы =====
После импорта конвертированного диска из VMWare в Hyper-V виртуалка потеряла интерфейсы. Древняя Убунта 8.04.
lspci показывает, что сетевая карточка есть, но ifconfig ничего не показывает.
# Узнать номер интерфейса
lshw -class network
Затем исправить /etc/network/interfaces соответственно.
===== Автоустановка =====
[[https://appbutton.net/ru/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-ubuntu|Пример автоматической установки Ubuntu]]
[[https://w.zz777.ru/avtoustanovka-sistem-na-baze-linux-po-seti-rhel-based-i-deb-based-ch-3|Автоустановка систем на базе Linux по сети (RHEL-Based и Deb-based) Ч.3 – установка Ubuntu 20.04/21.10]]
https://github.com/covertsh/ubuntu-autoinstall-generator
===== Ошибки =====
==== I/O error, dev fd0, sector 0 ====
Возникает после переезда VM с VMWare на Hyper-V.
# Отключить модуль ядра
rmmod floppy
==== /etc/sudoers: syntax error ====
Кто-то редактировал этот файл руками, результат:
$ sudo adminuser
>>> /etc/sudoers: syntax error near line 28 <<<
sudo: parse error in /etc/sudoers near line 28
sudo: no valid sudoers sources found, quitting
Решение:
pkexec adminuser
Если не работает - грузиться с LiveCD, монтировать раздел и исправлять кривой файл sudoers.
https://askubuntu.com/questions/73864/how-to-modify-an-invalid-etc-sudoers-file
==== Temporary failure in name resolution ====
На Ubuntu 18.04, где ковырялись с целью удалить всё новое и привести систему к привычным технологиям 15-летней давности, настройки DNS в netplan не работали, хотя и были там прописаны:
root@srv-web:/# ping ya.ru
ping: ya.ru: Temporary failure in name resolution
# Решение:
sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
netplan apply # Перезагрузка не нужна
https://askubuntu.com/questions/973017/wrong-nameserver-set-by-resolvconf-and-networkmanager