文档视界 最新最全的文档下载
当前位置:文档视界 › linux自动化安装 kickstart配置文件详解

linux自动化安装 kickstart配置文件详解

linux自动化安装  kickstart配置文件详解
linux自动化安装  kickstart配置文件详解

kickstart配置文件详解

kickstart是什么

许多系统管理员宁愿使用自动化的安装方法来安装红帽企业Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以创建一个文件,这个文件包含了在典型的安装过程中所遇到的问题的答案.

Kickstart文件可以存放于单一的服务器上,在安装过程中被独立的机器所读取.这个安装方法可以支持使用单一kickstart文件在多台机器上安装红帽企业Linux,这对于网络和系统管理员来说是个理想的选择.

Kickstart给用户提供了一种自动化安装红帽企业Linux的方法.

如何执行kickstart安装

kickstart 安装可以使用本地光盘,本地硬盘驱动器,或通过NFS,FTP,HTTP来执行.

要使用kickstart,必须:

1.创建一个kickstart文件.

2.创建有kickstart文件的引导介质或者使这个文件在网络上可用.

3.筹备安装树.

4.开始kickstart安装.

创建kickstart文件

kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别.可以用「Kickstart 配置」应用程序创建它或是自己从头编写.红帽企业Linux安装程序也根据在安装过程中的选择创建一个简单的kickstart文件,这个文件被写入到/root/anaconda-ks.cfg.可以用任何能够把文件保存为ASCII文本的文本编辑器或字处理器来编辑它.

首先,在创建kickstart文件时留意下列问题:

1.每节必须按顺序指定.除非特别申明,每节内的项目则不必按序排列.小节的顺序为:

命令部分,这里应该包括必需的选项.

%packages部分,这部分选择需要安装的软件包.

%pre和%post部分,这两个部分可以按任何顺序排列而且不是必需的.

2.不必需的项目可以被省略.

3.如果忽略任何必需的项目,安装程序会提示用户输入相关的项目的选择,就象用户在典型的安装过程中所遇到的一样.一旦用户进行了选择,安装会以非交互的方式(unattended)继续(除非找到另外一个没有指定的项目).

4.以井号("#")开头的行被当作注释行并被忽略.

对于kickstart 升级,下列项目是必需的:

1.语言

2.安装方法

3.设备规格(如果这个设备是在安装过程中所需要的)

4.键盘设置

5.upgrade 关键字

6.引导装载程序配置

7.如果任何其他的项目被指定为upgrade,这些项目将被忽略(注意这包括了软件包选择).

kickstart命令选项

下面的选项可以放入kickstart文件.如果喜欢使用图形化的界面来创建kickstart文件,可以使用"Kickstart 配置"应用程序.(注:如果某选项后面跟随了一个等号(=),它后面就必须指定一个值.在示例命令中,括号([])中的选项是命令的可选参数.)

autopart(可选)

自动创建分区,大于1GB的根分区(/),交换分区和适合于不同体系结构的引导分区.一个或多个缺省分区的大小可以用part指令重新定义.

ignoredisk(可选)

导致安装程序忽略指定的磁盘.如果使用自动分区并希望忽略某些磁盘的话,这就很有用.

例如,没有ignoredisk,如要试图在SAN-cluster系统里部署,kickstart就会失败,因为安装程序检测到SAN不返回分区表的被动路径(passive path).

如果有磁盘的多个路径时,ignoredisk选项也有用处.

语法是:

ignoredisk --drives=drive1,drive2,...

这里driveN是sda,sdb... hda等等中的一个.

autostep(可选)

和interactive相似,除了它进入下一屏幕,它通常用于调试.

--autoscreenshot,安装过程中的每一步都截屏并在安装完成后把图片复制到/root/anaconda-screenshots.这对于制作文档很有用.

auth或authconfig(必需)

为系统设置验证选项.这和在安装后运行的authconfig命令相似.在缺省情况下,密码通常被加密但不使用影子文件(shadowed).

--enablemd5,每个用户口令都使用md5加密.

--enablenis,启用NIS支持.在缺省情况下,--enablenis使用在网络上找到的域.域应该总是用--nisdomain=选项手工设置.

--nisdomain=,用在NIS服务的NIS域名.

--nisserver=,用来提供NIS服务的服务器(默认通过广播).

--useshadow或--enableshadow,使用屏蔽口令.

--enableldap,在/etc/nsswitch.conf启用LDAP支持,允许系统从LDAP目录获取用户的信息(UIDs,主目录,shell 等等).要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN(distinguished name).

--enableldapauth,把LDAP作为一个验证方法使用.这启用了用于验证和更改密码的使用LDAP目录的pam_ldap模块.要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN.

--ldapserver=,如果指定了--enableldap或--enableldapauth,使用这个选项来指定所使用的LDAP服务器的名字.这个选项在/etc/ldap.conf文件里设定.

--ldapbasedn=,如果指定了--enableldap或--enableldapauth,使用这个选项来指定用户信息存放的LDAP目录树里的DN.这个选项在/etc/ldap.conf文件里设置.

--enableldaptls,使用TLS(传输层安全)查寻.该选项允许LDAP在验证前向LDAP服务器发送加密的用户名和口令.

--enablekrb5,使用Kerberos 5验证用户.Kerberos自己不知道主目录,UID或shell.如果启用了Kerberos,必须启用LDAP,NIS,Hesiod或者使用/usr/sbin/useradd命令来使这个工作站获知用户的帐号.如果使用这个选项,必须安装pam_krb5软件包.

--krb5realm=,工作站所属的Kerberos 5领域.

--krb5kdc=,为领域请求提供服务的KDC.如果的领域内有多个KDC,使用逗号(,)来分隔它们.

--krb5adminserver=,领域内还运行kadmind的KDC.该服务器处理改变口令以及其它管理请求.如果有不止一个KDC,该服务器必须是主KDC.

--enablehesiod,启用Hesiod支持来查找用户主目录,UID 和shell.在网络中设置和使用Hesiod 的更多信息,可以在glibc 软件包里包括的/usr/share/doc/glibc-2.x.x/README.hesiod里找到.Hesiod是使用DNS记录来存储用户,组和其他信息的DNS 的扩展.

--hesiodlhs,Hesiod LHS("left-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对base DN的使用.

--hesiodrhs,Hesiod RHS("right-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对base DN的使用.

--enablesmbauth,启用对SMB服务器(典型的是Samba或Windows服务器)的用户验证.SMB验证支持不知道主目录,UID 或shell.如果启用SMB,必须通过启用LDAP,NIS,Hesiod或者用/usr/sbin/useradd命令来使用户帐号为工作站所知.要使用这个选项,必须安装pam_smb软件包.

--smbservers=,用来做SMB验证的服务器名称.要指定不止一个服务器,用逗号(,)来分隔它们.

--smbworkgroup=,SMB服务器的工作组名称.

--enablecache,启用nscd服务.nscd服务缓存用户,组和其他类型的信息.如果选择在网络上用NIS,LDAP或hesiod分发用户和组的信息,缓存就尤其有用.

bootloader(必需)

指定引导装载程序怎样被安装.对于安装和升级,这个选项都是必需的.

--append=,指定内核参数.要指定多个参数,使用空格分隔它们.

例如:bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"

--driveorder,指定在BIOS引导顺序中居首的驱动器.

例如:bootloader --driveorder=sda,hda

--location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序).

--password=,如果使用GRUB,把GRUB引导装载程序的密码设置到这个选项指定的位置.这应该被用来限制对可以传入任意内核参数的GRUB shell的访问.

--md5pass=,如果使用GRUB,这和--password=类似,只是密码已经被加密.

--upgrade,升级现存的引导装载程序配置,保留其中原有的项目.该选项仅可用于升级.

clearpart(可选)

在创建新分区之前,从系统上删除分区.默认不会删除任何分区.

注:如果使用了clearpart命令,--onpart命令就不能够用在逻辑分区上.

--all,删除系统上所有分区.

--drives=,指定从哪个驱动器上清除分区.

例如,下面的命令清除了主IDE控制器上的前两个驱动器上所有分区

clearpart --drives=hda,hdb --all

--initlabel,根据不同体系结构把磁盘标签初始化为缺省设置(例如,msdos用于x86而gpt用于Itanium).当安装到一个崭新的硬盘时,这很有用,安装程序不会询问是否应该初始化磁盘标签.

--linux,删除所有Linux分区.

--none(缺省),不要删除任何分区.

cmdline(可选)

在完全的非交互式的命令行模式下进行安装.任何交互式的提示都会终止安装.这个模式对于有x3270控制台的IBM System z系统很有用.

device(可选)

在多数的PCI系统里,安装程序会正确地自动探测以太网卡和SCSI卡.然而,在老的系统和某些PCI系统里,kickstart需要提示来找到正确的设备.device命令用来告诉安装程序安装额外的模块,它有着这样的格式:

device --opts=

,用scsi或eth代替

,使用应该被安装的内核模块的名称来替换.

--opts=,传递给内核模块的选项.注意,如果把选项放在引号里,可以传递多个选项.

例如:--opts="aic152x=0x340 io=11"

driverdisk(可选)

可以在kickstart安装过程中使用驱动软盘.必须把驱动软盘的内容复制到系统的硬盘分区的根目录下.然后必须使用driverdisk 命令来告诉安装程序到哪去寻找驱动磁盘.

driverdisk [--type=]

另外,也可以为驱动程序盘指定一个网络位置:

driverdisk --source=ftp://path/to/dd.img

driverdisk --source=http://path/to/dd.img

driverdisk --source=nfs:host:/path/to/img

,包含驱动程序盘的分区.

--type=,文件系统类型(如:vfat,ext2,ext3).

firewall(可选)

这个选项对应安装程序里的「防火墙配置」屏幕:

firewall --enabled|--disabled [--trust=] [--port=]

--enabled或者--enable,拒绝不是答复输出请求如DNS答复或DHCP请求的进入连接.如果需要使用在这个机器上运行的服务,可以选择允许指定的服务穿过防火墙.

--disabled或--disable,不要配置任何iptables规则.

--trust=,在此列出设备,如eth0,这允许所有经由这个设备的数据包通过防火墙.如果需要列出多个设备,使用--trust eth0 --trust eth1.不要使用以逗号分隔的格式,如--trust eth0, eth1.

,使用以下服务中的一个或多个来替换,从而允许指定的服务穿过防火墙.

--ssh

--telnet

--smtp

--http

--ftp

--port=,可以用端口:协议(port:protocal)格式指定允许通过防火墙的端口.

例如,如果想允许IMAP通过的防火墙,可以指定imap:tcp.还可以具体指定端口号码,要允许UDP分组在端口1234通过防火墙,输入1234:udp.要指定多个端口,用逗号将它们隔开.

firstboot(可选)

决定是否在系统第一次引导时启动"设置代理".如果启用,firstboot软件包必须被安装.如果不指定,这个选项是缺省为禁用的.

--enable或--enabled,系统第一次引导时,启动"设置代理".

--disable或--disabled,系统第一次引导时,不启动"设置代理".

--reconfig,在系统引导时在重配置(reconfiguration)模式下启用"设置代理".这个模式启用了语言,鼠标,键盘,根密码,安全级别,时区和缺省网络配置之外的选项.

halt(可选)

在成功地完成安装后关闭系统.这和手工安装相似,手工安装的anaconda会显示一条信息并等待用户按任意键来重启系统.在kickstart安装过程中,如果没有指定完成方法(completion method),将缺省使用reboot选项.

halt选项基本和shutdown -h命令相同.

关于其他的完成方法,请参考kickstart的poweroff,reboot和shutdown选项.

graphical(可选)

在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装.

install(可选)

告诉系统来安装全新的系统而不是在现有系统上升级.这是缺省的模式.必须指定安装的类型,如cdrom,harddrive,nfs或url(FTP或HTTP安装).install命令和安装方法命令必须处于不同的行上.

cdrom

从系统上的第一个光盘驱动器中安装.

harddrive

从本地驱动器的vfat或ext2格式的红帽安装树来安装.

--biospart=,从BIOS分区来安装(如82).

--partition=,从分区安装(如sdb2).

--dir=,包含安装树的variant目录的目录.

例如:harddrive --partition=hdb2 --dir=/tmp/install-tree

nfs

从指定的NFS服务器安装.

--server=,要从中安装的服务器(主机名或IP).

--dir=,包含安装树的variant目录的目录.

--opts=,用于挂载NFS输出的Mount选项(可选).

例如:nfs --server=https://www.docsj.com/doc/a713124486.html, --dir=/tmp/install-tree

url

通过FTP或HTTP从远程服务器上的安装树中安装.

例如:url --url http:///

或:url --url ftp://:@/

ignore disk(可选)

用来指定在分区,格式化和清除时anaconda不应该访问的磁盘.这个命令有一个必需的参数,就是用逗号隔开的需要忽略的驱动器列表.

例如:ignoredisk --drives=[disk1,disk2,...]

interactive(可选)

在安装过程中使用kickstart文件里提供的信息,但允许检查和修改给定的值.将遇到安装程序的每个屏幕以及kickstart文件里给出的值.通过点击"下一步"接受给定的值或是改变值后点击"下一步"继续.请参考autostep命令.

iscsi(可选)

issci --ipaddr= [options].

--target

--port=

--user=

--password=

iscsiname(可选)

key(可选)

指定安装密钥,它在软件包选择和获取支持时设别系统的时候是必需的.这个命令是红帽企业Linux-specific,它对Fedora来说没有意义并且会被忽略.

--skip,跳过输入密钥.通常,如果没有key命令,anaconda将暂停并提示输入密钥.如果没有密钥或不想提供它,这个选项允许继续自动化安装.

keyboard(必需)

设置系统键盘类型.这里是i386,Itanium,和Alpha 机器上可用键盘的列表:

be-latin1, bg, br-abnt2, cf, cz-lat2, cz-us-qwertz, de, de-latin1,

de-latin1-nodeadkeys, dk, dk-latin1, dvorak, es, et, fi, fi-latin1,

fr, fr-latin0, fr-latin1, fr-pc, fr_CH, fr_CH-latin1, gr, hu, hu101,

is-latin1, it, it-ibm, it2, jp106, la-latin1, mk-utf, no, no-latin1,

pl, pt-latin1, ro_win, ru, ru-cp1251, ru-ms, ru1, ru2, ru_win,

se-latin1, sg, sg-latin1, sk-qwerty, slovene, speakup, speakup-lt,

sv-latin1, sg, sg-latin1, sk-querty, slovene, trq, ua, uk, us, us-acentos

文件/usr/lib/python2.2/site-packages/rhpl/keyboard_models.py 也包含这个列表而且是rhpl 软件包的一部分.

lang(必需)

设置在安装过程中使用的语言以及系统的缺省语言.例如,要把语言设置为英语,kickstart文件应该包含下面的一行:

lang en_US

文件/usr/share/system-config-language/locale-list里每一行的第一个字段提供了一个有效语言代码的列表,它是system-config-language软件包的一部分.

文本模式的安装过程不支持某些语言(主要是中文,日语,韩文和印度的语言).如果用lang命令指定这些语言中的一种,安装过程仍然会使用英语,但是系统会缺省使用指定的语言.

langsupport(不赞成)

langsupport关键字已经被取消而且使用它将导致屏幕出现错误信息及终止安装.作为代替,应该在kickstart文件里的%packages 部分列出所支持的语言的支持软件包组.例如,要支持法语,应该把下面的语句加入到

%packages:

@french-support

logvol(可选)

使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:

logvol --vgname= --size= --name=

这些选项如下所示:

--noformat,使用一个现存的逻辑卷,不进行格式化.

--useexisting,使用一个现存的逻辑卷,重新格式化它.

--fstype=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.

--fsoptions=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.

--bytes-per-inode=,指定在逻辑卷上创建的文件系统的节点的大小.因为并不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.

--grow=,告诉逻辑卷使用所有可用空间(若有),或使用设置的最大值.

--maxsize=,当逻辑卷被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.

--recommended=,自动决定逻辑卷的大小.

--percent=,用卷组里可用空间的百分比来指定逻辑卷的大小.

首先创建分区,然后创建逻辑卷组,再创建逻辑卷.

例如:

part pv.01 --size 3000

volgroup myvg pv.01

logvol / --vgname=myvg --size=2000 --name=rootvol

logging(可选)

这个命令控制安装过程中anaconda的错误日志.它对安装好的系统没有影响.

--host=,发送日志信息到给定的远程主机,这个主机必须运行配置为可接受远程日志的syslogd进程.

--port=,如果远程的syslogd进程没有使用缺省端口,这个选项必须被指定.

--level=,debug,info,warning,error或critical中的一个.

指定tty3上显示的信息的最小级别.然而,无论这个级别怎么设置,所有的信息仍将发送到日志文件.

mediacheck(可选)

如果指定的话,anaconda将在安装介质上运行mediacheck.这个命令只适用于交互式的安装,所以缺省是禁用的.

monitor(可选)

如果monitor命令没有指定,anaconda将使用X来自动检测的显示器设置.请在手工配置显示器之前尝试这个命令.

--hsync=,指定显示器的水平频率.

--vsync=,指定显示器的垂直频率.

--monitor=,使用指定的显示器;显示器的名字应该在hwdata软件包里的/usr/share/hwdata/MonitorsDB列表上.这个显示器的列表也可以在Kickstart Configurator的X 配置屏幕上找到.如果提供了--hsync或--vsync,它将被忽略.如果没有提供显示器信息,安装程序将自动探测显示器.

--noprobe=,不要试图探测显示器.

mouse(已取消)

mouse 关键字已经被取消,使用它将导致屏幕出现错误信息并终止安装.

network(可选)

为系统配置网络信息.如果kickstart安装不要求联网(换句话说,不从NFS,HTTP或FTP安装),就不需要为系统配置网络.如果安装要求联网而kickstart文件里没有提供网络信息,安装程序会假定从eth0通过动态IP地址(BOOTP/DHCP)来安装,并配置安装完的系统动态决定IP地址.network选项为通过网络的kickstart安装以及所安装的系统配置联网信息.

--bootproto=,dhcp,bootp或static中的一种,缺省值是dhcp.bootp和dhcp被认为是相同的.

static方法要求在kickstart文件里输入所有的网络信息.顾名思义,这些信息是静态的且在安装过程中和安装后所有.静态网络的设置行更为复杂,因为必须包括所有的网络配置信息.必须指定IP地址,网络,网关和命名服务器.

例如("\"表示连续的行):

network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 \

--gateway=10.0.2.254 --nameserver=10.0.2.1

如果使用静态方法,请注意以下两个限制:

所有静态联网配置信息都必须在一行上指定,不能使用反斜线来换行.

在这里只能够指定一个命名服务器.然而,如果需要的话,可以使用kickstart文件的%post段落来添加更多的命名服务器.

--device=,用来选择用于安装的特定的以太设备.注意,除非kickstart文件是一个本地文件(如ks=floppy),否则--device=的使用是无效的.这是因为安装程序会配置网络来寻找kickstart文件.

例如: network --bootproto=dhcp --device=eth0

--ip=,要安装的机器的IP地址.

--gateway=,IP地址格式的默认网关.

--nameserver=,主名称服务器,IP地址格式.

--nodns,不要配置任何DNS 服务器.

--netmask=,安装的系统的子网掩码.

--hostname=,安装的系统的主机名.

--ethtool=,指定传给ethtool程序的网络设备的其他底层设置.

--essid=,无线网络的网络ID.

--wepkey=,无线网络的加密密钥.

--onboot=,是否在引导时启用该设备.

--class=,DHCP类型.

--mtu=,该设备的MTU.

--noipv4=,禁用此设备的IPv4.

--noipv6=,禁用此设备的IPv6.

multipath(可选)

multipath --name= --device= --rule=

part或partition(对于安装是必需的,升级可忽略).

在系统上创建分区.

如果不同分区里有多个红帽企业Linux系统,安装程序会提示用户升级哪个系统.

警告:作为安装过程的一部分,所有被创建的分区都会被格式化,除非使用了--noformat和--onpart.

,是分区的挂载点,它必须是下列形式中的一种:

/,例如,/,/usr,/home

swap,该分区被用作交换空间,要自动决定交换分区的大小,使用--recommended选项.

swap --recommended

自动生成的交换分区的最小值大于系统内存的数量,但小于系统内存的两倍.

raid.,该分区用于software RAID(参考raid).

pv.,该分区用于LVM(参考logvol).

--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB.

--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值.

--maxsize=,当分区被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.

--noformat,用--onpart命令来告诉安装程序不要格式化分区.

--onpart=或--usepart=,把分区放在已存在的设备上.

例如:partition /home --onpart=hda1,把/home置于必须已经存在的/dev/hda1上.

--ondisk=或--ondrive=,强迫分区在指定磁盘上创建.

例如:--ondisk=sdb把分区置于系统的第二个SCSI磁盘上.

--asprimary,强迫把分区分配为主分区,否则提示分区失败.

--type=(用fstype代替),这个选项不再可用了.应该使用fstype.

--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat.

--start=,指定分区的起始柱面,它要求用--ondisk=或ondrive=指定驱动器.它也要求用--end=指定结束柱面或用--size=指定分区大小.

--end=,指定分区的结束柱面.它要求用--start=指定起始柱面.

--bytes-per-inode=,指定此分区上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.

--recommended,自动决定分区的大小.

--onbiosdisk,强迫在BIOS 找到的特定磁盘上创建分区.

注:如果因为某种原因分区失败了,虚拟终端3上会显示诊断信息.

poweroff(可选)

在安装成功后关闭系统并断电.通常,在手工安装过程中,anaconda会显示一条信息并等待用户按任意键来重新启动系统.在kickstart的安装过程中,如果没有指定完成方法,将使用缺省的reboot选项.

raid(可选)

组成软件RAID设备.该命令的格式是:

raid --level= --device=

,RAID文件系统被挂载的位置.如果是/,除非已经有引导分区存在(/boot),RAID级别必须是1.如果已经有引导分区,/boot分区必须是级别1且根分区(/)可以是任何可用的类型.(这表示可以有多个分区)列出了加入到RAID阵列的RAID 标识符.

--level=,要使用的RAID级别(0,1,或5).

--device=,要使用的RAID设备的名称(如md0或md1).RAID设备的范围从md0直到md7,每个设备只能被使用一次.

--bytes-per-inode=,指定RAID设备上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以对于那些文件系统它都会被忽略.

--spares=,指定RAID阵列应该被指派N个备用驱动器.备用驱动器可以被用来在驱动器失败时重建阵列.

--fstype=,为RAID阵列设置文件系统类型.合法值有:ext2,ext3,swap和vfat.

--fsoptions=,指定当挂载文件系统时使用的free form字符串.这个字符串将被复制到系统的/etc/fstab文件里且应该用引号括起来.

--noformat,使用现存的RAID设备,不要格式化RAID阵列.

--useexisting,使用现存的RAID设备,重新格式化它.

reboot(可选)

在成功完成安装(没有参数)后重新启动.通常,kickstart会显示信息并等待用户按任意键来重新启动系统.

repo(可选)

配置用于软件包安装来源的额外的yum库.可以指定多个repo行.

repo --name= [--baseline=| --mirrorlist=]

--name=,repo id.这个选项是必需的.

--baseurl=,库的URL.这里不支持yum repo配置文件里使用的变量.可以使用它或者--mirrorlist,亦或两者都不使用.

--mirrorlist=,指向库镜像的列表的URL.这里不支持yum repo配置文件里可能使用的变量.可以使用它或者--baseurl,亦或两者都不使用.

rootpw(必需)

把系统的根口令设置为参数.

rootpw [--iscrypted]

--iscrypted,如果该选项存在,口令就会假定已被加密.

selinux(可选)

在系统里设置SELinux状态.在anaconda里,SELinux缺省为enforcing.

selinux [--disabled|--enforcing|--permissive]

--enforcing,启用SELinux,实施缺省的targeted policy.

注:如果kickstart文件里没有selinux选项,SELinux将被启用并缺省设置为--enforcing.

--permissive,输出基于SELinux策略的警告,但实际上不执行这个策略.

--disabled,在系统里完全地禁用SELinux.

services(可选)

修改运行在缺省运行级别下的缺省的服务集.在disabled列表里列出的服务将在enabled列表里的服务启用之前被禁用.

--disabled,禁用用逗号隔开的列表里的服务.

--enabled,启用用逗号隔开的列表里的服务.

shutdown(可选)

在成功完成安装后关闭系统.在kickstart安装过程中,如果没有指定完成方法,将使用缺省的reboot选项.

skipx(可选)

如果存在,安装的系统上就不会配置X.

text(可选)

在文本模式下执行kickstart安装. kickstart安装默认在图形模式下安装.

timezone(可选)

把系统时区设置为,它可以是timeconfig列出的任何时区.

timezone [--utc]

--utc,如果存在,系统就会假定硬件时钟被设置为UTC(格林威治标准)时间.

upgrade(可选)

告诉系统升级现有的系统而不是安装一个全新的系统.必须指定cdrom,harddrive,nfs或url(对于FTP和HTTP而言)中的一个作为安装树的位置.详情请参考install.

user(可选)

在系统上创建新用户.

user --name= [--groups=] [--homedir=] [--password=] [--iscrypted] [--shell=] [--uid=]

--name=,提供用户的名字.这个选项是必需的.

--groups=,除了缺省的组以外,用户应该属于的用逗号隔开的组的列表.

--homedir=,用户的主目录.如果没有指定,缺省为/home/.

--password=,新用户的密码.如果没有指定,这个帐号将缺省被锁住.

--iscrypted=,所提供的密码是否已经加密?

--shell=,用户的登录shell.如果不提供,缺省为系统的缺省设置.

--uid=,用户的UID.如果未提供,缺省为下一个可用的非系统UID.

vnc(可选)

允许通过VNC远程地查看图形化的安装.文本模式的安装通常更喜欢使用这个方法,因为在文本模式下有某些大小和语言的限制.如果为no,这个命令将启动不需要密码的VNC服务器并打印出需要用来连接远程机器的命令.

vnc [--host=] [--port=] [--password=]

--host=,不启动VNC服务器,而是连接至给定主机上的VNC viewer进程.

--port=,提供远程VNC viewer进程侦听的端口.如果不提供,anaconda将使用VNC的缺省端口.

--password=,设置连接VNC会话必需的密码.这是可选的,但却是我们所推荐的选项.

volgroup(可选)

用来创建逻辑卷管理(LVM)组,其语法格式为:

volgroup

这些选项如下所示:

--noformat,使用一个现存的卷组,不要格式化它.

--useexisting,使用一个现存的卷组,重新格式化它.

--pesize=,设置物理分区(physical extent)的大小.

首先创建分区,然后创建逻辑卷组,再创建逻辑卷.例如:

xconfig(可选)

配置X Window 系统.如果没有指定这个选项且安装了X,用户必须在安装过程中手工配置X;如果最终系统里没有安装X,这个选项不应该被使用.

--driver,指定用于视频硬件的X 驱动.

--videoram=,指定显卡的显存数量.

--defaultdesktop=,指定GNOME或KDE作为缺省的桌面(假设已经通过%packages安装了GNOME或KDE桌面环境).

--startxonboot,在安装的系统上使用图形化登录.

--resolution=,指定安装的系统上X窗口系统的默认分辨率.有效值有:640x480,800x600,1024x768,1152x864, 1280x1024,1400x1050,1600x1200.请确定指定与视频卡和显示器兼容的分辨率.

--depth=,指定安装的系统上的X 窗口系统的默认色彩深度.有效值有:8,16,24,和32.请确定指定与视频卡和显示器兼容的色彩深度.

zerombr(可选)

如果指定了zerombr且yes是它的唯一参数,任何磁盘上的无效分区表都将被初始化.这会毁坏有无效分区表的磁盘上的所有内容.这个命令的格式应该如下:

zerombr yes

其它格式均无效.

zfcp(可选)

zfcp [--devnum=] [--fcplun=] [--scsiid=] [--scsilun=] [--wwpn=]

%include

使用%include/path/to/file命令可以把其他文件的内容包含在kickstart文件里,就好像这些内容出现在kickstart文件的%include命令后一样.

kickstart的软件包选择

在kickstart文件里使用%packages命令来列出想安装的软件包(仅用于全新安装,升级安装时不支持软件包指令).

可以指定单独的软件包名或是组,以及使用星号通配符.安装程序可以定义包含相关软件包的组.关于组的列表,请参考第一张红帽企业Linux光盘里的variant/repodata/comps-*.xml. 每个组都有一个编号,用户可见性的值,名字,描述和软件包列表.在软件包列表里,如果这个组被选择的话,组里的标记为"mandatory"的软件包就必须被安装;标记为"default"的软件包缺省被选择;而标记为"optional"的软件包必须被明确地选定才会被安装.

多数情况下,只需要列出想安装的组而不是单个的软件包.注意Core和Base组总是缺省被选择,所以并不需要在%packages部分指定它们.

这里是一个%packages 选择的示例:

%packages

@ X Window System

@ GNOME Desktop Environment

@ Graphical Internet

@ Sound and V ideo dhcp

如所看到的,组被指定了,每个占用一行,用@符号开头,后面是comps.xml文件里给出的组全名.组也可以用组的id指定,如gnome-desktop.不需要额外字符就可以指定单独的软件包(上例里的dhcp行就是一个单独的软件包).

%packages 指令也支持下面的选项:

--nobase,不要安装@Base 组.如果想创建一个很小的系统,可以使用这个选项.

--resolvedeps,选项已经被取消了.目前依赖关系可以自动地被解析.

--ignoredeps,选项已经被取消了.目前依赖关系可以自动地被解析.

--ignoremissing,忽略缺少的软件包或软件包组,而不是暂停安装来向用户询问是中止还是继续安装.

例如:%packages --ignoremissing

kickstart预安装脚本

可以在ks.cfg文件被解析后马上加入要运行的命令.这个部分必须处于kickstart文件的最后(在命令部分之后)而且必须用%pre命令开头.可以在%pre部分访问网络;然而,此时命名服务还未被配置,所以只能使用IP地址.

注:预安装脚本不在改换了的根环境(chroot)中运行.

--interpreter /usr/bin/python,允许指定不同的脚本语言,如Python.把/usr/bin/python替换成想使用的脚本语言.

kickstart安装后脚本

也可以加入在系统安装完毕后运行的命令.这部分内容必须在kickstart的最后而且用%post命令开头.它被用于实现某些功能,如安装其他的软件和配置其他的命名服务器.

注:如果用静态IP信息和命名服务器配置网络,可以在%post部分访问和解析IP地址.如果使用DHCP配置网络,当安装程序执行到%post部分时,/etc/resolv.conf文件还没有准备好.此时,可以访问网络,但是不能解析IP地址.因此,如果使用DHCP,必须在%post部分指定IP

地址.

注:post-install 脚本是在chroot 环境里运行的.因此,某些任务如从安装介质复制脚本或RPM将无法执行.

--nochroot,允许指定想在chroot环境之外运行的命令.

下例把/etc/resolv.conf文件复制到刚安装的文件系统里.

%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf --interpreter /usr/bin/python

允许指定不同的脚本语言,如Python.把/usr/bin/python替换成想使用的脚本语言.

开始kickstart安装

要开始kickstart安装,必须从制作的引导介质或红帽企业Linux光盘引导系统,并输入在引导提示下输入特殊的引导命令.如果ks命令行参数被传递给内核,安装程序将寻找kickstart文件.

第一张光盘和软盘

如果ks.cfg文件位于软盘的vfat或ext2文件系统里,而且从红帽企业Linux 光盘引导的话,也可以使用linux ks=floppy命令.

另外一个引导方法是,从红帽企业Linux光盘引导并使用软盘上的vfat或ext2文件系统里的kickstart文件.要实现这样的方法,在boot:提示下输入下面的命令:linux ks=hd:fd0:/ks.cfg

使用驱动程序盘

如果要使用带有kickstart的驱动盘,需要指定dd选项.

例如,从软盘引导并使用驱动盘,可以在boot:提示下输入命令linux ks=floppy dd

引导光盘

如果kickstart文件位于引导光盘上,把光盘插入机器,引导系统并在boot:提示下输入命令linux ks=cdrom:/ks.cfg

其它启动kickstart 安装的方法如下列举:

askmethod,如果我们没有在的光驱里检测到红帽企业Linux光盘的话,请不要自动地把光盘作为安装来源.

autostep,使kickstart成为非交互式的.

debug,马上启动pdb.

dd,使用驱动盘.

dhcpclass=,发送自定义的DHCP vendor class identifier.ISC的dhcpcd可以用"option vendor-class-identifier"来查看这个值.

dns=,用逗号隔开的用于网络安装的命名服务器列表.

driverdisk,和'dd'相同.

expert,启用特殊的功能,允许对可移除介质(removable media)进行分区和提示驱动盘

gateway=,用于网络安装的网关.

graphical,强制图形化安装.ftp/http 安装模式时必须使用图形化界面.

isa,提示用户输入ISA设备配置.

ip=,用于网络安装的IP地址,对于DHCP使用'dhcp'.

keymap=,使用的键盘格式.有效值是那些可以用于'keyboard' kickstart命令的值.

ks=nfs::/,安装程序在NFS服务器上的里寻找kickstart文件.安装程序使用DHCP来配置以太网卡.例如,如果的NFS服务器是https://www.docsj.com/doc/a713124486.html,且kickstart文件是NFS共享目录的里/mydir/ks.cfg,正确的引导命令应该是ks=nfs:https://www.docsj.com/doc/a713124486.html,:/mydir/ks.cfg.

ks=http:///,安装程序在HTTP服务器上的里寻找kickstart文件.安装程序使用DHCP来配置以太网卡.例如,如果的HTTP服务器是https://www.docsj.com/doc/a713124486.html,且kickstart文件是HTTP目录的里/mydir/ks.cfg,正确的引导命令应该是ks=https://www.docsj.com/doc/a713124486.html,/mydir/ks.cfg.

ks=floppy,安装程序在/dev/fd0里的软盘上的vfat或ext2文件系统里寻找ks.cfg文件.

ks=floppy:/,安装程序在/dev/fd0里的软盘上以寻找kickstart 文件.

ks=hd::/,安装程序把文件系统挂载在(必须是vfat 或ext2),而且在该文件系统里以来寻找kickstart 文件,如ks=hd:sda3:/mydir/ks.cfg.

ks=file:/,安装程序试图从文件系统里读取;并没有挂载任何文件.如果kickstart文件已经在initrd映像里时我们通常使用这个方法.

ks=cdrom:/,安装程序以在光盘上寻找kickstart文件.

ks,如果单独使用ks,安装程序将配置以太网卡使用DHCP.kickstart文件从DHCP应答的"bootServer"里读取,就像是NFS服务器共享kickstart文件一样.在缺省情况下,bootServer与DHCP服务器是同一个.kickstart文件的名字是下列之一:

如果指定了DHCP且引导文件以/开头,DHCP提供的引导文件将在NFS服务器上寻找.

如果指定了DHCP且引导文件不以/开头,DHCP提供的引导文件将在NFS服务器的/kickstart目录里寻找.

如果DHCP没有指定引导文件,安装程序将试图读取/kickstart/1.2.3.4-kickstart,这里的1.2.3.4是被安装的机器的数字化IP地址.

ksdevice=,安装程序使用这个网络设备来连接网络.如要使用通过eth1设备连接至系统的NFS服务器上的kickstart文件来启动kickstart安装,可以在boot:提示下使用ks=nfs::/ ksdevice=eth1命令.

kssendmac,把HTTP头加到对设置系统有帮助的ks=http://请求里.在CGI 环境变量里包括所有网卡的MAC地址,如:"X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab".

lang=,安装时使用的语言.这应该是'lang' kickstart命令可以使用的有效语言之一.

loglevel=,设置记录日志信息的最低级别.的值可以是debug,info,warning,error和critical.缺省值是info.

lowres,强制图形用户界面安装程序运行在640x480分辨率下.

mediacheck,激活加载者代码,可以允许用户选择测试安装介质(如果是基于ISO的方法)的完整性.

method=cdrom,执行基于光盘的安装.

method=ftp://,使用来进行FTP安装.

method=hd:///,用上的进行基于硬盘驱动器的安

装.

method=http://,用来进行基于HTTP的安装.

method=nfs:,用来进行NFS安装.

netmask=,用于网络安装的掩码.

nofallback,如果图形化用户界面退出时失败.

nofb,不要载入某些语言进行文本安装时所需要的VGA16 帧缓冲.

nofirewire,不要装载对防火墙设备的支持.

noipv6,在安装过程中禁用IPv6 网络.

nokill,当发生致命错误时,阻止anaconda终止所有运行程序的调试选项.

nomount,不要在救援模式下自动挂载任何已安装的Linux分区.

nonet,不要自动探测网络设备.

noparport,不要试图装载对并行端口的支持.

nopass,不要把键盘和鼠标信息传递给安装程序的第二阶段.当执行网络安装时,它可以用来在安装的第二阶段测试鼠标和键盘配置屏幕.

nopcmcia,忽略系统上的任何PCMCIA控制器.

noprobe,提示用户输入而不要试图检测硬件.

noshell,安装过程中tty2上不要出现shell.

nostorage,不要自动探测存储设备(SCSI,IDE,RAID).

nousb,不要装载USB支持(如果安装过程在早些时候挂起,这会有帮助).

nousbstorage,不要在安装程序的载入程序中禁止载入usbstorage模块.它对SCSI系统上的设备排序可能有帮助.

rescue,运行救援环境.

resolution=,在指定模式下运行安装程序,如'1024x768'模式.

serial,启用串行控制台支持.

skipddc,跳过对显示器的DDC探测,如果系统被挂起的这可能有帮助.

syslog=[:],一旦安装过程被启动并运行,发送日志信息到的可选端口上的syslog进程.这要求远程syslog进程接受连接(-r 选项).

text,强制文本模式的安装.

updates,提示包含更新(bug修复)的软盘.

updates=ftp://,基于FTP的包含更新的映像文件.

updates=http://,基于HTTP的包含更新的映像文件.

upgradeany,不需要符合升级所期望的语法的/etc/redhat-release.

vnc,启用基于vnc的安装.将需要连接到使用vnc客户端程序的机器.

vncconnect=[:],一旦安装过程开始启动并运行,连接到上的vnc客户端,也可以使用可选端口.也要求'vnc' 选项被指定.

vncpassword=,启用vnc连接的密码.这将阻止其他人无意地连接到基于vnc的安装上.也要求'vnc'选项被指定.

一个简单完整的实例

install

cdrom

key 2515dd4e215225dd

lang en_US.UTF-8

keyboard us

xconfig --startxonboot

network --device eth0 --bootproto static --ip 192.168.100.8 --netmask 255.255.255.0 --gateway 192.168.100.2 --nameserver 122.70.138.10 --hostname https://www.docsj.com/doc/a713124486.html,

rootpw --iscrypted $1$BPHqwNav$CjjfBezv5OuecU3rNkdDb/

firewall --enabled --port=22:tcp

authconfig --enableshadow --enablemd5

selinux --enforcing

timezone Asia/Chongqing

bootloader --location=mbr --driveorder=sda --append="rhgb quiet"

clearpart --drives=sda,sdb,sdc,sdd --initlabel

part /boot --fstype ext3 --size=100 --ondrive=sda

part / --fstype ext3 --size=4000 --ondrive=sda

part swap --size=512 --ondrive=sda

part raid.11 --size=1 --grow --asprimary --ondrive=sdb

part raid.21 --size=1 --grow --asprimary --ondrive=sdc

part raid.31 --size=1 --grow --asprimary --ondrive=sdd

raid pv.01 --device=md0 --level=RAID5 raid.11 raid.21 raid.31

volgroup vgname pv.01

logvol /home --fstype=ext3 --vgname=vgname --size=4000 --name=home

%packages

@gnome-desktop

@core

@base-x

@chinese-support

xorg-x11-utils

xorg-x11-server-Xnest

Linux服务器配置与管理实验报告1

实验一安装Linux操作系统 【实验目的】 了解Linux操作系统的发行版本;掌握Linux系统安装方法;掌握网络配置和网络环境测试。 【实验内容】 1.Vmware Workstation 6.0下创建Red Hat Linux虚拟机,要求虚拟机的内存为256MB或更大,硬盘为8GB或更大。 2.使用RHEL 5的ISO文件安装Linux系统。 【实验步骤】 1.硬盘和分区知识以及Linux文件系统的组织方式 (1)硬盘和分区知识 磁盘有IDE接口和SCSI接口两种。 磁盘在使用前需分区。磁盘分区有主分区、扩展分区和逻辑分区之分。一块硬盘可以有4个主分区,其中一个主分区的位置可以有一个扩展分区替换,即可以有3个主分区和一个扩展分区,且一块硬盘只能有一个扩展分区,在这个扩展分区中可以划分多个逻辑分区。(2)Linux如何表示分区 在Windows系统中使用盘符来标识不同的分区,而在linux下使用分区的设备名来标识不同的分区,设备名存放在/dev目录中。 磁盘设备名称如下: ●系统的第1块IDE接口的硬盘称为/dev/hda ●系统的第2块IDE接口的硬盘称为/dev/hdb ●系统的第1块SCSI接口的硬盘称为/dev/sda ●系统的第2块SCSI接口的硬盘称为/dev/sdb 分区使用数字编号表示: ●系统的第1块IDE接口硬盘的第1个分区称为/dev/hda1 ●系统的第1块IDE接口硬盘的第5个分区称为/dev/hda5 ●系统的第2块SCSI接口硬盘的第1个分区称为/dev/sdb1 ●系统的第2块SCSI接口硬盘的第5个分区称为/dev/sdb5 注意:数字编号1-4留给主分区或扩展分区使用,逻辑分区编号从5开始。 (3)Linux文件系统文件系统的组织方式------挂载点 Linux系统只有一个根目录,即只有一个目录树。不同磁盘的不同分区只是这个目录树的一部分,在linux中创建文件系统后(类似format),用户不能直接使用它,要挂载文件系统后才能使用。挂载文件系统首先要选择一个挂载点。 2.利用VMware Workstation 6.0 创建一台新的虚拟机

理解linux的配置文件

本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前 Red Hat Linux 系统中的配置文件进行了分类。 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 引导和登录/注销 /etc/issue & /etc/https://www.docsj.com/doc/a713124486.html, 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过telnet 会话(https://www.docsj.com/doc/a713124486.html,)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。 /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。 /etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令: init 5 。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 /etc/rc.d/rc/rcX.d 从 rc 运行的脚本( X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,

Linux 主配置文件httpd.conf

Linux 主配置文件httpd.conf httpd.conf是最核心的配置文件,位于/etc/httpd/目录下。像大多数的服务一样,几乎绝大部分的设置都需要通过修改该配置文件来完成。Apache的主配置文件的内容有900多行,不过不用担心,因为绝大部分的内容是注释信息,而且注释内容相当丰富,用户完全可以通过注释来了解Apache的功能、语法以及使用。 对Apache服务器的配置,主要方式就是对httpd.conf配置文件的修改。该文件是Apache服务器主要配置文件,包含各种影响服务器运行的配置选项,只有对这些配置信息进行理解,才能真正的掌握Apache服务器的配置。 用户可以在终端中,输入vi /etc/httpd/conf/httpd.conf命令,并按,打开该配置文件,如图38所示。 图38 主配置文件注释内容 该主配置文件的注释内容,告诉用户一些基本信息,用户可以通过https://www.docsj.com/doc/a713124486.html,/docs/2.2/网站来查看该配置文件的更多细节。该配置文件主要有3个基本的配置项:第一个是Global Environment(全局环境配置),第二个是Main server configuration(主服务配置),第三个是Virtual Hosts(虚拟主机配置)。 每部分都有相应的配置选项,该文件所有配置选项的语法为“配置选项名称参数值”的形式,配置选项可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。 httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号,表示注释。 Global Environment(全局环境配置)该配置段中的各配置选项用于控制Apache服务器作为一个服务器作为一个整体来运行。

linux相关的网络配置文件详解

linux 网络相关配置文件详解 在linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作。系统中重要的有关网络配置文件为: ◆/etc/sysconfig/network ◆/etc/HOSTNAME ◆/etc/hosts ◆/etc/services ◆/etc/host.conf ◆/etc/nsswitch.conf ◆/etc/resolv.conf ◆/etc/rc.d/init.d/network 接下来我们将对这些文件逐一讲述,这些文件都可以在系统运行时进行修改,不用启动或者停止任何守护程序,更改会立刻生效(除了/etc/sysconfig/network)。另外,这些文件都支持由"#"开头的注释,每一个文件都有在UNIX手册页中的第5部分中有一项,可以用man命令来获取它们。 ◆/etc/sysconfig/network 网络设置 该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件: NETWORKING=yes HOSTNAME=machine1 GATEWAY=210.34.6.2 FORWARD_IPV4=yes GATEWAYDEV= 其中,NETWORK=yes/no 表示网络是否被配置; HOSTNAME=hostname hostname 表示服务器的主机名; GATEWAY=gw-ip gw-ip 表示网络网关的IP地址; FORWARD_IPV4=yes/no 是否开启IP转发功能; GAREWAYDEV=gw-dev gw-dw 表示网关的设备名,如:eth0等; 为了和老的一些软件相兼容,"/etc/HOSTNAME"文件应该用和HOSTNAME=hostname相同的主机名。 ◆/etc/HOSTNAME 主机名 该文件包含了系统的主机名称,包括完全的域名,如: 192.168.0.1 machine1.domain machine1

linux所有配置文件详解

/etc/resolv.conf 文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名 /etc/resolv.conf的一个示例: domain https://www.docsj.com/doc/a713124486.html, search https://www.docsj.com/doc/a713124486.html, https://www.docsj.com/doc/a713124486.html, nameserver 202.96.128.86 nameserver 202.96.128.166 参数说明: nameserver表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver。 domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。 search它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。 Sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。 最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。 host.conf 功能:解析器查询顺序配置文件 /etc/host.conf”示例: order bind,hosts,nis multi on nospoof on 参数说明: 1)order 指定主机名查询顺序, 分别代表DNS、/etc/hosts 和NIS 2)multi 指定是否"/etc/hosts"文件中指定的主机可以有多个地址,值为on 表示允许,拥有多个IP 地址的主机一般称为具有多个网络界面。 3)nospoof 指是否允许对该服务器进行IP 地址欺骗值,为on 表示不允许,IP 欺骗是一种攻击系统安全的手段,通过把IP 地址伪装成别的计算机,来取得其它计算机的信任。 4)"alert" 当nospoof 指令为on 时,alert 控制欺骗的企图是否用syslog 工具进行记录,值为on 表示使用,缺省值为off。 5)rccorder" 如果被设置为on,所有的查询将被重新排序,所以在同一子网中的主机将首选被返回,缺省值为off。

linux学习思路

linux学习计划 二、如何学习linux Linux操作系统主要就是一些配置文件(/etc)和命令行工具(/bin /sbin /usr/bin /usr/sbin),要掌握操作系统的主要目录结构和配置文件,运用系统的命令行工具(shell 脚本)完成常规的操作系统维护工作,监控工作。进而可以安装部署一些企业应用,进行监控、管理等等。 1.重要的命令:find,sed,awk,正则…… 2.工具:gnu下的著名软件gcc,gdb,vi,make…… 3.unix编程,编译等。xwin开发方式,gtk,qt…… 4.文件系统,/dev下的设备(会用),/var下重要的东西,/etc 下的配置(常用服务配置apache, ftpd, sshd, xinetd, squid, natd, named),系统启动顺序,配置相应服务等…… 5.c,python,php等高级语言…… 三、个人水平定位 1.初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置,能看懂并可修改系统提供的配置脚本(/etc/*.*)。推荐书籍: 《鸟哥的私房菜基础篇、高级篇》 《Advanced Bash Shell》 2.中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。推荐书籍: 《The C Programming Language》 《Unix环境高级编程》 《Linux程序设计》 《TCP/IP协议详解卷一》 《Unix网络高级编程》 3.高级:内核,驱动级别。推荐书籍: 《Linux Device Driver》 《深入理解Linux内核》 《深入理解计算机系统》 《深入理解LINUX网络内幕》 四、学习途径 1.Help System 帮助文档(man) 2.online books 在线文档(wiki ,blogs)

LINUX下MYSQL配置文件详解

linux下mysql配置文件https://www.docsj.com/doc/a713124486.html,f详解【转】 basedir=path使用给定目录作为根目录(安装目录)。character-sets-dir=path给出存放着字符集的目录。 datadir=path从给定目录读取数据库文件。 pid-file=filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统);Init-V脚本需要使用这个文件里的进程ID 结束mysqld进程。 socket=filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统;默认设置一般是 /var/lib/mysql/mysql.sock文件)。在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信的,–sock选项给出的将是该命名管道的名字(默认设置是MySQL)。 lower_case_table_name =1/0新目录和数据表的名字是否只允许使用小写字母;这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。 mysqld程序:语言设置 character-sets-server= name 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用–default-character-set选项给出;但这个选项已经显得有点过时了。 collation-server=name新数据库或数据表的默认排序方式。lanuage=name用指定的语言显示出错信息。 mysqld程序:通信、网络、信息安全 enable-named-pipes 允许Windows2000/XP环境下的客户和服务器使用命名管道(named pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用–socket选项来改变。 local-infile[=0]允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。

linux常用服务器配置

Linux常用服务器配置 文件修改记录表 版权声明和保密须知 本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属江苏金智教育信息技术有限公司所有,受到有关产权及版权法保护。任何单位和个人未经江苏金智教育信息技术有限公司的书面授权许可,不得复制或引用本文件的任何片断,无论通过电子形式或非电子形式。 Copyright 2011 江苏金智教育信息技术有限公司版权所有

目录目录

说明 文档目的 为了能够让部门工程师在以后的部署实施过程中熟悉linux下常用的业务配置,遂整理此文档。 本文详细列出了在常见环境中Linux下常用业务配置;并对具体业务进行了分析和配置示例,希望大家在以后的部署中能够严格去执行此规范。 规范文档中,尚有欠妥之处。请各位实施部署工程师及时指正! 文档适用范围 本文档使用江苏金智教育信息技术有限公司所有项目范围(含北京分公司、上海分公司、福建区域) 文档约定 XXX字符标示着根据现场实际情况来填写 红色加粗标示着必须严格按照要求填写

1NFS服务的配置 1.1NFS服务的简介 NFS(Network File Service)的设计是为了在不同的unix系统间进行档案共享。当使用者想用远端档案时只要用“mount”就可把remote文件系统挂接在自己的文件系统之下,使得远端的文件使用上和local机器的档案没两样。其目的就是让不同unix操作系统之间可以彼此共享文件。 NFS服务器的常用功能:1、可以把服务器的文件象本地一样的操作,很方便;2、NFS 服务器对系统资源占用也少;3、NFS可以支持很多其他服务,比如kickstart(kickstart是无人值守,网络批量安装服务),NIS等等。 NFS服务建立在RPC(远程过程调用)协议上的服务,使用时需要先打开portmap(端口映射)服务进程。因为本身NFS服务的功能非常多,所以通常该服务开启的端口是随机的,当NFS需要使用某个功能时,我们通常是将开启的请求发送给RPC协议上的portmap 进程,做一个端口开启与映射工作。 作为一名运维工程师,对于NFS服务的配置一定要非常的熟悉。NFS服务也是类unix 平台下最基本的常用业务。 1.2NFS服务侧写 1)NFS 服务的进程通常有:nfsd,nfslockd,rpciod,,, 2)服务启动脚本:/etc/portmap, /etc/nfs 3)使用端口:111(portmap进程的端口,通常只有这一个是固定使用端口) 4)所需RPM包:nfs-utils 5)相关RPM包:portmap(必需) 6)配置文件:/etc/exports 1.3NFS服务端的配置 通常来说,NFS服务端的配置主要是基于/etc/exports文件的编辑。初始状态下,/etc/exports文件为空。文件中的每一行,表示一个开放的目录,并记录着它开放权限。每一行中都分为三列关系:第一列,写入你需要共享的目录路径;第二列写入客户端描述,也就是哪些客户端可以使用你的服务器共享的资源;第三列是紧挨着第二列的,内容是共享信息开放的权限。具体配置实例如下:

Linux内核配置编译与文件系统构建要点

Linux内核配置编译与文件系统构建 南京大学 黄开成101180046 2012.11.11 一:实验目的 1.了解嵌入式系统的开发环境,内核与文件系统的下载和启动; 2.了解Linux内核源代码的目录结构及各自目录的相关内容,了解Linux内核各配置选项内容和作用,掌握Linux内核的编译过程; 3.了解嵌入式操作系统中文件系统的类型和应用、了解JFFS2文件系统的优点及其在嵌入式系统中的作用、掌握利用Busybox软件制作嵌入式文件系统的方法,并且掌握嵌入式Linux文件系统的挂载过程。二:实验环境说明 1.PC机使用openSUSE 14 Enterprise 系统。 2.开发板使用深圳市武耀博德信息技术有限公司生产的基于Inter 的PXA270处理器的多功能嵌入式开发平台EELIOD。 3.PC机通过RS-232串口与开发板相连,在PC机终端上运行minicom 程序构造一个开发板上的终端,用于对开发板的控制。 4.PC机与开发板通过ethernet网络相连接,并可在开发板上通过加载网络文件系统(NFS)与PC机通信。 5.Bootloader可以通过tftp协议从PC机上下载内核镜像和根文件系统镜像。下载目录为/tftpboot 。 6.用于开发板的Linux内核源码为linux-2.4.21-51Board_EDR,

busybox版本为busybox-1.00-pre5。 7.交叉编译器的路径为/usr/local/arm-linux/bin/arm-linux。 三:实验操作过程和分析记录 1.嵌入式系统的开发环境和开发流程: 1.1启动minicom和开发板 在PC机上打开一个终端,输入: >minicom 按Ctrl+A-o进入minicom的configuration界面。对串行通信接口进行配置,串口设置为:/dev/ttyS0(串口线接在PC机的串口1上)、bps=115200、8位数据、无校验、无流控制。 然后打开开发板电源,看到屏幕有反应之后,按任意键进入配置界面,如果长时间没有按下任何键,bootloader将会自动从flash中读取内核和根文件系统并启动开发板上的Linux系统。 分析:嵌入式系统中,通常并没有像PC机中BIOS 那样的固件程序,因此整个系统的加载启动任务完全由bootloader来完成。bootloader的主要作用是:初始化硬件设备;建立内存空间的映射图;完成内核的加载,为内核设置启动参数。 按0进入命令行模式,出现51board>,可以设置开发板和PC机的IP 地址: 51board> set myipaddr 192.168.208.133(设置开发板的IP地址) 51board> set destipaddr 192.168.208.33(设置PC机的IP地址)注意IP地址的设置:使其处于同一网段,并且避免和其他系统的

Linux引导与配置文件加载过程

Linux引导及配置文件加载过程解读 文章分类:操作系统 ?? 本文包括3部分内容 1、 Linux的引导过程 2、 Linux 的运行级别 3、 /etc/inittab与/etc/rc.d/ 与/etc/rc.d/init.d的关系 关键词:Linux引导过程、运行级别、inittab与 init.d 与 rc.d 一、 Linux的引导过程 系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。 内核被加载到内存中之后,就开始执行我们的系统设置了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的用户级程序,完成引导进程。 二、运行级别(run level) Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init 进程上来首先做的事是去读取/etc/目录下 inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到 6 ,具有不同的功能。不同的运行级定义如下:# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动) # 1 - 单用户模式 # 2 - 多用户,没有 NFS # 3 - 完全多用户模式(标准的运行级) # 4 –系统保留的 # 5 - X11 (x window) # 6 - 重新启动(千万不要把initdefault 设置为6,否则将一直在重启) 三、 /etc/rc.d/与/etc/rc.d/init.d的关系 先解释一下init.d。这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动、停止、重启这些服务。 /etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行。程序运行到这里(init进程读取了运行级别),就开始有选择地启动服务了,这时刚才说的运行级别就起作用了。在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9的源码中它都是一上来就check_runlevel(),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在rc5.d下,但是放在这个rc5.d下的都是一些链接文

Linux配置文件详解

Linux配置文件详解 本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前Red Hat Linux 系统中的配置文件进行了分类。 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。 除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类: 访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网

要了解一个LINUX工程的结构必须看懂Makefile

要了解一个LINUX工程的结构必须看懂Makefile,尤其是顶层的,没办法,UNIX世界就是这么无奈,什么东西都用文档去管理、配置。首先在这方面我是个新手,时间所限只粗浅地看了一些Makefile规则。 以smdk_2410为例,顺序分析Makefile大致的流程及结构如下: 1) Makefile中定义了源码及生成的目标文件存放的目录,目标文件存放目录BUILD_DIR可以通过make O=dir 指定。如果没有指定,则设定为源码顶层目录。一般编译的时候不指定输出目录,则BUILD_DIR为空。其它目录变量定义如下: #OBJTREE和LNDIR为存放生成文件的目录,TOPDIR与SRCTREE为源码所在目录OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)) SRCTREE := $(CURDIR) TOPDIR := $(SRCTREE) LNDIR := $(OBJTREE) export TOPDIR SRCTREE OBJTREE 2)定义变量MKCONFIG:这个变量指向一个脚本,即顶层目录的mkconfig。 MKCONFIG := $(SRCTREE)/mkconfig export MKCONFIG 在编译U-BOOT之前,先要执行 # make smdk2410_config smdk2410_config是Makefile的一个目标,定义如下: smdk2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 unconfig: @rm -f $(obj)include/config.h $(obj)include/config.mk / $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp 显然,执行# make smdk2410_config时,先执行unconfig目标,注意不指定输出目标时,obj,src变量均为空,unconfig下面的命令清理上一次执行make

史上最全Linux配置文件介绍及VI编辑器的使用方法

一、/etc 配置文件 /etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密口令和用户的其他信息 /etc/group 类似/etc/passwd ,但说明的不是用户而是组。 /etc/inittab init 的配置文件 /etc/issue 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。 /etc/motd 成功登录后自动输出,内容由系统管理员确定,经常用于通告信息,如计划关时间的警告。 /etc/mtab 当前安装的文件系统列表。由scripts 初始化,并由mount 命令自动更新。需要一个当前 安装的文件系统的列表时使用,例如df 命令,当df –a 时,查看到的信息应和其一致。 /etc/shadow 在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的 加密口令移动到/etc/shadow 中,而后者只对root 可读。这使破译口令更困难。 /etc/login.defs login 命令的配置文件

/etc/profile , /etc/csh.login , /etc/csh.cshrc 登录或启动时Bourne 或C shells时执行的文件。这允许系统管理员为所有用户建立全局缺省环境 /etc/printcap 类似/etc/termcap ,但针对打印机。语法不同。 /etc/securetty 确认安全终端,即哪个终端允许root 登录。一般只列出虚拟控制台,这样就不可能 (至少很困难)通过modem 或网络闯入系统并得到超级用户特权。 /etc/shells 列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一 台机器FTP 服务的服务进程ftpd 检查用户shell 是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。 /etc/termcap终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样 只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列。这样,多数的 程序可以在多数终端上运行。 /etc/inputrc 输入设备配置文件

Linux2 编辑配置文件管理用户

Linux2 编辑配置文件管理用户 从前面的操作我们可以看到,无论是命令管理还是图形化的管理,都会把最后获得数据保存在/etc目录下的passwd和shadow两个文件中,Linux系统正是靠这些文件来实现对用户的管理。这些配置文件都是文本文件,root用户可以直接编辑这些文件来配置相应的用户账户。 1.用户账户配置文件/etc/passwd passwd文件中保存的是用户账户的基本信息。由于所有用户对passwd只有读的权限,该文件中实际上并不保存用户账户的密码。在该文件中,每一行表示一个用户账户,一行中有7个字段属性,分别表示不同的含义,每个字段间用“:“,隔开。若某字段为空,该”:“不可以省略,必须占位。用tail命令查看passwd文件内容,如下 7个字段表示含义如下: ●用户账户名:用户登录的时候使用的名字,如uesr2 ●用户密码:在这里我们发现,密码全部是x表示,真正的密码保存在 /etc/shadow文件中 ●用户账户标识码(UID):是系统中用来惟一标识用户的数字。Linux中UID 是从500 开始的,如user2的UID为502 ●用户组标识码(GID):是系统中用来惟一标识用户所属的用户组的数字, 用户组的相关信息保存在/etc/group 文件中 ●全名:用户账户的用户相关的描述信息,可能是用户全名 ●主目录:用户保存私有信息的目录,也是用户登录系统后的默认目录。通 常是放在/home目录的下面 ●shell:用户登录后所使用的shell,如用户账户user2使用的shell是/bin/bash ●我们从上面可以发现,最后两行都是普通用户(UID大于500),其他的用

正确理解Linux下的文件属性

转文:正确理解Linux下的文件属性 linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细信息: $ stat file1 file: `file1' size: 11904 blocks: 24 io block: 4096 regular file device: 301h/769d inode: 355982 links: 1 access: (0755/-rwxr-xr-x) uid: ( 503/ jack) gid: ( 503/ general) access: 2003-10-19 09:14:12.000000000 +0800 modify: 2003-10-14 20:41:21.000000000 +0800 change: 2003-10-19 18:56:25.000000000 +0800 $ lsattr file ----i--a----- file 可以看到,文件权限的含义是比较广的,先来看-rwxr-xr-x,第一位是文件的类型,它定义了用户只能某种方式来操作文件,后面九位是文件的存取控制信息,linux的文件许可机制将用户分为三类:文件属主u(user)、文件属组g(group)和其它用户o(other)。三类不同的用户可以对文件拥有三种不同级别的权限:读r(read)、写w(write)和运行x(execute)。于是形成了九位的权限信息,分为三组,分别对应u,g,o。除此之外,用户还可以设置setuid 与setgid位来改变程序的执行身份。用lsattr命令则可以看到文件的属性,控制位包括asacddiijsttu,这些也是能控制文件的存取的。 由于篇幅有限,不可能就这些一一进行分析,本文着力分析文件权限中w(write)的真正含义,挖出其背后隐藏的细节,力图使读者能正确用好这个关键的权限位,不至于在系统管理中出现差漏。 为了能更直观的说明问题,本文采用实验操作的方式,一步一步的进行分析。为了简化操作,我们用o(other)这组权限来做实验。实验中用到的权限位均属于o(other), 进行操作的用户均非root用户,属于o(other)。 在实验之前,必须澄清一个概念,目录也是一种文件,它主要包括了两方面的信息,该目录下文件的文件名称与文件inode编号,它们之间有一一对应的关系。不过目录文件比较特殊,不能用常规的方法进行读写,必须用系统的专用命令来操作。命令ls其实是对目录文件进行读操作,命令mv,rm则是对目录文件进行写操作。 好了,该说说w(write)的真正含义了,一句话,linux文件权限中的w是对该文件的*内容*进行限定。下面的实验可以验证。 实验1, 目录文件: /test(rwx), 普通文件: /test/file(r--). 当前目录:/test $ echo "abc">file bash: file: permission denied 试图对file的内容进行改写, 但file的权限是只读,很显然,操作失败。 $ cat file hello world! 没有问题, 可以读出file的内容。

Linux网络命令及配置文件 -

第九章Linux网络命令及配置文件 本章在读者掌握了网络基本知识的基础上对linux常用网络命令及主要配置文件做了详细的介绍。 9.1 linux常用网络命令 本节将着重介绍linux下的常用网络命令。如网卡设置命令ifconfig、netconfig。连接监听命令netstat。文件下载命令wget。设置某个服务在特定运行级别运行的命令chkconfig、ntsysv。域名解析命令nslookup、host、dig。 9.1.1 ifconfig命令 【命令功能】 添加、修改、显示临时性ip地址信息。通过ifconfig命令添加或修改ip地址。只是临时有效。当重启network服务或重启计算机系统时,用ifconfig创建的ip地址将无效。 【语法结构】 ifconfig [interface] ifconfig interface [aftype] options | address ... ifup/ifdown {接口} 【参数说明】 参数:如表9.1所示。 表9.1 ifconfig命令参数 【执行范例】 (1)显示所有网络设备接口信息。 # ifconfig –a (2)操作结果如下。 eth0 Link encap:Ethernet HWaddr 00:11:09:FB:1E:D3 inet addr:172.16.100.98 Bcast:172.16.100.255 Mask:255.255.255.0 inet6 addr: fe80::211:9ff:fefb:1ed3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:100063 errors:0 dropped:0 overruns:0 frame:0 TX packets:1836 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

Linux打开shell时读取配置文件的顺序

之前安装Linux的一些软件时,总要修改Linux的配置文件。当时也是一知半解。而且,网上有些安装教程,会说,修改配置文件后要重启Linux。但事实上是不需要重启的。 Linux安装时可能要修改的配置文件:/etc/profile、/etc/bashrc(ubuntu 没有这个文件,对应地,其有/etc/bash.bashrc文件。我用的是ubuntu系统,所以下面将一律使用/etc/bash.bashrc来叙述)、~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc。 我的ubuntu系统(版本为10.04)默认情况下,只有/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc这四个文件。其他文件可以创建。 现在来简单说一下这些配置文件。 这些文件的作用 这些文件的作用有很多,比如环境变量的设定、定制符合自己风格的shell、还可以设置缩写功能,那个ll命令是 ls –alF命令的缩写。 相信大家最关心这些文件在安装软件时候的作用。为什么要配置这些文件?配置后,要不要重启Linux才能使得生效。 要弄清这些问题。首先要知道打开一个终端或者打开一个新shell时(注意,两者是不同的。比如在终端里输入bash,会进入一个新shell。此时并没有打开新终端),会读取到哪些文件。 之所以是要配置这些文件,是因为这些软件要在环境变量中添加属于自己的信息,或者新建一个属于自己的环境变量(如安装JDK时要新建一个JAVA_HOME 环境变量)。系统会根据环境变量里的值,找到软件的一些文件的路径。

linux配置命令

linux常用命令 内部命令装完linux就有的命令就是内部命令 系统命令放在/bin or /sbin /sbin放置的是系统管理员可以使用的命令。 #ls - h 命令动词命令选项(option) login 让用户登录系统,通过它可以随时变换身份。exit 退出当前系统&shell reboot 重启命令 init6 重启命令 halt 关机含参数建议不使用对机器损耗大 halt -f -p 直接切断电源 poweroff 关机同shutdown init 0 unix 关机的命令 date 查看日期,时间 date 月日小时分年 pwd 查看当前目录 ~ 代表登录目录,谁登录就代表谁的登录目录。 根下root目录是系统管理员的登录目录。 $ 代表的是普通用户 # 代表的就系统管理员 clear 清屏(ctrl+l) ls 列出文件和目录的属性信息 绿色代表可执行文件 红色代表压缩文件 浅蓝代表链接文件 灰色代表其他文件 黄色代表设备文件 白色红背景代表链接失效 ls -F 加类别标识 ls -a 显示隐藏档案 ls -l 显示详细信息,此命令等同于ll ls -d 显示目录,又不是其内容。 ls -ld 查看目录本身的详细信息,又不显示目录中的内容。ls -h 以k、m、b的形式显示 ls -s 显示大小不一K M B形式显示 / 是目录表示符 linux没有扩展名概念 没有盘符的概念 linux中的文件类型 d 目录 s 套接字文件 l 符号链接(指向另一个文件) b 块设备文件。(代表磁盘和光盘)

c 字符设备文件 p 命令管道文件 - 普通文件 cd 更改当前 cd .. 返回上一级目录 cd / 直接返回根 rmdir 删除目录只能删除空目录 rm -r 直接删除 rm -rf 强制删除 mkdir 创建目录 mkdir -p 当建立子目录的时候,父目录不存在直接建立 whereis 在特定的目录中查找符合条件的文件 which 直找档案资料库,速度快。 在linux当中一切皆文件 cat 连续显示,查看文件的内容但不可修改 cat /root/install.log cat /root/install.log |more 分屏 cat -n /root/install.log 显示内容同时并加行号 cat -n/root/install.log |more 显示行号加分屏 cat install.log |grep “scim” grep“scim” install.log grep 在指定 grep 过滤出有用的行 grep “open”install.log 把在这个文件中带有open的行全部过滤出来 grep “^3”所有以三开头的文件被过滤出来 grep “3$”所有以三结尾的文件被过滤出来 more install.log打开文件并进行分屏显示 less 分页可查看文件内容,于more不同的是,他可以回滚按Q终止 ln -s /root/install.log /loo 给install在根下创建一个软连接。为谁创建必须是绝对路径 创建完了放在哪可以写绝对路径,也可以写相对路径。 wc (跟上所要查看的文件)显示档案的相关信息行数字数字节数档案名 head 查看一个文件的前10行默认前10 head -?查看?代表前几行 tail 查看一个文件的后10行默认后10 . tail -??代表后几行 linux组建文件结构 从根写起的路径叫做绝对路径 相对于当前位置所写起的路径叫做相对路径 touch(触摸)1 正常功能是更新文件的访问日期反向功能是当它没有触摸到这个文件的时候,就会创建一个文件(一般使用反方向来创建空文件) cp 原位置目标位置cp 1 test cp -R test test2 mv 原位置目标位置mv 1 test 在复制的时候不用加参数,在复制文件夹的时候要加上-Respectfully yours,

相关文档