Skip to content

Commit 96600b0

Browse files
authored
Auto deploy from GitHub Actions build 813
iBug: [6d350b2] package.json: Bump Prettier to ^3 (#96)
1 parent 3591ed2 commit 96600b0

8 files changed

Lines changed: 70 additions & 67 deletions

File tree

Ch01/index.html

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1937,28 +1937,28 @@ <h3 id="linux-distributions">Linux 发行版<a class="headerlink" href="#linux-d
19371937
<p>这里给读者介绍若干桌面和服务器环境中主流的发行版分支:</p>
19381938
<h4 id="debian-branch">Debian 分支<a class="headerlink" href="#debian-branch" title="Permanent link">&para;</a></h4>
19391939
<p>Debian 是一个完全由自由软件构成的类 UNIX 操作系统,第一个版本发布于 1993 年 9 月 15 日,迄今仍在维护,是最早的发行版之一。其以坚持自由软件精神和生态环境优良而出名,拥有庞大的用户群体,甚至自己也成为了一个主流的子框架,称为“Debian GNU/Linux”。</p>
1940-
<p><img alt="" src="images/Debian-Logo.png" /></p>
1940+
<p><img alt="Debian" src="images/Debian-Logo.png" /></p>
19411941
<p class="caption">Debian 图标</p>
19421942
<p>Debian GNU/Linux 也派生了很多发行版,其中最为著名的便是 Ubuntu(官方译名“友邦拓”)。Ubuntu 由英国的 Canonical 公司主导创立,是一个主打桌面应用的操作系统。其为一般用户提供了一个时新且稳定的由自由软件构成的操作系统,且拥有庞大的社群力量和资源,十分适合普通用户使用。</p>
1943-
<p><img alt="" src="images/Ubuntu-Logo.png" /></p>
1943+
<p><img alt="Ubuntu" src="images/Ubuntu-Logo.png" /></p>
19441944
<p class="caption">Ubuntu 图标</p>
19451945
<h4 id="red-hat-branch">Red Hat 分支<a class="headerlink" href="#red-hat-branch" title="Permanent link">&para;</a></h4>
19461946
<p>Red Hat Linux 是美国的 Red Hat 公司发行的一个发行版,第一个版本发布于 1994 年 11 月 3 日,也是一个历史悠久的发行版。它曾经也广为使用,但在 2003 年 Red Hat 公司停止了对它的维护,转而将精力都投身于其企业版 Red Hat Enterprise Linux(简称 RHEL)上,Red Hat Linux 自此完结,而商业市场导向的 RHEL 维护至今。</p>
1947-
<p><img alt="" src="images/Red-Hat-Logo.png" /></p>
1947+
<p><img alt="Red Hat" src="images/Red-Hat-Logo.png" /></p>
19481948
<p class="caption">Red Hat 公司商标,RHEL 是其旗下产品</p>
19491949
<p>在 Red Hat Linux 在停止官方更新后,由社群启动的 Fedora 项目接管了其源代码并构筑了自己的更新,演变成了如今的 Fedora 发行版。Fedora 是一套功能完备且更新迅速的系统,且本身计划也受到了 Red Hat 公司的赞助,成为了公司测试新技术的平台。</p>
1950-
<p><img alt="" src="images/Fedora-Logo.png" /></p>
1950+
<p><img alt="Fedora" src="images/Fedora-Logo.png" /></p>
19511951
<p class="caption">Fedora 图标</p>
19521952
<p>虽然 RHEL 是一个收费的、商业化的系统,但是其遵循 GNU 通用公共许可证,因此会开放源代码。编译这些源代码可以重新得到一个可以使用的操作系统,即一个新的发行版:CentOS(Community Enterprise Operating System,社区版企业操作系统)。因为 CentOS 几乎完全编译自 RHEL 的代码,所以其也像 RHEL 一样具有企业级别的稳定性,适合在要求高度稳定的服务器上运行。</p>
19531953
<p>2020 年 12 月,CentOS 社区在其博客中<a href="https://www.redhat.com/en/blog/centos-stream-building-innovative-future-enterprise-linux">宣布未来的重点转向 CentOS Stream</a>,这是一个全新的滚动发行版。在此之前,RHEL 的上游为 Fedora,而 CentOS 的上游为 RHEL;在推出 CentOS Stream 之后,它就成为了 RHEL 的上游发行版。与此同时,CentOS 8 的支持期限被缩短至 2021 年底,且不再推出新的非 Stream 的 CentOS 版本。不满于该决定的人们也组织了新的社区,推出了诸如 <a href="https://almalinux.org/">AlmaLinux</a><a href="https://rockylinux.org/">Rocky Linux</a> 等发行版。</p>
1954-
<p><img alt="" src="images/CentOS-Logo.png" /></p>
1954+
<p><img alt="CentOS" src="images/CentOS-Logo.png" /></p>
19551955
<p class="caption">CentOS 图标</p>
19561956
<h4 id="arch-linux-branch">Arch Linux 分支<a class="headerlink" href="#arch-linux-branch" title="Permanent link">&para;</a></h4>
19571957
<p>Arch Linux 是一个基于 x86-64 架构的 Linux 发行版,不过因为其内核默认就包含了部分非自由的模块,所以其未受到 GNU 计划的官方支持。即便如此,Arch Linux 也因其“简单、现代、实在、人本、万能”的宗旨赢得了 Linux 中坚用户的广泛青睐。不过,Arch Linux 对这个宗旨的定义和其它发行版有所区别。通常的操作系统为了方便用户快速上手,都是尽可能隐藏底层细节,从而避免用户了解操作系统的运行知识即可直接使用。但是 Arch Linux 则是重在构建优雅、极简的代码结构,这方便了使用者去理解系统,但不可避免地要求使用者自身愿意去了解操作系统的运作方式。某种程度上说,它的“简单”和“人本”注重的是方便用户通过了解而去最大化地利用它,而不是采取屏蔽工作原理的方式来降低使用门槛。因此,本书不建议初学者直接上手 Arch Linux,但十分推荐在读者对 Linux 有进一步了解之后去探索它。</p>
1958-
<p><img alt="" src="images/Arch-Linux-Logo.png" /></p>
1958+
<p><img alt="Arch Linux" src="images/Arch-Linux-Logo.png" /></p>
19591959
<p class="caption">Arch Linux 图标</p>
19601960
<p>Arch Linux 拥有强大的功能,但因其特殊的理念使得用户不易使用。为了能让一般用户也能用上 Arch Linux 的强大功能,它的变种 Manjaro 发行版于 2011 年问世。Manjaro 发行版基于 Arch Linux,但更注重易用,因而更适合一般用户。</p>
1961-
<p><img alt="" src="images/Manjaro-Logo.png" /></p>
1961+
<p><img alt="Manjaro" src="images/Manjaro-Logo.png" /></p>
19621962
<p class="caption">Manjaro 图标</p>
19631963
<p>以上是若干个常见的 Linux 发行版系列,其他的常用发行版有 openSUSE、Gentoo 等,相关介绍可参考<a href="../Appendix/distribution/">附录中对应的资料</a></p>
19641964
<p>由上文可见,Linux 的发行版非常丰富,不同的发行版有其各自的特性,因而可以面向不同的用户满足独特的需求。对于新手来说,一个拥有丰富的图形界面的发行版更加适合初步探索和后续使用。<strong>本书推荐初次接触 Linux 的读者优先采用 Ubuntu 发行版或者它的子发行版(Lubuntu, Xubuntu 等)</strong> 作为自己接触和探索 Linux 的平台,在以后可以自行上手其它发行版。</p>
@@ -1972,17 +1972,17 @@ <h2 id="linux-around-us">我们身边的 Linux<a class="headerlink" href="#linux
19721972
<h3 id="smartphones">智能手机<a class="headerlink" href="#smartphones" title="Permanent link">&para;</a></h3>
19731973
<p>智能手机目前有两个主流的操作系统:苹果公司研发的 iOS 操作系统和谷歌公司研发的 Android 操作系统,而 Android 正是 Linux 的一个知名的发行版。与通常安装在通用计算机上的 GNU/Linux 分支不同,Android 属于 Android/Linux 分支,这个分支通常活跃在智能手机和嵌入式设备的舞台上。</p>
19741974
<p>由谷歌公司推出的 Android 叫做 Android 原生系统,而基于该原生系统诞生出来的各类独特的操作系统就是 Android/Linux 系下的子发行版。Android/Linux 下的子发行版很多,如华为公司的 EMUI 操作系统和小米公司的 MIUI 操作系统等。</p>
1975-
<p><img alt="" src="images/Android-10-Native.png" /></p>
1975+
<p><img alt="Android" src="images/Android-10-Native.png" /></p>
19761976
<p class="caption">Android 10 原生界面</p>
19771977
<h3 id="servers">服务器<a class="headerlink" href="#servers" title="Permanent link">&para;</a></h3>
19781978
<p>现代人的生活已经很难离开互联网了,在互联网上,我们可以访问各式各样的网站、利用在线社交平台分享自己的生活、或者是使用联机办公工具和同事协同工作。通常来说这些网站和软件的提供商都需要设立他们自己的计算机来完成计算、存储和通信的功能,这种计算机就被称为服务器。和个人计算机不同,服务器通常都不会使用 Windows 或者 macOS 这种个人计算机操作系统,事实上绝大部分的服务器维护人员都愿意选择一些 Linux 发行版作为它们的操作系统,因为许多 Linux 发行版界面简洁,功能强大,而且某些发行版也是受到专业计算机企业的服务支持的(如前文提到的 RHEL)。</p>
19791979
<p>同时,受惠于互联网上丰富的教程,Debian 和 Ubuntu Server 也成为越来越多个人和团体用作服务器操作系统的 Linux 发行版,如下文提到的中科大开源社群 LUG@USTC 使用 Debian 发行版及其衍生产品 Proxmox VE 作为其所有服务器的操作系统。</p>
19801980
<p>另一类有名的服务器操作系统是微软公司的 Windows Server 系列,不过其流行程度比不上各类 Linux 发行版。</p>
1981-
<p><img alt="" src="images/Windows-Server.png" /></p>
1981+
<p><img alt="Windows Server" src="images/Windows-Server.png" /></p>
19821982
<p class="caption">Windows Server 图标</p>
19831983
<h3 id="digital-tv">电视机顶盒<a class="headerlink" href="#digital-tv" title="Permanent link">&para;</a></h3>
19841984
<p>比起十几年前采用传统线路的电视,现在国内很多家庭里的电视都换成了智能数字电视,这些电视通常会配备一个机顶盒来控制电视播放的内容。实际上,电视机顶盒就是一个嵌入式设备,而 Android/Linux 分支下的各类发行版正是主流的嵌入式操作系统,如谷歌公司为数字电视专门推出的 Android TV 操作系统。</p>
1985-
<p><img alt="" src="images/Android-TV.png" /></p>
1985+
<p><img alt="Android TV" src="images/Android-TV.png" /></p>
19861986
<p class="caption">Android TV 图标</p>
19871987
<h2 id="use-linux">让自己的计算机用上 Linux<a class="headerlink" href="#use-linux" title="Permanent link">&para;</a></h2>
19881988
<p>有很多尚未接触过 Linux 的读者看到这里可能已经在期待或者计划让自己尽快开始使用 Linux 了。事实上,如果把 Linux 看作一个领域,那它的确是一个重视实践的领域。而且出于学习目的,在阅读本书未来的章节时在手头准备一个随时可用的 Linux 发行版是十分关键和有益的。因此,本书<strong>强烈建议各位读者在本机安装一个属于自己的 Linux 发行版</strong>,以供随时实践。</p>
@@ -2055,20 +2055,20 @@ <h3 id="get-vm-images">获取 Xubuntu 虚拟机镜像<a class="headerlink" href=
20552055
</div>
20562056
<h3 id="start-vm">启动虚拟机<a class="headerlink" href="#start-vm" title="Permanent link">&para;</a></h3>
20572057
<p>若已经安装了上述虚拟机管理软件,则可以直接双击打开虚拟机镜像,管理软件会打开并导入该镜像,导入完毕后可直接点击开始按钮启动。</p>
2058-
<p><img alt="" src="images/VirtualBox-import.jpg" /></p>
2058+
<p><img alt="VirtualBox 导入镜像" src="images/VirtualBox-import.jpg" /></p>
20592059
<p class="caption">VirtualBox 导入设置(需要手动选择镜像)</p>
2060-
<p><img alt="" src="images/VWP-Xubuntu-32bit-Login.png" /></p>
2060+
<p><img alt="VMware Workstation" src="images/VWP-Xubuntu-32bit-Login.png" /></p>
20612061
<p class="caption">VMware Workstation 启动 Xubuntu 18.04 虚拟机</p>
20622062
<p>如果读者采用了上面列出的虚拟机之一,其默认登录用户名和密码均为 <code>ustc</code>,输入密码即可登录虚拟机系统桌面。</p>
2063-
<p><img alt="" src="images/VWP-Xubuntu-32bit-Desktop.png" /></p>
2063+
<p><img alt="VMware Xubuntu Desktop" src="images/VWP-Xubuntu-32bit-Desktop.png" /></p>
20642064
<p class="caption">Xubuntu 18.04 虚拟机桌面</p>
20652065
<h2 id="lug-ustc">中科大开源社群:LUG@USTC<a class="headerlink" href="#lug-ustc" title="Permanent link">&para;</a></h2>
20662066
<p>LUG@USTC 是中国科学技术大学主流的开源社群,也是校内最大的学术科技类社团。其现今拥有数百名热爱开源文化的成员,并受益于他们而正在蓬勃发展。LUG@USTC 维护了中国最大的开源镜像站之一 <a href="https://mirrors.ustc.edu.cn/">USTC Mirrors</a>,其作为本土的软件源为国内许多开源软件用户提供了镜像服务,是本社群对社会作出的一项重要贡献。</p>
2067-
<p><img alt="" src="images/LUG%40USTC-Logo.png" /></p>
2067+
<p><img alt="LUG@USTC" src="images/LUG%40USTC-Logo.png" /></p>
20682068
<p class="caption">LUG@USTC 图标</p>
20692069
<h3 id="join-lug-ustc">了解与加入 LUG@USTC<a class="headerlink" href="#join-lug-ustc" title="Permanent link">&para;</a></h3>
20702070
<p>你可以从 <a href="https://lug.ustc.edu.cn/wiki/">LUG@USTC 官方网站</a>中了解我们。官方网站中包括了我们在校内开展的各类流行活动和面向校内外提供的诸多网络服务。</p>
2071-
<p>LUG@USTC 欢迎校内外的朋友加入社群交流。如果你是中国科学技术大学在读学生,你可以通过致邮 <img alt="" class="img-inline" src="https://lug.ustc.edu.cn/static/email.png" /> 附上姓名与学号申请加入本社群;如果你是校外人士,也可以致邮获取进一步的沟通交流方式。</p>
2071+
<p>LUG@USTC 欢迎校内外的朋友加入社群交流。如果你是中国科学技术大学在读学生,你可以通过致邮 <img alt="email" class="img-inline" src="https://lug.ustc.edu.cn/static/email.png" /> 附上姓名与学号申请加入本社群;如果你是校外人士,也可以致邮获取进一步的沟通交流方式。</p>
20722072
<h2 id="questions">思考题<a class="headerlink" href="#questions" title="Permanent link">&para;</a></h2>
20732073
<div class="admonition question">
20742074
<p class="admonition-title">计算机性能的增长</p>

Ch01/supplement/index.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2202,7 +2202,7 @@ <h1 id="supplement">拓展阅读<a class="headerlink" href="#supplement" title="
22022202
<h2 id="android-linux">Android/Linux<a class="headerlink" href="#android-linux" title="Permanent link">&para;</a></h2>
22032203
<p>Android 是 Linux 发行版,但它不是 GNU/Linux,Android 不使用 GNU 的一系列工具和库。Android 还大幅度修改了 Linux 内核以精简运行时开销、适应移动设备。</p>
22042204
<p><a href="https://source.android.google.cn/">AOSP (Android Open Source Project)</a> 只使用了 GPL 许可证的 Linux Kernel,而在 Kernel 之上的 <a href="https://source.android.google.cn/docs/core/runtime">ART (Android Runtime)</a>、Bionic C 库、驱动透明化的 <a href="https://source.android.google.cn/docs/core/architecture/hal">HAL (Hardware Abstraction Layer)</a> 则作为用户态存在,避免 Android 系统框架、Google 移动应用服务框架(GMS)和各厂商的驱动程序被 GPL 感染而开源。</p>
2205-
<p><img alt="" src="../images/Android-Stack.png" /></p>
2205+
<p><img alt="Android Stack" src="../images/Android-Stack.png" /></p>
22062206
<p class="caption">Android 软件堆栈</p>
22072207
<details class="tip">
22082208
<summary>GPL 感染,以及开源许可证的区别</summary>
@@ -2244,18 +2244,18 @@ <h2 id="disable-selinux">禁用 SELinux<a class="headerlink" href="#disable-seli
22442244
<span class="go">Max kernel policy version: 31</span>
22452245
</code></pre></div>
22462246
<p>使用 <code>setenforce 0</code> <strong>临时</strong> 改变 SELinux 状态到 <code>permissive</code>,这个状态在重启后将恢复为配置文件指定的默认值。</p>
2247-
<div class="highlight"><pre><span></span><code># setenforce 0
2247+
<div class="highlight"><pre><span></span><code><span class="gp"># </span>setenforce<span class="w"> </span><span class="m">0</span>
22482248
</code></pre></div>
22492249
<p>修改 SELinux 的配置文件可以永久改变 SELinux 的工作状态。</p>
22502250
<ol>
22512251
<li>使用 root 权限编辑 <code>/etc/selinux/config</code> 文件;</li>
22522252
<li><code>SELINUX=enforcing</code> 中的 <code>enforcing</code> 改为 <code>disabled</code><code>permissive</code></li>
22532253
</ol>
22542254
<p>编辑完成后,使用 <code>sestatus</code> 可以看到修改效果:</p>
2255-
<div class="highlight"><pre><span></span><code>[...]
2256-
Current mode: permissive # &lt;-
2257-
Mode from config file: permissive # &lt;- 或 disabled
2258-
[...]
2255+
<div class="highlight"><pre><span></span><code><span class="go">[...]</span>
2256+
<span class="go">Current mode: permissive # &lt;-</span>
2257+
<span class="go">Mode from config file: permissive # &lt;- 或 disabled</span>
2258+
<span class="go">[...]</span>
22592259
</code></pre></div>
22602260
<h2 id="vm-faq">虚拟机镜像常见问题<a class="headerlink" href="#vm-faq" title="Permanent link">&para;</a></h2>
22612261
<p>本部分提供有关我们提供的 XUbuntu 虚拟机镜像的常见问题以及解答。</p>
@@ -2588,17 +2588,17 @@ <h4 id="download-ubuntu-arm">下载 Ubuntu Server for ARM<a class="headerlink" h
25882588
<li>Ubuntu 22.04 LTS (Jammy Jellyfish):从 Ubuntu 22.04.2 LTS 开始可以直接使用。</li>
25892589
</ul>
25902590
<p>本节选用 Ubuntu 20.04.5 (arm64, server) 作为接下来安装的系统。</p>
2591-
<p><img alt="" src="../images/applesilicon_vmware/1.png" /></p>
2591+
<p><img alt="Choose arm64 image" src="../images/applesilicon_vmware/1.png" /></p>
25922592
<p class="caption">你可以在 <a href="https://mirrors.ustc.edu.cn/">中国科学技术大学开源软件镜像</a> 获取安装镜像。</p>
25932593
<h4 id="install-ubuntu-arm-on-vmware">在 VMWare Fusion 上安装 Ubuntu on ARM<a class="headerlink" href="#install-ubuntu-arm-on-vmware" title="Permanent link">&para;</a></h4>
25942594
<p>下载好安装镜像后,打开 VMWare Fusion,导入你下载的镜像:</p>
2595-
<p><img alt="" src="../images/applesilicon_vmware/2.png" /></p>
2595+
<p><img alt="VMware Fusion" src="../images/applesilicon_vmware/2.png" /></p>
25962596
<p class="caption">点击左上角的加号创建新的虚拟机</p>
2597-
<p><img alt="" src="../images/applesilicon_vmware/3.png" /></p>
2597+
<p><img alt="VMware Fusion new VM" src="../images/applesilicon_vmware/3.png" /></p>
25982598
<p class="caption">将你下载好的镜像拖入框中</p>
2599-
<p><img alt="" src="../images/applesilicon_vmware/4.png" /></p>
2599+
<p><img alt="VMware Fusion choose image" src="../images/applesilicon_vmware/4.png" /></p>
26002600
<p class="caption">导入完成之后使用默认配置即可,你也可以按照自己的需求对 configuration 进行对应的改动。</p>
2601-
<p><img alt="" src="../images/applesilicon_vmware/6.png" /></p>
2601+
<p><img alt="VMware Fusion Ubuntu server install" src="../images/applesilicon_vmware/6.png" /></p>
26022602
<p class="caption">用键盘对命令行界面进行操作,在配置用户名前的配置一般可以选择默认配置。本页面中你需要配置你的用户名,服务器名称和密码。</p>
26032603
<p>如果你不需要远程连接你的虚拟机,你可以不安装 <code>openssh-server</code> (当然,你可以在之后自行安装)。</p>
26042604
<p>Featured Server Snaps 一样可以选择不安装,可以之后自行配置。</p>
@@ -2607,7 +2607,7 @@ <h4 id="install-ubuntu-arm-on-vmware">在 VMWare Fusion 上安装 Ubuntu on ARM<
26072607
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>ubuntu-desktop
26082608
</code></pre></div>
26092609
<p>安装好之后需要重新启动虚拟机,这时你应该可以看到你的登陆界面了:</p>
2610-
<p><img alt="" src="../images/applesilicon_vmware/7.png" /></p>
2610+
<p><img alt="VMware Fusion GDM" src="../images/applesilicon_vmware/7.png" /></p>
26112611
<p class="caption">虚拟机的图形界面</p>
26122612
<p>值得注意的是,在选择软件源时,你应该使用 <a href="https://mirrors.ustc.edu.cn/help/ubuntu-ports.html">Ubuntu Ports 源</a> 而不是 <a href="https://mirrors.ustc.edu.cn/help/ubuntu.html#id3">Ubuntu 源</a></p>
26132613
<div class="admonition bug">

0 commit comments

Comments
 (0)