我现在有一个Funtoo系统,但是想要迁移(返回)到Gentoo。如果可能的话,在安装过程中保持一个可用的系统(不要使用活动CD从头开始重建)。这两个系统都应该是~amd64。
我发现了一个旧的描述的人谁做了相反的方式。在我看来,这些步骤似乎是:
/usr/portage/。emerge --syncemerge -e @system)。emerge -uND @world)我有错过什么吗?
那些档案呢?init脚本(例如网络接口和配置)中是否可能存在不兼容?我是否应该期望UEFI在引导过程中出现问题(使用grub)?基因内核有什么不同吗?
发布于 2018-06-06 21:48:39
好吧,首先,你有什么可松的?如果它不工作,你仍然可以进行新的安装。
不用说,你需要备份重要的项目。如果您想要回顾一下,甚至可能会对/etc进行存档。
就我个人而言,每当我尝试一些激进的东西时,我都会提前将根文件系统同步到一个单独的磁盘上。每当发生严重问题时,我只需将其同步回来;)。将根分区安装在单独的挂载点上,以防止递归到所有已安装的分区。运行如下:
rsync -av --delete /mnt/root/ /mnt/backup恢复:
rsync -av --delete /mnt/backup/ /mnt/root只要确保备份文件系统是linux类型(不是FAT或NTFS),就可以上下正确地传输权限、符号链接和文件所有权。
虽然从来没有亲自做过,但您可以尝试以下选项作为指导方针。上面的一些评论暗示了不同的编译器配置文件,但其中大部分只是gcc和CFLAGS在make.conf中的使用标志,我看不出真正的问题。
你可以尝试的,但没有个人经验,是这样做的repo.conf方式。创建一个单独的目录,如/usr/gentoo,并将vanilla移植树放在那里。
文件/etc/portage/repos.conf/gentoo.conf:
[DEFAULT]
main-repo = gentoo
[gentoo]
location = /usr/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
priority 10对Funtoo来说,也应该有类似的东西,而且优先级较低。运行emerge --sync之后,这两棵树将彼此共存。如果存在相同的版本包,那么具有较高优先级的回购将获胜(理论上)。您可以强制选择包,方法是将所需的repo后缀如下:
emerge sys-devel/gcc::gentoo使用此设置,您可以一步一步地移动到Gentoo。来自这两个存储库的配置文件都可以供选择,因此您可以在选择Gentoo配置文件时尝试一些emerge --pretend命令,使用system等。出现gcc、从Gentoo树移植等等。如果您只需确保GCC以相同的system(根据您的喜好编辑make.conf )重新出现,并且保持相同的CFLAGS,您可能甚至不需要清空系统树。
也许你想读GCC升级指南和/usr/share/portage/config/make.conf.example。
最后,您可以删除funtoo的repo.conf条目并执行emerge -uND --newrepo @world。
在过去,当我做一些大的轮廓改变,我使用这个方法。
emerge -uND @world),处理@保存-重建集和去清洁。/var/lib/portage/world移动到用户定义的集合中。这可以是一组,或者如果您想要组织的话,集合的类别。例如,我创建了3组,可以在流程的不同阶段使用。sys-boot/grub
sys-kernel/gentoo-sources
[network tools etc]app-editors/vim
app-portage/gentoolkit
[...] # All the rest在迁移之后,确保/var/lib/portage/world和word_sets都是空文件。
emerge --depclean以摆脱所有被@world拉进来的包/etc/portage/package.use。(把文件(S)移到某处,如果你打算以后再使用它的话)。USE=行中的make.confdefault/linux/amd64/17.0emerge -uND @world && emerge --depclean您将处于尽可能小的配置中,对于Funtoo来说,冲突的风险最小。repos.conf中)emerge @boot并完成您需要做的事情,以实现内核、grub等(按照手册)--这将为您提供一个完全重新启动的Gentoo系统。如果您想在此时进行测试,请重新启动。make.conf中重新启用Set标志,并可能在package.use中打包特定的标志。emerge -uND @world @admin @desktop && emerge --depclean:如果一切顺利,你已经成功地把Funtoo转到了Gentoo!为了回答剩下的问题;在包的重新安装过程中,移植将检查/etc/中的文件是原始文件还是修改文件。如果安装后未对其进行修改,则portage将只替换它们。/etc/init.d中的文件也是如此。这些文件最终都属于一个包。包重建应该最终给出正确的版本。
修改后的配置文件由配置保护保护。这些需要使用像etc-update这样的工具进行更新。
我知道这是个老问题,可能已经帮不上行动了。不过,我对这个话题很感兴趣。如果有人能找到这个答案,给它一个实际的尝试,那就太好了:)。
https://unix.stackexchange.com/questions/109162
复制相似问题