还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
Linux操作系统使用命令总结 Linux的TCP/IP协议栈 分析tcpv4init这个函数在/ipv4/tcpipv
4.c里面: initfuncvoidtcpv4initstructprotofamily*ops interr; tcpinode.imode=SIFSOCK; tcpinode.isock=1; tcpinode.iuid=0; tcpinode.igid=0; tcpsocket-inode=tcpinode; tcpsocket-state=SSUNCONNECTED; tcpsocket-type=SOCKRAW; iferr=ops-createtcpsocketIPPROTOTCP0 panicFailedtocreatetheTCPcontrolsocket.; tcpsocket-sk-allocation=GFPATOMIC; tcpsocket-sk-num=256; tcpsocket-sk-ipttl=MAXTTL; tcpinode当然就是一个inode节点了而tcpsocket等于tcpinode.u.socketi通过一个指针他们指向同一个内存.tcpsocket是用来通信使用的可以叫TCP的controlsocket或者是munication socket当TCP通信没有相应的socket的时候这个socket就充当了socket的角色.比方在一个关闭端口上收到SYN时发送RST或者是在三次握手的时候发送SYN还没有aept产生新的socket 值得注意的是ops-create函数的调用我们前面见过对于AFINET来说这个回调函数是/ipv4/afi.c的icreate函数这个函数是用来创立一个socket的时候用的由于函数比拟长这里先略过分析这第一次的分析只是一个大致流程的熟悉而已. 由于有socket创立和通信所以这段代码是协议相关的所以把这段代码从原来的tcp.c里面提取了出来 下面是tcpinit函数它在/ipv4/tcp.c里面大体上来说就是创立了几个hash表和bucket.这段代码创立了下面几个全局对象: tcpopenreqcachep tcpbucketcachep tcptimewaitcachep tcpehash tcpbhash 其中ehash代表establishedhashbhash代表bindhash它们当然分别是所有的满足TCPESTABLISHED=sk-state 再下来就是icmpinit函数了在/ipv4/icmp.c里面事实上如果把tcpv4init里面的IPPROTOTCP替换成IPPROTOICMP根本都是一样的.剩下的procregister函数前面已经讲过了这里就不说了. 到这里为止Linux下面IP栈的开始的工作我们根本应该有了个了解其中有几个关键的函数: devaddpack:一个链路层以上的处理函数一般是用来使用新的网络层协议的不过如果时重复也是可以的这时候系统会设置一个copy位.如果是ETHPALL那么会接收所有的数据包.参加的元素保存在ptypeall链表和ptypebasehash链表中间. iaddprotocol:一个建立在IP层以上的协议例如TCP和UDP等 procregister还有类似的procregister: 在/proc/目录下面创立一个子目录项来使管理者能通过文件系统得到统计信息 现在迷惑的地方还有很多一个是结构体skbuff的每个成员的意义一个是结构体sock的意义不过这两个问题应该在以后看多了就知道了.下面我就打算一个个分析每个协议的处理了包括状态转化/数据发送/接收 vi/etc/ssh/sshdconfig 找到其中的#Port22(第13行),去掉#,修改成Port3333 使用如下命令,重启SSH效劳,注以后用新端口登陆 servicesshdrestart 先添加一个新帐号80st,可以自定义 useradd80st 给weidao帐号设置密码 passwd80st 仍旧是修改/etc/ssh/sshdconfig文件,第39行#PermitRootLoginyes,去掉前面的#,并把yes改成no,然后,重启SSH效劳以后,先使用weidao登陆,再suroot即可得到ROOT管理权限 loginas:80st weidao@ippassword:***** Lastlogin:TueNov2215:18:18xxfrom
1.
2.
3.4 suroot Password:***********#注这里输入ROOT的密码 使用stat命令,查看VPS当前链接确认是否受到攻击 stat-ntu|awk‘{print$5}’|cut-d:-f1|sort|uniq-c|sort-n IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象 可以使用iptables直接BAN了这个IP的永久访问 iptables-AINPUT-s
12.
34.
56.78-jDROP 使用软件DDosdeflate动检测并直接BAN掉的方法,首先要确认一下iptables效劳状态,默认CENTOS就安装的,不看也行 serviceiptablesstatus 安装DDosdeflat wget.ibase./scripts/ddos/install.sh chmod+xinstall.sh ./install.sh 安装后需要修改/usr/local/ddos/ddos.conf,主要是APFBAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAILTO=”root”,这样BAN哪个IP会有邮件提示 #####Pathsofthescriptandotherfiles PROGDIR=”/usr/local/ddos” PROG=”/usr/local/ddos/ddos.sh” IGNOREIPLIST=”/usr/local/ddos/ignore.ip.list”//IP地址白 CRON=”/etc/cron.d/ddos.cron”//定时执行程序 APF=”/etc/apf/apf” IPT=”/sbin/iptables” #####frequencyinminutesforrunningthescript #####Caution:Everytimethissettingischangedrunthescriptwith–cron #####optionsothatthenewfrequencytakeseffect FREQ=1//检查时间间隔,默认1分钟 #####HowmanyconnectionsdefineabadIPIndicate thatbelow. NOOFCONNECTIONS=150//最大连接数,超过这个数IP就会被屏蔽,一般默认即可 #####APFBAN=1MakesureyourAPFversionisatleast
0.96 #####APFBAN=0UsesiptablesforbanningipsinsteadofAPF APFBAN=1//使用APF还是iptables推荐使用iptables将APFBAN的值改为0即可 #####KILL=0BadIPsare’ntbannedgoodforinteractiveexecutionofscript #####KILL=1Remendedsetting KILL=1//是否屏蔽IP,默认即可 #####AnemailissenttothefollowingaddresswhenanIPisbanned. #####Blankwouldsuppresssendingofmails EMAILTO=”root”//当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可 #####Numberofsecondsthebannedipshouldremaininblacklist. BANPERIOD=600//禁用IP时间,默认600秒,可根据情况调整 安装IFTOP软件 yum-yinstallflexbyalibpcapncursesncurses-devellibpcap-devel wget.ex-parrot./pdw/iftop/download/iftop-
0.
17.tar.gz tarzxvfiftop-
0.
17.tar.gz cdiftop-
0.17 ./configure makemakeinstall 安装后,使用iftop运行,查看网络情况TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量 快捷键h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口效劳名称,b切换是否时数流量图形条 现在最新版是
0.
8.53,如果以后出新版,只要更新版本号就可以,在SSH里运行 wget.nginx/download/nginx-
0.
8.
53.tar.gz tarzxvfnginx-
0.
8.
53.tar.gz cdnginx-
0.
8.53 ./configure–user=–group=–prefix=/usr/local/nginx–with-stubstatusmodule–with-sslmodule–with-submodule make mv/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.old cdobjs/ cpnginx/usr/local/nginx/sbin/ /usr/local/nginx/sbin/nginx-t kill-USR2`cat/usr/local/nginx/logs/nginx.pid` kill-QUI T`cat/usr/local/nginx/logs/nginx.pid.oldbin` /usr/local/nginx/sbin/nginx-v cd.. cd.. rm-rfnginx-
0.
8.53 rm-rfnginx-
0.
8.
53.tar.gz
1.查看所有80端口的连接数 stat-nat|grep-i“80″|wc-l
2.对连接的IP按连接数量进行排序 stat-ntu|awk‘{print$5}’|cut-d:-f1|sort|uniq-c|sort-n
3.查看TCP连接状态 stat-nat|awk‘{print$6}’|sort|uniq-c|sort-rn stat-n|awk‘/^tcp/{++S[$NF]};END{forainSprintaS[a]}’ stat-n|awk‘/^tcp/{++state[$NF]};END{forkeyinstateprintkey””state[key]}’ stat-n|awk‘/^tcp/{++arr[$NF]};END{forkinarrprintk””arr[k]}’ stat-n|awk‘/^tcp/{print$NF}’|sort|uniq-c|sort-rn stat-ant|awk‘{print$NF}’|grep-v‘[a-z]‘|sort|uniq-c
4.查看80端口连接数最多的20个IP stat-anlp|grep80|greptcp|awk‘{print$5}’|awk-F:‘{print$1}’|sort|uniq-c|sort-nr|head-n20 stat-ant|awk‘/:80/{split$5ip”:”;++A[ip
[1]]}END{foriinAprintAi}’|sort-rn|head-n20
5.用tcpdump嗅探80端口的访问看看谁最高 tcpdump-ieth0-tnndstport80-c1000|awk-F”.”‘{print$1″.”$2″.”$3″.”$4}’|sort|uniq-c|sort-nr|head-20
6.查找较多timewait连接 stat-n|grepTIMEWAIT|awk‘{print$5}’|sort|uniq-c|sort-rn|head-n20
7.找查较多的SYN连接 stat-an|grepSYN|awk‘{print$5}’|awk-F:‘{print$1}’|sort|uniq-c|sort-nr|more linux中php如何安装CURL扩展方法 如果php已经在系统编译好,后来又需要添加新的扩展一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展下面以安装curl扩展为例
1、下载curl安装包(我的php是
4.
4.4的,下载最新的curl
7.16不能使用,最后下载
7.14的才可以,所以要注意一下版本问题) ./configure make php要求curl的目录要有include和lib目录,并且include下要有easy.h和curl.h两个文件,lib下要有libcurl.a经编译后include下的文件有了,但是lib目录下没有原来生成到lib/.libs目录下,所以要copy到lib目录
2、进入安装原php的源码目录 cdext cdcurl phpize ./configure--with-curl=DIR make 就会在DIR/ext/curl/moudles/下生成curl.so的文件
3、复制curl.so文件到extensions的配置目录,修改php.ini就好 LINUX常用命令大全一 1文件与目录操作命令
1.1文件内容查询命令 grep、fgrep、egrep 语法grep[选项][查找模式][文件名1,文件名2……] 选项-E每个模式作为一个扩展的正那么表达式对待 -F每个模式作为一组固定字符串对待,而不作为正那么表达式 -i比拟时不区分大小写 -l显示首次匹配匹配串所在的文件名并用换行符将其分开当在文件中屡次出现匹配串时,不重复显示次文件名; -x只显示整行严格匹配的行
1.2文件查找命令find、locate 语法find起始目录寻找条件操作 以名称和文件属性查找 -name‘字串‘查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[] -lname‘字串‘查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[] -gidn查找属于ID号为n的用户组的所有文件 -uidn查找属于ID号为n的用户的所有文件 -group‘字串‘查找属于用户组名为所给字串的所有的文件 -user‘字串‘查找属于用户名为所给字串的所有的文件 -path‘字串‘查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[] -perm权限查找具有指定权限的文件和目录,权限的表示可以如
711、644 -typex查找类型为x的文件, 语法locate相关字
1.3文件的复制、删除和移动命令 文件复制命令cp[选项]源文件或目录目标文件或目录 选项-a通常在拷贝目录时使用 -d拷贝时保存连接 -f删除已经存在的目标文件而不提示 -i和f选项相反 -p此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中 -r假设给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名; -l不作拷贝,只是链接文件 文件移动命令mv[选项]源文件或目录目标文件或目录 -i交互式操作 -f禁止交互式操作 文件删除命令rm[选项]文件… -f忽略不存在的文件,从不给出提示 -r指示rm将参数中列出的全部目录和子目录均递归地删除 -i进行交互式删除
1.4文件链接命令 ln[选项]目标[链接名]或ln[选项]目标目录 选项-s建立符号链接
1.5目录的创立和删除命令 mkdir创立一个目录 语法mkdir[选项]dirname 选项-m对新建目录设置存取权限 -p可以是一个路径名称此时假设路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 r mdir删除空目录 语法rmdir[选项]dirname 选项-p递归删除目录dirname当子目录删除后其父目录为空时,也一同被删除
1.6改变工作目录,显示目录内容命令
1、改变工作目录cd[directory]
2、显示当前工作的目录的绝对路径pwd
3、显示目录内容ls[选项][目录或是文件] 选项-a显示指定目录下所有子目录与文件,包括隐藏文件; -c按照文件的修改时间排序 -C分成多列显示各项 -d如果参数是目录,只显示其名称而不显示其下的个文件 -F在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=” -l以长格式来显示文件的详细信息 -L假设指定的名称为一个符号链接,那么显示链接所指向的文件 -t显示时按修改时间而不是名字排序 -u显示时按文件上次存取的时间而不是名字排序
4、改变文件或目录的访问权限命令 chmod[who][+|-|=][mode]文件名? Who选项 -u表示用户,即文件和目录的所有者 -g表示同组用户 -o(other)表示其他用户 -a(all)表示所有用户 操作符号 +添加某个权限-取消某个权限 =赋予给定权限并取消其他所有的权限(如果有的话) mode选项 -r可读 -w可写 -x可执行 chgrp[-R]groupfilename改变目录或文件所属的组 chown[-Rv]用户或组文件
1.7备份与压缩命令
1、tar命令为文件和目录创立档案 语法tar[主选项+辅助选项]文件或者目录 u主选项 c创立新的档案文件如果用户想备份一个目录或是一些文件,那么选此项 r把要存档的文件追加到档案文件的末尾 t列出档案文件的内容,查看已经备份了哪些文件; u更新文件 x从档案文件中释放文件; u辅助选项 b该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20 f使用档案文件或设备,这个选项通常是必选的 k保存已经存在的文件例如把某个文件复原,在复原的过程中,遇到相同的文件,不会进行覆盖; m在复原文件时,把所有文件的修改时间设定为现在; M创立多卷的档案文件,以便在几个磁盘中存放; v详细报告tar处理的文件信息 w每一步都要求确认 z用gzip来压缩/解压缩文件
2、gzip命令压缩/解压缩命令 语法gzip[选项]压缩(解压缩)的文件名 选项-c将输出写到 标准输出上,并保存原有文件 -d将压缩文件解压 -l显示每个压缩文件的详细信息 -r递归式地查找指定目录并压缩其中的所有文件或者是解压缩 -t测试、检查压缩文件是否完整 -v对每一个压缩和解压的文件,显示文件名和压缩比
3、unzip命令 用MSwindows下的压缩软件winzip压缩的文件在linux系统下展开 语法unzip[选项]压缩文件名.zip 选项-x文件列表解压缩文件,但不包括指定的file文件 -v查看压缩文件目录,但不解压 -t测试文件有无损坏,但不解压 -d目录将压缩文件解到指定目录下 -z只显示压缩文件的注解 -n不覆盖已经存在的文件 -o覆盖已经存在的文件且不要求用户确认 -j不重建文档的目录结构,把所有文件解压到同一目录下
1.8在LINUX环境下运行DOS命令 linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录 mcd目录名改变MSDOS目录 mcopy源文件目标文件在MSDOS和UNIX之间复制文件; mdel目录名删除MSDOS目录 mdir目录名显示MSDOS目录 mformat驱动器号在低级格式化的软盘上创立MSDOS文件系统 rnlabel驱动器号产生MSDOS卷标 mmd目录名删除MSDOS目录 mren源文件目标文件重新命名已存在的MSDOS文件 mtype文件名显示MSDOS文件的内容 2设备管理命令 linux采用下面的形式定义一个IDE硬盘/dev/hd[drive][partition] SCSI硬盘使用同样的机制表示/dev/sd[drive][partition] 对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下 mk2fs–c 装载文件系统mount–text2[-ooptioms]partitionmountpiont 其中,-t为指定装载文件系统的类型;-o指定一些选项,如只读ro,可读可写rw等等;partition定义分区名称;mountpiont定义文件系统被装载的目录名称 装载CD-ROM文件系统mount–tiso9660–r/dev/cdrom/mnt/cdrom 装载软驱文件系统mount–tmsdos–rw/dev/fd0/dev/mnt/floppy 卸载文件系统umount/mnt/cdrom 磁带设备的安装要注意以下几点
1、首先要选择一个唯 一的SCSIID号,然后再将设备链接到适当的位置
2、选择驱动程序
3、生成设备文件SCSI磁带设备的主要设备号是9,次要设备号是0设备文件名通常是/dev/nrst0(不支持缭绕的磁带设备)或/dev/nst0(支持缭绕的磁带设备) 用ls/dev/*rst* 检查磁带设备文件是否存在,如果不存在,用 mknod–m666/dev/nrst0c99 mknod–m666/dev/rst0c90生成
4、可以对块长度、缓存、磁带密度等参数进行一些设置,例如 mtsetblk20将块长度指定为20 mtsetblk0指定块程度没有限制
5、通过检查系统的启动信息可以确定系统是否识别了新的磁带设备用dmesg命令,查看是否有以下类似的信息 aha274x:target4nowsynchronousat
4.4Mb/s Vendor:TANDBERGModel:TDC3800Rev:=05: Type:Sequential-AessANSISCSIrevision:02 Detectedscsitapest0atscsi0id4lun0 Scsi:detected1SCSItape1SCSIcrom1SCSIdisktotal 3软件包管理命令
3.1软件安装的步骤 在LINUX系统上安装软件的步骤有
1、查找所要安装软件的源文件
2、把源文件解开放到一个目录中,命令如下 tarzxvf源文件名
3、针对本操作系统配置源文件可以是make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure
4、make源文件,通常是运行make命令,即执行make
5、安装二进制文件和其他支撑文件,运行命令makeinstall
6、最后,完成所有其他必须的配置
3.2软件包管理命令 rpm–ivh软件包 //安装指定的软件包,并在安装过程中用#表示安装的进度 rpm–Uvh软件包 //更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本 rpm–e //卸载一个rpm软件包 rpm–qa //查看系统中已经安装的软件包 rpm–q软件包 //查看系统中某个软件包的版本号; rpm–qlp软件包 //列出某个软件包中的所有文件 rpm–qf软件包 //找出一个文件属于哪个软件包 4LINUX系统常用命令
4.1与系统管理有关的命令 WallWriteAll 对全部已的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入#wall 例Wall‘Thankyou!’ Write 向某一用户发送信息 Writexxq hello 输入Ctrl+C组合即可终止 Shutdown命令 Shutdown[选项][时间][警告信息] -k并不真正关机,而只是发出警告信息给所有的用户 -r关机后立即重新启动 -h关机后不重新启动 -f快速关机,启动时跳过fsck -n快速关机,不经过init程序 -c取消一个已经运行的shutdown 例系统马上关机Shutdown–hnow Free命令 查看当前系统内存的使用情况, Free[-b][-k][-m] -b以字节为单位显示 -k以K字节为单位显示 -m以M字节为单位显示 Uptime 显示系统已经运行了多长的时间现在时间、系统已经运行的时间、目前有多少用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
4.2与用户有关的命令 Passwd命令 设置、更换用户口令 Passwd[用户名] Su 使一个普通的用户具有超级用户的权利,离开可用EXIT命令
4.3其它命令 Echo命令 在显示器上显示一段文字,一般起到一个提示的作用 echo[-n]字符串 Cal命令 显示某年某月的日历 cal[选项][月[年]] 选项的含义 -j显示也给定月中的每一天是一年中的和几天(从1月1日算起) -y显示也整年的日历 Date命令 date命令的功能是显示和设置系统日期和时间
4.4磁盘管理 磁盘空间管理 df命令 检查文件系统的磁盘空间占用局部 Df[选项] -a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统 -k以K字节为单位显示 -i显示i节点信息,而不是磁盘块 -t显示各指定类型的文件系统的磁盘空间使用情况 -x列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反) -T显示文件系统类型 du命令 du的英文原意为diskusage,含义为显示磁盘空间的使用情况功能是统计目录(或文件)所占磁盘空间的大小 du[选项][Names…] -s对每人Names参数只给也占用的数据块总数 -a递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数 -b以字节为单位列也磁盘窨使用情部(缺省以K字节为单位) -k以1024字节为单位列也磁盘空间使用情况 -c最后再加上一个总计(系统缺省) -l计算所有的文件大小,对硬链接文件,那么计算屡次 -x跳过在不同文件系统上的目录不予统计 dd命令 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换语法 dd[选项] if=输入文件(或设备名称) of=输出文件(或设备名称) ibs=bytes一次读取bytes字节,即读入缓冲区的字节数 skip=blocks跳过读入缓冲区开头的ibs*blocks块 obs=bytes一次写入bytes字节,即写入缓冲区的字节数 bs=bytes同时设置读/写缓冲区的字节数(等于设置obs和obs) cbs=bytes一次转换bytes字节 count=blocks只拷贝输入的blocks块 conv=ASCII把EBCDIC码转换为ASCII码 conv=ebcdic把ASCII码转换为EBCDIC码 conv=ibm把ASCII码转换为alternateEBCDIC码 conv=blick把变动位转换成固定字符 conv=ublock把固定们转换成变动位 conv=ucase把字母由小写变为大写 conv=lcase把字母由大写变为小写 conv=notrunc不截短输出文件 conv=swab交换每一对输入字节 conv=noerror出错时不停止处理 conv=sync把每个输入记录的大小都调到ibs的大小(用ibs填充) fdformat命令 低级格式化软盘 format[-n]device -n格式化后不做检验
4.5常用的网络命令 FTP命令 Tel命令 Netstat命令 -a显示所有的scoket,包括正在监听和 -c每隔1秒就重新显示一遍,直到用户中断它 -i显示所有网络接口的信息,格式同”ifconfig–e” -n以网络IP地址代替名称,显示也网络连接情形 -r显示核心路由表,格式同”route–e: -t显示TCP协议的连接情况 -u显示UDP协议的连接情况 -v显示正在进行的工作 nslookup命令 finger命令,功能是查询用户的信息 ping命令 (用户和组的管理可以使用工具TurboUserCfg或是XturboUserCfg )
4.6有关进程的命令 进程和启动 at[-V][-q][-f文件名][-mldbv]时间 at–c作业[作业….] AT命令启动的进程系统只执行一次 batch[-V][-q队列][-f文件名][-mv][时间] 在系统负载较小时,资源比拟空闲时执行 cron命令 按一定的时间间隔执行命令 crontab命令 用于安装、删除或列出用于驱支cron后台进程的表格 进程查看 who命令 w命令 是一个比who命令更强大的命令 w–[husfV][user] -h不显示标题 -u当列出当前进程和CPU时间时忽略用户名 -s使用短模式不显示时间JCPU和PCPU时间 -f切换显示FROM项,也就是远程主机名项 -V显示版本信息 user只显示指定用户的情况 ps命令 -e显示所有进程 -f全格式 -h不显示标题 -l长格式 -w宽输出 a显示终端上所有进程,包括其他用户的进程 r只显示正在运行的进程 x显示没有控制终端的进程 top命令 动态显示系统当前的进程和其他状况 5系统的启动过程
5.1初始启动 在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)MBR的格式是 地址偏移量内容大小 +00h可执行的代码(启动模块)可能变化 +1BEh第一分区表项16字节 +1CEh第二分区表项16字节 +1DEh第三分区表项16字节 +1EEh第四分区表项16字节 +1FEh可执行的标记(AA55h)2字节 启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT13h等,限制了最大磁盘柱面号为1023这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内 在MBR中只有四个分区表项,每个表项的格式如下 地址偏移内容大小 +00h分区状态00代表非启动分区,80h代表启动分区1字节 +01h分区的起始位置磁头1字节 +02h分区的起始位置柱面和扇区1字节 +04h分区的类型1字节 +05h分区的结束位置磁头1字节 +06h分区的结束位置柱面和扇区1字节 +08h在主引导区和本分区的第一个扇区间的扇区数目4字节 +0Ch分区内的扇区数目4字节
5.2 ;作为镜像源文件,现在rawirte会立即显示如下提示信息 Entertargetdiskettedrive: 4.输入适当的驱动器名 5.将格式化的空盘插入到软驱中,按回车键继续 6.rawrite实用程序将把boot.img镜像到磁盘中,操作完毕;
6.2在LINUX下创立引导盘 步骤 根据常规装上REDHATCD-ROM盘,这里假定已经把系统装在/mnt/cdrom目录下现在应把当前目录更改成/mnt/cdrom/images,以便存放引导镜像文件; 假定软驱是/dev/fd0,使用的是
1.44M软盘,运行以下命令 ddif=boot.imgof=/dev/fd0bs=1440k 这样便创立了所需的引导盘还可以创立辅助镜像软盘,只需把上面命令中的if=boot.img该成if=supp.img语句即可 linux命令行修改IP的2个方法 本文介绍了通过linux命令行修改IP的方法,通过linux命令行修改IP可以通过以下两种方式实现 方式一 ifconfigeth
0192.
168.
1.18mask
255.
255.
255.0 说明该种方式可以使改变即时生效,重启后会恢复为原来的IP 方式二 vi/etc/sysconfig/work-scripts/ifcfg-eth0 说明该方式要重启后生效,且是永久的 如果要立即更改且永久生效,就只能以上两种方式同时使用了 以上是通过linux命令行修改IP的方法 怎么卸载Linux系统分区 系统为windowsxpsp2和redhatas5双系统,其中linux系统后安装的在D盘,今天发现硬盘不够用了,想干掉linux分区,在虚拟机中用linux就在windows的磁盘管理命令为:diskmgmt下删除linux分区,有的人也许不明白怎么查看,你看有个“”的就是了,有点常识的都能看到,删除后就成为未分配分区了再创立了逻辑盘 好了有了一个打磁盘开始倒腾文件了一会重启系统,当按下重启按钮时我就想完了,系统引导文件未修改原来都是linux的引导界面,现在吧linux删除掉了保重引导出错开机后果然出现了我意料中的问题于是不慌忙的拿出“系统引导修复”顺利进入系统修改系统盘根目录下的boot.ini文件,发现此文件没有linux启动信息 于是在启动到dos下,使用命令fdisk/mbr修改磁盘主分区表重启动时提示系统文件丧失再次使用番茄花园的“系统引导修复”顺利进入系统重启后发现你一切正常需要注意的是fdisk/mbr有时候会使系统无法启动,请慎重使用模板内容仅供参考 。