Доброго времени суток, дорогие друзья. Мы продолжаем развивать тематику администрирования Linux-систем на нашем канале. В сегодняшнем выпуске, я пошагово продемонстрирую процесс подключения репозиториев и последующую установку пакетов из их состава на примере сертифицированной отечественной операционной системы Astra Linux Special Edition 1.6 Smolensk.
Главной особенностью Смоленска является его закрытость и отсутствие официальных внешних репозиториев. Т.е. даже для поддержки пакетов безопасности в актуальном состоянии вам требуется скачивать образ бюллетеня и уже из него подтягивать соответствующие обновы.
Установка пакетов, интегрированных в дистрибутив, тоже представляет собой определённые сложности. Во-первых, далеко не все пакеты присутствуют на базовом диске. Поэтому зачастую приходится подмонтировать второй носитель от разработчиков.
Astra Linux установка программ. Подключение репозиториев
Благо, хоть при покупке сертифированной версии у официалов он сразу идёт в комплекте. А если всё-таки чего-то не хватает, всегда можно перетянуть часть пакетов из версии общего назначения. В данный момент актуален Орёл. Так что далее под Common Edition будем подразумевать именно его.
Во-вторых, нужно помнить, что в данной версии Linux, произвести установку пакетов можно 2 способами. Первый – это с использованием графического интерфейса и менеджера пакетов Synaptic. Ну а второй, с помощью нашей любимой командной строки. Далее мы рассмотрим оба варианта. Приступим.
Подключение дисков в Synaptic Astra Linux
Шаг 1. Начнём с лёгкого. Клацаем по звёздочке и переходим в панель управления.
Шаг 2. Слева ищем оснастку «Программы», а в ней «Менеджер пакетов Synaptic». При запуске система просит нас ввести пароль от учётной записи с соответствующими привилегиями. Делаем это и жмём «Да».
Шаг 3. Видим приветственное сообщение, говорящее нам о том, что данный менеджер служит для установки, обновления и удаления пакетов. Как раз то, что нам нужно. Закрываем окно.
Шаг 4. И на вкладке «Настройки» выбираем пункт «Репозитории».
Шаг 5. Тут показаны все источники с репозиториями на которые в данный момент ссылается Astra. В моём случае это оригинальный установочный DVD диск и бюллетень с последними обновлениями безопасности, который мы подключали в предыдущем уроке.
Шаг 6. Давайте добавим ещё один диск со средствами разработки. Напоминаю, что при покупке он также будет прилагаться к основному дистрибутиву. Жмём «Правка» — «Добавить компакт-диск…».
Шаг 7. И подключаем образ стандартными средствами VirtualBox. «Choose/Create a disk image».
Шаг 8. «Add». Ищем сам образ с пометкой devel. «Choose».
Шаг 9. В появившемся окошке жмём подключить, а затем подтверждаем вставку кликнув «Ок».
Шаг 10. Другой диск пока добавлять не будем. Жмём «Нет».
Шаг 11. И проверяем, подключился ли новый репозиторий. Да. Вот он у нас. Сразу над бюллетенем.
Установка программ в Synaptic Astra Linux
Шаг 12. Теперь давайте попробуем установить пакет с помощью Synaptic’а. Например, забьём в поиске astra-winbind. В будущем он нам обязательно пригодится при вводе машинки с Astra Linux в виндовый домен.
Шаг 13. Кликаем правой кнопкой. «Отметить для установки».
Шаг 14. Вместе с ним установится ещё куча зависимостей. Пускай. Жмём «Применить».
Шаг 15. И запускаем ракету.
Шаг 16. На всякий случай можете проверить полный список изменений перед тем, как накатывать. Но я с ним уже ознакомился ранее, поэтому жму «Применить».
Шаг 17. И жду пока система попросит вставить ей диск с Бюллетенем. Привычным движением подключаю носитель и продолжаю установку.
Шаг 18. В случае отсутствия каких-либо пакетов на данном дистрибутиве, система попросит подключить оригинальный диск.
Шаг 19. Делаем это.
Шаг 20. И дожидаемся завершения инсталляции. Winbind успешно установлен в систему.
Подключение репозиториев через терминал в Astra Linux
Шаг 21. Но работать с GUI– это как-то не трушно. Настоящие линуксоиды испокон веков воспринимают только чёрное окно терминала. Давайте вызовем его.
Шаг 22. И воткнём в тачку диск Орла. По сути, наш Смоленск – это тот же Орёл, только донельзя порезаный. А Орёл в свою очередь тот же Debian, только… Ну общем вы поняли. Как говорили нам однажды на курсах в Москве: «Те же яйца, только в профиль».
Шаг 23. Пишем команду «sudo apt-cdrom add» для монтирования подключённого диска. Он уже вставлен, так что жмём «ENTER».
Установка пакетов в Astra Linux
Шаг 24. Далее просим систему обновить список пакетов введя «sudo apt-get update».
Шаг 25. И вводим команду для установки пакета, отвечающего за создание DNS-сервера. Он сто пудов присутствует на диске с Орлом. «sudo apt-get nstall bind9». Соглашаемся с предупреждением.
Шаг 26. Ждём пока всё распакуется и проверяем корректность установки введя «sudo apt list —installed». Система покажет список всех установленных на текущий момент пакетов. Видим в списке bind9. Значит наша операция завершилась успешно.
Таким образом мы установили 2 новых пакета. Оригинальный линуксовский bind9 версии и winbind, необходимый для получения информации о пользователях виндового домена. В будущем, когда мы будем подключать Astra к серверу, данный демон окажется не лишним.
Друзья, сегодня мы научились подключать репозитории и производить установку пакетов в Astra Linux при помощи графического менеджера пакетов Synaptic, а также посредством командной строки. Надеюсь, что данный урок помог вам разобраться в принципах установки дефолтного софта в данной ОС.
В следующем видео, я собираюсь рассмотреть алгоритм настройки сети и подключить данную машинку к домену. Дайте знать в комментариях, если вам интересно, как это сделать. Ну а если вы любите линуху так же, как люблю её я, то специально для вас у меня есть отличное предложение.
В данный момент всё ещё действует 50% скидка на обучающий курс «Администрирование Linux с нуля». В нём я подробно рассматриваю базовые вопросы администрирование наиболее популярной серверной операционной системы семейства Linux. Так что, если хотите действительно погрузиться в тему линухи с головой – сейчас самое время. Ссылочка будет в описании.
>>>КЛИКНИТЕ, ЧТОБЫ УЗНАТЬ ПОДРОБНОСТИ
С вами был Денис Курец. Большое спасибо за ваше внимание. Если впервые на нашем канале – не забудьте кликнуть на колокольчик, чтобы не пропустить новые выпуски по тематике сетевого и системного администрирования. Со старичков, как обычно, по лайку. Увидимся на следующей неделе.
Всем пока.
Источник: kurets.ru
Сборка и установка Linux пакетов в российских сертифицированных ОС
Ранее в статье мы описали сборку расширений для LibreOffice. Теперь мы расскажем, как наработки были перенесены на платформу Linux, а также как решались вопросы с подготовкой пакетов для российских сертифицированных операционных систем, таких как AstraLinux, ALTLinux и RedOS.
Постановка задачи и первичная реализация
После успешной реализации нашего продукта DSS для платформы Windows потребовалось перенести наработки (в том числе и расширение для LibreOffice на C++, о сборке и установке sdk которого было рассказано ранее) на платформы семейства Linux.
Состав пакета
Соответственно, необходимо определить, что мы переносим:
- служба для связи с сервером;
- драйвер для перехвата и обработки обращений к файлам;
- служба для общения и обработки информации от драйвера;
- диалоговое приложение;
- служба шифрования;
- расширение для LO.
Сборка
Теперь, когда мы определились с содержимым, для начала соберём deb пакет.
Так как у нас есть службы — их необходимо демонизировать. Для этого используем systemd.
Изначально было принято решение для сборки deb пакета использовать checkinstall. Первый пакет был собран при помощи него. Но при добавлении сборки в CI появились/возникли проблемы с окружением сборки, зависимостями и скриптами до/после установки. Поэтому было решено, что лучше это делать через fakeroot. Эти действия, по большей части, были описаны в данной статье.
Создаём отдельную директорию, содержащую инструкции для systemd, которую после перенесём в /lib/systemd/system.
Создаём директорию с содержимым, которое необходимо перенести при установке пакета.
А также создаём директорию DEBIAN, содержащую сценарии для действий перед/после установки/удаления и control, описывающий основную информацию пакета и его зависимости.
После созданного контента выполняем fakeroot dpkg-deb —build «имя пакета».
В итоге на выходе мы имеем deb пакет с содержимым.
Установка, удаление и проверка работы
Устанавливаем его командой:
sudo dpkg -i «имя пакета».deb
sudo dpkg -r «имя пакета» (указанное в файле control)
sudo dpkg —purge «имя пакета» (указанное в файле control)
При установке переносятся и запускаются три демона (приложения, работающие фоном, аналог служб Microsoft).
Для проверки их работоспособности выполняем:
systemctl status «имя демона».service
Для примера статус нашего dssservice
Далее началось тестирование пакета и выявление всех зависимостей, которые в процессе создания не были учтены. После успешной обработки всех зависимостей выяснилась одна интересная деталь. Если мы хотим подключаться по rdp к машине, то данный функционал необходимо настроить, так как по дефолту сервера для подключения по данному протоколу нет, как на Microsoft. Самым простым способом нaстройки rdp является настройка xrdp совместно с xfce4. При настройке xfce4 используется в качестве проводника Thunar и, соответственно, пункт в ПКМ, который мы добавляли через filemanager-actions, для него не добавляется. Но решение довольно быстро было найдено — находясь в домашней директории, проходим по следующему пути:
.config/Thunar/
и там будет лежать файл uca.xml, содержащий сценарии для ПКМ.
Разворачивание пакетов в российских сертифицированных ОС
После успешного тестирования данного пакета на Ubuntu возник вопрос о работоспособности его на других ОС, использующих dpkg, как менеджер пакетов, а, соответственно, поддерживающих .deb. А, в частности, вспомнилась отечественная разработка (импортозамещение никто не отменял) — AstraLinux.
AstraLinux
С ходу установить пакет не удалось, так как наш пакет имеет в зависимостях filemanager-actions, который мы используем для добавления пункта ПКМ в Nautilus Ubuntu. Но в AstraLinux используется файловый менеджер fly, и для добавления в него мы не будем использовать filemanager-actions, пришли к выводу, что для AstraLinux будем собирать пакет без учёта этой зависимости. А для добавления используется сценарий «имя_процесса».desktop, который добавляется в /usr/share/flyfm/actions/.
Также были разрешены некоторые моменты, связанные с LKM, но их мы рассмотрим в следующей статье.
Cборка RPM
Следующей ОС стала ALTLinux. Она интересна тем, что имеет пакетный менеджер APT, но при этом вместо dpkg у неё используется rpm. А, следовательно, пора нам собрать наш пакет и под rpm.
Изначально попробовали сделать преобразование deb в rpm, как описано в этом мануале.
Alien достаточно мощная утилита, и с её помощью можно достаточно просто преобразовать пакет, достаточно только следовать её подсказкам и добавить недостающее (если она об этом попросит). В итоге при конвертации получили rpm пакет, но при попытке его установки вылезли зависимости, ссылок на которые изначально не было (позже расскажу, в чём была изюминка). Поэтому было принято решение собрать rpm пакет непосредственно средствами rpmbuild.
Сначала решили собирать не под ALTLinux, а под RedOs, так как со стороны бизнеса на неё более перспективные планы. RedOs основана на CentOS, поэтому сборку решили проводить в ней.
Часть с systemd остаётся без изменений, а вот Debian заменяем на файл «имя_проекта».spec, который содержит в себе всю информацию и зависимости из control, сценарии для действий перед/после установки/удаления, а так же описание содержимого пакета (непосредственно пути до того, что необходимо добавить).
После создания файла выполняем:
rpmdev-setuptree
переносим .spec в rpmbuild/SPECS и выполняем:
rpmbuild —bb rpmbuild/SPECS/dssservice.spec
после чего забираем из директории rpmbuild/RPMS созданный пакет.
Пытаемся установить пакет и утыкаемся в те же самые зависимости, которые были при попытке установить конвертированный deb пакет.
Как оказалось, изюминка заключается в том, что при создании rpm система подтягивала дополнительные библиотеки, и ставила их в зависимость. Чтобы такого не было — необходимо в файл .spec добавить строку после описания зависимостей:
Autoreq: no
Пробуем установить и да — победа, пакет корректно устанавливается.
Для установки rpm пакета используем команду:
sudo rpm -ivh «имя_пакета».rpm
Для удаления (без удаления пакетов, находящихся в зависимости):
sudo rpm -e —nodeps «»имя_пакета»»
RedOs
Далее необходимо разобраться с зависимостями, так как необходимые для работы наших приложений пакеты уже имеют другие названия, а также необходимо разобраться с добавлением пункта в ПКМ.
В RedOs в качестве файлового менеджера используется nemo. Для добавления в него пункта в ПКМ необходимо создать файл «имя_действия».nemo_action, в котором по аналогии с файлом .desktop (для AstraLinux) будет сценарий обработки нажатия на новый пункт меню, и переместить его в ~/.local/share/nemo/actions/, перезагрузить nemo и пункт появится.
ALTLinux
После успешного тестирования rpm пакета на RedOs перешли к формированию rpm пакета под
ALTLinux. По сути, необходимо скорректировать зависимости, так как для каждой оси пакеты будут иметь своё название, и снова понять, как произвести добавление пункта в ПКМ. Тут нам на помощь снова пришёл filemanager-actions, через который также можно добавить пункты в ПКМ и для Mate и Caja, которые как раз и используются в ALTLinux.
В итоге, мы собрали пакеты для основных, используемых у заказчика, ОС.
Заключение
В дальнейших статьях мы расскажем, почему использовали LKM и Avalonia и какие трудности из-за этого были, а также о дальнейших планах на доработку пакетов (в частности, доработка UI для ввода необходимой информации) и приложений, используемых в них.
Ссылки которые нам помогли
- ithelp21.ru/udalennoe-podklyutchenie-k-ubuntu-tcherez-rdp — неплохая инструкция, которой пользовались наши тестировщики для добавления rdp на Ubuntu
- pingvinus.ru/note/nautilus-context-menu-items — настройка nautilus-actions
- www.debian.org/doc/manuals/maint-guide/build.ru.html — сборка deb
- linux-notes.org/pishem-init-skript — Init скрипт для systemd
Источник: habr.com
Как запустить Windows приложение в Astra Linux
Для быстрого запуска блокнота в менеджере файлов кликаем на файле notepad++.exe правой кнопкой мыши и в контекстном меню выбираем пункт Отправить – Рабочий стол (создать ярлык). На рабочем столе Astra Linux появится ярлык для запуска Notepad++.
Если при нажатии на ярлык ничего не происходит, стоит посмотреть его свойства, кликнув правой кнопкой мыши на ярлыке. Затем в окне «Свойства» перейти на вкладку «Ярлык» и обратить внимание на строчку «Команда». В ней должна быть именно та же команда, которую мы только что набирали в консоли. Если это не так, поправьте:
Теперь вы можете полноценно пользоваться программой Notepad++, написанной для Windows, в операционной системе Astra Linux.
Как я уже упоминал, далеко не все Windows программы запускаются и работают из-под Wine с такой же лёгкостью. Но теперь вы знаете как проверить, будет работать под Линукс или нет интересующая вас Windows программа.
Источник: soltau.ru