版权声明:cao-denghua-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) https://blog.csdn.net/caodenghua/article/details/80304832
133PPT
第一单元 安装 Red HAT Linux
Red Hat 安装
- 安装启动盘:
- bootdisk .img:安装启动盘(硬盘、光盘、网络安装)
- drvblock.img:本地安装驱动盘
- drvnet.img: 网络安装驱动盘
- pcmciadd.img:笔记本安装驱动盘
- boot.iso : 安装启动光盘的映象
安装需求
- 硬件兼容需求
- http://hardware.redhat.com/hc1/
- 硬盘要求
- 基本的定制安装需要475MB空闲空间,全部安装为5G
安装模式
- 图形方式安装:linux或直接回车
- 字符方式安装:linux text
- 检测媒介:linux mediacheck
- 援救模式:linux rescue
- 跳过硬件检测:linux noprobe
安装步骤
- 图形方式安装为默认方式
- 安装配置步骤
- 语言、键盘与鼠标
- 选择安装类型与种类
- 硬盘分区
- 网络与防火墙配置
- 认证设置
- RPM包选择
- X服务器配置
安装类型与种类
- 安装类型
- 安装:安装一个新的linux系统
- 升级:升级原有linux系统
- 安装种类
- 个人桌面/Personal Desktop Installations
- 工作站/Workstation Installations
- 服务器/Server Installations
- 定制/Custom Installations
软Raid设置
- 允许多个硬盘或硬盘分区被当成一个逻辑驱动器来使用
- 安装时可选择的RAID等级:
- Raid 0:同读同写
- Raid 1:镜象
- Raid 5:奇偶校验
逻辑卷管理器(LVM)设置
- 从硬盘驱动器中创建物理卷(physical volumes)。
- 从物理卷中创建卷组(volume groups)。
- 从卷组中创建逻辑卷(logical volumes),并分派逻辑卷挂载点。
防火墙设定
- 安装工具可以为系统设置一个简单的防火墙。
- 用户可以选择三种等级:高、中、无防火墙
- 用户可以在设置防火墙的时候定义‘受信任设备’、‘允许端口’
安装中的窗口切换
- 在安装过程中,我们支持用Alt + Fn键来切换显示窗口:
- Alt + F1:安装对话框
- Alt + F2:一个bash
- Alt + F3:安装日志
- Alt + F4:与系统、核心相关的讯息
- Alt + F5:其他讯息,诸如mke2fs,grub的标准输出
- Alt + F7:X图形化显示
制作启动盘
- 开机启动盘
- 安装系统时制作
- 系统安装完成后
mkbootdisk –device
KickStart安装
- KickStart是一种Linux的自动安装模式
- KickStart支持硬盘、网络安装
- 安装程式从ks.cfg文件中读取配置参数,自动进行安装
- 系统在安装完成后会在root目录下生成一个anaconda-ks.cfg文件,可以根据自己的需要更改后改名使用
执行 KickStart 安装
- 创建一个 KickStart 文件。
- 创建一个带有 KickStart 文件的引导盘,或在网络上提供该文件。
- 筹备安装树。
- 开始 KickStart 安装
第二单元 文件系统管理
文件结构
- 为了能在设备上储存与读取文件,我们需要在分区上创立文件系统
- 文件系统记录目录与文件我们称之为文件结构
- 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录树结构
- Linux将各个文件系统挂载(mount)在系统目录树中使用。
文件系统
- 对应不同的操作系统与设备,计算机里有许许多多种文件系统。
- 不同的文件系统存放、搜索文件的方式都有不同
- Linux支持多种文件系统的读写。
- Linux自身最主要使用的是ext2/ext3文件系统
ext2/ext3文件系统
- ext2/ext3文件系统支持rwx权限及文件属性(attributes)。
- ext2/ext3文件系统采用block+inode的方式存放文件
- ext2/ext3文件系统上有一块空间被称为超级块(superblock)用于存放文件系统的元数据,诸如卷标名、block数、inode数等等
- inode存放文件的元数据,包含文件权限、属性、更改时间等等数据。
ReiserFS文件系统
- 一个非常优秀的文件系统
- 可轻松管理上百G的文件系统
- 先进的日志机制
- 高效的磁盘空间利用
- 独特的搜寻方式
文件属性
- 在ext2/3文件系统中,对每一个文件,还提供额外的属性支持
- 用户可以用lsattr来检查文件的属性
- 系统用户可以用chattr来改变文件的属性
- +号添加、-号去除
ext3文件系统
- ext3文件系统即一个添加了日志功能的ext2,可与ext2文件系统无缝兼容
- ext2文件系统可以通过增加日志的方式简单地升级成为ext3文件系统
- ext3文件系统支持三种日志模式
- 规则(默认,仅记录元数据)
- 日志化(将数据象元数据一样记录入日志)
- 写回(只在fsck时发生)
其他常见的文件系统
- minix:古老的文件系统
- msdos/fat:microsoft早年的文件系统
- vfat:win95与win98采用的文件系统
- ntfs:win2000使用的文件系统
- iso9660:光盘使用的文件系统
- ReiserFS/JFS:仍然在完善的带日志文件系统
创建文件系统
- 如果我们需要使用一个分区用于存储文件,则我们要在这个分区上建立文件系统
- 常用的创建文件系统的工具:
- mkfs
可以用于创建各种文件系统,由-t参数指定 - mke2fs
创建ext2/3文件系统,支持指定block大小等功能
使用文件系统
- 为了使用一个文件系统,往其中存读文件,用户需要先挂载该文件系统。
- 挂载文件系统的指令是mount。
- 语法:
mount -t 文件系统类型 [其他参数] 设备 挂载点
mount参数
- -t 文件系统类型:用于指定挂载文件系统的类型,一般这个参数是必须的。
- -o 参数:补充追加的参数
- ext2文件系统默认采用的参数:rw、suid、dev、exec、auto、nouser、async
/etc/fstab
- 配置文件系统挂载信息
- mount文件系统时若给出的参数不全,系统会从/etc/fstab中读取参数补完
- 系统启动会参考/etc/fstab中的配置项自动加载文件系统
- 也被fsck、dump、quotaon、swapon等程序使用
当前挂载系统
- 用户可以通过直接键入mount后回车来检查当前挂载中的文件系统
- 用户也可以通过查看/etc/mtab文件来查看当前挂载中的文件系统。
卷标
- 由于设备文件名可能在硬盘结构发生变化时更动,因此Red Hat Linux对ext2文件系统使用卷标来挂载与卸载。
- 卷标记录在ext2/ext3文件系统的超级块中
- 用户可以用e2label指令来查询与更改ext2文件系统的卷标
卸载文件系统
- 当一个文件系统使用完毕,用户应当卸载该文件系统。
- umount指令用于卸载文件系统
- 语法:
umount [参数] 设备/挂载点 - 一个正在使用中的文件系统不能被卸载
文件系统维护
- fsck/filesystem check:用于检查与修复文件系统
- e2fsck:检查与修复ext2文件系统
- 系统在启动时自动会被检查
- tune2fs:更改ext2文件系统属性
- resize2fs:更改ext2文件系统的大小
- parted:更改多种文件系统大小
自动挂载
- 系统通过autofs服务自动挂载文件系统
- 需要后台的automount进程
- autofs服务的开闭由/etc/init.d/autofs脚本控制
- 主要应用于软驱与光驱等场合
- 如果该设备一段时间没有被使用,autofs会自动卸载
第三单元 开机与启动
启动流程图
开机流程
- BIOS引导
- MBR中的Boot Loader启动
- 载入KERNEL
- INIT初始化并决定系统的运行级别
BIOS 初始化
- 检测外围设备
- 检测启动设备
- 读取与执行启动设备的第一个扇区
启动引导工具
- 启动引导工具引导并运行核心
- 分为两个独立的阶段
- 第一阶段:存放在启动扇区
- 第二阶段;/boot目录下的文件
- 在Linux中常用的启动引导工具
- grub
- lilo
LILO
- LILO:LInux LOader
- 是旧版本linux的标准启动引导工具
- 其配置文件为/etc/lilo.conf
- 每当lilo.conf被更动,必须执行/sbin/lilo以使更动生效
- /sbin/lilo –t:在更动mbr前进行测试
- /sbin/lilo –v:使更动生效且更新配置
- /sbin/lilo –u:恢复mbr备份
GRUB
- GRUB:Grand Unified Bootloader
- 被广泛地用于替代lilo
- 支持在启动时使用命令行模式
- 支持md5加密保护
- 可以从ext2/ext3、ReiseFS、JFS、FAT、minix及FFS文件系统上启动
- 其配置文件为/boot/grub/grub.conf
- 更动grub.conf即可立时生效
- 如果硬盘上的MBR被更动过,可以用
/sbin/grub-install /dev/hdX来重安装grub
核心初始化
- 核心启动流程
- 检测硬件设备
- 设备驱动初始化
- 将根分区以只读方式挂载
- 载入初始进程(一般是init)
init 初始化
- init从/etc/inittab中读取数据并初始化
- init运行级别
- 系统启动脚本
- 执行运行级别对应目录下的脚本
- 设置热键
- 定义UPS设备脚本
- 在虚拟控制台上循环开启getty进程
- 定义runlevel 5时的X显示管理器
运行级别
- init定义了0~6这7个运行级别
- 运行级别可以被指定于:
- 系统启动时作为核心加载参数被指定
- 未被指定的情况下,系统启动时从/etc/inittab中读取
- 在系统运行中,root用户键入init [0-6]来指定。
- 用户可以用/sbin/runlevel来查看当前的运行级别
启动脚本
- /etc/rc.d/rc.sysinit是系统启动用的脚本
- 从/etc/sysctl.conf中读取核心参数
- 设置系统时钟
- 载入keymap
- 激活swap分区
- 设置主机名
- 检查根文件系统并挂载
- 加载Raid设备
- 激活磁盘限额
- 检查并挂载其他文件系统
- 清除失效锁及PID文件
运行级别目录
- 每一个运行级别都对应一个目录
- /etc/rc.d/rcX.d
- 目录内存放的,即当前运行级别需要开启的服务脚本
- 对应/etc/rc.d/init.d/目录下的链接
- 链接文件开头是S,表示启动;开头是K,则表示关闭。
- 切换运行级别,即运行这个目录里所有的脚本
/etc/rc.d/rc.local
- 在运行级别目录下被最后一个调用
- 一般系统用户将针对此台计算机的开机定制设置写入其中,而非/etc/rc.d/rc.sysinit。
虚拟控制台
- 多个独立的类VT-100终端
- 可以用Alt+Fn或Ctrl+Alt+Fn来切换
- 在Red Hat Linux默认中:
- 有12个虚拟控制台
- 1-6可用于本地登录(由mingetty启动)
- X服务端设置在第一个暂无用处的终端
第四单元 用户管理
检查用户身份
- 用户可以使用下列指令了解用户身份
- who:查询当前在线的用户
- groups:查询用户所属的组
- id:显示当前用户信息
- finger:查询用户信息
添加用户
- 用指令添加命令
- useradd
- passwd
- 系统添加用户的标准步骤
- 编辑/etc/passwd与/etc/group
- 创建用户主目录
- 从/etc/skel拷贝文件与目录
- 让新用户获得其主目录与文件的拥有权限
- 给新用户一个密码
更改/删除用户
- 更改用户的资料可以通过:
- redhat-config-users或kusers之类的图形界面工具来完成
- 在字符界面下可以使用usermod指令来更改
- 系统管理者可以用userdel指令来删除已存在的用户
- 参数-r可以帮助系统将一个用户的目录等一并删除。
/etc/passwd文件
- passwd文件中记录的是个用户的登录信息。
- 每一行代表一个用户,用 : 分隔成七项,即用户的基础登录信息。
- 添加或删除一个用户,最基础的操作,即在passwd文件中添加或删除相应的个人记录。
passwd文件详细
- login name:登录用名
- passwd:密码
- uid:用户身份编号
- gid:登录默认所在组编号
- full name:用户全名或注释
- home directory:用户主目录
- shell:用户默认使用shell
Home directory
- login.defs中的create home选项决定系统在建立用户的时候是否同时创建其主目录
- 系统在建立用户主目录时,会将/etc/skel下的内容复制到新目录下。
- 最后,系统会使该目录与其下的文件归属于新用户。
- chown –R user.group 目录名
/etc/shadow
- 目前,Red Hat Linux默认将用户密码存储在/etc/shadow文件中。
- passwd文件默认权限为644,shadow文件默认权限为400。
- shadow文件支持密码过期设定等功能
- shadow文件中每一行表示一个系统用户的密码记录,用 : 号分隔。
- 用户可以通过authconfig来设定是否使用shadow文件及md5加密。
shadow文件详细
- shadow文件的每一行中的每一项具体来说:
- 登录用名
- 用户密码(一般经md5加密)
- 从1970年1月1日起到密码上一次被更改的时间
- 密码再过几天可以被变更(0表示随时可被变更)
- 密码再过几天必须被变更(99999表示永不过期)
- 密码过期前几天系统提醒用户(默认为一周)
- 密码过期几天后帐号会被取消
- 从1970年1月1日算起,多少天后帐号失效。
组管理
- 系统中组的信息,记录在/etc/group中
- 系统用户可以直接修改/etc/group文件达到更改组数据的目的,也可以使用以下指令:
- groupadd:添加一个组
- groupdel:删除一个已存在组
- groupmod:更改组的信息
- 用户可用newgrp指令改变当前所在组
组文件
- /etc/group中的每一行代表一个组,用 : 隔开不同项
- group_name:组名
- password:组密码(一般不用)
- GID :组身份编号
- user_list:组成员列表
强制位与冒险位
- 除了读写执行权限以外,ext2文件系统还支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限。
- 针对u,g,o,分别有set uid,set gid,及sticky。
- 强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。
- set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t。
强制位对文件的作用
- 在可执行文件上,用户可以添加set uid和set gid。
- 默认情况下,用户执行一个指令,会以该用户的身份来运行进程。
- 指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。
set gid对目录的作用
- 默认情况下,用户建立的文件属于用户当前所在的组。
- 目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。
冒险位对目录的作用
- 默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。
- 一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。
设置强制位与冒险位
- 用户可以用chmod指令来为文件设置强制位与冒险位。
- set uid:chmod u+s 文件名
- set gid:chmod g+s 文件名
- sticky:chmod o+t 文件名
- 强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。
- 4(set uid)
- 2(set gid)
- 1(sticky)
磁盘限额
- Linux内核支持基于文件系统的磁盘限额
- 每一个组或用户,可以单独设置其磁盘限额
- 磁盘限额包括对block的限制与对inode的限制,每一种限制又可以分为软限制与硬限制
- 软限制被突破后,经过一段时间(grace time),会自动变成硬限制
quota的配置与使用
- 在/etc/fstab中需要设置磁盘限额的文件系统所在行的第四项(mount参数)中添加usrquota、grpquota参数
- 使用mount –o remount 需要限制的文件系统,将mount参数带入/etc/mtab中
quota的配置与使用(二)
- 执行quotacheck –auvg,在文件系统的根目录下建立aquota.user及aquota.group两文件
- 使用edquota 用户名与edquota –g 组名编辑用户与组的磁盘限额
- 用quotaon –auvg打开quota功能
第五单元 基础网络配置
识别设备
- 所有能使用的网络设备,都需要在模块中被事先支持
- 网络启动脚本参考逻辑网络设备名,例如
- eth0
- /etc/modules.conf将逻辑网络设备名映射成实际模块
- 3c509
设备命名
- 网络界面:
- 以太网卡:eth0, eth1,ethN
- Token Ring:tr0,tr1,trN
- FDDI:fddi0,fddi1,fddiN
- PPP:ppp0,ppp1,pppN
为网卡配置IP
- 动态(dhcp):
- dhclient eth0
- 静态:
- ifconfig eth0 xx.xx.xx.xx
- ifconfig eth0:X xx.xx.xx.xx
为网卡配置IP
- 使用工具:
- netconfig
- 文本界面下的网络配置工具
- neat(redhat-config-network)
- 基于GNOME的图形界面网络配置工具
为网卡绑定IP
- /etc/sysconfig/network-scripts
- ifcfg-ethX
- ifcfg-ethX:xxx
- ifcfg-ethX-rangeX
- 为一块网络设备绑定一批IP
- 用ifup/ifdown开启或停止网络服务
- 在/etc/init.d/network中也被调用到
ifcfg文件
- 一个ifcfg文件对应一个网络设备,在网络服务打开时被调用
- DEVICE:网络设备
- BOOTPROTO:获得IP方式
- dhcp:由dhcpd获得
- static/none:静态
- bootp:同样由dhcpd获得,不同协议
- ONBOOT:开机是否激活
- USERCTL:是否允许普通用户配置
指定主机名
- hostname
- 显示主机名
- 用-i参数显示本机ip
- 也可以用来指定主机名
- /etc/sysconfig/network
- 系统开机时从其中的HOSTNAME=读取主机名
DNS客户端配置
- 编辑/etc/hosts
- 本地域名解析数据文件
- 在DNS被检索前先查询
- 编辑/etc/resolv.conf
- 添加 nameserver xx.xx.xx.xx
- 如果指定多台nameserver,系统会按照次序检索服务器
静态路由表
- 显示当前静态路由表
- route
- netstat –rn
- 编辑静态路由表:
route add|del -net xx.xx.xx.xx netmask xx.xx.xx.xx - 静态路由存放在/etc/sysconfig/static-routes中
默认网关
- 在/etc/sysconfig/network中定义全局默认网关
- GATEWAY=xx.xx.xx.xx
- 也可以在/etc/sysconfig/network-scripts/下的ifcfg文件中定义某个网络设备的默认网关
- 全局网关自动覆盖ifcfg文件中的设定
- GATEWAY=xx.xx.xx.xx
IP转发
- 为了配置一台Linux路由器,我们需要打开IP转发功能
- IP转发功能允许服务器将数据从一个子网转送到另一个子网
- 默认情况下,IP转发功能被关闭
- 通过更改/etc/sysctl.conf来配置IP转发
- net.ipv4.ip_forward = 0 | 1
检查网络连接
- ping:测试网络连通性及本地系统与远端系统之间的响应延迟
- 语法:
$ping www.wenhua.org - 默认情况下会一直ping下去,直到CTRL+C结束
- 使用ICMP回响包来测试
- 显示数据包丢失情况
检测端口
- telnet:
- 默认使用23端口进行远端登录
- 数据交换明文传送
- 广泛地应用于测试与检查各TCP服务
远程登录
- ssh:Secure Shell
- 采用22端口进行远端登录
- 支持数据加密传送
- 用于替代数据明文传送的telnet、rsh
- 22端口同时支持scp、sftp等远端操作与文件交换
扫描端口
- nmap:网络探索工具及安全测试器
- 允许系统管理员批量检查服务器开放端口
- 支持UDP、TCP、TCP SYN、ICMP等扫描方式
- 支持灵活指定端口范围
解析DNS
- nslookup
- 向DNS服务器发送域名查询请求
- 支持正向查询与反向查询
- host:nslookup的替代指令
- 使用-t参数可以查询各种资源记录
- dig:一个功能更加强大的DNS查询命令
- 使用-x参数进行反向解析
测试路由
- traceroute
- 显示本地系统通向远端系统的路由路径
- 显示每一个跳点的延迟时间
- 语法:
$traceroute www.wenhua.org - mtr:matt’s traceroute
浏览网页
- mozilla
- Red Hat Linux默认安装的网页浏览器
- 跨平台
- 替代旧有的netscape
- 同时支持email,新闻列表、聊天、HTML编译
- lynx:简单的文本网页浏览器
- 不支持tables、frame与图片
- links:另一个文本网页浏览器
- 支持tables和frame
FTP客户端
- lftp
- 功能强大的命令行FTP客户端工具
- 支持匿名与实名登录
- 支持直接下载上传
- 支持bash shell 的命令
下载资源
- wget
- 支持从ftp和http上直接下载文件
- 不需互动、可放在后台执行
- 可以跟踪连接,将一个目录及至一个站点完整复制下来。
- 支持根据文件列表下载、限速下载、自动填入ftp、http密码
第六单元 系统管理工具
Linux的计划任务
- Linux系统支持一些能够自动执行任务的服务我们称其为计划任务:
- at:指定一个时间执行一个任务
- cron:根据一个时间表自动执行任务
- anacron:在一个指定时间间隔错过后自动执行任务
at
- at服务:安排一个任务在未来执行
- at服务需要系统后台有一个atd进程
- 常用指令
- at:安排延时任务
- atq:查询当前的等待任务
- atrm:删除等待任务
- batch:以一个低优先级延时执行任务
at的使用控制
- at的使用控制文件
- /etc/at.allow
- /etc/at.deny
- 基于用户的使用控制
cron
- 允许系统根据时间表自动完成任务
- 服务需要后台运行的系统进程crond
- 开关cron服务
- 系统管理员可以用service crond start|stop来开关cron服务
- 用chkconfig或ntsysv选择cron服务的默认开启关闭。
定制个人计划任务
- 用户级别
- crontab –e:编辑当前的守护进程表
- crontab –l:列出当前的守护进程表
- crontab –r:删除当前的守护进程表
- crontab –u user:以某一个用户的身份
- /var/spool/cron:存放用户守护进程表
crontab格式
* * * * * echo “hello” | wall
分钟/小时/日/月/星期 命令
#每分钟向所有在线用户的屏幕上发送‘hello’
定制系统计划任务
- 系统级别
- 采用/etc/crontab作为其crond的运行配置文件
- 与个人的crontab文件格式有所不同
- 默认情况下,系统会自动执行以下目录内的脚本
- /etc/cron.hourly:每小时的零一分
- /etc/cron.daily:每天四点零二分
- /etc/cron.weekly:每周日四点二十二分
- /etc/cron.monthly:每月一日四点四十二分
- /etc/cron.d/目录下存放着附加的系统守护文件
cron的使用限制
- 默认情况下,所有用户都可以定制自己的守护任务
- 系统的守护任务只能由root来编辑
- 限制/允许 用户使用cron
- /etc/cron.allow
- /etc/cron.deny
anacron
- cron服务的扩展
- 防止非24小时开机的计算机遗漏守护任务
- 每次计算机通电时自动检测
- 配置文件:/etc/anacrontab
- 范例:
7 80 cron.weekly run-parts /etc/cron.weekly
tmpwatch
- 为指定目录清理古旧文件
- 有效应用于防止/tmp目录被填满
- tmpwatch每天在/etc/cron.daily中运行
- 语法:
/usr/bin/tmpwatch 小时数 指定目录
Linux 的系统日志
- 系统日志的作用
- 系统日志的重要性
系统日志的书写
- 系统日志的书写由sysklogd这个RPM包完成
- 后台进程
- syslogd:服务相关日志
- klogd:核心相关日志
- 配置文件
- /etc/syslog.conf
- /etc/sysconfig/syslog
- 系统日志可以接受远端写入
系统日志书写配置
- 配置syslogd和klogd的书写,需要通过编辑/etc/syslog.conf
- 语法:
对象 . 等级 日志记录位置 - 范例:
authpriv.info /var/log/secure
高级syslogd配置
- 操作
对象.等级:记录某一对象某一等级及以上等级的信息
对象.=等级:记录某一对象某一等级的信息
对象.=!等级:记录某一对象除某一等级以外的信息
对象1,对象2.等级:记录多个对象同一个等级及以上等级的信息
*.等级
:记录所有对象某一等级及以上等级的信息
对象.*
:记录某一对象所有等级的信息 - 日志记录位置可以是
- 指定路径的文件
- 远端的系统(@主机名)
- 用户
系统日志的维护
- logrotate
- 防止日志文件变得太大
- 防止文件系统被撑满
- logrotate被放在/etc/cron.daily/中每日自动执行
- 配置logrotate
- /etc/logrotate.conf
- /etc/logrotate.d
第七单元 RPM,BootLoader Kisckstart
RPM的安装和卸除
- 安装与卸除
- 安装:rpm -i
- 升级:rpm -U
- 更新:rpm -F
- 卸除:rpm -e
- 可能会用到的补充参数
- 输出用:-v,-h
- 预设条件:–nodeps,–force
- 重定位:–root
RPM包的查询
- RPM包的查询:
- rpm -q:查询某一个RPM包是否已安装
- rpm -qi:查询某一个RPM包的详细信息
- rpm -ql:列出某RPM包中所包含的文件
- rpm -qf:查询某文件属于哪一个RPM包
- rpm -qa:列出当前系统所有已安装的包
- rpm -qp:指定一个等待安装的RPM包
RPM包的校验及检查
- RPM包的校验
- rpm -V:校验某个RPM包
- rpm -Va:校验所有已安装的RPM包
- RPM包的检查
- rpm -K:检查RPM包的GPG签名
启动引导工具
- 启动引导工具引导并运行核心
- 分为两个独立的阶段
- 第一阶段:存放在启动扇区
- 第二阶段;/boot目录下的文件
- 在Linux中常用的启动引导工具
- grub
- lilo
LILO
- LILO:LInux LOader
- 是旧版本linux的标准启动引导工具
- 其配置文件为/etc/lilo.conf
- 每当lilo.conf被更动,必须执行/sbin/lilo以使更动生效
- /sbin/lilo –t:在更动mbr前进行测试
- /sbin/lilo –v:使更动生效且更新配置
- /sbin/lilo –u:恢复mbr备份
GRUB
- GRUB:Grand Unified Bootloader
- 被广泛地用于替代lilo
- 支持在启动时使用命令行模式
- 支持md5加密保护
- 可以从ext2/ext3、ReiseFS、JFS、FAT、minix及FFS文件系统上启动
- 其配置文件为/boot/grub/grub.conf
- 更动grub.conf即可立时生效
- 如果硬盘上的MBR被更动过,可以用/sbin/grub-install /dev/hdX来重安装grub
KickStart安装
- KickStart是一种Linux的自动安装模式
- KickStart支持硬盘、网络安装
- 安装程式从ks.cfg文件中读取配置参数,自动进行安装
- 系统在安装完成后会在root目录下生成一个anaconda-ks.cfg文件,可以根据自己的需要更改后改名使用
执行 KickStart 安装
- 创建一个 KickStart 文件。
- 创建一个带有 KickStart 文件的引导盘,或在网络上提供该文件。
- 筹备安装树。
- 开始 KickStart 安装
第八单元 核心编译
核心简介
- 核心类型:
- 单片型内核:
- 模块型内核:
核心编译初步
- 默认核心存放路径:/boot
- 核心版本命名规则
- 主版本号、次版本号、补丁级数
- Red Hat附加参数:发布号
- 核心RPM包
- kernel-..rpm
- kernel-source-..rpm
- kernel-.src.rpm
- 编译所需RPM包
编译核心的可能原因
- 今天,大部分情况已不需要我们手动编译核心。红帽公司已为您默认选择并安装了一个适用广泛的核心,但您仍可能因为以下的理由重新编译核心:
- 最优化您的服务器
- 出于安全原因,您需要禁止一些默认功能
- 添加红帽默认未做选择的功能
- 您为计算机更换了超越原核心负载能力的芯片、内存等硬件
- 您需要更改一些无法用/proc/sys来变更的核心运行参数
- 更好地匹配您计算机上的硬件特质
- 因为你可以!
核心编译
警告:以下步骤,都应该在/usr/src/linux-2.4下执行。如果您的计算机上没有该目录,请安装相关RPM包。
- 编辑/usr/src/linux-2.4/Makefile,更改EXTRAVERSION = 后的值
- make mrporper
- cp –p configs/kernel-2.4.18-i686.config .config
- make oldconfig
核心编译
- make menuconfig (或xconfig、config)
- make dep
- make bzImage
核心编译
- make modules
- make modules_install
- make install
使用编译好的核心
- grub的场合
- 将default = 改为新核心的配置项
- lilo的场合
- 更新/etc/lilo.conf
- 执行/sbin/lilo –v
- 重启计算机以测试
- 保存此次使用的 .config 配置文件(可选)
- cp /usr/src/linux-2.4/.config /boot/config-2.4.18-EXTRAVERSION
用RPM包升级核心
- 确认你正在做的事情
- 不要使用 rpm –U!
- rpm –ivh kernel-version.arch.rpm
- 重启以测试新核心
- 如果有问题,改回用旧核心启动
- 如果没问题,rpm –e kernel-oldversion
/proc目录
- /proc目录是一个虚拟的文件系统,包含了来自正在运行着的核心的信息
- 用户可以通过cat /proc/下的文件,来获得系统的信息
- 这些信息包括系统硬件、网络设置、内存使用,及其他一些东西
- /proc/sys目录下的文件,允许系统管理员更动,这些变动会直接影响当前核心
软Raid设置
- 允许多个硬盘或硬盘分区被当成一个逻辑驱动器来使用
- 安装时可选择的RAID等级:
- Raid 0:同读同写
- Raid 1:镜象
- Raid 5:奇偶校验
逻辑卷管理器(LVM)设置
- 从硬盘驱动器中创建物理卷(physical volumes)。
- 从物理卷中创建卷组(volume groups)。
- 从卷组中创建逻辑卷(logical volumes),并分派逻辑卷挂载点。
第九单元 X window 进阶
X协议
- X工具通过X协议交互显示
- X对OS独立
- 可以在许多平台上运行
- 用于在X客户端上显示在X服务器上运行的工具。
X安全
- X是一个网络服务,因此也有安全需求
- 用xhost指令来设置允许访问X服务器的X客户端
- 通过Xauthority来配置允许使用X服务器的用户
- ssh自动将xauth key加载入远端机器。
X的模块性
- 各组件可以自由地被定制、发展及挑选
- 多种图形方式登录:
- 多种桌面环境
- 多种窗口管理工具
- 多种窗口装饰品设置
- 这些使X易于操控
显示管理器
- 显示管理器提供本地与远端的图形登录
- Red Hat Linux提供三种显示管理器做选择
- gdm
- kdm
- xdm
- 在运行级别5下,系统由/etc/X11/prefdm选择激活显示管理器。
启动XFree86(startx)
- startx用于在一个虚拟终端上启动X
- 运行startx时,如果~/.xinitrc存在,则运行其中内容,否则运行/etc/X11/xinit/xinitrc
- xinitrc会运行/etc/X11/xinit/xinitrc.d/目录下的所有可运行文件
- xinitrc通过运行以下文件来读入桌面环境
- 如果用户在其主目录下存在~/.Xclients则运行
- 否则,运行/etc/X11/xinit/Xclients
- Xclients从/etc/sysconfig/desktop文件中读取值来判断启动桌面
启动XFree86(prefdm)
- prefdm由/etc/sysconfig/desktop决定调用的显示管理器
- /etc/X11/xdm/Xsetup_0在登录窗口打开后以root身份运行
- /etc/X11/xdm/Xsession在登录完成后以用户身份来运行
- Xsession会运行/etc/X11/xinit/xinitrc.d/目录下的可执行文件
- Xsession通过运行以下文件来读入桌面环境
- 如果显示管理器中以指定了文件,则运行之
- 否则运行~/.xsessions或~/.Xclients
- 如果都没有,则运行/etc/X11/xinit/Xclients一如startx
X服务器的配置
- 基础配置:
- /etc/X11/X
- /etc/X11/XF86Config, /etc/X11/XF86Config-4
- 工具:
- xf86cfg,xf86config
- redhat-config-xfree86
- 文档:/usr/X11R6/lib/X11/doc
X服务器设置
- 服务器构成
- /usr/X11R6/bin/XFree86
- 动态加载模块
- 设备:ati,s3virge,neomagic,fbdev等等
- 扩展:glx,dri等等
- 配置文件语法
- ServerLayout
- Module
- InputDevice
- Monitor,Device,Screen
X字体服务器
- xfs是XFree86的字体服务器
- 配置文件存放在/etc/X11/fs/config
- X的运行必须后台的xfs进程
- 字体服务器可以基于网络
- 单独的工作站不一定需要在本地运行字体服务
- 可以集中管理字体
- 默认的xfs配置只允许本地调用
第十单元 系 统 排 错
排除的步骤
- 从最简单的问题找起
- 在修改配置之前先看日志文件
- 使用服务的调试模式
- 使用相应的语法检查器
- 更多的问题可以去http://bugzilla.redhat.com 查寻
关于X的问题
- 首先试试redhat-config-xfree86
- X –configure
- 查看/home或者/tmp所在的分区是否已满或是作了quota!
- 查看X字体服务(xfs)是否运行
关于服务的问题
- 检查服务的log文件
- 检查是否可以正确的解析域名或是IP地址
- 检查相依赖的服务或是网络的配置
- 检查安全设置和访问控制连接许可
网络的问题
- 域名解析的问题
- Ip地址配置的问题
- 默认网关的问题
- 路由的问题
- 网卡模块的问题
- 设备激活的问题
系统启动的问题
- 系统引导程序的配置
- 系统内核的问题
- /sbin/init
- /etc/inittab
- /etc/rc.d/rc.sysinit
- /etc/rc.d/rc?.d
- /etc/rc.local
- /etc/fstab
文件系统恢复
- 在非正常关机之后我们需要检测文件系统是否正确
- 在/etc/rc.d/rc.sysinit 中会根据/etc/fstab执行fsck
- 在做fsck时建议部同时运行其它程序
单用户模式
- /etc/inittab 中定义的默认系统运行级别
- 单用户运行级别1 (Runlevel 1)
- 单用户运行级别s,S 或者single (Runlevel 1)
- 在系统引导时定义系统进入单用户模式
系统挽救模式(rescue)
- 当问题无法用单用户模式解决的时候使用
- 系统无法正常引导的时候使用
- 可以选择从CDROM方式引导
- 可以选择从软盘方式引导
系统挽救模式的使用
- 原有硬盘linux系统自动挂接到/mnt/sysimage
- 挽救模式可使用的程序较少,建议chroot到硬盘原linux系统
- $PATH 使用的为挽救模式的,建议su – 得到硬盘原linux系统root的环境变量