Linux 基础学习训练教材 - RockyLinux 9.x

课程/课后例题参考解答

单纯提供一个相对的解答,并不是标准答案!

最近更新时间: 2023/05/01

单纯就是个解答的参考,写完之后再来这边查查看答案跟你想的一样不一样!?

第 01 堂课 (2023/02/17)

  • 例题 1.1.1-1:

    大部分的服务器 (除了数据库之外) 主要的任务大多在处理文件数据的传输运作,真正用在计算的时间 (数据库例外) 相对是少的。 而且,大部分的服务器总是服务多数用户,每个用户都会生成一个进程,每个进程都有自己的数据运作。因此,在数据的传输上面, 可能会占据比较大部份的资源,亦即,服务器大部分都是 I/O bound 的情况。在这种情况下,加大内存 (插更多的主内存) 以及加快磁盘读写 (更换速度更快的 SSD 或 M2 或 RAID 等) ,可能是让服务器性能增加是比较有用的。

  • 例题 1.1.1-2:
    1. 当时 microsoft 为了改善操作系统的信息安全问题,因此采用全新的系统调用设计,同时系统内核层级也进行大幅度的修改,据以开发出新一代的 vista 操作系统,因此,很多 windows XP 的软件就无法在 vista 上面运作!这是因为系统调用不同所致。故而很多的厂商就不敢更换成 Vista 系统, 免得自家开发的软件不能运行。后来 microsoft 很多系统开发时,就有考虑到软件兼容性的问题,避免再次发生同样的困扰。
    2. 如同四个同心圆的架构,软件依附在操作系统上面,因此,同样是 google chrome 浏览器,就会分 windows 版本、Linux 版本、 Mac 版本等等。 例如下图所示,就是一个简单的范本:
      以 google chrome 为例,不同操作系统须下载不同的版本
      以 google chrome 为例,不同操作系统须下载不同的版本
      上图来源为 https://www.google.com/chrome/,请自行点击参考。 由上所知,软件与操作系统有关。
    3. 由于不同的操作系统其编译行为并不相同,因此桌面型 x86 Linux 操作系统是没有办法直接放到 ARM 的手机硬件上面运行的,这也能由 4 个同心圆的图标得到印证。
  • 例题 1.1.2-1:
    1. 早期的系统大多属于 I/O bound 的状态,因为 CPU 的性能相对强大。在此情况下,如何将 I/O 的状态切开,让 CPU 可以省去等待的时间, 就很重要。早期的批量处理系统会让 CPU 无法运行下一个进程,因此,多元程序处理系统,在内存内改变进程的状态, 同时 CPU 也能进行多任务 (在工作中切换),因此将进程设置为中断 (interrupt) 时,此时该进程就会被放置到其他设备独立运作, 而 CPU 的资源就能释放出来,给予其他进程持续进行。如此则可以加速进程运作,并且让 CPU 资源完整被利用!
    2. 指的其实是 1977 年的 BSD 与 SystemV
    3. (1)GNU is Not Unix;
      (2)https://www.gnu.org/;
      (3)是只公牛;
      (4)由 https://www.gnu.org/software/hurd/hurd.html 找到,名为 GNU hurd 操作系统。
  • 例题 1.1.3-1:

    开放原代码基金会 (Free software Foundation, FSF, https://www.fsf.org/) 主要提供了 GNU/GPL 授权,该授权的使用有相关严格的规定。相对来说,开放原代码基金会 ( Open Source Initiative, https://opensource.org/) 则虽然也是开放原代码软件,但至少可以拥有商业化的空间。因此,若想要商业化保留专属软件的封闭内容功能,可能选择 BSD 发布会比较好。 相关的 open source 授权,可以参考 https://opensource.org/licenses/

  • 例题 1.1.4-1:
    1. 相关 Android 版本可以参考 https://zh.wikipedia.org/wiki/Android, https://zh.wikipedia.org/wiki/Android版本列表, https://source.android.com/docs/core/architecture/kernel/android-common?hl=zh-tw。 由上述的链接,可以知道 android 的版本与 Linux 内核版本的对应,已经设计成为:『android{版号}-{Linux版号}』特色! 例如 2022 年发布的 android13 其内核对应版本为: android13-5.15,即可了解市面上最新的 Android 13 使用的是 Linux kernel 5.15 版本。
    2. 请先前往 https://www.kernel.org/category/releases.html 查看,在制作教材的 2023/02 时,使用的 longterm 版本有 6.1, 5.15, 5,10, 5.4, 4.19, 4.14 等。
  • 例题 1.1.5-1:

    Red Hat 为一家自由软件商业公司,由于 Linux kernel 使用 GPL 授权,因此,Red Hat 就得要将其所开发的软件使用 open source 的方式发布, 这当然也包括 RHEL 这些软件的代码。但是,RHEL 里面含有 Red Hat 本身的商标授权等特别的图案等,这些数据则是 Red Hat 商业拥有! 那是不能够直接取用的。

    RockyLinux 为社群单位,志工工程师取得 RHEL 的软件之后,会依据 RHEL 建置的流程,先创建开放原代码的服务器树状环境, 之后逐一查看各软件是否有专属的商业图标在内,必需要取出后重新修改与编译。你可以参考 RockyLinux 的发行注记 (release note) 来了解更多!由于是 GPL 的关系,因此 RockyLinux 同样以 GPL 发布喔! 因此,你可以享有自由的拷贝与在发行的权力!

  • 例题 1.1.6-1:

    经过追查该系统,其相关信息为:

    • 使用 Intel Xeon Gold 6154,每颗 CPU 有 18 内核,系统总内核数达到 170,352 个,所以,总安装 CPU 颗数应可达到 170352/18 = 9464 颗。
    • 使用内存容量达到 193,536GB,差不多就是 194TB 的等级!
    • 就是使用 CentOS 喔!
    • 实际运作,耗电量达到 797千瓦,台湾一度电测定方式为 1 千瓦小时,所以,该系统开机一天 (24hrs) 时,耗电量为: 797*24 = 19128 千瓦小时。 每度电 5 元,故一天的电费: 19128*5 = 95640 元。这还不考虑冷气与照明设备的额外电力喔!
  • 例题 1.1.6-2:

    经查该系统,发现到主要支持的操作系统有 Oracle Linux (甲骨文,与 RockkyLinux 类似,都是从 RHEL 系统拷贝来的分支), RHEL 与 RHEV (Red Hat 系统的虚拟化架构)、SUSE Linux Enterprise Server (SLES)、Ubuntu等, 这代表硬件制造商认为这几个操作系统是一般商用最常使用的环境,因此才会进行硬件支持度的测试。因此, 要选择 Linux distributions,当然以这几个版本来挑选是最佳的。

  • 例题 1.3.1-1:
    1. 点击『概览』之后,点击类似文档柜的图标,即可打开文件总管
    2. 大致区分为:『上方文件所在工作目录、可工作项目』、『左侧快速链接与其他电脑目录』、『右侧主要文件清单区』
      文件总管大致的三个区块介绍
      文件总管大致的三个区块介绍
    3. 可以点击上图中,在放大镜右侧的按钮,即可变更图标与详细项目的功能切换
    4. 在详细显示的环境下,你先点击上方任务栏最左侧的图标,然后依序运行底下的动作即可:
      操作文件总管显示详细数据的方法
      操作文件总管显示详细数据的方法
    5. 依序点击『左侧的"其他的位置"』,然后『双击右侧的"电脑"画面』,即可看到目前系统的所有可用目录
    6. 持续点击『电脑』、『etc』、『passwd』这个文件,然后在 passwd 上面点击右键,选择『拷贝』。 之后点击左侧『家目录』后,鼠标移动到右侧点击右键后粘贴即可。你可以发现到拥有者、群组、修改时间都改变了。
    7. 因为拥有者与群组都是『root』,目前身份是 student,因此,可能是因为权限不足的缘故。
  • 例题 1.3.1-2:
    1. 点击右上角图标,进入控制台,并点击『Keyboard』的项目
    2. 如下所示,显示出目前的输入法:
      在控制台改变输入法的方式 在控制台改变输入法的方式 在控制台改变输入法的方式
      在控制台改变输入法的方式
    3. 如下所示,在终端机输入中文看看:
      在控制台改变输入法的方式
      在控制台改变输入法的方式
    4. 由『概览』点击左侧的『显示应用程序』,然后选择『文本编辑器』即可打开编辑软件
    5. 在右上角的输入法选择项目,点出『汉语(新注音)』的项目,此时你会看到右上角出现一个『中』的字样。 在此字样下,你可以按下 [shift] 来暂时转换中英文输入。此时就可以开始打字了。
    6. 按下文本编辑器右上角的『保存』按钮,并填写正确的文件名与位置,就可以保存了!如下所示:
      gedit 文书编辑器的保存示意图 gedit 文书编辑器的保存示意图
      gedit 文书编辑器的保存示意图
    7. 由『概览』启动『文件总管』,并点击『家目录』,应该就能看到刚刚处理妥当的文件名了!
      查阅刚刚创建的文件
      查阅刚刚创建的文件
  • 例题 1.3.1-3:

    设置屏幕保护程序与分辨率的示意图如下:

    关闭屏幕保护程序 关闭屏幕保护程序
    关闭屏幕保护程序
  • 例题 1.3.2-1:
    1. 以 [alt]+[shift]+[F3] 的方式切换到 tty3,并输入 student 帐号与密码来登录
    2. 此时输入 w 之后,画面可能有点像底下这样:
      [student@station10-101 ~]$ w
       16:49:12 up 4 min,  2 users,  load average: 0.04, 0.09, 0.04
      USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
      student  tty2       16:47    ?     26.29s  0.02s /usr/libexec/gnome-session-binary
      student  tty5       16:46    2:54   0.03s  0.03s w
      
    3. TTY 指的是从哪个终端机登录的意思,因此上表中的 tty5 指的是 tty5 有个名为 student 的帐号登录,且正在操作 w 指令。 至于 tty2 的用户,则使用 gnome-session-binary 这个图形界面软件喔!
  • 例题 1.4.1-1:
    1. 直接输入 clear 之后,你会发现终端机的环境变得干净,指令输入回到第一行,可以清理终端机的画面。
    2. 使用 ll 来查阅,查阅的方式有两种,分别如下:
      [student@station10-101 ~]$ ll /var/spool/mail
      total 0
      -rw-rw----. 1 student mail 0 Feb 16 11:51 student
      # 可以看到里面只有 1 个文件名,亦即只有 1 个文件的意思
      
      [student@station10-101 ~]$ ll -d /var/spool/mail
      drwxrwxr-x. 2 root mail 21 Feb 16 11:51 /var/spool/mail
      # 这个方法可以直接看到目录本身,因此可以知道是 2 月 16 日创建这个目录的。
      
      [student@station10-101 ~]$ ll /var/spool
      total 0
      drwxr-xr-x. 2 root root 63 Feb 16 11:44 anacron
      drwx------. 3 root root 31 Feb 16 11:46 at
      drwx------. 2 root root  6 Nov  1 03:55 cron
      drwx--x---. 3 root lp   17 Feb 16 11:45 cups
      drwxr-xr-x. 2 root root  6 May 16  2022 lpd
      drwxrwxr-x. 2 root mail 21 Feb 16 11:51 mail
      drwxr-xr-x. 2 root root  6 May 26  2022 plymouth
      # 除了上述的方法之外,也可以通过观察上层目录,也就是 /var/spool 的内部文件名来找到 mail 喔!
      
  • 例题 1.5 课后作业:
    1. 先在图形界面上面,尽量使用图形化机制进行关机 (右上角的倒三角形,选择关机),如果有显示任何还在系统上面的用户,请先到该终端机上面注销后, 再继续进行关机的行为较佳。关机之后, remote-viewer 软件会自动脱机关闭,所以不要紧张。
    2. 重新在 virtualbox 画面,或者是 gocloud 的画面,再以 student 帐号登录,密码为 mystdgo,登录之后,按下『概览』, 再按下左侧『终端机』按钮,即可激活终端机。之后按下 w 之后,你就可以发现类似如下的画面:
      [student@station10-101 ~]$ w
       23:38:30 up 2 min,  2 users,  load average: 0.58, 0.32, 0.13
      USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
      student  tty2      23:37    2:27   0.04s  0.04s /usr/libexec/gnome-session-binary
      
    3. 以前的版本当中,图形界面终端机为 :0 之类的号码,目前则直接还是使用终端机编号来显示。因此,如果要判断是否为图形界面, 就得要从指令去判断!如上所示,看到 tty2 为 gnome-session-binary 指令,因此这个图形界面终端机就在 tty2 了!
    4. 有没有正常运作网络,可以看一下右上方的状态栏是否有出现网络图标来判别。若没有网络图标,请『点击倒三角形』, 然后点击『有线网络未连接』的按钮,并按一下『连接』,如果环境中有正确的网络设置,那就可以连上网络了。 此时,你可以到终端机环境,输入『 nmcli connection show 』看看有没有输出正确的设置,如下所示:
      [student@station10-101 ~]$ nmcli connection show
      NAME  UUID                                  TYPE      DEVICE
      ens3  6d7acc4f-a409-38ee-a913-76a66ce86e32  ethernet  ens3
      # 若正常设置, NAME 与 DEVICE 字段都会有数据!
      
    5. 按下『右上角按钮』,选择『设置值』,按下左侧的『电源』,就可以看到『屏幕转黑』的设置值,要设置成为『永不』才合理。
    6. 承上,在控制台的环境下,选择左侧『设备』,然后点击『显示器』,就可以看到『分辨率』的设置了。
    7. 承上,在控制台的环境下,选择『keyboard』,然后查看『输入来源』的项目,就可以看到是否有新注音了。 若无新注音,请依据例题 1.3.1-2 的介绍,自行安装好新注音。
    8. 按下『概览』之后,点击『文件』,然后依序点击『其他的位置』、『电脑』、『etc』,然后将鼠标移动到『放大镜』上面点一下, 之后到搜索的方块,填入 group 关键字,应该就可以看到简化的内容,然后在 group 上面按右键,选择『拷贝』即可。
      利用文件总管拷贝文件
      利用文件总管拷贝文件
    9. 最后按下左侧『家目录』然后按下组合键『 [ctrl]+v 』即可粘贴。
    10. 将鼠标移动到 remote-viewer 画面内,按下 [alt]+[ctrl]+[F6] 进入到 tty6,然后输入 student , 显示出 Password 时,再输入 student 的密码,之后看到『 [student@localhost]$ 』的提示字符,就是登录成功了。
    11. 输入 history 就可以看到曾经下达过的指令,同时指令前面还会有编号喔。
    12. 你可以有几种方式来重复运行 (1)重新打字输入指令 (2)看到前面的编号,输入『 !数值』来重新运行 (3)按下方向键向上慢慢找到该指令来按下 [enter] 运行。 看起来还是第 (2) 个方式比较适合!请运行一次!
    13. 直接输入『 ll /etc 』就可以查阅了。
    14. 你可以分别使用『 ll /etc/pam.d 』以及『 ll -d /etc/pam.d 』来检查输出的结果,就可以知道这一题的用途了。
    15. 由于目前正在家目录,因此直接输入『 ll -a 』即可。如果想要确定是本身的家目录,可以运行『 ll -a ~ 』亦可。 你会发现多了很多小数点开头的文件,那就是隐藏档。
    16. 输入『 clear 』可以清除画面,然后按下 [ctrl]+d 就可以注销了!注销之后,按下 [alt]+[ctrl]+[F2] 即可回到原本的图形画面。
    17. 按下『倒三角形』,选择『student』底下的『注销』,就会回到原本的等待登录的画面。点击右上角的倒三角形, 应该可以看到电源按钮,点下之后就可以选择『Power Off』来关机了。
修改历史:
  • 2023/02/17:RHEL 改版到 EL9 了,只好再度改版!否则教学上面挺困扰!
2023/02/17 以来统计人数
计数器
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计