Usrmerge/HowToTest: различия между версиями
Строка 34: | Строка 34: | ||
(set -x; apt-repo; rpm -qa; apt-repo test 344990) >/tmp/3install.log 2>&1 | (set -x; apt-repo; rpm -qa; apt-repo test 344990) >/tmp/3install.log 2>&1 | ||
</pre> | </pre> | ||
Удалять {{pkg|vim-common}} приходится из-за известной баги [[altbug:49541]], которая мешает протестировать миграцию. Если вы полагаетесь в работе на vim, не беда: другие текстовые редакторы, в том числе {{pkg|neovim}}, никак не затронуты. Если vim-common у вас уже отсутствует, ничего удалять не требуется. | <small><s>Удалять {{pkg|vim-common}} приходится из-за известной баги [[altbug:49541]], которая мешает протестировать миграцию. Если вы полагаетесь в работе на vim, не беда: {{pkg|vim-minimal}} остаётся, другие текстовые редакторы, в том числе {{pkg|neovim}}, никак не затронуты. Если vim-common у вас уже отсутствует, ничего удалять не требуется.</s> Начиная с 17 апреля 2024 {{pkg|vim-common}} не конфликтует с {{pkg|vim-minimal}}. Если вы при тестировании устанавливаете {{pkg|filesystem}} версии 3 на более ранней ревизии сизифа, по-прежнему потребуется удалить {{pkg|vim-common}}.</small> | ||
* Прислать получившийся файл {{path|/tmp/3install.log}} на [mailto:arseny@altlinux.org?subject=%5Bu-hier-convert%5D%20apt-repo%20test%20344990 почту] тому, кто будет это читать, делать выводы и отлаживать процедуру. :) | * Прислать получившийся файл {{path|/tmp/3install.log}} на [mailto:arseny@altlinux.org?subject=%5Bu-hier-convert%5D%20apt-repo%20test%20344990 почту] тому, кто будет это читать, делать выводы и отлаживать процедуру. :) | ||
Текущая версия от 12:52, 17 апреля 2024
Введение
В прошлом веке, на заре линуксостроения, в системах на базе Linux сложилась ситуация, где часть системных файлов, распространяемых в пакетах и не изменяющихся при естественной работе системы, была упакована под /usr/{bin,sbin,lib,lib64,...}, а другая под /{bin,sbin,lib,lib64,...}. Например, /usr/bin/gedit упакован под /usr, программа /sbin/ip для настройки сетевой подсистемы Linux — вне /usr, а программа из того же пакета /usr/sbin/ss — снова внутри. 🤷 Какого-либо чёткого критерия, определяющего, должна ли программа лежать вне или внутри каталога /usr, не существовало; мейнтейнеры принимали решение произвольно. Позднее для сохранения такого произвольного разделения некоторые подводили гипотетические обоснования, не подкреплённые практикой и пользой для администратора, и практика устоялась. Более подробно об этом рассказано на отдельной странице: введение, FAQ.
Никакой пользы в сохранении этого разделения нет (хотя некоторые участники Team высказывали иное мнение, возражения которому изложены на той же странице). С точки зрения как разработчика и мейнтейнера, так и квалифицированного администратора, это разделение имеет смысл убрать, чтобы упростить иерархию системных файлов и исключить возможные внутренние несовместимости, и помещать все неизменяемые файлы в пакетах под /usr. Но, чтобы избавиться от этого технического долга, нужно много сил; подготовка Sisyphus к изменению заняла на момент написания текста более 8 человекомесяцев. По этой причине операцию откладывали, пока могли.
Сейчас, в апреле 2024 года, мы ведём активную подготовку к выпуску одиннадцатой платформы Альт. В течение цикла поддержки репозитория p11 мы планируем, в частности, обновлять пакет systemd, который начиная с версии 255 не поддерживает упаковку, описанную в предыдущем абзаце. Поэтому до выхода p11 нам нужно не только ликвидировать эти дублирующие друг друга пути в Sisyphus, но и организовать аккуратный переезд всех уже установленных систем.
Используемый в системах Альт пакетный менеджер rpm в силу недостатков его реализации сам не справится, и cp -a тоже. В репозиторий выложена специальная программа, которая максимально бережно переносит на место все системные файлы, которые нужно, и заменяет каталоги /{bin,sbin,lib,lib64,...} на ссылки внутрь /usr. Но возможные ошибки в алгоритме переноса способны привести к трудновосстановимой порче программ, библиотек и прочих файлов в системе, поэтому перед тем, как выложить в Сизиф, желательно её протестировать на максимально широком круге инсталляций.
Нас интересуют любые системы на базе Sisyphus, а особенно те, что на базе серверных редакций (где много пакетов с файлами вне /usr), и долгоживущие системы с нестандартным набором пакетов (в отличие от свежеустановленных).
Как помочь тестированию
- Иметь на руках установленную систему на Сизифе. Обновление с других репозиториев мы собираемся тестировать позднее.
- Можно, конечно, и систему на p10 таким образом попробовать обновить до Сизифа, но на сегодня (12 апреля 2024) это отлажено гораздо хуже.
- Рекомендуем воспользоваться средством резервного копирования, например, timeshift, и начать с подготовки снимка текущего состояния системы. Если что-то пойдёт не так, можно будет без потери данных вернуться к снимку.
- С привилегиями суперпользователя дать следующие команды (рекомендуем скопировать и вставить в терминал):
apt-get remove vim-common apt-get update && apt-get install usrmerge-hier-convert (set -x; apt-repo; rpm -qa; apt-repo test 344990) >/tmp/3install.log 2>&1
Удалять vim-common приходится из-за известной баги altbug:49541, которая мешает протестировать миграцию. Если вы полагаетесь в работе на vim, не беда: vim-minimal остаётся, другие текстовые редакторы, в том числе neovim, никак не затронуты. Если vim-common у вас уже отсутствует, ничего удалять не требуется. Начиная с 17 апреля 2024 vim-common не конфликтует с vim-minimal. Если вы при тестировании устанавливаете filesystem версии 3 на более ранней ревизии сизифа, по-прежнему потребуется удалить vim-common.
- Прислать получившийся файл /tmp/3install.log на почту тому, кто будет это читать, делать выводы и отлаживать процедуру. :)
После этого, если миграция прошла успешно и файл не заканчивается сообщением об ошибке, попробовать получившуюся систему на прочность: сможет ли она успешно перезагрузиться? запускаются ли программы (в уже запущенных шеллах надо дать команду hash -r)? корректно ли работают make-initrd, update-kernel? Вообще проверьте всё, что придёт в голову и касается перемещённых файлов.
Всем, кто откликнется, заранее большое спасибо!