2019年6月

无论你是纠结一个难以理解的单词,还是在将报告发给老板之前再检查一遍,Linux 都可以帮助你解决拼写问题。

Linux 为数据分析和自动化提供了各种工具,它也帮助我们解决了一个一直都在纠结的问题 —— 拼写!无论在写每周报告时努力拼出一个单词,还是在提交商业计划书之前想要借助计算机的“眼睛”来找出你的拼写错误。现在我们来看一下它是如何帮助你的。

look

look 是其中一款工具。如果你知道一个单词的开头,你就可以用这个命令来获取以这些字母开头的单词列表。除非提供了替代词源,否则 look 将使用 /usr/share/dict/words 中的内容来为你标识单词。这个文件有数十万个单词,可以满足我们日常使用的大多数英语单词的需要,但是它可能不包含我们计算机领域中的一些人倾向于使用的更加生僻的单词,如 zettabyte。

look 命令的语法非常简单。输入 look word ,它将遍历单词文件中的所有单词并找到匹配项。

$ look amelio
ameliorable
ameliorableness
ameliorant
ameliorate
ameliorated
ameliorates
ameliorating
amelioration
ameliorations
ameliorativ
ameliorative
amelioratively
ameliorator
amelioratory

如果你遇到系统中单词列表中未包含的单词,将无法获得任何输出。

$ look zetta
$

如果你没有看到你所希望出现的单词,也不要绝望。你可以在你的单词文件中添加单词,甚至引用一个完全不同的单词列表,在网上找一个或者干脆自己创建一个。你甚至不必将添加的单词放在按字母顺序排列的正确位置;只需将其添加到文件的末尾即可。但是,你必须以 root 用户身份执行此操作。例如(要注意 >>!):

# echo “zettabyte” >> /usr/share/dict/words

当使用不同的单词列表时,例如这个例子中的 “jargon” ,你只需要添加文件的名称。如果不采用默认文件时,请使用完整路径。

$ look nybble /usr/share/dict/jargon
nybble
nybbles

look 命令大小写不敏感,因此你不必关心要查找的单词是否应该大写。

$ look zet
ZETA
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta

当然,不是所有的单词列表都是一样的。一些 Linux 发行版在单词文件中提供了多得多的内容。你的文件中可能有十万或者更多倍的单词。

在我的一个 Linux 系统中:

$ wc -l /usr/share/dict/words
102402 /usr/share/dict/words

在另一个系统中:

$ wc -l /usr/share/dict/words
479828 /usr/share/dict/words

请记住,look 命令只适用于通过单词开头查找,但如果你不想从单词的开头查找,还可以使用其他选项。

grep

我们深爱的 grep 命令像其他工具一样可以从一个单词文件中选出单词。如果你正在找以某些字母开头或结尾的单词,使用 grep 命令是自然而然的事情。它可以通过单词的开头、结尾或中间部分来匹配单词。系统中的单词文件可以像使用 look 命令时在 grep 命令中轻松使用。不过唯一的缺点是你需要指定文件,这一点与 look 不尽相同。

在单词的开头前加上 ^

$ grep ^terra /usr/share/dict/words
terrace
terrace's
terraced
terraces
terracing
terrain
terrain's
terrains
terrapin
terrapin's
terrapins
terraria
terrarium
terrarium's
terrariums

在单词的结尾后加上 $

$ grep bytes$ /usr/share/dict/words
bytes
gigabytes
kilobytes
megabytes
terabytes

使用 grep 时,你需要考虑大小写,不过 grep 命令也提供了一些选项。

$ grep ^[Zz]et /usr/share/dict/words
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
zettabyte

为单词文件添加软连接能使这种搜索方式更加便捷:

$ ln -s /usr/share/dict/words words
$ grep ^[Zz]et words
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
zettabytye

aspell

aspell 命令提供了一种不同的方式。它提供了一种方法来检查你提供给它的任何文件或文本的拼写。你可以通过管道将文本传递给它,然后它会告诉你哪些单词看起来有拼写错误。如果所有单词都拼写正确,则不会有任何输出。

$ echo Did I mispell that? | aspell list
mispell
$ echo I can hardly wait to try out aspell | aspell list
aspell
$ echo Did I misspell anything? | aspell list
$

list 参数告诉 aspell 为标准输入单词提供拼写错误的单词列表。

你还可以使用 aspell 来定位和更正文本文件中的单词。如果它发现一个拼写错误的单词,它将为你提供一个相似(但拼写正确的)单词列表来替换这个单词,你也可以将该单词加入个人词库(~/.aspell.en.pws)并忽略拼写错误,或者完全中止进程(使文件保持处理前的状态)。

$ aspell -c mytext

一旦 aspell 发现一个单词出现了拼写错误,它将会为不正确的 “mispell” 提供一个选项列表:

1) mi spell                             6) misplay
2) mi-spell                             7) spell
3) misspell                             8) misapply
4) Ispell                               9) Aspell
5) misspells                            0) dispel
i) Ignore                               I) Ignore all
r) Replace                              R) Replace all
a) Add                                  l) Add Lower
b) Abort                                x) Exit

请注意,备选单词和拼写是数字编号的,而其他选项是由字母选项表示的。你可以选择备选拼写中的一项或者自己输入替换项。“Abort” 选项将使文件保持不变,即使你已经为某些单词选择了替换。你选择添加的单词将被插入到本地单词文件中(例如 ~/.aspell.en.pws)。

其他单词列表

厌倦了英语? aspell 命令可以在其他语言中使用,只要你添加了相关语言的单词列表。例如,在 Debian 系统中添加法语的词库,你可以这样做:

$ sudo apt install aspell-fr

这个新的词库文件会被安装为 /usr/share/dict/French。为了使用它,你只需要简单地告诉 aspell 你想要使用替换的单词列表:

$ aspell --lang=fr -c mytext

这种情况下,当 aspell 读到单词 “one” 时,你可能会看到下面的情况:

1) once                                 6) orné
2) onde                                 7) ne
3) ondé                                 8) né
4) onze                                 9) on
5) orne                                 0) cône
i) Ignore                               I) Ignore all
r) Replace                              R) Replace all
a) Add                                  l) Add Lower
b) Abort                                x) Exit

你也可以从 GNU 官网获取其他语言的词库。

总结

即使你是全国拼字比赛的冠军,你可能偶尔也会需要一点拼写方面的帮助,哪怕只是为了找出你手滑打错的单词。aspell 工具,加上 lookgrep 命令已经准备来助你一臂之力了。


via: https://www.networkworld.com/article/3400942/how-linux-can-help-with-your-spelling.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:Modrisco 校对:wxy

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

电子产品的小型化正在触及其极限,部分原因在于热量管理。许多人现在都在积极地尝试解决这个问题。其中一种正在探索的途径是反向运行的 LED。

monsitj / Getty Images

寻找更有效的冷却计算机的方法,几乎与渴望发现更好的电池化学成分一样,在科学家的研究日程中也处于重要位置。

更多的冷却手段对于降低成本至关重要。冷却技术也使得在较小的空间中可以进行更强大的处理,其有限的处理能力应该是进行计算而不是浪费热量。冷却技术可以阻止热量引起的故障,从而延长部件的使用寿命,并且可以促进环保的数据中心 —— 更少的热量意味着对环境的影响更小。

如何从微处理器中消除热量是科学家们一直在探索的一个方向,他们认为他们已经提出了一个简单而不寻常、且反直觉的解决方案。他们说可以运行一个发光二极管(LED)的变体,其电极反转可以迫使该元件表现得像处于异常低温下工作一样。如果将其置于较热的电子设备旁边,然后引入纳米级间隙,可以使 LED 吸收热量。

“一旦 LED 反向偏置,它就会像一个非常低温的物体一样,吸收光子,”密歇根大学机械工程教授埃德加·梅霍夫在宣布了这一突破的新闻稿中说。 “与此同时,该间隙可防止热量返回,从而产生冷却效果。”

研究人员表示,LED 和相邻的电子设备(在这种情况下是热量计,通常用于测量热能)必须非常接近。他们说他们已经能够证明达到了每平方米 6 瓦的冷却功率。他们解释说,这是差不多是地球表面所接受到的阳光的能量。

物联网(IoT)设备和智能手机可能是最终将受益于这种 LED 改造的电子产品。这两种设备都需要在更小的空间中容纳更多的计算功率。

“从微处理器中可以移除的热量开始限制在给定空间内容纳的功率,”密歇根大学的公告说。

材料科学和冷却计算机

我之前写过关于新形式的计算机冷却的文章。源自材料科学的外来材料是正在探索的想法之一。美国能源部劳伦斯伯克利国家实验室表示,钠铋(Na3Bi)可用于晶体管设计。这种新物质带电荷,重要的是具有可调节性;但是,它不需要像超导体那样进行冷却。

事实上,这是超导体的一个问题。不幸的是,它们比大多数电子设备需要更多的冷却 —— 通过极端冷却消除电阻。

另外,康斯坦茨大学的德国研究人员表示他们很快将拥有超导体驱动的计算机,没有废热。他们计划使用电子自旋 —— 一种新的电子物理维度,可以提高效率。该大学去年在一份新闻稿中表示,这种方法“显著降低了计算中心的能耗”。

另一种减少热量的方法可能是用嵌入在微处理器上的螺旋和回路来取代传统的散热器。宾汉姆顿大学的科学家们表示,印在芯片上的微小通道可以为冷却剂提供单独的通道。

康斯坦茨大学说:“半导体技术的小型化正在接近其物理极限。”热管理现在被科学家提上了议事日程。这是“小型化的一大挑战”。


via: https://www.networkworld.com/article/3386876/running-leds-in-reverse-could-cool-computers.html#tk.rss_all

作者:Patrick Nelson 选题:lujun9972 译者:wxy 校对:wxy

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

Expand And Unexpand Commands Explained

本指南通过实际的例子解释两个 Linux 命令,即 expandunexpand。对于好奇的人,expandunexpand 命令用于将文件中的 TAB 字符替换为空格,反之亦然。在 MS-DOS 中也有一个名为 expand 的命令,它用于解压压缩文件。但 Linux 的 expand 命令只是将 TAB 转换为空格。这两个命令是 GNU coreutils 包的一部分,由 David MacKenzie 编写。

为了演示,我将在本文使用名为 ostechnix.txt 的文本文件。下面给出的所有命令都在 Arch Linux 中进行测试。

expand 命令示例

与我之前提到的一样,expand 命令使用空格替换文件中的 TAB 字符。

现在,让我们将 ostechnix.txt 中的 TAB 转换为空格,并将结果写入标准输出:

$ expand ostechnix.txt

如果你不想在标准输出中显示结果,只需将其写入另一个文件,如下所示。

$ expand ostechnix.txt>output.txt

我们还可以将标准输入中的 TAB 转换为空格。为此,只需运行 expand 命令而不带文件名:

$ expand

只需输入文本并按回车键就能将 TAB 转换为空格。按 CTRL+C 退出。

如果你不想转换非空白字符后的 TAB,请使用 -i 标记,如下所示。

$ expand -i ostechnix.txt

我们还可以设置每个 TAB 为指定数字的宽度,而不是 8(默认值)。

$ expand -t=5 ostechnix.txt

我们甚至可以使用逗号分隔指定多个 TAB 位置,如下所示。

$ expand -t 5,10,15 ostechnix.txt

或者,

$ expand -t "5 10 15" ostechnix.txt

有关更多详细信息,请参阅手册页。

$ man expand

unexpand 命令示例

正如你可能已经猜到的那样,unexpand 命令将执行与 expand 命令相反的操作。即它会将空格转换为 TAB。让我向你展示一些例子,以了解如何使用 unexpand 命令。

要将文件中的空白(当然是空格)转换为 TAB 并将输出写入标准输出,请执行以下操作:

$ unexpand ostechnix.txt

如果要将输出写入文件而不是仅将其显示到标准输出,请使用以下命令:

$ unexpand ostechnix.txt>output.txt

从标准输出读取内容,将空格转换为制表符:

$ unexpand

默认情况下,unexpand 命令仅转换初始的空格。如果你想转换所有空格而不是只是一行开头的空格,请使用 -a 标志:

$ unexpand -a ostechnix.txt

仅转换一行开头的空格(请注意它会覆盖 -a):

$ unexpand --first-only ostechnix.txt

使多少个空格替换成一个 TAB,而不是 8(会启用 -a):

$ unexpand -t 5 ostechnix.txt

相似地,我们可以使用逗号分隔指定多个 TAB 的位置。

$ unexpand -t 5,10,15 ostechnix.txt

或者,

$ unexpand -t "5 10 15" ostechnix.txt

有关更多详细信息,请参阅手册页。

$ man unexpand

在处理大量文件时,expandunexpand 命令对于用空格替换不需要的 TAB 时非常有用,反之亦然。


via: https://www.ostechnix.com/expand-and-unexpand-commands-tutorial-with-examples/

作者:sk 选题:lujun9972 译者:geekpi 校对:wxy

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

你在找 Linux 笔记本吗? 这里列出一些出售 Linux 电脑或者是专注于 Linux 系统的电商。

如今市面上几乎所有的电脑(苹果除外)都预装了 Windows 系统。Linux 使用者的惯常做法就是买一台这样的电脑,然后要么删除 Windows 系统并安装 Linux,要么安装 Linux 和 Windows 的双系统

但 Windows 系统并非无法避免。你其实也可以买到 Linux 电脑。

不过,既然可以轻松地在任何一台电脑上安装 Linux,为什么还要买一台预装了 Linux 的电脑呢?下面列举几个原因:

  • 预装 Windows 系统意味着你额外支付了 Windows 许可证的费用。你可以节省这笔开销。
  • 预装 Linux 的电脑都经过了硬件适配测试。你不需要担心系统无法正常运行 WiFi 或者蓝牙,也不再需要亲自去搞定这些事情了。
  • 购买 Linux 电脑相当于间接地支持了 Linux。更多的销售额可以反应出对 Linux 产品的需求,也就可能会有更多商家提供 Linux 作为一种可以选择的操作系统。

如果你正想买一台 Linux 的笔记本,不妨考虑一下我的建议。下面这些制造商或者商家都提供开箱即用的 Linux 系统。

可以买到 Linux 笔记本或者台式机的 10 个地方

在揭晓这个提供预装 Linux 电脑的商家的清单之前,需要先声明一下。

请根据你的独立决策购买。我在这里只是简单地列出一些售卖 Linux 电脑的商家,并不保证他们的产品质量、售后服务等等这些事情。

这也并不是一个排行榜。清单并不是按照某个特定次序排列的,每一项前面的数字只是为了方便计数,而并不代表名次。

让我们看看你可以在哪儿买到预装 Linux 的台式机或者笔记本吧。

1、戴尔

戴尔 XPS Ubuntu | 图片所有权: Lifehacker

戴尔提供 Ubuntu 笔记本已经有好几年了。他们的旗舰产品 XPS 系列的亮点之一就是预装了 Ubuntu 的开发者版本系列产品。

如果你读过我的 戴尔 XPS Ubuntu 版本评测就知道我是很喜欢这款笔记本的。两年多过去了,这个笔记本依然状况良好,没有性能恶化的迹象。

戴尔 XPS 是售价超过 1000 美元的昂贵设备。如果你的预算没有这么多,可以考虑戴尔更加亲民的 Inspiron 系列笔记本。

值得一提的是,戴尔并没有在它的官网上展示 Ubuntu 或者 Linux 笔记本产品。除非你知道戴尔提供 Linux 笔记本,你是不会找到它们的。

所以,去戴尔的官网上搜索关键字 “Ubuntu” 来获取预装 Ubuntu 的产品的信息吧。

支持范围:世界上大部分地区。

2、System76

System76 是 Linux 计算机世界里的一个响亮的名字。这家总部设在美国的企业专注于运行 Linux 的高端技术设备。他们的目标用户群体是软件开发者。

最初,System76 在自己的机器上提供的是 Ubuntu 系统。2017 年,他们发布了属于自己的 Linux 发行版,基于 Ubuntu 的 Pop!\_OS。从此以后,Pop!\_OS 就是他们机器上的默认操作系统了,但是仍然保留了 Ubuntu 这个选择。

除了性能之外,System76 还格外重视设计。他们的 Thelio 系列台式机 采用纯手工木制设计。

System76 Thelio 台式机

你可以在 这里 查看他们提供的 Linux 笔记本。他们同时也提供 基于 Linux 的迷你电脑服务器

值得一提的是,System76 在美国制造他们的电脑,而没有使用中国大陆或者台湾这种常规的选择。也许是出于这个原因,他们产品的售价较为高昂。

支持范围:美国以及其它 60 个国家。在美国境外可能会有额外的关税。更多信息见这里.

3、Purism

Purism 是一个总部设在美国的企业,以提供确保数据安全和隐私的产品和服务为荣。这就是为什么 Purism 称自己为 “效力社会的公司”。

Purism 是从一个众筹项目开始的,该项目旨在创造一个几乎没有任何专有软件的高端开源笔记本。2015年,从这个 成功的 25 万美元的众筹项目 中诞生了 Librem 15 笔记本。

Purism Librem 13

后来 Purism 发布了一个 13 英寸的版本 Librem 13。Purism 还开发了一个自己的 Linux 发行版 Pure OS,该发行版非常注重隐私和安全问题。

Pure OS 在台式设备和移动设备上都可以运行,并且是 Librem 笔记本和Librem 5 Linux 手机 的默认操纵系统。

Purism 的零部件来自中国大陆、台湾、日本以及美国,并在美国完成组装。他们的所有设备都有可以直接关闭的硬件开关,用来关闭麦克风、摄像头、无线连接或者是蓝牙。

支持范围:全世界范围国际免邮。可能需要支付额外的关税。

4、Slimbook

Slimbook 是一个总部设在西班牙的 Linux 电脑销售商。Slimbook 在发行了 第一款 KDE 品牌笔记本之后成为了人们关注的焦点。

他们的产品不仅限于 KDE Neon。他们还提供 Ubuntu、Kubuntu、Ubuntu MATE、Linux Mint 以及包括 LliurexMax) 这样的西班牙发行版。你也可以选择 Windows(需要额外付费)或者不预装任何操作系统。

Slimbook 有众多 Linux 笔记本、台式机和迷你电脑可供选择。他们另外一个非常不错的产品是一个类似于 iMac 的 24 英寸 拥有内置 CPU 的曲面显示屏

Slimbook Kymera Aqua 水冷 Linux 电脑

想要一台水冷 Linux 电脑吗?Slimbook 的 Kymera Aqua 是合适之选。

支持范围:全世界范围,不过在邮费和关税上都可能产生额外费用。

5、TUXEDO

作为这个 Linux 电脑销售商清单里的另一个欧洲成员,TUXEDO 总部设在德国,主要服务德国用户,其次是欧洲用户。

TUXEDO 只使用 Linux 系统,产品都是“德国制造”,并且提供 5 年保修和终生售后支持。

TUXEDO 在 Linux 系统的硬件适配上下了很大功夫。并且如果你遇到了麻烦或者是想从头开始,可以通过系统恢复选项,自动恢复出厂设置。

Tuxedo 电脑支持众多发行版

TUXEDO 有许多 Linux 笔记本、台式机和迷你电脑产品可供选择。他们还同时支持 Intel 和 AMD 的处理器。除了电脑,TUXEDO 还提供一系列 Linux 支持的附件,比如扩展坞、DVD 和蓝光刻录机、移动电源以及其它外围设备。

支持范围:150 欧元以上的订单在德国和欧洲范围内免邮。欧洲外国家会有额外的运费和关税。更多信息见 这里.

6、Vikings

Vikings 的总部设在德国(而不是斯堪的纳维亚半岛,哈哈)。Vikings 拥有自由软件基金会的认证,专注于自由友好的硬件。

Vikings 的产品经过了自由软件基金会认证

Vikings 的 Linux 笔记本和台式机使用的是 coreboot 或者 Libreboot,而不是像 BIOS 和 UEFI 这样的专有启动系统。你还可以购买不运行任何专有软件的 硬件服务器

Vikings 还有包括路由器、扩展坞等在内的其它配件。他们的产品都是在德国组装完成的。

支持范围:全世界(除了朝鲜)。非欧洲国家可能会有额外关税费用。更多信息见这里

7、Ubuntushop.be

不不!尽管名字里有 Ubuntu,但这不是官方的 Ubuntu 商店。Ubuntushop 总部位于比利时,最初是销售安装了 Ubuntu 的电脑。

如今,你可以买到预装了包括 Mint、Manjaro、elementrayOS 在内的 Linux 发行版的笔记本电脑。你还可以要求所购买的设备上安装你所选择的发行版。

Ubuntushop 的一个独特之处在于,它的所有电脑都带有默认的 Tails OS live 选项。即使你安装了某个其它的 Linux 发行版作为日常使用的系统,也随时可以选择启动到 Tails OS(不需要使用 live USB)。Tails OS 是一个基于 Debian 的发行版,它在用户注销后会删除所有使用痕迹,并且在默认情况下使用 Tor 网络。

和此列表中的许多其他重要玩家不同,我觉得 Ubuntushop 所提供的更像是一种“家庭工艺”。商家手动组装一个电脑,安装 Linux 然后卖给你。不过他们也在一些可选项上下了功夫,比如说轻松的重装系统,拥有自己的云服务器等等。

你可以找一台旧电脑快递给他们,就可以变成一台新安装 Linux 的电脑,他们就会在你的旧电脑上安装 轻量级 Linux 系统然后快递回来,这样你这台旧电脑就可以重新投入使用了。

支持范围:比利时以及欧洲的其它地区。

8、Minifree

Minifree,是 自由部门 Ministry of Freedom 的缩写,他们是一家注册在英格兰的公司。

你可以猜到 Minifree 非常注重自由。他们提供安全以及注重隐私的电脑,预装 Libreboot 而不是 BIOS 或者 UEFI。

Minifree 的设备经过了 自由软件基金会 的认证,所以你可以放心买到的电脑都遵循了自由开源软件的指导规则。

和这个清单中许多其它 Linux 笔记本销售商不同,Minifree 的电脑并不是特别贵。花 200 欧元就可以买到一台预装了 Libreboot 和 Trisquel GNU/Linux 的 Linux 电脑。

除了笔记本以外,Minifree 还有一系列的配件,比如 Libre 路由器、平板电脑、扩展坞、电池、键盘、鼠标等等。

如果你和 Richard Stallman 一样,希望只运行 100% 自由的软件的话,Minifree 就再适合不过了。

支持范围:全世界。运费信息见 这里

9、Entroware

Entroware 是另一个总部设在英国的销售商,专注基于 Linux 系统的笔记本、台式机和服务器。

和这个清单里的很多其它商家一样,Entroware 也选择 Ubuntu 作为 Linux 发行版。Ubuntu MATE 也是 Entroware Linux 笔记本的一种可选系统.

除了笔记本、台式机和服务器之外,Entroware 还拥有自己的 迷你电脑 Aura,以及一个 iMac 风格的内置 CPU 的显示器 Ares.

支持范围: 英国、爱尔兰、法国、德国、意大利、西班牙。

10、Juno

这是我们清单上的一个新的 Linux 笔记本销售商。Juno 的总部同样设在英国,提供预装 Linux 的电脑。可选择的 Linux 发行版包括 elementary OS、Ubuntu 和 Solus OS。

Juno 提供一系列的笔记本,以及一款叫做 Olympia 迷你电脑。和列表里其它商家提供的大多数迷你电脑一样,Olympia 也基本上相当于一个 Intel NUC

Juno 的主要特色是 Juve,一款售价 299 美元的 Chromebook 的低成本替代品。它运行一个双系统,包括 Solus 或者 elementray,以及一个基于安卓的电脑操作系统 Prime OS

Juve With Android-based Prime Os

支持范围:英国、美国、加拿大、墨西哥、南美和欧洲的大部分地区、新西兰、亚洲和非洲的某些地区。更多信息见 这里

荣誉奖

我列举了 10 个可以买到 Linux 电脑的地方,但其实还有一些其它类似的商店。清单里放不下这么多,并且它们其中的几个似乎大多数商品都缺货。不过我还是要在这里稍微提一下它们,方便你自己查找相关信息:

包括宏碁和联想在内的其它主流电脑生产商可能也有基于 Linux 系统的产品,所以你不妨也查看一下他们的产品目录吧。

你有没有买过 Linux 电脑?在哪儿买的?使用体验怎么样?Linux 笔记本值不值得买?分享一下你的想法吧。


via: https://itsfoss.com/get-linux-laptops/

作者:Abhishek Prakash 选题:lujun9972 译者:chen-ni 校对:wxy

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

为了安装操作系统,我们中的大多数人(包括我)经常从 ISO 文件中创建一个可启动的 USB 设备。为达到这个目的,在 Linux 中有很多自由可用的应用程序。甚至在过去我们写了几篇介绍这种实用程序的文章。

每个人使用不同的应用程序,每个应用程序有它们自己的特色和功能。在这些应用程序中,一些应用程序属于 CLI 程序,一些应用程序则是 GUI 的。

今天,我们将讨论名为 BootISO 的实用程序类似工具。它是一个简单的 bash 脚本,允许用户来从 ISO 文件中创建一个可启动的 USB 设备。

很多 Linux 管理员使用 dd 命令开创建可启动的 ISO ,它是一个著名的原生方法,但是与此同时,它也是一个非常危险的命令。因此,小心,当你用 dd 命令执行一些动作时。

建议阅读:

BootISO 是什么

BootISO 是一个简单的 bash 脚本,允许用户来安全的从一个 ISO 文件中创建一个可启动的 USB 设备,它是用 bash 编写的。

它不提供任何图形用户界面而是提供了大量的选项,可以让初学者顺利地在 Linux 上来创建一个可启动的 USB 设备。因为它是一个智能工具,能自动地选择连接到系统上的 USB 设备。

当系统有多个 USB 设备连接,它将打印出列表。当你手动选择了另一个硬盘而不是 USB 时,在这种情况下,它将安全地退出,而不会在硬盘上写入任何东西。

这个脚本也将检查依赖关系,并提示用户安装,它可以与所有的软件包管理器一起工作,例如 apt-get、yum、dnf、pacman 和 zypper。

BootISO 的功能

  • 它检查选择的 ISO 是否是正确的 mime 类型。如果不是,那么退出。
  • 如果你选择除 USB 设备以外的任何其它的磁盘(本地硬盘),BootISO 将自动地退出。
  • 当你有多个驱动器时,BootISO 允许用户选择想要使用的 USB 驱动器。
  • 在擦除和分区 USB 设备前,BootISO 会提示用户确认。
  • BootISO 将正确地处理来自一个命令的任何错误,并退出。
  • BootISO 在遇到问题退出时将调用一个清理例行程序。

如何在 Linux 中安装 BootISO

在 Linux 中安装 BootISO 有几个可用的方法,但是,我建议用户使用下面的方法安装。

$ curl -L https://git.io/bootiso -O
$ chmod +x bootiso
$ sudo mv bootiso /usr/local/bin/

一旦 BootISO 已经安装,运行下面的命令来列出可用的 USB 设备。

$ bootiso -l

Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE   TYPE
sdd  1       32G  running disk

如果你仅有一个 USB 设备,那么简单地运行下面的命令来从一个 ISO 文件中创建一个可启动的 USB 设备。

$ bootiso /path/to/iso file
$ bootiso /opt/iso_images/archlinux-2018.05.01-x86_64.iso
Granting root privileges for bootiso.
Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE   TYPE
sdd  1       32G  running disk
Autoselecting `sdd' (only USB device candidate)
The selected device `/dev/sdd' is connected through USB.
Created ISO mount point at `/tmp/iso.vXo'
`bootiso' is about to wipe out the content of device `/dev/sdd'.
Are you sure you want to proceed? (y/n)>y
Erasing contents of /dev/sdd...
Creating FAT32 partition on `/dev/sdd1'...
Created USB device mount point at `/tmp/usb.0j5'
Copying files from ISO to USB device with `rsync' 
Synchronizing writes on device `/dev/sdd' 
`bootiso' took 250 seconds to write ISO to USB device with `rsync' method.
ISO succesfully unmounted.
USB device succesfully unmounted.
USB device succesfully ejected.
You can safely remove it !

当你有多个 USB 设备时,可以使用 --device 选项指明你的设备名称。

$ bootiso -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

默认情况下,BootISO 使用 rsync 命令来执行所有的动作,如果你想使用 dd 命令代替它,使用下面的格式。

$ bootiso --dd -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

如果你想跳过 mime 类型检查,BootISO 实用程序带有下面的选项。

$ bootiso --no-mime-check -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

为 BootISO 添加下面的选项来跳过在擦除和分区 USB 设备前的用户确认。

$ bootiso -y -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

连同 -y 选项一起,启用自动选择 USB 设备。

$ bootiso -y -a /opt/iso_images/archlinux-2018.05.01-x86_64.iso

为知道更多的 BootISO 选项,运行下面的命令。

$ bootiso -h
Create a bootable USB from any ISO securely.
Usage: bootiso [...] 

Options

-h, --help, help             Display this help message and exit.
-v, --version                Display version and exit.
-d, --device         Select  block file as USB device.
                             If  is not connected through USB, `bootiso' will fail and exit.
                             Device block files are usually situated in /dev/sXX or /dev/hXX.
                             You will be prompted to select a device if you don't use this option.
-b, --bootloader             Install a bootloader with syslinux (safe mode) for non-hybrid ISOs. Does not work with `--dd' option.
-y, --assume-yes             `bootiso' won't prompt the user for confirmation before erasing and partitioning USB device.
                             Use at your own risks.
-a, --autoselect             Enable autoselecting USB devices in conjunction with -y option.
                             Autoselect will automatically select a USB drive device if there is exactly one connected to the system.
                             Enabled by default when neither -d nor --no-usb-check options are given.
-J, --no-eject               Do not eject device after unmounting.
-l, --list-usb-drives        List available USB drives.
-M, --no-mime-check          `bootiso' won't assert that selected ISO file has the right mime-type.
-s, --strict-mime-check      Disallow loose application/octet-stream mime type in ISO file.
--                           POSIX end of options.
--dd                         Use `dd' utility instead of mounting + `rsync'.
                             Does not allow bootloader installation with syslinux.
--no-usb-check               `bootiso' won't assert that selected device is a USB (connected through USB bus).
                             Use at your own risks.

Readme

    Bootiso v2.5.2.
    Author: Jules Samuel Randolph
    Bugs and new features: https://github.com/jsamr/bootiso/issues
    If you like bootiso, please help the community by making it visible:
    * star the project at https://github.com/jsamr/bootiso
    * upvote those SE post: https://goo.gl/BNRmvm https://goo.gl/YDBvFe

via: https://www.2daygeek.com/bootiso-a-simple-bash-script-to-securely-create-a-bootable-usb-device-in-linux-from-iso-file/

作者:Prakash Subramanian 选题:lujun9972 译者:robsean 校对:wxy

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

今天,我们将讨论磁盘分区。这是 Linux 中的一个好话题。这允许用户来重新调整在 Linux 中的活动 root 分区。

在这篇文章中,我们将教你如何使用 GParted 缩放在 Linux 上的活动根分区。

比如说,当我们安装 Ubuntu 操作系统时,并没有恰当地配置,我们的系统仅有 30 GB 磁盘。我们需要安装另一个操作系统,因此我们想在其中制作第二个分区。

虽然不建议重新调整活动分区。然而,我们要执行这个操作,因为没有其它方法来释放系统分区。

注意:在执行这个动作前,确保你备份了重要的数据,因为如果一些东西出错(例如,电源故障或你的系统重启),你可以得以保留你的数据。

Gparted 是什么

GParted 是一个自由的分区管理器,它使你能够缩放、复制和移动分区,而不丢失数据。通过使用 GParted 的 Live 可启动镜像,我们可以使用 GParted 应用程序的所有功能。GParted Live 可以使你能够在 GNU/Linux 以及其它的操作系统上使用 GParted,例如,Windows 或 Mac OS X 。

1) 使用 df 命令检查磁盘空间利用率

我只是想使用 df 命令向你显示我的分区。df 命令输出清楚地表明我仅有一个分区。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  3.4G 26.2G  16% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            487M  4.0K  487M   1% /dev
tmpfs           100M  844K   99M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            498M  152K  497M   1% /run/shm
none            100M   52K  100M   1% /run/user

2) 使用 fdisk 命令检查磁盘分区

我将使用 fdisk 命令验证这一点。

$ sudo fdisk -l
[sudo] password for daygeek:

Disk /dev/sda: 33.1 GB, 33129218048 bytes
255 heads, 63 sectors/track, 4027 cylinders, total 64705504 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000473a3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    62609407    31303680   83  Linux
/dev/sda2        62611454    64704511     1046529    5  Extended
/dev/sda5        62611456    64704511     1046528   82  Linux swap / Solaris

3) 下载 GParted live ISO 镜像

使用下面的命令来执行下载 GParted live ISO。

$ wget https://downloads.sourceforge.net/gparted/gparted-live-0.31.0-1-amd64.iso

4) 使用 GParted Live 安装介质启动你的系统

使用 GParted Live 安装介质(如烧录的 CD/DVD 或 USB 或 ISO 镜像)启动你的系统。你将获得类似于下面屏幕的输出。在这里选择 “GParted Live (Default settings)” ,并敲击回车按键。

5) 键盘选择

默认情况下,它选择第二个选项,按下回车即可。

6) 语言选择

默认情况下,它选择 “33” 美国英语,按下回车即可。

7) 模式选择(图形用户界面或命令行)

默认情况下,它选择 “0” 图形用户界面模式,按下回车即可。

8) 加载 GParted Live 屏幕

现在,GParted Live 屏幕已经加载,它显示我以前创建的分区列表。

9) 如何重新调整根分区大小

选择你想重新调整大小的根分区,在这里仅有一个分区,所以我将编辑这个分区以便于安装另一个操作系统。

为做到这一点,按下 “Resize/Move” 按钮来重新调整分区大小。

现在,在第一个框中输入你想从这个分区中取出的大小。我将索要 “10GB”,所以,我添加 “10240MB”,并让该对话框的其余部分为默认值,然后点击 “Resize/Move” 按钮。

它将再次要求你确认重新调整分区的大小,因为你正在编辑活动的系统分区,然后点击 “Ok”。

分区从 30GB 缩小到 20GB 已经成功。也显示 10GB 未分配的磁盘空间。

最后点击 “Apply” 按钮来执行下面剩余的操作。

e2fsck 是一个文件系统检查实用程序,自动修复文件系统中与 HDD 相关的坏扇道、I/O 错误。

resize2fs 程序将重新调整 ext2、ext3 或 ext4 文件系统的大小。它可以被用于扩大或缩小一个位于设备上的未挂载的文件系统。

e2image 程序将保存位于设备上的关键的 ext2、ext3 或 ext4 文件系统的元数据到一个指定文件中。

所有的操作完成,关闭对话框。

现在,我们可以看到未分配的 “10GB” 磁盘分区。

重启系统来检查这一结果。

10) 检查剩余空间

重新登录系统,并使用 fdisk 命令来查看在分区中可用的空间。是的,我可以看到这个分区上未分配的 “10GB” 磁盘空间。

$ sudo parted /dev/sda print free
[sudo] password for daygeek: 
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
        32.3kB  10.7GB  10.7GB           Free Space
 1      10.7GB  32.2GB  21.5GB  primary  ext4         boot

via: https://www.2daygeek.com/how-to-resize-active-primary-root-partition-in-linux-using-gparted-utility/

作者:Magesh Maruthamuthu 译者:robsean 校对:wxy 选题:lujun9972

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