суббота, 5 апреля 2025 г.

Arch Linux: Различные варианты настройки сетевого интерфейса

Если адаптер находится в статусе DOWN и в ОС отсутствуют пакеты netctl, networkmanager, временно настроить сеть (до перезагрузки ОС) можно следующим образом:

1. Выводим текущие сетевые интерфейсы:
ip link show

2. Поднимаем интерфейс (в нашем случае "ens33"):
sudo ip link set dev ens33 up

3. Настройте конфигурацию TCP/IP, воспользуйтесь следующими командами по мере необходимости:

ip address show   #Просмотр конфигурации TCP/IP
ip address flush dev ens33   #Сброс конфигурации интерфейса
ip addr add 192.168.0.5/24 broadcast + dev ens33   #Установка IP и маски
ip addr del 192.168.0.5/24 dev ens33   #Удаление IP и маски (в случае ошибки)
ip route show   #Просмотр таблицы маршрутизации
ip route add default via 192.168.0.1 dev ens33   #Установка шлюза по умолчанию
ip route delete default   #Удаление шлюза по умолчанию
ip route add 192.168.10.0/24 via 192.168.0.254 dev ens33   #Добавление маршрута
ip route del 192.168.10.0/24 dev ens33 #Удаление маршрута
echo "nameserver 192.168.0.1 8.8.8.8" | sudo tee /etc/resolv.conf   #Добавление DNS


Конфигурирование интерфейса с помощью "netctl":

1. Установите "netctl" и "dhcpcd" в случае необходимости использования DHCP:
sudo pacman -S netctl dhcpcd

2. Скопируйте профиль для вашего интерфейса из папки с примерами:
cd /etc/netctl
sudo cp examples/ethernet-static my-network
   #Для статического IP
sudo cp examples/ethernet-dhcp my-network   #Для DHCP

3. Отредактируйте файл:
sudo nano my-network

Укажите правильный интерфейс (в нашем примере - "ens33"), а также в случае статического адреса: ip-адрес, маску, шлюз по умолчанию, дополнительные маршруты если нужно.

С DNS могут быть следующие варианты:
- если используете параметр из файла "my-network", то вам необходимо будет запустить службу "systemd-resolved":
sudo systemctl enable --now systemd-resolved
- если будете использовать "/etc/resolv.conf" с параметром "nameserver", то оставьте параметр "DNS" закомментированным, в этом случае можно полностью отключить службы:
sudo systemctl mask systemd-resolved
sudo systemctl mask systemd-networkd


4. Запустите наш профиль и включите автозагрузку:
sudo netctl start my-network
sudo netctl enable my-network



Конфигурирование интерфейса с помощью "NetworkManager":

1. Установите NetworkManager:
sudo pacman -S networkmanager

2. Включите и запустите службу:
sudo systemctl enable --now NetworkManager

3. Сконфигурируйте сетевой интерфейс с помощью терминальной утилиты "nmtui" или в командной строке утилитой "nmcli":

Просмотр:
nmcli con show   #Просмотр сетевых подключений
nmcli dev show ens33   #Просмотр активного соединения на "ens33"
nmcli con show 'Wired connection 1'   #Просмотр параметров подключения


Настройки для DHCP:
nmcli con mod 'Wired connection 1' ipv4.method auto
nmcli con mod 'Wired connection 1' ipv4.addresses "" ipv4.gateway ""
nmcli con mod 'Wired connection 1' ipv4.dns ""
nmcli con mod 'Wired connection 1' ipv4.routes ""
nmcli con up 'Wired connection 1'


Настройки для статического IP:
nmcli con mod 'Wired connection 1' ipv4.addresses 192.168.0.5/24
nmcli con mod 'Wired connection 1' ipv4.gateway 192.168.0.1
nmcli con mod 'Wired connection 1' ipv4.dns "192.168.0.1 8.8.8.8"
nmcli con mod 'Wired connection 1' +ipv4.routes "192.168.10.0/24 192.168.0.254"
nmcli con mod 'Wired connection 1' ipv4.method manual
nmcli con up 'Wired connection 1'

По работе с DNS ситуация такая же, как и в способе с "netctl".
Если запущена служба "systemd-resolved", то разрешение имен будет работать.
Если нет - используйте файл "/etc/resolv.conf":
echo "nameserver 192.168.0.1 8.8.8.8" | sudo tee /etc/resolv.conf
В случае ошибки предварительно удалите файл и повторите:
sudo rm -f /etc/resolv.conf


Конфигурирование интерфейса с помощью "systemd-networkd":

1. Убедитесь что службы "systemd-networkd" и "systemd-resolved" работают и находятся в автозапуске:
sudo systemctl enable --now systemd-networkd
sudo systemctl enable --now systemd-resolved


2. Создайте файл конфигурации (расширение ".network" обязательно):
sudo nano /etc/systemd/network/20-wired.network

Настройки для DHCP:

[Match]
Name=ens33
[Network]
DHCP=ipv4


Настройки для статического IP:

[Match]
Name=ens33
[Network]
Address=192.168.0.5/24
Gateway=192.168.0.1
DNS=192.168.0.1 8.8.8.8
[Route]
Destination=192.168.10.0/24
Gateway=192.168.0.254
Metric=10   #Опционально


3. Перезапустите службу:
sudo systemctl restart systemd-networkd

По работе с DNS ситуация такая же, как и в способе с "netctl".
Если запущена служба "systemd-resolved", то разрешение имен будет работать.
Если нет - используйте файл "/etc/resolv.conf":
echo "nameserver 192.168.0.1 8.8.8.8" | sudo tee /etc/resolv.conf
В случае ошибки предварительно удалите файл и повторите:
sudo rm -f /etc/resolv.conf


Общие советы:
1. Не используйте одновременно несколько менеджеров сетей (выберите один).
2. Для просмотра параметров пользуйтесь командами:
ip link show
ip address show
ip route show
resolvectl status

вторник, 1 апреля 2025 г.

Arch Linux: Установка системы с помощью "archinstall" из локального зеркала репозитория

Для новой установки ОС из собственного зеркала репозитория Arch Linux при помощи скрипта "archinstall" необходимо выполнить следующие подготовительные действия:

1. После запуска ОС из ISO-образа замените mirrorlist, внесите туда единственную запись вашего зеркала:
echo 'Server = http://your_mirror_server/$repo/os/$arch' > /etc/pacman.d/mirrorlist

2. Затем выполните принудительное обновление базы данных "pacman", игнорируя локальный кэш:
pacman -Syy

3. Отключите службу, запускающую утилиту для обновления списка зеркал для пакетного менеджера "pacman":
systemctl mask reflector.service

4. Запустите скрипт установки с параметрами работы в офлайн и отключением проверки версии:
archinstall --offline --skip-version-check

5. Выполните в меню скрипта "archinstall" нужные настройки для установки ОС, за исключением пункта "Mirrors" - его трогать нельзя!

понедельник, 31 марта 2025 г.

Arch Linux: Быстрая установка при помощи скрипта "archinstall"

Загрузите компьютер с помощью ISO-образа Arch Linux. Когда появится командная строка, запустите установочный скрипт "archinstall".



После некоторых проверок вы попадёте в меню установщика. Тут сконфигурируйте следующие настройки:



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

Locales - укажите раскладку клавиатуры, язык и кодировку.


Mirrors - выберите свой регион, в котором будет находится зеркало репозитория Arch Linux. Также можно указать свой адрес сервера установки.


Disk configuration - конфигурирование диска и разделов для установки ОС. Можно выполнить в ручном или автоматическом режиме.


Disk encryption - при необходимости можно зашифровать ваш диск.


Swap - настройте использовать "Swap on zram" для уменьшения нагрузки на ваш HDD или SSD.



Bootloader - выберите какой загрузчик использовать. Рекомендуется оставить по умолчанию Systemd-boot.



Unified kernel images - включение или отключение UKI (объединение ядра системы в один файл). Рекомендуется включать для современных систем, использование systemd-boot и Secure Boot.



Hostname - введите имя хоста.


Root password - введите пароль для пользователя "root".



User account - добавьте при необходимости дополнительные аккаунты пользователей.



Profile - выберите конфигурацию вашей ОС, от этого будет зависеть количество и тип установленных дополнительных пакетов и утилит.



Audio - выберите пакеты для использования вашей звуковой платой.



Kernels - выберите тип ядра Linux (linux - обычное ядро по умолчанию, linux-hardened - усиленная безопасность, linux-lts - серверный вариант с использованием старых оттестированных ядер, linux-zen - ядра с уменьшенным временем отклика, оптимизированной производительностью, но меньшей стабильностью).



Network configuration - настройте сетевой адаптер на устанавливаемой системе, можно просто скопировать параметры с текущей ОС, загруженной с ISO-образа.



Additional packages - допишите при необходимости дополнительные пакеты, которые будут установлены вместе с ОС.



Optional repositories - подключите, если нужно, официальные дополнительные репозитории, расширяющие доступный набор пакетов (multilib - рекомендуется включать, testing - не рекомендуется).

Timezone - установите часовой пояс.



Automatic time sync (NTP) - включите (рекомендуется) или выключите автоматическую синхронизацию времени через интернет.

Далее можно начать установку нажав "Install" или прервать процесс командой "Abort". Также можно сохранить полученный в результате сделанных настроек файл конфигурации - "Save configuration".
Затем установщик предложит ещё раз пересмотреть конфигурацию. Инсталляция начнется после вашего подтверждения.




Когда процесс будет завершен, вам будет предложено выполнить в свежеустановленной системе дополнительные настройки до перезагрузки. Далее введите "reboot" для перезагрузки системы и извлеките ISO-образ.


среда, 26 марта 2025 г.

Arch Linux: Установка Home Assistant в виртуальном окружении Python

Для установки Home Assistant проделайте следующие шаги:

1. Обновите систему и зависимости:
sudo pacman -Syu

2. Установите зависимости и компоненты:
sudo pacman -S python python-pip python-virtualenv base-devel libffi openssl

3. Установите пакет FFmpeg:
sudo pacman -S ffmpeg

При установке будет выбор между двумя вариантами: "jack2" и "pipewire-jack", в большинстве случаев рекомендовано - "pipewire-jack". После установки проверьте версию коммандой "ffmpeg -version".

4. Создайте пользователя и каталоги:
sudo useradd -rm homeassistant -d /srv/homeassistant -s /bin/bash
sudo mkdir -p /srv/homeassistant
sudo chown -R homeassistant:homeassistant /srv/homeassistant


5. Настройте виртуальное окружение:
sudo su - homeassistant # Переключение на пользователя
cd /srv/homeassistant
python -m venv venv # Создание окружения
source venv/bin/activate # Активация окружения

6. Установите Home Assistant через pip:
pip install wheel zlib-ng isal
pip install homeassistant


7. Сконфигурируйте каталог:
mkdir -p /srv/homeassistant/.homeassistant
exit
# Выход из пользователя homeassistant
sudo chown -R homeassistant:homeassistant /srv/homeassistant/.homeassistant

8. Создайте systemd-сервис:
sudo nano /etc/systemd/system/homeassistant.service

Добавьте в файл:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=homeassistant
WorkingDirectory=/srv/homeassistant/.homeassistant
ExecStart=/srv/homeassistant/venv/bin/hass -c "/srv/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target


9. Запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now homeassistant


10. Проверка установки:
Откройте в браузере http://server_name_or_ip:8123. Если страница не загружается спустя несколько минут после старта сервиса - выясните, открыты ли порты, и проверьте логи:
sudo ss -tlnp | grep ':8123'
journalctl -u homeassistant -f



Процедура бэкапа:

1. Остановите Home Assistant:
sudo systemctl stop homeassistant

2. Зархивируйте конфигурацию:
sudo tar -czvf bkp_$(date +%Y-%m-%d).tar.gz -C /srv/homeassistant/.homeassistant .

3. Скопируйте архив в надежное хранилище (например, облако или внешний диск).

4. Запустите сервис:
sudo systemctl start homeassistant

5. Добавьте задание в cron (запуск раз в неделю):
0 3 * * 0 sudo systemctl stop homeassistant && tar -czvf /backup/ha_backup_$(date +\%Y-\%m-\%d).tar.gz -C /srv/homeassistant/.homeassistant . && sudo systemctl start homeassistant


Обновление версии Home Assistant:

1. Выполните бэкап (см. выше).

2. Остановите сервис:
sudo systemctl stop homeassistant

3. Активируйте виртуальное окружение:
sudo su - homeassistant
source /srv/homeassistant/venv/bin/activate


4. Обновите Home Assistant:
pip install --upgrade homeassistant
exit
# Выход из пользователя homeassistant

5. Запустите сервис:
sudo systemctl start homeassistant

6. Проверьте логи на наличие ошибок:
journalctl -u homeassistant -f


Примечания:

Для отката версии используйте бэкап и команду "pip install homeassistant==x.x.x" (где "x.x.x" — нужная версия).
Если после обновления Arch Linux изменилась версия Python, пересоздайте виртуальное окружение следующим образом:

1. Остановите сервис Home Assistant:
sudo systemctl stop homeassistant

2. Убедитесь, что версия Python изменилась:
python --version

3. Создайте резервную копию конфигурации:
sudo tar -czvf bkp_$(date +%Y-%m-%d).tar.gz -C /srv/homeassistant/.homeassistant .

4. Удалите старое виртуальное окружение:
sudo su - homeassistant
cd /srv/homeassistant
rm -rf venv


5. Создайте новое виртуальное окружение:
python -m venv venv # Используется обновленная версия Python
source venv/bin/activate

6. Переустановите Home Assistant:
pip install wheel zlib-ng isal homeassistant
exit
# Выход из пользователя homeassistant

7. Запустите сервис:
sudo systemctl start homeassistant

понедельник, 24 марта 2025 г.

Linux: Запись iso-образа ОС с помощью утилиты "dd"

Для записи установочного iso-образа на флешку в среде Linux выполните следующие шаги:

1. Вставьте флешку в USB-порт и выполните "lsblk" или "sudo fdisk -l", найдите флешку в списке ориентируясь по размеру (например "/dev/sdX", где X - буква).

2. Размонтируйте флешку, если она смонтирована:
sudo umount /dev/sdX1

где X - буква диска, а цифра - номер раздела, который был смонтирован.

3. Запишите образ командой "dd":
sudo dd bs=4M if=путь_к_образу.iso of=/dev/sdX status=progress oflag=sync

где bs=4M — размер блока (ускоряет запись);
if=... — путь к скачанному образу;
of=/dev/sdX — устройство флешки (замените X на вашу букву, при этом будьте очень внимательны, если перепутаете букву, ваши данные на компьютере могут быть УНИЧТОЖЕНЫ!!!);
status=progress — отображает прогресс;
oflag=sync — гарантирует корректную запись.

4. Дождитесь окончания записи и проверьте флешку:
lsblk -f /dev/sdX

Вы должны увидеть на флешке разделы с файловой системой "iso9660".

среда, 5 марта 2025 г.

ALT Linux: Установка сервера из ISO-образа

Для установки сервера ОС ALT Linux скачайте последний доступный образ ISO с сайта производителя, загрузитесь с него и следуйте дальнейшим шагам:

Выберите пункт начала установки ОС ALT Linux:

Выберите язык интерфейса ОС и сочетание клавиш для изменения раскладки клавиатуры:

Подтвердите лицензионное соглашение:

 
Укажите часовой пояс, время, дату, адрес сервера NTP при необходимости:

Выберите диск для установки системы:

Выполните разметку диска:

Укажите необходимые компоненты для установки:

Ожидайте завершения инсталляции:

Укажите настройки загрузчика:

Выполните настройки сети:

Установите пароль для "root":

Создайте пользователя для входа в систему (например "sa"):

После завершения установки компьютер перезагрузится:


четверг, 30 января 2025 г.

Arch Linux: Добавление сертификата доверенного центра

Чтобы добавить самоподписанный сертификат в доверенные, выполните команду:
sudo trust anchor --store my-cert.pem

Просмотр всех сертификатов в списке доверенных:
trust list

Для быстрого нахождения требуемого сертификата перенаправьте вывод в утилиту "less" и уже воспользуйтесь поиском внутри неё через "/".

Удаление сертификата из списка:
sudo trust anchor --remove "pkcs11:id=%AA%BB%CC%...DD%EE%FF;type=cert"

где "pkcs11:id=%AA%BB%CC%...DD%EE%FF;type=cert" - URI вашего сертификата (ищется с помощью "trust list"). Также можно вместо URI использовать имя файла вашего сертификата, как при добавлении.