Skip to content

Commit

Permalink
Make a proofreading
Browse files Browse the repository at this point in the history
  • Loading branch information
Arondight committed May 27, 2023
1 parent 00e8571 commit 223995d
Show file tree
Hide file tree
Showing 38 changed files with 271 additions and 280 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
- 2023-05-28
- 整体校对
- 2023-05-24
- 中英文混排优化
- 2016-03-20
Expand Down
28 changes: 14 additions & 14 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,18 +138,18 @@ $ git pull origin master
| 第十八章 | [Arondight][id_name_arondight] [nnnewb][id_name_nnnewb] [zha0300][id_name_zha0300] |
| 第十九章 | [coolrc136][id_name_coolrc136] |

[id_slackwarecn]: https://github.com/slackwarecn "访问The Slackware Linux CN Community"
[id_issues]: https://github.com/slackwarecn/slackbook_cn/issues "提交 Issues"
[id_joinus]: http://slackwarecn.github.io/JoinUs "加入我们!"
[id_pull_requests]: https://github.com/slackwarecn/slackbook_cn/pulls "查看Pull Requests"
[id_issues]: https://github.com/slackwarecn/slackbook_cn/issues "提交Issues"
[id_name_arondight]: https://github.com/Arondight
[id_name_zhuduiyou]: https://github.com/zhuduiyou
[id_name_coolrc136]: https://github.com/coolrc136
[id_name_unnamed42]: https://github.com/unnamed42
[id_name_liandesinian]: https://github.com/liandesinian
[id_name_zha0300]: https://github.com/zha0300
[id_name_abbycin]: https://github.com/abbycin
[id_name_farkasity]: https://github.com/farkasity
[id_name_cantaosir]: https://github.com/cantaosir
[id_name_ziyudiemou]: http://tieba.baidu.com/home/main?un=%E7%B4%AB%E9%9B%A8%E8%9D%B6%E7%9C%B8&ie=utf-8&fr=pb
[id_name_nnnewb]: https://github.com/nnnewb
[id_name_abbycin]: https://github.com/abbycin "访问该用户主页"
[id_name_arondight]: https://github.com/Arondight "访问该用户主页"
[id_name_cantaosir]: https://github.com/cantaosir "访问该用户主页"
[id_name_coolrc136]: https://github.com/coolrc136 "访问该用户主页"
[id_name_farkasity]: https://github.com/farkasity "访问该用户主页"
[id_name_liandesinian]: https://github.com/liandesinian "访问该用户主页"
[id_name_nnnewb]: https://github.com/nnnewb "访问该用户主页"
[id_name_unnamed42]: https://github.com/unnamed42 "访问该用户主页"
[id_name_zha0300]: https://github.com/zha0300 "访问该用户主页"
[id_name_zhuduiyou]: https://github.com/zhuduiyou "访问该用户主页"
[id_name_ziyudiemou]: http://tieba.baidu.com/home/main?un=%E7%B4%AB%E9%9B%A8%E8%9D%B6%E7%9C%B8&ie=utf-8&fr=pb "访问该用户主页"
[id_pull_requests]: https://github.com/slackwarecn/slackbook_cn/pulls "查看 Pull Requests"
[id_slackwarecn]: https://github.com/slackwarecn "访问 The Slackware Linux CN Community"
29 changes: 10 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,11 @@

本书是 [Slackbook][id_slackbook] 的中文版,项目托管于 [Github][id_github]

[id_github]: https://github.com/slackwarecn/slackbook_cn "访问项目主页"
[id_slackbook]: http://slackbook.org "访问The Revised Slackware Book Project主页"

### 修订历史

你可以在 [这里][id_changes] 查看该文档的修订历史。

[id_changes]: https://github.com/slackwarecn/slackbook_cn/blob/master/CHANGES.md "查看修订历史"

### 获取文档

- [在线阅读][id_online]
- [发布页面][id_releases]
推荐直接[在线阅读][id_online]本书,当然你也可以在[发布页面][id_releases]获取电子书版本。

[id_online]: https://slackwarecn.gitbook.io/slackbook_cn "阅读在线版本"
[id_releases]: https://github.com/slackwarecn/slackbook_cn/releases "查看已发布文档"

### 本地编译
### 自行编译

[GitBook][id_gitbook] 需要 [Calibre][id_calibre] 以输出 PDF、EPUB 和 MOBI 格式。安装此软件前,确保你的 Slackware Linux 中已安装 `python3``wget``xdg-utils``xz` 软件包。

Expand All @@ -35,14 +22,18 @@ make

> 因为 GitBook 官方已经 [不再支持 CLI][id_gitbook_deprecation],所以这里使用了非官方维护的版本。
[id_gitbook]: https://github.com/GitbookIO/gitbook "Gitbook项目主页"
[id_gitbook_deprecation]: https://github.com/GitbookIO/gitbook#%EF%B8%8F-deprecation-warning "查看GitBook官方不再支持CLI公告"
[id_calibre]: https://github.com/kovidgoyal/calibre/releases "点此获取Calibre"

### 贡献力量

如果你想为项目贡献你的力量,请务必事先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)

### 版权

Copyright (c) 2016-2023 The Slackware Linux CN Community (https://github.com/slackwarecn/)

[id_calibre]: https://github.com/kovidgoyal/calibre "访问 Calibre 项目"
[id_gitbook]: https://github.com/GitbookIO/gitbook "访问 Gitbook 项目"
[id_gitbook_deprecation]: https://github.com/GitbookIO/gitbook#%EF%B8%8F-deprecation-warning "查看 GitBook 官方不再支持 CLI 的公告"
[id_github]: https://github.com/slackwarecn/slackbook_cn "访问本项目主页"
[id_online]: https://slackwarecn.gitbook.io/slackbook_cn "在线阅读本书"
[id_releases]: https://github.com/slackwarecn/slackbook_cn/releases "查看发布页面"
[id_slackbook]: http://slackbook.org "访问 The Revised Slackware Book Project 主页"
4 changes: 3 additions & 1 deletion chapter_01/Licensing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Slackware 的每一部分都由不同的人或团队开发,因为开发者们对"自由"都有各自不同的看法,所以出现了很多协议,这些协议针对软件的使用或分发授予了用户不同的权限。好在处理这些协议并不困难。多数软件都釆用 GPL 或 BSD 协议,大部分其他协议与这两种协议都非常相似。

在自由软件社区用的最多的协议可能就是 GNU 通用公共许可证(GNU General Public License)了。GPL 由 [自由软件基金会(Free Software Foundation)](http://fsf.org/ "自由软件基金会") 设计,事实上,“自由软件”一词就是自由软件基金会创造的。GPL 对软件的使用没有做任何限制,如果只是使用 GPL 软件甚至可以不接受协议中的条款,但如果要分发或修改 GPL 软件,就必须遵守 GPL 协议。很多 Slackware 附带的软件,从 Linux 内核到 Samba,都在 GPL 协议下发布。
在自由软件社区用的最多的协议可能就是 GNU 通用公共许可证(GNU General Public License)了。GPL 由 [自由软件基金会][id_fsf](Free Software Foundation)设计,事实上,“自由软件”一词就是自由软件基金会创造的。GPL 对软件的使用没有做任何限制,如果只是使用 GPL 软件甚至可以不接受协议中的条款,但如果要分发或修改 GPL 软件,就必须遵守 GPL 协议。很多 Slackware 附带的软件,从 Linux 内核到 Samba,都在 GPL 协议下发布。

另一个常用的协议是 BSD 协议,BSD 协议可以说比 GPL 协议“更加自由”,因为它只要求保留版权声明和免责声明,对衍生作品几乎没有做任何限制。很多 Slackware 特有的小工具采用 BSD 协议,BSD 协议也是很多小型项目的首选协议。

[id_fsf]: http://fsf.org/ "访问自由软件基金会"
4 changes: 2 additions & 2 deletions chapter_02/Partitioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

为了对硬盘进行分区,你首先要先知道如何识别它。在 Linux 中,所有的硬件都被识别成设备文件。这些文件位于 `/dev` 目录中。今天几乎所有的硬盘都被内核识别为 SCSI 硬盘,同时它们被分配为诸如 `/dev/sda` 的设备文件(曾经有一段时间每个硬盘类型都有它自己独有的识别,像是 `/dev/hda` 表示第一块 IDE 盘。几年后,内核的 SCSI 子系统演变成了通用的驱动接入系统被用于所有的硬盘和光驱而不论它们是如何接入你的计算机的。如果你对此感到困惑,想象一下如果你有一个接入了 SCSI 硬盘,SATA 光驱和 USB 的系统,所有的都是独特的子系统识别身份。而现在的系统不仅干净而且工作得更好)

如果你不知道你的硬盘被分配了那个设备文件,fdisk 可以帮助你。
如果你不知道你的硬盘被分配了那个设备文件,`fdisk` 可以帮助你。

```
root@slackware:/# fdisk -l
Expand All @@ -14,7 +14,7 @@ Disk /dev/sda: 72.7 GB, 72725037056 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
```

这里你可以看到我的系统有一块位于 `/dev/sda` 的 72.7GB 硬盘。你可以看到一些额外的信息。 `-l` 参数用来显示硬盘和分区信息,但是不会作出修改,为了进行分区需要告诉 fdisk 要对哪块硬盘进行操作。
这里你可以看到我的系统有一块位于 `/dev/sda` 的 72.7GB 硬盘。你可以看到一些额外的信息。 `-l` 参数用来显示硬盘和分区信息,但是不会作出修改,为了进行分区需要告诉 `fdisk` 要对哪块硬盘进行操作。

```
root@slackware:/# fdisk /dev/sda
Expand Down
4 changes: 2 additions & 2 deletions chapter_02/The_setup_Program/Configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ LILO 是 Slackware 系统很重要的一部分,所以整个第三章就是在

下面是配置网络。如果你不想配置网络可以跳过,否则就需要给计算机提供一个主机名。如果你不清楚在做什么可以先看 [第十四章](../../chapter_14/README.md)

接下来会让你输入主机名、域名。主机名和域名被用来在使用了内部 DNS 服务的网络中定位计算机或者配置 `/etc/hosts` 文件。默认主机名为darkstar
接下来会让你输入主机名、域名。主机名和域名被用来在使用了内部 DNS 服务的网络中定位计算机或者配置 `/etc/hosts` 文件。默认主机名为 `darkstar`

有三种方法可以配置 IP 地址:分配一个静态的 IP、DHCP 或者配置环回连接。最简单的是使用 DHCP。除非你安装 Slackwar 是作为网络服务器,这样你可能需要配置静态 IP。如果选择配置静态 IP,会让你输入 IP 地址、子网掩码、网关 IP 地址。最后是确认屏幕。

网络配置结束后会进行启动服务的配置。如果你不确定可以使用默认配置,之后可以通过 pkgtool 修改。
网络配置结束后会进行启动服务的配置。如果你不确定可以使用默认配置,之后可以通过 `pkgtool` 修改。

之后就是设置时间和时区。

Expand Down
43 changes: 21 additions & 22 deletions chapter_03/Dual_Booting/Dual_Booting_with_Partitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,40 @@

> ##### 注意
>
> 如果你搭建的是两个 Linux 的双系统,我们不推荐两个系统共用/home。虽然这在技术上可行,但因为不同的桌面环境和软件版本,会增加你的个人配置文件损坏几率。
> 如果你搭建的是两个 Linux 的双系统,我们不推荐两个系统共用 `/home`。虽然这在技术上可行,但因为不同的桌面环境和软件版本,会增加你的个人配置文件损坏几率。
>
> 但共用交换分区是安全的。
你应该至少给硬盘分三个区
你应该至少给硬盘划分三个分区

- Slackware 一个分区
- 第二系统一个分区
- 交换分区
- 一个为 Slackware 准备的分区。
- 一个为其他系统准备的分区。
- 一个交换分区。

首先,按照“[第二章、安装](../../chapter_02/README.md)”所述,把 Slackware 安装到第一个分区。

安装好,启动好,一切正常之后,重启进入第二系统。第二系统总会想要占用整个驱动器,你显然*不希望*这样做,所以它限制为仅第二个分区。此外,该操作系统将尝试把引导器安装到硬盘驱动器的开头,覆盖 LILO.
安装好,启动好,一切正常之后,重启进入第二系统。第二系统总会想要占用整个驱动器,你显然**不希望**这样做,所以它限制为仅第二个分区。此外,该操作系统将尝试把引导器安装到硬盘驱动器的开头,覆盖 LILO

有关引导器,可采取如下做法:

##### 可能的启动引导器方案

<div style="margin-left: 0.5in; margin-right: 0.5in;">
<p>如果第二系统是Linux,禁止它安装启动管理器。</p>
<p>如果双启动进入另一Linux发行版,该发行版的安装程序通常会询问是否安装启动引导程序。你当然可以不安装引导程序,手动管理LILO来启动Slackware和另一发行版。</p>
<p>取决于另一发行版,比起只安装Slackware时你可能会更频繁地修改LILO配置。有些发行版因为频繁更新内核而臭名远扬,这就意味着每次更新你都要修改LILO配置。但如果你不想时时修改配置文件,你就不会选择Slackware了。</p>
</div>
###### 一、如果第二系统是 Linux,禁止它安装启动管理器

##### 如果第二系统是 Linux,让它用 GRUB 来替换 LILO
如果双启动进入另一 Linux 发行版,该发行版的安装程序通常会询问是否安装启动引导程序。你当然可以不安装引导程序,手动管理 LILO 来启动 Slackware 和另一发行版。

<div style="margin-left: 0.5in; margin-right: 0.5in;">
<p>如果双启动进入另一Linux发行版,你完全可以用GRUB来替换LILO,或最后安装Slackware并都使用LILO。LILO和GRUB都有自动检测的特性,所以不管最后安装的是谁都要探测其他发行版的存在并为它创建一个启动条目。</p>
<p>由于其他的发行版往往会自动更新他们的GRUB菜单,总有可能出点差错然后就无法启动Slackware了。发生这种情况,不要惊慌,进入其它Linux的分区,手动修改GRUB菜单的Slackware条目使之指向正确的分区,内核和initrd(如果适用的话)。</p>
</div>
取决于另一发行版,比起只安装 Slackware 时你可能会更频繁地修改 LILO 配置。有些发行版因为频繁更新内核而臭名远扬,这就意味着每次更新你都要修改 LILO 配置。但如果你不想时时修改配置文件,你就不会选择 Slackware 了。

##### 让第二系统替换掉 LILO 并在之后重新安装并配置 LILO
###### 二、如果第二系统是 Linux,让它用 GRUB 来替换 LILO

<div style="margin-left: 0.5in; margin-right: 0.5in;">
<p>这个选择也是可行的,尤其是第二系统是Windows的时候。经常Windows更新之后会重写MBR, 这时候就要手动重新安装LILO了。</p>
<p>要在其他系统抹除LILO之后修复,启动Slackware安装介质进入配置阶段。<strong>不要</strong>重新分区或重新安装Slackware,直接跳到“<a href="../../chapter_02/The_setup_Program/Configure.md">配置</a>”部分。</p>
<p>使用简单模式LILO的时候,它也会自动探测并创建启动菜单。如果失败了,那么就需要手动创建条目了。</p>
</div>
如果双启动进入另一 Linux 发行版,你完全可以用 GRUB 来替换 LILO,或最后安装 Slackware 并都使用 LILO。LILO 和 GRUB 都有自动检测的特性,所以不管最后安装的是谁都要探测其他发行版的存在并为它创建一个启动条目。

由于其他的发行版往往会自动更新他们的 GRUB 菜单,总有可能出点差错然后就无法启动 Slackware 了。发生这种情况,不要惊慌,进入其它 Linux 的分区,手动修改 GRUB 菜单的 Slackware 条目使之指向正确的分区,内核和 initrd(如果适用的话)。

##### 三、让第二系统替换掉 LILO 并在之后重新安装并配置 LILO

这个选择也是可行的,尤其是第二系统是 Windows 的时候。经常 Windows 更新之后会重写 MBR, 这时候就要手动重新安装 LILO 了。

要在其他系统抹除 LILO 之后修复,启动 Slackware 安装介质进入配置阶段。**不要**重新分区或重新安装 Slackware,直接跳到“[配置](../../chapter_02/The_setup_Program/Configure.md)”部分。

使用简单模式 LILO 的时候,它也会自动探测并创建启动菜单。如果失败了,那么就需要手动创建条目了。
4 changes: 2 additions & 2 deletions chapter_03/mkinitrd.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ darkstar:~# ls -1 /boot/vmlinuz*

巨型内核正如其名。但这**并不**意味着它们含有所有可用的驱动程序并把这些驱动编译进入内核。相反,这些内核是为了能够启动(并运行)在所有 Slackware 能支持的电脑上而设计的(虽然仍有一部分电脑无法正常启动/运行)。它们大多包含一些针对你机器上没有的硬件(以后也不会有)的支持,但这不是重点。出于各种原因我们附带上了这些内核,其中最重要的原因就是——它们是 Slackware 安装介质使用的内核。如果你选择让安装程序为您自动配置 bootloader 的话,它会使用这些内核来为数不尽的硬件提供支持。与之相反,通用内核不使用外部模块的话只能驱动很少一部分的硬件。如果你想使用通用内核的话,你就会用上 initrd,它是 `mkinitrd(8)` 工具生成的。

那么,为什么要使用通用内核呢?目前出于各种原因,Slackware 的开发团队建议使用通用内核。也许最显然的原因是文件大小。在未压缩并未加载到内存之前,巨型内核是通用内核的约两倍大小 ​​。如果您运行的是旧机器,或内存很小的机器,你会明白通用内核缩减大小的好处。其他原因就较为难以量化。巨型内核包含的驱动程序之间时不时就会发生冲突。一般来讲,​​ 巨型内核性能不如通用内核。此外,使用通用内核的话,就分别能给硬件驱动传递特殊的参数,而不需要在内核命令行上传递。如果你的内核使用的是外部模块形式的驱动程序,而不是静态地把他们构建进内核的时候,一些 Slackware 上的工具的性能会更高。如果你不是很懂,也不要惊慌:只要记得“巨型内核意味着好,通用内核意味着更好”。
那么,为什么要使用通用内核呢?目前出于各种原因,Slackware 的开发团队建议使用通用内核。也许最显然的原因是文件大小。在未压缩并未加载到内存之前,巨型内核是通用内核的约两倍大小。如果您运行的是旧机器,或内存很小的机器,你会明白通用内核缩减大小的好处。其他原因就较为难以量化。巨型内核包含的驱动程序之间时不时就会发生冲突。一般来讲,巨型内核性能不如通用内核。此外,使用通用内核的话,就分别能给硬件驱动传递特殊的参数,而不需要在内核命令行上传递。如果你的内核使用的是外部模块形式的驱动程序,而不是静态地把他们构建进内核的时候,一些 Slackware 上的工具的性能会更高。如果你不是很懂,也不要惊慌:只要记得“巨型内核意味着好,通用内核意味着更好”。

不幸的是,使用通用内核不如使用巨型内核那么简单。为了使通用内核来引导你的系统,你还必须在 initrd 上加载几个基本模块。模块是编译好的内核代码段,可插入内核或从运行的内核去掉(最好使用 `modprobe(8)`,这使得系统只是增加了一点点的复杂性的基础上变得更加灵活。至少在这个部分,模块会让你联想到设备驱动程序。通常情况下,安装时不管你的根分区是什么文件系统都要加载对应的模块,如果你的根分区位于 SCSI 硬盘或者 RAID 控制器上也要加载模块。最后,如果你使用软件 RAID,硬盘加密,或 LVM,你还需要创建一个 initrd,无论你是否使用通用内核。

Expand Down Expand Up @@ -48,7 +48,7 @@ tmpfs on /dev/shm type tmpfs (rw)
darkstar:~# mkinitrd -f ext4 -r /dev/sda1
```

值得注意的是 `mkinitrd` 在大多数情况下能够自行确定这些信息,但自己手动指定的话又不会有什么坏处。既然我们创建了 `initrd`,我们就要告诉 LILO 去哪能找到它。这些将在下一章节详细描述。
值得注意的是 `mkinitrd` 在大多数情况下能够自行确定这些信息,但自己手动指定的话又不会有什么坏处。既然我们创建了 initrd,我们就要告诉 LILO 去哪能找到它。这些将在下一章节详细描述。

看看这些 `mkinitrd` 的选项就头疼,更别说记下它们了,尤其是你还想尝试各种不同内核的时候。Slackware 开发团队也觉得很不爽,所以他们制作了一个简单的配置文件,`mkinitrd.conf(5)` 。你能在 `/etc/mkinitrd.conf.sample` 找到样板文件并自己定制。拿我自己的举例:

Expand Down
Loading

0 comments on commit 223995d

Please sign in to comment.