- 浏览: 441446 次
- 性别:
- 来自: 无锡
文章分类
最新评论
-
belonghu:
这还和字段是否主键,加索引,有很大关系,我对一个索引的字段查询 ...
MYSQL每日一用:SELECT 语句中比对(between and \ like \ left) -
lqingqingzijin:
好,就是想知道怎样将默认bash修改成nologin
我怎么创建和修改用户帐号,让它有一个nologin shell? -
yangxiutian:
“在jar中添加了字体”是什么意思?
java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:299) -
ljhard_1030:
楼主学习了,以后继续发表这类的文章,会继续光临的。。
刨根问底(Proxool连接池设置) -
RobustTm:
Selenium中使用的貌似是Junit 3.x,上面的例子也 ...
使用Selenium 和Junit 进行WEB功能测试
刚刚开始学习linux,最近和鸟哥学了不少东西,下面是我转的,和大家一起学习。
1.开机关机流程与Loader
a> 载入BIOS的硬件信息,并取得第一个开机装置的代号
b> 读取第一个开机装置的MBR的boot Loader(也就是LILO,grub,spfdisk等)的开机信息
c> 载入kernel核心信息,kernel开始解压缩并尝试驱动所有硬件
d> kernel执行init程序并取得run-level信息
e> init执行/etc/rc.d/rc.sysinit
f> 启动kernel的外挂模块(/etc/modprobe.conf)
g> init执行run-level的各个批次档(Scripts)
h> init执行/etc/rc.d/rc.local
i> 执行/bin/login程序,并等待使用者登入
j> 登入之后开始以shell控制主机。
2.linux开机的一个简单流程:
Kernel (/boot/vmlinuz)
BIOS -> MBR(硬盘启动) -> Boot
Loader -> initrd -> -> ... -> init ->
system init(/etc/rc.d/rc.sysinit) -> 启动系统服务与相关启动设定文件(/etc/rc.d/rc.n 或 /etc/sysconfig)
-> 用户自订开机启动程序(/etc/rc.d/rc.local)
-> 根据/etc/inittab的设定,载入终端或X-Window
boot loader要具有两个功能:
a> menu
b> pointer
3.第一个程序:init
linux系统当中第一个被执行的程序为/sbin/init,也就是我们在用ps aux
查看进程信息时所看到的PID=1的那个进程,我的系统为:root 1
0.0 0.4 2888 560
? S Jan10 0:02 init [5]
4.init的功能:
a> 利用设定文件/etc/inittab来取得开机的等级:run level
b> 再由run level的设定来进行不同的开机服务项目的启动
5.什么是run level?
linux就是根据run level来规定系统使用不同的服务来启动的,让linux的使用环境不同。
6.run level的等级
根据有无网络以及有无X Windos可将run level分为六个等级:
0——halt (系统直接关机)
1——single user mode (单用户模式,用在系统出问题时的维护)
2——Multi User,Without NFS
3——Full multi-user(完整的,含有网络功能的纯文字模式)
4——Unused (系统保留的)
5——X11 (与run level 3类似,不同的是使用了X Window)
6——reboot
7.开机时,如何取得系统的run level
从/etc/inittab中取得。
8./etc/inittab的语法:
这个档案的语法是这样的:
[设定项目]:[run level]:[init 的动作行为]:[指令项目]
a. 设定项目:
最多四个字符,代表 init 的主要工作项目,只是一个简单的代表说明。
b. run level:
该项目在哪些 run level 底下进行的意思。如果是 35 则代表 runlevel 3 与
5 都会执行。
c. init 的动作项目:
主要可以进行的动作项目意义有:
initdefault :代表预设的 run level 设定值;
sysinit :代表系统初始化的动作项目;
ctrlaltdel :代表 [ctrl]+[alt]+[del] 三个按键是否可以重新开机的设定;
wait :代表后面接的指令项目必须要执行完毕才能继续后面的动作;
respawn :代表后面接的, init 仍会主动的『重新』启动。
更多的设定项目请参考 man inittab 的说明。
d. 指令项目:
亦即应该可以进行的指令,通常是一些 script 啰。
一个例子:
----------------------------------------------------------------------------------------------------
[root@linux ~]# vi /etc/inittab
# 设定系统开机预设的 run level 设定项目:
id:3:initdefault:
# 开始进行 run level 的服务启动前,使用来侦测与初始化系统环境的设定文件:
si::sysinit:/etc/rc.d/rc.sysinit
# 7 个不同 run level 的,需要启动的服务的 scripts 放置路径:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# 是否允许按下 [ctrl]+[alt]+[del] 就重新开机的设定项目:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# 本机端终端机启动的个数:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# 在 X Window (run level 5) 环境下的启动 script 设定项目:
x:5:once:/etc/X11/prefdm -nodaemon
----------------------------------------------------------------------------------------------------
9.系统初始化(system initialization)程序为?
linux 系统初始化程序为: /etc/rc.d/rc.sysinit
----------------------------------------------------------------------------------------------------
10. /etc/rc.d/rc.sysinit主要做哪些工作?
a> 取得网络环境与主机类型:/etc/sysconfig/network
a> 测试与挂载内存设备/proc与USB设备/sys
a> 决定是否启动SELinux
a> 外围设备的检测与PNP参数的测试
核心在开机时检测结果保存在/proc/sys/kernel modprobe中,主要检测ide/scsi/网络/音效等
a> 用户自订模块的载入
用户可以在/etc/sysconfig/modules/*.modules中加入自订模块
a> 载入核心的相关设定:/etc/sysctl.conf
a> 设定系统时间 clock
a> 设定终端字符
a> 设定RAID与LVM等硬盘功能
a> 以fck检查磁盘文件系统
a> 进行磁盘quota的转换
a> 重新以可读取模式挂载系统磁盘
a> 启动quota
a> 启动随机数装置
a> 清除开机过程中暂存文件
a> 将开机相关信息载入/var/log/dmesg当中。
11.启动系统服务与相关启动设定文件:
----------------------------------------------------------------------------------------------------
linux启动时与系统服务有关的设定文件为:
/etc/rc.d/rc.n 以及 /etc/sysconfig
12.其他开机相关事项:
a> 关于模块:/etc/modprobe.conf
b> /etc/sysconfig/*
这里要注意几个authconfig,clock,desktop,i18n,keyboard&mouse,network,network-scripts
----------------------------------------------------------------------------------------------------
13.run level
a> 查看当前run level
# runlevel
b> 切换run level
◆要每次开机都执行某个run level,则需修改/etc/inittab中:
id:3:initdefault:
中的数字。
◆如果临时变更系统run level,则以根用户运行init [0-6]来运行。
c> 假设由init 5改到init 3,则更改run level时系统做了什么?
◆对比/etc/rc.d/rc3.d及/etc/rc.d/rc5.d内K与S开头的档案:
◆关闭/etc/rc.d/rc5.d中不存在于/etc/rc.d/rc3.d中的服务
◆启动/etc/rc.d/rc3.d中不存在于/etc/rc.d/rc5.d中的服务。
13.核心与核心模块
(1)目前的核心都是模块化(modules)的。
(2)核心的模块位置
a> 核心:/boot/vmlinuz 或 /boot/vmlinuz-version
b> 核心解压缩所需RAM Disk:/boot/initrd( /boot/initrd-version)
c> 核心模块:/lib/modules/version/kernel 或 /lib/modules/`uname -r`/kernel
d> 核心原代码: /usr/src/linux (需要另外安装)
(3) 如果核心被顺利载入系统中,那么会有几个信息记录下来:
a> 核心版本: /proc/version
b> 核心功能: /proc/sys/lernel
(4) 如果有新硬件,系统不支持,则可以有这样两种访求:
a> 加入最新的硬件驱动程序原始码,重新编译内核;
b> 将该硬件的驱动程序编译为模块,并在开机时载入该模块。
----------------------------------------------------------------------------------------------------
14.核心模块放置处:
/lib/modules/`uname -r`/kernel中,里面又分这样几个目录:
-----------------------------------------------------------------------------------
arch :与硬件平台有关的项目,例如 CPU 的等级等等;
crypto :核心所支持的加密的技术,例如 md5 或者是 des 等等;
drivers :一些硬件的驱动程序,例如显示卡、网络卡、PCI 相关硬件等等;
fs :核心所支持的 filesystems ,例如 vfat, reiserfs, nfs 等等;
lib :一些函式库;
net :与网络有关的各项协议数据,还有防火墙模块 (net/ipv4/netfilter/*) 等等;
sound :与音效有关的各项模块;
-----------------------------------------------------------------------------------
15.核心模块的相关性
保存在/lib/modules/`uname -r`/modules.dep中
16.modules.dep可以用depmod来建立
-----------------------------------------------------------------------------------
depmod [-Ane]
参数:
-A :不加任何参数时, depmod 会主动的去分析目前核心的模块,并且重新写入
/lib/modules/`uname -r`/modules.dep 当中。若加入 -A 参数时,则 depmod
会去搜寻比 modules.dep 还要新的模块,如果真找到新模块,才会更新。
-n :不写入 modules.dep ,而是将结果输出到屏幕上(standard out);
-e :显示出目前已加载的不可执行的模块名称
范例:
范例一:若我已经做好一个网络卡驱动程序,假设文件名为 a.ko,该如何更新核心相依性?
[root@linux ~]# cp /full/path/a.ko /lib/modules/`uname -r`/kernel/drivers/net
[root@linux ~]# depmod
-----------------------------------------------------------------------------------
17.核心模块的察看
a> 显示系统已加载的模块 lsmod
列出模块名称、模块大小以及是否其他模块所使用
b> 查阅模块信息 modinfo
18.核心模块的加载与移除
a> 老的做法:
insmod 加载模块
rmmod 移除模块
b> 常用方法:
modprobe [-cflr] module_name
-c 列出目前系统中所有模块
-f 强制加载
-l 列出 /lib/modules/`uname -r`/kernel 当中的所有的模块完整名称
-r 移除modules
19.核心模块的额外参数设定:
/etc/modprobe.cof
20.Boot Loader
a> MBR是整个硬盘的第一个sector,其大小不会超过512bytes;
Super Block,可以想像成每个分区partition的第一个扇区first sector。
b> Boot Loader可以指定核心文件来开机,也可以指定某个super block当中boot loader接管开机的核心载入。
c> linux 可以选择将boot loader安装在MBR或者是super block当中,但windows系统则几乎默认会同时安装在MBR与Super block当中。
d> 在安装多重系统时,最好先安装windows后安装linux,因为先安装linux,然后再安装windows,则windows会强制将MBR的boot loader覆盖掉,这样,就无法用windows的boot loader来启动linux了。
21.Boot Loader--Grub:
(1)Grub的优点:
grub是较新的boot loader,它的优点很多,包括:
a> 认识与支持较多的filesystem,并且可以使用grub的主程序直接在filesystem当中搜寻核心;
b> 开机的时候,可以‘自行编辑与修改开机设定项目’,类似bash的指令模式;
c> 可以动态搜寻设定文件,而不需要在修改设定文件后重新安装grub。亦即我们只需修改/boo/grub/menu.lst的设定,下次开机就生效了。
(2)Grub的设定文件: /boot/grub/menu.lst
(3)Grub中硬盘的表示:
grub中的硬盘表示,有点类似
(hd0,0)
第一个搜索到的硬盘,代号为(hd0),该硬盘的第一个分区为(hd0,0)
22.Boot Loader --LILO:
(1) LILO的设定文件为:/etc/lilo.conf
(2) 与Grub的设定文件/boot/grub/menu.lst同样分为两部分:
a> 整体环境设定
b> 每个开机设定
发表评论
-
Centos(带宽测试脚本-测试通过)
2010-07-15 18:00 2492#!/bin/bash # test network ... -
linux 安装SVN
2010-07-07 18:09 1592安装配置 svn server+apache ... -
linux 性能检测工具 dstat
2010-07-06 14:40 1784在sentos中,使用yum install dstat ... -
网络监控:带宽、网络情况……
2010-06-25 13:37 1375iftop是LINUX下查看網路流 ... -
Rootkit Hunter
2010-06-04 14:06 1994Rootkit Hunter Description ... -
SSH安全配置
2010-06-04 13:00 01.远程可否重启SSHD服务? 答:实际操作是: ... -
vsftp客户连接常见故障现象
2010-05-24 16:54 1555ftp客户连接常见故障现象 现象0: > ftp ... -
applet 打印的属性和配置
2010-05-18 23:58 2135如果您已经使用过一段 ... -
linux下压缩与解压缩
2010-04-16 13:49 1225linux下压缩与解压缩 对于刚刚接触Lin ... -
linux 出现大量的TIME_WAIT解决办法
2010-04-15 10:11 3599昨天服务器的应用有开 ... -
linux下修改目录权限(chmod)
2010-04-14 16:09 3051指令名称 : chmod 使用权限 : 所有使用者 ... -
批量修改LINUX下的文件或目录权限
2010-04-14 16:01 1877CU里的一个用户用"#chown -R 777 /* ... -
我怎么创建和修改用户帐号,让它有一个nologin shell?
2010-04-13 15:34 15146我怎么创建和修改用户帐号,让它有一个nologin shell ... -
repair filesystem 1 #一般是什么引起的和该怎样解决
2010-04-08 10:40 3307Finding module dependencies; ... -
提高linux ssh访问的安全性
2010-02-25 16:44 1639提高ssh安全性: 鼓励您系统上的所有用户使用 ssh 取 ... -
查看linux硬件信息大全
2010-02-24 10:53 31431, 主板信息 .查看主板的序列号 ------- ... -
网关服务器设置手册(iptables+iptables_logger_v0.4)
2010-01-15 18:03 3203iptables_logger的配置网站: http ... -
添加yum源 :yum install PHP 5.2
2010-01-15 15:37 7526喜欢CentOS 的原因之一他有yum ,有些依赖包安装起来 ... -
tar.bz2解压方法
2010-01-14 13:10 41781. tar -zvxf wine******.tar. ... -
MYSQL: ERROR 2002 (HY000):Can't connect to local MySQL server
2010-01-14 11:58 2805在SentOS 5中: >>yum instal ...
相关推荐
在Linux系统中,开机与关机的过程并不像我们想象的那么简单,因为它是多人多任务操作系统,需要确保所有系统服务的正确关闭,以保护数据和硬件安全。开机流程大致分为以下几个阶段: 1. **Boot Loader**: - Boot ...
2. **加载流程**:首先,创建一个Loader对象,然后使用Loader的`load()`方法指定要加载的URL。这个URL可以是一个Image或SWF文件的路径。同时,我们还需要提供一个URLRequest对象,将URL传递给它。 ```actionscript ...
本文将深入探讨AS3 Loader资源的回收,以及如何通过示例代码实现这一过程。 在AS3中,当Loader加载一个资源后,这个资源会保留在内存中,直到它被显式地卸载或整个应用程序关闭。如果忽视了对Loader对象的正确处理...
1. BIOS与MBR(基本输入输出系统与主引导记录):开机引导的第一步通常由BIOS执行,它负责检测硬件并加载存储在硬盘MBR上的引导程序。MBR是硬盘的第一个扇区,包含用于启动操作系统的代码。 2. 引导加载器(Boot ...
在ActionScript 3 (AS3)中,Loader 类是用于加载不同类型的媒体资源,包括图像(如PNG)、SWF、视频等的关键工具。本知识点主要围绕如何使用Loader 类动态加载PNG图片进行详细讲解。 首先,我们需要理解Loader 类的...
Vite-SVG-Loader 是一个轻量级的插件,专门用于在 Vite 项目中引入 SVG 图像。使用这个插件,可以轻松地引入 SVG 图像,并且可以像使用 Vue 组件一样来使用它们。 下面是使用 Vite-SVG-Loader 的基本步骤: 1. ...
Sqlloader 简介及使用指南 Sqlloader 是 Oracle 提供的...3. 数据集成:Sqlloader 可以用于将数据从不同的来源集成到一个数据库中。 Sqlloader 是一个功能强大且灵活的数据加载工具,广泛应用于各种数据处理场景中。
3. 配置:在你的PHP配置文件(如php.ini)中,添加一行`extension=swoole_loader72.so`,指定Swoole扩展的路径。 4. 重启服务器:保存配置后,重启你的Web服务器,如Apache或Nginx,以便加载新配置。 5. 测试:最后...
3DMigoto Loader.exe
而"GIS Terrain Loader 2.4"则是一个专为Unity设计的插件,它旨在帮助开发者集成地理信息系统(GIS)数据,特别是高程和卫星影像数据,以创建更真实、精细的游戏世界或模拟环境。 GIS(Geographic Information ...
### Loader正规的刷机流程详解 #### 一、前言 Loader作为一种专业的刷机工具,因其操作简便且出错率低而备受用户喜爱。对于黑莓手机用户来说,学会使用Loader进行刷机不仅可以提高刷机的成功率,还能帮助用户更好...
"safet3t"可能是一个特定的安全措施或者服务,与ionCube Loader有关,但具体含义没有明确的信息。"zip"则表明这个工具包是以ZIP格式压缩的,这是一种常见的文件归档和压缩格式,便于下载和传输。 在压缩包子文件的...
在Qt Quick QML中,Loader组件是一个非常强大的工具,它允许动态加载和卸载QML组件,这在构建可扩展和灵活的用户界面时尤其有用。Loader不仅可以加载单个QML文件,还可以作为项目间通信的一种方式。在这个场景中,...
下面我们说说Flashloader的工作原理,其实Flashloader是IAR为C-SPY调试器开发的一个可执行小程序(有点类似Bootloader),IAR在调用调试器的时候需要先将Flashloader可执行文件下载到目标芯片的RAM中 图1 然后再...
5. **集成与应用**:Loader3DS通常被用作Java3D应用的一部分,帮助开发者快速构建具有3D内容的应用,如教育模拟、建筑可视化、虚拟现实系统等。开发者需要了解如何在Java代码中调用Loader3DS,以及如何处理导入后的...
3. CLI方式:在shell命令中使用webpack命令行接口指定loader。这种方法也不推荐,因为它不够灵活,并且无法使用配置文件中的一些特性。 以webpack打包Less文件为例,你需要安装一系列的loader。首先,less-loader...
Oracle Loader,作为Oracle数据库系统中的一个强大工具,主要用于高效地导入和导出大量数据,显著提高了ETL(Extract, Transform, Load)流程的性能。它提供了丰富的自定义选项,使得数据库开发人员和ETL工程师能够...
SQL*Loader的操作流程主要包括创建控制文件、准备数据文件、运行SQL*Loader以及验证数据加载结果。 1. **SQL*Loader的基本概念** - **控制文件**:这是SQL*Loader的核心,它定义了如何将数据从输入文件解析并加载...
#### 步骤3:启动PE环境 - 成功设置后,计算机应该会从PE启动U盘启动。 - 进入PE系统后,打开资源管理器。 #### 步骤4:替换损坏的引导文件 - **获取Ntldr文件**: - 如果您没有现成的Ntldr文件,可以从其他相同...
extracted-loader作为其中的一种,专注于CSS的处理,它可以根据开发者的需求,与其他loader(如css-loader、postcss-loader)结合,形成一个完整的CSS处理流程。 使用extracted-loader的步骤通常包括以下几点: 1....