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是个非常麻烦的事情。

嵌入式设备的switch 以及PHY 芯片调试和选型 (1) 越来越的设备需要多网口的需求,于是需求搭配一个交换机实现网口的扩展。但是很多软件或是硬件工程师在实际选型和应用中经常会遇到一些问题。这里总结一下,避免大家采坑。 几个概念: MAC(介质访问控制),可以理解成数据链路层即可 PHY(物理性),简单理解层转成物理层的连接组件即可 控制接口(MDC/DMIO,I2C,... 阅读详情

相关推荐

Win11 系统下 VisualStudio2022 配置点云库 PCL1.11.1

安装完成之后打开文件夹E:\PCL 1.11.1\3rdParty\OpenNI2双击 并选择路径 (E:\PCL 1.11.1\3rdParty\OpenNI2) 安装即可全部安装完成之后,将pcl-1.11.1-pdb-msvc2019-win64.zip解压后的 .pdb文件拷贝到(E:\PCL 1.11.1\bin)中设置环境变量:到此,环境变量配置完成。

qq_53545309的博客 1080

freebsd sudo配置使用

首先第一步当然是安装sudo 安装好了之后会产生一个sudoers文件 如果你的sudo安装在/usr/bin/sudo下面的话,sudoers文件可能就在/etc/下面 如果你的sudo安装在/usr/local/bin/sudo下面,sudoers文件在/usr

huazifly的专栏 4370

如何通过 Python 爬虫抓取并分析政府开放数据

通过本文的介绍,我们展示了如何使用Python 爬虫抓取并分析政府开放数据。通过requests获取政府开放数据的 API 接口数据。使用和pandas进行数据清洗与存储。使用matplotlib对数据进行可视化。你可以根据不同的政府开放平台和数据集进行调整,应用于不同领域的数据分析,如公共健康、交通、环保等。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1057

freebsd上安装sudo

方法一,cd /usr/ports/security/sudo make install clean 方法二,pkg_add -r sudo 可以使用pkg_info|grep sudo来获取sudo的版本号 sudo的配置文件在/usr/local/etc/sudoers里面,sudo的配置文件不应直接编辑,而应该使用visudo来进行修改。 下面是配置sudo的方法: qifan ...

weixin_30241919的博客 717

FreeBSD初体验

环境: windows 7 SP1 virtualbox 4.1.4 r74291 FreeBSD-9.0-RELEASE 今天第一次在virtualbox中安装FreeBSD虚拟机,安装过程类似centos,没有像ubuntu的可视化界面安装那么友好。 由于FreeBSD的网络等功能的配置文件的存放位置与ubuntu不尽相同,所以初次体验感觉很别扭。在进行系统设置时遇到

孤岛纤夫的专栏 2584

freebsd安装sudo

root# cd /usr/ports/security/sudo root# make install clean root# rehash sudo的配置文件是/usr/local/etc/sudoers,同时该目录下还有一个sudoers.default初始配置文件。 sudo的配置文件不能直接用其他编辑工具编辑,而必须用visudo来进行修改。 root# visud

tommy的专栏 2361

Bsd内核选项总结

Bsd7.2内核选项总结     一: 下面这个选项在每个内核中都要有: machine i386 它指明了机器的硬件体系结构。它必须是i386, pc98, sparc64, alpha, ia64, amd64, 和powerpc当中的一 种。 cpu I486_CPU cpu I586_CPU cpu I686_CPU 二: ident GENERIC ident

ttyttytty12的专栏 1986

freebsd卸载mysql_FreeBSD 系统管理员都应该知道那点秘密(3)

五、很多喜欢用adduser在FreeBSD里增加新用户,其实FreeBSD里可以用PW是来创建、删除、修改、显示用户和组的命令行工具。它还有系统用户和组文件编辑器的功能;其具体用法如下:1、用户管理1)用户添加pw [-V etcdir] useradd [name|uid] [-C config] [-q] [-n name] [-u uid] [-c comment][-d dir] [-e...

weixin_36430300的博客 422

FreeBSD

BSD家族大观 --1. FreeBSD 本文出自:http://www.zdnet.com.cn 作者: 《个人电脑》 (2002-04-04 08:02:01) 暂时忘记Windows和Linux吧:不太出名的BSD也许才是你所需要的 如果提到Web或者阅读一本计算机杂志就不可能不涉及到Linux,它是由Linus Torvalds 和其他人共同开发的伟大的操作系统。但是尽管Linux占据了最

学习........ 764

[ZT]BSD家族大观——FreeBSD、OpenBSD、NetBSD

本文出自:http://www.zdnet.com.cn 作者: 《个人电脑》 (2002-04-04 08:02:01)  暂时忘记Windows和Linux吧 不太出名的BSD也许才是你所需要的     如果提到Web或者阅读一本计算机杂志就不可能不涉及到Linux,它是由Linus Torvalds和其他人共同开发的伟大的操作系统。但是 尽管Linux占据了最重要的位置,ISP

Robert's Log 819

[转帖]FreeBSD、OpenBSD、NetBSD的区别

FreeBSD、OpenBSD、NetBSD的区别 Linux 的历史http://www.361way.com/unix-bsd/1513.html 一直unix在我心目中的地位都很高,unix的稳定性和完整性是windows和linux所无法匹敌的。而且从另一种意义上说,linux其实也算是从unix里的一个分支。我曾有幸安装过AIX,不过当时对u...

weixin_30265103的博客 1307

BSD家族大观:FreeBSD、OpenBSD、NetBSD

暂时忘记Windows和Linux吧,不太出名的BSD也许才是你所需要的。 如果提到Web或者阅读一本计算机杂志就不可能不涉及到Linux,它是由Linus Torvalds和其他人共同开发的伟大的操作系统。但是尽管Linux占据了最重要的位置,ISP和系统管理员们也经常选择BSD里的一种作为操作系统,BSD是一类建立在代码共享基础上的操作系统,在过去的20多年里,美国的顶尖学院都一直在对它...

magixyu?magixyu! 375

BSD家族大观——FreeBSD、OpenBSD、NetBSD

如果提到Web或者阅读一本计算机杂志就不可能不涉及到Linux,它是由LinusTorvalds和其他人共同开发的伟大的操作系统。但是尽管Linux占据了最重要的位置,ISP和系统管理员们也经常选择BSD里的一种作为操作系统,BSD是一类建立在代码共享基础上的操作系统,在过去的20多年里,美国的顶尖学院都一直在对它进行研究。  BSD究竟是什么呢?如果你在寻找一个非Window

软件开发、电子设计 1938

FreeBSD OpenBSD NetBSD BSD家族大观

暂时忘记Windows和Linux吧,不太出名的BSD也许才是你所需要的。 如果提到Web或者阅读一本计算机杂志就不可能不涉及到Linux,它是由Linus Torvalds和其他人共同开发的伟大的操作系统。但是尽管Linux占据了最重要的位置,ISP和系统管理员们也经常选择BSD里的一种作为操作系统,BSD是一类建立在代码共享基础上的操作系统,在过去的20多年里,美国的顶尖学院都一直在对它进行

YorkCai的专栏 1196

3步掌握Termscp:终端文件传输专家的秘密武器

还在为跨平台文件传输烦恼吗?Termscp是一款功能强大的终端文件传输工具,支持SCP、SFTP、FTP、S3、SMB等多种协议,让您无需离开终端即可完成本地与远程服务器之间的文件管理。本文将带您从零开始,掌握这款高效的文件传输神器。 ## 问题场景:为什么传统文件传输工具效率低下? 想象一下,您正在调试远程服务器上的应用,需要修改配置文件。传统做法是:先下载文件到本地,用编辑器修改,再上传回

gitblog_00583的博客 276

vmtouch 终极指南:掌控文件系统缓存的秘密武器

vmtouch 是一款功能强大的文件系统缓存诊断与控制工具,能够帮助用户深入了解和管理 Unix 及类 Unix 系统的文件系统缓存。通过 vmtouch,你可以轻松查看文件在内存中的缓存状态、将文件加载到缓存、从缓存中驱逐文件,甚至将关键文件锁定在物理内存中,避免被系统换出。 ## 为什么需要 vmtouch?揭秘文件系统缓存的重要性 🚀 在现代操作系统中,文件系统缓存扮演着至关重要的角色

gitblog_00099的博客 476

linux root operation,Linux 下 root用户删除文件提示:Operation not permitted的解决

一些文件在Linux 下看上去可能一切正常,但当您尝试删除的时候,居然也会报错,就象下边一样:[root@linux236 root]# ls -l 1.txt-rw-r--r-- 1 root root 0 Aug 5 23:00 1.txt[root@linux236 root]# rm -rf 1.txtrm: cannot unlink `1.txt': Operation not p...

weixin_42520374的博客 475

揭秘进程背后的秘密配置:witr环境变量查看功能终极指南 [特殊字符]

你是否曾经好奇某个进程为什么在系统中运行?或者想知道某个应用程序使用了哪些环境变量配置?今天我们来介绍一款强大的系统工具——witr,它能帮你快速查看进程的环境变量配置,揭示进程背后的秘密配置信息。witr环境变量查看功能是系统管理员和开发者的得力助手,让你轻松掌握进程的运行环境。 ## 什么是witr环境变量查看功能? 🤔 witr是一个跨平台的进程分析工具,它的核心功能是回答一个简单却重

gitblog_00323的博客 359
上一篇: SSH系统,调用HibernateTemplate.find()方法的时候,会导致内存泄露?
下一篇: FreeBSD Install Nginx Webserver
excpp
博客等级 码龄15年 0粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值