一个邪恶计划。。。。

#1

之前在 oSC 2019 遇到一些人,聊了好多魔改操作系统的经历。我产生一个想法,可不可在任意 Linux 发行版中运行一个脚本,把它变成 openSUSE 呢,不管能不能用吧。不然现在换发行版总是要格式化磁盘。

1赞
#2

理论上应该是可以的
先装上yast和zypper,加入opensuse的源,之后zypper dup
但是光解决这上一个系统的包依赖等历史遗留问题就真的头疼死了
还有/etc里的配置文件,系统里的编译器、头文件等等各种东西都很难调和
而且同样的一个linux软件的安装路径,在每一个distro可能都不一样,配置文件的什么就不用说了
装在/opt里的可能还好一点

我觉得可以采取windows的方法:

  1. 把旧的系统备份起来或者建立快照,再做这种改动
  2. 只针对特定的发行版和软件进行迁移操作,把不确定性减小到最低:例如只针对于ubuntu2opensuse,只迁移系统里装的wps,intellij,clion之类好移植的软件
#3

如果不需要真的彻底改发行版的话,用lxd就行了,它官方有opensuse的image

#4

之前苏姐说的静态编译zypper(
另外就是拉个docker的rootfs,直接chroot进去跑zypper。

1赞
#5

vps2arch 了解一下…

1赞
#6

其实开始我本来打算照着写一个的,不过后边觉得zypper吃资源而且对vps这种严重同质化的东西用包管理器按部就班太浪费了,最后还是直接dd,方便快捷

#7

楼主的意思是把别的系统渗透/腐蚀成opensuse
而不是docker等等这种寄人篱下的操作

#8

我说的是用docker的rootfs,不是docker。

#9
  1. 我非常讨厌这个脚本
  2. 我身边有人已经用这个炸了两次了
#10

这个主要问题还是实现类似与 takeover.sh / vps2arch 的功能,但是两个我都跑失败过所以还是只给出个操作方法比较好(

#11

我是说这就是个干类似事情的鲜活栗子可以方便地参考
不过话说回来我都这样搞过差不多两位数的机子了貌似只挂过一两次(

#12

takeover还是比较好的,可以用于非lvm机器动态调整root分区的大小。
至于装系统……我一般是dd个NET安装镜像上去,然后重启直接进shell拉镜像再dd。alpine遇到过好多bug。NET镜像唯一的问题是grub的画面太fancy了,vnc的时候经常翻车,魔改一个grub.cfg可解。

#13

我觉得 @tommyvct 说得很有道理,只做 Ubuntu 到 openSUSE 的迁移就好了。 毕竟现在各种 VPS 都是 Ubuntu,很多笔记本也是预装 Ubuntu。能从 Ubuntu 转 openSUSE 就能解决大部分需求了。虽然这种需求存不存在还是个问题。总之,我就是要挖坑。

#14

我虚拟机装了个ubuntu server 1904,发现竟然能直接装rpm和zypper!
但是也有一个问题,我添加了15.1的源后只更新了100多个包
最大的问题是,zypper dup安装包的时候rpm会segmentation fault,而且不是一个,不是两个,是大部分
看来问题并没有那么简单

#15

按住了C社薅吗…好像也行,不过我觉得还是苏姐说的静态zypper或者chroot rootfs比较好。
反正说到最后,这活是个比较脏的活,要持续投入精力维护。静态zypper很有可能有生之年都能用,rootfs的话官方有维护,都是比较好的选择(大概

#16

其实我感觉拿红帽centos和匪多拉开刀比C社的来的要容易一点

#17

先联合 Redhat 家干掉 Ubuntu 派。之后再 RPM 内战。

#18

yunhe大佬这是看准了红帽难成气候(

#19

我还是王道征途
用容器吧