免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1037 | 回复: 0
打印 上一主题 下一主题

FreeBSD学习笔记连载(三) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-11 15:19 |只看该作者 |倒序浏览
转载
FREEBSD系统管理
一、怎样有效的利用文件系统和交换分区。
 1.当使用 disklabel(8) 或者 sysinstall(8) 来分割您的文件系统的时候,要记住硬盘驱动器外磁道传输数据要比从内磁道传输数据快。
 因此应该将小的和经常访问的文件系统放在驱动器靠外的位置, 一些大的分区比如 /usr 应该放在比较靠里的位置。以类似这样的顺
 序建立分区是一个不错的主意:root,swap, /var,/usr
  2.一般来讲,交换分区应该大约是系统内存 (RAM) 的两倍。 例如,如果机器有 128M 内存,交换文件应该是 256M。在使用多块SCSI磁
  盘(或者不同控制器上的IDE磁盘)的大系统上,建议在每个驱动器上建立交换分区(直到四个驱动器)。交换分区应该大约一样大小。内核
  可以使用任意大小, 但内部数据结构则是最大交换分区的 4 倍。保持交换分区同样的大小, 可以允许内核最佳地调度交换空间来访问
  磁盘。即使不太使用,分配大的交换分区也是好的,在被迫重启之前它可以让您更容易的从一个失败的程序中恢复过来。
二、rc.conf 的基本设置和 /usr/local/etc/rc.d 启动体系。
   1.cron服务:
   cron服务是FreeBSD 最有用的软件包(utilities)中的一个是 cron(8)。 cron 软件在后台运行并且经常检查 /etc/crontab 文件。
   cron 软件也检查 /var/cron/tabs 目录,搜索新的 crontab 文件。这些 crontab 文件存储一些 cron 在特定时间执行任务的信息。
     cron 程序使用两种不同类型的配置文件, 即系统 crontab 和用户 crontabs。 两种格式的唯一区别是第六个字段。 在系统 crontab
     中,第六个字段是用于执行命令的用户名。 这给予了系统 crontab 以任意用户身份执行命令的能力。 在用户 crontab 中, 第六个
     字段是要执行的命令,所有的命令都会以这个用户自己的身份执行; 这是一项重要的安全功能。
     注意: 同其他用户一样, root 用户也可以有自己的 crontab。 它不同于 /etc/crontab (也就是系统 crontab)。由于有系统 crontab
     的存在, 通常并不需要给 root 建立单独的用户 crontab。
     例:首先用man crontab查看crontab手册,了解crontab命令
    #crontab -e 创建一个新的cron,进入编辑状态。
   */5 * * * * sh /home/wanwan/beifen_050705.sh 保存后退出
   #vi /home/wanwan/beifen_050705.sh 对脚本进行编辑;
     #!/bin/sh
     if  ls -a /home/wanwan/beifen2005/ | grep iptables-1.2.11.tar.gz;then
      ` rm -Rf /home/wanwan/beifen2005/iptables-1.2.11.tar.gz `
     fi
     `tar cf /home/wanwan/beifen2005/iptables-1.2.11.tar /home/wanwan/iptables-1.2.11`
     `gzip /home/wanwan/beifen2005/iptables-1.2.11.tar`
     保存退出。用命令查看
     #crontab -l
     */25 * * * * sh /home/wanwan/beifen_050222.sh
     如果需要修改定时器,可以执行#crontab -e 重新加载,
   如果不再需要已过时的定时器可以执行#crontab -r 删除已创建的cron。
2.在 FreeBSD 5.X 下使用 rc
   FreeBSD最近整合了NetBSD的rc.d系统以完成系统初始化,用户要注意 /etc/rc.d目录下的文件。这些文件中的很多都是可以接受 start、
     stop 和 restart 选项的基本服务。例如,sshd(8) 可以用下面的命令重启:
     # /etc/rc.d/sshd restart  其它的服务跟这个过程相似。当然,在 rc.conf(5) 指定的服务通常可以自动启动。例如,让网络地址转换
     (NAT) 守护进程在系统启动的时候启动可以简单的在 /etc/rc.conf 中添加下面一行:natd_enable="YES",如果 natd_enable="NO" 行已
     经存在, 只要简单的把 NO 改成 YES 即可。rc脚本在下次重新启动的时候会自动的装载所需要的服务, 像下面所描述的那样。由于
     rc.d 系统在系统启动/关闭时首先启动/停止服务,如果设置了适当的 /etc/rc.conf 变量,标准的 start、stop 和 restart 选项将会执
     行他们的动作。例如 sshd restart 命令只在 /etc/rc.conf 中的 sshd_enable 设置成 YES 的时候工作。不管是否在 /etc/rc.conf 中
     设置了,要 start、stop 或者 restart 一个服务,命令前可以加上一个“force”前缀。例如要不顾当前 /etc/rc.conf 的设置重新启动
     sshd,执行下面的命令:
     # /etc/rc.d/sshd forcerestart
     用选项 rcvar 可以简单来的检查 /etc/rc.conf 中用适当的 rc.d 脚本启动的服务是否被启用。从而管理员可以运行这样的程序来检查
     sshd 是否真的在 /etc/rc.conf 中被启动了:
     # /etc/rc.d/sshd rcvar
     # sshd
     $sshd_enable=YES
     注意: 第二行 (# sshd) 是从 sshd 命令中输出的,而不是 root 控制台。
     为了确定一个服务是否真的在运行,可以用 status 选项。例如验证 sshd 是否真的启动了:
     # /etc/rc.d/sshd status
     sshd is running as pid 317.
三、怎样设置和测试一块网卡。
  1.一般系统都会自动加载网卡驱动程序,如果系统不支持您的网卡,则必须手动添加网卡驱动模块。
  如果您的网卡没有出现在 GENERIC 中,则需要手工加载合适的驱动程序。 要完成这项工作可以使用下面两种方法之一:
  最简单的办法是用 kldload(8) 加载网卡对应的内核模块。并不是所有的网卡都能够通过这种方法提供支持; 比较明显的例子是 ISA 网
  卡。另外, 您也可以将网卡的支持静态联编进内核。 察看 /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES 以及驱动程序
  的联机手册以了解需要在您的内核配置文件中加一些什么。
  网卡的配置文件是#/etc/rc.conf
  查看命令用#ifconfig  执行结果如下: 
  lnc0: flags=108843 mtu 1500
        inet 192.168.3.195 netmask 0xffffff00 broadcast 192.168.3.255
        inet6 fe80::20c:29ff:fe42:6a02%lnc0 prefixlen 64 scopeid 0x1
        ether 00:0c:29:42:6a:02
  plip0: flags=108810 mtu 1500
  lo0: flags=8049 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
  2.ifconfig完全可以配置一块网卡,但每次重启后都需要重新配置,所以我们可以考虑修改网卡配置文件/etc/rc.conf来实现网卡的配置
  情况。用您自己喜欢的编辑器打开 /etc/rc.conf。并且您需要为每一块系统中存在的网卡添加一行, 在我们的例子中,添加如下几行:
  ifconfig_lnc0="inet 192.168.1.3 netmask 255.255.255.0"
  ifconfig_lnc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
    把你的设备名和IP地址改为自己的设备名和IP地址就OK了。
  media 10baseT/UTP 是设置网卡在什么模式下工作的,如10M和100M的全双工与半双工等。
  3.虚拟一块网卡设置:
   一个特定的网络接口有一个“真实”的地址, 也可能有一些“别名”地址。这些别名通常用 /etc/rc.conf 中的记录来添加。
   一个 fxp0 的别名记录类似于:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
   记住别名记录必须从 alias0 开始并且按顺序递增(例如 _alias1、 _alias2)。配置程序将会停止在第一个缺少的数字的地方。
四、怎样使用 /etc 下的各配置文件。
 在配置信息中有很多的目录,这些包括:
 /etc                一般的系统配置信息。这儿的数据是与特定系统相关的。
 /etc/defaults       系统配置文件的默认版本。
 /etc/mail           额外的 sendmail(8) 配置信息,其他 MTA 配置文件。
 /etc/ppp            用于用户级和内核级 ppp 程序的配置。
 /etc/namedb         named(8) 数据的默认位置。通常 named.conf 和区域文件存放在这里。
 /usr/local/etc      被安装的应用程序配置文件。可以参考每个应用程序的子目录。
 /usr/local/etc/rc.d 被安装程序的 启动/停止 脚本。
 /var/db             特定系统自动产生的数据库文件,像 package 数据库,位置数据库等等。
  1.主机名
  /etc/resolv.conf 指示了 FreeBSD 如何访问域名系统(DNS)。
  resolv.conf 中最常见的记录是:
  nameserver 按顺序要查询的名字服务器的 IP 地址,最多三个。
  search 搜索机器名的列表。这通常由本地机器名的域决定。
  domain 本地域名。
  一个典型的 resolv.conf 文件:
  search wanwan.com
  nameserver 211.136.192.6
  nameserver 61.129.44.199
  注意: 只能使用一个 search 和 domain 选项。
  如果您在使用 DHCP,dhclient(8) 经常使用从 DHCP 服务器接受来的信息重写 resolv.conf。
 
  2./etc/hosts
  /etc/hosts 是 Internet 早期使用的一个简单文本数据库。 它结合 DNS 和 NIS 提供名字到 IP 地址的映射。通过局域网连接的机器可以
  用这个简单的命名方案来替代设置一个 named(8) 服务器。另外,/etc/hosts 也可以提供一个 Internet 名称的本地纪录以减轻需要从外
  部查询带来的负担。
  如我的机器上默认后的hosts文件内容是:
 ::1                     localhost.wanwan localhost
 127.0.0.1               localhost.wanwan localhost
 192.168.4.195           FreeBSD.wanwan FreeBSD
 192.168.4.195           FreeBSD.wanwan.
  /etc/hosts 用简单的格式:
  [Internet address] [official hostname] [alias1] [alias2] ...
  例如:
  10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
 还有一个/etc/host.conf 这个文件下在的肉容是一个优先级别的问题,他会告诉系统首先通过什么方式来查询提交的域名请求,一种是通过
 hosts就是本地为先,还有一个是通过外部的DNS查询行到的如bind
  一般情况都是先本地查询后外部DNS查询如host.conf文件
 # Auto-generated from nsswitch.conf, do not edit
 hosts
 bind
 如果调换成 bind/hosts那么就转为先外部DNS查询再本机查询,当然一般很少人会这样做的。
  
 3.日志文件配置
 syslog.conf 是 syslogd(8) 程序的配置文件。 它指出了的 syslog 哪种信息类型被存储在特定的日志文件中
  #vi /etc/syslog.conf 查看并修改你自需要的配置情况,更多的内容请参看
 
 4.newsyslog.conf
  newsyslog.conf 是一个通常用 cron(8) 计划运行的 newsyslog(8) 程序的配置文件。 newsyslog(8) 指出了什么时候日志文件需要打包或
  者重新整理。 比如 logfile 被移动到 logfile.0,logfile.0 被移动到 logfile.1 等等。另外,日志文件可以用 gzip(1) 来压缩,它们
  是这样的命名格式: logfile.0.gz,logfile.1.gz 等等。newsyslog.conf 指出了哪个日志文件要被管理,要保留多少和它们什么时候被创
  建。日志文件可以在它们达到一定大小或者在特定的日期被重新整理。
  /var/log/all.log                        600  7     *    @T00  J
  /var/log/amd.log                        644  7     100  *     J
  /var/log/auth.log                       600  7     100  *     J
  /var/log/console.log                    600  5     100  *     J
  /var/log/maillog                        640  7     *    @T00  J
  /var/log/messages                       644  5     100  *     J
 /var/log/monthly.log                    640  12    *    $M1D0 JN
 /var/log/pflog                          600  3     100  *     JB    /var/run/pflogd.pid
 /var/log/ppp.log        root:network    640  3     100  *     J
 /var/log/security                       600  10    100  *     J
 /var/log/sendmail.st                    640  10    *    168   B
 /var/log/slip.log       root:network    640  3     100  *     J
 /var/log/weekly.log                     640  5     1    $W6D0 JN
 /var/log/wtmp                           644  3     *    @01T05 B
 /var/log/xferlog                        600  7     100  *     J
 参考 newsyslog(8) 手册页以获得更多信息。 
 
五、怎样使用 sysctl 来调整 FreeBSD 系统变量。
 1.sysctl.conf
  sysctl.conf 看起来很像 rc.conf。它用 variable=value 的形式来设定值。指定的值在系统进入多用户模式之后被设定。并不是所有的
  变量都可以在这个模式下设定。一个简单的例子举明了在 sysctl.conf 中关闭了重要的退出信号的日志并且让 Linux 程序知道他们其实
  运行在 FreeBSD 下面:
  kern.logsigexit=0       # Do not log fatal signal exits (e.g. sig 11)
  2.用 sysctl 进行调整
  sysctl(8) 是一个允许您改变正在运行中的 FreeBSD 系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经
   验的管理员提高引人注目的系统性能。用 sysctl(8) 可以读取设置超过五百个系统变量。
  基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。
   查看所有可读变量:
   % sysctl -a
   读一个指定的变量,例如 kern.maxproc:
   % sysctl kern.maxproc
   kern.maxproc: 1044
   要设置一个指定的变量,直接用 variable=value 这样的语法:
   # sysctl kern.maxfiles=5000
   kern.maxfiles: 2088 -> 5000
   sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示'yes',用 0 来表示'no')。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11048/showart_56514.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP