首页
BBS
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
Linux 私房菜
前言
前言
基础篇
一.Linux的规划与安装
1.计算机概念
1.1 計算机:辅助人脑的好工具
1.2 个人计算机架构与周边设备
1.3 数据表示方式
1.4 软件程序运作
2.Linux是什么
2.1 Linux是什么
2.2 Torvalds的Linux发展
2.3 Linux的特色
3.Linux如何学习
3.1 Linux当前的应用角色
3.2 鸟哥的Linux苦难经验全都录
3.3 有心朝Linux作业系统学习者的学习态度
3.4 鸟哥的建议(重点在solution的学习)
4.主机规划与磁盘分区
4.1 Linux与硬件的搭配
4.2 磁盘分区
4.3 安装Linux前的规划
5.安装CentOS 5.x与多重引导技巧
5.1 本练习机的规划--尤其是分割参数
5.2 开始安装CentOS 5
5.3 安装后的首次设定
5.4 多重开机安装流程与技巧
5.5 关於大硬盘导致无法开机的问题
6.首次登陆与在线求助 man page
6.1 首次登陆系统
6.2 文本模式下命令的下达
6.3 Linux系统的在线求助man page与info page
6.4 超简单文书编辑器: nano
6.5 正确的关机方法
6.6 启动过程的问题排解
二.文件、目录与磁盘格式
7.Linux文件权限与目录配置
7.1 使用者与群组
7.2 Linux文件权限概念
7.3 Linux目录配置
8.Linux文件与目录管理
8.1 目录与路径
8.2 文件与目录管理
8.3 文件内容查阅:
8.4 文件与目录的默认权限与隐藏权限
8.5 命令与文件的搜寻
8.6 极重要!权限与命令间的关系
8.1 路由
8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
9.Linux 磁盘与 文件系统管理
9.1 认识 EXT2 文件系统
9.2 文件系统的简单操作
9.3 磁盘的分割、格式化、检验与挂载
9.4 配置启动挂载
9.5 内存置换空间(swap)之建置
9.6 文件系统的特殊观察与操作
10.文件的压缩与打包
10.1 压缩文件的用途与技术
10.2 Linux 系统常见的压缩命令
10.3 打包命令: tar
10.4 完整备份工具:dump, restore
10.5 光盘写入工具
10.6 其他常见的压缩与备份工具
10.7 重点回顾
三.学习Shell与Shell Scripts
11.vim程序编辑器
11.1 vi 与 vim
11.2 vi 的使用
11.3 vim 的额外功能
11.4 其他 vim 使用注意事项
11.5 重点回顾
12.认识与学习 BASH
12.1 认识 BASH 这个 Shell
12.2 Shell 的变量功能
12.3 命令别名与历史命令
12.4 Bash shell 的操作环境
12.5 数据流重导向 (Redirection)
12.6 管线命令 (pipe)
12.7 重点回顾
13.正规表示法与文件格式化处理
13.1 前言: 什么是正规表示法
13.2 基础正规表示法
13.3 延伸正规表示法
13.4 文件的格式化与相关处理
13.5 重点回顾
14.学习 shell scripts
14.1 什么是 Shell Script
14.2 简单的 shell script 练习
14.3 善用判断式
14.4 条件判断式
14.5 回圈 (loop)
14.6 shell script 的追踪与 debug
14.7 重点回顾
四.Linux使用者管理
15.Linux 账号管理与ACL 权限控制
15.1 Linux 的账号与群组
15.2 账号管理
15.3 主机的细部权限规划:ACL 的使用
15.4 使用者身份切换
15.5 使用者的特殊 shell 与 PAM 模块
15.6 Linux 主机上的用户信息传递
15.7 手动新增使用者
15.8 重点回顾
16.磁盘配额(Quota)与进阶文件系统管理
16.1 磁碟配额 (Quota) 的应用与实作
16.2 软件磁盘阵列 (Software RAID)
16.3 逻辑卷轴管理员 (Logical Volume Manager)
16.4 重点回顾
17.例行性工作排程 (crontab)
17.1 么是例行性工作排程
17.2 仅运行一次的工作排程
17.3 循环运行的例行性工作排程
17.4 可唤醒停机期间的工作任务
17.5 重点回顾
18.程序管理与SELinux 初探
18.1 什么是程序 (Process)
18.2 工作管理 (job control)
18.3 程序管理
18.4 特殊文件与程序
18.5 SELinux 初探
18.6 重点回顾
五.Linux系统管理员
19.认识系统服务(daemon)
19.1 什么是 daemon 与服务 (service)
19.2 解析 super daemon 的配置文件
19.3 服务的防火墙管理 xinetd, TCP Wrappers
19.4 系统开启的服务
19.5 重点回顾
20.认识与分析登录档
20.1 什么是登录文件
20.2 syslogd :记录登录文件的服务
20.3 登录文件的轮替 (logrotate)
20.4 分析登录文件
20.5 重点回顾
21.启动流程、模块管理 与 loader
21.1 Linux 的启动流程分析
21.2 核心与核心模块
21.3 Boot loader: Grub
21.4 启动过程的问题解决
21.5 重点回顾
22.系统配置工具(网络与打印机)与硬件侦测
22.1 CentOS 系统配置工具: setup
22.2 利用 CUPS 配置 Linux 打印机
22.3 硬件数据收集与驱动,及 lm_sensors
22.4 重点回顾
23.软件安装: 原始码与 Tarball
23.1 开放源码的软件安装与升级简介
23.2 使用传统程序语言进行编译的简单范例
23.3 用 make 进行巨集编译
23.4 Tarball 的管理与建议
23.5 函式库管理
23.6 检验软件的正确性
23.6 重点回顾
24.软件安装:RPM, SRPM 与 YUM 功能
24.1 软件管理员简介
24.2 RPM 软件管理程序: rpm
24.3 SRPM 的使用: rpmbuild
24.4 YUM 线上升级机制
24.5 管理的抉择:RPM 还是 Tarball
24.6 重点回顾
25.X Window 配置介绍
25.1 什么是 X Window System
25.2 X Server 配置档解析与配置
25.3 显卡驱动程序安装范例
25.4 重点回顾
26.Linux 备份策略
26.1 备份要点
26.2 备份的种类、频率与工具的选择
26.3 VBird 的备份策略与 scripts
26.4 灾难复原的考量
26.5 重点回顾
27.核心编译
27.1 编译前的任务:认识核心与取得核心原始码
27.2 核心编译的前处理与核心功能选择
27.3 核心的编译与安装
27.4 额外(单一)核心模块编译
27.5 重点回顾
六.其他备份文章
28.基础学习篇快速索引
29.附录 A: GNU 的 GPL 条文 version 2
附录 A: GNU 的 GPL 条文 version 2
30.附录 B: EXT2 / EXT3 档案系统
第二延伸文件系统 (EXT2)
31.Linux 系统与命令练习题
32.SPFDISK 的 一个范例
33.较小安装 Red Hat 7.2
34.Red Hat 6.x 旧文件
35.基础篇第一版 Mandrake 9为例
36.基础篇第二版 Fedora Core 4为例
服务器
一.架站前的进修专区
1.准备工作
1.1 前言: Linux 有啥功能
1.2 基本架设服务器流程
1.3 自我评估是否已经具有架设服务器的能力
1.4 本章习题
2.基础网络概念
2.1 网络是个什么玩意儿
2.2 TCP/IP 的链结层相关协议
2.3 TCP/IP 的网络层相关封包与数据
2.4 TCP/IP 的传输层相关封包与数据
2.5 连上 Internet 前的准备事项
2.6 重点回顾
3.局域网络架构简介
3.1 局域网络的联机
3.2 本书使用的内部联机网络参数与通讯协议
4.连上 Internet
4.1 Linux 连上 Internet 前的注意事项
4.2 连上 Internet 的设定方法
4.3 无线网络--以笔记本电脑为例
4.4 常见问题说明
4.5 重点回顾
5.网络指令
5.1 网络参数设定使用的指令
5.2 网络侦错与观察指令
5.3 远程联机指令与实时通讯软件
5.4 文字接口网页浏览
5.5 封包撷取功能
5.6 重点回顾
6.网络侦错
6.1 无法联机原因分析
6.2 处理流程
6.3 本章习题
二.主机的简易防火措施
7.网络安全与主机基本防护
7.1 网络封包联机进入主机的流程
7.2 网络自动升级软件
7.3 限制联机埠口 (port)
7.4 SELinux 管理原则
7.5 被攻击后的主机修复工作
7.6 重点回顾
8.路由概念与路由器
8.2 路由器架设
8.3 动态路由器架设:quagga (zebra + ripd)
8.5 重点回顾
9.防火墙与 NAT 服务器
9.1 认识防火墙
9.2 TCP Wrappers
9.3 Linux 的封包过滤软件:iptables
9.4 单机防火墙的一个实例
9.5 NAT 服务器的设定
9.6 重点回顾
10.申请合法的主机名
10.1 为何需要主机名
10.2 注册一个合法的主机名
10.3 重点回顾
三.局域网络内常见的服务器架设
11.远程联机服务器ssh, xdmcp, vnc, xrdp
11.1 远程联机服务器
11.2 文字接口联机服务器:SSH 服务器
11.3 最原始图形接口: Xdmcp 服务的启用
11.4 华丽的图形接口: VNC 服务器
11.5 仿真的远程桌面系统: XRDP 服务器
11.6 SSH 服务器的进阶应用
12.网络参数控管者:DHCP 服务器
13.文件服务器一:NFS 服务器
14.账号控管:NIS 服务器
15.时间服务器:NTP 时间服务器
16.文件服务器之二:SAMBA 服务器
17.区网控制者:Proxy 服务器
18.网络驱动器装置:iSCSI 服务器
四.常见因特网服务器架设
19.主机名控制者:DNS 服务器
20.WWW 服务器
21.文件服务器之三:FTP 服务器
22.邮件服务器:Postfix
五.一些旧数据
23.旧数据汇总
进阶篇
Shell教程
参考手册
Linux 命令大全
Shell 命令
21.5 重点回顾
文档创建者:
职起网
浏览次数:
502
最后更新:
2023-05-16
Linux 私房菜
502 人阅读
|
0 人回复
职起网
职起网
当前离线
积分
4514
Linux
Linux 私房菜:
基础篇 » 五.Linux系统管理员 » 21.启动流程、模块管理 与 loader
重点回顾
Linux 不可随意关机,否则容易造成文件系统错乱或者是其他无法启动的问题;
启动流程主要是:BIOS、MBR、Loader、kernel+initrd、/sbin/init 等流程
Loader 具有提供菜单、加载核心文件、转交控制权给其他 loader 等功能。
boot loader 可以安装在 MBR 或者是每个分割槽的 boot sector 区域中
initrd 可以提供核心在启动过程中所需要的最重要的模块,通常与磁碟及文件系统有关的模块;
init 的配置档为 /etc/inittab ,此文件内容可以配置默认 runlevel、系统初始化脚本、不同运行等级的服务启动等;
额外的装置与模块对应,可写入 /etc/modprobe.conf 中;
核心模块的管理可使用 lsmod, modinfo, rmmod, insmod, modprobe 等命令;
modprobe 主要参考 /lib/modules/$(uanem -r)/modules.dep 的配置来加载与卸载核心模块;
grub 的配置档与相关文件系统定义档大多放置於 /boot/grub 目录中,配置档名为 menu.lst
grub 对磁碟的代号配置与 Linux 不同,主要透过侦测的顺序来给予配置。如 (hd0) 及 (hd0,0) 等。
menu.lst 内每个菜单与 titile 有关,而直接指定核心启动时,至少需要 kernel 及 initrd 两个项目
menu.lst 内配置 loader 控制权移交时,最重要者为 chainloader +1 这个项目。
若想要重建 initrd ,可使用 mkinitrd 处理
重新安装 grub 到 MBR 或 boot sector 时,可以利用 grub shell 来处理。
若想要进入救援模式,可於启动菜单过程中,在 kernel 的项目后面加入『 single 』或『 init=/bin/bash 』等方式来进入救援模式。
我们可以对 grub 的个别菜单给予不同的口令。
本章习题
( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
(1)情境模拟题一
利用救援光盘来处理系统的错误导致无法启动的问题。
目标:了解救援光盘的功能;
前提:了解 grub 的原理,并且知道如何使用 chroot 功能;
需求:打字可以再加快一点啊!
这个部分鸟哥就不捉图了,请大家自行处理罗~假设你的系统出问题而无法顺利启动,此时拿出原版光盘,然后重新以光盘来启动你的系统。 然后你应该要这样作的:
利用光盘启动时,到了看到 boot: 的阶段,按下 [F5] 之后会看到可以输入的选项,此时请输入:
[AppleScript]
ı鿴
ƴ
boot: linux rescue
就能够进入救援模式的侦测了!
然后请选择语系与键盘对应,这个与安装过程是一模一样啦!所以选择『 English 』与『 us 』即可!
接下来会问你是否需要启动网络,因为我们的系统是出问题要处理,所以不需要启动网络啦!选择『 No』即可;
然后就进入救援光盘模式的文件系统搜寻了!这个救援光盘会去找出目前你的主机里面与 CentOS 5.x 相关的操作系统, 并将该操作系统汇整成为一个 chroot 的环境等待你的处置!但是他会有三个模式可以选择,分别是『continue』继续成为可读写挂载; 『Read-Only』将侦测到的操作系统变成唯读挂载;『Skip』略过这次的救援动作。在这里我们选择『 Continue 』吧!
然后系统会将侦测到的资讯通知你!一般来说,可能会在萤幕上显示类似这样的信息:『 chroot /mnt/sysimage』此时请按下 OK 吧!
按下 OK 后,系统会丢给你一个 shell 使用,先用 df 看一下挂载情况是否正确? 若不正确请手动挂载其他未被挂载的 partition 。等到一切搞定后,利用 chroot /mnt/sysimage 来转成你原本的操作系统环境吧!等到你将一切出问题的地方都搞定,请 reboot 系统,且取出光盘,用硬盘启动吧!
(2)简答题部分
如何察看与修改 runlevel 呢?
+ 简答 (点击展开)
- 简答 (点击折叠)
察看很简单,只要输入『 runlevel 』就可以得知。而如果要修改目前的 runlevel , 可以直接输入 init [level] 例如要去到 runlevel 3 可以:『 init 3 』即可。 如果想要每次启动都配置固定的 runlevel ,那么可以修改 /etc/inittab 这个文件! 将里面这一行改成:『id:3:initdefault:』即可。
我有个朋友跟我说,他想要让一个程序在 Linux 系统下一启动就启动,但是在关机前会自动的先结束该程序,我该怎么建议他?
+ 简答 (点击展开)
- 简答 (点击折叠)
由於 /etc/rc.d/rc[0-6].d 里面有的 Sxxname 与 Kxxname 可以配置启动启动与关机结束的事项!所以我就可以轻易的写一个 script 放在 /etc/rc.d/init.d 里面,并连结到我的 run-level 里头,就可以让他自由自在的启动与结束了!
万一不幸,我的一些模块没有办法让 Linux 的核心捉到,但是偏偏这个核心明明就有支持该模块, 我要让该模块在启动的时候就被加载,那么应该写入那个文件?
+ 简答 (点击展开)
- 简答 (点击折叠)
应该写入 /etc/modprobe.conf (kernel 2.6.x) 或者是 /etc/modules.conf (kernel 2.4.x) 这个文件,他是模块加载相关的地方呢!当然,也可以写入 /etc/sysconfig/modules/* 里面。
如何在 grub 启动过程当中,指定以『 run level 1 』来启动?
+ 简答 (点击展开)
- 简答 (点击折叠)
在启动进入 boot loader 之后,利用 grub shell 的功能,亦即输入『 e 』进入编辑模式, 然后在 kernel 后面添加:
kernel (hd0,0)/boot/vmlinuz ro root=/dev/hda1 .... single
那个 single 也可以改成 1 ,就能够进入。同样的,若使用 lilo 时,按下 tab 按键后, 输入
label_name -s
就能够进入 run level 1 罗!
由於一些无心之过,导致系统启动时,只要运行 init 就会产生错误而无法继续启动, 我们知道可以在启动的时候,不要以 init 加载系统,可以转换第一支运行程序, 假设我第一支运行程序想要改为 /bin/bash ,好让我自行维护系统(不同於 run level 1 喔!), 该如何进行此一工作?
+ 简答 (点击展开)
- 简答 (点击折叠)
在启动的过程当中,进入 lilo 或 grub 的画面后,在 kernel 的参数环境下,加入 init=/bin/bash 来取代 /sbin/init ,则可略过 init 与 /etc/inittab 的配置项目,不过,您必须相当熟悉 grub 与 lilo 的配置才行喔! ^_^
在 CentOS 当中,我们如何自动可加载的模块?
+ 简答 (点击展开)
- 简答 (点击折叠)
可以经由配置 /etc/modprobe.conf 或者是将自行做好的配置档写入到 /etc/sysconfig/modules/ 目录中, 并且将档名取为 filename.modules ,注意喔,文件结果务必是 .modules 才行。 相关资讯可以参考 /etc/rc.d/rc.sysinit 喔!
如果你不小心先安装 Linux 再安装 Windows 导致 boot loader 无法找到 Linux 的启动菜单,该如何挽救?
+ 简答 (点击展开)
- 简答 (点击折叠)
方法有很多,例如:
(1)藉助第三方软件,安装类似 spfdisk 的软件在 MBR 里面,因为他同时认识 Linux 与 Windows ,所以就可以用他来进入 Linux 啦!
(2)或者使用类似 KNOPPIX 的 Live CD 以光盘启动进入 Linux 之后,再以 chroot 软件切换根目录 (/),然后重新安装 grub 等 boot loader ,同样也可以重新让两个操作系统存在啦!
总之,只要你知道 MBR / Super block / boot loader 之间的相关性,怎么切换都可能啊!
参考数据与延伸阅读
注1:BIOS 的 POST 功能解释:
http://en.wikipedia.org/wiki/Power-on_self-test
注2:BIOS 的 INT 13 硬件中断解释:
http://en.wikipedia.org/wiki/INT_13
注3:关於 splash 的相关说明:
http://ruslug.rutgers.edu/~mcgrof/grub-images/
注4:一些 grub 出错时的解决之道:
http://wiki.linuxquestions.org/wiki/GRUB_boot_menu
http://forums.gentoo.org/viewtop ... ub+error+collection
info grub
GNU 官方网站关於 grub 的说明文件:
http://www.gnu.org/software/grub/manual/html_node/
纯文字萤幕解析度的修改方法:
http://phorum.study-area.org/viewtopic.php?t=14776
标签:
编程
linux
职起网
回复
使用道具
举报
上一个主题
下一个主题
相关帖子
•
篇3:妖股该怎么参与
•
篇4:妖股龙回头
•
篇5:妖股炒作的心得
•
篇6:缺口理论
•
篇7:如何提高炒股水平
•
篇8:怎么系统性复盘
•
篇9:怎么看龙虎榜
•
篇1:A股题材炒作的本质
•
篇2:操盘手法
•
篇3:连板战法