当前位置:文档之家› linux系统配置文件

linux系统配置文件

linux系统配置文件
linux系统配置文件

什么是系统配置文件?

内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(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.doczj.com/doc/eb17232795.html, 这些文件由mingetty(和类似的程序)读取,用来向从终端(issue)或通过telnet 会话(https://www.doczj.com/doc/eb17232795.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 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别

的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着/etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。vnc server配置

1。使用root用户启动系统的vncserver服务;

#service vncserver start

2。然后切换到登陆用户下面,我这里假设要使用oracle系统帐户进行远程登陆

#su - oracle

3。使用oracle用户输入以下命令:

$vncserver

如果是第一次运行,则系统会出现提示信息,提示你输入密码,这是通过终端进行登陆时需要输入的;

另外,还有一个数字信息,这个也是需要在终端登陆时输入的,即冒号后面跟着的一个数字,如:1 ,:2等等,需要记住;

4。在windows客户端使用vncviewer,输入如下:xxx.xxx.xxx.xxx:1 或者xxx.xxx.xxx.xxx:2等,后面的数字需要和服务器端的对应才行;xxx是你服务器的ip地址了;

[linux as 5] 软件要求

其他所需程序包的版本(或更高版本):

gcc-2.96-124

make-3.79

binutils-2.11

openmotif-2.1.30-11

glibc-2.2.4-31

要查看系统上安装了这些程序包的哪些版本,运行以下命令:

rpm -q gcc make binutils openmotif glibc setarchp4198954_21_linux.zip 在运行runInstaller 之前打.

rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm (p4198954_21_linux.zip)

(不打PATH也可以)

安装 libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm

在Red Hat Enterprise Linux 介质的第三张 CD

以 root 用户身份运行以下命令:

rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm

创建数据库安装的准备工作:

1,创建user/group;

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

如果nobody用户不存在(id nobody命令查看),则创建:

useradd nobody2,建立oracle安装文件夹(sample);

mkdir -p /opt/oracle/10.2.0.1 /opt/oracle/oradata /opt/oracle/archivelog chown -R oracle.oinstall /opt/oracle

chmod 755 -R /opt/oracle2,配置环境变量;

要使用 Oracle 产品,应该或必须设置几个环境变量。

如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和PATH 变量可能会更改。

ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供

了一个称作 oraenv 的实用程序来设置其他变量。

对于数据库服务器,建议设置以下环境变量:

使用root用户:

vi /home/oracle/.bash_profile

以下是配置文件的内容

ORACLE_BASE=/opt/oracle

ORACLE_HOME=/opt/oracle/10.2.0.1

ORACLE_SID=ge01

PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

TNS_ADMIN=$ORACLE_HOME/network/admin

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

LANG=AMERICAN_AMERICA.ZHS16GBK

export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID TNS_ADMIN NLS_LANG LANG

4,设置系统参数;

Oracle 数据库 10g 需要以下所示的内核参数设置。

一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最

大共享内存为 1073741824,

如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;

以此类推。在redhat上最大共享内存不建议超过

4*1024*1024*1024-1=4294967295切换到root用户:

su root

修改vi /etc/sysctl.conf, 添加:

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效;

B) 设置oracle对文件的要求:

编辑文件:vi /etc/security/limits.conf 加入以下语句:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536编辑文件:vi /etc/pam.d/login 加

入以下语句(可能应该加在最后一条规则之前):session required /lib/security/pam_limits.so设置oraInst.loc文件:

[root@enterprice64 ~]#vi /etc/oraInst.loc

inventory_loc=/opt/oracle/oraInventory

inst_group=oinstall

[root@enterprice64 ~]#chown oracle.oinstall /etc/oraInst.loc

确保/etc/oraInst.loc中包含上面的信息,且Oracle包含访问权限。5.解压缩Oracle10G 的安装文件:

使用Oracle用户登陆:

su - oracle

在/home/oracle 上传和解压缩10201_database_linux32.zip:

unzip 10201_database_linux326.开始安装oracle

L i n u x 命令行环境下安装(也可以在图形界面下安装)使用Oracle用户登陆:

su - oracle

根据希望安装的数据库版本类型选择Silent安装模式的response_file文件的类似,比如:enterprise.rsp、standard.rsp还是custom.rsp。

这里选择enterpise.rsp类型,安装盘中的database/response目录下对应的response文件拷贝出来,根据文件里面的提示对输入值进行修改。

比如这个例子中对如下的参数进行设置:

UNIX_GROUP_NAME="oinstall"

FROM_LOCATION="/home/oracle/database/stage/products.xml"

ORACLE_BASE="/opt/oracle"

ORACLE_HOME="/opt/oracle/10.2.0.1"

ORACLE_HOME_NAME="OraDbHome1"

SHOW_INSTALL_PROGRESS_PAGE= true

SHOW_END_OF_INSTALL_MSGS= true

COMPONENT_LANGUAGES=

s_nameForDBAGrp= "dba"

s_nameForOPERGrp="dba"

INSTALL_TYPE="EE"

n_configurationOption=3

RESTART_SYSTEM=false

RESTART_REMOTE_SYSTEM=false注意,所有的字符串需要放在双引号中,注意大小写。数字和布尔变量直接写就可以。

由于这里没有选择建立数据库而只安装软件,因此没有设置数据库相关的配置参数。[oracle@enterprice64 data]$ chmod 700 enterprise.rsp

面可以开始SILENT安装了:

注意,响应文件需要使用绝对路径。

cd /home/oracle/database

[oracle@enterprice64 database]$ ./runInstaller -silent -responseFile /home/oracle/enterprise.rsp用root执行如下脚本:

/opt/oracle/10.2.0.1/oraInventory/orainstRoot.sh

/opt/oracle/10.2.0.1/root.sh

不过这里Oracle存在一个bug,在root.sh脚本中,自动将OUI_SILENT参数设置为TRUE,而后的检查中,

如果发现这个值为TRUE,那么这个脚本运行会自动退出了。这里需要手工将其修改为false,

最后使用root执行一下$ORACLE_HOME/root.sh脚本就可以了。根据提示按 Enter 就可以了。

这样就在字符下成功安装了。通过SILENT模式安装数据库之后,下面继续使用SILENT模式进行数据库的建立,

仍然是拷贝安装目录下的/home/oracle/database/response/dbca.rsp到安装目录,并进行编译,

根据数据库建立方式的不同编辑不同的数据库库选项。

比如在本次安装过程中设置了下列参数:

RESPONSEFILE_VERSION = "10.0.0"

OPERATION_TYPE = "createDatabase"

GDBNAME = "ge01"

SID = "ge01"

TEMPLATENAME = "New_Database.dbt"

SYSPASSWORD = "georacle"

SYSTEMPASSWORD = "georacle"

DATAFILEDESTINATION ="/opt/oracle/oradata/"

RECOVERYAREADESTINATION="/opt/oracle/flash_recovery_area"

STORAGETYPE=FS

CHARACTERSET = "ZHS16GBK"

MEMORYPERCENTAGE = "40"

SCRIPTDESTINATION ="/opt/oracle/admin/ora10g/scripts"

EMCONFIGURATION=”LOCAL”

SYSMANPASSWORD = "georacle"

DBSNMPPASSWORD = "georacle"其中最后1项不是必须的,这个的目的是在建立数据库的同时生成脚本。

下面就可以开始SILENT模式的数据库创建了:

[oracle@enterprice64 database]$ dbca -silent -responseFile /home/oracle/dbca.rsp 用root执行如下脚本:

/opt/oracle/10.2.0.1/oraInventory/orainstRoot.sh最后可以利用netca来SILENT方式设置网络部分,同样的方法设置netca.rsp:

RESPONSEFILE_VERSION="11.1"

CREATE_TYPE= "CUSTOM"

SHOW_GUI=false

LOG_FILE=""/opt/oracle/10.2.0.1/network/tools/log/netca.log""

INSTALLED_COMPONENTS=

INSTALL_TYPE=""typical""

LISTENER_NUMBER=1

LISTENER_NAMES=

LISTENER_PROTOCOLS=

LISTENER_START=""LISTENER""

NAMING_METHODS=

设置的参数包括上面的部分,然后就可以使用netca启动silent配置:

[oracle@enterprice64 database]$ netca /silent /responsefile /home/oracle/netca.rsp---------------------------------------------------------

-------静默卸载Oracle数据库ge01

dbca -silent -deleteDatabase -sourceDB [-sysDBAUserName -sysDBAPassword ]

例如:dbca -silent -deleteDatabase -sourceDB ge01 -sysDBAUserName sys

-sysDBAPassword georacle静默卸载Oracle数据库软件

执行以下命令静默卸载Oracle数据库软件

$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES=" -responseFile

~/enterprise.rsp---------------------------------------------------------------

------------------------(一)图形界面开始安装:

1.以oracle用户登录X-WINDOWS系统,进行Oracle的安装(远程安装需打开XDM):[ linux

5}

export DISPLAY=

cd /opt/database (或者你解压缩安装程序包的目录)

./runInstaller 或者./runInstaller -ignoreSysPrereqs

过一会儿就会出现Oracle的X安装界面注意:

1、选择advance install

2、数据库home设置为/opt/oracle/10.2.0.1

3、数据库全局名称设置为ge01

4、数据库字符集选Simplified Chinese ZHS16GBK2.其他用默认设置!

注意:安装过程中会提示以root用户登陆执行一些脚本,执行后再按“ok”按钮继续安装。

3、登陆并启动数据库的操作。

su - oracle

[oracle@oracle oracle]$ lsnrctl start

[oracle@oracle oracle]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect / as sysdba

Connected.

SQL> startup; 启动数据库

ORACLE instance started.

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes

V ariable Size 201326592 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.SQL> shutdown immediate ;关闭数据库(OR "dbshut" command)

Database closed.

Database dismounted.

ORACLE instance shut down.4, dbstart脚本修改

数据库创建完成后,修改vi /etc/oratab,把ge01:/opt/oracle/10.2.0.1:N那一行最后

的N改成Y,

修改vi /opt/oracle/10.2.0.1/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/10.2.0.1

然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:

cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/10.2.0.1/dbs/initge01.ora

重新执行dbstart就可以了。可以执行dbshut 停止ORACLEvi /etc/rc.local 加入下面一行起动ORACLE ON system boot

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"5. 为了root方便管理,可以写一个启动脚本

vi /etc/init.d/ora10g

#!/bin/bash

#

# chkconfig: 2345 91 19

# description: starts the oracle listener and instancestatus() {

pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`

if [ "X$pid" = "X" ]

then

echo "oracle10g is not running."

exit 1

else

echo "oracle10g is running."

exit 0

fi

}case "$1" in

start)

#startup the listener and instance

echo -n "oracle begin to startup: "

su - oracle -c "lsnrctl start"

su - oracle -c dbstart

echo "oracle10g started"

;;

stop)

# stop listener, apache and database

echo -n "oracle begin to shutdown:"

su - oracle -c "lsnrctl stop"

su - oracle -c dbshut

echo "oracle10g shutdowned"

;;

reload|restart)

$0 stop

$0 start

;;

'status')

status

;;

*)

echo "Usage: ora10g [start|stop|reload|restart]"

exit 1

esac

exit 0存为ora10g后,然后

chmod a+x /etc/init.d/ora10g

即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。

如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:

chkconfig --level 35 ora10g on

6, 关于数据库删除重新安装的问题:

1 . 去除 /usr/local/bin 目录下的 coraenv dbhome oraenv

2 . 去除 /etc/oratab , /etc/oracle

3 . 去掉安装目录 /opt/oracle 目录下的 product admin oradata oralnventor 目录。 # userdel -r oracle

# groupdel dba oinstall

rm -rf /tmp/ora*

rm -rf /opt/oracle/*

rm -rf /opt/ORCLfmap

rm -f /etc/ora*

rm -f /usr/local/bin/oraenv

rm -f /usr/local/bin/coraenv

rm -f /usr/local/bin/dbhome

7.修改Oracle10g数据库字符集

SQL> connect sys/oracle as sysdba

SQL> startup mount

SQL> alter session set sql_trace=true;Session altered.SQL> alter system enable restricted session;System altered.SQL> alter system set job_queue_processes=0;System altered.SQL> alter system set aq_tm_processes=0;System altered.SQL> alter database open;Database altered.SQL> set linesize 120;

SQL> alter database character set zhs16gbk;

alter database character set zhs16gbk

*

ERROR at line 1:

ORA-12712: new character set must be a superset of old character setSQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USEDatabase altered.SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP

SQL> select name,value$ from props$ where name like '%NLS%';NLS_CHARACTERSET ZHS16GBK8. oracle database异机备份脚本

su - oracle

mkdir /home/oracle/dbbackup(1)vi /home/oracle/dbbackup/bachupdb.sh

#!/bin/bash

#As oracle user, chmod 744 /home/oracle/dbbackup/DBbackuprecover.sh

#crontab -e 35 1 * * * /home/oracle/dbbackup/DBbackuprecover.sh >/dev/null 2>&1 #@tip: modify local database's home directory

#@tip is remote database ip addressexport ORACLE_HOME=/opt/oracle/10.2.0.1 export PATH=$ORACLE_HOME/bin:$PATH:

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk

export LANG=AMERICAN_AMERICA.ZHS16GBK

export ORACLE_SID=ge01dmpfile=gedb_`date +%F`.dmp

logfile=gedb_`date +%F`.log

restoredblog=restoredb_`date +%F`.log

WORK_DIR=~/dbbackupcd $WORK_DIR

exp USERID=gedb/gegedb@/ge01 file=$dmpfile log=$logfile owner=gedb

if [ 0 -eq "$?" ]

then

sqlplus / as sysdba @user.sql

imp USERID=gedb/gegedb file=$dmpfile log=./$restoredblog fromuser=gedb touser=gedb

find ./*.dmp -type f -mtime +7 -exec rm {} ;

find ./*.log -type f -mtime +30 -exec rm {} ;

exit 0

else

echo "backup error,quit!" > $logfile

exit 1

fi

#@tip ip地址修改为要备份的oracle的主机地址

exp USERID=gedb/gedb@10.248.1.5/ge01file=$dmpfile log=$logfile owner=gedb direct=y (2)更改脚本权限:

chown oracle.oinstall backupdb.sh

chmod 744 backupdb.sh

(3)以oracle user role

crontab -e

35 2 * * * /home/oracle/dbbackup/backupdb.sh9. restore oracle backup

(1) 先创建gedb用户和授权:

su - oracle

sqlplus / as sysdba @createUser.sql

(2)imp USERID=gedb/gegedb file=110.dmp fromuser=gedb touser=gedb

如果要第二次IMP操作要先删除用户gedb,再新建用户gedb,这样imp才不会出错.

DROP USER gedb CASCADE;

CREATE USER gedb IDENTIFIED BY gegedb;

GRANT UNLIMITED TABLESPACE TO gedb;

GRANT CONNECT TO gedb;

GRANT RESOURCE TO gedb;

GRANT DBA TO gedb;

10. oracle优化SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ; (ONLY FOR 10.2.0.1.0 )

SQL> shutdown immediate

SQL> startup

11.BUG FIX(1)10g EM乱码之快速解决

[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib

[oracle@danaly lib]$ ls font*zh_CN*

font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1

font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/

[oracle@danaly lib]$ ls font*zh_CN*

font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1

font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties替换之后需要清理一下Cache,重启EM即可.Cache路径通常位于:$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cach e/zhs清除所有gif文件即可.然后重新启动EM(2)10201上一个严重的BUG

环境 10201,AIX53

但据ORACLE解释,在任何操作系统版本都有此问题。现象:监听器启动后,隔一段时间(长短不定),就会出现无法

连接:若是用10201版本的SQLPLUS,则会出现 NO LISTENER。

9207 版本的SQLPLUS,则会出现:没反应,HANG住。原因:10201 版本上的一个BUG:4518443。其会自动创建一个子

监听器,当出现此情况时,监听器将会挂起。

/opt/oracle/product/10g/network/log/listener.log有如下语句:

WARNING: Subscription for node down event still pending检查是否真因为此BUG造成此现象:

$ ps -ef | grep tnslsnr

ora10g 8909 1 0 Sep 15 ? 902:44 /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit ora10g 22685 8909 0 14:19:23 ? 0:00 /u05/10GHOME/DBHOME/bin/tnslsnr sales –inherit

正常情况只有一个监听器,而此BUG则会出现两个监听器。解决方法:打补丁4518443

或者在listener.ora 文件里加入:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF

其中, 是数据库的监听器的名称。如:

默认情况下,监听器名为:LISTENER 。则语句就是:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

同时:

cd $ORACLE_HOME/opmn/conf

mv ons.config ons.config.orig

重启监听程序:

lsnrctl stop

lncrctl start

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.doczj.com/doc/eb17232795.html, 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过telnet 会话(https://www.doczj.com/doc/eb17232795.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.doczj.com/doc/eb17232795.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.doczj.com/doc/eb17232795.html, search https://www.doczj.com/doc/eb17232795.html, https://www.doczj.com/doc/eb17232795.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.doczj.com/doc/eb17232795.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,

相关主题
文本预览
相关文档 最新文档