分类: BSD
2011-02-25 09:45:27
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?={DIST_SUBDIR}/ MASTER_SITE_OVERRIDE?={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和内存地址 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13704/showart_2184037.html |