Tips:

  • sysctl -d kern.maxvnodes #查看系统控制选项的含义
  • true > file #清空文件内容
  • alias ls 'ls -I(大写i)' #取消 root 的 ls 自动显示隐匿文件

在线查詢 ports 库中的软件包信息

  • http://www.freebsd.org/ports

下载工具 fetch

  • 类似 wget,如: fetch ftp://ftp.center.kl.edu.tw/xxx.tgz

配置文件目录

  • /etc/defaults/ 系统默认的启动配置和脚本
  • /etc/periodic/ 计划任务

查看硬件信息

  • pciconf -lv | grep -i xxx(根据显示結果中的 vendor 信息,查询相关驱动帮助頁 man -k VENDOR
  • sysctl hw.model hw.ncpu
  • dmesg | grep -i cpu(类似的:memory、sector 等对应内存与硬盘)

文件保护

  • chflags sunlink xxx:防止誤删除
  • chflags nosunlink xxx:以 no 开头的标志表示解除状态
  • chflags simmutable /sbin/* 及 chflags -R simmutable /bin:set the system immutable(不可修改) flag

系统服务

  • /etc/netstart #初始化网络服务
  • /etc/rc.d/netif restart #重载 IP 配置
  • /etc/rc.d/routing restart #重载 route 配置
  • 默认 route 设定及更改:route add/change default xx.xx.xx.xx
  • 查询 routing table:netstat -rn
  • 查询网络接口流量统计:netstat -I
  • 查询 TCP网络联机情形:netstat -p tcp
  • 查询所有网络联机情形:netstat -a
  • 查看服务监听状态:sockstat -4 #IPv4,sockstat -6 #IPv6
  • 关闭 X 的6000端口:編辑 /usr/X11R6/bin/startx,设置 serverargs=”-nolisten tcp”
  • 一次性更改了大量的系统配置,使之一次性生效,无須重启:sh /etc/rc
  • 系统管理员編写的启动脚本存放路径:/usr/local/etc/rc.d

命令行使用快捷键

  • ctrl+a 行首
  • ctrl+e 行尾
  • ctrl+u 从当前位置删除到行首
  • ctrl+k 从当前位置删除到行尾
  • ctrl+w 向行首方向清除一个单詞

用户管理

  • adduser / rmuser / chpass

/etc/rc.conf.local 常用参数

  • local_unbound_enable="YES"
  • syslogd_flags="-ss":ss (两个s) 禁止来自远程主机的记录,仅允许本地日志
  • clear_tmp_enable=”YES”:在系统启动时清空 /tmp
  • update_motd=”NO”:禁止系统重建 /etc/motd 文件
  • icmp_drop_redirect="YES":預防 ICMP type5 重定向攻击,与 ping 没有关系
  • log_in_vain="YES":记录所有试图连接到已关闭端口的连接
  • accounting_enable="YES":启用系统审计功能
  • ifconfig_alc0="inet 10.1.1.10/8" #可设置为 “DHCP” 自动获取 IP
  • ifconfig_alc0_alias0="inet 172.16.10.10/16" #添加 IP 地址
  • defaultrouter="10.1.1.1":默认网关
  • sshd_enable="YES":设置随机启动

ports 管理

  • PKG
  • pkg which /PATH/TO/FILE :查詢指定文件是由哪个软件包安装的
    pkg autoremove :卸载软件包时,自动清除不再需要的依賴包
    pkg info :查看已安装的非系统软件列表
    pkg info PACKAGE :查看指定软件包的详细信息
    pkg delete PACKAGE :解除安装,同时适用于 ports 及 pkg 两种方式安装的包
    pkg check -d -a :检查所有已安装包是否存在依賴缺失问题
    pkg check -s -a :检查所有已安装包的完整性
    pkg audit :对所有已安装的包进行安全审计
    pkg create -o /PATH perl :为本机已安装的 perl 创建一个安装包 ,若不用 -o 指定輸出路径,则在当前目录下生成
    pkg create -a -o /PATH :为本机所有已安装的 port 创建安装包到提定路径
    pkg add [-f] /PATH/TO/CREATED_PACKAGES :安装先前 pkg create 生成的包,-f 强制安装(即使相同 port 已被安装)
    pkg -N :显示当前安装的非系统软件包数量
    pkg set -A 0 PACKAGE :保护指定包不会被 autoremove
    pkg set -A 1 PACKAGE :撤消保护状态
  • portsnap fetch:下载 ports 鏡像
  • portsnap extract:展开 ports 鏡像
  • portsnap update:用已 fetch 的新 snap 更新现有 ports 树,各选项可复合使用,后续更新可使用 portsnap fetch update
  • freebsd-update fetch:下载系统更新
  • freebsd-update install:安装系统更新
  • freebsd-update cron:同期性检查更新,主要用于 cron 中
  • whereis PACKAGE 或 ls /usr/ports/*/*PACKAGE*:搜索软件包位置
  • cd /usr/ports ; make search name=PACKAGE:搜索包的位置并查看详细信息,make quicksearch 查看简要信息
  • MAKE
  • make fetch:下载所在目录层級的源码包,不編译安装,若在 /usr/ports 目录中执行,将下载 ports 库中所有可用的源码包
    make fetch-list:列出将要下载的软件包
    make fetch-recursive:在指定 port 目录中执行,将同时下载依賴包
    make fetch-recursive-list:列出包括依賴包在内的下载列表
    make all-depends-list:列出将要安装的 port 的依赖列表
    make missing:列出依賴列表中尚没有在本机安装的条目,即本次将要安装的依賴包
    make checksum:核对下载的 port 包的完整性
    make install clean:安装软件包,并在安装完成后清理环境(源代码恢复初始状态),安装过程中可能会暂停数次,用于詢问配置目标包及其依賴包的可选功能
    make config-recursive:編译安装之前,一次性设置所有可用选项,安装过程中不会再出现暂停
    make config:重新配置当前软件包的选项
    make showconfig:列出已配置的选项
    make showconfig-recursive:连同依賴包的选项一起显示
    make rmconfig:清除用户选项,恢复初始状态
    make rmconfig-recursive:递归清除依賴包的选项
    make maintainer:显示当前 port 作者的邮箱
    make reinstall:重新安装
    make deinstall:卸载(注:若目标包被其它软件依賴,仍然会被卸载,但 ports 会給出提示信息)
    make all install :如果系统程序被誤删,可进入 /usr/src/usr.bin/file/ 及 ./usr.sbin/file/ 目录下执行該命令恢复
    make -jN -DNO_CLEAN :同时編译 N 个任务,不清空已編译出的对象文件(仅可在由于鍵盘誤按导致編译中断时可安全使用 NO_CLEAN)
  • portmaster -L:显示已安装的包及可更新的包
  • portmaster -a[nf]:更新所有包,-n 选项指仅测试并不实际編译安装,-f 选项指强制更新
  • portmaster PACKAGE:指定升級或新装某个包,同时解决依賴关系

top 快捷鍵

  • P:显示 per-CPU 负载
  • m:cpu 负载与 io 负载视图切换
  • S:仅显示系统服务进程
  • s:指定视图刷新的间隔(单位:秒)
  • u:指定某用户的进程

sh

  • #/root/.shrc
    export PS1="root@\h \w \$ "
    #~/.shrc
    export PS1="`whoami`@\h \W \$ "
    #/etc/profile
      alias ls="ls -aG"
      alias grep="grep --color=auto"
    . ~/.shrc  

设置环境

  • chsh -s bash USERNAME:如果不是从 ports 安装,则 echo /usr/local/bin/bash >> /etc/shells
  • rehash(tcsh/csh)/hash -r(sh): 清空 HASH 緩存,通常在新装软件包之后执行

定制内核

  • 没有在配置文件中指定的功能,默认将編译成模块
  • /boot/kernel:内核模块存放目录
  • /boot/loader.conf 中设置 xxx_load=“YES”:内核模块 xxx 将开机自动载入
  • /usr/src/sys/amd64/:内核源码目录
  • /usr/src/sys/amd64/conf/GENERIC:基于 x86_64 架构的内核主配置文件,不要直接編辑,cp 之后編辑副本;同一目录下的 NOTES 文件包含了額外不常用的配置选项
  • /usr/src/sys/conf/NOTES:此文件存放与架构无关的額外内核选项
  • cd /usr/src/sys/amd64/conf && make LINT:build a file which contains all available options
  • 編译步骤(make -jN ... 可利用多 CPU 核心加快編译速度)
  •  cd /usr/src
    make buildkernel KERNCONF=MyKernel :若在 /etc/make.conf 中指定了 KERNCONF=“MyKernel”,则此处可写简写为 make buildkernel ,下同
    make installkernel KERNCONF=MyKernel
    注:默认情况下,編译内核将会重新編译所有模块
  • 内核选项(功能 - 需求)
  • KERNEL / amd64
    #Dtrace
      options  KDTRACE_HOOKS
      options  DDB_CTF
      makeoptions  DEBUG=-g
      makeoptions  WITH_CTF=
      options  KDTRACE_FRAME
    #ZFS
    options  ZFS
    options  UFS_ACL
    options  NFSD 

FreeBSD_11-系统管理——{Part_0-基础}的更多相关文章

  1. FreeBSD_11 - 系统管理——{ Part_5 - ZFS }

    参考資料 http://docs.oracle.com/cd/E37934_01/html/E36658/toc.html https://www.freebsd.org/doc/en_US.ISO8 ...

  2. Linux基础:Day01

    Linux操作系统的知识体系: 1.初级  2.中级  3.高级  4.*额外知识*  1.初级  1.1.OS操作系统的原理  1.2.开始了解常用的命令(系统管理的基础命令)   开机关机   时 ...

  3. 从零开始编写自己的C#框架(23)——上传组件使用说明

    文章导航 1.前言 2.上传组件功能说明 3.数据库结构 4.上传配置管理 5.上传组件所使用到的类 6.上传组件调用方法 7.效果演示 8.小结 1.前言 本系列所使用的是上传组件是大神July开发 ...

  4. 从零开始编写自己的C#框架(21)——添加分类类型页面

    页面权限与页面控件权限经过简单的调试后,终于启用起来了,以后大家添加新页面时,就必须按照本章介绍的方法,将你新增的页面注册到系统中,这样才能访问与进行相关操作. 下面讲讲如何创建一个分类类型的页面. ...

  5. 2013年9月份第2周51Aspx源码发布详情

    休闲农庄企业站源码  2013-9-13 [VS2008]功能介绍:  首页功能:关于我们 资讯中心 休闲娱乐 餐饮娱乐 环境展示 园林展示 交通指引 联系我们  后台功能:      基本信息:服务 ...

  6. Red Hat Linux认证

    想系统的学习一下Linux,了解了一些关于Red Hat Linux认证的信息.整理如下. 当前比较常见的是RHCE认证,即Red Hat Certified Engineer.最高级别的是RHCA ...

  7. Solaris用户管理(一):用户与组管理

    Solaris用户管理(一):用户与组管理  2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基 ...

  8. linux下的shell和脚本

    1.各种Unix shell linux下的shell基本是从unix环境中的shell发展而来,贴一下wiki:其中我们常用的,可归类为Bourne Shell(/usr/bin/sh或/bin/s ...

  9. Linux系统编程(2)——文件与IO之系统调用与文件IO操作

    系统调用是指操作系统提供给用户程序的一组"特殊"接口,用户程序可以通过这组"特殊"接口来获得得操作系统内核提供的特殊服务.在linux中用户程序不能直接访部内核 ...

  10. HRMS(人力资源管理系统)-SaaS架构设计-概要设计实践

    一.开篇 前期我们针对架构准备阶段及需求分析这块我们写了2篇内容<HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约束)-上篇><HRMS(人 ...

随机推荐

  1. CSS基本知识汇总

    1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网页表现与结构分离的 ...

  2. C语言面试题

    #include <stdio.h> int main() { ] = {, , , , }; ); // <==> (unsigned int)&a+sizeof(* ...

  3. Linux scp复制文件,不需要输入密码的技巧

    当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码. 把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中 假 ...

  4. Jmeter安装

    安装下载方法:http://www.jb51.net/softjc/266834.html 下载地址:http://jmeter.apache.org/download_jmeter.cgi Wind ...

  5. 玩转单元测试之WireMock -- Web服务模拟器

    玩转单元测试之WireMock -- Web服务模拟器 WireMock 是一个灵活的库用于 Web 服务测试,和其他测试工具不同的是,WireMock 创建一个实际的 HTTP服务器来运行你的 We ...

  6. 关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题

    在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * f ...

  7. C++温习

    string abc; cin >> abc; cin把 空格,制表符,换行符作为终止符,用于提取一个词.如果在abc串中输入的内容是有空格的,流中的内容会被打乱? getline (ci ...

  8. 43. studio上的json串解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...

  9. CAP理论(转)

    add by zhj: CAP理论可以简单的理解为一致性,可用性,可分区性,这三者没有办法同时满足.我们使用的关系型数据库,比如MySQL,Postgresql是CA类型, 而Redis,MongoD ...

  10. uniDBGrid导入数据库(转红鱼儿)

    有朋友问如何将excel导入数据库,这是我做的uniGUI项目中代码,实现uniDBGrid导入数据库的函数,因为用了kbmMW,所以你看到是将uniDBGrid导入kbmMWClientQuery, ...