本人用 Linux 发行版的一些疑惑

37 天前
 voydomnvd
各位彦祖们,分享下你们对我这个场景下 Linux 发行版使用的看法呗~

需求如下:
硬件:
台式机-KVM 宿主机用途,linux 系统;
笔记本-瘦客户机(spice/rdp 客户端用),系统 windows/linux 都可
用途:
台式机:
1 、目前( AlmaLinux 9 )用来做 KVM 宿主机用,系统选择 Linux ,刚需是 qemu+KVM+Spice+QXL 。KVM 使用方式从 原 virt-manager -> qemu-kvm 命令,原因是 virt-manager 无法以脚本保存虚拟机配置每次导入硬盘还得重新点点点各种配置,qemu-kvm 可以,不太想用 libvirt 是因为它好复杂,它的 xml 参数含义和 virsh 和 virt-install 命令选项,在 man 里面查看,内容是 man qemu 所有选项的 N 倍,其次 libvirt 也是 qemu-kvm 套娃只不过多了 cpu pinning 和存储池、多网络配置,而且它的网络配置还不是直接/etc/sysconfig/if-*里面保存,得运行虚拟机才能查看到的。
2 、目前( Fedora 40 )没有兴趣折腾 PVE ,虽然 PVE 号称主打管理 KVM 方便的 type1 虚拟化宿主系统,最终应该也是调用 qemu-kvm 去跑吧(个人猜测)。虚拟机需要 1 个 windows 装微信、office 和其它国产毒瘤软件,虽然 linux 可以装,但还是做系统隔离这些毒瘤软件吧

笔记本:用来访问虚拟机桌面,刚需是 spice 和 rdp 客户端,非刚需是 chrome 看看视频,系统无要求,Arch 、Fedora 、Debian Testing 、Windows 都行

我的疑问是:
台式机的系统用什么 Linux 发行版?
1 、想使用尽可能原始的发行版派系,例如 Debian 及其衍生版 Ubuntu 、Linux Mint 等,RHEL 及其衍生版 RockyLinux 、AlmaLinux 等,Arch 及其衍生版 manjaro 等,这三大派系我会这么选择:Debian 派系选择 Debian ,不太考虑其衍生版本,喜欢原始一点别瞎改,尤其是 Ubuntu(内置 snap 还带广告、经常提示错误报告),RHEL 派系选 AlmaLinux ,因为 RHEL(没钱买,不想白嫖它的开发者订阅),Arch 派系选择 Arch ,不考虑其衍生版。虽然存在即是合理,长江后浪推前浪。尽可能选祖宗发行版是因为站在巨人的肩膀上(基于原始祖宗版)说明还是巨人更强。
2 、qxl 驱动的支持 qxl 的性能在 windows 虚拟机里面就是强,毫无卡顿,但 RHEL9 及其衍生版开始移除了 spice 协议的软件,无 qxl 可用。但 AlmaLinux 10 会重启 spice 功能。Debian 带有 spice 和 qxl 。Arch 和 Fedora 也带有,就想不明白为什么 RHEL9 系开始就没有。
3 、本人 Linux 使用经历,但不是很深的那种经验,Ubuntu(1 年) Fedora(2 年) -> Almalinux(2 年) -> Debian(1 年) -> Arch(没有,但后续将大大折腾这个发行版)
4 、目前使用 debian 不习惯的地方,包管理 dnf history 功能还是放不下 Debian 系是 apt 倒也没有不好用就这个功能没有找到替代。防火墙 firewalld 用得惯、iptables 也能用,Debian 也可以选择 ufw 和 iptables ,ufw 用不惯,但现在有了 nftables ,后续学习 nftables 才是上上之选。另外就是配置文件的位置,debian 和 rhel 都针对上游软件挪来挪去,可能是 rhel 系用惯了,老是找 rhel 里面的文件路径。

RockyLinux 9 使用 spice 方案: https://forums.rockylinux.org/t/spice-support-was-dropped-in-rhel-9/6753
AlmaLinux 10 将使用 spice: https://wiki.almalinux.org/alesco/meeting-minutes/2024-08-21.html
6150 次点击
所在节点    Linux
75 条回复
donaldturinglee
36 天前
@voydomnvd Arch 的 debian 的衍生发行版,可以基本无缝切换。
voydomnvd
36 天前
@donaldturinglee 感谢分享你的见解。我可以理解这么不,Arch 和 debian 系使用习惯可以统一,Arch 和 RHEL 系使用习惯不那么统一,需要额外适应其他内容是么?
aminobody
36 天前
笔记本 arch, 台式机 manjaro
jqtmviyu
36 天前
@voydomnvd #41 以前 centos 资料多, 现在 centos 变 steam, 当然选同样资料多的 debian. ubuntu 是商业公司, 印象差. 至于大蜥蜴, 好像就欧洲那边用得多吧.

至于服务器选滚动版, 那不是和自己过不去吗? 滚挂了咋修, 桌面还能 livecd, 服务器是想进机房?
donaldturinglee
36 天前
@voydomnvd 是这样的,两个不同系的 Linux 发行版用起来会比较割裂
sunnysab
36 天前
@lindt99cocoa “如果长期不更新版本,再更新就会出问题” 已经是误解了,最近几年的 arch 半年滚一次都不会出问题

emmm 我的笔记本前天就滚挂了…间隔两三周左右,同时更新了显卡驱动和 kde 的一些包,但没有更新内核。现在 sddm 上没有办法输入密码。
不过台式机仍然使用 arch ,还是很喜欢滚。
youknowiam
36 天前
我用 gentoo 作 kvm 宿主机,qemu+libvirt 管理,上面跑了几个系统,还不错
nuk
36 天前
要用虚拟机就别折腾主机,pve 就是最佳选择
wniming
36 天前
我物理机用 fedora ,虚拟化用 virt-manager libvirt 那一套,这一套其实也没有特别复杂,学会了之后用起来还是很方便的,备份虚拟机配置就是拷贝一下 xml 的事,libvirt 的网络配置规则可以用这条命令查看:iptables -L -t nat -n ,本质上跟 docker 的网桥没区别,而且你完全可以不用 libvirt 的网桥,自己手动创建一个,我一般都是用我自己创建的,因为我的虚拟机都需要其他机器通过 ip 直接访问,libvirt 默认的网桥是做了 nat 的,只有本机才能访问。
voydomnvd
35 天前
@wniming 我是 firewalld 没看到 libvirt 配置的 default 网络规则在哪里,所以我是手动创建网桥。
另外,拷贝的 xml 能在重装虚拟机重新 virsh define 使用么,应该会报些错误吧?一旦出了错就要查阅 xml 各种 libvirt 语法了,也是不小的知识量哦
voydomnvd
35 天前
@jqtmviyu 原来你选择 debian 的理由是因为资料跟当时的 centos 一样多。
不是服务器选择滚动版,而是担心选择 AlmaLinux/RockyLinux 是否会不靠谱导致又变成 stream 滚动版 AlmaLinuxStream/RockyLinuxStream
voydomnvd
35 天前
@donaldturinglee #65 是 Arch 切换至 Debian 的割裂感 小于 Arch 切换至 RHEL 系的割裂感?抱歉,因为我没有用过 Arch ,所以想从过来人那了解下 Arch 切换不同派系的割裂感见解
wniming
35 天前
@voydomnvd
> 拷贝的 xml 能在重装虚拟机重新 virsh define 使用么,应该会报些错误吧?

不会,我经常这么用,还没遇到过报错的情况,不过如果给虚拟机直通了 pci 设备或 usb 设备,在 define 后肯定是需要改改的。

说实话我几年前刚开始学习虚拟化技术时想法跟你现在一样,觉得 libvirt 这一套很复杂懒得学,还不如自己手动配 qemu 命令,后来学会了 libvirt 后发觉用起来是真的方便,现在基本只有在做虚拟机相关的研究时才手动配 qemu 命令。
voydomnvd
35 天前
@wniming 所以你的使用方式是,初次建立虚拟机用 virt-manager ,后续需要重新导入或者重装虚拟机的时候就 virsh define example.xml ,额外调点参数搞定?那有没有需要阅读 libvirt 的 xml 参考手册的地步?
wniming
35 天前
@voydomnvd 确实如你所说的方式,我偶尔会看 libvirt 的 manual ,因为有些配置是用 virt-manager 配不出来的,比如把 usb 端口(而不是 usb 设备)直通给虚拟机,再比如给 virtiofsd 指定 idmap ,再比如给虚拟机配置大页内存等等。

我觉得 libvirt 方便的其中一个原因是可以远程管理其他机器上的虚拟机,比如有如下命令:

virsh --connect qemu+ssh://d@10.0.0.4/session start --console fedora # 这个可以启动 10.0.0.4 这台机的 fedora 虚拟机,并且连接到串口控制台

virt-viewer --connect qemu+ssh://d@10.0.0.1/session win10 # 这个可以直接连接到其他机器的 windows10 虚拟机,不需要在 virt-manager 里操作。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1094458

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX