最近在看《构建高可用Linux服务器》

由于对FreeBSD的稳定性仰慕已久,正好参照该书的指导进行体验一二。

先感谢下该书作者余大大,同时做个声明:本文中若有命令脚本涉及版权问题,请与personball@163.com联系

2012/08/21

最小化安装,略;

这里本人安装的是FreeBSD9.0-i386 在官网找来的500多M的一个iso刻盘。

更新ports源

国外的官方更新源一般网速都不太给力,改了更新源能省很多时间。

#修改ports配置文件
vi /etc/portsnap.conf,
#由于是最小化安装,连vim也是没有滴。
#这里要注意,幸亏修改的东西不多,vi不是很熟悉,也够用了。 #找到SERVERNAME=portsnap.freebsd.org改为:
SERVERNAME=portsnap.hshh.org

portsnap首次执行

portsnap fetch extract

以后更新执行

portsnap fetch update

安装axel

这个工具是代替默认的fetch,提高安装速度(其实就是获取源代码的速度吧?!)。

cd /usr/ports/ftp/axel
make install clean

然后修改make.conf

vi /etc/make.conf

!! FreeBSD9.0 在/etc目录下没有make.conf!!

于是,find 查找一下。。

freebsd# find . -name "make.conf"
./usr/share/examples/etc/make.conf

貌似是在一个示例目录里。奇怪,先不管,去看看先。

ok,全文都是注释掉的,那干脆直接copy到/etc下吧。

copy make.conf到etc目录下后,注意文件权限为只读,先改成可写

chmod u+w make.conf

然后vi编辑,在文件末尾添加

FETCH_CMD = axel
FETCH_BEFOR_ARGS = -n 10 -a
FETCH_AFTER_ARGS =
DISABLE_SIZE = yes
MASTER_SITE_OVERRIDE? = \
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE? =${MASTER_SITE_BACKUP}

设置sudo

之前的操作都是用root账户登录的,但是在往后的工作中直接用root是比较危险的,这时候就需要sudo了。

也要自己动手哦,不像我本子上的ubuntu12是默认装了。

依然去找ports

cd /usr/ports/security/sudo && make install clean

直接按默认选择安装内容吧,除非对sudo比较了解,可以选择诸如“防止root执行sudo”之类的东东。

装完sudo,赋予帐号权限。

修改文件 /usr/local/ect/sudoers

#在
root ALL=(ALL) ALL
#下添加一行
你的用户名 ALL=(ALL) ALL

!!遇到文件只读权限问题,自己动手chmod吧,记得编辑完再改回来,安全很重要。

至此,可以登出root账户了。

快去试试自己的授权账户能否正常sudo吧。

一个简单的尝试,验证sudo是否正常:

登出root,换sudo授权帐号登入,试试重启sshd服务。

$ service sshd restart  #试试直接执行命令
Stopping sshd.
kill: 1368: Operation not permitted #直接执行不被允许
sshd already running? (pid=1368).
$ sudo service sshd restart #试试sudo执行
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password: #输入你自己的登录密码
Stopping sshd.
Starting sshd. #成功重启

!!注意,如果你的机器不在附近,最好换个方法来实验sudo(小心sshd挂了的话就不能正常远程了),

比如访问一个非root用户禁止访问的文件

举个例子:

sudo cat /root/.history  #该文件非root用户不可访问

安装vim

cd /usr/ports/editors/vim
#事后提示:悲惨经历告诉大家,不要编译装这货,装精简版的吧 还有个vim-lite
sudo make install clean

吐槽:安装遇到好多相依赖的东西啊,装vim的过程,连python 和 perl 一起装了,各种lib,囧,装了好久好久,可能是安装过程不小心多选了什么特性?= =

下回继续。。

2012/08/22

vim-lite

好吧,今天继续昨天没安装完的vim。

实在是悲催,昨天中断安装过程,今天发现可以继续,但是历经1个多小时的安装,最后蹦出来3个ERROR,具体也不说了。

回到/usr/ports/editor/目录,发现还有个vim-lite 精简版(难怪。。。昨天选的是非精简版安装,难怪需要那么多依赖支持。。悲剧。

马上 sudo make install clean 不到2分钟就装完了!! (。。。。。。)

试了下,vim能用了,马上到主目录下添加自己的.vimrc吧。

安装bash并切换默认shell为bash

安装部分很简单

cd /usr/ports/shells/bash
sudo make install clean

切换shell,书上命令

sudo chsh -s /usr/local/bin/bash  #其实少了一个参数,用户名

安装完以后,我先试了下修改 /etc/passwd文件中对应自己账户的记录,最后一列,改为bash的路径/usr/local/bin/bash

但是退出后重新登录并不生效。

于是,百度了下,找到了命令,执行了

sudo chsh -s /usr/local/bin/bash 你的用户名

重登录,echo $SHELL ,输出 /usr/local/bin/bash 则表示切换成功!

bash相关设置,修改.profile 或者 .bashrc 就不讲了

结束

基础工作就此结束,接下来大家要部署啥服务,就自己随便玩啦,要安装的程序,先到/usr/ports下find一下,找不到再去网上搜,ports是个好东西,哈。

[2012-08-21]FreeBSD9.0体验记的更多相关文章

  1. 安装配置FreeBSD9全过程体验

    安装配置FreeBSD9全过程体验(时长11分钟) 总所周知,FreeBSD是一个高效.稳定的UNIX操作系统.在今年年初,FreeBSD 又发布了9.0版本,它将采用全新的文本安装器,升级ZFS文件 ...

  2. for( unsigned int i=heapSize/2-1; i>=0; --i)

    unsigned int的表示 今天在写堆排序的时候遇到一个BUG void builMaxHeap( int *arr,unsigned int heapSize){ unsigned int i; ...

  3. VMware EXSI 6.0 体验

    VMware EXSI 6.0 体验 导读 VMware 作为虚拟化行业的老大,占据了80%的市场份额.而在服务器虚拟化就不得不说 VMware vSphere ,这个组合包括了VMware EXSI ...

  4. http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html

    http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html

  5. http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

    http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

  6. http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html

    http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html

  7. http://www.cnblogs.com/ITtangtang/archive/2012/05/21/2511749.html

    http://www.cnblogs.com/ITtangtang/archive/2012/05/21/2511749.html http://blog.sina.com.cn/s/blog_538 ...

  8. http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html

    http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html

  9. 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)

    安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above.  (错误解决方法) 主要是因为版本号不正确 ...

随机推荐

  1. TypeScript 异步代码类型技巧

    在typescript下编写异步代码,会遇到难以自动识别异步返回值类型的情况,本文介绍一些技巧,以辅助编写更健全的异步代码. callback 以读取文件为例: readFile是一个异步函数,包含p ...

  2. Flunetd 用于统一日志记录层的开源数据收集器

    传统的日志查看方式 使用fluentd之后 一.介绍 Fluentd是一个开源的数据收集器,可以统一对数据收集和消费,以便更好地使用和理解数据. 几大特色: 使用JSON统一记录 简单灵活可插拔架构 ...

  3. Android学习笔记-Adapter基础讲解

    本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...

  4. salesforce零基础学习(七十六)顺序栈的实现以及应用

    数据结构中,针对线性表包含两种结构,一种是顺序线性表,一种是链表.顺序线性表适用于查询,时间复杂度为O(1),增删的时间复杂度为O(n).链表适用于增删,时间复杂度为O(1),查询的时间复杂度为O(n ...

  5. 数据结构随笔-php实现队列

    队列(Queue): 满足先进先出(FIFO)的规则: 下面使用php实现一个简单的循环队列模型: 初始状态的队列,队列长度为0,队头和队尾的指针相同均位于队列的开始: 入队操作:队尾指针向后移动,长 ...

  6. 在drawRect:方法中绘制图片,文字以及Core Graphics 框架的了解

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  7. [小北De编程手记] Lesson 01 - AutoFramework构建 之 从一个简单的Demo聊起

    写在最前面 这个系列的主旨是要跟大家分享一下关于自动化测试框架的构建的一些心得.这几年,做了一些自动化测试框架以及团队的构建的工作.过程中遇到了很多这样的同学,他们在学习了某一门语言和一些自动化测试的 ...

  8. cobbler无人值守批量安装Linux系统

    本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...

  9. 13. Roman to Integer【leetcode】

    Roman to Integer Given a roman numeral, convert it to an integer. Input is guaranteed to be within t ...

  10. Treap详解

    今天一天怼了平衡树.深深地被她的魅力折服了.我算是领略到了高级数据结构的美妙.oi太神奇了. 今天初识平衡树,选择了Treap. Treap又叫树堆,是一个二叉搜索树.我们知道,它的节点插入是随机的, ...