openSUSE for new geekos

2013年3月22日 | Jos Poortvliet | 无许可

get it logo 几乎要到周末了,想尝试另一种 Linux 发行版吗?我们为你准备好了!

Linux 生态系统种类繁多,拥有数百种发行版,每种发行版都有其独特的优势和局限性。有些在你的系统上编译源代码,有些让你在 init 系统之间进行选择,尝试尽可能地缩小体积,试验安全解决方案等等。在治理方面也存在差异:有些组织结构高度集中,有些以精英主义的方式做出决定或投票表决。有些拥有强大的企业赞助商推动决策——而有些则没有。有些关心协作,有些不重视更广泛的生态系统,而是走自己的路。

解决方案的多样性表明人们想要不同的东西,而不同的发行版提供了这些东西。但人们会改变,他们的需求也会改变。因此,对于那些寻求更广阔发展空间的人来说,我们写了这篇文章,概述了“openSUSE 的方式”以及我们的工具与其他主要发行版之间的主要区别。 geekos!

绿色之路

与所有发行版一样,我们也有自己的目标和目标用户,最好定义为“为 IT 专业人员提供可靠的工作站”。我们努力通过开放、协作的方式交付,并且不让任何人告诉别人该怎么做。如果你想了解更多关于我们理念的细节,请参阅我们的策略

openSUSE 12.3 上周发布,现在我们用户群中的许多人已经迁移到它了。如果你以前没有使用过 openSUSE,但熟悉其他发行版,你可能需要进行一些调整,但问题不大。我们将在这里介绍 openSUSE 的独特之处,并在下面列出 openSUSE 与其他发行版之间的命令等效列表。

选择

我们希望提供合理的选项。例如,我们平等地发布了主要的 Linux 桌面环境:GNOME、KDE、XFCE、LXDE 和 Enlightenment。KDE 作为默认值仅仅意味着在安装程序中进行预选,使新用户更容易点击“下一步、下一步、下一步”。就像我们发布 Firefox 作为默认浏览器一样——但我们的服务器上提供了许多其他的选择。我们还发布了多种内核,并且已经发布了 MariaDB 和 MySQL 已经很久了。但我们并没有提供不同的 init 系统:几乎没有使用案例,因此我们认为这不值得付出额外的努力和复杂性。

简而言之,我们不会为了简单而限制选项。我们努力在提供切实利益时提供灵活性和选择,但在有意义的情况下做出决定。所有这些都秉承着将用户牢牢地置于驾驶座的精神!

提供帮助

与其它发行版一样,我们希望帮助你。在网上有大量的关于 openSUSE 的信息和帮助来源。而且由于 openSUSE 是一个 Linux 系统,其他发行版论坛和帮助来源提供的解决方案通常适用于 openSUSE,只需进行一些小的修改。

在继续之前,让我们指向一些有用的信息来源。主要的起点将是 openSUSE wiki 上的支持门户。在那里,你将被引导到,其中包括

官方文档门户有一些不错的链接,其中包含专门为 Linux 新手编写的信息。

然后还有一些我们不能忽视的非官方信息来源

……你可以在网上找到更多。

[caption id=”attachment_15590” align=”alignright” width=”300”]YaST configuration YaST 提供高级帮助[/caption]

工具

openSUSE 拥有自己的一套工具,这些工具使我们发行版的灵活性易于访问,并防止其妨碍完成任务。

YaST

其中最值得注意的工具是 YaST2。YaST 提供了一组用于各种任务的配置工具。YaST 的独特之处在于它提供图形界面和 ncurses 界面,甚至提供一个(略有限制)的 Web 界面用于远程管理。在它还是个婴儿的时候,YaST 有点控制狂,有时会覆盖用户对配置的更改,但随着它的成长,它学会了与管理员友好相处。

YaST2 使用起来很简单——在菜单或命令运行器中查找它,并提供你的 root 密码。它也是你决定安装 openSUSE 时遇到的第一件事,因为它运行整个安装过程。许多向导和配置工具都相当一目了然。请记住,你可以安装更多YaST 包——访问“软件管理”工具,然后搜索“yast”。你肯定会发现一些惊喜:用于管理 TFTP、squid、设置 DNS、NIS、LDAP、邮件和 kerberos 服务器、大量安全和企业工具等等的 UI。

当然,YaST2 并非完美无缺,因为该工具开始显露出它的年龄。UI 独立工具包和多种语言绑定很好,但也会带来它们的问题,而且很少有开发人员精通编写 YaST 组件。

[caption id=”attachment_15597” align=”alignright” width=”300”]YaST commandline YaST 也可以从命令行运行[/caption]

软件包管理

openSUSE 使用rpm 作为低级软件包处理程序,并使用zypper 作为更易于使用的前端,以及 YaST2 模块、yum、apt4rpm 和 PackageKit 作为选项。Zypper 是一个非常强大和高效的软件包管理器。它处理依赖关系问题,可能比任何竞争的打包工具都更好,速度非常快,并为最终用户提供了一个有帮助且易于使用的界面。

模式 zypper & 朋友提供模式来处理软件包组的安装。这些可以通过pattern- 前缀识别,例如 WebYaST 及其最重要的模块可以通过在 root 终端中输入zypper in patterns-openSUSE-webyast 来安装。一个更专业的技巧是 zypper 具有多包支持,默认情况下为内核启用。这确保了 zypper 始终将当前内核保留在你的系统上,直到你成功启动到新内核为止;并且可以设置为保留例如最后 2 个内核以获得更多确定性。Zypper 的速度和处理软件包依赖关系和边缘情况的能力,尤其是在考虑到 openSUSE 的另一项独特技术:Open Build Service 的情况下,非常重要。

[caption id=”attachment_15519” align=”alignright” width=”300”]game category on software.opensuse.org software.opensuse.org 上的游戏类别[/caption]

获取更多软件 software.opensuse.org 提供大约 20 万个由数千名贡献者在build.opensuse.org 上构建的软件包,这是Open Build Service 的公共实例。软件包安装可以通过 openSUSE 的一键安装技术轻松完成。你可以在上周的文章中了解更多关于 OBS 和那里软件包的信息。

专利内容和多媒体编解码器 如果你正在寻找专利内容,请查看openSUSE 社区网站或直接安装openSUSE-codecs-installer。有关NVIDIAAMD Radeon 驱动程序,请参阅此处。

安装和镜像构建

YaST 在安装期间和已经运行的系统上都提供的一个重要功能是构建和处理 LVM(逻辑卷管理器)和 RAID(廉价磁盘阵列)系统。

LVM 能够灵活地将硬盘空间分配到多个文件系统。它的开发是因为在初始分区完成后,可能需要更改硬盘空间的分割方式。YaST 识别现有的 LVM 设置,并允许你在安装期间和已经安装的系统上创建和管理它们。

RAID,或廉价磁盘阵列,是一种允许将两个或多个硬盘组合起来以增加存储空间、使用冗余来防止硬件故障,或同时提高整体磁盘性能的系统。YaST 可以查看和管理 RAID 设置,也可以通过“软件 RAID”帮助你创建它们。YaST 支持 RAID 级别 0、1、5、6 和 10。

在这里找到LVM 和 RAID 的文档

重要提示: 每次使用这些或其他潜在危险的工具时,YaST 都会在执行任何破坏性操作之前向你发出警告,但最终,由你来决定!

[caption id=”attachment_15411” align=”alignright” width=”300”]screenshot-studio-12.3-kde 在 Studio 中测试自建操作系统[/caption]

发行版构建工具

除了一个免费的操作系统之外,openSUSE 项目还开发了围绕我们发行版的工具,以降低发行版构建的门槛。我们的目标是允许其他人为私人使用、商业或社区目的构建自己的软件包和操作系统。这些工具中最著名的是Open Build ServiceKiwi

KIWI

openSUSE KIWI 镜像系统为支持的 Linux 硬件平台以及 Xen、Qemu 或 VMware 等虚拟化系统提供完整的操作系统镜像解决方案。使用 KIWI,你可以执行以下操作:

  • 创建一个经过调整的服务器设备,其中包含你的应用程序和仅足够多的操作系统组件。

  • 旋转一个只包含你需要的软件包和软件的 Live CD 或 DVD。

  • 创建一个可随时运行的 VMware 虚拟设备。

  • 创建一个 Live USB 密钥,并将你的 Linux 系统随身携带到任何地方。

  • 构建一个硬盘镜像以预加载到硬件上。

  • 构建一个新的 openSUSE 项目,例如openSUSE Medical

  • 等等…

当然,你们中的许多人可能已经熟悉著名的SUSE Studio,它通过其 Web 前端以更简单的方式完成大部分工作,从而实现对 KIWI 的访问。

OBS screenshots

Open Build Service(又名 OBS)

Open Build Service 是一个通用的系统,用于以自动、一致和可重复的方式从源代码构建和分发二进制软件包。您可以发布软件包以及更新、附加组件、设备和针对各种操作系统和硬件体系结构的整个发行版。它提供了所有协作工具,并利用开源开发模式的力量。您可以设置细粒度的访问权限,分支代码,发送合并请求和审查提交。所有这些当然都遵循 GNU 通用公共许可证 (GPL)。它以源代码、软件包和易于部署的设备的形式供您使用。您可以自由地使用、修复、扩展和重用 该代码。

差异

现在,让我们来看看这些发行版,并尝试为您提供主要差异的一些快速见解。选择您的发行版以查看命令行等效项列表

  • Ubuntu 或 Debian

  • Fedora

  • Arch Linux

  • Slackware

  • Gentoo

Ubuntu, Debian

如果您来自 Ubuntu/Debian,您会注意到 openSUSE 具有略有不同的文件系统布局,并使用许多不同的工具。YaST 已经被提及,另一个是 systemd 作为 init 系统。我们也不使用 sudo 来执行超级用户命令,而是应该发出 su 命令以在终端中创建一个永久的超级用户登录。

[caption id=”attachment_15598” align=”alignright” width=”300”]zypper help output zypper help 输出[/caption]

软件包管理

Zypper 几乎总是具有命令的“长”版本和“短”版本,例如 zypper install 可以缩短为 zypper inzypper update 可以作为 zypper up 发出。在此表中,我们将使用“长”命令,只需键入 zypper help 即可找到短版本。如果您像这样发出命令,Zypper 会为每个命令提供更深入的帮助:zypper help

</tbody> </table> 更多高级功能
**Ubuntu 命令** **openSUSE 命令**
apt-get update zypper refresh
apt-get -u upgrade zypper update
apt-get -u dist-upgrade zypper dist-upgrade
apt-get install amarok zypper install amarok
apt-get remove amarok zypper remove amarok
apt-cache search amarok zypper search amarok
apt-cache showpkg amarok zypper info amarok
dpkg -l rpm -qa
dpkg -L rpm -ql
dpkg -s rpm -qi
dpkg -S rpm -qf
在 /etc/apt/sources.list 中添加 apt 仓库 zypper addrepo <_repository>_ <_name>_ </td> </tr>
apt-get moo zypper moo
</tbody> </table> **提示**:运行更新后,_zypper ps_ 会列出已收到更新并可能需要重新启动的进程。Zypper 通常不会自动重新启动进程,以免打断您的工作,但经过 _重大_ 更新后,强烈建议至少注销并从图形桌面重新登录。 [caption id="attachment_15600" align="alignright" width="300"][![yast runlevel config](//news.opensuse.net.cn/wp-content/uploads/2013/03/yast-runlevel-config-300x209.jpg)](//news.opensuse.net.cn/wp-content/uploads/2013/03/yast-runlevel-config.jpg) yast 运行级别配置[/caption] #### systemd 和启动管理 openSUSE 使用 init 系统 systemd,而不是 Ubuntu 的 upstart,与其他发行版(如 Arch、Fedora 等)共享开发资源。以下是一些 systemd 对 upstart 命令的等效项。
**Ubuntu 命令** **openSUSE 命令**
apt-file search zypper wp
apt-get autoremove zypper rm --clean-deps <_package> _(仅清理特定软件包的依赖项)_ _ </td> </tr>
apt-get clean zypper clean
apt-get source _package_ zypper source-install <_package>_ (也安装构建依赖项) </td> </tr>
(使用 chroot) zypper --root __ - 在不同的根目录下操作 </td> </tr>
cat /var/log/dpkg.log cat /var/log/zypp/history
Apt 软件包锁 zypper _addlock_/_listlocks_/_removelock_
安装推荐的软件包 zypper _install-new-recommends_
**Ubuntu 命令** **openSUSE 命令**
ls /etc/init.d systemctl list-unit-files --type=service
initctl list systemctl
启动 __ </td>systemctl start __ </td> </tr>
停止 __ </td>systemctl stop __ </td> </tr>
状态 __ </td>systemctl status __ </td> </tr>
update-rc.d __ disable (或手动编辑文件,如果转换为 upstart) </td>systemctl disable __ </td> </tr>
update-rc.d __ enable (或手动编辑文件,如果转换为 upstart) </td>systemctl enable __ </td> </tr> </tbody> </table> **运行级别处理** 在 systemd 中,运行级别通过“目标单元”公开。您可以这样更改它们:# systemctl isolate graphical.target 这只会更改当前的运行级别,并且不会影响下一次启动。符号链接 /etc/systemd/system/default.target 控制我们默认启动到哪个目标单元。将其链接到您选择的目标单元。例如,像这样:# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 或 # ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target 要在系统启动后添加要运行的操作,请将其添加到 _/etc/rc.d/boot.local_ 文件中。 [caption id="attachment_15599" align="alignright" width="300"][![journalctl -f](//news.opensuse.net.cn/wp-content/uploads/2013/03/journalctl-f-300x54.jpg)](//news.opensuse.net.cn/wp-content/uploads/2013/03/journalctl-f.jpg) journalctl -f 输出[/caption] **journald** openSUSE 正在用更高级的解决方案 journald 替换当前的日志记录工具。一些典型命令
**Ubuntu 命令** **openSUSE 命令**
cat /var/log/messages journalctl
tail -f /var/log/messages journalctl -f
使用 _journalctl --help_ 了解 journald 的更多功能。请注意,在转换进行时,“旧”方法仍然有效:您仍然可以使用 _dmesg_ 和 _tail -f /var/log/messages_。在 journald 集成被认为是完整的之前,我们不会损害这些功能。了解有关使用 journalctl 的更多信息 [此处](//0pointer.de/blog/projects/journalctl.html) 和 [此处](//0pointer.de/public/systemd-man/journalctl.html)。返回到发行版列表 ### 来自 Gentoo Gentoo 允许您将发行版自定义到二进制编译的程度。由于 openSUSE 是一个二进制发行版,它不会达到这种程度,但如果您想应用自己的补丁或禁用/启用一些额外的功能,我们鼓励您使用 [Open Build Service](//build.opensuse.org)。您可以将 openSUSE:12.3 的软件包链接到您的主目录,进行所需的修改,并使用您的主目录仓库中的软件包。 **软件包管理** Zypper 几乎总是具有命令的“长”版本和“短”版本,例如 _zypper install_ 可以缩短为 _zypper in_,_zypper update_ 可以作为 _zypper up_ 发出。在此表中,我们将使用“长”命令,只需键入 _zypper help_ 即可找到短版本。如果您像这样发出命令,Zypper 会为每个命令提供更深入的帮助:_zypper help_.
**Gentoo 命令** **openSUSE 命令**
emerge --sync zypper refresh
emerge --newuse --deep --update world zypper dist-upgrade
emerge amarok zypper install amarok
emerge =amarok-2.8.7 zypper install amarok=2.8.7
emerge --unmerge amarok zypper remove amarok
emerge --fetchonly zypper --download-only
emerge --search amarok zypper search amarok
glsa-check -l affected zypper lp --cve
emerge --depclean zypper remove --clean-deps
layman -a <_repository>_ </td>zypper addrepo <_repository>_ <_name>_ </td> </tr> </tbody> </table> **提示**:运行更新后,_zypper ps_ 会列出已收到更新并可能需要重新启动的进程。Zypper 通常不会自动重新启动进程,以免打断您的工作,但经过 _重大_ 更新后,强烈建议至少注销并从图形桌面重新登录。点击此处了解有关使用 _systemd_ 和 _journald_ 的技巧。返回到发行版列表 [caption id="attachment_14262" align="alignright" width="257"][![toad and hat](//news.opensuse.net.cn/wp-content/uploads/2012/10/toad-and-hat.jpg)](//news.opensuse.net.cn/wp-content/uploads/2012/10/toad-and-hat.jpg) 我们喜欢疯狂的乐趣[/caption] ### 来自 Arch Arch Linux 以其简单性和滚动更新而闻名。由于它已采用 systemd,因此 init 的管理现在相同,但 Arch 软件包管理基于 Packman。 **软件包管理**
**Arch 命令** **openSUSE 命令**
pacman -Syy zypper refresh
pacman -Syu/td> zypper dist-upgrade
pacman -S amarok zypper install amarok
pacman -R amarok zypper remove amarok
pacman -Rsnc zypper remove --clean-deps amarok
pacman -S amarok (强制重新安装) zypper install --force amarok
pacman -Ss amarok zypper search amarok
pacman -Sw zypper --download-only
ABS 和 makepkg -o zypper source-install (安装源代码包和依赖项)
layman -a <_repository>_ </td>zypper ar <_repository>_ <_name>_ </td> </tr> </tbody> </table> **提示**:运行更新后,_zypper ps_ 会列出已收到更新并可能需要重新启动的进程。Zypper 通常不会自动重新启动进程,以免打断您的工作,但经过 _重大_ 更新后,强烈建议至少注销并从图形桌面重新登录。返回到发行版列表 ### 来自 Slackware Slackware 是一个传统的 Linux,具有强大的 KDE 导向。Slackware 仍然是一个 BSD 风格的配置发行版。 **软件包管理** slackpkg search amarokzypper search amarok
**Slackware 命令** **openSUSE 命令**
slackpkg zypper refresh
slackpkg upgrade-all zypper dist-upgrade
slackpkg install amarok zypper install amarok
slackpkg remove amarok zypper remove amarok
slackpkg info amarok zypper info amarok
**提示**:运行更新后,_zypper ps_ 会列出已收到更新并可能需要重新启动的进程。Zypper 通常不会自动重新启动进程,以免打断您的工作,但经过 _重大_ 更新后,强烈建议至少注销并从图形桌面重新登录。Slackware 使用 _SysVinit_,启用和禁用服务发生在 _/etc/init.d_ 中。点击此处了解有关 init 系统 _systemd_ 和系统日志记录工具 _journald_ 的技巧。返回到发行版列表 [caption id="attachment_14305" align="alignright" width="212"][![May the Geeko be with you](//news.opensuse.net.cn/wp-content/uploads/2012/10/Geeko-with-you.png)](//news.opensuse.net.cn/wp-content/uploads/2012/10/Geeko-with-you.png) 拥抱绿色![/caption] ### 来自 Fedora Fedora 与您可以在 openSUSE 中体验到的非常接近。我们也是 RPM 发行版,您仍然可以使用 yum(如果您愿意),但如果您想更快,请尝试 zypper! **软件包管理**
**Fedora 命令** **openSUSE 命令**
yum makecache zypper refresh
yum update/td> zypper update
yum install amarok zypper install amarok
yum remove amarok zypper remove amarok
yum search amarok zypper search amarok
yum clean all zypper clean
**提示**:运行更新后,_zypper ps_ 会列出已收到更新并可能需要重新启动的进程。Zypper 通常不会自动重新启动进程,以免打断您的工作,但经过 _重大_ 更新后,强烈建议至少注销并从图形桌面重新登录。Fedora 在 _setup_ 命令上提供了一些 YaST 具有的功能。此外,_system-config-firewall_ 在 _yast firewall_ 中具有等效项,_system-config-users_ 与 _yast users_ 相当。返回到发行版列表 [caption id="attachment_15625" align="alignright" width="300"][![Register now for oSC 2013!](//news.opensuse.net.cn/wp-content/uploads/2013/03/oSC13-register.jpg)](https://conference.opensuse.org/osem) 立即注册 oSC 2013![/caption] ## 结论 如果您不熟悉 openSUSE,我们希望以上内容能帮助您快速了解 Geeko。如果您需要任何其他帮助,您可以在我们的 [支持门户](https://en.opensuse.net.cn/Portal:Support) 上找到大量文档。当然,我们非常乐意为您提供帮助 - 我们的 [openSUSE 论坛](//#) 有许多志愿者愿意提供帮助,并且支持门户上提到的其他渠道也是如此。如果您想与我们见面 - 我们今年在希腊组织 [openSUSE 会议](//conference.opensuse.org),欢迎您参加!玩得开心,Geekos! _感谢所有为上述命令列表做出贡献的 openSUSE 社区成员,包括 stefano-k、Matt Hayes、terrorpup、|miska|、Kostas 等_

分类: 发行版

标签

分享此帖子