分类 新闻 下的文章

邮件列表证实最近发布了 Bash-5.0。而且,令人兴奋的是它还有新的功能和变量。

如果你一直在使用 Bash 4.4.XX,那么你一定会喜欢 Bash 的第五个主要版本。

第五个版本侧重于新的 shell 变量和许多重大漏洞修复。它还引入了一些新功能,以及一些与 bash-4.4 不兼容的更改。

Bash logo

新功能怎么样?

在邮件列表解释了此版本中修复的 bug:

此版本修复了 bash-4.4 中的几个主要错误,并引入了几个新功能。最重要的 bug 修复是对 nameref 变量的解析以及通过模糊测试发现的许多潜在的内存越界错误。在为了符合 Posix 标准解释而不进行单词拆分的上下文中,对 $@$* 的展开做了许多改变,另外还有解决极端情况中 Posix 一致性的修改。

它还引入了一些新功能。根据其发布说明,最值得注意的新功能是几个新的 shell 变量:

BASH_ARGV0EPOCHSECONDSEPOCHREALTIME。内置命令 history 可以删除指定范围的条目,并能将负数理解为从历史末端开始的偏移量。有一个选项允许局部变量继承前一个范围内具有相同名称的变量的值。有一个新的 shell 选项,在启用它时,会导致 shell 只尝试一次扩展关联数组下标(这在算术表达式中使用时会出现问题)。globasciiranges 这个 shell 选项现在默认启用。可以在配置时默认关闭它。

Bash-4.4 和 Bash-5.0 之间有哪些变化?

其更新日志提到了不兼容的更改和所支持的 readline 版本历史记录。它是这么说的:

bash-4.4 和 bash-5.0 之间存在一些不兼容的变化。尽管我已经尽量最小化兼容性问题,但是对 nameref 变量解析的更改意味着对变量名引用的某些使用会有不同的行为。默认情况下,如果启用了扩展调试模式,shell 仅在启动时设置 BASH_ARGCBASH_ARGV。它被无条件地设置是一个疏忽,并且在脚本传递大量参数时会导致性能问题。

如果需要,可以将 Bash 链接到已安装的 Readline 库,而不是 lib/readline 中的私有版本。只有 readline-8.0 及更高版本能够提供 bash-5.0 所需的所有符号。早期版本的 Readline 库无法正常工作。

我相信一些添加的功能/变量非常有用。我最喜欢的一些是:

  • 有一个新的(默认情况下禁用,文档中没有说明)shell 选项,用于在运行时启用/禁用向 syslog 发送历史记录。
  • 正如文档一直所说的那样,除非 shell 处于调试模式,否则它不会在启动时自动设置 BASH_ARGCBASH_ARGV,但如果脚本在上层引用它们且没有启用调试模式,那么 shell 将动态创建它们。
  • 现在可以使用 -d start-end 删除指定范围的 history 条目。
  • 如果启用了作业控制的非交互式 shell 检测到前台作业因 SIGINT 而死亡,则其行为就像接收到 SIGINT 一样。
  • BASH_ARGV0:一个新变量,扩展为 $0,并在赋值时设置为 $0

要查看完整的更改和功能列表,请参阅邮件列表文章

总结

你可以使用下面的命令检查你当前的 Bash 版本:

bash --version

你很可能安装了 Bash 4.4。如果你想获得新版本,我建议等待你的发行版提供它。

你怎么看待 Bash-5.0 发布?你在使用其他 bash 的替代品么?如果有的话,这个更新会改变你的想法么?

请在下面的评论中告诉我们你的想法。


via: https://itsfoss.com/bash-5-release

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。

总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道读取引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 /proc 读到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘?

不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。

什么?请听我娓娓道来~

LFS 是什么?

LFS(英文 Linux From Scratch 的缩写),中文释意为“从零开始构建的 Linux”。好吧!看起来很高大上 OTZ,可它到底是什么东西呢?感觉上它好像经常和 RedHat,Debain 这类发行版混在一起,那它应该也是个发行版吧!

这样理解其实也没有什么不对,但比起发行版来,它其实更像一本书。书本只提供知识,它只教你做,不会帮你做。这才是 LFS 和别的发行版的本质区别。这本书可以教你如何亦步亦趋的从零开始搭建一个具体而微的 Linux 系统,没错,就是从零开始,是不是有一种上帝视角的感觉呢?

那么在哪儿可以找到这本“书”呢?你可以在网上找到电子版,当然,乐意的话,你可以打印出来——不过,我认为这没必要。你只需要按照这本书的指导,一个字母都不要敲错,你就能在它手把手地指导下,打磨出你自己的 Linux 系统啦!

LFS 是本好书吗?

是的,LFS 绝对配得上称为一本好书,或者说一本好教材。市面上,很难再找到一本如此具体又如此精炼的教材了。

首先,它并不是只是讲讲简单概念,它很具体,具体到就是一个例子,一个告诉你怎么亲手构建出属于自己的 Linux 系统的例子。

其次,它很精炼,它的精炼表现在两个方面:系统构建出来不臃肿;文字描述很精炼。

最后还有一点,这一点至关重要。尽管文字的描述非常精炼,甚至是精炼到枯燥,但是作为一本教材,作者无时无刻不再想尽办法,让你学到东西。无论是编译指令下方各个参数的介绍,还是软件包安装小节下方软件包内容的介绍,作者真的是想尽办法的试图把知识传递给读者。

LFS 没有缺点吗?

那自然是有的,可以原封不动的照抄上面的优点。辩证的看待这些优点,你就会发现这些优点是有代价的。

首先,由于这个例子过于生动形象,所以篇幅不小,快则一两天,慢可能要一两周你才能跟着把系统构建完。一次做完你也不见得能把知识完全消化。

然后,刚才我也提到了,为了让内容更精炼,更多的只是叙述和说明,并不会夹杂太多作者的思想和经验,看起来显得很枯燥。

最后,相信大家都不是太喜欢看教科书。

当然,其实还有一个缺点,会给我们的学习带来比较大的阻力,这个我们后面会提到。

LFS 的定位

盘点了优缺点以后 LFS 的定位就很清晰了,它就是一本书,一本教科书。所以你不能要求它像小说般有趣。而这本书的受众是,广大的程序员,学生,Linux 用户,以及任何一个对此感兴趣的人。

如何开始?

如果你英文水平尚可的话,请直达 LFS 官网: http://www.linuxfromscratch.org/lfs/ ,开始你的上帝之旅吧。

如果你希望阅读中文的话,我们 Linux 中国旗下的 LFS 翻译小组,经过了长时间的不断努力,继续更新了最新的 LFS 8.3 版本:https://lctt.github.io/LFS-BOOK/

对于此译本,译者 Martin 有言:愚者琢玉,履薄临深。善人善用,不负光阴。

LFS 中文维护

之前提到,会给我们的学习带来很大的阻力的缺点,就是这本书的原文是英文。

作为母语是中文的大家来说,阅读大段的英文并不是一件多么享受的事。LCTT 之前已经翻译过一版简体中文的 LFS 7.7。时间过的飞快,现在最新的版本已经是 8.3 了。我们也会不断跟进最新 LFS 翻译,喜欢 LFS 也愿意做出翻译贡献的,可以参与我们的翻译项目。

(以下是广告时间……)

对翻译 LFS 手册感兴趣的同学,翻译项目在此: https://github.com/LCTT/LFS-BOOK ,你可以在这里对翻译中出现的问题进行反馈和修正。

那么,你准备成为一名 Linux 极客了吗?

Linux 中国翻译组(LCTT)成立已逾五年了,这些年来,我们在不断地改进我们的流程、管理。鉴于当前的人员规模的增大和事务的繁多,我们认为需要将管理水平更上一个台阶。因此,我们在原有的核心成员、译者两层的组织结构的基础上,吸收其它开源组织的管理经验,成立了三层结构的项目管理结构。

新的管理层级为:

  • 译者:加入 LCTT 翻译活动中,并有实际贡献者即为译者。

    • 预备译者:加入 LCTT ,但尚未进行实际贡献者,视为预备译者。
  • 核心成员:做出重大贡献者列入核心成员。可执行日常管理任务。

    • 荣誉成员:长期休眠的核心成员列入荣誉成员。荣誉成员被收回写入权限,但保留投票权和历史荣誉。
  • 管理委员:由核心成员中选出,对 LCTT 事务进行表决和决策,并负责日常管理任务的最终执行。

    • 主席:由管理委员中选出,由现任管理委员进行选举。

管理委员组成管理委员会(PMC),对 LCTT 的发展事务进行决策和执行。主要负责:

  • 制定和优化贡献流程和制度
  • 提名和投票 LCTT 核心成员、荣誉成员和主席
  • 成员管理
  • 兜底负责核心成员的管理事务

而核心译者作为 LCTT 的中坚力量,除了参与翻译活动之外,还具有如下职权:

  • 流程管理:PR 审核和合并
  • 文档管理:Wiki 维护
  • 引导新人:担任导师
  • 人员选举:参选和选举管理委员

PMC 组织架构的初次建立,由原有管理者在小范围征询意见后确定。首次 PMC 成员如下:

  • 管理委员:wxy、bestony、lujun9972、oska874、pityonline、geekpi、qhwdw
  • 主席:wxy

管理委员会经过会议讨论,已经对一些事务形成了统一的意见,如:

  • 管理章程
  • Wiki 重建
  • 文章的元数据结构
  • 建立术语表
  • 年末纪念品定制

我们希望可以通过将开源志愿者组织的管理正规化,从而提升社区的活力和可持续发展。

Dropbox 正考虑将同步支持限制为少数几种文件系统类型:Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。

Dropbox ends support for various file system types

Dropbox 是最受欢迎的 Linux 中的云服务之一。很多人都在使用 Linux 下的 Dropbox 同步客户端。但是,最近,一些用户在他们的 Dropbox Linux 桌面客户端上收到一条警告说:

“移动 Dropbox 文件夹位置, Dropbox 将在 11 月停止同步“

Dropbox 将仅支持少量文件系统

一个 Reddit 主题强调了一位用户在 Dropbox 论坛上查询了该消息后的公告,该消息被社区管理员标记为意外新闻。这是回复中的内容:

“大家好,在 2018 年 11 月 7 日,我们会结束 Dropbox 在某些不常见文件系统的同步支持。支持的文件系统是 Windows 的 NTFS、macOS 的 HFS+ 或 APFS,以及Linux 的 Ext4。

Dropbox 官方论坛

Dropbox official confirmation over limitation on supported file systems

Dropbox 官方确认支持文件系统的限制

此举旨在提供稳定和一致的体验。Dropbox 还更新了其桌面要求

那你该怎么办?

如果你在不受支持的文件系统上使用 Dropbox 进行同步,那么应该考虑更改位置。

Linux 仅支持 Ext4 文件系统。但这并不是一个令人担忧的新闻,因为你可能已经在使用 Ext4 文件系统了。

在 Ubuntu 或其他基于 Ubuntu 的发行版上,打开磁盘应用并查看 Linux 系统所在分区的文件系统。

Check file system type on Ubuntu

检查 Ubuntu 上的文件系统类型

如果你的系统上没有安装磁盘应用,那么可以使用命令行了解文件系统类型

如果你使用的是 Ext4 文件系统并仍然收到来自 Dropbox 的警告,请检查你是否有可能收到通知的非活动计算机/设备。如果是,将该系统与你的 Dropbox 帐户取消连接

Dropbox 也不支持加密的 Ext4 吗?

一些用户还报告说他们在加密 Ext4 文件系统同步时也收到了警告。那么,这是否意味着 Linux 的 Dropbox 客户端只支持未加密的 Ext4 文件系统?这方面 Dropbox 没有官方声明。

你使用的是什么文件系统?你也收到了警告吗?如果你在收到警告后仍不确定该怎么做,你应该前往该方案的官方帮助中心页面

请在下面的评论中告诉我们你的想法。


via: https://itsfoss.com/dropbox-linux-ext4-only/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

在我们发布了 Linux 中国的社区通证 LCCN 之后,我们又在通证经济建设方向迈出了一步。通证作为一个经济体系中流转的价值凭证,其不但可以根据社区成员的行为进行精细的通证分发,而且还需要建立通证的流通渠道。

按照我们之前的设计,我们流通 LCCN 的通道有二:

  1. 社区提供通证的 B2C 消费渠道
  2. 通证持有者个人的通证消费渠道

作为社区,我们可以将社区所拥有的大部分资源,比如媒体资源、客户置换资源、定制礼品等以 LCCN 兑换的方式提供给社区成员。比如这次,我们就将官方网站的广告位、认证微信的文章推送、认证微博的转发等资源开放给社区来兑换。我们也同时将从合作伙伴中置换和赞助来的资源(如兑换券、书籍等)。

此外,我们也小规模组织了二手物品的交换群,可供大家用 LCCN 交换其他人手中的闲置物品。目前已经发生了多笔交易,交易了包括手机、树莓派、书籍等物品,最高交易额高达 Ⓛ28800。

这次上线的“Linux 中国通证商城”—— https://shop.linux.cn ,是基于 WooCommerce 所构建的,并专门自行开发了支持 ERC20 通证的插件,以支持我们的 LCCN 通证的链上支付。当然,作为开源社区,我们的插件同样遵循开源精神,开源到了 GitHub 上。

我们的通证商城的上线,得到了人民邮电出版社、UCloud、刘遄老师等的大力支持。其中刘遄老师捐献了其畅销书《Linux 就该这么学》 多达 30 册。由衷感谢各位伙伴的支持!

欢迎大家体验和参与贡献,也欢迎各位合作伙伴参与我们的生态建设。

几天前,Lucas Holt 宣布发布 MidnightBSD 1.0。让我们快速看一下这个新版本中包含的内容。

什么是 MidnightBSD?

MidnightBSD

MidnightBSD 是 FreeBSD 的一个分支。Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。

MidnightBSD 1.0 中有什么?

根据发布说明视频),1.0 中的大部分工作都是更新基础系统,改进包管理器和更新工具。新版本与 FreeBSD 10-Stable 兼容。

Mports(MidnightBSD 的包管理系统)已经升级支持使用一个命令安装多个包。mport upgrade 命令已经修复。Mports 现在会跟踪已弃用和过期的包。它还引入了新的包格式。

其他变化包括:

  • 现在支持 ZFS 作为启动文件系统。以前,ZFS 只能用于附加存储。 * 支持 NVME SSD。 * AMD Ryzen 和 Radeon 的支持得到了改善。 * Intel、Broadcom 和其他驱动程序已更新。 * 已从 FreeBSD 移植 bhyve 支持。 * 传感器框架已被删除,因为它导致锁定问题。 * 删除了 Sudo 并用 OpenBSD 中的 doas 替换。 * 增加了对 Microsoft hyper-v 的支持。

升级之前

如果你当前是 MidnightBSD 的用户或正在考虑尝试新版本,那么还是再等一会。Lucas 目前正在重建软件包以支持新的软件包格式和工具。他还计划在未来几个月内升级软件包和移植桌面环境。他目前正致力于移植 Firefox 52 ESR,因为它是最后一个不需要 Rust 的版本。他还希望将更新版本的 Chromium 移植到 MidnightBSD。我建议关注 MidnightBSD 的 Twitter

0.9 怎么回事?

你可能注意到 MidnightBSD 的先前版本是 0.8.6。你现在可能想知道“为什么跳到 1.0”?根据 Lucas 的说法,他在开发 0.9 时遇到了几个问题。事实上,他重试好几次。他最终采用与 0.9 分支不同的方式,并变成了 1.0。有些软件包在 0.* 系列也有问题。

需要帮助

目前,MidnightBSD 项目几乎是 Lucas Holt 一个人的作品。这是其发展缓慢的主要原因。如果你有兴趣帮忙,可以通过 Twitter 与他联系。

发布公告视频中。Lucas 说他遇到了上游项目接受补丁的问题。他们似乎认为 MidnightBSD 太小了。这通常意味着他必须从头开始移植应用。

想法

我对劣势者有一个想法。在我接触的所有 BSD 中,这个外号最适合 MidnightBSD。一个人想要创建一个轻松的桌面体验。当前只有一个其他的 BSD 在尝试做相似的事情:Project Trident。我想这是 BSD 成功的真正的阻碍。Linux 成功是因为人们可以快速容易地安装它。希望 MidnightBSD 为 BSD 做到这一点,但是还有很长的路要走。

你有没有用过 MidnightBSD?如果没有,你最喜欢的 BSD 是什么?我们应该涵盖哪些其他 BSD 主题?请在下面的评论中告诉我们。

如果你觉得这篇文章有趣,请花一点时间在社交媒体,Hacker News 或 Reddit 上分享它。


via: https://itsfoss.com/midnightbsd-1-0-release/

作者:John Paul 选题:lujun9972 译者:geekpi 校对:wxy

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