[РЕШЕНО] Переход на профиль c amd64/17.0 на amd64/17.1
bagas 5 мая, 2020 - 11:00
Добрый день.
Задумался пока не жарко перейти на новый профиль с amd64/17.0/no-multilib (stable) на amd64/17.1/no-multilib (stable).
Из новости понял, что симлинк на lib -> lib64 нужно убрать, будет самостоятельная дира lib .
И еще один симлинк убрать /usr/lib/ будет так же самостоятельная дира /usr/lib
То-есть как я понял.
/lib/ вместо симлинка lib -> lib64
Переименовываем /lib64 в /lib
и
/usr/lib/ вместо симлинка /usr/lib/ -> lib64
Переименовываем /usr/lib64 в /usr/lib
Больше подводных камней не предвидится как я понимаю.
Меняем профиль на amd64/17.1/no-multilib (stable).
После запускаем пересборку всего мира emerge -auvDN world .
Ничего не забыл?
»
- Для комментирования войдите или зарегистрируйтесь
!
Нет.
Квест сложнее и заметно отличается от предыдущих эпизодов смены профиля.
Обрати внимание на пункт пять!
Читай новость полностью:
$ eselect news read N
2019-06-05-amd64-17-1-profiles-are-now-stable
Title amd64 17.1 profiles are now stable
Author Michał Górny
Posted 2019-06-05
Revision 3
A new set of 17.1 amd64 profiles has been added to the Gentoo
repository in Dec 2017. These profiles switch to a more standard
'no SYMLINK_LIB' multilib layout, and require explicit migration as
described below. They are considered stable at the moment, and we would
like to request all users to upgrade their systems. The old profiles
will be deprecated in the near future.
In the new profiles, the lib->lib64 compatibility symlink is removed.
64-bit libraries need to be installed directly to lib64. /lib
and /usr/lib become real directories, that are used for cross-arch
and native non-library packages (gcc, clang) and 32-bit libraries
on the multilib profile (which improves compatibility with prebuilt x86
packages).
Migration from both 13.0 and 17.0 profiles is supported. In case
of the former, reading the news item for 17.0 upgrade [1]
is recommended.
The migration is performed using app-portage/unsymlink-lib tool.
The following steps can be used to upgrade your system:
1. Sync and upgrade your system to the newest package versions
to reduce the risk of issues.
2. If you are still running a 13.0 profile, select gcc 6.4.0 or later
as the system compiler, source /etc/profile and reinstall libtool:
# gcc-config -l
[1] x86_64-pc-linux-gnu-5.5.0 *
[2] x86_64-pc-linux-gnu-8.3.0
# gcc-config 2
# . /etc/profile
# emerge -1v libtool
3. Install the tool:
# emerge -1v app-portage/unsymlink-lib
4. Run 'unsymlink-lib --analyze' and check the output for obvious
mistakes. If you need to perform any changes to the system, remember
to run 'unsymlink-lib --analyze' again afterwards.
[past this point do not call emerge or modify /usr manually]
5. This is a very good time to make a backup.
6. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see
what is going to happen.
7. Reboot your system. Check if important programs work.
In particular, verify that e.g. 'emerge --info' works (but do not
install anything). If you hit any serious problems, you can use
'unsymlink-lib --rollback' to revert the changes and return to
step 4.
8. Run 'unsymlink-lib --finish'. You can add '--pretend' first to see
what is going to happen but note that you're going to see a very long
list of files to remove.
9. Switch the profile, e.g.:
# eselect profile set default/linux/amd64/17.1/desktop
[at this point you can start using emerge again]
10. Rebuild the toolchain:
# emerge -1v sys-devel/gcc:8.3.0
[ repeat for other slots you will be using ]
[ if you are upgrading from 13.0 profile, also: ]
# emerge -1v sys-devel/binutils
# emerge -1v sys-libs/glibc
11. If you are using a multilib profile, rebuild all 32-bit packages.
This can be done using:
# emerge -1v --deep /lib32 /usr/lib32 /usr/lib/llvm/*/lib32
Alternatively, if you are switching from one of the 13.0 profiles
you can rebuild all packages as detailed in the 17.0 news item:
# emerge -ev @world
12. Once the last 32-bit package is rebuilt, your package manager
should remove the orphaned /lib32 and /usr/lib32 symlinks. If that
does not happen, remove them manually:
# rm /lib32 /usr/lib32
For known issues, please see bug #506276 [2]. If you have any problems
with the new profiles or the migration procedure, please report a bug
and make it block the tracker.
For more information on the layout, please see the wiki article
on AMD64 multilib layouts [3].
[1] https://gentoo.org/support/news-items/2017-11-30-new-17-profiles.html
[2] https://bugs.gentoo.org/506276
[3] https://wiki.gentoo.org/wiki/Project:AMD64/Multilib_layout
:wq
--
Live free or die
Anarchist
1 пункт тут все понятно, (обновить текущую систему).
2 мне не нужен, у меня система свежая, профиль 17,0 и gcc [1] x86_64-pc-linux-gnu-9.3.0 *
3 Установлю emerge -1v app-portage/unsymlink-lib
4 запустить анализ ошибок, unsymlink-lib --analyze.
5 не понятно, бэкап чего?
6 запускаем миграцию для профиля 17,1 unsymlink-lib --migrate , будут удалены симлинки библиотек как я понял.
7 ребут системы, проверяем как загрузится система и как чувствует портажи.
8 не совсем понятен что там будет удаляться, бэкапы директории библиотек что-ле?
9 переключаем профиль на 17,1
10 пересборка компилятора gcc
11-12 я не использую мультилиб, 32битных библиотек нет, профиль будет no-multilib.
И теперь для надежности пересобрать весь мир (emerge -auvDN world).
Такая хронология действий верная?
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.
По своей хронологии действий
По своей хронологии действий сделал, все нормально.
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.
Проблемы после миграции
Вижу, что тема старая, но...
Хочу поделиться опытом, так как при запоздалой миграции (конец 2020, начало 2021) на профиль 17.1 столкнулся со странной проблемой - разрешения системных директорий (не файлов!) становятся (0700) "rwx------". Лечится проходом по /lib/, /usr/lib/ (и, если еще где-то слетело) сменой на (0755) "rwxr-xr-x".
Когда делал миграцию в 2019, таких граблей не встречал.
umask?
А ты случайно
umask
не менял?