Рубрики
*NIX информация Конспект

Конспект: Astra Linux

Коротко об астре:

Все как в debian

Архитектура дистрибутива linux:
Основные компоненты:

ядро
библиотеки
оболочка
приложения

ядро:

Управления устройствами.
Планировщик процессов.
Модуль управления памятью.
Модуль межпроцессорного взаимодействия, позволяет запущенным процессам обмениваться информацией.
Виртуальная файловая система, взаимодействие между различными ФС.
Сетевая подсистему.

Системные вызовы:

Удобные системные вызовы, например системные вызовы:
для управления файлами;
для управления процессами и потомками
для управления синхронизации процессов; 
для управления памятью;
сети;
устройств;
прочие;

Яркий представитель системного вызова open() что бы открыть какой то файл.

Библиотеки:

Для уменьшения кодовой базы, если есть уже какая то библиотека делающая одну функцию, принято пере использовать ее в другой программе.  
Служат для упрощения взаимодействия пользователя с программами, а программ с ядром, когда не достаточно системного вызова:
libcrypt - функция шифрования
libm - множество математических функций
libc - практически все другие библиотеки используют ее

Оболочка:

Текстовая:
shell - bash, zh, sh and etc.

Графическая:
GUI - fly, gnome, kde and etc.

Приложения:

Различный софт
офис - libreoffice
etc

Дистрибутивы:

RedHaT - rpm
Debian - deb
Astra как и Ubuntu основана на Debian
К RH - относятся CentOS, Fedora, openSUSE
К Debian - относятся Astra, Ubuntu, Kubuntu, Xubuntu, Mint и другие

Первая версия Astra linux  появилась 30 июня 2010года.
Дистрибутив был основан на Debian 5.0

Astra linux существует две версии Common Edition и Special Edition.
Common Edition  - не  сертифицированная, с успехом можно использовать на домашнем ПК.
Special Edition  - сертифицированная, корпоративная версия, серверы и рабочие ПК.

Уровни защищенности ОС Astra linux
Орел - базовый уровень
Воронеж - усиленный (МКЦ)
Смоленск - максимальный уровень защищенности (МРД)


Версия дистрибутива
Первая цифра - 1 и 2 x86-64, 3 IBM System Z, 4 - ARM, 6 - MIPS, 8 - Эльбрус
 

Гиде скачать Astra linux SP:

https://dl.astralinux.ru/astra/stable/
https://dl.astralinux.ru/astra/stable/2.12_x86-64/iso/

Запись флешки:

https://rufus.ie/ru/

Grub2

UEFI - пришёл на смену BIOS
GPT - основная таблица разметки дисков, пришел на смену MBR
Grub2 - основной загрузчик ОС

/boot/grub/grub.cfg - основной конфиг файл, в ручную не редактируют, его правит ультилита /usr/bin/grub-mkсonfig
/usr/bin/grub-mkсonfig -  для генерации использует файлы из каталогов /etc/grub.d и /etc/default/grub

Восстановление загрузчика astra:

0. Грузимся с любого liveCD
1. Создаем каталог и монтируем в него раздел с системой
cd /
mkdir old
mkdir /old/dev
mount /dev/sdaN /old
mount --bind /dev /old/dev
chroot /old
/sbin/grub2-install /dev/sda
2. 

rc-local


cat > /etc/rc.local << "EOF" 
#!/bin/sh
sleep 2

echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo "performance" > /sys/class/devfreq/fde60000.gpu/governor

exit 0
EOF


chmod +x /etc/rc.local

systemctl enable rc-local
systemctl start rc-local
systemctl status rc-local

Производительность диска:

# disk write
time dd if=/dev/zero of=test.img oflag=direct bs=128k count=1k conv=fdatasync

# disk read
echo 3 | sudo tee /proc/sys/vm/drop_caches
time dd if=test.img of=/dev/null bs=128k 


Включить ssh

systemctl enable ssh
systemctl start  ssh

Проверить графику:

Првоерка графики:
su - astra -c "DISPLAY=:0 glxinfo | grep -E 'OpenGL vendor|OpenGL renderer'"

Запуск шестеренок:
su - astra -c "DISPLAY=:0 glxgears"

systemctl:

systemctl status mysql - проверить состояние сервиса mysql 
systemctl start mysql - запустить сервис mysql
systemctl stop mysql - остановить сервис mysql
systemctl reload mysql - перезагрузить конфигурацию сервиса mysql
systemctl restart mysql - перезагрузить сервис mysql
systemctl restart squid  - перезагрузить сервис squid
systemctl try-restart mysql - перезагрузить сервис mysql, если она запущен
systemctl kill mysql - убить службу

systemctl list-units - покажет все юниты(демоны,сокеты, и тд)
systemctl list-units -t help - отобразить все возможные варианты
systemctl list-units -t service --all - вывести все сервисы
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl list-units -t help - отобразить все возможные варианты
systemctl list-units -t service - вывести на экран активные сервисы и их состояние
systemctl list-units -t target - узнать запущенные таргеты

journalctl - посмотреть журнал
journalctl _PID=1 - посмотреть информацию о процессе 1
systemd-analyze blame - посмотреть время загрузки сервисов

systemctl enable squid - добавить в автозапуск squid
systemctl disable mysql - убрать из автозапуска mysql


Панель управления -> Система -> Инициализация Системы

Время:

Чтобы изменить текущее системное время, зону:
timedatectl set-time YYYY-MM-DD HH:MM:SS
timedatectl set-timezone TIMEZONE

Вы можете получить список доступных часовых поясов, запустив:
timedatectl list-timezones

Показать время:
timedatectl status 

LOG

journalctl --list-boots - просмотреть журналов загрузки
journalctl -b  - история с момента запуска системы
journalctl -b 0 - просмотреть журнал начиная с текущего старта системы
journalctl -b -1 - просмотреть журнал предыдущей загрузки

journalctl -p 0 - посмотреть события emergency
journalctl -p 2, journalctl покажет все сообщения с уровнями 2, 1 и 0. (alerts, emergency, critical)

journalctl -f  - чтобы следить за логами
journalctl -xe  - открыть журнал на последней записи
journalctl _UID=0 - следить за логами  пользователя с UID=0

journalctl _COMM=sshd - поиск по sshd
journalctl _COMM=sshd -o json-pretty поиск по sshd в JSON
journalctl _COMM=cron - история запуска по cron
journalctl _COMM=cron --since=«date» --until="date"  - история запуска по cron

journalctl -k - посмотреть сообщения от ядра Linux за текущую загрузку
journalctl -k -b -2  - посмотреть как система загружалась в предыдущую загрузку

journalctl --since "2015-01-10" --until "2015-01-11 03:00"  - просмотр журнала за определенный период времени
journalctl --since 09:00 --until «1 hour ago» - просмотр журнала за определенный период времени (с 9 утра и до момента, час назад)
journalctl --since yesterday - просмотр журнала за определенный период времени (со вчерашнего дня)


journalctl --disk-usage
journalctl --vacuum-size=1G

systemctl list-units --type=service - покажет названия сервисов

journalctl -u NAME.service - просмотреть логи от NAME.service
journalctl -u NetworkManager.service - просмотреть логи от NetworkManager.service

!!! можно просмотреть лог приложения, указав его исполняемый файл
journalctl /usr/sbin/nginx --since today - просмотреть все сообщения от nginx за сегодня


Логи по пользователю и id процесса
journalctl _PID=ID_process
journalctl _UID=ID_USER
id -u username


Логи по пути процекссах
journalctl /usr/bin/docker 


Фильтры ошибок:
0 - EMERG - система не работоспособна
1 - ALERT - требует немедленного вмешательства
2 - CRIT - критическое состояние
3 - ERR - ошибка
4 - WARNING - предупреждение
5 - NOTICE -обратите внимание
6 - INFO - информационное сообщение
7 - DEBUG - отложенная печать
journalctl -o err -b  - команда выведет все ошибки при текущей загрузки


journalctl -f - журнал в реальном времени

Сеть:

В этом файле находятся файлы конфигурации для каждого из ваших соединений:
/etc/NetworkManager/system-connections

Файлы конфигурация:

/etc/aliases - база данных почтовых псевдонимов. Формат: псевдоним пользователь
/etc/aliases.db - после заполнения /etc/aliases и выполнение команды newaliases
/etc/hosts.conf - содержит параметры разрешения доменных имен
/etc/hosts - в этом файле можно прописать IP-адреса и имена узлов
/etc/host.allow - разрешить доступ хоста
/etc/host.deny - запретить доступ к сервисам хоста
/etc/hostname - имя узла
/etc/motd - приветствия для пользователя
/etc/network/interfaces - ручная настройка интерфейсов (требует отключения NetworkManager)
/etc/resolv.conf - серверы имен nameserver IP-address
/etc/services - база данных сервисов
/etc/NetworkManager/system-connections -  конфигурации для каждого из ваших соединений