免费注册 查看新帖 |

Chinaunix

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

FreeBSD备忘 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-12 23:03 |只看该作者 |倒序浏览
很久没有用FreeBSD了,这段时间工作比较闲,重新回到FB来。把用到的记录下来。
首先就是装系统了。盘放进去,/usr分大一点,最小化安装(装上ports和sys/src,base以便定制内核和安装文件,顺便在装上支持LINUX的)
接下来就是重启了,第一个要做的就是定制内核了。(当然要装上内核源码了。#sysinstall ->configure->Distributions->src(base,src))
#cd /usr/src
#cp /usr/src/sys/i386/conf/GENERIC /root/XUCJ
#ln -s /root/XUCJ /usr/src/sys/i386/conf/XUCJ
#vi /root/XUCJ   #以下是我的内核,根据不同的电脑定制
cpu             I686_CPU
ident           XUCJ
options         SCHED_4BSD              # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
options         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         STOP_NMI                # Stop CPUS using NMI instead of IPI
options         AUDIT                   # Security event auditing
device          cpufreq
device          eisa
device          pci
device          fdc
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
device          atapifd         # ATAPI floppy drives
device          atapist         # ATAPI tape drives
options         ATA_STATIC_ID   # Static device numbering
                                        # output.  Adds ~215k to driver.
device          scbus           # SCSI bus (required for SCSI)
device          da              # Direct Access (disks)
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse
device          kbdmux          # keyboard multiplexer
device          vga             # VGA video card driver
device          splash          # Splash screen and screen saver support
device          sc
device          agp             # support several AGP chipsets
device          pmtimer
device          cbb             # cardbus (yenta) bridge
device          pccard          # PC Card (16-bit) bus
device          cardbus         # CardBus (32-bit) bus
device          sio             # 8250, 16[45]50 based serial ports
device          uart            # Generic UART driver
device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device
device          le              # AMD Am7900 LANCE and Am79C9xx PCnet
device          miibus          # MII bus support
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          sl              # Kernel SLIP
device          ppp             # Kernel PPP
device          tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
device          md              # Memory "disks"
device          bpf             # Berkeley packet filter
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK          ####IPFILTER防火墙
options VESA
options SC_PIXEL_MODE
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)  ###终端色彩
#make buildkernel KERNCONF=XUCJ
#make installkernel KERNCONF=XUCJ
#reboot     #接下来就是重启了
如果重启的时候有问题就要用原来的内核启动了。
在重启的时候选择6
OK: unload
OK:boot /root/kernel.old/kernel
就可以启动到就的内核了(所以一般要保存一个能正常启动的内核如,/root/kernel.good/kernel)
能够正常进入到登录界面的话,就可以看到
[freebsd @ /root]# uname -a
FreeBSD freebsd.com.cn 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Mon Jul  7 12:12:03 CST 2008     
root@freebsd.com.cn:/usr/obj/usr/src/sys/XUCJ  i386
接下来先配置一下系统
#ee /root/.cshrc #添加修改下面的东西
alias rm rm -i
alias cp cp -i
alias ll ls -lGA
alias mv mv -i
set autolist
set prompt = "[`/bin/hostname -s` @ %/]# "
#source /root/.cshrc
然后配置的ssh远程登录了。
#ee /etc/ssh/sshd_config #添加修改下面的东西
Port 22
Protocol 2
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no
#/etc/rc.d/sshd restart
远程登录一下吧
接下来就要安装需要的软件了。
首先安装的vim编辑器
采用pkg_add -r来安装vim
#pkg_add -r vim #这样安装可能会比较慢,为了加快速度在/root/.cshrc中加入setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/
重新登录一下或者
#source /root/.cshrc
#pkg_add -r vim
安装完成之后就是配置vim了。
#cp /usr/local/share/vim/vim71/vimrc_example.vim /root/.vimrc
#cp /usr/bin/vi /usr/bin/vi.bak
#ln -s /usr/local/bin/vim /usr/bin/vi
这样子vim就可以了。
web服务器可是重头戏。先来安装看看
安装apache,现在我采用prots来安装如果没有安装ports,先安装(#sysinstall ->configure->Distributions->ports)
#cd /usr/ports
#make searce name=apache22 #找到PATH
#cd /usr/ports/www/apache22
#make config  #选择要安装套件(现在一下DAV模块,接下来还要安装svn)
#make WITH_BERKELEYDB=db42 install clean
记得rehash
没有出错的话,配置。
#vi /etc/rc.conf #添加
apache22_enable="YES"
启动一下看看
#/usr/local/etc/rc.d/apache22 start
打开页面看看有没有“IS WORKS!”字样。
不能少了mysql
#cd /usr/ports/databases/mysql50-server
#make install clean #选择安装的套件。
安装php5
#cd /usr/ports/lang/php5
#make config #选择apache
#make install clean
安装php5-extensions
#cd  /usr/ports/lang/php5-extensions
#make  config #选择gd mysql等套件
#make install
配置一下
#vi /usr/local/etc/apache22/httpd.conf  #修改一下
    DirectoryIndex index.html index.php
AddType application/x-httpd-php .php .phtml .php3   
AddType application/x-httpd-php-source .phps
#cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
安装zendOptimizer 可以到/usr/ports/devel/ZendOptimizer下载#make fetch
安装过程中可能出现一些库找不到。可能是的版本太高。locate一下做一个软链接即可。
现在才发现ports安装是最省事的。如果觉得ports安装太慢的话。
#vi /etc/make.conf
MASTER_SITE_OVERRIDE=ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
就可以了
理所当然,接下来安装的是FTP了,pureftpd也许是不错的选择
#cd /usr/ports/ftp/pure-ftpd/
#make config
#选择一下mysql吧。
#make install clean
#rehash
配置一下。
#vi /etc/rc.conf
添加pureftpd_enable="YES"
#vi /usr/local/etc/pure-ftpd.conf
MySQLConfigFile               /usr/local/etc/pureftpd-mysql.conf
UnixAuthentication            yes可以保证同时支持系统用户
NoAnonymous                 yes
CreateHomeDir               ye
#创建一下mysql数据库表
CREATE DATABASE ftpusers;
USE ftpusers;
CREATE TABLE `users` (
  `User` varchar(16) NOT NULL default '',
  `Password` varchar(32) binary NOT NULL default '',
  `Uid` int(11) NOT NULL default '14',
  `Gid` int(11) NOT NULL default '5',
  `Dir` varchar(128) NOT NULL default '',
  `QuotaFiles` int(10) NOT NULL default '500',
  `QuotaSize` int(10) NOT NULL default '30',
  `ULBandwidth` int(10) NOT NULL default '80',
  `DLBandwidth` int(10) NOT NULL default '80',
  `Ipaddress` varchar(15) NOT NULL default '*',
  `Comment` tinytext,
  `Status` enum('0','1') NOT NULL default '1',
  `ULRatio` smallint(5) NOT NULL default '1',
  `DLRatio` smallint(5) NOT NULL default '1',
  PRIMARY KEY  (`User`),
  UNIQUE KEY `User` (`User`)
) TYPE=MyISAM;
INSERT INTO ftpusers.users VALUES ('ftpuser_1',MD5('tmppasswd'),65534, 31, '/usr', 100, 50, 75, 75, '*', 'Ftp user (for
example)', '1', 0, 0);
#
编辑一下pureftpd-mysql.conf
里面的一看就明白了。
Subversion的安装
FreeBSD安装subeversion也不麻烦
#cd /usr/ports/devel/subversion
#make WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes WITH_PYTHON=yes WITH_ASVN=yes install clean
#rehash
和apache配置一下。看看有没有
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so
#vi /usr/local/etc/apche22/httpd.conf
   DAV svn
   SVNParentPath /usr/local/svn/
   SVNListParentPath on
   AuthzSVNAccessFile /etc/svnaccesspassword
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /etc/svnpassword
   Require user xucj
#htpasswd -c /etc/svnpassword xucj
#vi /etc/svnaccesspassword
#svnadmin create /usr/local/svn/PROJECT_NAME
#vi /etc/svnaccesspassword
[/]
* = r
[PROJECT_NAME:/]
xucj =rw
访问一下看看
安装一下cacti来监视一下自己的电脑,方便!
首先要安装的是net-snmp
#cd /usr/ports/net-mgmt/net-snmp
#make isntall clean
#vi /etc/rc.conf
snmpd_enable="YES"
snmpd_flags="-a -p /var/run/snmpd.pid"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
#vi /usr/local/share/snmpd
com2sec notConfigUser  default       public
group MyRWGroup v1         notConfigUser
group MyRWGroup v2c        notConfigUser
view    systemview    included   .1
access  MyRWGroup ""      any       noauth    exact  systemview none none
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
syslocation paoloVM
syscontact Paolo
proc mountd
proc ntalkd 4
proc sendmail 10 1
exec echotest /bin/echo hello world
disk / 10000
load 12 14 14
pass .1.3.6.1.4.1.2021.255 /bin/sh PREFIX/local/passtest
#/usr/local/etc/rc.d/snmpd start
#/usr/local/etc/rc.d/snmptrapd start
#snmpwalk -v 1 -c public localhost system #测试一下有下面出现就说明snmp安装成功了
SNMPv2-MIB::sysDescr.0 = STRING: FreeBSD freebsd.com.cn 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Mon Jul  7 12:12:03 CST 2008     
root@freebsd.com.cn:/usr/obj/usr/src/sys/XUCJ i386
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2793818) 7:45:38.18
SNMPv2-MIB::sysContact.0 = STRING: Paolo
SNMPv2-MIB::sysName.0 = STRING: freebsd.com.cn
SNMPv2-MIB::sysLocation.0 = STRING: paoloVM
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (23) 0:00:00.23
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.9 = OID: IF-MIB::ifMI
.....
接下来安装rrdtool
#cd /usr/ports/databases/rrdtool
#make config 选择perl
#make install clean
#rehash
下载一下cacti配置一下。
#cd /PATH/TO/cacti
#mysql -p cacti <cacti.sql
#crontab -e
*/1 * * * * /usr/local/bin/php  /PATH/TO/cacti/poller.php
#vi /usr/local/etc/apache22/extra/httpd-vhosts.conf配置一下虚拟机
先到这里!



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18639/showart_1079521.html

论坛徽章:
0
2 [报告]
发表于 2008-09-13 16:30 |只看该作者
内核还有很多可以精简的项目:

options         SCHED_4BSD              # 4BSD scheduler
如果是7.0-RELEASE以上应该用SCHED_ULE了

options         UFS_ACL                 # Support for access control lists
在个人桌面以及网络服务器等应用上根本没有必要

options         UFS_DIRHASH             # Improve performance on big directories
除非需要在同一目录下会有几万几十万文件出现,才需要。如果当真一个目录下会出现几十万个文件,那一定是程序设计不良。

options         MD_ROOT                 # MD is a potential root device
正常工作状态的机器需要吗?

options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
除非你确实需要NFS支持,否则就应该删除。偶尔用一下NFS应该通过module加载

options         CD9660                  # ISO 9660 Filesystem
除非用于桌面,否则应该删除,需要的时候通过module加载

ptions         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
以上三项,除非你的软件明确需要,否则应该删除。

device          eisa
现在能找到有EISA总线的机器是一件很不容易的事情。

device          fdc
你的机器上还有软盘吗?

device          ataraid         # ATA RAID drives
device          atapifd         # ATAPI floppy drives
device          atapist         # ATAPI tape drives
这样的ATA设备吗?都是很不常见的。

device          scbus           # SCSI bus (required for SCSI)
device          da              # Direct Access (disks)
有SCSI硬盘或者使用U盘时才需要

device          agp             # support several AGP chipsets
做桌面时需要,服务器不需要

device          cbb             # cardbus (yenta) bridge
device          pccard          # PC Card (16-bit) bus
device          cardbus         # CardBus (32-bit) bus
笔记本的PC卡,服务器不需要。

device          sio             # 8250, 16[45]50 based serial ports
几乎已经没有人还使用串口。

device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
几乎已经没有人使用并口了。

device          plip            # TCP/IP over parallel
用并口进行网络通讯?哪一年的事情了。

device          ppi             # Parallel port interface device
几乎已经没有人使用并口了。

device          sl              # Kernel SLIP
device          ppp             # Kernel PPP
内核级SLIP、PPP几乎都不被使用

device          tun             # Packet tunnel.
除非PPPoE或者桥接才需要tun设备

options VESA
options SC_PIXEL_MODE
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)  ###终端色彩
终端色彩?有必要吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP