linux配置文件是如何发挥作用的?
太具体的也不知道,根据我的经验。
其实配置文件的作用是设置程序执行必须要的一些参数,这些参数是由开发者预先定义好的,只能按照他预先定义的值去配置,如果有些值按你自己想法去写,程序就无法识别。
我们做实验经常会启动服务失败,大部分就是配置文件配置错误,程序无法识别你设定的值。
程序启动后会读取这个配置文件的配置(如果你把配置文件换到其他地方,肯定报错,找不到)。
如果是搞过软件开发的,可能会比较好回答你的问题。
...
linux中什么是配置文件。
配置文件又有什么作用。
求教大侠。
在此?
展开全部 以下是linux系统常见的重要目录以及各个目作用:/ 根目录。
包含了几乎所的文件目录。
相当于中央系统。
进入的最简单方法是:cd /。
/boot引导程序,内核等存放的目录。
这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。
在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux的虚拟文件系统,这是比较底层的东西来实现的。
然后内核自己创建好虚拟文件系统,并且从虚拟文件系统的其他子目录中(例如/sbin 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由用户自己在相应的目录中修改相应的文件来配制。
如果我们的机器中包含多个操作系统,那么可以通过修改这个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。
/sbin超级用户可以使用的命令的存放目录。
存放大多涉及系统管理的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令(但是时普通用户也可能会用到。
这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin等目录是相似的,我们要记住,凡是目录sbin中包含的都是root权限才能执行的,这样就行了。
后面会具体区分。
/bin普通用户可以使用的命令的存放目录。
系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等。
这个目录中的文件都是可执行的、普通用户都可以使用的命令。
作为基础系统所需要的最基础的命令就是放在这里。
/lib根目录下的所程序的共享库目录。
此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。
做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。
理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。
类似的目录还/usr/lib,/usr/local/lib等等。
/dev设备文件目录。
在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备。
设备文件可以使用mknod命令来创建,具体参见相应的命令;而为了将对这些设备文件的访问转化为对设备的访问,需要向相应的设备提供设备驱动模块(一般将设备驱动编译之后,生成的结果是一个*.ko类型的二进制文件,在内核启动之后,再通过insmod等命令加载相应的设备驱动之后,我们就可以通过设备文件来访问设备了。
一般来说,想要Linux系统支持某个设备,只要个东西:相应的硬件设备,支持硬件的驱动模块,以及相应的设备文件。
/home普通用户的家目录($HOME目录。
在Linux机器上,用户主目录通常直接或间接地置在此目录下。
其结构通常由本地机的管理员来决定。
通常而言,系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的名字为/home/quietheart。
该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),root用户除外(参见后面的/root目录。
由于这个目录包含了用户实际的数据,通常系统管理员为这个目录单独挂载一个独立的磁盘分区,这样这个目录的文件系统格式就可能和其他目录不一样了(尽管表面上看,这个目录还是属于根目录的一棵子树上),有利于数据的维护。
/root用户root的$HOME目录系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。
/etc全局的配置文件存放目录。
系统和程序一般都可以通过修改相应的配置文件,来进行配置。
例如,要配置系统开机的时候启动那些程序,配置某个程序启动的时候显示什么样的风格等等。
通常这些配置文件都集中存放在/etc目录中,所以想要配置什么东西的话,可以在/etc下面寻找我们可能需要修改的文件。
一些大型套件,如X11,在 /etc 下它们自己的子目录。
系统配置文件可以放在这里或在 /usr/etc。
不过所程序总是在 /etc 目录下查找所需的配置文件,你也可以将这些文件链接到目录 /usr/etc。
另外,还一个需要注意的常见现象就是,当某个程序在某个用户下运行的时候,可能会在该用户的家目录中生成一个配置文件(一般这个文件最开始就是/etc下相应配置文件的拷贝,存放相应于“当前用户”的配置,这样当前用户可以通过配置这个家目录的配置文件,来改变程序的行为,并且这个行为只是该用户特的。
原因就是:一般来说一个程序启动,如果需要读取一些配置文件的话,它会首先读取当前用户家目录的配置文件,如果存在就使用;如果不存在它就到/etc下读取全局的配置文件进而启动程序。
就是这个配置文件不自动生成,我们手动在自己的家目录中创建一个文件的话,也有许多程序会首先读取到这个家目录的文件并且以它的配置作为启动的选项(例如我们可以在家目录中创建vim程序的配置文件.vim...
列举linux系统中的四种主要网络配置文件,并说明其作用?
1./etc/sysconfig/networkNETWORKING=yes #表示网络是否被配置HOSTNAME=machine1 #表示服务器的主机名2./etc/sysconfig/network-scripts/ifcfg-eth0DEVICE= #物理设备名IPADDR= #IP地址NETMASK= #掩码值NETWORK= #网络地址BROADCAST= #广播地址GATEWAY= #网关地址ONBOOT= #[yes|no](引导时是否激活设备)USERCTL= #[yes|no](非root用户是否可以控制该设备)BOOTPROTO= #[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)HWADDR = #你的MAC地址3./etc/resolv.confnameserver #你的DNS4./etc/hosts127.0.0.1 机器名.AAA.com 机器名 localhost.localdomain localhost
怎么配置Linux日志文件?
不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件,用户可以通过日志文件检查错误产生的原因,或者在受到攻击、被入侵时追踪攻击者的踪迹。
日志的两个比较重要的作用是审核和监测。
配置好的Linux的日志非常强大。
对于Linux系统而言,所有的日志文件在/var/log下。
默认情况下,Linux的日志文件没有记录FTP的活动。
用户可以通过修改/etc/ftpacess让系统记录FTP的一切活动。
/etc/syslog.conf的格式可以看出,该配置文件的每一行的第一个字段列出要被记录的信息种类,第二个字段则列出被记录的位置。
第一个字段使用下面的格式:facility.level[;facility.level…] 此处的faciity是产生信息的系统应用程序或工具,level则是这个信息的重要程度。
level的重要程度由低到高依次是:debug(调试消息)、info(一般消息)、notice(值得注意的消息)、warning(警告)、err(一般性错误)、crit(严重错误)、alert(或emerg,紧急情况)。
facility包含有:auth(认证系统,如login或su,即询问用户名和口令)、cron(系统执行定时任务时发出的信息)、daemon(某些系统的守护程序的syslog,如由in.ftpd产生的log)、kern(内核的信息)、lpr(打印机的信息)、mail(处理邮件的守护进程发出的信息)、mark(定时发送消息的时标程序)、news(新闻组的守护进程的信息)、user(本地用户的应用程序的信息)、uucp(uucp子系统的信息)和“*”(表示所有可能的facility)。
将日志文件记录到远程主机 如果有另一个Linux或UNIX系统,那么可以配置日志文件,让其把消息发到另外一个系统并记录下来。
这也是为什么上面的所有日志文件都记录了主机名的原因。
要实现这个功能,在该配置文件中,指定一个记录动作,后面接一个由“@”开头的远程系统的主机名,如下例:*.warn;authpriv.notice;auth.notice @bright.hacker.com.cn 同时,还要将接受消息的目的系统设置为允许这种操作。
此例主机bright.hacker.com.cn的syslogd守护进程要用-r参数启动。
如果不使用-r参数,则目标主机的syslogd将丢弃这个消息以避免DoS攻击使硬盘塞满虚假消息。
并且确保目标主机的/etc/service文件必须设置syslog服务所使用的UDP端口514(这也是RedHat Linux默认的设置)。
如果syslogd守护进程用了-r和-h参数,那么,参数-h将允许转发消息。
也就是说,如果系统B的syslogd用了-h参数,这样,当系统A把消息转发到系统B后,系统B就把来自系统A和它自己的消息转发到系统C. 将警告信息发送到控制台 syslogd可以将任何从内核发出的重要程度为emerg或alert的信息发送到控制台
Linux内核根目录中的配置文件.config中包含了许多宏定义,
展开全部 一、Linux内核的配置系统由三个部分组成,分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in(2.4内核,2.6内核)):给用户提供配置选择的功能; 3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。
这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。
本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。
所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写 Makefile 和配置文件就可以。
二、Make menuconfig过程分析 1、scripts文件夹存放的是跟make menuconfig配置界面的图形绘制相关的文件,我们作为使用者无需关心这个文件夹的内容 2、读取arch/arch/$ARCH/Kconfig以及各子目录下的Kcondig文件,生成配置条目。
$ARCH由linux内核根目录下的makefile文件决定 ARCH ?= arm CROSS_COMPILE ?= arm-linux- Kconfig文件中为配置信息的宏定义,与我们在make menuconfig图形界面看到的信息一致。
例如: config CPU_S3C2410_DMA bool depends on S3C2410_DMA && (CPU_S3C2410 || CPU_S3C2442) default y if CPU_S3C2410 || CPU_S3C2442 help DMA device selection for S3C2410 and compatible CPUs 因此,Kconfig文件很重要的作用就是:定义配置宏、相关依赖关系、帮助信息 3、读取内核根目录下.config文件,生成配置选项:[*]编译进内核 [M]编译为模块 [ ]不编译 arch/arm/configs/文件夹下存放了一些配置模板 我们可以通过cp /arch/arm/configs/xx_defconfig .config来使用这些配置模板 通过图形界面变更配置选项会自动更新到.config文件中 make disclean 会删除.config 4、编译过程根据.config生成 Linux内核根目录下的 include/config/auto.conf文件 CONFIG_EEPROM_93CX6=m CONFIG_DM9000=y 根目录Makefile以及子目录的Makefile根据auto.conf生成编译条件 obj-$(CONFIG_DM9000) += dm9000.o //obj-m += dm9000.o 5、编译过程根据.config生成Linux内核根目录下的 include/linux/autoconf.h文件 .config 或 auto.conf 中定义要编译为 m 模块的项,如: CONFIG_DEBUG_NX_TEST=m 在 autoconf.h 中会被定义为: #define CONFIG_DEBUG_NX_TEST_MODULE 1 .config或auto.conf 中定义为编译为 y 的选项,如: CONFIG_DM9000= y 在 autoconf.h 中会被定义为: #define CONFIG_DM9000 1 autoconf.h中是.config或者auto.conf中配置信息的另一种体现形式,它是站在源码的角度,供源码使用的C语言宏定义。
6、总结 我们在使用make menuconfig时,首先会确定架构arch,然后读取arch目录的Kconfig中的配置宏定义,生成编译条目,然后读取Linux内核根目录下的.config选项, 将.config中的配置信息显示在图形界面上[*] [M] or []。
我们在图形界面中更改配置选项会自动保存到.config文件中。
编译过程根据.config随后生成auto.conf文件,它决定了makefile中各个文件的编译类型,静态编译进内核、编译成模块、不编译;同时生成autoconf.h,它以C语言宏定义的形式表达了 各个文件是否被编译,源码中会判断某文件是否被编译进行不同的处理。
三、将自定义文件添加进内核配置系统 1、修改文件目录下Kconfig文件 添加: config HELLO tristate "just a test hello" default y ---help--- This is a test //tristate 或 bool 表示可选择种类数量3[*][M][ ]、2 // "just a test hello"将作为标题显示在配置的图形界面 2、修改文件目录下makefile文件 obj-$(CONFIG_HELLO) += hello_drv.o 3、make menuconfig 我们会在字符设备驱动的界面看到 ust a test hello 并且默认编译进内核 4、make编译内核发现 autoconfig.h 自动添加 #define CONFIG_HELLO 1 auto.conf 自动添加 CONFIG_HELLO=y
Linux中的根目录下的各个文件都有什么作用?
linux根目录下各文件夹的作用/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特权阶级) /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 /proc 虚拟的目录,是系统内存的映射。
可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件 /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
其中包含: /usr/x11r6 存放x window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要 经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。
除了可能的一个叫/ v m l i n u z标准的系统引导映像之外,根目录一般不含任何文件。
所有 其他文件在根文件系统的子目录中。
1. /bin目录 / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
这些 命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。
2. /sbin目录 / s b i n目录类似/bin ,也用于存储二进制文件。
因为其中的大部分文件多是系统管理员使 用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
3. /etc目录 / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文 件/ e t c / r c等。
l i n u x正是*这些文件才得以正常地运行。
4. /root目录 /root 目录是超级用户的目录。
5. /lib目录 / l i b目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文 件。
这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副 本,故可以使得可执行文件变得更小,节省空间。
6. /lib/modules 目录 /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引 导系统所需的模块(例如网络和文件系统驱动)。
7. /dev目录 / d e v目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。
比如,用 户可以通过访问/ d e v / m o u s e来访问鼠标的输入,就像访问其他文件一样。
8. /tmp目录 /tmp 目录存放程序在运行时产生的信息和数据。
但在引导启动后,运行的程序最好使用 / v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
9. /boot目录 / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i l o,核心映像也经常放在这里, 而不是放在根目录中。
但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的 文件系统会更好一些。
还有一点要注意的是,要确保核心映像必须在i d e硬盘的前1 0 2 4柱面内。
10. /mnt目录 / m n t目录是系统管理员临时安装( m o u n t )文件系统的安装点。
程序并不自动支持安装到 /mnt 。
/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱, 而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。
11. /proc, /usr,/var,/home目录 其他文件系统的安装点。
Linux应用的日志文件系统及性能是什么?
所谓日志文件系统是在传统文件系统的基础上,加入文件系统更改的日志记录,它的设计思想是:跟踪记录文件系统的变化,并将变化内容记录入日志。
日志文件系统在磁盘分区中保存有日志记录,写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,系统重启时,会根据日志记录来恢复中断前的写操作。
在日志文件系统中,所有的文件系统的变化都被记录到日志,每隔一定时间,文件系统会将更新后的元数据及文件内容写入磁盘。
在对元数据做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,然后它修改元数据。
目前Linux的日志文件系统主要有:在Ext2基础上开发的Ext3,根据面向对象思想设计的ReiserFS,由SGI IRIX系统移植过来的XFS,由IBM AIX系统移植过来的JFS,其中EXT3完全兼容EXT2,其磁盘结构和EXT2完全一样,只是加入日志技术;而后三种文件系统广泛使用了B树以提高文件系统的效率。
考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。
其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。
如有侵犯您的权利,请联系我们,本站会立即予以处理。
转载请注明出处51数据库 » linux软件配置文件作用