CentOS6建立VPN脚本,centos安装pptp

CentOS 6 pptp 一键安装包,所有安装文件来源于官方网站,完美兼容32、64位
localip和remoteip改为对应自己的服务器和客户端的IP,然后复制内容另存为一个sh文件直接执行即可

yum remove -y pptpd ppp

iptables –flush POSTROUTING –table nat

iptables –flush FORWARD

rm -rf /etc/pptpd.conf

rm -rf /etc/ppp

arch=`uname -m`

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.$arch.rpm

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers dkms kernel_ppp_mppe ppp

rpm -Uvh pptpd-1.3.4-2.el6.$arch.rpm

mknod /dev/ppp c 108 0

echo 1 > /proc/sys/net/ipv4/ip_forward

echo “mknod /dev/ppp c 108 0” >> /etc/rc.local

echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local

echo “localip 107.6.45.234” >> /etc/pptpd.conf

echo “remoteip 107.6.45.2-254” >> /etc/pptpd.conf

echo “ms-dns 8.8.8.8” >> /etc/ppp/options.pptpd

echo “ms-dns 8.8.4.4” >> /etc/ppp/options.pptpd

pass=`openssl rand 6 -base64`

if [ “$1” != “” ]

then pass=$1

fi

echo “vpn pptpd ${pass} *” >> /etc/ppp/chap-secrets

iptables -t nat -A POSTROUTING -s 107.6.45.0/24 -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ‘127.0.0.1’ | cut -d: -f2 | awk ‘NR==1 { print $1}’`

iptables -A FORWARD -p tcp –syn -s 107.6.45.0/24 -j TCPMSS –set-mss 1356

service iptables save

chkconfig iptables on

chkconfig pptpd on

service iptables start

service pptpd start

echo “VPN service is installed, your VPN username is vpn, VPN password is ${pass}”

常见错误解决

1:619错误
有些同学说要手动建立ppp文件,我觉得其实应该是检查iptables的NAT功能是否正常
用iptables -t nat -L 看看nat规则是否正常
有同学建议 mknod /dev/ppp c 108 0
但其实出现这问题的大部分都是本身已经存在这个文件会提示 mknod: `/dev/ppp’: file exists,
如果你不敢确认,那就完全也可以先用rm删除这个设备文件,然后再建个
另外确认net.ipv4.ip_forward=1是否生效

2:800错误
一般是vpn服务器关闭了,或者停止了,如果你是用域名访问vpn,也有可能是dns的解析除了问题

3:还有一种情况:就是登录和验证都正常,但就是访问不了页面
这种情况我碰到很多次,但我至今没找到确切的问题所在,我初步也是怀疑iptables的转发没能正常工作
大家不妨多看看log日志分析一下

YardVPS安装pptp详细教程步骤

 

YardVPS Xen Centos 5.7 32位上测试通过,安装方法非常简单,下面是步骤

 wget http://www.yangkun.net/wp-content/uploads/2012/pptpd.sh
chmod +x pptpd.sh
./pptpd.sh

 

整个过程只需2分钟,安装完成后VPN帐号是vpn,密码随机生成。

 

另外附赠一些常用的SSH命令:

 

去掉PPTP加密方法(上面给的这个包是加密的)
require-mschap-v2
require-mppe-128
运行vi /etc/ppp/options.pptpd把上面的这2行去掉即可

 

添加VPN用户命令如下
echo ‘username pptpd password *’ >> /etc/ppp/chap-secrets

 

删除VPN用户命令如下
sed -i ‘/^username\ /d’ /etc/ppp/chap-secrets

 

修改VPN用户密码
sed -i -e ‘s/^\(username pptpd \).*\( \*\)$/\1newpassword\2/g’ /etc/ppp/chap-secrets

 

编辑VPN用户修改文件
vi /etc/ppp/chap-secrets

 

PPTP一键安装教程centos

PPTP一键安装教程centos

注意:只有Xen能够安装PPTP是一种误区,OpenVZ也是可以的。

系统要求:CentOS 5 32bits/64bits。

PPTP一键安装包安装方法:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh

安装完成后会自动提示 PPTP一个默认的用户名(vpn)和随机密码。

当然,PPTP的用户名和密码是可以自定义的

编辑/etc/ppp/chap-secrets

vi /etc/ppp/chap-secrets

开始编辑,逐行输入以下内容:

用户1 pptpd 密码1 *
用户2 pptpd 密码2 *
用户3 pptpd 密码3 *

保存即可

PHPnow安装、使用、升级教程

搭建 PHP 其实不很难,只是有点繁琐。要是自己搭建一次 PHP + MySQL 环境很是费时。更糟的是,很多新手在配置 PHP 时常常出现这样那样的问题。诸如 mysql 扩展、zend 安装失败等等问题。这时,我们需要一个快速、标准且专业的 PHP 套件包。PHPnow 就这样应运而生,为你快速搭建专业的虚拟主机。
PHPnow 是Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包。
简易安装、快速搭建支持虚拟主机的 PHP 环境。附带 PnCp.cmd 控制面板,帮助你快速配置你的套件,使用非常方便。

PHPnow 是绿色的,解压后执行 Setup.cmd 初始化,即可得到一个 PHP + MySQL 环境。
然后就可以直接安装 Discuz!, PHPWind, DeDe, WordPress 等程序。
支持虚拟主机:便捷的虚拟主机管理
配置文件备份:放心地去尝试修改配置文件,乱了就还原配置
虚拟主机代理:可与 IIS 共存 (不同端口,泛解析代理)
插件支持:ASP.NET | JSP(寻找最佳解决)

有必要掌握手动配置 PHP ,PHPnow 只是为你减少重复的动作。请尝试自己搭建 PHP 环境,参考参考相关权威文档。

PHPnow 组件
最新版本包含:
Apache-2.0.63 / 2.2.16
PHP-5.2.14
MySQL-5.0.90 / 5.1.50
Zend Optimizer-3.3.3
phpMyAdmin-3.3.7
* eAccelerator 0.9.6-1
* 默认没有启用。执行 PnCp.cmd 选 3 启用。

安装注意事项:
如果装有同类软件,请先停止或卸载,否则会占端口!请关闭迅雷,或修改迅雷的 BT 端口!
解压:解压到任意目录;(不能含有中文!例如 “桌面”)
安装:运行 Setup.cmd 根据向导进行初始化;
使用:.htdocs 为网站主目录。执行 PnCp.cmd 进行设置或管理。
注意:执行 Stop.cmd 即已经卸载。请执行 Stop.cmd 后再删除文件。

升级说明:

重要提示:升级前请一定要做好备份!请把此说明看懂再进行升级。
1. 停止原来的 Apache 和 MySQL (Stop.cmd)

2. 将原来的 PHPnow 目录 移动 或 改名。例如 D:PHPnow 改为 D:PHPnow2

3. 安装好新的 PHPnow

4. 停止新装的 PHPnow (Stop.cmd)

5. 从原来的目录中(例如 D:PHPnow2),复制下列内容到新目录的对应位置(覆盖)
.MySQL-5.0.xxdata
.Apacheconfextrahttpd-vhosts.conf
.vhosts
.htdocs
如果你还有其他需要,可以根据自己情况处理。
如果含有代理虚拟主机,请手动任意添加一个,然后可以删除新加的这个,
才可使用。目的是激活 代理 模块。否则会得到错误信息。

6. 启动服务 (Start.cmd)

7. 启动 MySQL 后,执行 PnCp.cmd 选 15 (升级 MySQL 数据库),
输入你的 root 密码,结果全是 OK 即顺利完成。

Fatal error: Maximum execution time of 30 seconds exceeded in

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\code\curl\work\work3.php on line 38

一看就是超时。懒人比较喜欢第二种解决方法。

看http://cn.php.net/manual/zh/info.configuration.php#ini.max-execution-time

就知道你的代码有多poor了。。。然后改了php.ini的话也不保证不出现类似错误,因为你的服务器也有超时,都设置为300如何?我在想。。。。重启apache,再试试。

max_execution_timeinteger

This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.

The maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details.

You can not change this setting with ini_set() when running in 安全模式. The only workaround is to turn off safe mode or by changing the time limit in the php.ini.

Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.

–方法一————————————————————
Fatal error: Maximum execution time of 30 seconds exceeded in

有时在运行大型网站或百万级的数据时优化得不好会出来如Fatal error: Maximum execution time of 30 seconds exceeded in错误提供了了。那么这是什么原因了呢,从英语意思我们看得出是超过的脚本的最大限制的运行时间了,php 系统默认是30秒哦,如果超过就会出现如下提示错误哦。
下面我们来看看如何解决运行时间过长的方法吧。
在php自带了一个set_time_limit($secon)函数
$cecon是一个以秒为单位的的int型数值

set_time_limit(30);

//意思就是过了30秒如何本程序执行完,就会出来错误提供了。如果想让页面永远不过期的话就设置参数为0就行了。
set_time_limit(0);

–方法二————————————————————
Fatal error: Maximum execution time of 30 seconds exceeded
出现这个错误如何解决 去哪里可以设置最大执行时间

解决办法:
修改php.ini,
把max_execution_time = 30(默认值)的值进行修改,这里的单位是秒 ,你可以根据自己的需要更改其数值,然后重起服务
或者在程序写。
set_time_limit(时间) //0为无限制

cpanel删除tmp文件夹

cpanel却显示已经使用了近1G,可网站本身并没有那么多数据,查看后发现原来是tmp文件夹占用了300多M的空间。tmp文件夹也可以删除,删除后,就发现所占用空间减少了。

附:cpanel文件夹说明
文件夹快捷方式:www -迅速访问public_html
etc提供给客户存放非网站文件目录,可以删除
access-logs查看每个域名的访问日志
tmp用于保存统计,访问日志等一些文件,可以删除
mai客户邮件所在文件夹,任何时候不可以删除
public_ftp提供给客户公用的FTP文件夹,如果没有开匿名FTP的权限此文件夹无用
public_html是网页文件存放目录,任何时候不可以删除

其中mail和public_html文件夹是绝对不可以删除,其他文件夹在使用的时候可以自动创建。

eAccelerator 配置参数详解

eaccelerator.shm_size=”32″
eAccelerator 可以使用的共享内存的数量 (以兆为单位) . “0” 是指操作系统的默认值. 默认值是 “0”.可根据服务器的实际情况来调整,16,32,64,128都是可以的。

eaccelerator.cache_dir=”/home/php/tmp”
这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 “/tmp/eaccelerator”.

eaccelerator.enable=”1″
开启或关闭 eAccelerator。”1″ 为开启,”0″ 为关闭。默认值为 “1”。

eaccelerator.optimizer=”1″
启或关闭内部优化器,可以提升代码执行速度。”1″ 为开启,”0″ 为关闭。默认值为 “1”。

eaccelerator.check_mtime=”1″
打开或者关闭 PHP 的文件修改检查. “1” 是指打开, “0” 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 “1”. 默认值是 “1”.

eaccelerator.debug=”0″
开启或关闭调试日志记录。”1″ 为开启,”0″ 为关闭。默认值为 “0”。会将缓存命中得记录写入日志。

eaccelerator.filter=””
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 “*.php *.phtml”等)
如果参数以 “!” 开头,则匹配这些参数的文件被忽略缓存。默认值为 “”,即,所有 PHP 文件都将被缓存。

eaccelerator.shm_max=”0″
当使用 ” eaccelerator_put() ” 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。”0″ 为不限制。默认值为 “0”。

eaccelerator.shm_ttl=”0″
当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 “shm_ttl” 秒内没有存取的脚本缓存。默认值为 “0”,即:不从共享内春中删除任何缓存文件。

eaccelerator.shm_prune_period=”0″
当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于”shm_prune_period” 秒的缓存脚本。默认值为 “0”,即:不从共享内春中删除任何缓存文件。

eaccelerator.shm_only=”0″
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 “0”,即:使用磁盘和共享内存进行缓存。

eaccelerator.compress=”1″
允许或禁止压缩内容缓存。默认值为 “1”,即:允许压缩。

eaccelerator.compress_level=”9″
指定内容缓存的压缩等级。默认值为 “9”,为最高等级。

eaccelerator.keys = “disk_only”
eaccelerator.session = “disk_only”
eaccelerator.content = “disk_only”
设置内容缓存的存放的地方,可以设置为:
shm_and_disk 在共享缓存和硬盘(默认值)
shm 默认存在共享内存,如果共享内存已满或大小超过 “eaccelerator.shm_max” 的值,就存到硬盘
shm_only 只存放在共享内存
disk_only 只存放在硬盘
none 不缓存数据

eaccelerator.allowed_admin_path = “/var/www/com/eaccelerator”
这是控制面板的地址
安装包里有个control.php,你把它复制到网站的任意目录,可以用它查看和管理,这个必须指定,否则查看缓存内容的时候会出错

最后,来看一下我的 eAccelerator 设置

; eaccelerator
[eaccelerator]
zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
eaccelerator.shm_size=”128″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.keys = “disk_only”
eaccelerator.sessions = “disk_only”
eaccelerator.content = “disk_only”
eaccelerator.allowed_admin_path = “/var/www/html/21andy.com/eaccelerator”

另外,再说下 eAccelerator 的安装

# wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
# tar -jxvf eaccelerator-0.9.6.tar.bz2
# cd eaccelerator-0.9.6
# /usr/local/php/bin/phpize
# ./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
# make && make install

CentOS下常用配置文件和命令以及目录结构备注

一. Centos常用配置文件:   

(1)/etc/profile ,系统级的环境变量和启动程序配置,修改后对所有用户都有效

(2)/etc/rc.local ,这个脚本将在开机启动的时候,自动运行,可放置一些需要每次开机自启动的程序如tomcat,mysql,oracle

这个在opensuse中 对应的是/etc/init.d/boot.local这个文件

二. Centos常用命令和配置:

1.pkill

(1)kill 大家都会用了,但是这个pkill用着更爽,因为他可以直接根据进程名kill,而不需要pid

     kill  进程名称 

(2)可以用pkill踢用户

如:

root     pts/1        2009-05-23 11:39 (xxx.xxxx.xxx.xxxx)

输入 pkill -kill -t pts/1
然后再用who看,就能看到pts/1被干掉了

2.python -m SimpleHTTPServer 8000 (8000可以为任意还没被占用的端口)

 进入你要共享文件的目录执行, ptyhon -m SimpleHTTPServer 
对方只要在浏览器里输入你的IP地方加8000端口(例如192.168.1.104:8000)就可以看到共享目录下文件。

3.vmstat 1 5   可以用这条命令监控swap 最近10秒的情况,看动作是否频繁

主要看si 和 so 的值,vmstat 1 5 表示每个一秒拍一次快照,一共拍5次

procs ———–memory———- —swap– —–io—- –system– —–cpu—–                                              –
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 443532  26364 194836    0    0   113    15 1038   95  1  4 94  1  0
 0  0      0 443532  26372 194828    0    0     0   144 1007   60  0  0 99  1  0
 0  0      0 443532  26372 194836    0    0     0   244 1064  151  0  5 95  0  0
 0  0      0 443532  26372 194836    0    0     0     0 1004   55  0  0 100  0  0
 0  0      0 443532  26372 194836    0    0     0     0 1023   73  0  2 98  0  0

4.安装配置JDK(这个应该是搞服务器端应用的人最常见的操作了吧:-))

 Step1:在centos5的根目录下,创建一个jdk6的目录 ->命令:mkdir jdk6

 Step2:将jdk-6u12-linux-i586.bin 拷到该目录下

 Step3:chmod +x jdk-6u12-linux-i586.bin -》打开该文件的可执行权限,然后安装它./jdk-6u12-linux-i586.bin

 Step4:这样jdk会安装在jdk6下面的目录jdk1.6.0_12下面

 Step5: vi /etc/profile.d/java.sh 编辑java.sh文件,把下面的配置写上去,如下:

JAVA_HOME=/jdk6/jdk1.6.0_12
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

  Step6:reboot 重启 ,然后输入java -version 看是否已经切换成最新的jdk了。

三. Centos/RedHat 目录结构:

“/ ”          Linux文件系统的入口,也是处于最高一级的目录

“/bin”       bin是Binary的缩写。这个目录存放着最经常使用的命令,比如 cp, ls

“/boot”     Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录.

“/dev”      设备文件存储目录

“/etc”       系统配置和初始化文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件

“/home”    普通用户家目录默认存放目录(root用户除外)

“/lib”         重要库文件存放目录

“/lost+found”    在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动 的过程中fsck工具会检查这里,并修复已经损坏的文件系统.有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

“/mnt”       这个目录一般是用于存放挂载储存设备的挂载目录的,主要看/etc/fstab中怎么定义

“/opt”        有些软件包也会被安装在这里,也就是自定义软件包,比如Slackware的KDE,Fedora的OpenOffice

“/proc”       操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里.

“/root”       root用户的家目录

“/sbin”       大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权执行此目录下命令

“/tmp”       临时文件目录

“/usr”        这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里

“/var”        这个目录存放一些是经常变动的内容如System log files, lock files, mail spools, and printer spools.

还有有些比较重要的子目录,我也列举如下:

/etc/rc.d   放置开机和关机的脚本。
/etc/rc.d/init.d放置启动脚本
/etc/xinetd.d 配置xinetd.conf可以配置启动其他额外服务。
/usr/inlude    一些distribution套件的头文件放置目录,安装程序时可能会用到。
/usr/lib      套件的程序库
/urs/local   默认的软件安装目录。
/usr/share/doc  系统说明文件的放置目录
/usr/share/man 程序说明文件放置目录
/usr/src  内核源代码目录
/usr/X11R6  X的存放目录

/etc/rc.d            放置开机和关机的脚本。

/etc/rc.d/init.d    放置启动脚本

/etc/xinetd.d      配置xinetd.conf可以配置启动其他额外服务。

/usr/include        一些distribution套件的头文件放置目录,安装程序时可能会用到。

/usr/lib              套件的程序库

/usr/local           默认的软件安装目录。

/usr/share/doc   系统说明文件的放置目录

/usr/share/man  程序说明文件放置目录

/usr/src             内核源代码目录

/usr/X11R6       X的存放目录

完美解读Linux中文件系统的目录结构

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步。下面大家跟飘扬一起来学习吧………….

 

1、什么是文件系统

 

当您使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin … … 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。

linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

 

2、文件系统的类型

 

LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。

 

普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。

 

目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。

 

连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以”->”指向所连接的文件。

 

特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/had来自第一硬盘。

 

3、目录结构的详细解说

 

文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、/etc … … /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,大体还是差不多。

言归正传,下面飘扬将讲到本文最核心的部分:linux文件系统的目录结构。

 

/ bLinux文件系统的入口,也是处于最高一级的目录;

/bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。

/boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

/dev 设备文件存储目录,比如声卡、磁盘… …

/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;

/home 普通用户家目录默认存放目录;

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom 。

/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure –prefix=/opt/目录 。

/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。

/root Linux超级权限用户root的家目录;

/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。

/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

 

4、一些重要子目录的解说

 

下面飘扬再补充几个比较常见且很重要的目录。

/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;

/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。

/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。

/etc/X11 这是X-Windows相关的配置文件存放地。

 

/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件;

/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。

/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在 /usr/src/redhat相应的目录中。

/var/adm 比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。

/var/log 系统日志存放,分析日志要看这个目录的东西;

/var/spool 打印机、邮件、代理服务器等假脱机目录;

 

5、附录:目录结构的简明查阅手册

 

(1)“/”根目录部分有以下子目录:

 

/usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。

/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等

/home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。

/proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统

/bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。

/sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)

/etc 操作系统的配置文件目录。

/root 系统管理员(也叫超级用户或根用户)的Home目录。

/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目 录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。

/lib 根文件系统目录下程序和核心模块的共享库。

/boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。

/opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)

/tmp 临时文件。该目录会被自动清理干净。

/lost+found 在文件系统修复时恢复的文件

 

(2)“/usr”目录下比较重要的部分有:

/usr/X11R6 X-WINDOWS系统(version 11, release 6)

/usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接)

/usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。

/usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。

/usr/share 独立与你计算机结构的数据,譬如,字典中的词。

/usr/bin和/usr/sbin 类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。

/usr/local 本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。

/usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。

(3)“/proc”目录的内容:

/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。

/proc/devices 当前运行内核所配置的所有设备清单。

/proc/dma 当前正在使用的DMA通道。/proc/filesystems 当前运行内核所配置的文件系统。

/proc/interrupts 正在使用的中断,和曾经有多少个中断。

/proc/ioports 当前正在使用的I/O端口。

zh_CNChinese