Развлекаемся с Postgres 11 на AstraLinux

Для начала создадим папку, в которую качаем необходимые пакеты. Может занять некоторое время, минут 5.

mkdir -p /opt/distr/postgres
cd /opt/distr/postgres
wget -r --no-parent --no-check-certificate https://repo.postgrespro.ru/pgpro-11/astra-smolensk/1.6/

Качаем ключ репозитория.
wget --no-check-certificate https://repo.postgrespro.ru/pgpro-11/keys/GPG-KEY-POSTGRESPRO

Читать далее «Развлекаемся с Postgres 11 на AstraLinux»

Как ввести Astra Linux в домен

Системные – Менеджер пакетов Synaptic
1. Настраиваем репозиторий.
Настройки -> Репозитории.
Отключаем первый репозиторий (он ссылается на диск), подключаем все остальные.
2. Устанавливаем пакеты:
Поиск: fly-admin-ad-client
Ставим галку, жмем применить, жмем применить на верхней панели.
Profit!

Alt+F2, набираем fly-admin-ad-client, появляется интерфейс, вводим в домен.

Дорожная карта по обеспечению безопасности критических объектов

На основании имеющегося у автора опыта и знаний привожу перечень действий и документов для объектов критических информационных инфраструктур (КИИ):

  1. Принятие решения о наличии объекта (объектов) КИИ.
  2. Создание постоянно действующей комиссии по категорированию.

Читать далее «Дорожная карта по обеспечению безопасности критических объектов»

Обновление кластера Postgre

ERROR: The default postgresql version is not 12 required by libgvmd

Посмотрим, какие кластеры у нас есть:

sudo pg_lsclusters

У меня их сейчас 2. Новый кластер, который был создан автоматически, мы удалим:

sudo pg_dropcluster --stop 12 main

Обновляем старый кластер:

sudo pg_upgradecluster -v 12 11 main

Удаляем старый кластер:

sudo pg_dropcluster 11 main

При желании\необходимсоти удаляем старую версию PostgreSQL:

apt-get remove postgresql-11

Создание локального репозитория в Astra Linux

Полагаю, что это подходит для очень многих Linux-дистрибутивов. Но до появления Астры в моей жизни локальные репозитории были просто не нужны.

1. Зачем мне локальный репозиторий?

Затем что у меня на машине нет интернета. И не предвидится. И во всей сети нет интернета. Поэтому

2. Из чего делать репозиторий?

Из установочного образа. Или выкачать репозиторий из интернета и притащить на компьютер без интернета на внешнем носителе (осторожно, где-то 25-30 Гб). Качаем:

~$ wget -r --no-check-certificate https://dl.astralinux.ru/astra/frozen/orel-2.12/2.12.14/repository/

Адрес для примера. Список актуальных репозиториев на официальной викистраничке Астры.

3. Размещаем репозиторий.

Создадим каталог /opt/repo.

~$ sudo mkdir /opt/repo

В этот каталог нужно поместить скачанные из репозитория каталоги conf, db, dists и pool.
Теперь надо отредактировать /etc/apt/sources.list. Если на машине нет интернета (а его нет), закомментируем первую строку, во вторую пишем следующее:

deb file:/opt/repo/ orel main contrib non-free

Сохранить. Выполнить

~$ sudo apt update

Если хочется сделать репозиторий доступным по локальной сети, устанавливаем http-сервер (apache), минимально настраиваем на чтение из каталога /opt/repo.
Запись в sources.list на машинах, которые мы подключаем к созданному таким образом http-репозиторию будет выглядеть примерно так:

deb http://ip-address_or_domain-name/repo/ orel main contrib non-free

Управление сетью с NetworkManager. Знакомство с nmtui

В Red Hat Enterprise Linux 8 для управления сетью по умолчанию используется NetworkManager, это демон позволяет динамически управлять сетью, ее конфигурацией и соединениями. Традиционные файлы конфигураций ifcfg также доступны.
Чтобы настроить сеть через NetworkManager можно использовать следующие инструменты:

  • Текстовый пользовательский интерфейс nmtui (консольный, про него написано ниже).
  • Инструмент командной строки nmcli (консольный).
  • Инструменты графического интерфейса пользователя, GNOME GUI.

Чтобы проверить, что NetworkManager запущен, выполните:

systemctl status NetworkManager

Чтобы настроить сетевой интерфейс без использования NetworkManager:

  • Отредактируйте файлы ifcfg вручную.
  • Используйте команды ip. Их можно использовать для назначения IP-адреса интерфейсу, но при перезагрузке вы потеряете все изменения.

Чтобы настроить параметры сети, когда корневая файловая система не является локальной используйте командную строку ядра.

Работа с nmtui

nmtui – это простой текстовый пользовательский интерфейс (text user interface – TUI) для NetworkManager. nmtui используется в терминале. Он включен в пакет NetworkManager-tui. Если он не установлен, выполните:

yum install NetworkManager-tui

Для запуска nmtui просто наберите команду nmtui. Стартовое меню выглядит так:

Здесь вы можете отредактировать настройки соединения, активировать соединение и задать имя хоста. Для навигации используйте стрелки, Tab и Enter.
Чтобы изменить настройки подключения выберите пункт Edit a connection.

Выделите интерфейс, который необходимо сконфигурировать, нажмите Tab и выберите Edit…. Откроются свойства соединения. Для ручной настройки смените значение IPv4 CONFIGURATION на Manual. Чтобы открыть настройки переведите курсор вправо на Show и нажмите Enter.


Здесь же можно поставить крестик на Automatically connect, чтобы соединение поднималось автоматически при загрузке системы и при потере соединения. После того, как необходимые настройки внесены нажмите OK. Далее для применинения настроек необходимо деактивировать соединение, затем заново его активировать. Для этого вернитесь в главное меню и перейдите в раздел Activate a connection, выберите необходимый интерфейс, переведите курсор на Deactivate и нажмите Enter. Значение изменилось на Activate, снова жмем Enter и соединение поднимается с новыми настройками.

Также можно использовать следующие команды:
Для активации соединения nmtui connect connection-name.
Для редактирования настроек соединения nmtui edit connection-name.
Если не задать имя соединения, то появится меню выбора.

Обратите внимание, что nmtui поддерживает не все типы соединений. В частности, не удастся отрелдактировать VPN, беспроводные сетевые соединения с использованием WPA Enterprise или Ethernet-соединения с использованием 802.1X.

Управление виртуальными машинами KVM

Команды, приведенные ниже могут требовать от вас рутовых прав. Это зависит от того, под каким пользователем у вас работают ВМ. У меня они работают подо мной, поэтому и рутовых прав не нужно. Мануал на русском по первоначальной установке и настройке KVM на CentOS 7 (Red Hat Enterprise Linux 7).. А здесь пример установки Red Hat Enterprise Linux 8.0 Beta под KVM.

  1. Основные команды для управления виртуальными машинами под KVM
  2. Клонирование виртуальной машины
  3. Подключение носителей (флэшек) к виртуальной машине
  4. Изменение параметров виртуальной машины
  5. Удаление виртуальной машины

Основные команды для управления виртуальными машинами под KVM

Просмотр списка виртуальных машин
virsh list --all

Запуск виртуальной машины, где vm_name – имя машины.
virsh start vm_name

Запуск окна для подключения к виртуальной машине (окно для просмотра/управления самой ОС). Если virt-viewer не запускается…
virt-viewer

Показывает использование cpu/памяти для всех запущенных VM
virt-top

Выключение VM (выключение ОС)
virsh shutdown vm_name

Помечает VM для автостарта (например, после перезагрузки хоста)
virsh autostart vm_name

Убирает метку автостарта (теперь VM не запустится сама после ребута хоста)
virsh autostart --disable vm_name

Информация о VM
virsh dominfo vm_name

Информация о разделах диска VM (займет несколько минут)
virt-df vm_name

Клонирование виртуальной машины

  1. Приостановите VM для клонирования.
    virsh suspend vm
  2. Запустите команду virt-clone:
    virt-clone \
     --connect qemu:///system \
     --original vm \
     --name vm-clone \
     --file /vm-images/vm-clone.img

    Эта операция займет несколько минут в зависимости от размера машины.

  3. По завершению, возобновите работу исходной VM:
    virsh resume vm1
  4. Клонированная машина выключена. При необходимости запустите ее:
    virsh start vm1-clone

Подключение носителей (флэшек) к виртуальной машине

Сначала определите имя вашего устройства после его подключения к хосту. В нашем случае это /dev/sdb. Затем выполните:
virsh attach-disk vm_name /dev/sdb vdb --driver qemu --mode shareable
здесь vdb – имя устройства в VM. Т.е. путь к устройству внутри VM – /dev/vdb.
Устройство можно примонтировать более чем к одной виртуальной машине. Но тут нет контроля доступа на запись, так что последствия могут быть неожиданными.
Для отключения устройства от VM выполните:
virsh detach-disk vm_name vdb

Изменение параметров виртуальной машины

Управление оперативной памятью (добавление/удаление)

Вы можете нагорячую изменять память в VM, не превышая размер, заданный при установке (параметр ram). Например, если вы создали VM с 1 ГБ памяти, вы можете динамически уменьшить этот объем не выключая VM.
Если вы хотите получить объем памяти больший, чем указывали при установке VM, то VM придется сначала отключить.

Начнем с первого варианта. Уменьшим объем памяти нагорячую с 1Гб до 512 Мб.

  1. Посмотрим какой максимум памяти на машине, выполнив
    virsh dominfo vm_name | grep memory или
    virsh dominfo vm_name | grep память
    У меня так:
  2. Устанавливаем необходимое значение памяти в KB ( 512 х 1024 = 524288 ):
    virsh setmem vm_name 524288
  3. Заглядываем в virsh dominfo vm_name и видим, что максимальный объем памяти остался прежним, а используемый изменился на 524288.

Второй вариант. Увеличение объема памяти сверх установленного при создании VM.

  1. Для этого необходимо будет изменить файл конфигурации, а сначала надо погасить машину:
    virsh shutdown vm_name
  2. Правим файл конфигурации. Выполняем:
    virsh edit vm_name
    и изменяем значение (в KB)
    У кого-то это будет:

    <memory>2097152</memory>

    У меня это:

    <memory unit='KiB'>2097152</memory>
    <currentMemory unit='KiB'>2097152</currentMemory>

    Если у вас так же, то 4й шаг не понадобится.
    Для тех, кто не работал с vi: Чтобы начать править файл нажмите кнопку Insert, когда внесете необходимые изменения нажимайте Esc, а затем ZZ (две большие Z). Язык должен стоять английский, иначе редактор команду не поймет.

  3. Перезапускаем виртуальную машину из обновленного файла конфигурации:
    virsh create ~/.config/libvirt/qemu/vm_name.xml, либо
    virsh create /etc/libvirt/qemu/vm_name.xml
  4. Проверяем память. Max.memory должна измениться, а Used Memory могла остаться прежней:
    virsh dominfo vm_name | grep memory
    Если все изменилось – прекрасно. Если нет, то теперь выполняем:
    virsh setmem vm_name 2097152 и у вас тоже все прекрасно.

Изменение количества cpu

  1. Чтобы изменить количество виртуальных процессоров необходимо отредактировать файл конфигурации VM. Для этого сначала гасим нашу машину, потом открываем файл на редактирование:
    virsh shutdown vm_name
    virsh edit vm_name
  2. Далее изменяем количество в тэгах vcpu:
    <vcpu placement='static'>1</vcpu>
  3. Перезапускаем виртуальную машину из обновленного файла конфигурации:
    virsh create ~/.config/libvirt/qemu/vm_name.xml или
    virsh create /etc/libvirt/qemu/vm_name.xml

Управление объемом диска VM (добавление диска к VM)

Мы всегда можем добавить дополнительные “диски” к своей виртуальной машине на KVM. Давайте добавим еще 10 Гб дискового пространства.

  1. Создадим пустой файл на 10 Гб (естественно, путь выбираем свой):
    dd if=/dev/zero of=/vm-images/vm_name-add.img bs=1M count=10240
  2. Выключаем VM
    virsh shutdown vm_name
  3. Добавим дополнительную запись для «диска» в XML-файл виртуальной машины. Удобно скопировать блок с описанием уже существующего диска и отредактировать значения в тегах target и address:
    virsh edit vm_name
    Например у нас было такое описание диска:

     <disk type='file' device='disk'>
     <driver name='qemu' type='raw' cache='none' io='threads'/>
     <source file='/vm-images/vm1.img'/>
     <target dev='vda' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
    function='0x0'/>
     </disk>

    Мы добавляем после него еще вот такой блок для подключения нашего нового диска:

     <disk type='file' device='disk'>
     <driver name='qemu' type='raw' cache='none' io='threads'/>
     <source file='/vm-images/vm1-add.img'/>
     <target dev='vdb' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
    function='0x0'/>
     </disk>

    В тэге target мы изменили имя устройства. Оно должно следовать за первым в алфавитном порядке (первый наш диск vda, второй будет vdb).
    В тэге address необходимо использовать уникальный адрес слота (здесь это slot=’0x06′). Проверяйте адрес слота ВСЕХ устройств, а не только дисков.

  4. Перезапустим нашу виртуальную машину с обновленным конфигом XML:
    virsh create /etc/libvirt/qemu/vm1.xml, а может
    virsh create ~/.config/libvirt/qemu/vm_name.xml

Удаление виртуальной машины

  1. Удаляем VM с названием vm-clone. Сначала выключите VM:
    virsh shutdown vm-clone
    Если VM не отвечает, либо не может выключиться, выключите ее принудительно:
    virsh destroy vm-clone
  2. Undefine the VMs configuration:
    virsh undefine vm-clone
  3. Наконец, удалите img-файлы машины.
    rm /vm-images/vm-clone.img


Если virt-viewer не запускается, возможно он не установлен. Установите его, и , заодно, virt-manager можно:

yum install virt-manager virt-viewer

Если virt-viewer ругается, что не может найти виртуальные машины, проверьте с помощью команды virsh list --all, что виртуалки есть и запущены.
virt-viewer при запуске отобразит список запущенных виртуалок:

Как скачать и установить Red Hat Enterprise Linux 8

Не так давно стала доступна для скачивания версия RHEL 8 Beta. Естественно, я не могу пройти мимо нее. Получить в пользование 30-дневную версию RHEL 8 можно по этой ссылке. По данной ссылке доступно два варианта скачивания: для тех кто не имеет платной подписки и для тех у кого она есть. У меня нет. И мой старый аккаунт почему-то не подтянулся, может он уже не активный. Пришлось регистрироваться.
Для начала необходимо иметь или завести (это можно сделать по ссылке выше) девелоперскую учетку. После заполнения всех форм на почту придет письмо для верификации аккаунта. И в ссылке выше выбираем какую версию мы хотим качать, соглашаемся на все и ждем. DVD-образ весит 6,5 Гб.
Пока качается, немного из гайда по установке:

  • Бету нельзя использовать в продакшене. Совсем.
  • У Беты нет гарантийной поддержки.
  • RHEL приветствуют отправку баг-репортов и открыты к взаимодействию.
  • Апгрейды Беты и до Беты не поддерживаются и не рекомендуются.

Образ скачан, я ставлю Red Hat 8 на виртуалке KVM. По своему-же мануалу, проблем не возникло)
Создаю виртуалку и запускаю установку:

virt-install \
--name=RHEL8 \
--ram=1024 --vcpus=1 \
--network bridge:br0 \
--disk path=/home/Lector/vm-images/vm_rhel.img,size=30 \
--cdrom /home/Lector/rhel-8.0-beta-1-x86_64-dvd.iso \
--os-variant=Linux

Если вы ставите RHEL с флэшки, то там иногда возникает проблема – инсталлятор не видит саму флэшку как установочный диск. Люди решают проблему как-то хитро и расово-верно, а я делаю все очень просто: после создания загрузочной флэшки кладу туда еще и сам iso. И потом его выбираю как источник установки.
Появляется привычное окно, жмем Install Red Hat Enterprise Linux 8.0

Выбираем язык, который мы хотим использовать в процессе установки. То ли у меня нет глаз, то ли там действительно нет русского языка.

Получаем сообщение:
“Это предварительно выпущенное программное обеспечение, предназначенное только для разработки и тестирования. * Не * используйте это программное обеспечение для любой критической работы или в продакшене.
Нажав «I want to proceed», вы понимаете и принимаете риски, связанные с предварительно выпущенным ПО, которое вы намерены использовать только для целей тестирования и разработки и готовы сообщать о любых ошибках или проблемах, чтобы улучшить эту работу.
Если вы не понимаете или не принимаете эти риски, пожалуйста, выйдите из этой программы, выбрав «I want to exit» из вашей системы.”
Но мы то все понимаем и выбираем «I want to proceed».

Попадаем в окно настроек, которые можно сделать предварительно. Проблем с секцией LOCALIZATION возникнуть не должно ни у кого. Выбираем настройку клавиатуры, язык и установки даты/времени. Чтобы принять изменение, нажмите кнопку Done в левом верхнем углу.


Переходим к разделу SOFTWARE. В моем случае Installation Source – это local media. Секция Software Selection предлагает выбрать вариант установки. В левой части представлены варианты установки: Minimal Install (сделаю в следующем посте), Custom Operating System, Server и Workstation. Я хочу попробовать Workstation.
В правой части мы видим дополнительные пакеты, которые можно сразу установить. Не хочу греть голову ( это ж не минимал))) и выбираю все. Нажимаем Done.


Дальше секция SYSTEM, которой стоит уделить особое внимание. Состоит из 5ти пунктов:

    1. В разделе Installation Destination можно выбрать разбивку диска. Здесь мы выберем авторазбивку.
    2. KDUMP по умолчанию включен, так и оставлю. KDUMP это механизм аварийного дампа ядра. Когда происходит падение системы, он фиксирует содержимое системной памяти. Это может понадобиться для дальнейшего анализа причины сбоя. Когда KDUMP включен, он резервирует небольшой объем оперативной памяти. Эта часть памяти недоступна для основного ядра.
    3. Дальше Network & HostName. Я предпочитаю настроить и включить все сразу здесь. Переводим переключатель в положение on, жмем кнопку Configure. В моем случае настройки сети приходят по DHCP. Слева внизу можно сразу задать hostname.

    1. Далее идет Security Policy. Их можно вообще отключить, переведя переключатель “Apply security policy” в положение off. Либо щелкнуть на один из профилей и нажать кнопку “Select profile”. Применение политик безопасности не является обязательным. При применении какой-либо политики устанавливается пакет openscap-scanner, как инструмент для проверки соответствия и поиска уязвимостей. После завершения установки система будет отсканирована, отчет о результатах будет сохранен в директории /root/openscap_data .


В разделе System Purpose мы можем выбрать, как будем использовать нашу систему.

Итак. Если мы все выбрали, жмем кнопку Begin Installation. Пока система устанавливается, задаем пароль рута (Root password) и заводим себе пользователя (User Creation). Пользователя сразу можно сделать администратором. Это позволит использовать sudo.

После окончания установки нам станет доступна кнопка Reboot. Жмем и наслаждаемся тем же серым цветом загрузочного экрана, но теперь с цифрой 8.))))

После перезагрузки нас ждет приятный сюрприз. Ось сразу и сама предлагает принять лицензию. Уверенно жмем, что мы согласны и попадаем на логин.

Рабочий стол довольно веселый, стоит гном. Отвечаем на несколько вопросов о настройке и идем тестить нашу ось.