`
Joson_Coney
  • 浏览: 58960 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FreeBSD 系统管理员都应该知道的那点秘密

阅读更多

(转自: http://hi.baidu.com/enusre/blog/item/48d60cc9b348120601e928dd.html

 

 


FreeBSD 系统管理员都应该知道的那点秘密
2011-04-24 8:50

 

一、FreeBSD直接可以用命令彪悍的生级的,比如将FreeBSD8.0升级成FreeBSD8.1。

直接在FreeBSD的命令行模式下,输入以下命令

sudo freebsd-update -r 8.1-RELEASE upgrade

中间按提示输入就行了

Does this look reasonable (y/n)? 全 y

大部分都不需要修改,只是文件的版本时间改变

会有一些需要合并的文件,程序会自动用 vi 打开,解决一下就行了

结束后

sudo freebsd-update install

会有如下提示

Installing updates... Kernel updates have been installed. Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates

然后

sudo shutdown -r now

重新启动后

sudo freebsd-update install

uname -a 查看,已经OK了

FreeBSD www.wsck.com 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

※值得注意的是,线上的生产服务器全部用的是FreeBSD8_release AMD64版本,生级过程可能不一样;建议先用虚拟机或拿一些不是特别重要的线上服务器尝试,不建议直接生级,谨慎操作.

二、FreeBSD的vim确实跟Linux下vim有区别。

很多同学都向报怨说FreeBSD下的 vim不好用,特别跟RHEL比起来,这是不争的事实,其实稍为配置下vim用起来一点也不比Linux 差;我的FreeBSD机器,无论是VM学习机, 还是开发机器或线上的系统,均不采用root直接操作,都是用采取用户操作的方式,其vim配置文件如 下vim ~/.vimrc

set nobackup set number set cindent set autoindent set shiftwidth=2 set tabstop=2 set softtabstop=2 set expandtab set ruler syntax on

常用设定

下面说说一些常用的设定及其具体含义

set nobackup 不要备份文件,使用backup备份文件(原文件加后缀~)
set number 显示行号
set cindent 设定c风格缩进,使用nocindent取消设置
set autoindent 设定自动缩进,每行缩进与上一行相等,使用noautoindet取消设置
set shiftwidth=2 设定缩进为两个空格
set tabstop=2 设定制表符为两个空格
set softtabstop=2 设定软制表符为两个空格
set expandtab 缩进和(软)制表符使用空格替代,用noexpandtab取消设置
set ruler 显示光标所在行列号
syntax on 启动语法高亮

其中涉及到的名词术语相关解释

cindent

使用C语言的缩进方式,根据特殊字符如“{”、“}”、“:”和语句是否结束等信息自动调整缩进;在编辑 C/C++ 等类型文件时会自动设定;

softtabstop

软制表符宽度,设置为非零数值后使用Tab键和 Backspace时光标移动的格数等于该数值,但实际插入的字符仍受tabstop和 expandtab控制;这样配置vim比以前好用多了。

三、FreeBSD下配置网络环境,感觉比Centos简单些。

使用sysinstall进行网络配置的优点是所有的网络数据将在同一个界面下进行设置,不容易发生错误和遗漏现象。但熟练的unix用户在平时维护系统的时候更喜欢使用手工配置,因为手工配置有很多优点:

熟悉命令之后,手工配置更快; 

能够使用配置命令的高级特性; 

更容易维护配置文件,找出系统故障; 

能更深刻的了解系统配置是如何进行的。 

仅仅使用sysinstall进行设置,不可能对系统设置有深刻的了解,因而一旦发生问 题,就容易束手无策。 对于管理员来讲,不能被动的仅仅停 留在能够使用和操作的阶段,而是要了解系统是如何进行工作的,才能更好的进行系统维 护和管理。因而需要使用命令行方式。一旦熟悉之后,就会发现命令行才 能提供全部灵活的操作能力,而全屏幕方式限制很多 ,过于呆板。另外,为了让配置永久生效,我推荐跟centos5.4一样配置,采用文件配置方式,过程 如下(这里以FreeBSD8.0为例),感觉比 linux 简单,特别对比centos5.4下的网卡配置/etc/sysconfig /network-scripts/ifcfg-eth0而言,目录足足花了 我三天时间记忆:)

#vi /etc/rc.conf hostname="mail.bolaninfo.com" ifconfig_le0="inet 192.168.1.108 netmask 255.255.255.0" defaultrouter="192.168.1.1"

域名解析DNS配置如下

#vi /etc/resolv.conf nameserver 210.5.4.116 nameserver 210.51.176.71

为了让以上过程永久生效,reboot重启服务器后用ifconfig可验证ip地址,netstat -r可验证网关是否生效,nslookup及dig可验证DNS配置是否正确等。

另外这里稍为解释下名字解析hosts,它的执行顺序是优于DNS,现阶段多用于集群环境,如heartbeat、MySQL cluster等,配置过程如下

#vi /etc/hosts 192.168.1.100 HA1 192.168.1.101 HA2 192.168.1.188 vip.balaninfo.com

远程连接管理我工作中用的是Xmanager3的xshell,但FreeBSD8.0默认root是不能在非本地登陆的,这里需要改动下/etc/ssh/sshd_config文件。

※值得注意的是

A、系统需要改动的是/etc/ssh/sshd_config文件,而非/etc/ssh/ssh_config文件,这个问题让我郁闷了很长时间,这里煮酒为自己的大意要作自我批评了;

B、在sshd_config最后添加三项内容:

PermitRootLogin yes #允许root登录 PermitEmptyPasswords no #不允许空密码登录 PasswordAuthentication yes #设置是否使用口令验证

划红线的内容为必填项,然后重启sshd服务即可,/etc/rc.d/sshd restart。

四、强烈建议FreeBSD下采取sudo操作,可能有些玩Linux的同学不习惯;但你用久了就会发现,好处是利大于弊的。

虽然FreeBSD下可以配置成允许root远程ssh,但强烈建议不要这么做;建议还是分配一个有wheel权限的普通用户进行操作的好,如果有 特殊需求就必须要sudo,这样不仅安全,而且遇到毁灭性打击时,起码可以起到一点预警的作用,所以我在FreeBSD下强烈推荐sudo操作。

sudo是一款开源安全工具,它能允许管理员给予某些用户或组以作为root用户或其他用户从而运行特定命令的权利。这个软件还 能记录下特定系统用户的命令和参数。sudo的开发者声明这个软件的基本出发点就是“让人们以尽可能少的权限完成他们的工作。Sudo在1986年夏天首 次发行,Todd Miller先生现在负责这个程序并在BSD方式的许可证下发行它。Sudo主页:http://www.sudo.ws/sudo/ 。Sudo程序是一款在命令行方式下工作的安全工具,并且我们每次只执行一条命令。它支持的功能如表(Sudo几乎支持所有的UNIX类操作系统版本) 

五、很多喜欢用adduser在FreeBSD里增加新用户,其实FreeBSD里可以用PW是来创建、删除、修改、显示用户和组的命令行工具。它还有系统用户和组文件编辑器的功能;其具体用法如下:

1、用户管理

1)用户添加

pw [-V etcdir] useradd [name|uid] [-C config] [-q] [-n name] [-u uid] [-c comment] [-d dir] [-e date] [-p date] [-g group] [-G grouplist] [-m] [-k dir] [-w method] [-s shell] [-o] [-L class] [-h fd | -H fd] [-N] [-P] [-Y] [-V etcdir]

默认当新增组和用户时使用/etc/pw.conf作为pw配置文件,也可以指到别的文件上。pw.conf这个文件可以不存在。当使用这个参数时,需要使

用-C config [-C config] [-q] 在交互式环境中,这个选项使pw支持输出错误信息 [-N] 在添加和更改操作时输出结果,而不真正改变组和用户信息。 [-Y] 自动更新yp数据库。 [-n name] 指定用户名 [-u uid]指定用户id(ps:好像没什么用) [-c comment]用户全称等注释信息(ps:没什么用) [-d dir] 指定用户家目录 [-e date]帐号到期时间,时间格式可以是绝对的日-月-年,2为数字年或4位数字年,月可以是数字或英文月份的简写('Jan', 'Feb', etc)

也可以是相对时间,+n[分时天周月年],n可以是十进制、八进制[0开头]或十六进制[0x开头]。

[-p date]密码到期时间,时间格式同上。[-g group]指定组(组名或组id)。[-G grouplist]指定组列表,组以空格分开,如:-G wheel mysql teczm即把某账号置于这三个组内。[-L class]在用户创建时指定登录等级。[-m] 自动创建用户家目录[-s shell]指定用户shell

[-w method]method包括:

no 新创建的账号禁止登录yes 强制新建账号密码和账号一样(ps:这样不安全)none 强制新建账号使用空密码(ps:这样不安全)random 生成一个随机密码pw useradd username -g tests -d /home/test -s /bin/sh -h 0

增加参数 -h 0 可以出来password for user username:这样的提示来让你设定username的密码

2)组操作时常用选项 

[-M memberlist] 将用户置于组内,会替换掉已经存在的用户

[-m newmembers] 添加新用户到组内,不会替换掉已经存在的用户

示例:

1.新建一个用户bsder使用cshell,家目录为[color]/home/bsder[/color],属于组[color]wheel[/color],口令交互输入

#pw useradd bsder -s /bin/csh -d /home/bsder -m -g wheel -h 0 或#pw user add bsder -s /bin/csh -d /home/bsder -m g wheel -h 0

注: -h 0 可以出来password for user username:这样的提示来让你设定username的密码

2.将bsder使用的shell改为/bin/sh

#pw usermod bsder -s /bin/sh

3.将bsder置于test组内

#pw groupmod test -m bsder

4.锁定bsder用户帐号

#pw lock bsder

5.对bsder账号解锁

#pw unlock bsder

6.显示bsder用户属性

#pw usershow bsder

7、删除bsder用户

#pw userdel bsder 或#ps user del bsder

六、安装axel优化其ports速度,不要用默认的Fetch工具了。

FreeBSD中的ports安装工具默认工具是用fetch,下载时经常出现龟速现象;为了提高ports安装速度,我推荐axel工具,当然具体还得配置下make.conf文件。

cd /usr/ports/ftp/axel make install

#修改/et/make.conf

vi /etc/make.conf

#加入以下内容

FETCH_CMD=axel FETCH_BEFORE_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}#以上路径是为了用速度比较快的网站代替程序默认的下载源,达到加速的目的;我在家里没配置前大约是20kb/s左右,配置之后是230kb/s,所以强烈推荐。

七、大家都会用ports及pkg_add在FreeBSD安装软件,但它们的高级用法呢?特收录整理,以备不时之需。

①ports的目录在/usr/ports。

②POSTS安装软件有时可能这个包已经安装过了,会有提示,无法继续安装,能够用提示中的参数

#make install clean FORCE_PKG_REGISTER=yes

这样就能够继续安装了,yes不区分大小写。

③PORTS安装软件时有时能够下载回来的包的md5值不匹配,能够加参数强制安装。

#make install clean NO_CHECKSUM=yes

④如何查找安装一个ports软件

假如知道文件的详细名字,能够直接用whereis

#whereis php5

假如不知道细致文件名,能够用:

#cd /usr/ports #make search name=php

假如只知晓描述性主要字,能够用:

#cd /usr/ports/ #make search key=php

⑤如何查找已完装软件包的信息

#pkg_info

用管道命令过滤定位

#pkg_info grep php

⑥如何删除一个软件包

#pkg_delete 软件包细致名,细致名称能够用pkg_info grep 管道命令查出。

加上-f 参数,能够删除一人别的软件对其有依靠联系的软件包

#pkg_delete -f 软件包细致名

⑦PORTS安装软件后,如何修改配置

有些POST包安装时会有蓝色配置挑选页,通常选过一次后就不会再显示了

#make rmconfig 删除配置,须要有root权限

#make reconfig 重新配置,须要有root权限

⑧重新安装已安装ports软件包

#make reinstall

⑨删险已安装ports软件包

#make deinstall #make clean

⑩如果系统默认的下载地址失效了,你可尝试手动下载tbz软件包,然后用pkg_add 软件包名直接安装。

八、FreeBSD的远程连接

感觉pietty比起xshell来,更轻松和方便,远程ssh的FreeBSD机器也很容易,推荐大家尝试使用;记得在某篇文章里看过,这个工具 好像也是中国雅虎内部员工推荐使用的,因为FreeBSD基本都是隶属于wheel的用户(推荐sudo)来使用,因为不需要记密码,所以pietty使 用起来更实用。

九、FreeBSD下的虚拟机

感觉现在大家较喜欢用Vmwareg下的Exi和Xen来作虚拟机,其实FreeBSD自身就带了jail虚拟机;由于内网开发非常稳定,我们勇敢的将其也用于了生产环境,效果也不是太差,呵呵。

十、FreeBSD下的MySQL

FreeBSD下用MySQL效率确实 比在Centos下差,这个是不争的事实,有兴趣的朋友可对比二个平台环境下进行测试;我的MySQL生产 服务器是清一色的64bit的Centos,如果你需要跑Oracle等大型应用的话,而且Oracle在Linux下是支持的比较好的, 那么使用 Linux是个好的选择,因为在FreeBSD下安装Oracle是个非常麻烦的事情。

分享到:
评论

相关推荐

    强制访问控制综述(他们说标题要长)

    FreeBSD操作系统中的TrustedBSD MAC是一个实际应用的例子,它提供了一套灵活的MAC框架,允许系统管理员根据特定需求定制安全策略,增强了系统的可配置性和安全性。MAC在现代操作系统中的应用日益广泛,不仅限于军事...

    PhD_Thesis_Cristina_Pinneri.pdf

    PhD_Thesis_Cristina_Pinneri

    Git知识学习(尚硅谷)

    Git知识学习(尚硅谷)

    套筒机械加工工艺规程制订设计.rar

    套筒机械加工工艺规程制订设计.rar

    The First Adventures on Differential Geometry 9789811296178.pdf

    The First Adventures on Differential Geometry 9789811296178

    汽车防误踏油门机构的设计.zip

    汽车防误踏油门机构的设计.zip

    汽车离合器设计.zip

    汽车离合器设计.zip

    基于SpringBoot的文学创作社交论坛(源码+数据库+万字文档+ppt)533

    基于SpringBoot的文学创作社交论坛,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 1. **首页:** 浏览社交论坛的主要信息。 2. **火车信息:** 阅读和浏览用户发布的文学创作。 3. **公告资讯:** 查看社交论坛发布的重要通知和公告。 4. **后台管理:** - **首页:** 进行后台管理相关操作。 - **个人中心:** 管理个人信息,查看火车票订购历史等。 - **车票预订管理:** 预订文学创作,选择特定的创作者或主题。 - **车票退票管理:** 处理用户对已预订文学创作的退票请求。 5. **个人中心:** 管理个人信息。 【管理员功能】 1. **首页:** 查看社交论坛整体概况。 2. **个人中心:** 修改密码、管理个人信息。 3. **用户管理:** 审核和管理注册用户的信息。 4. **火车类型管理:** 管理文学创作的分类信息。 5. **火车信息管理:** 监管和管理社交论坛上的文学创作信息。 6. **车票预订管理:** 查看和管理用户的文学创作预订情况。 7. **车票退票管理:** 处理用户对已预订文学创作的退票请求。 8. **系统管理:** - **公告资讯:** 发布、编辑和删除系统的通知和公告。 - **关于我们:** 编辑和更新社交论坛的介绍。 - **系统简介:** 提供社交论坛的简要介绍。 - **轮播图管理:** 管理社交论坛首页的轮播图。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库

    数控铣床主轴箱设计.zip

    数控铣床主轴箱设计.zip

    某电镀废水工艺流程及平面布置图.zip

    某电镀废水工艺流程及平面布置图.zip

    joblib-0.9.0b4-py2.7.egg

    该资源为joblib-0.9.0b4-py2.7.egg,欢迎下载使用哦!

    价值60元的带会员和后台版的域名防红1.19最新免授权开心版

    管理会员制度渠道,掌管多种服务,黑白名单管理邮箱配置生成提醒发送对接易支付进行交易,订单列表,带有各种短网址功能提供接口对接,实现短网址+防红两不误,可自定义多中转域名,自动识别安全网址各种防红数据后台可显,自定义跳转网站 用户端android-ios 会员制度享受,自定义跳转网站,在线充值,我的生成,在线生成,为你的网址提供保护短网址列表接口文档数据显示,编辑我的生成 防红效果全网 在短网址与防红的前提下,为你的网站提供SEO服务以及腾讯相关网站检测的优化 贴吧+短视频平台+ios+android+pc皆正常 安装:上传源码,访问安装。提示授权时,随意填写 6位数字即可

    joblib-0.9.0b3.tar.gz

    该资源为joblib-0.9.0b3.tar.gz,欢迎下载使用哦!

    实时操作系统毕业设计项目内含说明书.zip

    实时操作系统毕业设计项目内含说明书.zip

    python相关学习资源,python

    python

    塑料瓶自动封口机设计.rar

    塑料瓶自动封口机设计.rar

    CarPlay 系统功能介绍,比较专业的文档,告诉我们开发Carplay的时候需要遵循的规则

    内容概要:本文介绍了苹果公司在WWDC19上发布的CarPlay系统的最新进展,主要包括四个方面的改进:不规则形状显示屏支持、多屏显示支持、动态屏幕尺寸调整以及“嘿,Siri”语音助手集成。不规则形状显示屏支持允许开发者为CarPlay定义交互区域,确保内容适应各种非矩形屏幕。多屏显示支持使车辆可以在多个屏幕上同时展示CarPlay界面,如中心控制台和仪表盘,提供导航、音乐播放等不同内容,并支持独立的夜间模式。动态屏幕尺寸调整功能让CarPlay界面可以实时调整大小,以适应不同的驾驶环境或用户需求。最后,“嘿,Siri”功能让用户可以通过语音唤醒Siri,即使在播放音乐时也能无缝交互,系统内置了持续的回声消除和降噪处理,确保语音识别的准确性。; 适合人群:汽车制造商、软件开发者以及对车载信息系统感兴趣的科技爱好者。; 使用场景及目标:①汽车制造商可以根据新的CarPlay特性优化车内娱乐和导航系统的用户体验;②开发者可以利用这些新特性创建更加丰富的车载应用程序;③科技爱好者可以了解最新的车载技术发展趋势。; 其他说明:文档详细描述了CarPlay系统的技术细节,包括语音活动检测器、关键词检测器、回声消除和降噪等功能的工作原理,以及车辆系统的要求,如始终开启的麦克风输入流处理、连续回声消除和降噪等。更多相关信息可参考苹果开发者网站。

    蓝桥杯第十六届省赛真题!

    内容概要:本文档为第十六届蓝桥杯单片机设计与开发项目省赛的程序设计试题说明,面向大学组。文档详细规定了比赛的基本要求、硬件配置、功能描述、性能要求、输出控制、显示功能、按键功能及初始状态。参赛者需要使用指定的单片机竞赛实训平台,完成环境温度、光强、物体运动状态的检测,并通过数码管、LED指示灯、继电器等实现相应的数据显示、状态指示与控制功能。所有程序需在Keil环境下开发,并按要求提交工程文件。 适合人群:具有单片机编程基础的大专院校学生或相关专业技术人员。 使用场景及目标:①掌握单片机编程技能,熟悉传感器数据采集与处理;②学会通过数码管、LED、继电器等实现人机交互界面的设计与实现;③提高对硬件资源的有效利用能力,确保系统的实时性和稳定性。 阅读建议:此资源旨在帮助参赛者理解比赛规则和技术要求,建议仔细阅读各项功能的具体实现细节,特别注意硬件配置、性能指标以及提交规范的要求。同时,在实际操作中要严格按照文档中的规定进行开发和测试,确保作品符合评分标准。

    液压剪式升降平台(step SolidWorks)设计.rar

    液压剪式升降平台(step SolidWorks)设计.rar

    基于Python开发的一款简单易用的IT管理软件.zip

    基于Python开发的一款简单易用的IT管理软件.zip

Global site tag (gtag.js) - Google Analytics