" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1993
Просмотры материалов : 7286837
 
Миграция внутри семейства Astra Linux (18.07.2023). Печать E-mail
2023 - Июль
18.07.2023 10:49
Save & Share
Любая миграция сложна. "Простой" переход с HTTP на HTTPS - 3 месяца. Миграция с Windows на Linux - 2 года. Миграция с OpenSuse v.12.1 на Astra Linux CE v.2.12.43 - 9 месяцев аврала. Миграция между Astra Linux SE v.1.4 на Astra Linux SE v.1.7 - только началась. И я уже в аду, как исполнитель (опять. Ад - здесь, на Земле; а черти - заказчики; а котлы - профессии). Это как с Windows 98 на Windows 7 перейти: разница в версиях Астры 10 лет.



10-летняя инструкция к Astra Linux SE v.1.4 по установке и настройке ОС и необходимого софта - занимает 14стр. За неделю пристального изучения ОС, в параллель с типовыми испытаниями (будет отдельная тема про этот треш), удалось выстрадать лишь одну страничку для инструкции 1.7. При этом ОС не изучена нормально (только прицельные проверки) - но именно такое изучение поставило крест на шансе быстрой миграции.

Идея звучала наивно до безобразия: взять новую Астру, запилить туда старый ГИС Оператор, старую среду разработки - и дело в шляпе. Однако почти дошел до победного конца - но получил обухом по голове:
- старый ГИС все-таки встал (и даже заработал) - хоть и потребовал дополнительной установки порядка десятка пакетов (на самом деле, надо 2 - но все решают зависимости);
- старый Qt Creator v.5.3 успешно встал. И даже компилятор, отладчик и сборщик приложения установились с репозитория Астры 1.7 (не без помощи какой-то матери при определении, какой же именно пакетик отвечает за это, а какой за то);
- бинарники, собранные в 1.4, успешно запускались в 1.7 (пока без БД и настроечных файлов).

Но:
- пакеты из репозитория 1.4 не устанавливаются в 1.7 (ядро 3.16.0-16 несовместимо с 5.4.0-54);
- именно компилятор, отладчик и сборщик приложения являются главарями разработки, а не Qt Creator (который, по сути, является только графическим интерфейсом для разработчика). Как итог - все исходники всех 31 модулей программного комплекса пошли лесом. Сколько там править, удалять и добавлять - неизвестно никому. Но в попытке исправить ошибки в лоб, пришло понимание: много. Очень много;
- установщик программного комплекса потерпел фиаско, требуя пакет БД SQL postgres-9.3, отсутствующий в репозитории 1.7, - и успешно не работает даже с установленным postgres-11. А без БД SQL нет и программного комплекса;
- так как 1.7, в сравнении с 1.4, не содержит встроенной среды разработки, - породился мозговынос с корректной установкой новой версии Qt 5.15.2.

Поэтому и эта миграция растянется на месяцы. А если учесть, что после этого еще и тестировать все придется очень тщательно (программный комплекс состоит из 31 модуля по 50-300КБ текста каждый) - не исключено, что на годы.
1.0. Сравнение Astra Linux SE v.1.4 и v.1.7.0:
- успешно работает на старом AMD Athlon X2 250 с 2ГБ RAM;
- объем после установки с выделением всех дополнительных программ - 7.39ГБ, стандартная установка - 7.08ГБ;
- при установке нет опции среды разработки. Но компилятор и отладчик не содержатся во внешнем Qt Creator v.5.3.run - их установка с репозитория 1.4 приводит к ошибке вида (на примере «apt-get install gcc g++ make»: «E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты»). Установка же их с репозитория develop 1.7 приводит к невозможности скомпилировать исходники от 1.4. Получается, Qt Creator - всего лишь оболочка для набивания текста: отладчик и компилятор - главные враги при миграции с одной версии Qt на другую;
-  архиватор xArchiver заменен на Ark. Теперь успешно распаковывает архивы, сжатые максимально архиватором 7z (в т.ч. составные);
- нельзя отмечать пункт "Ядро hardened" в Выборе программного обеспечения, во избежание требования неизвестного дополнительного установочного диска или краша установки (результат зависит от других выбранных опций). Данный баг воспроизводится только на реальных ПК;
- онлайн-репозитории заблокированы для РФ производителем - дополнительные пакеты можно брать только с "диска" Develop;
- "диск" имеет размер 11.9ГБ и представляет собой архив tgz. Способов доставки распакованных файлов на ОС 2: поместить на жесткий диск под рутом и выставив права 777 (удобнее), создать ISO и подключить к виртуальной машине. В менеджере пакетов Synaptic выбрать "Правка->Добавить компакт-диск…" и «Обновить» в случае ISO, в случае директории - указать ее путь в списке репозиториев (в /etc/apt/sources.list добавить строку «deb file:///astra_develop 1.7_x86-64 main contrib non-free»);
- зависимые пакеты, показываемые QApt при двойном щелчке по deb-файлу, стоит устанавливать только через менеджер пакетов, если репозиторий develop не скопирован на жесткий диск. QApt пишет о якобы установленном зависимом пакете - а по факту его нет - что приводит к неустановке пакета необходимого. Однако установку пакетов лучше делать через QApt при подключенном репозитории Develop: он сам подхватывает зависимые пакеты автоматически;
- сразу настраивает адаптер Wi-Fi (на примере USB D-Link DWA-125);
- не работает DHCP;
- DNS не работает при верных ручных настройках сети. Как исправляется - неизвестно;
- при ручном вводе и сохранении сетевых настроек, странно отображает маску 255.255.255.0 как 24;
- во время тестирования дистрибутива умерло 2 жестких диска, каждый день по одному (у одного загрузочная запись слетела, другой физически рассыпался). Оказалось совпадением: дискам >13 лет;
- содержимое флешки теперь доступно по адресу /run/user/1000/media;
- вместо juffEd используется Kate – корректное отображение текста;
- вместо qpdfview используется Okular – корректно печатает выборочные страницы;
- k3b хорошо записывает диски, в т.ч. загрузочные;
- genisoimage умеет создавать загрузочные ISO-образы;
- если подключено 2 монитора, они больше не моргают при использовании трея;
- разрешение монитора не сбрасывается, значки по рабочему столу сами по себе не перемещаются;
- Nvidia X-Server больше нет. Успешно определяются видеокарты, не определяемые в 1.4 (Radeon HD4870, GeForce 560Ti) и другие (GeForce 8600GT, GeForce 6500). Но при переходе с новой видеокарты на старую нужно, чтобы разрешение рабочего стола поддерживалось в обеих видеокартах (иначе изображение сплющивается по вертикали и становится артефактным). Также на широкоформатных мониторах нельзя выставлять режим 640x480: изображение искажается горизонтальными полосами;
- корректная печать при любой комбинации включения-выключения ПК и принтера;
- раскладка клавиатуры больше не влияет на выполнение команд вида Ctrl+C, Ctrl+V.

2. Установка ОС Astra Linux SE v.1.7 (очевидные вещи типа «нажать Далее» не указаны, как и выбранные по умолчанию значения).
2.1. Загрузочный диск ОС «Astra Linux Special Edition v.1.7 ''Смоленск''»:
- в виде DVD, файла .ISO “Astra Linux SE v.1.7.0.iso” или “Astra 1.7.iso”, архива “Astra Linux SE v.1.7.0.7z”;
- дата дистрибутива, согласно файлу \dists\1.7_X\Release: «Fri, 11 Jun 2021 12:37:06»;
- размер ISO: 3,58ГБ (3.851.223.040Б (3.23ГБ);
- MD5 ISO с DVD-оригинала: 659a34caf83ae0bfe9e123e3bb831278.
2.2. «Диск» разработчика ОС «Astra Linux Special Edition v.1.7 ''Смоленск'' Develop»:
- в виде файла “devel-1.7.0-11.06.2021_12.40.tgz
” или составного архива “Astra Linux SE v.1.7.0 Develop.7z.00x”;
- дата файла, согласно файлу \dists\1.7_x86-64\Release «Fri, 11 Jun 2021 13:09:02»;
- размер архива: 11,8ГБ (12.703.517.704Б);
- MD5 архива: 536dbea6aa694ed5324cad5ad7915494.
2.3. Алгоритм установки:
- если 1.7 ставится поверх 1.4, нужно предварительно выделить неразмеченное место под новые разделы 1.7. С этим справляется только одна внешняя программа: Paragon Hard Disk Manager 15 Premium в расширенном режиме (в составе загрузочного DVD WinPE от Стрельца);
- имя компьютера: astra-имя_с_маленькой_буквы;
- имя вашей учетной записи: имя_с_маленькой_буквы;
- пароль для нее: 12345678;
- метод разметки: Авто – использовать весь диск;
- дополнительные настройки ОС: снять галки "Запрет трассировки ptrace" и "Запрос пароля для команды sudo";
- (если спросит) установка системного загрузчика GRUB на жесткий диск: Да;
- пароль для GRUB: 12345678.

3. Установка ГИС «Оператор» и ГИС «Конструктор» (на клиенте или локальной машине, диск называется «ГИС» или «GIS», файл образа - «ГИС Конструктор для Qt Designer SE v.11.08.2014 (с исправленной кодировкой имен файлов)»):
- установить пакеты для оператора: libqt4-designer, libqt4-qt3support;
- установить пакеты для дизайнера: libqt4-multimedia, libqt4-test, libqt4-scripttools, libqt4-svg, libqt4-help, libqt4-dev-bin, qt4-linguist-tools, qt4-qmake, libqt4-dev.

4. Установка среды разработки Qt v.5.15.2 (GCC 8.3.0 64bit): установить пакеты qt5-default, qtcreator, gdb, g++, cmake, cmake-qt-gui, clang, libqt5webkit5-dev (убедиться, что gcc и make поставились вдогон); обязательно перезагрузиться. Создать новый проект и убедиться, что он собрался и запустился.

5. Алгоритм настройки.
5.1. SWAP 32ГБ для выходного формуляра:
    5.1.1. Выполнить команды «sudo –i», «swapoff –a», «fallocate -l 32G /swapfile», «chmod 600 /swapfile», «mkswap /swapfile», «swapon /swapfile»;
5.1.2. «mcedit /etc/fstab»: закомментировать запись о предыдущем SWAP ("UUID...swap...") и вписать новую "/swapfile none swap sw 0 0 ";
    5.1.3. Перезагрузиться и проверить наличие SWAP нужного размера ( -h).
2.4.1. Учетная запись:
- войти под имя_с_маленькой_буквы. Разблокировать root, сняв галку «заблокировать» и задав пароль 12345678 (Пуск→Системные→Политика безопасности→ Пользователи→root (с опцией «Системные»)). Больше учетная запись имя_с_маленькой_буквы использоваться не будет. Все дальнейшие действия проводить в root.
2.4.10. Прочее:
- если требуется снять блокировку экрана при простое — правый щелчок по пустому месту рабочего стола→Свойства→Блокировка→«Блокировать экран через»;
2.5. Неисправимые ошибки:
- если свободное место на системном разделе закончилось, и учетная запись Root не активирована – без сторонних загрузочных носителей свободное место не освободить: ОС не грузится, зависая на черном экране с мигающим курсором. Если же загрузился под Root консолью – команда «find / -size +200M -exec du -sh {} ‘;’» покажет большие файлы >200МБ, которые можно будет удалить командой «rm». Но удалить нужно много файлов: от 5% объема диска (при старте системы они подо что-то резервируются) – удаление 1 файла объемом 2ГБ на ситуацию не повлияло, т.к. составляет всего 0.2% от объема диска;
- браузер Mozilla Firefox не может распечатать часть PDF-документа – только целиком;
- если флешка вставлена при загрузке ОС – ее невозможно примонтировать, пока не перевоткнешь;
- звук через передние разъемы не передается;
- если сетевой ресурс открыт как папка и перестает быть доступным - при обращении к нему проводник зависает (завершение процесса не помогает - только перезагрузка);
- текстовый редактор LibreOffice не годится для редактирования TXT-файлов и прочих простых файлов: дописывает с начала файла какую-то точку, которую можно увидеть только в MC. В результате, отредактированные в нем файлы SH вели себя некорректно, а в каких-то других исполняемых файлах из-за невыполнения первой строчки не работало все остальное содержимое;
- из ОС проверить корневую файловую систему невозможно - только при загрузке в режиме Recovery командой fsck, предварительно отмонтировав системный раздел. Файловая система NTFS проверяется командой «ntfsfix /dev/sda2»;
- ОС не может быть установлена с флешки (все известные способы создания флешек не дали результата – только загрузочное меню с последующей циклической ошибкой после выбора графической установки);
- если на сетевом ресурсе создать файл или вставить при копировании - он станет отображаться в папке только тогда, когда в нее перезайдешь (то есть, создается иллюзия отсутствия файлов);
- при копировании файлов, ОС не проверяет наличие свободного места на диске - и начинает копировать файл 20ГБ при свободном месте 10ГБ, пока не забьет весь раздел, - и только потом сообщит об ошибке. То же самое с ограничениями файловых систем: при попытке записать файл 10ГБ в FAT32 - запишет 4ГБ и закончит копирование без уведомлений;
- второй монитор моргает, если он аналоговый. Решение - замена кабеля VGA на DVI;
- Acronis не может склонировать физический диск с ОС напрямую (скрытно не копирует загрузочную запись). Но можно создать клон диска-исходника и накатить его на диск-приемник;
- по каким-то причинам, разделы после инсталляции всегда недоступны для изменения размера, даже если все другие разделы удалены, - в любой программе изменения размера дисков Ext4. В версии 1.4. такого не наблюдается. Это станет серьезной проблемой при миграции с 1.7 спустя годы: потребуется уничтожение 1.7 на жестком диске. Если 1.7 установлена поверх 1.4 – раздел 1.4 тоже становится недоступен для изменения размера;
- встроенный драйвер принтера может не соответствовать принтеру (на примере HP CP1525n: драйвер CP1525n не работает – но работает CP1520).

(добавлено 19.07.2023) Проблема еще хуже:
- самому проекту требуются дополнительные пакеты (например, libqt5webkit5-dev) и один из 266 пакетов с вхождением в имени "qt5" (потребуется определить, какой, методом последовательного приближения);
- ГИС Оператор ставится вместе с ГИС Дизайнер, содержащим исходные тексты для внедрения в проект. И эти файлы не компилируются. То есть, их безошибочная установка и работа ГИС Оператора ничего не значат. Нужно писать головняку, что без указания новой версии ГИС и ее приобретения - дальнейшая миграция на ОС 1.7 невозможна;
- но приложить скрины к служебной записке не удается. Ранее это было получено на Qt Creator v.5.3.1 - на Qt Creator v.4.14.0 в составе Qt v.5.12.2 этого получить не удалось. Мало того, встает вопрос: нахрена я ставил Qt Creator v.5.3.1, когда надо было v.3.1.1 в составе Qt v.5.3.

(добавлено 21.07.2023) Дополнил пункт 1 об Астре 1.7. Пока анализироваться административно больше не будет (хоть и есть еще пункты для сравнения с 1.4): с исходниками вопросы решать надо.

(добавлено 30.07.2023) В последний раз обновил информацию по тестированию 1.7. Отсутствие DNS и взаимодействия с ПК в сети не позволяют идти дальше. В целом, как и ожидалось: часть багов ушло, часть появилось - а часть за 10 лет так и не исправили (например, баг слепого обрывочного копирования файла при нехватке места - это треш).

(добавлено 28.08.2023) Такой же баг со встроенными видеодрайверами Intel: нет изображения при запуске установщика. Решается только внешней видеокартой, для теста будет выписана GeForce 710.

(добавлено 29.08.2023) С GeForce 710 тест успешен. Выяснилось, что между подверсиями 1.7.0 и 1.7.4 - разница 22мес.

Еще баги:
- Intel отказалась от поддержки режима Legacy в своих встроенных ядрах (проверено на UHD 630). Для установщика ОС 2 варианта: вообще не запустится или запустится, но без изображения на экране (черный). Требуется внешняя видеокарта. Начиная с версии 1.7.0.4 данная проблема исправлена (1.7.0.3 - избирательно работает: например, с UHD 620 - ошибка «out of memory»);
- если просто скроллить папки в папке – то при нажатии Ctrl+V не происходит вставка в родительскую папку. Требуется именно кликнуть по любой дочерней папке;
- при безопасном извлечении флешки, появляется текстовое сообщение об успешном отключении – но сопровождающееся большим красным квадратом с белым крестом, что вводит в заблуждение;
- поведение Qt, запускаемой через sudo и без него, – разное: например, через sudo не видно инклуд QPrinter - при условии, что файл на месте и соответствует INCLUDEPATH проекта.

(добавлено 05.10.2023) С данного момента баги астры пишутся в статью о фактической миграции - пока не иссякнут силы.
Обновлено ( 05.10.2023 17:41 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru