FreeBSD学习笔记整理

FreeBSD学习笔记整理

1、查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep “CPU:”

2、查看内存:
dmesg | grep “real memory” | awk -F ‘[( )]’ ‘{print $2,$4,$7,$8}’

查看swap:
top | grep “Swap:” | awk ‘{print $1,$2}’

3、查看硬盘:
diskinfo -vt /dev/ad0
disklable /dev/ad0s2 #查看分区信息
看硬盘大小:
dmesg | grep “sector” | awk ‘{print $1,$2}’
diskinfo -v /dev/da0 | grep “in bytes” | awk -F'[()]’ ‘{print $2}’

4、查看服务器品牌:
dmesg | grep “ACPI APIC”

5、挂载文件系统:
fat32:mount_msdosfs -L zh_CN.eucCN /dev/ad0s1 /mnt
ntfs:mount_ntfs -C eucCn /dev/ad0s1 /mnt
cdrom:mount_cd9660 /dev/acd0 /mnt
注:ntfs在FreeBSD中只能读无法写入

6、给文件添加或禁用系统禁删标志(目录不适用):
chflags sunlink file1
chflags nosunlink file1

7、初始化磁盘:
fdisk -BI ad1

8、建立FreeBSD分区:
disklabel -B -w -r ad1s1 auto

9、建立逻辑分区:
disklabel -e ad1s1

10、格式化分区,创建文件系统:
newfs /dev/ad1s1e

11、显示PCI硬件信息:
pciconf -lv

12、开启Linux 二进制兼容支持(启用这一功能最简单的方法是载入 linux KLD 模块):
kldload linux
让Linux兼容在系统初始化时自动启用,在/etc/rc.conf中中入:
linux_enable=”YES”

13、检查KLD模块是否加载:
kldstat

14、在内核中静态链接进Linux二进制兼容模式,在内核配置文件里面加入:
options COMPAT_LINUX

15、设置网卡em0的IP地址:
ifconfig em0 inet 192.0.2.10 netmask 255.255.255.0

16、给网卡em0设置添加一个别名IP地址:
ifconfig em0 inet 192.168.51.45/24 add

17、删除网卡的别名IP地址:
ifconfig em0 inet 192.168.51.45 -alias

18、设置网卡em0的工作模式为100baseTX全双式:
ifconfig em0 media 100baseTX mediaopt full-duplex

19、当/usr/local/etc/rc.d下的脚本无法自动启动时,可尝试在/etc/rc.conf中加入一行:
local_startup=”/usr/local/etc/rc.d”

20、在ports中寻找需要的软件,进入/usr/ports目录执行:
make search name=lsof 或 echo /usr/ports/*/*lsof* 或 whereis lsof
make search key=关键字 # 在名字、注释、描述中搜索关键字

21、使用package方式安装管理软件,使用以下命令:
pkg_add lsof-4.56.4.tgz # 安装软件包
pkg_info  # 列出已安装所有软件包
pkg_version  # 统计所有安装的软件版本,比较本地package的版本与ports目录中的当前版本是否一致
pkg_delete lsof-4.56.4 # 删除软件包,需提供完整包名

22、使用CVSup协议更新本地ports:(将cvsup.FreeBSD.org改为离得较近的CVSup服务器)
csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

23、一些shell会缓存环境变量PATH中指定的目录里的可执行文件,以加快查找速度,这会造成一些新安装的命令无法运行,执行以下命令,然后才能运行新安装的那些命令:
rehash 或 hash -r

24、当不是所有时间都能上网时,可在/usr/ports下执行以下命令,所有需要的文件都将被下载:(此命令可以在下级目录中执行,如/usr/ports/comms/nmp)
make fetch # 只下载所需要文件,不下载依赖包
make fetch-recursive # 连同依赖包一起下载

25、改变默认的Ports目录:
make WRKDIRPREFIX=/usr/home/example/ports install # 在/usr/home/example/ports中编译port,安装到/usr/local
make PREFIX=/usr/home/example/local install # 在/usr/ports中编译port,安装到/usr/home/example/local
make WRKDIRPREFIX=../ports PREFIX=../local install # 在../ports中编译port,安装到../local

26、使用portsclean工具清除临时目录和distfiles目录:
portsclean -C # 清除安装时的临时目录
portsclean -D # 清除distfiles目录下所有port都不引用的文件
portsclean -DD # 删除目前安装的port没有使用的源码包文件

27、强制手动检测SCSI设备,SCSI总线扫描:
camcontrol rescan all

28、显示SCSI设备列表:
camcontrol devlist

29、利用管道修改用户密码:
echo “password” | pw usermod root -h 0
30、sed插入行:
sed -i -E ‘/service port/a \\
apex port : 18306\\
‘ /home/xiyou/config

31、用freebsd的MBR覆盖现有的MBR:
fdisk -B -b /boot/boot0 device

32、根据一个新的文件重新构建用户列表:
pwd_mkdb -p /etc/master.passwd.new # -p即为生成新的/etc/passwd

33、取时间:
date -v -1d +%Y%m%d # Freebsd取昨天日期方法
date -v -1w +%Y%m%d # Freebsd取上周今日方法
date -v -1m +%Y%m%d # Freebsd取上个月今日方法
date -v -1y +%Y%m%d # Freebsd取去年今日的方法

34、以xiyou用户身份执行命令或脚本:
su – xiyou -c “cd /home/xiyou/script; ./start_apex.sh &”

35、tar打包时排除某个子目录:
tar zcvf Apex09010702.tgz –exclude=ApexItemServer/hook_log ApexItemServer
注:上例是使用GUN版本的tar程序格式,否则–exclude参数应放在最后
36、锁住终端:
lock -np #-n 永不超时,-p 使用系统密码作为开启终端的密匙

37、显示ATA设备列表:
atacontrol list

38、查看网络流量:
systat -if 1 #1表示1秒刷新屏幕一次,Traffic 流量 peak 峰值 average 平均值
netstat 1

39、查看硬盘详细分区实时读写状况:
gstat

40、进单用户模式也需要密码:
a. vi /etc/ttys 找到when going to single-user mode
b. 修改console none unknown off后面的secure,改为insecure
c. 存盘退出

41、在FreeBSD5.X以上加载,卸载ISO文件:
mount:
mdconfig -a -t vnode -f myisofile.iso #屏幕输出md0或者类似的设备名
mount -t cd9660 /dev/md0 /mnt
umount:
umount /mnt
mdconfig -d -u 0 #-u后面的数字和前面的md?中的数字一致
mdconfig -l #可以列出关于配置md?设备的信息

42、更新配置文件,比如编辑了.cshrc等文件,就需要用source命令:
source .cshrc
43、修复UFS文件系统分区:
fsck_ufs /dev/ad1

44、pf防火墙
pfctl -e                 # 启动pf防火墙
pfctl -d                 # 停止pf防火墙
pfctl -sa | grep Status  #查看状态
pfctl -f /etc/pf.conf    # 载入 pf.conf 文件
pfctl -nf /etc/pf.conf   # 检查配置文件错误,但不载入
pfctl -Nf /etc/pf.conf   # 只载入文件中的NAT规则
pfctl -Rf /etc/pf.conf   # 只载入文件中的过滤规则
pfctl -sn    # 显示当前的NAT规则
pfctl -sr    # 显示当前的过滤规则
pfctl -ss    # 显示当前的状态表
pfctl -si    # 显示过滤状态和计数
pfctl -sa    # 显示任何可显示的

pfctl -t http_table -T show               #查看动态表
pfctl -t http_table -T add 192.168.1.X    #添加一个IP到表
pfctl -t http_table -T del 192.168.1.X    #从表中删除IP

45、系统优化+防止ddos
加载文件修改
# vi /boot/loader.conf #加入如下文本
kern.dfldsiz=”2147483648″             # Set the initial data size limit
kern.maxdsiz=”2147483648″             # Set the max data size
kern.ipc.nmbclusters=”0″             # Set the number of mbuf clusters
kern.ipc.nsfbufs=”66560″              # Set the number of sendfile(2) bufs
##解释:
a.   第一,第二行主要是为了突破1G内存设置的
b.   第三行其实是bsd的一个bug,当系统并发达到一个数量级的时候,系统会crash,这个是非常糟糕的事情,所幸更改了这个参数后,在高并发的时候,基本可以没有类似情况,当然非常bt的情况,还得进一步想办法
c.   第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的
Sysctl修改
#vi /etc/rc.local
sysctl kern.ipc.maxsockets=100000    ##增加并发的socket,对于ddos很有用
sysctl kern.ipc.somaxconn=65535      ##打开文件数
sysctl net.inet.tcp.msl=2500         ##timeout时间
加速ports安装
#vi /etc/make.conf     ##加入如下
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/
Freebsd颜色显示
secureCRT设置:仿真:终端->linux>勾选ANSI颜色–>确定
#vi /etc/csh.cshrc ##加入如下
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
#cd /usr/ports/edit/vim;make install
#echo “syntax on”>/root/.vimrc
#echo “alias vi        vim” >>/root/.cshrc
##颜色主要是靠vim来显示的,因此需要安装vim,然后把vi alias成vim就可以了

46、查看系统状态
fstat     #报告系统中打开文件的信息
pstat -T   #显示这几个系统表的状态,包括当前使用的和可以利用的系统表空间,因此可以用来检查系统在当前负载下是使用多大的系统表,帮助进行优化系统性能
systat    #缺省情况下systat是报告处理器的使用率,包括总利用状态、空闲使用率和各个进程的使用率
通过指定参数,systat也能进行I/O的统计、虚存的统计、网络的统计等,这些参数包括-iostat, -vmstat, -mbufs, -netstat, -ip, -icmp, -tcp, -swap等
kldstat -v  #显示内核加载的模块
klsdstat -m ipfilter   #显示指定模块
pnpinfo    #即插即用设备
devinfo -u  #显示设备占用的IRQ和内存地址

原文链接:http://blog.chinaunix.net/u3/112017/showart_2213285.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注