标签 Linux 下的文章

Linux 主导着大多数互联网、大部分云计算和几乎所有的超级计算机。我也喜欢在 Linux 上进行游戏、办公工作和发挥创造力。

北极企鹅聚集在一起

开源朗读者 | 徐斯佳

当你习惯于一个操作系统时,很容易将其他操作系统看作是“应用程序”。如果你在桌面上使用一种操作系统,你可能会认为另一种操作系统是人们用来运行服务器的应用程序,而又一种操作系统是用来玩游戏的应用程序,依此类推。有时我们会忘记操作系统是计算机管理无数任务的部分(从技术上讲,每秒数百万个任务),它们通常设计成能够执行各种任务。当有人问我 Linux 能做什么 时,我通常会问他们想让它做什么。这没有一个单一的答案,所以这里有五个让我惊讶的 Linux 用途。

1、用 Linux 进行激光切割

由 MSRaynsford 制作的蓝图

在离我最近的创客空间里,有一台巨大的工业机器,大约和一张沙发一样大小,可以根据一个简单的线条图设计文件来切割各种材料。这是一台强大的激光切割机,令我惊讶的是,我第一次使用它时发现它只需要通过 USB 线连接到我的 Linux 笔记本电脑上。事实上,在许多方面,与许多台式打印机相比,连接这台激光切割机更容易,因为许多台式打印机需要过于复杂和臃肿的驱动程序。

使用 Inkscape 和 一个简单的插件,你可以为这台工业激光切割机设计切割线条。你可以为你的树莓派笔记本设计一个外壳,使用这些知识共享的设计方案来建造 一个密码锁盒、切割一个店面标牌,或者你心目中的其他任何想法。而且,你可以完全使用开源软件来完成这些操作。

2、在 Linux 上进行游戏

Lutris 桌面客户端

开源游戏一直都有,最近一段时间也有一些备受瞩目的 Linux 游戏。我建造的第一台游戏电脑就是一台 Linux 电脑,我觉得我邀请过来一起玩沙发合作游戏的人们都没有意识到他们是在 Linux 上进行游戏。这是一种流畅顺滑的体验,而且取决于你愿意在硬件上花费多少,可能上无止境吧。

更重要的是,不仅游戏正在进入 Linux,整个平台也在进一步发展。Valve 推出的 Steam Deck 是一款非常受欢迎的掌上游戏机,它运行的是 Linux。更好的是,许多开源软件也在 Steam 上发布,包括 BlenderKrita,这鼓励了更广泛的采用。

3、在 Linux 上进行办公工作

Calligra Words

Linux,就像生活一样,并不总是刺激的。有时,你需要一台计算机来完成一些普通的事情,比如支付账单、制定预算,或者为学校写论文或工作写报告。无论任务是什么,Linux 都可以作为一台日常的桌面电脑。你可以在 Linux 上进行“平常”的工作。

不仅局限于知名的应用程序。我在优秀的 LibreOffice 套件中做了很多工作,但在我最旧的电脑上,我使用更简洁的 Abiword。有时,我喜欢试试 KDE 的官方套件 Calligra,当需要进行精确的 设计工作(包括 专门的过程式设计工作)时,我使用 Scribus。

使用 Linux 进行日常任务最好的地方在于,最终没有人知道你用了什么工具来完成最终产品。你的工具链和工作流程属于你自己,结果和封闭的、非开源软件产生的结果一样好,甚至更好。我发现,使用 Linux 进行日常任务让这些任务对我来说更有趣,因为开源软件本质上允许我开发达到自己预期结果的路径。我可以尝试创建解决方案,帮助我 高效完成工作,或者帮助我 自动化重要任务,但我也享受系统的灵活性。我不想去适应我的工具链,而是调整我的工具,使它们为我工作。

4、在 Linux 上进行音乐制作

Ardour

我是一个业余音乐家,在开始将所有制作工作转移到计算机之前,我拥有几台合成器、音序器和多轨录音机。我转向计算机音乐之所以用了比较长的时间,是因为我觉得它对我来说不够模块化。当你习惯于将物理设备互相连接,通过滤波器、效果器、混音器和辅助混音器来路由声音时,全功能应用程序看起来有点令人失望。

并不是说全功能应用程序没有受到欣赏。我喜欢能够打开一个应用程序,如 LMMS,它恰好拥有我想要的一切。然而,在实际使用中,似乎没有一个计算机音乐应用程序真正拥有我所需要的一切。

当我转向 Linux 时,我发现它以模块化为基本原则构建了一个庞大的音乐制作环境。我找到了 音序器、合成器、混音器、录音器、补丁台等的应用程序。我可以在计算机上建立自己的工作室,就像我在现实生活中建立自己的工作室一样。在 Linux 上,音频制作得到了飞速发展,今天,开源 应用程序 可以作为统一的控制中心,同时保留了从系统其他位置提取声音的可扩展性。对于像我这样的拼贴式制作人来说,这是一个梦幻般的工作室。

5、在 Linux 上进行复古计算

Mageia 8

我不喜欢扔掉旧电脑,因为很少有旧电脑是真正报废的。通常,旧电脑只是被世界其他部分“超越”了。操作系统变得过于臃肿,旧电脑无法处理,因此你不再能获得操作系统和安全更新,应用程序开始要求你的旧电脑没有的资源,等等。

我倾向于 收留旧电脑,将它们用作实验室机器或家庭服务器。最近,我发现在旧电脑上添加一块固态硬盘作为根分区,并使用 XFCE 或类似的轻量级桌面环境,使得即使是十年前的电脑,也可以愉快地用于期望的工作。平面设计、网页设计、编程、定格动画等任务在低配置机器上都是小菜一碟,更不用说简单的办公工作了。有了 Linux 驱动的机器,真不知道为什么企业还要升级。

每个人都有自己喜欢的“救援”发行版。我个人喜欢 Slackware 和 Mageia,它们都还发布了 32 位的安装镜像。Mageia 也是基于 RPM 的,所以你可以使用像 dnfrpmbuild 这样的现代打包工具。

多说一句:Linux 服务器

好吧,我承认在服务器上使用 Linux 并不令人惊讶。实际上,对于那些了解 Linux 但自己不使用 Linux 的人来说,当提到 “Linux” 时,数据中心通常是他们首先想到的。然而,这种假设的问题在于它似乎明显地认为 Linux 在服务器上应该表现出色,好像 Linux 根本不需要努力一样。这是一种令人赞赏的情绪,但实际上,Linux 在服务器上表现出色是因为全球开发团队付出了巨大努力,让 Linux 在其所从事的工作上特别有效。

Linux 之所以成为强大的操作系统,主要是因为它驱动着大部分互联网、主导着大部分云计算、几乎所有现有的超级计算机以及更多应用领域。Linux 并非止步不前,尽管它有着丰富的历史,但它并没有深陷传统而无法进步。新技术正在不断发展,Linux 也是这一进步的一部分。现代 Linux 适应了不断变化的世界对增长需求的要求,使得系统管理员能够为全世界的人们提供网络服务。

这并不是 Linux 的全部能力,但也绝非小小的成就。

Linux 并不那么令人惊讶

我还记得第一次遇到一个从小就使用 Linux 的人的事情。在我使用 Linux 的大部分时间里,这种情况似乎很少发生,但最近这种情况相对较为普遍。我记得最令人惊讶的一次是遇到一个年轻的女士,带着幼儿,看到我当时穿着的那件极客风格的 T 恤衫,她随意地提到她也使用 Linux,因为她从小就接触它。这实际上让我有点嫉妒,但随后我想起,在我成长的过程中,桌面电脑上根本没有 Unix 的 存在。然而,想到 Linux 在过去几十年里的轻松发展,确实令人愉快。成为其中的一员更是乐趣无穷。

(题图:MJ/e529833a-8ec1-4fff-997b-2ef3f107bc68)


via: https://opensource.com/article/22/5/surprising-things-i-do-linux

作者:Seth Kenlon 选题:lkxed 译者:ChatGPT 校对:wxy

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

微软发布 Azure Linux 正式版

在内部使用 Azure Linux 两年,并从 2022 年 10 月开始公开预览后,微软本周终于正式提供其 Azure Linux。Azure Linux 是 Azure Kubernetes 服务(AKS)的一个开源容器主机操作系统,它针对 Azure 进行了优化,旨在使开发人员更容易使用微软的工具来部署和管理容器工作负载。Azure Linux 源于微软的 CBL-Mariner 项目,是“自我独立的 Linux 发行版”,而非衍生自 Ubuntu 或 Fedora。

消息来源:The Register
老王点评:这不是微软的第一个 Linux 发行版,也不是最后一个发行版。

使用 XFS 的系统暂时不要升级到 Linux 6.3

上周以来,多个用户已经报告了在升级到 Linux 6.3 稳定内核时,XFS 文件系统的元数据损坏问题。当他们在基于 XFS 的服务器上运行 Linux 6.3 时,服务器不断崩溃。据报道,Linux 6.4 内核对一些受影响的用户来说工作正常,这让人觉得一些补丁可能没有很好地回传到较新的 Linux 6.3 的小版本。

消息来源:Phoronix
老王点评:这比较罕见,无论是 Linux 稳定版,还是文件系统,出现这样的问题太不应该了。或许我们该担忧 Linux 内核的质量把控了?当然,谨慎的系统管理员从来在更新上都是“懒惰”的。

Bitwarden 进军无密码安全领域

可悲而简单的事实是,密码泄露正变得像人们闯红灯一样普遍。密码机制已经过时,大约一半的 IT 决策者认为他们使用的应用程序中缺乏无密码设计是主要原因。而无密码技术中的 密码钥匙 Passkey 可以通过设备上已有的密码、指纹、面部识别等,来替代用户的账户密码登录其它服务。它不仅消除了对密码、用户名和双因素认证(2FA)的需求,而且还通过减轻钓鱼攻击的风险来增强用户的安全性。流行的开源密码管理程序 Bitwarden 推出了 Passwordless.dev,这是一个开发者工具包,用于将无密码技术集成到网站和应用程序中。

消息来源:The Newstack
老王点评:作为著名的密码管理软件,面对无密码时代的来临,也不得不“与时俱进”。

微软正在研究使 Linux 脚本更安全

在本周的 Linux 安全峰会上,systemd 的创建者 Lennart Poettering 发表了演讲,他在过去的一年中被微软雇佣,他和微软的其它工程师们正在努力提高 Linux 的安全性。微软的工程师发表的演讲介绍了他们如何在 Linux 系统上控制脚本执行的新方法。从新的 open() 标志到新的内核系统调用,他们正在努力让 Linux 系统管理员对未来在 Linux 系统上执行的脚本有更大的控制。

消息来源:Phoronix
老王点评:这有点讽刺,但事实就是这样。

观点:只有云计算供应商才能做好安全工作

有专家认为,“旧的论点认为,云计算的利润率最终会使企业内部的 IT 基础设施看起来是更便宜的选择,但却没有预见到一个时代,即安全变得如此困难,只有云计算供应商才能把它做好。”在安全问题上,云计算供应商有一个关键的优势:他们控制、编写和构建了大部分的软件和硬件堆栈。云计算供应商在网络安全方面拥有令人羡慕的记录,这要归功于谷歌之类的云计算供应商的持续补丁等严格的安全实践。

消息来源:eSecurity Planet
老王点评:虽然云计算供应商也动不动就出些大事故,但一般而言,云计算供应商的安全实践能力要超过普通的 IT 公司。

裁员时拥有开源和 Linux 技能比较安全

Linux 基金会的调查显示,虽然科技行业进行了几轮裁员,但“开源是与这些趋势反周期的”。事实上,更多的组织计划增加他们的技术人员水平而不是减少。对技术人才的需求仍然强劲,特别是在快速发展的领域,它们都严重依赖开源和 Linux 技术。Linux 基金会发现高级技术职位的裁员幅度最大,新的招聘主要集中在开发人员和 IT 经理。此外,Linux 基金会的研究显示,提高技能(91%)和认证(77%)比大学教育(58%)更重要。

消息来源:ZDNet
老王点评:也就是说,懂技术还是比较有保障一些。

Roblox 不但不支持 Linux,还屏蔽了 Wine

多人游戏 Roblox 没有 Linux 原生版本,但之前可以通过 Wine 在 Linux 上运行。不过其最新的反作弊软件专门屏蔽了 Wine 应用,以至于其在 Linux 上无法运行。该公司的员工在其官方论坛上对此表示,他们很多人想要支持 Linux,但支持 Linux 的成本太昂贵,Linux 桌面至今还不是一个已经证明了自己的游戏平台。而使用 Wine 用户运行它的用户太少,以至于留下让作弊者利用的口子就更不值得了。

消息来源:Gaming on Linux
老王点评:所以,微乎其微的 Linux 玩家就被彻底鄙视了。顺便说一句,Roblox 的服务器已经从 Windows 迁移到了 Linux。

谷歌宣布其下一代大语言模型 PaLM 2

在今天的谷歌 I/O 大会上,谷歌宣布了其下一代大语言模型 PaLM 2。谷歌称,PaLM 2 具有改进的多语言、推理和编码能力:它在 100 多种语言文本上进行了更多的训练,可以理解、生成和翻译细微差别的文本;其广泛数据集包括科学论文和包含数学表达的网页,改进了逻辑、常识推理和数学方面的能力;它还在大量公开可用的源代码数据集上进行了预训练,擅长 Python 和 JavaScript 等流行的编程语言。PaLM 2 有四种大小,这使得它很容易部署到各种使用案例中。谷歌还宣布了超过 25 种由 PaLM 2 支持的新产品和功能,同时将 Bard 扩展到了新的语言。

消息来源:谷歌
老王点评:究竟好不好,相信很快就会有人用它和 GPT-4 做比较了。

Meta 开源多感官人工智能模型

Meta 公司宣布了一个新的开源人工智能模型 ImageBind ,将多种数据流联系在一起,包括文本、音频、视觉数据、红外图像和运动读数。该模型目前只是一个研究项目,还没有直接的消费级或实际应用,但它指出了生成性人工智能系统的未来,可以创造沉浸式多感官体验。像 DALL-E、Midjourney 这样的人工智能图像生成器可以将文本与图像关联起来,从而生成图像。而 ImageBind 可以给人工智能更多的感官,从而产出更丰富的可能用例。

消息来源:The Verge
老王点评:坚定支持开源的 Meta AI,总之是先掀了桌子再说。

即使是专家级的 Linux 用户也不记得所有的 Linux 命令和它们的选项。这对我们人类来说是不可能的。

但是机器呢?尤其是人工智能驱动的机器?

想象一下,如果你可以“命令”你的终端“显示过去 12 小时内修改过的所有小于 100 MB 的文件”。当然,你可以使用 Linux 命令“命令”它,但是用普通的英语进行交互呢?

由于人工智能的进步,这实际上是可能的。下面是自动生成 Linux 命令以显示当前目录中所有小于 10 KB 的文件的示例。

Shell Genie AI assistent in Linux terminal

我使用的工具叫做 Shell Genie。它是一个命令行工具,可让你以普通的英语与终端进行交互。

它可以生成命令、运行命令(如果需要),还可以向你解释生成的命令。

Shell Genie explain commands

Shell-Genie 的特点

  • 将普通英语转换为 Linux 命令。
  • 提供了一个需要 openAI 的 API 密钥的 openAI gpt3 后端,和一个可以免费使用的 free-genie 后端。
  • 提示一个选项以运行你要求的命令。
  • 解释生成的命令。

安装 Shell Genie

Shell-genie 在任何发行版的默认仓库中都不可用。你可以使用 pipx 安装它。

要安装它,你需要安装 Python 3.10+ 和 Pip。你可以参考我们关于 如何在 Ubuntu 和其他 Linux 发行版中安装 pip 的文章。

安装 pip 后,使用以下命令安装 pipx

python3 -m pip install --user pipx
python3 -m pipx ensurepath

An SVG animation showing pipx Installation steps

现在,重启终端并运行以下命令安装 shell-genie:

pipx install shell-genie

这可能显示错误或需要依赖项。

A dependency installation to install the shell-geie properly

运行提示的命令来安装所需的依赖。在我的例子中:

sudo apt install python3.10-venv

之后,再次运行 shell-genie 安装命令,就可以安装了。

The steps showing the installation of shell-genie

安装完成后,运行以下命令:

shell-genie init

这将要求你选择后端,openAI 或 free-genie。如果你有 openAI API,你可以选择它或继续使用 free-genie。

? free-genie 后端可能并不总是工作,因为它是由开发者托管的,他警告说可能会出现中断。

然后它将请求允许报告反馈。用 y/n 来决定。

Run shell-genie init commad to set up the shell-genie properly

现在就可以使用了。

使用 Shell-genie

? 如果你要进行实验,请尽量不要使用带有 sudo 或删除文件的命令。不要将你的机器交到机器手中。

如上所述,shell-genie 提供了两种工作模式:

  • 从普通的英语获取命令
  • 获取命令解释

从普通英语中获取 Linux 命令

你可以使用 shell-genie 的 ask 选项从普通的英语中获取命令。例如:

shell-genie ask "Display only the folders of this directory"

这将显示正确的命令,并提示我们是否运行该命令。

The working of shell-genie, that will print the required command from the provided plain text description. Also propt the user to execute the same or not

获取带解释的 Linux 命令

你可以使用 shell genie 来解释你要运行的一些命令。

shell-genie ask "display all files smaller than 10kb in here" --explain

上面的命令首先会显示需要的命令并进行解释,然后提示用户是否执行。

The explain mode in shell-genie, where it will explain the command that was asked in the form of plain english and then prompts the user to execute it or not

总结

有像 Explain Shell 这样的工具(试图)解释 Linux 命令。但是这个 Shell genie 通过从普通的英语生成命令将它提升到一个新的水平。

当然,不能一味依赖人工智能。如果你对 Linux 命令有一定的了解,可以使用 Shell Genie 生成适合你的命令。你不必为手册页或各种网站而苦恼。

它可以帮助你在终端中更快地做事,也可以减少你的知识储备。为什么? 因为你越依赖它,你自己学的就越少。

这就是我所想的。 无论你同意或不同意我的观点,都可以在评论中发表你的看法。

(题图:MJ/chatgpt commands linux cli illustration in high resolution, very detailed, 8k)


via: https://itsfoss.com/linux-terminal-ai/

作者:Sreenath 选题:lkxed 译者:geekpi 校对:wxy

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

这是一个困扰 Linux 用户的常见问题。这也是考试和面试中经常问到的一个问题。下面是你需要了解的所有内容。

开源朗读者 | 徐斯佳

你可能在网络上的各种论坛以及讨论区听过这句话:

Linux 只是一个内核。

这让你感到好奇。它是个内核?还是个操作系统?两者之间有什么区别?

我将在本文中回答这些问题。

Linux 是操作系统还是内核?

好吧,从技术上讲,Linux 只是一个内核,而不是一个操作系统。但是,术语 “Linux” 通常是指一个完整的操作系统,它包括一个 交互界面 Shell (例如:bash)和命令行和/或 GUI 工具来控制系统。这个完整的操作系统的正确叫法是 “Linux 发行版”。流行的 Linux 发行版有 Ubuntu、Red Hat 和 Debian。

早在 1991 年,Linus Torvalds 创建的只是一个内核。直到今天,他也在为 Linux 内核工作。他不再编写代码,而是监督哪些代码进入内核。

内核?什么东西?

内核是每个操作系统的中心。不仅仅是 Linux,Windows 和 macOS 也有内核。

将内核想象成操作系统的心脏。没有心脏,你就无法生存。没有内核,操作系统就无法存在。

但是,就像心脏需要一个身体来生存一样,内核需要其他人们可以在计算机上使用的程序和工具来构成一个完整的操作系统。

这是一个操作系统的典型架构:

在中心的内核与硬件交互。在它之上是与内核交互的 交互界面 Shell 。然后你有应用程序、命令行和图形界面,为你提供使用系统的各种方式。

内核是引擎,操作系统是汽车

一个更好的类比是将内核想象成汽车的引擎,而操作系统则是汽车。

你不可能驾驶一个引擎,但是如果没有引擎,你也不能驾驶一辆汽车。你需要轮胎、转向机和其他组件才能将其变成一辆可以驾驶的汽车。

相似地,你不能直接使用内核。你需要 交互界面 Shell ,其他工具和组件才能使用操作系统。

Linux 对比 GNU/Linux

在类似的地方,你也会看到例如 “Linux 只是一个内核,你所说的 Linux 实际上是 GNU/Linux” 的陈述。

在 Linus Torvalds 在 1991 年创建 Linux 之前,Richard Stallman 就创建了 自由软件运动 Free Software movement 和 GNU 项目。GNU 项目包括对流行的 UNIX 工具和命令的重新实现,例如 lsgrepsed 等。

通常,你的 Linux 发行版会在 Linux 内核之上包含所有这些 GNU 工具。

这就是为什么纯粹主义者坚持称之为 GNU/Linux,以便人们不要忘记 GNU 对 Linux 成功的贡献和重要性。

最后……

所以,如果你在面试或者考试中被问到这个问题,回答 “Linux 是一个内核,而不是一个操作系统”。这是你的老师或面试官在大多数情况下想要的答案。

但是更深入一点,理解内核和操作系统之间的区别。

如果有人说:“我使用 Linux”,你就会明白这个人是指 Linux 发行版,而不仅仅是内核。诚然,没有必要用 “Linux 只是一个内核,而不是一个操作系统” 来纠正别人。


via: https://itsfoss.com/linux-kernel-os/

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

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