《 Linux操作系统》第二讲 Linux的基本配置与使用 学时计划:4学时理论,4学时实验 (实验二: Linux下的驱动程序与应用软件管理) 教学大纲: 1、和 Windows在一起的 Linux无法启动了! 2、超级用户root 3、桌面系统(X服务器) 4、个性化配置 Linux桌面系统 5、驱动程序与应用软件的安装 6、操作系统升级 7、讨论与思考 Linuκ操作系统安装完成之后,就是如何使用 Linux操作系统, 本讲主要在 Ubuntu桌面操作系统下讲解 Linux操作系统的基本配置、 个性化设置、驱动程序和应用软件安装,以及操作系统升级。 最后,重点介绍超级用户root和桌面系统的基本原理。 、和 Windows在一起的 Linux无法启动了! 1. ILinux无法启动了! 场景描述: 张三的计算机安装了 Windows7和 Ubuntu11.04两个操作系统 安装的方式是 第一步 安装 Windows7操作系统。将500GB的硬盘上划分了3个分区, C盘100GB、D盘120GB、E盘180GB,另有100GB的硬盘没有划分分 区。 Windows7操作系统安装到C盘,D盘用来存放工作和学习资料 E盘存放娱乐资料。 第二步 安装 Ubuntu11.04操作系统。操作系统安装在尚未划分硬盘分 1《Linux操作系统》讲稿/河南中医学院/阮晓龙/r@hactcm.edu.cn
1 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 《Linux 操作系统》第二讲: Linux 的基本配置与使用 学时计划:4 学时 理论,4 学时 实验 (实验二:Linux 下的驱动程序与应用软件管理) 教学大纲: 1、和 Windows 在一起的 Linux 无法启动了! 2、超级用户 root 3、桌面系统(X 服务器) 4、个性化配置 Linux 桌面系统 5、驱动程序与应用软件的安装 6、操作系统升级 7、讨论与思考 Linux 操作系统安装完成之后,就是如何使用 Linux 操作系统, 本讲主要在Ubuntu桌面操作系统下讲解Linux操作系统的基本配置、 个性化设置、驱动程序和应用软件安装,以及操作系统升级。 最后,重点介绍超级用户 root 和桌面系统的基本原理。 一、和 Windows 在一起的 Linux 无法启动了! 1.1Linux 无法启动了! 场景描述: 张三的计算机安装了 Windows 7 和 Ubuntu11.04 两个操作系统, 安装的方式是: 第一步: 安装 Windows 7 操作系统。将 500GB 的硬盘上划分了 3 个分区, C 盘 100GB、D 盘 120GB、E 盘 180GB,另有 100GB 的硬盘没有划分分 区。Windows 7 操作系统安装到 C 盘,D 盘用来存放工作和学习资料, E 盘存放娱乐资料。 第二步: 安装 Ubuntu 11.04 操作系统。操作系统安装在尚未划分硬盘分
区的空间内,分区按照 Linux推荐的分区方式。 第三步: 安装GRUB,并设置为默认使用 Ubuntu11.04。 在硬盘上安装 Windows和 Linux双操作系统后,计算机一直运行 良好。直到一天, Windows操作系统感染了病毒,张三计划重新安装 Windows7操作系统。 具体的安装方式是: 第一步:设置计算机从光盘启动。 第二步:将计算机C盘全新格式化,全新安装 Windows7到C盘 Windows7安装顺利完成。 故障发生了! 张三的计算机在 Windows7安装完成后,启动计算机就直接进入 Windows7。GRUB的启动界面不出现,无法使用还正常的 Ubuntu11.04 操作系统。 1.1.1故障发生的原因 故障发生的原因很简单, Windows7操作系统重新安装时,自动 用 Windows7的启动程序覆盖了Grub多重引导程序。但是 Windows7 的引导程序却不具备发现 Linux操作系统和引导 Linux操作系统的能 力 1.1.2解决故障的办法 解决故障的办法很简单:在 Windows7安装成功后,重新安装 Grub即可。 具体的操作方法是 第一步:使用 Linux光盘启动计算机,如果是ω perUSe操作系 统,进入“ Rescue System”模式,或者在 Ubuntu下使用“ Try Ubuntu without change to your computer”。进入 Linux操作系统。 第二步:从光盘运行 Linux操作系统后,通过下属命令重新安装 Grub并完成设置。 ind/boot/grub/stagel Root(hdx,y) 2《Linux操作系统》讲稿/河南中医学院/阮晓龙/r@hactcm.edu.cn
2 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 区的空间内,分区按照 Linux 推荐的分区方式。 第三步: 安装 GRUB,并设置为默认使用 Ubuntu 11.04。 在硬盘上安装 Windows 和 Linux 双操作系统后,计算机一直运行 良好。直到一天,Windows 操作系统感染了病毒,张三计划重新安装 Windows 7 操作系统。 具体的安装方式是: 第一步:设置计算机从光盘启动。 第二步:将计算机 C 盘全新格式化,全新安装 Windows 7 到 C 盘。 Windows 7 安装顺利完成。 故障发生了! 张三的计算机在 Windows 7 安装完成后,启动计算机就直接进入 Windows 7。GRUB 的启动界面不出现,无法使用还正常的 Ubuntu 11.04 操作系统。 1.1.1 故障发生的原因 故障发生的原因很简单,Windows 7 操作系统重新安装时,自动 用 Windows 7 的启动程序覆盖了 Grub 多重引导程序。但是 Windows 7 的引导程序却不具备发现Linux操作系统和引导Linux操作系统的能 力。 1.1.2 解决故障的办法 解决故障的办法很简单:在 Windows 7 安装成功后,重新安装 Grub 即可。 具体的操作方法是: 第一步:使用 Linux 光盘启动计算机,如果是 OpenSUSE 操作系 统,进入“Rescue System”模式,或者在 Ubuntu 下使用“Try Ubuntu without change to your computer”。进入 Linux 操作系统。 第二步:从光盘运行 Linux 操作系统后,通过下属命令重新安装 Grub 并完成设置。 Grub Find /boot/grub/stage1 Root (hdx,y) Setup (hd0) Quit
注意,命令中的X,Y要根据具体情况进行调整。 1.2 Linux和Grub对分区的表示方法 1.2.1 Linux下的分区设备的命名方式是 sda(/dev/sda)就是指第一块硬盘本身(SATA、SCSI硬盘是用sda 表示的,而IDE硬盘则是用hda表示) sda1表示第一块硬盘第1个主分区(扩展分区在这里当作主分 区看); sda2表示第一块硬盘第2个主分区 sda3表示第一块硬盘第3个主分区; sda4表示第一块硬盘第4个主分区; sda5表示第一块硬盘第1个逻辑分区; sda6表示第一块硬盘第2个逻辑分区;依次类推· 第二块硬盘则表示为sdb或者hdb。 由于sda、hda等名称是 Linux下表示法,所以想要查看本机的 硬盘信息的话, Linux下可用命令查看。 sudo fdisk- 1.2.2Grub对硬盘分区设备的命名方式是 系统的第一个硬盘驱动器表示成(hd0),其上的第一个分区表示 为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形式来表示,x、y 都是从0开始计数的,x表示硬盘号,y表示分区号 由于主分区只能有四个,所以第一硬盘的四个主分区分别用 (hd0,0)、(hd0,1)、(hd0,2)、(hd0,3)来表示;逻辑分区则从(hd0,4) 开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示, 依次类推 一般机子的硬盘都是一个主分区,其余是逻辑分区,因此C盘用 (hd0,0),D盘用(hd0,4)来表示。 光盘用(cd)表示,第一软驱用(fd0)表示。 Grub下用1s命令查看分区下的文件,从而确定硬盘的分区信息。 ls列出当前的所有设备 ls-详细列出当前的所有设备,对于分区,会显示其labe及uid。 3《Linux操作系统》讲稿/河南中医学院/阮晓龙/r@hactcm.edu.cn
3 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 注意,命令中的 X,Y 要根据具体情况进行调整。 1.2Linux 和 Grub 对分区的表示方法 1.2.1Linux 下的分区设备的命名方式是: sda(/dev/sda)就是指第一块硬盘本身(SATA、SCSI 硬盘是用 sda 表示的,而 IDE 硬盘则是用 hda 表示)。 sda1 表示第一块硬盘第 1 个主分区(扩展分区在这里当作主分 区看); sda2 表示第一块硬盘第 2 个主分区; sda3 表示第一块硬盘第 3 个主分区; sda4 表示第一块硬盘第 4 个主分区; sda5 表示第一块硬盘第 1 个逻辑分区; sda6 表示第一块硬盘第 2 个逻辑分区;依次类推… 第二块硬盘则表示为 sdb 或者 hdb。 由于 sda、hda 等名称是 Linux 下表示法,所以想要查看本机的 硬盘信息的话,Linux 下可用命令查看。 sudo fdisk -l 1.2.2Grub 对硬盘分区设备的命名方式是: 系统的第一个硬盘驱动器表示成(hd0),其上的第一个分区表示 为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形式来表示,x、y 都是从 0 开始计数的,x 表示硬盘号,y 表示分区号。 由于主分区只能有四个,所以第一硬盘的四个主分区分别用 (hd0,0)、(hd0,1)、(hd0,2)、(hd0,3)来表示;逻辑分区则从(hd0,4) 开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示, 依次类推。 一般机子的硬盘都是一个主分区,其余是逻辑分区,因此 C 盘用 (hd0,0),D 盘用(hd0,4)来表示。 光盘用(cd)表示,第一软驱用(fd0)表示。 Grub 下用 ls 命令查看分区下的文件,从而确定硬盘的分区信息。 ls 列出当前的所有设备 ls –l 详细列出当前的所有设备,对于分区,会显示其 label 及 uuid
(d列出0)分区根目录下的所有文件。 1.31inux的启动流程 Linux操作系统的启动流程是了解 Linux的基础,也是对于操作 系统无法启动时解决问题的基本理论依据。如果不了解如何启动 Linux,那么就无法判断系统无法启动的原因。也就是大部分的计算 机管理员或者用户在操作系统无法启动时,选择重新安装操作系统而 不是进行维护的原因。 1.3.1 Linux的启动流程 Linux的启动可以基本划分为10个基本步骤。 Stepl:加载BIOS的硬件信息,并获取第一个启动设备的代号。 Step2:读取第一个启动设备的MBR的引导加载程序(即llo、grub、 fdisk等) 的启动信息。 Step3:加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。 Step4:核心执行init程序并获得运行信息。 Step5:int执行/ etc/rc. d/rc sysinit文件 Step6:启动核心的外挂模块( etc/modprobe. conf)。 Step7:nt执行运行的各个批处理文件( Script)。 Step8:int执行 etcc. d/rc local文件 Step9:执行/ /bin/login程序,等待用户登录 Stepl0:登录之后开始以shel控制主机。 1.3.2 Linux启动过程的关键问题 (1) Linux核心的引导 Linuκx操作系统的核心是放在文件系统中的,要想正确加载核心 就必须提前识别文件系统。系统刚启动的时候,就需要通过引导加载 程序(即LIL0、Grub、 spfdisk等)来识别文件系统,引导核心。要 想加载 Linux的核心就必须能识别 Linux的文件系统,要加载 Windows 核心就必须能识别 Windows文件系统。 Grub是同时支持 Linux和 Windows的。 Windows的加载程序并不 支持 Linux文件系统,所以在多重启动设置的时候,总是要先装 Windows而后装 Linux的原因也就是如此。 Linux操作系统核心文件在哪里呢?一般来说,它会放在/boot 里,并且取名为/boot/ vmlinuz。例如, Ubuntu11.04 Desktop的核 心文件存放在/ vmlinuz。 4《Linux操作系统》讲稿/河南中医学院/阮晓龙/rx@hactcm.edu.cn
4 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn ls (hd0,1)/ 列出(hd0,1)分区根目录下的所有文件。 1.3linux 的启动流程 Linux 操作系统的启动流程是了解 Linux 的基础,也是对于操作 系统无法启动时解决问题的基本理论依据。如果不了解如何启动 Linux,那么就无法判断系统无法启动的原因。也就是大部分的计算 机管理员或者用户在操作系统无法启动时,选择重新安装操作系统而 不是进行维护的原因。 1.3.1Linux 的启动流程 Linux 的启动可以基本划分为 10 个基本步骤。 Step1:加载 BIOS 的硬件信息,并获取第一个启动设备的代号。 Step2:读取第一个启动设备的 MBR 的引导加载程序(即 lilo、grub、spfdisk 等) 的启动信息。 Step3:加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。 Step4:核心执行 init 程序并获得运行信息。 Step5:init 执行/etc/rc.d/rc.sysinit 文件。 Step6:启动核心的外挂模块(/etc/modprobe.conf)。 Step7:init 执行运行的各个批处理文件(Script)。 Step8:init 执行/etc/rc.d/rc.local 文件。 Step9:执行/bin/login 程序,等待用户登录。 Step10:登录之后开始以 shell 控制主机。 1.3.2Linux 启动过程的关键问题 (1)Linux 核心的引导 Linux 操作系统的核心是放在文件系统中的,要想正确加载核心 就必须提前识别文件系统。系统刚启动的时候,就需要通过引导加载 程序(即 LILO、Grub、spfdisk 等)来识别文件系统,引导核心。要 想加载Linux的核心就必须能识别Linux的文件系统,要加载Windows 核心就必须能识别 Windows 文件系统。 Grub 是同时支持 Linux 和 Windows 的。Windows 的加载程序并不 支持 Linux 文件系统,所以在多重启动设置的时候,总是要先装 Windows 而后装 Linux 的原因也就是如此。 Linux 操作系统核心文件在哪里呢?一般来说,它会放在/boot 里,并且取名为/boot/vmlinuz。例如,Ubuntu 11.04 Desktop 的核 心文件存放在/vmlinuz
在加载核心的过程中,系统只会“载入根目录”,并且是以只读 方式载入的。有时为了让某些功能可以用文件的方法来读取,有的系 统在启动时,会建立虛拟盘( ramdisk),这就需要使用 initrd以及 linuxrc了。在这种情况下,加载核心的时会一并加载 initrd的映 像文件(boot/ initrd-xxx.ing),并利用1 Inuxrc(在 initrd的映 像文件内)程序来加载模块。在核心驱动外部硬件的工作完成之后, initrd所建立的虛拟盘就会被删除。 (2)第一个程序ini的加载和 runlevel设置 在核心加载完成之后,系统就准备好了,等待程序的执行。整个 Linux系统中,第一个执行的程序就是“/sbin/init”。init程序利 用设置文件 来获取运行等级,通过运行等级的设置 值启动不同的服务项目。运行等级是指 Linux通过设置不同等级来规 定系统用不同的服务来启动,让1inux的使用环境不同。 etc/ inittab"中有这么一句 "si:: sysinit:/etc/re.d/rc. sysinit",表明系统需要主动使用 "rc. sysinit"这个shel1脚本来设置系统环境。但这个文件的文件名 在不同的 Linux发行版中是不一样的,需要自行查看确认。 说明:了解到 ubuntu在6.10开始用 upstart替代init,主要 脚本都在/etc/ event.d下面,默认情况下/etc下没有 inittab文件。 举例: inittab文件的内容: [root@linux -]#vi/etc/inittab #设置系统启动默认的运行等级设置项目 id: 3 initdefault: #开始启动运行等级的服务前,使用检测与初始化系统环境的设置文件 si:sysinit: /etc/rc. d/rc sysinit #7个不同运行等级需要启动的服务的脚本放置位置路径 10: 0: wait: /etc/rc. d/rc O 11: 1: wait: / etc/rc. d/rc 1 12: 2: wait: /etc/rc. d/rc 2 3: 3 wait: /etc/rc. d/rc 3 14: 4: wait: /etc/rc. d/rc 4 15: 5: wait: /etc/rc. d/rc 5 16: 6 wait /etc/rc. d/rc 6 #是否运行按下ctr+[a+[de]就重新启动的设置项目 5《Linux操作系统》讲稿/河南中医学院/阮晓龙/rx@hactcm.edu.cn
5 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 在加载核心的过程中,系统只会“载入根目录”,并且是以只读 方式载入的。有时为了让某些功能可以用文件的方法来读取,有的系 统在启动时,会建立虚拟盘(ramdisk),这就需要使用 initrd 以及 linuxrc 了。在这种情况下,加载核心的时会一并加载 initrd 的映 像文件(boot/initrd-xxxx.img),并利用 linuxrc(在 initrd 的映 像文件内)程序来加载模块。在核心驱动外部硬件的工作完成之后, initrd 所建立的虚拟盘就会被删除。 (2)第一个程序 init 的加载和 runlevel 设置 在核心加载完成之后,系统就准备好了,等待程序的执行。整个 Linux 系统中,第一个执行的程序就是“/sbin/init”。init 程序利 用设置文件“/etc/inittab”来获取运行等级,通过运行等级的设置 值启动不同的服务项目。运行等级是指 Linux 通过设置不同等级来规 定系统用不同的服务来启动,让 linux 的使用环境不同。 "/etc/inittab"中有这么一句 "si::sysinit:/etc/rc.d/rc.sysinit",表明系统需要主动使用 "rc.sysinit"这个 shell 脚本来设置系统环境。但这个文件的文件名 在不同的 Linux 发行版中是不一样的,需要自行查看确认。 说明:了解到 ubuntu 在 6.10 开始用 upstart 替代 init,主要 脚本都在/etc/event.d下面,默认情况下/etc下没有inittab文件。 举例:inittab 文件的内容: [root@linux ~]#vi /etc/inittab # 设置系统启动默认的运行等级设置项目 id:3:initdefault: # 开始启动运行等级的服务前,使用检测与初始化系统环境的设置文件: si::sysinit:/etc/rc.d/rc.sysinit # 7 个不同运行等级需要启动的服务的脚本放置位置路径: 10:0:wait:/etc/rc.d/rc 0 11:1:wait:/etc/rc.d/rc 1 12:2:wait:/etc/rc.d/rc 2 13:3:wait:/etc/rc.d/rc 3 14:4:wait:/etc/rc.d/rc 4 15:5:wait:/etc/rc.d/rc 5 16:6:wait:/etc/rc.d/rc 6 # 是否运行按下[ctrl]+[alt]+[del]就重新启动的设置项目: