freeBSD

Posted eat-and-die

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freeBSD相关的知识,希望对你有一定的参考价值。

Table of Contents

  1. 常用命令
    1. 文件属性修改
      1. 修改文件所有者
      2. 修改文件所有者组
      3. 同时修改所有者和所有者组
    2. 本地化语言
      1. 本地化设置三个条件
      2. 本地化设置
  2. 系统升级
  3. 安装软件
    1. ports安装
    2. packages安装
  4. 问题解决
    1. 系统升级后sshd无法正常启动

常用命令

文件属性修改

修改文件所有者

chown owner file

修改文件所有者组

chgrp group file

同时修改所有者和所有者组

chown owner:group file

本地化语言

本地化设置三个条件

语言代码_国家代码.编码

  • zh_CN 中文简体
  • en_US 美国英语

本地化设置

  1. 一般通过设置用户的~/.login_conf或用户shell的启动文件(~/.profile,~/.bashrc,~/.cshrc),设置如下两个变量

    • LANG为POSIX设置本地化语言功能
    • MM_CHARSET应用程序的MIME字符集
    这包括用户的shell配置,特定的应用配置和X11配置
  2. locale查看当前本地化设置
    locale -a查看支持本地化的类型
  3. 配置中文

    locale
    
    LANG=zh_CN.UTF-8
    LC_CTYPE="zh_CN.UTF-8"
    LC_COLLATE="zh_CN.UTF-8"
    LC_TIME="zh_CN.UTF-8"
    LC_NUMERIC="zh_CN.UTF-8"
    LC_MONETARY="zh_CN.UTF-8"
    LC_MESSAGES="zh_CN.UTF-8"
    LC_ALL=zh_CN.UTF-8

系统升级

freebsd-update -r 12.0-RELEASE upgrade
freebsd-update install
freebsd-version

安装软件

两种安装方式分别为FreeBSD Ports套件(源码安装)和packages(二进制安装)

ports安装

  1. 更新ports

    #自动查找mirrors,下载并解压ports包到/usr/ports
    portsnap fetch extract
    #后续更新ports tree,无需extract
    portsnap fetch update
  2. 寻找程序包
    • 若知道port的准确名字,但需要知道在哪个类别找到,使用指令whereis

      # whereis git
      /usr/ports/devel/git
    • 使用ports collection内嵌搜索机制。首先到/usr/ports,运行make search name=program-name

      # cd /usr/ports
      # make search name=lsof
  3. 安装
    以vim为例

    # cd /usr/ports/editors/vim
    # make install clean

packages安装

  1. 安装pkg
    在shell中执行pkg,然后选择y即可

    # pkg
    > y
  2. 软件安装

    # pkg install vim
  3. 软件卸载

    # pkg delete vim
  4. 软件更新

    # pkg update
    # pkg upgrade

问题解决

系统升级后sshd无法正常启动

  1. 报错

    Bad SSH2 cipher spec ‘aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc ...‘
  2. 解决
    • 查看ssh使用了哪些ciphers

      $ ssh -Q cipher
    • 打开/etc/ssh/sshd_config,替换Ciphers那一行即可




以上是关于freeBSD的主要内容,如果未能解决你的问题,请参考以下文章

安装Freebsd操作系统

是否有相当于 FreeBSD 的 make_dev() 函数的 OS X?

在 FreeBSD 中实现 ioctl() 命令

FreeBSD 为啥要废弃 GCC 改用 Clang/LLVM

如何在 FreeBSD 9.1 系统中使用 libdb-4.2?

Boost asio async_accept 在 Windows 下工作,但在 FreeBSD 下失败。怎么了?