标签: FreeBSD

  • FreeBSD Samba安装及设定

    cd /usr/ports/net/samba34

    make install clean

    (選擇 LDAP、ADS、CUPS、WINBIND、ACL_SUPPORT、SYSLOG、UTMP)

    vi /etc/rc.conf

    samba_enable=”YES”

    vi /usr/local/etc/smb.conf

    #加入工作群組

    workgroup = WORKGROUP

    #主機名稱

    server string = %h Samba Server

    (%h為主機名稱變數)

    #設定使用者家目錄

    原為:

    [homes]

    comment = Homes Directories

    browseable = no

    writable = yes

    更改為:

    [homes]

    comment = Home directory for %u on %h

    browseable = no

    writable = yes

    path = /usr/home/%u/

    valid users = %S

    #設定共享資料夾

    [public]

    comment = %h Shared Public Directory

    path = /usr/home/samba/public

    force directory mode = 0777

    force create mode = 0777

    force group = nobody

    force user = nobody

    public = yes

    writeable = yes

    read only = no

    #測試Samba conf中語法有無錯誤

    /usr/local/bin/testparm | more

    mkdir /usr/home/samba

    mkdir /usr/home/samba/public

    chmod 777 /usr/home/samba/public

    #新增Samba帳戶

    使用者必須同時設定兩種帳號: FreeBSD 的使用者帳號、 Samba 的使用者帳號 才能正常登入 Samba 伺服器。

    smbpasswd -a 帳號

    /usr/local/etc/rc.d/samba restart

    #個別設定資料夾設定

    [aaa]

    comment = aaa

    path = /home/samba/my2075/aaa

    valid users = aaa, admin2075

    write list = aaa, admin2075

    browseable = No

    [bbb]

    comment = bbb

    path = /home/samba/my2075/bbb

    valid users = bbb, admin2075

    write list = bbb, admin2075

    browseable = No

    [ccc]

    comment = ccc

    path = /home/samba/my2075/ccc

    valid users = ccc, admin2075

    write list = ccc, admin2075

    browseable = No

    #samba變數

    %S: 取代目前的「資源名稱」,所謂的「資源名稱」就是在 [ ] 裡面的內容。ex: valid users = %S

    %U: 代表目前登入的使用者的使用者名稱。

    %m: 代表 Client 端的 NetBIOS 名稱。

    %g: 代表登入的使用者的群組名稱。

    %M: 代表 Client 端的 Internet 主機名稱,就是 HOSTNAME。

    %L: 代表 SAMBA 主機的 NetBIOS 名稱。

    %h: 代表目前這部 SAMBA 主機的 HOSTNAME。

    %H: 代表使用者的家目錄。

    %I: 代表 Client 端的 IP。

    %T: 代表目前的日期與時間。

    #Samba 使用下列的通訊埠:

    Port 135/TCP – used by smbd

    Port 137/UDP – used by nmbd

    Port 138/UDP – used by nmbd

    Port 139/TCP – used by smbd

    Port 445/TCP – used by smbd

    #Windows網路芳鄰切換使用者

    進cmd模式

    net use * /delete

  • FreeBSD MySQL忘记密码

    今天使用時出現

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (61)

    其實是忘記密碼啦XDD

    #背景執行mysql安全模式

    mysqld_safe -u root –skip-grant-tables &

    #登入mysql(不用密碼)

    mysql -u root -p

    >use mysql

    >UPDATE user SET password=password(‘這裡輸入你的密碼’) where user=’root’;

    >FLUSH PRIVILEGES;

    >exit

    /usr/local/etc/rc.d/mysql-server restart

  • FreeBSD安裝phpmyadmin

    cd /usr/ports/databases/phpmyadmin

    make install clean

    cp -r /usr/local/www/phpMyAdmin /usr/local/www/apache22/data/phpmyadmin

    cd /usr/local/www/apache22/data/phpmyadmin

    cp config.sample.inc.php config.inc.php

    chmod 644 config.inc.php

  • FreeBSD入门级命令查阅表

    下面这份表单列出了FreeBSD入门所需要了解的大部分命令。列表按命令功能列出,括号中为命令的执行指令。如果想要进一步了解每个命令的用法,可以使用man命令进行查阅(用法:man xxx,xxx为你想要了解的命令)。以下,列表开始。

    我如何离线?(exit)

    我如何停止电脑?(shutdown -h now)

    我如何重新激活计算机? (shutdown -r now)

    我如何在单使用者模式下停止系统? (shutdown now)

    我如何切换终端机? (ALT-F*)

    文件

    我如何阅读用户手册? (man)

    使用者管理

    我该如何增加一个使用者? (adduser)

    我如何移除使用者? (rmuser)

    我如何改变我的密码? (passwd)

    我如何查看所有的使用者?(logins)

    “su” 指令

    我如何 “su” 至 root 帐号? (su)

    我如何 “su” 至其它使用者的帐号? (su username)

    四处观察

    我在哪? (pwd)

    我如何观察目录下有什么? (ls)

    我如何看到以点开始的隐藏档? (ls -a)

    我如何看到更多的讯息 (存取许可,拥有者,群组,大小,日期)? (ls -l)

    我如何看出那些档是什么? (ls -F)

    这些是什么档: “..” 与 “.”? (ls -aF)

    四处移动

    我该如何改变工作目录? (cd)

    如何回到上一层目录? (cd ..)

    我如何回到自己的工作目录? (cd, cd ~/)

    屏幕控制

    我如何卷回 (在终端机中,非 X)? (The Scroll Lock Key)

    我该如何清除屏幕? (clear)

    文章

    我如何不使用文书编辑器就可以观看小的档案? (more)

    最普遍的文书编辑器是? (vi)

    “vi” 看起来有点难,我可以从 “ee” 开始吗? (ee)

    “visual” 编辑器

    学习 “vi” 最有效的方法为何? (vilearn)

    “vi” 是如何工作的? (man vi)

    什么是储存指命? (:w)

    什么是离开指令? (:q)

    什么是可以储存与离开的命令? (:wq)

    如何离开而不使用储存指令? (:q!)

    我如何移动? (h, j, k, and l)

    Esc 键有什么用途? (The Esc Key)

    我如何加入新的文字? (a and i)

    我如何建立新的一行? (o and O)

    我如何删除文字? (x and dd)

    我如何拷贝文章内容? (yy and p)

    我如何使用数个指令? (nCommand)

    我如何搜寻文章? (/text)

    我如何起动 “vi” 于只读模式? (view)

    计算机信息

    我如何能观看开机记录文件? (dmesg)

    有什么方法可以让我慢慢地观看开机记录文件吗? (dmesg │more)

    显示谁在系统上? (who)

    他们正在做什么?? (w)

    “w” 可以显示出所有的处理吗? (w)

    何时

    我如何显示或设定日期时间? (date)

    我如何显示月历? (cal)

    有什么方法可以让我慢慢地观看月历吗? (cal │ more)

    通讯

    我如何显示 (或不显示) 其它使用者送来的讯息? (mesg y, mesg n)

    我如何传送讯息到其使用者的屏幕? (write)

    我如何送讯息到每一个人的屏幕? (wall)

    我如何与他人交谈 (chat)? (talk)

    档案管理

    我如何建立一个空档案? (touch)

    我如何删除档案? (rm)

    我如何建立一个目录? (mkdir)

    我如何移除一个空的目录? (rmdir)

    我如何移除一个目录包括里面所有的东西 (包括子目录)? (rm -r)

    我如何移除以 “-” 起头的档案? (rm — -filename)

    我如何拷贝档案? (cp)

    我如何拷贝整个目录包括它所有的内容? (cp -R)

    我该如何搬移档案与目录? (mv)

    我如何改变档案/目录名称? (mv)

    我如何执行 rm、cp 与 mv 时,须要我的许可? (-i)

    我如何执行 rm、cp 与 mv 时,不须要我的确认? (-f)

    档案连结

    我如何连结一个档案或目录? (ln -s)

    我如何 hard link 一个档案? (ln)

    档案拥有权/存取许可

    我如何观察谁是档案拥有者? (ls -l)

    我如何观察档案/目录的存取许可? (ls -l)

    我如何改变档案/目录的使用者拥有人? (chown)

    我如何改变档案/目录的群组拥有人?s group owner? (chgrp)

    我如何改变档案/目录的使用者与群组拥有人? (chown user:group)

    我如何改变存取许可? (chmod)

    如果我拥有这个目录,我可否修改不是我的档案? (yes)

    软盘机装置

    我如何挂上我的软盘? (mount)

    我如何挂上 MS-DOS 格式的软盘机? (mount -t msdos)

    我如何卸下我的软盘? (umount)

    应用程序

    我如何起动应用程序? (./)

    我如何由文件名称来起动应用程序? (PATH)

    我如何在背景起动应用程序? (&)

    我如何知道我的 PATH 是? (echo $PATH)

    所有的应用程序在那? (The FreeBSD Ports Collection)

    我如何安装一个 port? (make install clean)

    那里有编辑好的二进制文件? (The FreeBSD Packages Collection)

    我如何移除应用程序? (pkg_delete)

    使用者环境

    使用者的 profile 档案在那? (vi ~/.profile)

    我如何改变我的 shell? (chsh)

    处理管理

    我如何列出处理? (ps)

    我如何列找到处理? (ps -waux │ grep “name of the process”)

    我如何砍掉处理? (kill)

    磁盘管理

    我如何检查可用的磁盘空间? (df)

    我如何检查每个目录下用了多少磁盘空间? (du)

    工具

    哪里有计算器? (bc)

  • FreeBSD root密码忘记了

    更改过程:

    1. 重新启动机器;

    2. 在出现“Welcome to FreeBSD!”的选择菜单时,选择“4. Boot FreeBSD in single user mode”;

    3. 在加载结束后,执行

    # /sbin/mount -a

    # passwd root

    New passwd:*************

    这样就重设了 root 账户密码。

    可能在加载过程中会要检查磁盘,用fsck命令检查一下就可以了。

  • FreeBSD终端分辨率调整的方法

    内核加入

    option VESA

    option SC_PIXEL_MODE

    重新编译kernel

    vidcontrol -i mode #察看系统支持的显示模式

    vidcontrol MODE_数字 #设置需要的模式

    如:1024x768x32模式

    vidcontrol MODE_321

    试验成功后,再加入rc.conf #有些显示模式不能正常工作

    vi /etc/rc.conf

    加入

    allscreens_flags=”MODE_数字”

  • FreeBSD中Firefox的安装、汉化以及Flash插件的安装

    1.安装Firefox3.5

    #pkg_add -r firefox35

    注意:安装过程中会有以下提示:Firefox在显示HTML5的页面元素是会需要模块sem,否则会出现“Bad system call (core dumped)“的错误,可以在/boot/loader.conf加入”sem_load=”YES”来解决这个问题。

     

    2.安装Firefox的多国语言包

    #pkg_add -r firefox35-i18n

    语言包是以Firefox插件的形式安装的,启动firefox后,只需在Tools->Quick Locals Switcher中修改为zh_CN,重启Firefox就可以看到中文界面。

     

    3.安装Flash插件

    众所周知,FreeBSD下没有原原生的Flash player,这也是FreeBSD没能在个人桌面领域没能大展拳脚的一方面的原因吧。这里使用linux的Flash插件,可真的拿人的手短,设置起来还真挺麻烦的。

    3.1. 安装port:www/nspluginwrapper,它使的FreeBSD可以使用其它平台上的插件,这个port依赖:emulators/linux_base-f10,所以在这之前必须要设定好linux compability。

    3.2. 安装port:www/linux-f10-flashplugin10,并创建以下链接:

    #ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \

    /usr/local/lib/browser_plugins/

     

    3.3. 设置linux的进程文件系统

    linux的进程文件系统linprocfs,必须被挂载到/usr/compat/liunx/proc:

    # mount -t linprocfs linproc /usr/compat/linux/proc

    或者把它写入/etc/fstab,以便开机时系统自动挂载:

    linproc /usr/compat/linux/proc linprocfs rw 0 0

     

    3.4. 为每个用户安装插件

    %nspluginwrapper -v -a -i

    %ln -s /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so /usr/local/lib/firefox3/plugins/npwrapper.libflashplayer.so

     

    重启Firefox,终于看到熟悉的flash啦。

  • FreeBSD常用小技巧

    问:如何让FreeBSD像RedHat那样在ls时显示多种颜色的目录?

    答:在/etc/csh.cshrc里面加入:alias ls ls –G, 并重新登录

    问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件?

    答:标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:set autolist

    问:更新了rc.conf,如何生效?

    答:cd /etc && sh rc

    问:修改更新.cshrc(或者类似文件)之后如何不退出登录立即生效?

    答:$ source ~/.cshrc

    问:我新装了程序在 path (/usr/bin /usr/local/bin etc.,)路径中,如何不重新登录就能直接使用?

    答:$ rehash

    问:csh中如何快速在命令行中移动?

    答:移动到行首:^a,行尾:^e,清除:^u

    问:快速回到上次访问的目录

    答:cd –

    问:快速回到用户的主目录

    答:cd ~

    问:我总是工作到很晚而忘了睡觉的时间怎么办?

    答:leave +hhmm(hh小时,mm分钟)

    问:如何清屏?

    答:clear 或 ^l

    问:敲错字滴滴滴的烦死了,还总被家里人发现而强制睡觉,怎么办?

    答:set nobeep(tcsh)

    问:我想暂时离开而又不想logout

    答:lock –p

    问:FreeBSD 下如何查看带宽使用率

    答:systat -if 1

    问:使用portupgrade升级多个ports时,有时会弹出配制对话框,暂停了整个过程

    答:使用参数–batch,这样会使用默认的配置。

    问:如何加速portupgrade升级

    答:参数-P可以优先使用package升级(如果package不存在才会使用port), 而-PP会仅使用package升级

    问:我不想在这里学这些tips

    答:好吧,请安装fortune,它会在每次登录时给你一条tip

  • FreeBSD中显示Apache进程运行情况脚本

    在FreeBSD中查看进程情况最常用的就是ps命令了,我们当然可以利用ps来查看apache进程运行的情况(假定apache的运行用户为www)脚本如下:

    ps -U www -axo comm,pcpu,pmem,vsz,rss,mwchan | awk ‘/^httpd/ {++state[$NF];cpu+=$2;mem+=$3;vsz+=$4;rss+=$5;} END {for(key in state){total+=state[key];print(key,”\t”,state[key]);}print(“total\t” total “\ncpu\t” cpu “%\nmem\t” mem “%\nvsz\t” vsz “k\nrss\t” rss “k”);}’

    输出大致结果如下:

    select 1

    accept 9

    total 10

    cpu 7.1%

    mem 6.1%

    vsz 227152k

    rss 128768k

    呵呵,这样便看到了apache的进程运行的统计情况了。

  • FreeBSD正确配置中文环境的方法

    以前一直以为是直接修改全局的profile或者cshrc来进行locale设置,现在才发现其实完全不用这么麻烦,而且那样是不规范的。

    按照官方手册,正确的方法是修改/etc/login.conf,比如我要使用简体中文环境,那么就在/etc/login.conf添加:

    chinese|Simplified Chinese Users Account:\

    :charset=UTF-8:\

    :lang=zh_CN.UTF-8:\

    :tc=default:

    然后需要重建数据库:

    cap_mkdb /etc/login.conf

    之后把需要的用户加入中文登录环境即可:

    pw usermod YOUR_USER -L chinese