1. 我在学习FreeBSD 8.1 
  2. 第一天、安装FreeBSD 
  3. 学习酒哥<构建高可用linux服务器>知识总结
  4.  
  5. 一、FreeBSD的安装方式: 最小化安装 <缺少很多东西,需要自己在后面补充安装> 
  6. a、portsnap  <类似于软件仓库,第一次运行会自动下载各类Freebsd软件的源码编译文件> 
  7.     运行make install clean 时,软件包会检查编译环境、信赖包然后开始在线编译安装、能保证软件 
  8. 包都是最新的。个人感觉非常好!感觉就是把源码编译过程做了简化: 
  9.     1、本地make文件,远程下载源码包,在本进行编译安装。 
  10.     2、通过portsnap进行更新各分类源码包的make的编译文件。 
  11.  
  12. 二、最小化[mini]安装后,系统环境应该做些什么?<先做好portsnap,安装会快很多> 
  13. 我认为这是一个比较烦的过程,为什么?因为我装好一个freebsd我希望能够立即开始工作,而不是要装一 
  14. 堆包。而且portsnap对网络环境有信赖,这或许是好也是不好的地方。 
  15. 网上有一篇文章说是经典的安装方法: 它没有使用mini或是其他的安装方法 
  16. 初始化这个环境,花了不少时间,一堆的信赖关系. 
  17. a、portsnap 
  18. b、bash 
  19. c、vim  
  20. d、IP、DNS的设定 
  21. e、路由的设定 
  22.  
  23.  
  24. 如何配置portsnap? 
  25. 默认情况下,这个其实是不需要配的,只是因为portsnap.conf里默认的SERVER地址可能有些慢,换个快点的。 
  26. # vi /etc/portsnap.conf 
  27. SERVERNAME=portsnap.hshh.org 
  28.  
  29.  
  30.  
  31. 更换下载程序: 
  32. # cd /usr/ports/ftp/axel/ 
  33. # make install clean  
  34. # vi /etc/make.conf 
  35. FETCH_CMD=axel 
  36. FETCH_BEFORE_ARGS= -n 10 -a 
  37. FETCH_AFTER_ARGS
  38. DISABLE_SIZE
  39. MASTER_SIZE_OVERRIDE? = \ 
  40. http://ports.hshh.org/${DIST_SUBDIR}/ \ 
  41. http://ports.cn.freebsd.org/${DIST_SUBDIR}/ \ 
  42. ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ 
  43. MASTER_SITE_OVERRIDE? =${MASTER_SITE_BACKUP} 
  44.  
  45.    
  46. # 安装bash 
  47. # cd /usr/ports/shells/bash 
  48. # make install clean 
  49.  
  50. # 变更用户的shell 
  51. # chsh -s /usr/local/bin/bash  
  52. 注销掉当前会话,重新登录 
  53. # echo $SHELL 
  54. /usr/local/bin/bash 
  55.  
  56. 如何安装vim ? 
  57. 写到这里,当时直接使用了make install clean 导致后面安装了X11版本,很是痛苦; 
  58. 因为要装很多包,我一上午都在装包。。。 
  59. 要安装VIM命令行模式: 
  60. # make -DWITHOUT_X11 install clean 
  61. 完成之后,大功告成! 
  62.  
  63. 如何在一个网卡上设置多个IP? 
  64. # vim /etc/rc.conf  
  65. defaultrouter="192.168.1.1"    -->默认路由 
  66. hostname="freebsd.example.com"  -->主机名 
  67. ifconfig_em0="inet 192.168.10.29  netmask 255.255.255.0" 
  68. ifconfig_em0_alias0="inet 192.168.1.29  netmask 255.255.255.0" 
  69. keymap="us.iso" 
  70. sshd_enable="YES"  -->开机启动sshd,这个写法很特别,这个是利用sysinstall生成的。 
  71. 如果这行没有,你会发出你根本无法启动sshd,使用/etc/rc.d/sshd start 会报错,
  72. 提示让你把sshd_enable="YES" 写入到/etc/rc.conf 
  73.  
  74. 当然,写完这个文件后,如何生效? 
  75. 1、sh /etc/rc.conf 
  76. 2、/etc/netstat 
  77.  
  78. Freebsd使用ifconfig_em0_aliasX来定义网卡,以此类推可以: 
  79. ifconfig_em0_alias1="inet 192.168.11.29  netmask 255.255.255.0" 
  80. ifconfig_em0_alias2="inet 192.168.12.29  netmask 255.255.255.0" 
  81. ifconfig_em0_alias3="inet 192.168.13.29  netmask 255.255.255.0" 
  82.  
  83. 如何设置多个路由?FreeBSD路由的写法与Linux不一样。 添加路由 
  84. 命令行方法设置路由: 
  85. Linux: route add -net 192.168.11.0 netmask 255.255.255.0 gw 192.168.10.1 
  86. FreeBSD: route add -net 192.168.11.0/24 192.168.10.1 
  87.  
  88. 编辑文件的方式: 
  89. Linux:  
  90. # vim /etc/sysconfig/network-scripts/route-eth0 
  91. 192.168.11.0/24 via 192.168.10.1 
  92.  
  93. FreeBSD: 
  94. # vim /etc/rc.conf 
  95. static_routes="net11 net12 net12" 
  96. route_net11="-net 192.168.11.0/24 192.168.10.1" 
  97. route_net12="-net 192.168.12.0/24 192.168.10.1" 
  98. route_net13="-net 192.168.13.0/24 192.168.10.1" 
  99.  
  100. 查看路由表:命令上有差异 
  101. Linux: route -n 
  102. FreeBSD: netstat -nr  
  103.  
  104. 设置vim模版? 
  105. # vim /root/.vimrc 
  106. set nobackup 
  107. set number 
  108. set cindent 
  109. set autoindent 
  110. set shiftwidth =2 
  111. set ruler 
  112. set softtabstop =2 
  113. set tabstop =2 
  114. set expandtab 
  115. syntax on 
  116.  
  117. 设置以上几行后,vim变得好用了,之前一用方向键就出字母现在不会了。 
  118.  
  119. 给bash点颜色看看? 
  120. [root@freebsd ~]# vim .profile  
  121. 添加以下内容: 
  122. PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h\[\e[35;40m\]\W\[\e[0m\]]\$\[\e[33;40m\]" 
  123.  
  124. 管理员多了,怎么分配权限? sudo 
  125. # cd /usr/ports/security/sudo 
  126. # make install clean 
  127.  
  128. 允许ROOT可以远程SSH 
  129. # vim /etc/ssh/sshd_config  
  130. PermitRootLogin yes 
  131. # /etc/rc.d/sshd reload 
  132. 安装sudo
    # cd /usr/portsnap/secrity/sudo
    # make install clean

    安装screen
    # find /usr/ports/ -name "screen"
    /usr/ports/sysutils/screen

    # cd /usr/ports/sysutils/screen
    # make install clean