###重点回顾
- 计算机主要以二进制作为单位,而目前常用的磁盘容量单位为bytes,其单位换算为1Byte = 8bits, 其他的以1024为其倍数,如 1GByte=1024MBytes等等。
- 操作系统(Operation System)主要在管理与驱动硬件,因此必须要能够管理内存、管理装置、 负责行程管理以及系统呼叫等等。因此,只要能够让硬件准备妥当(Ready)的情况, 就是一个阳春的操作系统了。
- 最阳春的操作系统仅在驱动与管理硬件,而要使用硬件时,就得需要透过应用软件或者是壳程序(shell) 的功能,来呼叫操作系统操纵硬件工作。因此,目前称为操作系统的, - 除了上述功能外,通常已经包含了日常工作所需要的应用软件在内了。
- Unix的前身是由贝尔实验室(Bell lab.)的Ken Thompson利用汇编语言写成的, - 后来在1971-1973年间由Dennis Ritchie以C程序语言进行改写,才称为Unix。
- 1977年由Bill Joy释出BSD (Berkeley Software Distribution),这些称为Unix-like的操作系统。
- 1984年由Andrew Tanenbaum制作出Minix操作系统,该系统可以提供原始码以及软件;
- 1984年由Richard Stallman提倡GNU计划,倡导自由软件(Free software), - 强调其软件可以『自由的取得、复制、修改与再发行』,并规范出GPL授权模式, 任何GPL(General Public License)软件均不可单纯仅贩卖其软件,也不可修改软件授权。
- 1991年由芬兰人Linus Torvalds开发出Linux操作系统。简而言之,Linux成功的地方主要在于: Minix(Unix), GNU, Internet, POSIX 及虚拟团队的产生。
- Linux本身就是个最阳春的操作系统,其开发网站设立在http://www.kernel.org,我们亦称Linux操作系统最底层的数据为『核心(Kernel)』。
- 目前Linux核心的发展分为两种版本,分别是稳定版本的偶数版,如2.6.X,适合于商业与家用环境使用; 一种是发展中版本的奇数版如2.5.X 版,适合开发特殊功能的环境。
- Linux distributions的组成含有:『Linux Kernel + Free Software + Documentations(Tools) + 可完全安装的程序』所制成的一套完整的系统。
****
###本章习题
(要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看)
实作题部分:
- 请依据本章内容的说明,下载 Fedora 最新版本的 Live CD ,并将该 Live CD 刻录成为光盘 (或 DVD) 后, 调整你的主机 BIOS 成为使用光驱开机,在开机时放入刚刚刻录的 Live CD ,使用该光驱开机。在开机后你应该能够进入系统。 请进入该系统,尝试打开终端机、浏览器等,并尝试操作一下该系统。由于该系统并不会影响到你的硬盘数据, 请尽量玩玩!
- 承上题,打开终端机并且输入『 uname -r 』这个指令,出现的核心版本为何?是稳定还是发展中版本?
- 请上网找出目前 Linux 核心的最新稳定版与发展中版本的版本号码,请注明查询的日期与版本的对应。
- 请上网找出 Linux 的吉祥物企鹅的名字,以及最原始的图档画面。(提示:请前往 http://www.linux.org 查阅)
简答题部分:
- 你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,你确定网络卡是好的,那么可能的问题出在哪里?该如何解决?
>因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel) 不支持这张网络卡。解决的方法,(1)到网络卡的开发商网站,(2)下载支持你主机操作系统的驱动程序, (3)安装网卡驱动程序后,就可以使用了。
- 我在一部主机上面安装Windows操作系统时,并且安装了显示适配器的驱动程序,他是没有问题的。但是安装Linux时,却无法完整的显示整个X >Window。请问,我可不可以将Windows上面的显示适配器驱动程序拿来安装在Linux上?
不行!因为核心不同,针对硬件所写的驱动程序也会不相同,编译程序也不同,当然,驱动程序也无法在两个操作系统间兼容。 这也是为何开发商在他们的网站上面,都会同时提供许多不同操作系统的驱动程序之故。
- 一个操作系统至少要能够完整的控制整个硬件,请问,操作系统应该要控制硬件的哪些单元?
>根据硬件的运作,以及数据在主机上面的运算情况与写入/读取情况,我们知道至少要能够控制: (1)input/output control, (2)device control, (3)process management, (4)file management. 等等!
- 一个GBytes的硬盘空间,等于几个KBytes?
>1GBytes = 1024 MBytes * 1024 KBytes/MBytes = 1048576 KBytes
- 我在Windows上面玩的游戏,可不可以拿到Linux去玩?
当然不行!因为游戏也是一个应用程序 (application),他必须要使用到核心所提供的工具来开发他的游戏, 所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。
- Linux本身仅是一个核心与相关的核心工具而已,不过,他已经可以驱动所有的硬件, 所以,可以算是一个很阳春的操作系统了。经过其他应用程序的开发之后,被整合成为Linux >distribitions。请问众多的distributions之间,有何异同?
相同:(1)同样使用 http://www.kernel.org 所释出的核心; (2)支持同样的标准,如 FHS、LSB 等; (3)使用几乎相同的自由软件 (例如 GNU 里面的 gcc/glibc/vi/apache/bind/sendmail... ); (4)几乎相同的操作接口 (例如均使用 bash/KDE/GNOME 等等)。
不同:使用的 kernel 与各软件的版本可能会不同;各开发商加入的应用工具不同,使用的套件管理模式不同(dpkg 与 RPM)
- Unix 是谁写出来的? GNU 计划是谁发起的?
>Unix 是 Ken Thompson 写的,1973 年再由 Dennis Ritchie 以 C 语言改写成功。 至于 GNU 与 FSF 则是 Richard Stallman 发起的。
- GNU 的全名为何?他主要由那个基金会支持?
>GNU 是 GNU is Not Unix 的简写,是个无穷循环! 另外,这个计划是由自由软件基金会 (Free Software Foundation, FSF) 所支持的! 两者都是由 Stallman 先生所发起的!
- 何谓多人 ( Multi-user ) 多任务 ( Multitask )?
>Multiuser 指的是 Linux 允许多人同时连上主机之外,每个用户皆有其各人的使用环境,并且可以同时使用系统的资源!
Multitask 指的是多任务环境,在 Linux 系统下, CPU 与其他例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多任务时,资源分配较为平均!
- 简单说明 GNU General Public License ( GPL ) 与 Open Source 的精神:
>1. GPL 的授权之软件,乃为自由软件(Free software),任何人皆可拥有他; 2. 开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用; 3. 经过 GPL 授权的软件,其属于 Open source 的情况,所以应该公布其原始码; 4. 任何人皆可修改经由 GPL 授权过的软件,使符合自己的需求; 5. 经过修改过后 Open source 应该回馈给 Linux 社群。
- 什么是 POSIX ?为何说 Linux 使用 POSIX 对于发展有很好的影响?
>POSIX 是一种标准规范,主要针对在 Unix 操作系统上面跑的程序来进行规范。 若你的操作系统符合 POSIX ,则符合 POSIX 的程序就可以在你的操作系统上面运作。 Linux 由于支持 POSIX ,因此很多 Unix 上的程序可以直接在 Linux 上运作, 因此程序的移植相当简易!也让大家容易转换平台,提升 Linux 的使用率。
- Linux 的发展主要分为哪两种核心版本?
>主要分为奇数的发展中版本(develop),如 2.5 ,及偶数的稳定版本,如 2.6 。
- 简单说明 Linux 成功的因素?
1. - 藉由 Minix 操作系统开发的 Unix like ,没有版权的纠纷;
2. - 藉助于 GNU 计划所提供的各项工具软件, gcc/bash 等;
3. - 藉由 Internet 广为流传;
4. - 藉由支持 POSIX 标准,让核心能够适合所有软件的开发;
5. - 托瓦兹强调务实,虚拟团队的自然形成!
- 第一部份 Linux 的规划与安装
- 第零章 计算机概论
- 1. 計算机:辅助人脑的好工具
- 2. 个人计算机架构与周边设备
- 3. 数据表示方式
- 4. 软件程序运作
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第一章 Linux是什么
- 1. Linux是什么
- 2. Torvalds的Linux发展
- 3. Linux的特色
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第二章 Linux如何学习
- 1. Linux当前的应用角色
- 2. 鸟哥的Linux苦难经验全都录
- 3. 有心朝Linux作业系统学习者的学习态度
- 4. 鸟哥的建议(重点在solution的学习)
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第三章 主机规划与磁盘分区
- 1. Linux与硬件的搭配
- 2. 磁盘分区
- 3. 安装Linux前的规划
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第四章 安装CentOS 5.x 与多重引导技巧
- 1. 本练习机的规划--尤其是分割参数
- 2. 开始安装CentOS 5
- 3. 安装后的首次设定
- 4. 多重开机安装流程与技巧
- 5. 关於大硬盘导致无法开机的问题
- 6. 重点回顾、本章习题、参考数据与延伸阅读
- 第五章 首次登陆与 在线求助 man page
- 1. 首次登陆系统
- 2. 文本模式下命令的下达
- 3. Linux系统的在线求助man page与info page
- 4. 超简单文书编辑器: nano
- 5. 正确的关机方法:sync,shutdown
- 6. 启动过程的问题排解
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第二部分 Linux 文件、目录与磁盘格式
- 第六章 Linux文件权限与 目录配置
- 1. 使用者与群组
- 2. Linux文件权限概念
- 3. Linux目录配置
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第七章 Linux文件与目录管理
- 1. 目录与路径
- 2. 文件与目录管理
- 3. 文件内容查阅
- 4. 文件与目录的默认权限与隐藏权限
- 5. 命令与文件的搜寻:
- 6. 极重要!权限与命令间的关系:
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第八章 Linux 磁盘与 文件系统管理
- 1. 认识 EXT2 文件系统
- 2. 文件系统的简单操作
- 3. 磁盘的分割、格式化、检验与挂载
- 4. 配置启动挂载:
- 5. 内存置换空间(swap)之建置:
- 6. 文件系统的特殊观察与操作
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第九章 文件的压缩与打包
- 1. 压缩文件的用途与技术
- 2. Linux 系统常见的压缩命令
- 3. 打包命令:
- 4. 完整备份工具:dump
- 5. 光盘写入工具
- 6. 其他常见的压缩与备份工具
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第三部分:学习 Shell 与 Shell scripts
- 第十章 vim程序编辑器
- 1. 为何要学 vim
- 2. vi 的使用
- 3. vim 的额外功能
- 4. 其他 vim 使用注意事项
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第十一章 认识与学习 BASH
- 1. 认识 BASH 这个 Shell
- 2. Shell 的变量功能
- 3. 命令别名与历史命令
- 4. Bash shell 的操作环境
- 5. 数据流重导向 (Redirection)
- 6. 管线命令 (pipe)
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第十二章 正规表示法与 文件格式化处理
- 1. 前言: 什么是正规表示法
- 2. 基础正规表示法
- 3. 延伸正规表示法
- 4. 文件的格式化与相关处理
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第十三章 学习 shell scripts
- 1. 什么是 Shell Script
- 2. 简单的 shell script 练习
- 3. 善用判断式
- 4. 条件判断式
- 5. 回圈 (loop)
- 6. shell script 的追踪与 debug
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第四部分:Linux 使用者管理
- 第十四章 Linux 账号管理与 ACL 权限控制
- 1. Linux 的账号与群组
- 2. 账号管理
- 3. 主机的细部权限规划:ACL 的使用
- 4. 使用者身份切换
- 5. 使用者的特殊 shell 与 PAM 模块
- 6. Linux 主机上的用户信息传递
- 7. 手动新增使用者
- 8. 重点回顾、本章习题、参考数据与延伸阅读
- 第十五章 磁盘配额(Quota)与 进阶文件系统管理
- 1. 磁碟配额 (Quota) 的应用与实作
- 2. 软件磁盘阵列 (Software RAID)
- 3. 逻辑卷轴管理员 (Logical Volume Manager)
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第十六章 例行性工作排程 (crontab)
- 1. 什么是例行性工作排程
- 2. 仅运行一次的工作排程
- 3. 循环运行的例行性工作排程
- 4. 可唤醒停机期间的工作任务
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第十七章 程序管理与 SELinux 初探
- 1. 什么是程序 (Process)
- 2. 工作管理 (job control)
- 3. 程序管理
- 4. 特殊文件与程序
- 5. SELinux 初探
- 6. 重点回顾、本章习题、参考数据与延伸阅读
- 第五部分:Linux 系统管理员
- 第十八章 认识系统服务 (daemon)
- 1. 什么是 daemon 与服务 (service)
- 2. 解析 super daemon 的配置文件
- 3. 服务的防火墙管理 xinetd, TCP Wrappers
- 4. 系统开启的服务
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第十九章 认识与分析登录档
- 1. 什么是登录文件
- 2. syslogd :记录登录文件的服务
- 3. 登录文件的轮替 (logrotate)
- 4. 分析登录文件
- 5. 本章习题练习、针对本文的建议
- 第二十章 启动流程、模块管理 与 loader
- 1. Linux 的启动流程分析
- 2. 核心与核心模块
- 3. Boot loader: Grub
- 4. 启动过程的问题解决
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十一章 系统配置工具(网络与 打印机)与硬件侦测
- 1. CentOS 系统配置工具: setup
- 2. 利用 CUPS 配置 Linux 打印机
- 3. 硬件数据收集与驱动,及 lm_sensors
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十二章 软件安装: 原始码与 Tarball
- 1. 开放源码的软件安装与升级简介
- 2. 使用传统程序语言进行编译的简单范例
- 3. 用 make 进行巨集编译
- 4. Tarball 的管理与建议
- 5. 函式库管理
- 6. 检验软件的正确性
- 7. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十三章 软件安装:RPM, SRPM 与 YUM 功能
- 1. 软件管理员简介
- 2. RPM 软件管理程序: rpm
- 3. SRPM 的使用: rpmbuild
- 4. YUM 线上升级机制
- 5. 管理的抉择:RPM 还是 Tarball
- 6. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十四章 X Window 配置介绍
- 1. 什么是 X Window System
- 2. X Server 配置档解析与配置
- 3. 显卡驱动程序安装范例
- 4. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十五章 Linux 备份策略
- 1. 备份要点
- 2. 备份的种类、频率与工具的选择
- 3. VBird 的备份策略与 scripts
- 4. 灾难复原的考量
- 5. 重点回顾、本章习题、参考数据与延伸阅读
- 第二十六章 核心编译
- 1. 编译前的任务:认识核心与取得核心原始码
- 2. 核心编译的前处理与核心功能选择
- 3. 核心的编译与安装
- 4. 额外(单一)核心模块编译
- 5. 重点回顾、本章习题、参考数据与延伸阅读