且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

基于红帽linux学习小结

更新时间:2022-06-24 11:45:12

Grub 选择操作系统 
LILO没有交互的命令界面,GRUB有 
LILO不支持网络引导 
加载特定内核 
grub> kernel / 
grub> kernel /initrd /in++++.img 
boot启动 

/sbin/grup-md5 
init进程作用 
init进程号为1,所有进程的发起者(父进程) 
永远不会终止 
ps -af|more列出所有的在执行进程 
显示的PPID父进程ID 
more(显示文件内容) 
/etc/inittab 
1. /etc/rc.d/rc.sysinit(系统初始化文件) 
2. /etc/rc.d/rcX.d/ K和S开头的文件(先终止K开头的服务,再开启S开头的服务) 
(/etc/rc.d/rc3.d/) 
3.执行/etc/rc.d/rc.local 2 3 5 
4.执行/etc/login程序 

GRUB设置密码 
用加密工具进行口令加密,然后修改/etc/grub.conf文件,在title上面加入 
    password --md5 后面加上加密后的密码 



但Ubuntu并没有采用init的方法,并没有 /etc/inittab这个文件。init使用的是串行的方式,引导很耗时。RedHat9启动时串行执行大量的脚本以启动各种需要的服务(启动时可以看到)。Ubuntu采用了upstart,是一个基于事件的 init 的替代程序,用于 Ubuntu 发行版。 
    Ubuntu中没有 /etc/inittab这个文件,但用户可以自己添加。当系统中有 /etc/inittab 时Ubuntu会按照配置来启动。 


2 inittab 
/ect/inittab 
(id runlevel action process) 
id:X:initdefault(X为2 3 5) 
init X 改变当前系统的运行级别 

pstree列进程 



3守护进程 
系统服务 
运行方式 1独立运行(耗资源的) 2xinetd模式下运行独立的守护进程 



/etc/xinetd.conf 
instances=60 最大连接进程数 
log_type = SYSLOG authpriv 用syslog进行服务登记 
log_on_success = HOST PID 设置成功以后记录客户端的IP地址和进程ID 
log_on_failure =HOST 设置失败后记录客户端的IP地址 
cps=25 30 每秒有25个入站连接,如果说超过这个限制就等待30秒 
//per_source = 5(限制一个IP地址最大的连接数) 
//log_type FILE.1 /var/log/xxxxxxinetdservice.log 8388608 15728640(记录日志,日志名随便写,限制大小为8M。达到15M则停止使用这个日志系统) 
//max_load=2.8 负载达到设定值2.8则暂停或者后续处理 

例如 
service telnet 

disable=no 
flags= REUSE 
socket_type=stream 
wait=no 
user=root 
server=/usr/sbin/in.telnetd 
log_on_failure += USERID 
instances =5 
only_from = 60.28.0.0/16 
no_access=210.192.15.{1,5,6} 
access_times=8:00-12:00 20:00-23:59 


more rsync 
service rsync (服务名称) 

disable=yes (yes禁用该服务) 
socket_type=stream(服务的数据包类型) 
wait=no(不需要等待,多线程方式运行) 
user=root(执行该进程的用户) 
server=/usr/bin/rsync(该服务启动脚本的位置) 
server_args=--daemon() 
log_on_failure += USERID(设置失败的时候UID会添加到系统的登记表中) 


/etc/hosts.allow 
/etc/hosts.deny 

通过这个命令看他们的描述,即帮助 
man xinetd.conf 
5.服务设置 系统管理的小工具 
redhat-config-services 
ntsysv --level 235(根据级别设置) 
chkconfig --add servicename增加服务 
chkconfig --level 235 httpd on(设置在指定级别下启用的服务) 
chkconfig --list|more (显示服务在不同级别时的状态) 

修改运行级别 
init 0~6 切换文本图形界面 
shell是操作系统最外面的一层,文字操作系统与外部最主要的接口就叫做shell。 
shell管理你与操作系统之间的交互;等待你输入,同操作解释你的输入 

bash 
csh 
tcsh 
sh 



sync 
在 Linux 系统中,为了加快数据的读取速度,所以,预设的情况中,某些数据将不会直接被写 
入硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重复的改写, 那么由于他尚未 
被写入硬盘中,因此可以直接由内存当中读取出来,在速度上一定是快上相当多的!不过,如 
此一来也造成些许的困扰,那就是,万一当你重新开 机,或者是关机,或者是不正常的段电的 
情况下,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的更新不正常啦!那要怎么办 
呢?这个时候就需要 sync 这个指令来进行数据的写入动作啦!直接在文字接口下输入 sync , 
那么在内存中尚未被更新的数据,就会被写入硬盘中!所以,这个指令在系统关机或重新开机 
之前,很重要喔!***多执行几次!( 注:这个指令也只有 root 可以执行喔! ) 








==================================================================== 
1. 
Linux 能够支持的档案格式与核心是否有编译进去有关,所以你可以到你的Linux 系统的 
 /lib/modules/`uname –r`/kernel/fs 
底下看一看,如果有你想要的档案格式,那么这个核心就有支持啦 

2. 
档案种类: 
谈完了档案格式之后,再来谈谈所谓的档案种类吧!我们在刚刚的属性介绍中提到了最前面的标志 ( d 或 - ) 可以代表目录或档案,那就是不同的档案种类啦!Linux 的档案种类主要有底下这几种: 
  
.正规档案( regular file ):就是一般类型的档案,在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ]。另外,依照档案的内容,又大略可以分为两种档案种类: 
.纯文字文件(ascii) :这是 Unix 系统中最多的一种啰,几乎只要我们可以用来做为设定的档案都属于这一种; 
.二进制文件(binary) :通常执行档除了 scripts (文字型批次文件)之外,就是这一种档案格式; 
  
.目录 (directory):就是目录啦!第一个属性为 [ d ]; 
.连结档 (link):就是类似 Windows 底下的快捷方式啦!第一个属性为 [ l ]; 
.设备档 (device):与系统周边相关的一些档案,通常都集中在 /dev 这个目录之下!通常又分为两种: 
.区块 (block) 设备档 :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!例如你的一号硬盘的代码是 /dev/hda1 等等的档案啦!第一个属性为 [ b ]; 
.字符 (character) 设备档 :亦即是一些串行端口的接口设备,例如键盘、鼠标等等!第一个属性为 [ c ]。 
  
那么使用刚刚的『 ls -al 』这个指令,你就可以简单的经由判断每一个档案的第一个属性来了解 
这个档案是何种类型!很简单吧! 


3. 
/bin 这是放例如: ls, mv, rm, mkdir, rmdir, gzip, tar, telnet, 及 ftp 等等常用的执行档的地方(这些执行档的执行方法会在后面提到),有时候这个目录的内容与 /usr/bin 是一样的(有时候甚至会使用连结档哩),是给一般使用者使用的执行程序放置的所在! 
/boot 没错,这里就是放置你 Linux 核心与开机相关档案的地方,这个目录底下的vmlinuz-xxx 就是 Linux 的 Kernel 啦!粉重要的东西!而如果你的开机管理程序选择 grub 的话,那么这个目录内还有 /boot/grub 这个次目录呦! 
/dev 摆放一些与装置有关的档案。基本上 Unix 或 Linux 系统均把装置当成是一个档案来看待,例如 /dev/fd0 代表软盘,亦即 Windows 系统下的 A 槽,而 /dev/cdrom则代表光盘,等等!而如上所述,在这个目录底下的档案型态通常分为两种喔,分别是管理磁盘 Input/Output 的 Block 档案与周边的 Character 档案。 
/etc 系统在开机过程中需要读取的档案均在这个目录中,例如 Lilo 的参数、人员的账号与密码、系统的主要设定、http 架站的参数内容、你所要开启的服务项目等等都在这个目录中,所以在这个目录下工作的时候,请记得一定要备份,否则档案被改掉了可是很麻烦的! 

/etc/rc.d 这个路径主要在记录一些开关机过程中的 scripts 档案, scripts 有点像是 DOS下的批次档(.bat檔名) 
/etc/rc.d/init.d 所以服务预设的启动 scripts 都是放在这里的,例如要启动与关闭 iptables 的话,可以: 
/etc/rc.d/init.d/iptables start 
/etc/rc.d/init.d/iptables stop 
/etc/xinetd.d 这个路径在较新的 Linux distribution 当中才有,由于早期的版本用来开启服务的档案是 inetd.conf ,但是在较新的版本中,开启服务的项目已经变成使用xinetd.conf 这个档案,因此,你若需要启动一些额外的服务的话,在 Mandrake9.0 或者是 Red Hat 7.0 以后就要到 etc/xinetd.d 这个目录下了。 
/etc/X11 这是与 X windows 有关的设定文件所在的目录,尤其里面的 XF86Config-4 更是重要呢! 
/home 基本上,这是系统预设的使用者的家目录( home directory ),在你新增一般使用者账号的时候,预设的使用者家目录都在这里设定好啰! 
/lib 在 Linux 执行或编译一些程序的时候,均会使用到一些函式库(library),就在这个目录下 
/lost+fount 系统不正常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。例如你加装一棵硬盘于 /disk 中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found 
/mnt 这是软盘与光盘预设挂载点的地方;通常软盘挂在 /mnt/floppy 下,而光盘挂在/mnt/cdrom 下,不过也不一定啦!只要你高兴,随便找一个地方来挂载也可以呀! 
/proc 系统核心与执行程序的一些信息。例如你的网络状态的问题啦!这个目录将在启动Linux 的时候自动的被挂上,而且该目录底下不会占去硬盘空间!因为里面都是『内存』内的数据啦 
/root 系统管理员的家目录 
/sbin 放置一些系统管理常用的程序,例如: fdisk, mke2fs, fsck, mkswap, mount 等等。与 /bin 不太一样的地方,这个目录下的程序通常是给 root 等系统管理员使用的程序喔! 
/tmp 这是让一般使用者暂时存放档案的地方,例如你在安装 Linux 下的软件时,可能软件预设的工作目录就是 /tmp ,所以你要定期的清理一下,当然,重要数据***不要放在这里! 
/usr 这是最重要的一个目录了,里面含有相当多的系统信息,内有许多目录,用来存放程序与指令等等。这个目录有点像是 Windows 底下的『Program Files』那个目录说~ 
/usr/bin 放置可执行程序,如前所说,这个目录的档案与 /bin 几乎是相同的。 
/usr/include 一些套件的header檔。基本上,当我们在以 tarball 方式( *.tar.gz 的方式安装软件)安装某些数据时,会使用到的一些函式库都在这个目录底下喔! 
/usr/lib 内含许多程序与子程序所需的函式库。 
/usr/local 在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软件总是可以升级的,例如你要升级你的 proxy 服务,则通常软件预设的安装地方就是在 /usr/local 中( local 是『当地』的意思),同时,安装完毕之后所得到的执行文件,为了与系统原先的执行文件有分别,因此升级后的执行档通常摆在 /usr/local/bin 这个地方。给个建议啦,通常 VBird 都会将后来才安装上去的软件放置在这里,因为便于管理呦! 
/usr/sbin 放置管理者使用程序,与 /sbin 类似的功能 
/usr/share/doc 放置一些系统说明文件的地方,例如你安装了 lilo 了,那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利! 
/usr/share/man 放置一些程序的说明文件的地方,那是什么?呵呵!就是你使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时,就会查出/usr/share/man/man1/ls.1.bz2 这个说明档的内容啰! 
/usr/src 这是放置核心原始码的预设目录,未来我们要编译核心的时候,就必须到这个目录底下呦! 
/usr/X11R6 X Window System存放相关档案的目录 
/var 这个目录可就重要了!所有服务的登录文件或错误讯息档案(log files)都在/var/log 里面,此外,一些数据库如 MySQL 的数据库则在 /var/lib 里头,此外,使用者未读邮件邮件的预设放置地点为/var/spool/mail !呵呵!你说重不重要呀!? 

为了防止丢失数据,磁盘分区一般为下面: 

/boot 
/usr 
/home 
/var 
这是比较常见的磁盘分布情,其中 
/ 根目录可以分配约 256 MB 以内; 
/boot 大概在 50 MB 就可以了,因为开机档案并不大; 
/var 就至少需要 1GB 以上,因为你的 mail 、 proxy 预设的储存区都在这个目录中,除 
非你要将一些设定改变! 
/home 与 /usr 通常是最大的,因为你所安装的数据都是在 /usr/ 当中,而用户数据则放置 
在 /home 当中,因此通常书上都会建议你将所剩下的磁盘空间平均分配给这两个目录说! 

4. 
fdisk -l (查看所有硬盘信息) 
grub-install /dev/hda(安装grub到hda) 
5. 
linux防火墙设置 
命令为:$redhat-config-securitylevel 允许ssh服务通过 


此日志来自QQ邮箱!方便快捷写Qzone的新方式,详情请进>>