[已解决]请问从CentOS转到SUSE需要注意哪些问题?

大家好,
最近因为公司有要求使用 SUSE, 确切的说是使用 SLE, 所以我需要先学习和熟悉 SUSE 系统.
我大概用了 3 年 CentOS 操作系统 (不过, 我其实对 Linux 还是一知半解, 很不像话…) 首先是我注意到自己有一些用户粘度的问题, 包括包管理器 yum 的习惯,chkconfig 和 systemctl 的习惯,service 服务名的习惯…

我想向大家询问这些问题:
1, 除上面的用户粘性问题外, 在使用 SUSE 的过程中, 我还需要注意哪些问题?
2,openSUSE 和 SLE 有什么特别的区别吗? 我们这边培训的讲师是华北地区总代理公司的, 但是他似乎对 openSUSE 很不屑一顾, 说" 不要用 openSUSE 啊, 这玩意和我们的 SLE 可不一样"… 不过我看不出来究竟哪里不同…
3, 我在 /etc/sudoers 文件中添加了 sun ALL=(ALL) ALL, 后用 sun 的身份登陆到系统中, 输入 sudo yast2 指令后系统提示我输入的是 root 帐户的密码, 而输入密码后也会提示我找不到 yast2 命令, 并让我尝试 command-not-found yast2, 输入后得到提示 yast2 在 /sbin 目录下…
4,SUSE 终端模式提供了一个本地化方案 ----fbiterm, 这个和 fbterm 有什么关联吗? 能否烦请提供相关的文档资料?

其实我的基本功并不牢靠, 还望各位不吝赐教!

谢谢!

优先使用 YaST … … 恩… … 装软件建立服务器都可以用 YaST。你可以用 YaST 搜索带 YaST 字样的软件,那些是 YaST 的组建,基本上功能很齐全。

桌面的话你原来用什么在 openSUSE 下也用什么就好了,按着个人习惯来。openSUSE 提供各种桌面都很优秀,不一定非要 KDE,当然如果你本来就是用 KDE 的更好。

SLE 没用过不知道和 openSUSE 有什么区别,但是应该区别不大,毕竟同一批人搞的。除了多了系统定制和后期服务感觉应该没有什么区别。当然 SLE 的软件要旧一点,以及 SLE 没有 KDE。稳定性什么的我觉得也不会有大差,openSUSE 本来稳定出名,除非是对你的硬件支持有问题,这种情况倒是不能完全排除。

openSUSE 也是用 systemd 的,可以一样的用 systemctl。实在有区别看配置文件,openSUSE 的配置文件说明非常详细,可能是最详细的了。

YaST2 在 /sbin 是为了安全考虑,其实 Linux 就应该是这样的,权限高的软件放在 /sbin 下,而默认用户不会把这个目录放在 PATH 里… … 直到 Fedora 为了简化目录带头合并了 /sbin 和 /bin… …

谢谢指导,
最后一点我还是不太明白,因为很多 /sbin 路径下的程序是普通用户也可以用的(比如 ifconfig, 其实即便是 SUSE 的 YaST 程序普通用户也可以开启,只不过可选操作不那么多而已),我很好奇,sudo 这个程序是为了让普通用户执行一些或者全部的 root 权限命令的一个工具,而内部机制记得一开始也是以当前用户的密码为基准(毕竟不可能所有人都知道 root 账号的密码)赋予 root 的权利,如果每次执行 sudo 指令就要输入 root 的密码,就相当于 sudo 这个功能是废了的吧?因为就相当于在用 su - root 了?……
SUSE 系统总不会是推荐用户用 root 来执行一切管理任务的吧?

这些事难道不就是 root 该干的事吗?

额。。。
已经没关系了,可能是第一次安装的时候哪里没有设置对,在用 sudo 命令的时候输入的是 root 的密码而不是 sunb3(我的用户名是 sunb3)的,我还以为这是 SUSE 的特性……

你搞错了, sudo 要求输入的是用户自己的密码,而不是 root 的密码。

作为企业用户来说,既然是公司要用的是 SLE,那么就你就应该去了解学习 SLE,openSUSE 顶多只能算做你自己的兴趣爱好。

我没有搞错,我改写了 /etc/sudoer 文件
sunb3 ALL=(ALL) ALL
然后我以 sunb3 登录系统,输入 sudo ifconfig
系统提示的是要我输入 root 的密码,输入之后提示我 ifconfig 不存在…

虽然我不是很熟悉 SUSE,但这种通用又基础的命令应该还算是了解的,所以提示我输入 root 密码时我突然觉得不知所措

另外
SLE 和 openSUSE 的最主要区别究竟是什么呢?
之前 SLE 的讲师浪费了我们很长时间,我看那个讲师对 openSUSE 很不屑的样子,一开始以为 openSUSE 与 SLE 相比莫非存在很严重的短板吗?可到底他自己也根本不明白 SLE 到底比 openSUSE 强在哪里……他根本说不出个所以然来。

是因为有一个 HA 的光盘、有一个 Geo 光盘吗?可其它发行版也有高可用和异地部署拓展集群的配置啊;
是因为有很强大的图形界面吗?可这名讲师示范了这么多 openSUSE 不方便的地方,在我看来那些都只不过是展示了 Gnome2 和 KDE 的区别而已
那……是因为 YaST2 可以在文本模式中非常直观的配置吗?可我看 openSUSE 的 YAST 也可以非常直观的去配置啊
是因为 SLE 提供更多可靠的文档吗?可 openSUSE 的文档汉化的也蛮不错的啊,一看就懂

如果 SLE 和 openSUSE 没什么区别,如果两者的区别只不过是在于 SLE 可以很简单的 mount 一两张 CD 就可以安装 IDC 环境,而 openSUSE 则是要稍微费些周章去编译安装再配置组合策略,那我看这两者就是一点区别都没有——自然学 openSUSE 和 SLE 就没什么区别……

需要输入 sudo /sbin/ifconfig 哦,因为 /sbin 不在用户的 PATH 里(他在 root 的 PATH 里),sudo 会获得 root 权限但不会继承 root 的 PATH。所以会提示找不到命令。

最简单的方法就是在你的 .bashrc 里加入 PATH=$PATH:/sbin:/usr/sbin

或者输入 ifconfig 直接用 TAB 补全。

另外 openSUSE 的 YaST 和 SLE 的 YaST 应该是一样一样的,你同样可以在 openSUSE 中启动 YaST 的文本模式:-)

在我看来区别就是 SLE 是公司支持,而 openSUSE 是社区支持:-)当然,这是指【售后】。系统我真的觉得不会有太大差别,SLE 就是从 openSUSE 来的。但 openSUSE 和 SLE 的接近度应该是远高于 Fedora 和 REDHAT 的。

1赞

你还真是理解错了。请看下 man sudo 或者
help.ubuntu.com/community/RootSudo

你可以推理下,如果用户知道 root 密码了,那岂不是可以直接 su 了? 那还要 sudo 来控制权限干嘛?
只能说 sudo 的提示信息误导用户。

额……其实理解的误区就在这里,之前我不知道是怎么设定的,我的情况如下:

1、root 的密码是 ABc123
2、sunb3 的密码是 123
3、我用 sunb3 登录到系统终端, 然后输入 sudo ifconfig
4、系统提示我输入 root 的密码(我知道正常情况下应该输入的是 123)
5、我输入 123 系统反馈密码错误
6、我输入 ABc123,系统反馈:找不到 ifconfig 命令, 并让我尝试 command-not-found ifconfig
7、输入后得到提示 ifconfig 在 /sbin 目录下…

所以我应该是第一次安装系统的时候在哪里设置错了?所以导致这种奇特的现象出现,所以那时候我才会觉得“会不会是 SUSE 发行版本的差别”…现在系统重新安装了一次就没事了,问题无法重现,也就没有什么截图,所以导致了现在这么一大堆的扯皮…不过我现在已经在这方面没有任何疑问了……

您第二个问题回答的特别好,我需要知道的就是这个概念。因为之前 Bruce.Auyeung 说公司要求用 SLE 我就应该学 SLE 而不是 openSUSE,这让我非常好奇这“两个”系统的区别究竟在哪里。其实我认为如果 SLE 和 openSUSE 的区别只是支持在公司或社区的话,这个区别其实相当于没有,因为公司的维护人员里大概每 10 人中就至少有一个是社区的“志愿者”,负责企业版与社区版的沟通联系,这也是为什么很多公司的发布版和社区版非常密切的原因……

其实在我看来一个系统的区别主要看其核心产品在哪里,比如 RedHat 和其它社区发布版(Fedora、CentOS)的区别大主要是有很多 RedHat 自有的模块(比如 AT&T 通讯类发布集中管理模块、媒体流管理模块、RAID 备灾模块等),这些模块的有无是与社区发布版最主要的区别。再比如 OracleLinux 和其 Communiti 版最大的区别是其随版本一起附加的 RAC One Node、RAC 异地拓展集群方案、GoldenGate、SafeGuard,这类公司版与社区的最大区别就是这些东西你在社区版基本就找不到——因为这些都是公司维护版本的核心产品——是软件,不是系统。而核心产品在系统上的话,其实社区支持和公司维护支持就没有什么本质区别了,只是相当于选择一类客服待遇……

总之,非常感谢……

我觉得我没有理解错,具体您可参考上面那部分我写的回复

另外,恕我冒昧,我个人建议您今后还是不要推荐别人看 man 手册内容,这样显得很不友好,而且多数情况下只能让问题无解……原因有二:
1、可能有些人不懂外语,亦或者他们也无暇于了解具体原理和基本信息,让一个“实 (lan) 用 (duo)”主义者去翻看 man 手册无非是增加了时间成本且无解——如果世界上什么都能用 FAQ、Manual 解决,那还要专家做什么?
2、有些人在一些公司中的发布版本中、甚至在社区发布的版本中是提交过几个版本的某部分 man 手册中文化文档的,以他对 man 文档结构的了解,他完全可以确认自己的问题一定不会出现在 man 手册的描述中——如果能在 man 手册中找到症结,那还需要去问吗?

输入的就是 root 密码,都提示你输入 root 密码了。我知道有些发行版默认设置是输入用户密码的,但 openSUSE 不是的。提示找不到命令就是 PATH 的问题。sbin 不在 普通用户的 PATH 里。

是输入 root 密码还是用户密码是可以设置的,具体我也忘了,你看看 sudoers 里的说明:-)。我之前有研究过,就是在 sudoer 里设置,我记得还有帖子的,我给找找。

因为 openSUSE 一般是个人用,所以默认安装的时候他会勾选 root 密码与用户密码为同一个,大多数人应该就是这样设置的。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

找到了,[ 分享 ]su 和 sudo 的不同 ,你看四楼的说明:

2赞

呃……这…………我就糊涂了……

我继续说明这个问题————虽然它应该已经算是解决了吧……

1、我两次安装 OpenSUSE,root 密码均为 ABc123,而 sunb3 的密码是 123
2、第一次安装配置好后,每当执行 sudo 的时候,只有输入 ABc123 的时候才会让 sudo 执行完毕,而不会提示密码错误让我重新输入——虽然 bash 报命令没找到(这的确是用户 PATH 的问题);
3、而现在,也就是第二次安装配置好 OpenSUSE 之后,我执行 sudo ,然后只要输入 123,sudo 就会执行完毕——不是 ABc123——而且这次也不会报命令找不到了————所以我认为应该是第一次安装配置的时候哪里搞错了,或者忽略了才会出这个问题……

而我怀疑第一次可能是配置错了,也是因为最开始我是安装的最小系统和 KDE 基础——而且手动取消过一些我认为没必要的包的安装,而第二次安装的是默认的 KDE,没有任何修改……

按照我的理解,sudo 程序的正常运行应该是输入用户的密码,也就是 123
可按照您的说法,岂不是 sudo 程序应该输入的是 root 的密码,也就是 ABc123?.……如果真是这样,也就相当于是 sudo 的功能等于 su - root -k “” ——这样 sudo 就失去了意义…………

所以我觉得,我现在——也就是第二次安装后 sudo 功能才恢复了“正常”,应该已经没问题了……

  1. SLE 和 openSUSE 的区别在于付费支持和付费定制,尤其是后者。SUSE 的策略就是大企业用 SLE 配合它们的服务,中小企业去用 openSUSE 啊。如果你的讲师不这么认为,我觉得他需要回炉再造一下。

  2. SLE 的 YaST 和 openSUSE 的 YaST 的基础代码都是一样的,但是拥有的模块不一样。SLE 有些模块是一般用户用不到的(比如 S390,普通用户不可能弄台 IBM 最贵的那种服务器上桌面吧),甚至你付费还可以得到自己的模块。openSUSE 下没有这些模块有些复杂的服务比如 HA/ 虚拟化你就要动手去改配置文件。当然绝大部分 YaST 模块的代码还是开源的(github.com/yast),就看你愿意不愿意用 OBS 给 openSUSE 打个包而已。

1赞

非常感谢,我学到了新的概念……付费定制,这个的确是从没想到的概念…………
我看我们的讲师是挺看不起 OpenSUSE 的样子,不过对 SLE 却有很大的“爱”……我觉得如果他能把 SLE 的这个特性说出来估计我也就没有这样的疑问了……

总之,真的非常感谢!

付费定制是很普遍的情况啊,比如淘宝腾讯的服务器可能需要比一般企业需要的并发高得多的并发,千万级可能都不够,要亿级,那可能代码风格都会影响运行速度… 还有比如,超算。难道 RedHat 不是这样?内核级别的优化不是单个企业在没有平台商参与的情况下做的来的吧?而这种优化 / 定制,普通企业根本用不到,平台商自己去做成通用的完全就是浪费资源。

我觉得如果你的观念还停留在软件在所有 Linux 系统上都是一样跑的,那只能说你效力的企业还不够大… 确实有些极端情况是需要系统去适应软件而不是软件去适应系统的…

再比如 PPC/PPC64 架构,一般电脑也没有啊,openSUSE 就可以没有这个版本,你看 Debian 支持一堆架构,除了 i386/i586/i686/x86_64 其它有多少下载量呢?但 SLE 就必须有,因为 IBM 的服务器全是这个架构。

总之,SLE 就是 SUSE 公司提供的一种平台,它们公司卖的是基于这个平台的种种东西。如果你的需求就只是一个平台而已,那 openSUSE 也可以啊。

2赞

谢谢,这个对我来说的确蛮新鲜的……

以我在 RHEL 的接触上来讲,感觉 RHEL 只提供了必要的模块——当然也有一些部署手册、文档、还有 API 等,然后我们公司把那些模块搞过来部署,之后建立一个初始框架,里面有服务的平台、计算的平台、运维的平台,然后我们根据客户的需求再去定制然后并入我们的运维系统监控什么的……

所以你一说定制,我就感到很新鲜……

因为 openSUSE 免费的版本 无法带给他丰富的提成吧