[2012-08-21]FreeBSD9.0体验记
最近在看《构建高可用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体验记的更多相关文章
- 安装配置FreeBSD9全过程体验
安装配置FreeBSD9全过程体验(时长11分钟) 总所周知,FreeBSD是一个高效.稳定的UNIX操作系统.在今年年初,FreeBSD 又发布了9.0版本,它将采用全新的文本安装器,升级ZFS文件 ...
- for( unsigned int i=heapSize/2-1; i>=0; --i)
unsigned int的表示 今天在写堆排序的时候遇到一个BUG void builMaxHeap( int *arr,unsigned int heapSize){ unsigned int i; ...
- VMware EXSI 6.0 体验
VMware EXSI 6.0 体验 导读 VMware 作为虚拟化行业的老大,占据了80%的市场份额.而在服务器虚拟化就不得不说 VMware vSphere ,这个组合包括了VMware EXSI ...
- http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html
http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html
- http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html
http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html
- http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html
http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html
- 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 ...
- http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html
http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html
- 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)
安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法) 主要是因为版本号不正确 ...
随机推荐
- 【.net 深呼吸】在运行阶段修改应用配置文件
上一篇博文中,老周所介绍的自行编写的配置类,虽然能够很好地做封装,但它仅允许修改用户级别的配置,所以文件都是保存到用户配置目录下的.可是,许多情况下,我们还是不考虑用户隔离,而是能够直接修改与应用程序 ...
- koa2 use里面的next到底是什么
koa2短小精悍,女人不爱男人爱. 之前一只有用koa写一点小程序,自认为还吼吼哈,知道有一天某人问我,你说一下 koa或者express中间件的实现原理.然后我就支支吾吾,好久吃饭都不香. 那么了解 ...
- 如何写出面试官欣赏的Java单例
单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 今天我们不谈单例模式的用途,只说一说如果在面试的时候面试官让你敲一段代码 ...
- Python蜕变-2017-4-23
我的第一篇博客,这是试水练习.这次上的菜是Haporxy配置文件操作. <1> 上需求: 具体配置文件如下: global log 127.0.0.1 local2 daemon maxc ...
- 【JAVASCRIPT】React学习-JSX 语法
摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 JSX 语法 1. 定义 JSX 是javascript + xml 的合集,我们可以将javascript 与 ht ...
- angular JS中使用jquery datatable 自定义搜索按钮点击事件 和mRender的 ng-click事件
'use strict'; app.controller('DataTableCtrl', function ($scope, $compile) { $scope.searchFiles = { n ...
- 记Angular与Django REST框架的一次合作(1):分离 or 不分离,it's the question
前言:本次尝试源于我们内部的一个项目,由于前端逻辑比较复杂,就打算将前后端分开来开发.由于之前用Django开发过软件,对Angular.js(Angular 1.0版)也有一定的了解,因此就将技术路 ...
- nodejs01--什么是nodejs,nodejs的基本使用
nodejs使用范围 -直接在cmd命令行运行,在你的电脑上直接运行 -可以搭建一个web服务器(express,koa) -一些基本的使用 -modules是如何工作的 -npm管理modules ...
- MySQL replication illegal mix of collations
MySQL replication case 一则 转载:http://www.vmcd.org/2013/09/mysql-replication-case-%E4%B8%80%E5%88%99/ ...
- Oracle进程与系统进程
--Oracle进程与系统进程 --------------------------2013/11/25 这里讨论Linux/Unix环境下,oracle v$process与操作系统对应的关系. 系 ...