评论

收藏

[Unix] freebsd用法配置汇总

服务系统 服务系统 发布于:2021-09-22 14:16 | 阅读数:199 | 评论:0

FreeBSD中文wiki

https://wiki.freebsdchina.org制作FreeBSD-USB安装盘
IMG映像文件下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.4-RELEASE/floppies/。
在当前目录下执行,#dd if=FreeBSD-8.2-RELEASE-i386-memstick.img of=/dev/da0[设备名] bs=64k
如何设定网络
修改/etc/rc.conf,需要/etc/rc.d/netif重起,或reboot才能生效。
ifconfig_re0="inet 192.168.0.76 netmask 255.255.254.0"
增加第二个 IP
ifconfig_re0_alias0="inet 192.168.0.76 netmask 255.255.254.0"
直接使用ifconfig,立刻生效
# ifconfig re0 192.168.0.76 255.255.254.0
设定系统默认网关
修改 /etc/rc.conf
defaultrouter="192.168.0.1"
使用route命令,即时生效
route add default 192.168.0.1
设定系统默认域名服务器
修改 /etc/resolv.conf 文件到如下内容,如果这个文件不存在,可以直接创建。
nameserver 192.168.0.1
更复杂的设定可以参考这个文件的 man 文档。
/etc/hosts 文件的作用
系统默认查询域名的顺寻是,先从 /etc/hosts 查询,如果查不到就从 dns 服务器查询。因此,你可以把一些常用的 域名-IP 地址对应写到 /etc/hosts 里面以加快网络速度。
FTP访问相关
# ftp 192.168.1.248 Enter //# lftp lipengfei:wocuole@192.168.1.249 Enter
    # 用户名 Enter
    # passwd Enter
    # get file(文件名)即可下载文件到用户目录
    # 匿名服务器 anonymous

4.启动putty并使root可ssh登录

    首先vi编辑/etc/inetd.conf,去掉ssh前的#,保存退出
    编辑/etc/rc.conf
    最后加入:sshd_enable="yes"即可
    激活sshd服务:
    techo#/etc/rc.d/sshd start
    用下面命令检查服务是否启动,在22端口应该有监听。
    #netstat -an ## check port number 22
    最后
    vi /etc/ssh/sshd_config,
    修改下列一行
    #PermitRootLogin yes #允许root登录
    修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。
解决安装后声卡无法识别问题
# vi /boot/loader.conf
添加
snd_hda_load="YES"
保存,reboot.即可。
Grub4dos引导FreeBSD系统
title FreeBSD
root (hd0,x,y)
kernel /boo/loader \\其中,x为你的FreeBSD的分区,y为FreeBSD/所在的SLICE.
Grub2引导FreeBSD
menuentry "FreeBSD2" {
insmod ufs2
set root=(hd0,2)
kfreebsd /boot/kernel/kernel
}
设备标示
ad ATAPI (IDE) 磁盘
da SCSI 直接存取磁盘
acd ATAPI (IDE) 光驱
cd SCSI 光驱
fd 软驱
软件包管理
1.查询
pkg_info -r joe-(version).tgz #查询指点套件所依赖软件包
pkg_info #查询所有套件
pkg_info | grep * #查询目前系统与*相关的套件
pkg_info -W /usr/local/bin/joe #查询joe属于哪个套件,若没有回执则说明joe属FreeBSD内建的。
pkg_info -L /var/db/pkg/joe-(version) #查询某个套件安装了那些档案
pkg_version(1) #是一个用来统计所有安装的软件包版本的工具。它可以用来比较本地 package 的版本与 ports 目录中的当前版本是否一致。在第二列的符号指出了安装版本的相关时间和本地ports目录树中可用的版本。
符号 含义
= 在本地ports树中与已安装的软件包版本相匹配。
< 已安装的版本要比在ports树中的版本旧。
> 已安装的版本要比在ports树中的版本新 (本地的port树可能没有更新)。
? 已安装的软件包无法在ports索引中找到。 (可能发生这种事情,举个例子, 您早先安装的一个 port 从 port 树中移出或改名了)
* 软件包有很多版本。
2.安装
pkg_add -r joe-(version).tgz #安装指定套件
pkg_add -f joe-(version).tgz #强制安装指定套件,不考虑依赖问题
pkg_version -c #自行整理并提供可升级套件列表
3.卸载
cd /usr/ports/editors/joe
make deinstall #移除软件
pkg_delete -f joe-(version) #强制移除
make deinstall-depends(软件包名) #一并移除相依赖软件
pkg_delete joe-(version) #一并移除相依赖软件
pkg_delete xchat\* #这时, 所有名字以 xchat 开头的 package 都会被删掉。
Debian Linux下挂在FreeBSD分区UFS
# fdisk -l //可以看出FreeBSD的UFS分区在linux被识别为/dev/sda2
# cd /mnt && mkdir sda2 //创建UFS分区挂载点/mnt/sda2
# mount -rt ufs -o ufstype=ufs2 /dev/sda2 /mnt/sda2/ //执行挂在命令
# mount -t ufs -o ro,ufstype=ufs2 /dev/sda2 /mnt/mnt/
OK
如果希望启动后自动挂载则在/etc/fstab添加
/dev/hda9 /mnt/bsd ufs ro,ufstype=ufs2 0 0
启用FreeBSD系统自带FTP服务
# vi /etc/inetd.conf
去掉ftp stream tcp nowait root /usr/libexec/ftpd前面的#删除。(开启ftp服务)
# vi /etc/rc.conf
添加
ftpd_enable=”YES”
将ftpd服务加入自启动
/etc/rc.d/ftpd start
启动ftp服务
/etc/ftpusers 不可使用来登陆ftp的用户,指黑名单列表设定
/etc/ftpchroot 需要做chroot 的账号和群组列表
/etc/ftphosts 虚拟机站点的设定
/etc/ftpwelcome 进行ftp的欢迎信息
/etc/ftpmotd 登陆后自动的提示信息
/var/run/nologin 拒绝登陆后的显示信息
/var/log/ftpd 记录用匿名方式登陆时的传输情况
解决freebsd下普通用户无法suroot
vi /etc/group //编辑group文件
wheel:*:0:root //修改第一行
wheel:*:0:root,xiaopang //给wheel用户组添加xiaopang用户
然后就可以通过普通用户xiaopang su 到root了
设置FreeBSD登陆提示信息
# vi etc/motd //写入需要提示内容即可
ports使用技巧
下载指定软件tarball
# make fetch

下载安装指定ports所需其他ports的tarball
# make retch-recursive

如果希望下载所有ports的tarball
# cd /usr/ports
# make fetch
会将所有tarball下载到/usr/ports/distfiles/目录下

抓取ftp下所有ports的ports的tarball,则:
# cd /usr/ports/ftp
# make fetch
# dmesg | grep attached     //可查看那些设备没有被驱动
# pciconf -lv               //可查看具体信息
# /var/run/dmesg.boo        //也是个不错的排错参考之一
# ntpdate time.windows.com  //网络校时
改变ports安装软件下载地址,在/etc/make.conf中加入
MASTER_SITE_BACKUP?=https://mirrors.163.com/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
Packages更改软件库下载地址
setenv PACKAGESITE https://mirrors.163.com/FreeBSD/releases/i386/8.1-
RELEASE/packages/Latest/
pkg_add -r package #package为要安装的软件名
启动NFS客户端
1.修改/etc/rc.conf
nfs_client_enable="YES"
2.修改/etc/fstab,添加远程nfs分区,例如
remote_server:/path/to/export /local/mount/point nfs rw,late 0 0
注: 选项 late 也可以不添加。如果添加了,就可以用 /etc/rc.d/mountlate 来挂载启动时没
有挂载或挂载失败的 nfs 分区。
3.执行/etc/rc.d/nfsclient
# /etc/rc.d/nfsclient start
挂在iso镜像
mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
挂在ext3/ext2分区
mount -t ext2fs /dev/ad0s1 /mnt/ad0s1
如何查看当前用户默认的shell
echo $SHELL

查询Ports中是否含有某个软件包
$ /usr/ports
$ make search key=pidgin
同样也可以使用
$ cd /usr/ports
$ make search name=pidgin
用上面两种方法查询时,显示的信息比较详细,包括维护者、依赖包、主页等内容。如果只想显示所在的路径和软件名称,则可以用
$cd /usr/ports
$make quicksearch name=php
安装fcitx-googlepinyin输入法
# cd /usr/ports/chinese/fcitx-googlepinyin/ && make install clean
在.cshrc里加入
setenv XMODIFIERS @im=fcitx
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
在.xinitrc里加入
fcitx &    注意:这个一定要写在/usr/local/bin/startxfce4的前面。

更新ports的方法
portsnap fetch extract update
更改用户shell
# vipw 或 chsh
如何让csh显示彩色文件列表
编辑/etc/csh.cshrc加入以下代码
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
然后执行
# sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
如何让cshbash那样按TAB自动列出无法补全的候选文件,
标准方法是按Ctrl+D,但如果一定要用TAB的话,在/etc/csh.cshrc中加入;
set autolist
如何让FreeBSD的csh显示类似[xiaopang@BSD]~这样的提示符号?
在/etc/csh.cshrc中加入;
set prompt = '[%B%n@%m%b] %B%~%b%# '
然后执行;
# sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
搭建samba服务器
# cd /usr/ports/net/samba46 && make install
出现选择,依照内定预设值,按TAB选择OK,再按Enter.
Options for samba 3.0.24,1
[X] LDAP                     With LDAP support
[X] ADS                      With Active Directory support
[X] CUPS                     With CUPS printing support
[X] WINBIND                  With WinBIND support
[X] ACL_SUPPORT              With ACL support
[ ] FAM_SUPPORT              With File Alteration Monitor
[X] SYSLOG                   With Syslog support
[ ] QUOTAS                   With Disk quota support
[X] UTMP                     With UTMP accounting support
[ ] MSDFS                    With MSDFS support
[ ] PAM_SMBPASS              With PAM authentication vs passdb backends
[ ] CLUSTER                  With experimental cluster support
[ ] EXP_MODULES              With experimental modules
[X] POPT                     With system-wide POPT library
[ ] MAX_DEBUG                With maximum debuging
# cp /usr/local/etc/smb.conf.default /usr/local/etc/samba.conf \\复制Samba.conf配置文件
########################以下内容可实现用户自动登录home目录##########################
workgroup = WORKGROUP
server string = %h Samba Server
log file = /var/log/samba/%m.log
[homes]
comment = Home directory for %u on %h
browseable = no
writable = yes
path = /usr/home/%u/
valid users = %S
##################################################################
编辑/etc/rc.conf添加
winbindd_enable="YES"
samba_enable="YES"
然后添加使用者账号
# adduser username
设定samba user database (samba的使用者账号):
# smbpasswd -a username
/usr/local/etc/rc.d/samba start  //启动samba服务
安装Apache22

1.可以使用ports安装

cd /usr/ports/www/apache22
make install clean

第一次安装由于没有配置config,所以会弹出窗口让你选择模块,选择所需要的模块进行安装

2.使用编译好的包远程安装
pkg_add -rv apache22

3.配置apache

apache的主配置文件是/usr/local/etc/apache22/httpd.conf,可以根据实际情况修改,主要并且重要的参考:https://lamp.linux.gov.cn/Apache/ApacheMenu/index.html

4.启动apache

echo 'apache22_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/apache22 start

FreeBSD 9.0 vncserver 安装与配置


代码如下:
# cd /usr/ports/net/vnc
# make
# make install  \\查看vncserver路径
# which vncserver
/usr/local/bin/vncserver
# mkdir .vnc
# cd .vnc
# vncserver  \\启动vnc第一次启动会要求输入密码
# vncserver -kill :1
# vi xstartup  \\修改xstartup为以下内容
####################################################
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# 下面的2行是vncserver第一次启动的时候产生的,为了使用Gnome,我把它们给
# 注释掉了
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
fvwm &
##################################################### 
# vncserver //重新启动vncserver,服务端配置完毕。
在客户端启动vnc viewer 输入:“192.168.1.111:1”,确认并输入密码即可远程登陆。

关注下面的标签,发现更多相似文章