Chinaunix

标题: 菜鸟100问 [打印本页]

作者: minok    时间: 2006-11-07 22:24
标题: 菜鸟100问
目录
Packages 和 Ports
软件安装卸载工具41   多线程下载ports里的包42   从ports中查找软件43   硬盘空间特紧张44~45   portupgrade47~49   portsnap 简单使用50   Packages 和 Ports精华51   初学者必须知道的事52~59

Shell
命令解释程序Shell60   Shell精华61   Shell常见问题62~63   硬盘安装FreeBSD66   环境设定67   ee编辑器68   vi编辑器69

FreeBSD基础应用
基础应用精华71   基础应用集锦72~76   基础应用补充79~80   全能服务器基础应用篇81~88      基础应用小技巧89~90   基本系統指令介紹91   FreeBSD目录说明92   摘录Handbook读书笔记-第3章93~95   

防火墙
防火墙基础100   PF 防火墙101   PF学习笔记102~120

FreeBSD6.1  没路由器, ADSL拨号上网, ISP动态分配IP, RTL8139
检查过网线,网卡也在启动时显示出来,
就是modem死活地不通,modem指示灯不闪.
怎么回事?希望详细些!
以下是我的ppp.conf

default:
    set log Phase Chat LCP IPCP CCP tun command
    ident user-ppp VERSION (built COMPILATIONDATE)
    set device PPPoE:r10
    set speed sync  
    set mru 1492
    set mtu 1492   
    set ctsrts off
    set timeout 30
    disable lqr
    deny lqr
    add default HISADDR
    enable dns   
adsl:
    set authname *********@******
    set authkey **********
    set dial
    set login
    set ifaddr 10.0.0.1/0 10.0.0.2/0

[ 本帖最后由 minok 于 2006-12-10 11:16 编辑 ]
作者: 大大狗    时间: 2006-11-08 08:40
reset一下你的modem    拨号以后是什么提示啊
作者: congli    时间: 2006-11-08 10:14
把配置文件精简些可能会更好,
    set mru 1492
    set mtu 1492   

作者: limutian    时间: 2006-11-08 12:08
default:
    set log Phase Chat LCP IPCP CCP tun command
    ident user-ppp VERSION (built COMPILATIONDATE)
    set device PPPoE:r10
    set speed sync  
    set mru 1492
    set mtu 1492   
    set ctsrts off
you should use "tab "   maybe
"tab"     set *
作者: limutian    时间: 2006-11-08 12:11
default:
          set log Phase tun command # you can add more detailed logging if you wish
          set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoEl1 # replace xl1 with your Ethernet device
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
  set dial
  set login
  add default HISADDR


it is in handbook , you can rewrite over it .
have a good time!
作者: minok    时间: 2006-11-08 17:20
原帖由 limutian 于 2006-11-8 12:11 发表
default:
          set log Phase tun command # you can add more detailed logging if you wish
          set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoEl1 # repl ...



已按照这方法做了,<tab>   set *  还是连不上modem,另外我发现网卡没配置好,
出现以下问题:

# ppp –ddial adsl
Working in ddial mode
Using interface: tun0
# ifconfig
r10: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:4c:20:0c:57
        media: Ethernet autoselect (10baseT/UTP)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        Opened by PID 191

当我选网卡为DHCP时,即/etc/rc.conf 并加入下面的设置:
ifconfig_r10="DHCP"
可以接通modem,依然无法拨号.
该如何做?请指教
作者: limutian    时间: 2006-11-08 20:56
set device PPPoE:r10
rl0 吧  不是r10
应该有日志的看看把
作者: minok    时间: 2006-11-09 00:32
  多谢各位指教,终于可以上网了,特别感谢limutian 提出错误
是我大意了,呵呵,以后一定检查清楚.



# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4cff:fe20:c57%rl0 prefixlen 64 scopeid 0x1
        ether 00:e0:4c:20:0c:57
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 218.72.106.94 --> 61.174.64.21 netmask 0xffffffff
        Opened by PID 191
作者: minok    时间: 2006-11-09 13:30
我已装好ports  不知为什么无法安装软件包,例如:
# cd /usr/ports/chinese/kde3-i18n-zh_CN
# make install clean
(错误信息.........略)
***Error code 1

Stop in /usr/ports/chinese/kde3-i18n-zh_CN.
就下载不了,是DNS问题还是其它?
作者: langue    时间: 2006-11-09 13:48
(错误信息.........略)
作者: minok    时间: 2006-11-09 14:26
全是一些什么
www.freebsd.org/xxxxx/
www.freebsd.org/xxxxx/yyyy
www.freebsd.org/aaaa/
www.freebsd.org/aaaa/bbbb
之类的,没图片给大家,抱歉.
作者: minok    时间: 2006-11-09 16:36
# cd /usr/ports/chinese/kcfonts
# make install clean
===>  Vulnerability check disabled, database not found
=> kcfonts-1.05.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://freebsd.sinica.edu.tw/pub/distfiles/.
fetch: ftp://freebsd.sinica.edu.tw/pub/distfiles/kcfonts-1.05.tar.gz: NO address record
=> Attempting to fetch from ftp://wm28.csie.ncu.tw/pub/distfiles/.
fetch: ftp://wm28.csie.ncu.tw/pub/distfiles/kcfonts-1.05.tar.gz: NO address record
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBS ... cfonts-1.05.tar.gz: NO address record
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/chinese/kcfonts.
作者: minok    时间: 2006-11-09 16:44
# cd /usr/ports/chinese/arphicttf
# make install clean

You may use the following options:
        WINH_GS                - if you want Ghostscript support
        WINHOUT_X11        - if you DOW'T want X Window support
===>  Vulnerability check disabled, database not found
=> arphicttf-2.11.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://freebsd.sinica.edu.tw/keith/.
fetch: ftp://freebsd.sinica.edu.tw/keith/kcfonts-1.05.tar.gz: NO address record
=> Attempting to fetch from ftp://wm28.csie.ncu.tw/pub/distfiles/.
fetch: ftp://wm28.csie.ncu.tw/pub/distfiles/zh-arphicttf-2.11.tar.gz: NO address record
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBS ... hicttf-2.11.tar.gz: NO address record
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/chinese/arphicttf.

安装X11,和其它也如此,什么原因?
作者: minok    时间: 2006-11-09 16:45
是否装漏什么文件, 我是最小安装系统的...

有关系吗?

[ 本帖最后由 minok 于 2006-11-9 18:00 编辑 ]
作者: langue    时间: 2006-11-09 16:53
cat /etc/resolv.conf

或者 /etc/resolv.conf 存在吗?

要不就是你那里的 ISP 把域名给禁用了,写个 hosts 文件吧。

freebsdchina 有个镜像,你再试试看,如果 ISP 禁用了大陆以外的地址
作者: minok    时间: 2006-11-09 17:30
台湾域名给禁用了,官网的能接通
ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/

# cat /etc/resolv.conf
cat: /etc/resolv.conf: No such file or directory

怎么办?
作者: minok    时间: 2006-11-10 19:12
/etc/resolv.conf
search example.com
nameserver ISP地址

是这样写吗?可为什么会有以下问题:

# fetch http://www.baidu.com/img/logo.gif
fetch: http://www.baidu.com/img/logo.gif: No address record

# fetch http://220.181.27.48/img/logo.gif
logo.gif                        100% of 1576 B 3076 kBps

[ 本帖最后由 minok 于 2006-11-10 19:14 编辑 ]
作者: langue    时间: 2006-11-10 19:30
nameserver 61.129.66.75

试试看,只用上面一行
作者: minok    时间: 2006-11-10 19:48
/etc/resolv.conf
nameserver      ISP的DNS服务器的IP

# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4cff:fe20:c57%rl0 prefixlen 64 scopeid 0x1
        ether 00:e0:4c:20:0c:57
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 218.72.106.94 --> 61.174.64.21 netmask 0xffffffff
        Opened by PID 191

inet后的数字部分就是:ISP分的IP地址 -> ISP的DNS服务器的IP.

还是不行,域名不被识别

[ 本帖最后由 minok 于 2006-11-10 19:50 编辑 ]
作者: sysinstall    时间: 2006-11-11 18:41
原帖由 minok 于 2006-11-10 19:12 发表
/etc/resolv.conf
search example.com
nameserver ISP地址

是这样写吗?可为什么会有以下问题:

# fetch http://www.baidu.com/img/logo.gif
fetch: http://www.baidu.com/img/logo.gif: No address recor ...



这方法不对,应改为:
/etc/resolv.conf
nameserver   ISP的DNS服务器

你可以试试下面两种方法:
1.【开始】->【运行】->输入 cmd ->接着输入 ipconfig
把IP Adress后面的地址记下来,然后输入
nslookup+空格+上面记的IP地址
出现的
Server:……
Adress:……
Server是服务器域名
Adress是DNS服务器IP地址
2.开始--运行---CMD--ipconfig /all

[ 本帖最后由 sysinstall 于 2006-11-17 03:53 编辑 ]
作者: minok    时间: 2006-11-11 19:42
谢谢sysinstall 大哥, 现在终于能解释域名, 能下载了,但出现以下问题:

系统控制台上:
# fetch http://www.baidu.com/img/logo.gif
logo.gif                        100% of 1576 B 3076 kBps

KDE桌面的shell
# fetch http://www.baidu.com/img/logo.gif
fetch: http://www.baidu.com/img/logo.gif: No address record

Konqueror 的 web 浏览器
[url]http://www.baidu.com/       (无法打开百度)
[url]http://220.181.27.48/         (可以打开百度)



.

[ 本帖最后由 minok 于 2006-11-11 19:50 编辑 ]
作者: langue    时间: 2006-11-11 20:01
/etc/resolv.conf 的权限?
奇怪,关注一下
作者: minok    时间: 2006-11-11 20:09
编写/etc/resolv.conf 和登录桌面都是root用户

用什么方法检查问题?
作者: sysinstall    时间: 2006-11-12 10:56
先看看有什么错误信息,例如:开机,启动X,程序等..检查一下之前的操作是否有误.
作者: minok    时间: 2006-11-12 12:03
开机没问题,启动X一闪而过看不清,就在退出桌面时有如下错误信息:

(EE) RADEON(0): MergedFB does not work with Option
UseFBDev, MergedFB mode is disabled
xset:  bad font path element (#64), possible causes
are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
startkde: Starting up...
kbuildsycoca running...
kdecore (KLibLoader): WARNING: KLibrary:
/opt/kde/lib/kde3/kcm_kdnssd.so: undefined symbol:
init_kdnssd
SetClientVersion: 0 8
X Error: BadWindow (invalid Window parameter) 3
  Major opcode:  7
  Minor opcode:  0
  Resource id:  0x1800005
X Error: BadWindow (invalid Window parameter) 3
  Major opcode:  6
  Minor opcode:  0
  Resource id:  0x1800005
X Error: BadWindow (invalid Window parameter) 3
  Major opcode:  7
  Minor opcode:  0
  Resource id:  0x1c000f0
X Error: BadWindow (invalid Window parameter) 3
  Major opcode:  6
  Minor opcode:  0
  Resource id:  0x1c000f0
startkde: Shutting down...
klauncher: Exiting on signal 1
startkde: Running shutdown scripts...
startkde: Done.

waiting for X server to shut down
FreeFontPath: FPE"/usr/X11R6/lib/X11/fonts/misc/"refcount
is 2,should be 1:fixing

/usr/X11R6/bin/xauthargv):1:  bad display
name "我的主机名:0" in"remove"command

作者: winsql    时间: 2006-11-12 15:19
内核问题?以前我也有类似情况,重装后就没问题了
作者: sysinstall    时间: 2006-11-12 20:15
startkde: Starting up...
kbuildsycoca running...
kdecore (KLibLoader): WARNING: KLibrary:
/opt/kde/lib/kde3/kcm_kdnssd.so: undefined symbol:
init_kdnssd
SetClientVersion: 0 8



看似KDE有错误,把KDE御载了,重装就行






.

[ 本帖最后由 sysinstall 于 2006-11-14 17:13 编辑 ]
作者: minok    时间: 2006-11-13 08:44
怎么重装?  怎么御载桌面?
作者: yizuwei520    时间: 2006-11-13 09:06
标题: FC5的上网问题
我也是才刚开始学linux系统,你的问题好象是和我的一样,只是我们安装的版本不同,我安装的是FC5.0.你可以登陆到我的博客看看:yizuwei520.cublog.cn里面有我的那篇文章,关于上网的问题.
作者: sysinstall    时间: 2006-11-14 17:08
sysinstall -> Configure -> Packages -> 1 CD/DVD -> kde -> 选择“kde3.5.1”把X号去掉即可御载桌面
作者: minok    时间: 2006-11-14 20:07
终于从FB回来,可以打偶喜欢的中文了谢谢各位帮忙小弟,解决困难  号称网络功能强大的FB,首次到CU一游,别误会,是我的FB,居然网速奇慢,时时打不开网站,进不了贴子.[已解决]
An error occurred while loading http://bbs.chinaunix.net/:
Unknown host bbs.chinaunix.net

Ports安装查找时间长,kde3-i18n-zh_CN找了3次也没装上,koffice-i18n-zh_CN第二次才成功装上.
=> Attempting to fetch from ftp://gd.tuwien.ac.at/kde/stable/koffice-1.4.2/src/koffice-l10n/.
fetch: ftp://gd.tuwien.ac.at/kde/stable ... h_CN-1.4.2.tar.bz2: No address record
=> Attempting to fetch from http://gd.tuwien.ac.at/kde/stabl ... /src/koffice-l10n/.
fetch: http://gd.tuwien.ac.at/kde/stabl ... h_CN-1.4.2.tar.bz2: Moved Temporarily
=> Attempting to fetch from ftp://ftp.informatik.hu-berlin.d ... /src/koffice-l10n/.
koffice-l10n-zh_CN-1.4.2.tar.bz2              100% of  384 kB   14 kBps 00m00s
===>  Extracting for zh_CN-koffice-i18n-1.4.2
===>  Vulnerability check disabled, database not found

[ 本帖最后由 minok 于 2006-11-18 13:26 编辑 ]
作者: minok    时间: 2006-11-14 20:10
启动桌面时停顿了一段时间,  以前不会出现这样的错误
wwwaa# startx
xauth:  creating new authority file /root/.serverauth.15759
/usr/X11R6/bin/xauth: (argv):1:  bad display name "wwwaa:0" in "list" command
/usr/X11R6/bin/xauth: (stdin):1:  bad display name "wwwaa:0" in "add" command


Fatal server error:
Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.


Please consult the The X.Org Foundation support
         at http://wiki.X.Org
for help.

/usr/X11R6/bin/xauth: (argv):1:  bad display name "wwwaa:0" in "remove" command

[ 本帖最后由 minok 于 2006-11-14 21:24 编辑 ]
作者: minok    时间: 2006-11-14 20:25
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0
set device PPPoE:rl0
enable dns  

adsl:
set authname ***********
set authkey **********
set dial
set login
add default HISADDR   

# This file now contains just the overrides from /etc/defaults/rc.conf.
keymap="us.iso"
# -- sysinstall generated deltas -- # Sat Dec 23 00:48:53 2006
moused_enable="YES"
hostname="wwwaa"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"
作者: minok    时间: 2006-11-15 08:22
上网问题暂停一段落,故此改名为"菜鸟100问"
在下努力搜答案,找不到的也没法,菜鸟嘛!
鉴于问题极度幼稚,可一笑而过,勿灌水, 谢谢!
作者: minok    时间: 2006-11-16 14:25
waiting for X server to shut down
FreeFontPath: FPE"/usr/X11R6[li]b/X11/fonts/misc/"refcount
is 2,should be 1:fixing

在GOOGLE上搜了一下有好几十条回复,好象没有一个解决了这个问题。
据说是xorg的一个Bug  
估计是某个程序调用的字体而你的系统没有 ,是提醒之类的东西吧,有些字体是它程序自己定义的
不是x系统有问题,是那个程序的问题
作者: minok    时间: 2006-11-17 15:41
在Linux、BSD系统中,软件包主要以两种形式出现:二进制包以及源代码包。 主要的二进制包格式有:
      rpm
      deb
      Autopackage
      源代码包则主要适用于自由软件的安装,用户需要自己编译它们。

tgz可以直接pkg_add
而.gz很可能就要先tar zxvf
再make 他的源码
也可用pkgsrc直接安装二进制包http://bbs.chinaunix.net/viewthread.php?tid=852067
作者: minok    时间: 2006-11-18 12:31
从网上down一个软件包例如是.gz形式的,那么我该从何入手安装呢?

进入存放该包的目录,例如: cd /root
tar zxvf filename.tar.gz  (解开压缩包)
cd filename  (在里面看INSTALL或者是readme等类似的文件,它会告诉你該如何安裝)
./configure  (配置源代码)
make         (编译)
make install (安裝)

但是这样从源代码安装, 并不能解決依赖关系. 因为如果存在
依赖, 往往需要你安装缺少的软件包. 其实比较麻烦.
作者: minok    时间: 2006-11-19 00:38
是不是有些.gz可以直接运行,不用./configure和make;make install  

对!  有些binary version, 就像mysql
这些情况很多,也有的可以./autogen.sh  再就是有的可以不要./configure

tgz gz只是个标识,tgz的东西不一定是二进制的package,不过你从官方packages目录下来的一定是了,有些程序的源代码的压缩包扩展名也是tgz,来源不明的可以使用tar ztvf *.tgz来看下内容. 总之,在下之前,先看官方说明,一般都会有提到怎么做的。下了以后看看有没有./configure ,有一般就要做的。你可以./configure --help来看

通常每一个软件都有一个独立的目录,而目录中都存在着一些档案,每个档案都有其特定用途,我们简列如下:
Makefile                 #安装软件的编译设定,您可以修改这个档案来设定我们在编译及安装软件时的参数。
README.html        #我们可以经由浏览 README.html 来查看所有 ports 目录下的软件说明。
distinfo                 #说明安装所需要的档案及其 MD5 的检查数据。
pkg-comment        #简单的软件描述。
pkg-descr                 #较详细的描述,我们通常可以在里面找到该软件网页的位置,使我们能到该网页得到更多信息。
pkg-plist                 #列出软件将安装的清单,安装后会放在硬盘中的什么地方。

[ 本帖最后由 minok 于 2006-11-24 17:44 编辑 ]
作者: minok    时间: 2006-11-19 16:27
rpm软件包如何在freebsd下安装??

1.装上linux.so (#sysinstall->Configure->Startup->Linux)
2.装上rpm-3.0.6_8.tbz
3.run rpm
#rpm -ivh XXXXX.rpm
还要在默认时Linux模块在启动时是不加载,你要在/boot/loader.conf里加上:
linux_load="YES"



附: RPM软件包使用常见问题
http://www.pcwordbook.com/web029/3484.shtml

RPM 使用命令大全
http://blog.chinaunix.net/u/25572/showart_201769.html




.

[ 本帖最后由 minok 于 2006-11-25 06:46 编辑 ]
作者: minok    时间: 2006-11-20 08:11
make install clean?  这个命令的后面的 clean 是什么意思?
make install clean的意思是:
fetch the_pkg_src;
./configure;
make;
make install;
make clean;
你明白吗?
make clean的意思仅仅是把你编译的过程中产生的中间代码删除!

下载的包没删除,不过多半是用不到了.可以用
make distclean
清除下载过来的包.

     make install clean为何总是需要从互联网上下载文件,但是网络上没有这个文件,急呀!
你可以先
make fetch-recursive
遇到没有的自己去网上找,找到后放在/usr/ports/distfiles下
作者: minok    时间: 2006-11-20 16:41
FreeBSD软件安装卸载工具--Ports和Packages详解http://www.freebsdchina.org/forum/viewtopic.php?t=14435
FreeBSD提供了两种技术:packages和ports

  Package文件是以.tgz的格式分发的
  # pkg_add -r file-1.7.1   (一个package的安装)
  # pkg_delete file-1.7.1   (删除一个软件包)
  # pkg_info        (列出已安装的所有软件包列表和描述的程序)
  # pkg_version  (比较本地 package 的版本与 ports 目录中的当前版本是否一致)
  下载地址
  ftp://ftp.freebsd.org/pub/FreeBSD /ports/packages/

  ports
  安装ports collection
  1 使用root用户运行sysinstall程序
  # /stand/sysinstall
  2 向下选择C onfigure 按Enter
  3 向下选择D istributions 按Enter
  4 向下选择Ports 按空格键

  C V Sup 方法
  使用CVSup 是一种快速获取Port 集合的方法

  port skeleton
  是让一个程序在 FreeBSD 上简洁地编译并安装的所需文件的最小组合。

  查找PORTS
  WHERSIS 程序名
  Make serch key=程序名

  安装PORT
  make
  make install

  删除PORT
  make deinstall

  查看软件安装的位置
  # pkg_info –L foopackage-1.0.0 | less

  查看软件安装的版本
  # pkg_info | grep foopackage

  查看这个软件的具体信息
  # pkg_info foopackage-1.0.0

  通过PORT下载软件
  下载所有PORT软件
  # cd /usr/ports
  # make fetch

  下载特定的PORT软件
  # cd /usr/ports/directory
  # make fetch

  想知道make要下载哪些文件
  m ake fetch-list

  安装所有PORT
  # cd /usr/ports
  # make install

  安装所有PORT而不要输入任何信息
  # cd /usr/ports # make -DINTERACTIVE install
  了解PORT的工作工程
  你只要看看/usr/ports/Mk 目录bsd.port.mk 和bsd.port.subdir.mk 的文件

  清除以安装过的源代码
  # cd /usr/ports
  # make clean

  修改PORT的下载站点
  假如ftp.FreeBSD .org 比MASTER _SITE S 上面列的任何站都近
  # cd /usr/ports/directory
  # make MASTER_SITE_OVERRIDE=\
  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
作者: minok    时间: 2006-11-20 17:09
多线程下载ports里的包

cd /usr/ports/ftp/axel
make
make install
make clean
编辑make.conf文件
ee /etc/make.conf
增加以下内容
FETCH_CMD=axel
DISABLE_SIZE=yes
修改配置文件
ee /usr/local/etc/axelrc
设置并发线程为10
num_connections = 10
默认的设置是4
作者: minok    时间: 2006-11-20 17:11
从ports中查找软件
问题:ports下有没有xxx这个软件?在哪个目录下?
回答:有两种办法来查找,一是通过软件名:
make fetchindex
cd /usr/ports
make search name=xxx | grep ^Path

另一种是通过关键字,也就是在软件名和说明中只要包括这个单词的都会查找出来:

cd /usr/ports
make search key=xxx | grep ^Path
作者: minok    时间: 2006-11-20 17:52
如果你的硬盘空间特紧张, 你可使用这个命令代替:

# make install distclean

当你安装一个ports时, 源程序将从互联网上下载下来并copied到/usr/ports/distfiles。 当你想重新安装那个ports时, 这些源程序已经在你的硬盘上了。 distclean 将告诉make 在软件安装成功时删除这些源程序。 可依据你的硬盘空间和你的电脑与互联网的连接速度来决定是否使用distclean。 另外, 因一些许可证的原因, 一些ports 会要求你手动取得源程序并将它们copied到/usr/ports/distfiles。 我觉得保存在硬盘上更方便, 因此我在安装ports时一般不会使用distclean。

有两个选项可以从另外的途径来节省你的硬盘空间。 如果你安装了portupgrade, 你可以使用portsclean来做这项工作。 从名字可以看出, 这个命令就是用来在ports 安装后做一些清理工作的
作者: minok    时间: 2006-11-20 18:00
来让我们看一下当前的硬盘使用情况和使用了portsclean后又有什么不同。 首先, 查看一下/usr分区使用了多少硬盘空间:
# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 6189648 6102162 50% /usr
下一步我们来看看/usr/ports的使用情况。 这个命令将显示使用硬盘空间最多的10个目录:
# du /usr/ports |sort -rn|head
3110862 /usr/ports
1848846 /usr/ports/distfiles
822278 /usr/ports/editors
816710 /usr/ports/editors/openoffice-devel
816592 /usr/ports/editors/openoffice-devel/work
604784 /usr/ports/editors/openoffice-devel/work/oo_644_src
362536 /usr/ports/distfiles/KDE
295404 /usr/ports/distfiles/openoffice
211718 /usr/ports/editors/openoffice-devel/work/mozilla
211654 /usr/ports/editors/openoffice-devel/work/mozilla/work

Hmmm, 看起来我在安装了OpenOffice后没有使用distclean。
我现在将清理那些忘记的工作目录:
#portsclean –C
它真的能清理硬盘空间吗?

% df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 5160664 7131146 42% /usr

oh yeah. 清理了8%的硬盘空间。


下一个portsclean选项也非常有用。
有一些不需要或过时的源程序还留在/usr/ports/distfiles里。 来让我们将它找出并清理掉:
# portsclean -DD
Detecting unreferenced distfiles...
<output varies>
来看看有什么变化:

# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 4092490 8199320 33% /usr

Whoa, 又清理出了9%的硬盘空间。来让我们看看主要的差别:
# du /usr/ports | sort -rn | head
1011998 /usr/ports
780760 /usr/ports/distfiles
161724 /usr/ports/distfiles/openoffice
137010 /usr/ports/distfiles/staroffice52
122648 /usr/ports/distfiles/KDE
55478 /usr/ports/distfiles/xc
24936 /usr/ports/distfiles/rpm
20536 /usr/ports/devel
18194 /usr/ports/distfiles/AbiWord
17704 /usr/ports/distfiles/ghostscript
现在硬盘使用空间已减少了很多, 但我的系统上还保留着我平常安装软件的源代码。
作者: gvim    时间: 2006-11-20 18:12
LZ能坚持下来,真是难得,赞赏一个。
作者: minok    时间: 2006-11-20 22:33
标题: 升级 Ports
在handbook里提到: 保持 ports 最新可能是一件乏味的工作。 例如, 为了更新 port 您需要进入它的目录, 编译, 卸载旧的, 然后安装新的, 并在之后进行清理。 考虑一下对五个 port 做这样的升级, 很乏味是不是?
尽管我不喜欢时常更新,但使用portupgrade相关内容太少,可参考http://ohaha.ks.edu.tw/portupgrade.htm
由于内容不多,贴出作备忘:

◎名稱
portupgrade - 提供經由port或是packages來升級/安裝新的軟體

◎我的操作
    以更新mrtg為例...
    1.因為要全部更新 但為保險起見先試試看...
      portupgrade -nRf mrtg
      
      但出現如下錯誤訊息..少了/usr/ports/INDEX.rbo這個檔案

portupgrade01.jpg (5.6 KB, 下载次数: 82)

portupgrade01.jpg

作者: minok    时间: 2006-11-20 22:36
标题: 升级 Ports
2.創造該檔案
      ports_glob -u 更新或創造ports資料庫檔案 INDEX.db 及 INDEX.rbo ‧
   
    3.再試一次
      portupgrade -nRf mrtg
      呵呵..這次成功了...

portupgrade03.jpg (50.68 KB, 下载次数: 84)

portupgrade03.jpg

作者: minok    时间: 2006-11-20 22:39
标题: 升级 Ports
如上圖可以看出..
      mrtg保持再最新狀態,不需要更新‧
      ** No need to upgrade 'mrtg-2.9.17' (>= mrtg-2.9.17).
      
      需要更新的是png-1.2.1 jpeg-6b_1 freetype2-2.0.5 gd-1.8.4_5
   
    4.評估是否需要更新
      若認為需要的話...就更新吧..
      
      以下只是單純的抓回檔案...因為有-F

portupgrade04.jpg (2.62 KB, 下载次数: 78)

portupgrade04.jpg

portupgrade05.jpg (2.56 KB, 下载次数: 81)

portupgrade05.jpg

作者: minok    时间: 2006-11-21 06:57
FreeBSD portsnap 简单使用


使用方法:
/etc/portsnap.conf 里面更改
SERVERNAME=portsnap.hshh.org

portsnap简介:
portsnap从6.0开始引进系统,给与用户方便的更新系统ports
portsnap的命令比较少
fetch 获取数据
extract 释放全部ports
update 更新ports
第一次使用可以 portsnap fetch extract
以后使用可以 portsnap fetch update
如果写在cron可以用 portsnap cron update
作者: minok    时间: 2006-11-21 07:56
标题: Packages 和 Ports
FreeBSD Porter 手册

FreeBSD 使用手册

Ports和Packages详解!

如何使用多线程下载工具proz代替fetch用于ports的安装?

修改 ports 安装的服务的启动顺序

FAQ - Ports and Packages v 1.5
  
善加利用與管理你的ports / packages

如何使用ssmtp提交你的port  

如何知道Ports里面的某个软件的安装条件?

FreeBSD局域网内Ports Tree的升级及Port的安装

console下通过代理服务器更新FreeBSD port及package!

FreeBSD的部分Package简介

快速安裝套件-PACKAGEROOT  

Handbook读书笔记-第4章

man portupgrade中文版

使用proz来加速你的Freebsd ports安装



以上皆为前辈们的作品,作为一只菜鸟的我,当然路过(晕倒一大片),呵呵!

[ 本帖最后由 minok 于 2006-11-27 00:47 编辑 ]
作者: minok    时间: 2006-11-21 18:04
如何只抓取 tarball?

如果只希望抓取 tarball 下來的話,僅需下 make fetch 即可。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make fetch

預設會將 joe 的 tarball 下載至 /usr/ports/distfiles/ 目錄下。

如何僅做到解開 tarball的步驟?

有時候習慣自己 patch/修正 原始碼的時候,很常用到這個功能。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make extract

會將 tarball解開至 /usr/ports/editors/joe/work/ 目錄下。


如何僅做到解開 tarball 並補上官方提供的 patch?

此方法與 2 有一些類似,不同於是先補上官方提供的 patch ,再行 patch 自己的修正。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make patch

會將 tarball解開至 /usr/ports/editors/joe/work/ 目錄下,並已經 patch 上官方提供的 patch。
作者: minok    时间: 2006-11-21 18:05
如何安裝一個新的 port?

如果系統上未安裝此軟體,則可以選擇安裝一個新的 port。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make install

如此會在系統上安裝一個新的 joe 軟體。如果需要在安裝完成後,一併清除編輯時期所留下來的暫存目錄,則可參考 FAQ 8 的方法,一起使用,如:

cd /usr/ports/editors/joe/
make clean

#make install clean


如何安裝一個新的 port,並將打包(package)起來?

將安裝完成的軟體打包起來,有許多便利性:包括在叢集系統中,可供其它機器使用,或將未來此軟體出問題可重新利用此 package 重新快速安裝。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make package

如此會在系統上安裝一個新的 joe 軟體,並將此軟體打包(package)起來。package 預設會在 /usr/ports/editors/joe/ 目錄下,如果希望集中管理的話,建議做如下的步驟:
mkdir -p /usr/ports/packages/All/

以後打包的 packages 都會存放在此目錄下,並且系統會自動做分類,以方便管理。如果需要在安裝完成後,一併清除編輯 時期所留下來的暫存目錄,則可參考 FAQ 8 的方法,一起使用,如:

cd /usr/ports/editors/joe/
make package clean
作者: minok    时间: 2006-11-21 18:06
如何打包一個 port,並將其所有相依的 ports 也打包起來?

因為 FAQ 5 只有對最終的 port 才進行打包,中間依賴的 ports 並沒有一起打包,這會出現一個常遇到 的問題,就是如果編輯一個 port 需要依賴其它的 ports,那麼必須將其它 ports 也一起打包,否則安裝 packages 會有相 依賴其它 ports 的 packages 的問題。
以 sysutils/portupgrade 為例的話,則:

cd /usr/ports/sysutils/portupgrade/
make DEPENDS_TARGET=package package

如此會在對所有 portupgrade 所相依賴的 ports 一併打包,也包括自己本身。


如何對一個已經安裝的 port 打包?

如果安裝好一個套軟,事前並未打包,事後想打包的話,則:
以 editors/joe 為例的話

cd /var/db/pkg/
pkg_create -b joe-{版本號}

會將已安裝的 port 打包起來,放在 /var/db/pkg/ 目錄下。


如何清理 ports 編輯期間所產生的暫存資料?

在編輯 port 的時候,會有編輯期間所需要的工作目錄(work),因此通常安裝好一個套件後,會清除此暫存目錄,以節省系 統磁碟空間。
以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make clean
作者: minok    时间: 2006-11-21 18:07
如何在安裝 ports 前查詢所需依賴/相關的套件?

在安裝 ports 前,可以查詢所需依賴/相關的套件。
以 mail/p5-Mail-SpamAssassin 為例的話,則:

cd /usr/ports/mail/p5-Mail-SpamAssassin/
make all-depends-list #顯示所有相關的套件
make pretty-print-build-depends-list #顯示編譯期間所需要的套件
make pretty-print-run-depends-list #顯示此套件要執行時所需要的套件





如何移除已安裝的 ports?

以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make deinstall

或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete joe-{version}

有時候套件之間的相依性會導致無法直接移除,如果要強制移除的話,則:

cd /var/db/pkg/
pkg_delete -f joe-{version}

但很有可能會導致其它的套件執行起來出現問題。


如何一併移除所相依的 ports?

以 sysutils/portupgrade 為例的話,則:

cd /usr/ports/sysutils/portupgrade/
make deinstall-depends

執行此步驟前,請注意是否會移除應該保護的套件。建議先參考 FAQ 9 的方法來檢查。


如何重新安裝已安裝過的 ports?

以 editors/joe 為例的話,則:

cd /usr/ports/editors/joe/
make reinstall
作者: minok    时间: 2006-11-21 18:07
如何以關鍵字搜尋 ports?

如果要從全部的 ports collection 中找尋與關鍵字 "ldap" 有關的 ports,則:

cd /usr/ports/
make search key=ldap

如果只要從與 ftp 相關的 ports 下找尋與關鍵字 "ldap" 有關的 ports,則:

cd /usr/ports/ftp/
make search key=ldap

還有另一個用法,方法只是將 key 換成 name 。如果已經知道要搜尋 ports 的名稱,或只想找名稱相關的關鍵字 "ldap", 則:

cd /usr/ports/
make search name=ldap

如果只要從 ftp 相關的 ports 下找尋名稱與關鍵字 "ldap" 有關的 ports,則:

cd /usr/ports/ftp/
make search name=ldap




如何升級已安裝的 ports?

如果已經安裝好套件,事後欲升級的話,以 editors/joe 為例,則:

cd /usr/ports/editors/joe/
make deinstall
make install clean

或是
cd /usr/ports/editors/joe/
make reinstall




如何查詢目前系統安裝了哪些套件?

查詢目前系統已安裝的全部套件:

pkg_info
作者: minok    时间: 2006-11-21 18:08
如何在您使用 cvsup 更新 port tree 後,我們可以使用下列指令查看目前安裝的軟體版本是否和 port tree 中的版本一樣:
# pkg_version -v
ispell-3.2.06_12 = up-to-date with port jasper-1.701.0 = up-to-date with port jpeg-6b_3 = up-to-date with port kde-3.3.0 < needs updating (port has 3.3.1) kdeaccessibility-3.3.0 < needs updating (port has 3.3.1) ... 略 ...
上列輸出中需要更新的軟體會有「< needs updating」的字樣。您可以選擇想要更新的軟體,再使用 portupgrade 來更新。首先,我們必須使用 ports 來安裝 portupgrade:




如何查詢目前系統有沒有安裝這個關鍵字的套件?

此方法類似 FAQ 14 :

pkg_info | grep




如何查詢某個檔案是屬於哪些套件?

如果想查詢 /usr/local/bin/joe 是屬於哪個套件的話,則:

pkg_info -W /usr/local/bin/joe

如果沒有回傳任何資訊的話,代表著這個檔案是由 FreeBSD 內建的。


如何查詢某個套件安裝了哪些檔案?

如果想查詢目前系統所安裝的 joe 包含了哪些檔案,則:

pkg_info -L /var/db/pkg/joe-{version}




如何安裝舊版的 ports?

有時候會因為相依性,或是新版有問題,而會想裝舊版本的套件。
這裡的方法是利用 CVS 的好處,回歸到以前舊版本存在的日子,以安裝舊版本的套件。
首先,若我們要回復到某一個套件的版本時,需要去查詢 FreeBSD ports CVS repository。
最常見的就是 Freshports 網站、 FreeBSD ports news group, 或是 FreeBSD ports cvsweb。

查到該套件版本所依存的日子後,就修改 CVS tag。一般預設 ports 的 CVS tag 會寫在 /usr/share/examples/cvsup/ports-supfile ,如要回朔到 2002/10/05 號的話,則:

# vi /usr/share/examples/cvsup/ports-supfile
******************************************
default date=2002.10.05.00.00.00 #將 date 改成當日

然後按照一般 CVSup 的時候一樣,執行 CVSup (make update),此時的 ports collections 就會回到當時的情形,那麼該套件 舊版本也會出現在 ports collections 中,只要安裝即可。

如果僅是想把某部份的 ports 回朔,則必須加上額外的資訊,如僅希望把 lang/perl5.8 回朔,而得知此屬於 lang 中的一支,則:

# vi /usr/share/examples/cvsup/ports-supfile
******************************************
#ports-all #將 ports-all 標示起來
ports-lang #加入這行

最後,執行 CVSup,並安裝即可。目前若希望單獨回朔單一的 ports,則比較麻煩。
作者: minok    时间: 2006-11-21 18:09
如何更新 ports Mk?

Mk (/usr/ports/Mk/) 是編譯 ports 時所參考的設定,有時若發生 ports collections 太新,而導致 Mk 的內容不符,此時 就是應該更新 Mk 的時候了。

cd /usr/src/
make update
cd /usr/src/share/mk
make install




如何解決安裝 ports 時出現 sed -i 的錯誤?

因為 BSD style 的 sed ,也就是 BSD 本身自有的 sed ,與一些 ports 編譯期間所執行的 sed 不一致,所以會導致一些語 法錯誤。此時先安裝 sed_inplace (textproc/sed_inplace),然後再安裝原本無法安裝的 ports:

cd /usr/ports/???/???/
make -DUSE_REINPLACE install




如何列出所有可以升級的 ports?

ports collection 的更新速度很快,在每次更新 ports collections 後,往往會出現比目前現在安裝的套件還新的版本,可 以令系統自行整理並提供可升級套件的列表:

pkg_version -c




如何得知 ports system 對某個 ports 所提供的編譯參數?

所有的 ports collections 中所提供的編譯參數都會在對應的 Makefile 檔案內詳述,如 sysutils/portupgrade 的話,則 是位在 /usr/ports/sysutils/portupgrade/Makefile 檔案下。
可以對此檔案瀏覽以得知編譯時期可以下達的參數,如對 sysutils/portupgrade 有提供 NOPORTDOCS,則:

cd /usr/ports/sysutils/portupgrade/
make -DNOPORTDOCS install # make NOPORTDOCS=yes install 亦同

那麼安裝此 ports 時,會將 NOPORTDOCS 所對應的相關參數指定進去。
有時候設定較人性化的 ports 會在安裝前提供參數供選擇,但是其實大部份的 ports 都沒有提供,因此必須自行去搜尋可編 譯的參數,在此我提供的方式如下:

cd /usr/ports/sysutils/portupgrade/
grep defined Makefile

如此幾乎可以知道所有提供的可編譯參數,雖然有時會多出一些不相干的資料,不會這個確實是一個不錯可參考的方式。


如何手動加入編譯 ports 的參數?

在 FAQ 23 中的方法,是 ports collections 有提供的前提之下,有時候並不是所有該軟體所支援的參數 都會收納在 ports collections 中,因此有時候會需要手動加入編譯的參數。
如 ftp/pure-ftpd 中,如果不想把 inetd 的支援編入的選項,並沒有被 ports collections 所納入,因此必須手動加上這個 編譯參數,如下:

cd /usr/ports/ftp/pure-ftpd/
make CONFIGURE_ARGS+="--without-inetd" install
作者: minok    时间: 2006-11-21 18:10
如何指定 ports 的安裝路徑?

預設 ports collecions 已安排安裝的路徑 (/usr/local/),如果不想將套件安裝在預設路徑的話,可以手動指定安裝路徑。 以 editors/joe 為例,則:

cd /usr/ports/editors/joe/
make PREFIX=/usr install

那麼 joe 就會將檔案對應在 /usr 目錄下,而不是預設的 /usr/local 目錄下。


安裝 ports 出現 FORCE_PKG_REGISTER 的錯誤訊息

請參考 Ohaha 的 FAQ。


安裝 ports 出現 Shared object libintl.so.X not found 的錯誤訊息

請參考 Ohaha 的 FAQ。


如何安裝 packages?

目前 FreeBSD 的 packages 是由 .tgz 所打包。如果想安裝一個 packages ,可使用 pkg_add,如安裝一個 joe 的 tgz:

pkg_add joe-{version}.tgz




如何遠端安裝 packages?

有兩種設定方式,首先是 PACKAGEROOT,如:

setenv PACKAGEROOT ftp://ftp.tw.freebsd.org #設定 PACKAGEROOT 為 ftp.tw.freebsd.org 站台

另一種方式是設定 PACKAGESITE,好處是若該站台的 packages 倉儲並不是符合官方的設定或你想自己指定一個路徑。
以 ftp.tw.freebsd.org i386 的 current pakcages 為例:

setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/Fre ... ges-current/Latest/

兩種方式選擇其中一種皆可,接下來的步驟都一樣。
往後要安裝 packages 的時候,如 portupgrade 的話,則:

pkg_add -r portupgrade

則系統會自動於 ftp.tw.freebsd.org 抓取所有與 portupgrade 相依的 packages 並安裝。



如何更新 INDEX 對照表?

4.x 的 INDEX 位於 /usr/ports/INDEX,5.x 位於 /usr/ports/INDEX-5。
INDEX 是對照 ports 所有相依等資訊的對照表,若長期未更新的話,會導致 ports 對照失敗。官方有定期更新 INDEX,如果 想自行更新的話,則:

cd /usr/ports/
make index
作者: minok    时间: 2006-11-22 15:00
标题: shell
命令解释程序shell是与用户关系最密切的应用程序,用户主要通过shell使用系统。在每次登录系统之后,就启动了一个与用户交互的shell,这个shell将给出一个提示符等待用户输入,(sh为 “$” ,csh为 “%” ,如果是使用root用户,登录提示符将是 “#” ),然后对用户的输入进行解释执行。
      许多的shell同样能帮我们完成内建的每日功能,例如:文件管理、文件寻找、命令行编辑、 宏指令和环境变量。FreeBSD内含了一些shell,例如:sh、Bourne Shell、 tcsh和改良过的C-shell。 另外也有些shell也可在FreeBSD的Ports得到,例如:zsh和bash。


问: 我见很多 shellscript 都是用 sh 写的,那 ksh93 的 shellscript 与 sh 的 shellscript 接近吗或者兼容吗?

答: ksh, zsh, bash 跟 sh 是兼容的,就是说用sh的语法写出的脚本能用前面几个shell运行。而tcsh 是和 csh 兼容的。

[ 本帖最后由 minok 于 2006-11-22 19:18 编辑 ]
作者: minok    时间: 2006-11-22 19:28
FreeBSD 使用手册

freebsd shell设置

FreeBSD Shell的高级功能

送给FreeBSD和UNIX的初学者

shell 十三問?

shell基础十二篇

SHELL 综合水平测试

Linux常用脚本命令集

[ 本帖最后由 minok 于 2006-11-30 18:34 编辑 ]
作者: minok    时间: 2006-11-22 19:37
Shell编程基础

关于三种SHELL的区别

BSD测试-新手入门问题

为什么FreeBSD默认的shell会选用tcsh?

我想改变root的shell,csh真的很不习惯

chsh把shell改错了 怎么办

怎么改回原来的SHELL

BSD 下面 chsh 把root的shell改错了 怎么办啊

请教:用户登陆shell 的问题

BSD下如何用shell来验证用户密码是否正确?

怎么样在shell下查看对方的共享文件(win系列的)

系统起动后第一个交互shell是什么?

系统默认的shell是csh, BSD区的兄弟们喜欢用什么shell呢?

我用错了chpass -s,把root弄丢了

如何改变root默认的shell????想从tcsh改成bash

请问freebsd下默认的sh是何种shell

怎样配置使Freebsd的shell环境自动显示路径?

制作了一个shell脚本如何执行?

怎样修改freebsd的shell呢

FreeBSD的su命令如何直接跟命令?

[ 本帖最后由 minok 于 2006-11-27 00:11 编辑 ]
作者: minok    时间: 2006-11-24 13:51
在FreeBSD下(字符界面下)设置屏保--密码?

重新使资源配置文件rc.conf,inetd.conf等生效的最好方法是...?

改成bash,请问是改哪个变量?还有用哪个命令可以看正在使用的shell类型?

运行SSHD后如何在客户端以SSH方式登录?

请教:pwd_mkdb: warning, unknown root shell ??

sh和bash有什么区别

echo 命令为什么对 \t \b \n 不能处理?

root账户chsh指定了一个不存在的shell怎么恢复

默认用户home目录的权限怎么都是755?

请问能否用主盘上的NTloader引导从盘上的FreeBSD?

想改用standard MBR模式启动,该如何移除FreeBSD Boot Manager ?

FreeBSD 文件和目录查找

怎么让新加的命令直接能找到,而不重新登陆?

freebsd下使用bash可不可以做到像linux那样不同颜色显示

ls可以是彩色的,df也可以是彩色的

字符界面下看中文网页(cce、zhcon+lynx)的方法

30分钟搞定BASH脚本编程!

VI中汉字显示成\xc8\xf0字样的解决办法 !

FreeBSD下取得昨天日期的方法

文件特殊权限的解释。

[ 本帖最后由 minok 于 2006-11-27 00:30 编辑 ]
作者: minok    时间: 2006-11-24 18:04
BSD学不会, 反而学会玩坛子, 嘿~是不是简洁一些, 什么? 还要高亮, 彩色, 下划线, 字体.....各位放过我吧! 把浏览器略调即可. 另外, 贴子下沉了不表示没新的内容, 正在更新呢 ^o^

[ 本帖最后由 minok 于 2006-11-27 01:12 编辑 ]
作者: m123456    时间: 2006-11-24 18:14
标题: 能告诉我怎么硬盘安装的大侠 加我QQ372221714
我是菜鸟怎么都不会  想装个 UNIX   但是什么都不懂  
关照一下!!!!!!!!
作者: minok    时间: 2006-11-25 10:14
一起学习,共同进步!!!

回复m123456:  关于 硬盘/ISO文件安装的方法
Win2K中vmware安装FreeBSD宝典
关于从硬盘安装FreeBSD的问题

另外: 请把问题发表出来,放在这里我不一定能看见的, 并且问题会很快得到解决.





.

[ 本帖最后由 minok 于 2006-12-7 11:53 编辑 ]
作者: minok    时间: 2006-11-25 10:15
在FreeBSD上使用bash作为默认shell

FreeBSD 显示环境设定

制作非常个性化 FreeBSD 控制台下的静态屏幕保护和开机 LOGO

FreeBSD下的vi支持中文显示和编辑

chsh以后进不去系统的解决之道暨FreeBSD下shell使用简介

[ 本帖最后由 minok 于 2006-11-30 18:50 编辑 ]
作者: minok    时间: 2006-11-25 10:21
一 ee编辑器

ee 是 FreeBSD 系统内附较适合初学者的文书编辑软体,它是 Easy Editor 的简称,顾名思义 ee 使用上十分容易。当您要编辑档案 example.txt 时,只要在命令列上打 ee example.txt 即可。



当我们按了 <Esc> 键时,会出现一个主选单,在选单中我们可以进行一些设定,如果您储存这些设定,它会被存在您的 home 目录下的 .init.ee,以 root 为例,设定档会存放在 /root/.init.ee。如果您要还原预设值,只需将该档删除即可。

[ 本帖最后由 minok 于 2006-11-25 10:36 编辑 ]
作者: minok    时间: 2006-11-25 10:44
二  vi编辑器

Vi 是一个历史悠久且功能强大的 UNIX 文书编辑器。在古早的年代,许多键盘都只有一些基本按键,连上下左右键都没有,所以 vi 大多数的功能都必须使用一些特殊的按键。

Vi 在使用时可以分成二种模式,一种是「编辑模式」,另一种则为「命令模式」。在编辑模式时,我们可以使用上下左右键来移动游标并编辑输入我们所要编辑的文字内容。而命令模式时,我们可以进行档案操作 (开档、存档等)、搜寻等功能。使用 vi 时,我们会很常按 <Esc> 键,<Esc> 键可以让我们离开编辑模式并进入命令模式。请执行 vi example.txt 来编辑 example.txt 这个档案,一进入 vi 时,预设会处于命令模式,我们必需先输入 "o"、"i"、或"a"才能进入编辑模式。

以下即为进入编辑模式的指令:



如果您输入错误,您无法使用 <Delete> 或 <Backspace> 来删除,我们必须使用 vi 的其它命令来进行。请先按 <Esc> 来进入命令模式,接着您就可以使用下列指令来进行进阶编辑:



接下来我们说明一下如何在档案中穿梭移动:



只要您熟悉了上列指令,您大概就可以很轻鬆的使用 vi 了。Vi 还有许多功能,你可以 man vi 来获得更多资讯。

[ 本帖最后由 minok 于 2006-11-25 10:57 编辑 ]
作者: langue    时间: 2006-11-25 10:52
原帖由 minok 于 2006-11-25 10:44 发表
二  vi编辑器

Vi 是一个历史悠久且功能强大的 UNIX 文书编辑器。在古早的年代,许多键盘都只有一些基本按键,连上下左右键都没有,所以 vi 大多数的功能都必须使用一些特殊 ...


支持一下。另外,参考 USD:13 Vi Reference Manual
作者: minok    时间: 2006-11-25 22:09
标题: FreeBSD基础应用
精华区里找了几个基础应用的文章, 感觉不错, 可作参考.

FreeBSD初学者完全入门指南
FreeBSD-FAQ集锦
FreeBSD系统FAQ
FreeBSD/Unix环境下的make命令详解
BSD实用小技巧
BSD学习补遗--小技巧
文件和目录查找
BSD下虚拟机qemu 入门详解
目录的加密?
Apcupsd安装使用笔记
推荐初学者先看基本系統指令介紹

[ 本帖最后由 minok 于 2006-12-8 16:05 编辑 ]
作者: minok    时间: 2006-11-27 13:50
01.查看网络流量

   a.systat -if 1 (1表示1s刷新屏幕一次)

   b.netstat 1

   # Traffic 流量 peak 峰值 average 平均值



02.查看硬盘信息

   diskinfo -vt /dev/ad0



03.查看核心信息

   vmstat 1



04.断电后系统无法启动

   a.启动到sing user模式

   b.fsck

   c.reboot



05.硬盘分区时-shift+F -->NO可以使用全部空间



06.ctrl+alt+backspace 杀掉xwindows



07.alt+F1...F8 或 printscreensysr循环切换控制台



08.shutdown now 切换到单用户模式

   shutdown -p now shutdown -hp now 关闭电源

   shutdown -r now reboot 重新启动机器



09.升级内核后无法启动

   a.重启机器到10秒读秒时按enter以外的任意键

   b.unload

   c.boot kernel.old 或其他可以启动的内核



10.挂载ntfs,fat32分区和u盘

   ntfs: mount_ntfs -C eucCN /dev/ad0s5 /mnt/d

   fat32:mount_msdos -L zh_CN.eucCN /dev/ad0s6 /mnt/e

   u盘:  mount_msdos -L zh_CN.eucCN /dev/da0s1 /mnt/u



11.卸载分区

   umount /dev/ad0s5

   umount -f /dev/ad0s5 (强制卸载)
作者: minok    时间: 2006-11-27 13:51
12.查看进程

   top   ps auxww  ps -ef |grep xxx



13.查看硬盘详细分区信息&读写状况

   gstat



14.声卡

   vi /boot/defaults/loader.conf

   更改snd_ich_load="NO"->"YES" #intel ich

   检测声卡 kldstat 或 dmesg |grep pcm



15.ls -G 显示颜色



16.sysctl sysctl -a 查看变量



17.丢失root密码

   启动到单用户模式,执行 /sbin/mount -a,

   然后拥passwd更改密码



18.查找程序或文件

   whereis 程序名

   locate 文件名

   whatis xxx 要找东西但不知道它是什么

   grep bpf /usr/src/sys/i386/conf/GENERIC 在文件中找指定文本

   #只能对文本进行grep,如是命令,则

   command |grep text

   grep text filename



19.中文locale

   zh_CN.eucCN zh_CN.GBK zh_CN.GB18030 zh_CN.euc

   #语言代码_国家代码.字符编码

   #查看环境变量 locale



20.xmms,mplayer 乱码问题

   在用户目录下建立 .gtkrc.mine 文件.代码如下
   style "gtk-default-zh-cn"{
        fontset="-*-simsun-medium-r-normal--12-*-*-*-*-*-iso8859-1,
                 -*-simsun-medium-r-normal--12-*-*-*-*-*-gb2312.1980-0,*-r-*"
  }
   class "GtkWidget" style "gtk-default-zh-cn"
  #前提是安装 simsun 字体,可参照以下方法安装。
  #拷贝 Windows系统下的 simsun.ttc 字体文件到 /usr/X11R6/lib/X11/fonts/TrueType/,没有的话创建。
   # mkfontdir /usr/X11R6/lib/X11/fonts/TrueType
   # fc-cache -fv



21.停止sendmail

   vi /etc/rc.conf 加入

   sendmail_enable="NONE"



22.you have mail

   mail 回车,输入1看第一封邮件...输入?看帮助
作者: minok    时间: 2006-11-27 13:52
23.traceroute &ping的整合工具my traceroute /mtr

   /usr/ports/net/mtr

   使用: mtr www.163.com



24.本地化设置,以系统默认的csh为例

   vi /etc/csh.cshrc 加入

   setenv LANG zh_CN.eucCN (语言设为中文)

   setenv LC_ALL zh_CN.eucCN (所有本地子集设为中文)

   setenv XMODIFIERS @im=fcitx (X下的中文输入法)

   set prompt = "%B%m<%/>"(个性化控制台%B颜色%m主机%/目录)

   set autolist  (自动补齐扩展)

   set nobeep    (告诉应用程式避免发出哔哔声)

   set filec     (使档案名称在命令列被完成)

   alias ls        ls -FG (彩色化ls)



25.在/etc/fstab中挂载fat32分区

   /dev/ad0s5  /mnt/d  msdos  rw,-L=zh_CN.eucCN 2 2



26.使用gnome2的gdm做桌面管理器

   vi /etc/rc.conf 加入

   gdm_enable="YES"

   vi /root/.dmrc 更改Language=zh_CN.UTF8-->zh_CN.eucCN



27.远程连接windows终端

   rdesktop [-a 16 -f] server'IP[:port]



28.播放APE格式音乐

   /usr/ports/multimedia/xmms

   /usr/ports/audio/xmms-mac



29.看图

   /usr/ports/graphics/xnview



30.fcitx小企鹅输入法(有关步骤见24)

   /usr/ports/chineses/fcitx

   vi /root/.xinitrc 添加

   exec fcitx& 到最前一行



31.apache22+php5+mysql+postgresql+ZendOptimizer

   a,apache22:

     cd /usr/ports/www/apache22

     make install clean

   b,php5:

     cd /usr/ports/www/mod_php5

     make install clean (勿选debug,否则不能装ZendOptimizer)

   c,php5模块:

     cd /usr/ports/lang/php5-extesions

     make install [FORCE_PKG_REGISTER=yes] 强迫安装

     make clean

     (除预设项目还应选中CTYPE,EXIF,GD,ICONV,IMAP,PCRE,SESSION,ZLIB)

   d,cp /usr/local/etc/php.ini.recommended /usr/local/etc/php.ini

   e,ZendOptimizer

     cd /usr/ports/devel/ZendOptimizer

     make install clean

   f,mysql:

     cd /usr/ports/databases/mysql41-server

     make WITH_CHARSET=gbk WITH_XCHARSET=all SKIP_DNS_CHECK=yes install clean

     cd /usr/ports/databases/php5-mysql

     make install clean

   g,postgresql

     cd /usr/ports/databases/postgresql81-server

     make install clean

     cd /usr/ports/databases/php5-pqsql

     make install clean



32.怎样刷新环境变量值,而不用推出再登陆?

   a,比如要重新设置环境变量ABC的值为abcdef

     bash$ export ABC=abcdef

     csh% setenv ABC abcdef

   b,更新了PATH变量指定目录里可执行命令

     rehash

   c,更新配置文件

     比如你编辑了.cshrc等文件,就需要用source命令

     source .cshrc



33.磁盘空间使用情形    df 和 du

   指令df用来查看整个档案系统的使用情形,如果您需要知道某个目录的使用情形用指令du。

   df -h

   du -h /etc

   du -sh /etc

   -s 参数来省略指定目录下的子目录

   -h 表示使用GB、MB等易读的格式
作者: minok    时间: 2006-11-27 13:53
34.检视软件间的关联

   cd /usr/ports/sysutils/pkg_tree

   make install clean

   之后我们就可以使用 pkg_tree | more 来看各个软件之间的关系了



35.使用 portupgrade 更新软件

   cd /usr/ports/sysutils/portupgrade

   make install clean

   如果您只想要升级某一个软件本身,而非所有相依的软件,只要使用 portupgrade "pkgname" 即可。

   如果您要升级所有和该软件相依的其它软件,则可以加上参数 -r。如果您要更新包含相依软件的相依软件,

   则可以使用参数 -R。另外,您可以使用参数 -m 来要求编译 (make) ports 时多传入一些参数,还可以

   使用参数 -f 要求就算版本一样也强制更新。portupgrade 在更新软件时,会保留您原本的设定档。例如,

   在更新 Apache 时,它会保留 httpd.conf 的设定。

   假设我们要更新的软件是 perl-5.8,我们可以使用下列指令来更新:

   # portupgrade -rf "perl-5.8.*" -m "ENABLE_SUIDPERL=yes"



36.ports安装失败提示

   stop in /usr/ports/lang/ruby18/work

   删除work目录下所有文件&文件夹再次安装即可.



37.ntop--网络监控软件

   cd /usr/ports/net/ntop

   make install clean

   vi /etc/rc.conf 加入

   ntop_enable="YES"

   在地址栏中输入http://x.x.x.x:3000 即出来管理界面.



38.修改/etc/rc.conf不重启生效

   1.sh /etc/rc

   2./etc/netstart



39.freebsd启动的时候停到blanktime的解决办法

   可以试试 这个参数:blanktime="NO"

   etc/rc.conf 中把 default_router 注释掉

   #未验证!!!



40.Bsd 下的QQ

   eva不错,运行速度飞快。

   /usr/ports/net-im/eva



41.一次性把所有安装的ports删除掉

   a.pkg_delete -a

   b.安装pkg_cutleaves它会告诉你,哪些package没有人依赖,并让你决定要不要删除



42.pure-ftp安装

   cd /usr/ports/ftp/pure-ftpd/

   make WITH_LANG=simplified-chinese install clean

   [X] BANNER   Show pure-ftpd welcome upon session start

   cd /usr/local/etc/

   cp pure-ftpd.conf.sample pure-ftpd.conf

   vi /etc/rc.conf -->加入pureftpd_enable="YES"



43.开机自动校准时间

   vi /etc/rc.conf--->加入

   ntpdate_enable="YES"             # Run ntpdate to sync time on boot (or NO).

   ntpdate_flags="207.46.232.189"   # time.windows.com



44.用win2000的引导器启动FreeBSD

   我在笔记本上装了双系统,win2000 和freebsd,装完 freebsd后 系统自动设置如下:

   f1 dos

   f2 freebsd

   先起动到dos下,fdisk /mbr,再把FreeBSD光盘上的boot\boot1复制到c:\,再编辑c:\boot.ini

   加一行c:\boot1="FreeBsd"


45.安装mplayer
make WITH_GUI=yes WITH_LANG=zh_CN WITH_FREETYPE=yes WITHOUT_RUNTIME_CPUDETECTION=yes install clean
作者: minok    时间: 2006-11-28 08:55
打包、解包 命令:
打包:
tar -zcvf /tmp/etc.tar.gz /etc            <==打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc           <==打包后,以 bzip2 压缩
解包:
tar -zxvf /tmp/etc.tar.gz         
tar -jxvf /tmp/etc.tar.bz2
sync 命令:
根据我的理解,就是将暂时存储在缓冲器中的数据,强制保存至硬盘。
nslookup 命令:
1 nslookup #交互式模式
2 lserver #改变默认DNS服务器
3 type
           实例 nslookup -type=MX domain.tld     #查询MX记录
作者: zkww.com.cn    时间: 2006-11-28 15:57
以后一定检查清楚
作者: minok    时间: 2006-11-28 22:40

作者: minok    时间: 2006-11-29 13:56
1.tr命令,替换、删除指定字符
例:
1, 将 last 输出的讯息中,所有的小写变成大写字符:
[root@linux ~]# last | tr '[a-z]' '[A-Z]'

2,将 /etc/passwd 输出的讯息中,将冒号 ( 删除
[root@linux ~]# cat /etc/passwd | tr -d ':'

3, 将 DOS 档案的断行字符 ^M 符号删除:
[root@linux ~]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM
# 那个 /r 指的是 DOS 的断行字符

2.文件切割
split -b 300k /root/bigfile smallfile
#bigfile要切割的文件,smallfile切割后的文件
文件还原
cat smallfile* >> bigfile

grep -n 'error' filename.log
#参数'n',将提取行,前面加上行号
作者: minok    时间: 2006-11-29 21:04
补充: 74楼33.磁盘空间使用情形    df 和 du
目录及文件容量查看
du
检查某目录下面每个目录所占用的容量
<du -sm /home/usr/*>

#   预设的情况下,容量的输出是以 KB 来设计的, 如果你想要知道目录占了多少 MB ,那么就使用 -m 这个参数即可
#  如果你只想要知道该目录占了多少容量的话,使用 -s 就可以
# 例如:root@mail# du -h -d 1 /var,查看/var目录下各子目录的体积
#  1  代表一级目录,2代表输出2级目录


备份整个硬盘指令
#dd if=/dev/ad0 of /dev/ad1
作者: minok    时间: 2006-11-30 13:59
问:如何将 man 文件转为文本文件?
答:如要将 ls 的 man 手册转为文本文件,命令如下:
man ls | col -b > outfile

问:如何快速切换当前目录?
答:在 UNIX 下要在切换目录是非常方便的,以下列出各个快速切换当前目录的命令。
cd .. 返回上级目录
cd ../.. 进入上二级目录
cd - 返回上一次进入的目录
cd 进入用户自己的主目录
cd ~ 进入用户自己的主目录

注意:因为 UNIX 下的命令输入格式非常严格,所以不能像在 DOS 下那样将命令和参数连在一起输入,如要进行上级目录,在 DOS 下可能这样输入 cd.., 但在 UNIX 下,系统会说找不到 cd.. 这个命令,正确的输入是要在命令和参数之间有一个空格 cd ..。

[ 本帖最后由 minok 于 2006-11-30 14:34 编辑 ]
作者: minok    时间: 2006-11-30 14:30
问:让 ls 只显示目录名
答:ls -l | grep ^d

问:让 ls 只显示文件名
答:ls -l | grep ^f

问:让 ls 以颜色显示目录名和文件名
答:ls --color=auto ( under linux )。
要在 FreeBSD 下让 ls 以颜色显示目录名和文件名,需要安装 colorls 这个程序。可用 pkg_add 来进行安装,安装完成后,在 /etc/profile 或用户主目录下的 .bash_profile 文件中加入:
alias ls=ls -G
以后运行 ls 时,即会以颜色显示目录名和文件名。

问:修改 FreeBSD 的登录提示信息
答:每一次登录系统,系统都会派生一个 gettty 进行来响应用户的登录请求,此时 gettty 会向用户显示登录提示信息,而这些提示信息是由 gettty 的配置文件 /etc/gettytab 指定的,我们可以对 /etc/gettytab 进行修改来修改登录的提示信息。
作者: minok    时间: 2006-11-30 17:25
问:如何加快 FreeBSD 的启动速度?
答:将 autoboot 0 加入到 /boot/loader.rc 里,可以不用等 10 秒

问:如何以 root 的身份远程登录系统?
答:要对远程的系统进行管理就需要用到远程登录。但在安全上的考虑,root 是不能直接远程登录系统,所以要以 root 的身份远程登录系统就要另想办法。我们可以先以一个普通用户的身份来登录系统,然后利用 su 功能将自身变成 root 的身份。这样就基本上同以 root 登录的效果是一样的。但有一些问题是要注意的:1、用 su 是,如果指定 - 参数,将会在转换身份时执行转换后用户的环境变量设置,即读即用户目录下的 .bash_profile (bash),如果只用 su 命令,则不会读取该文件的内容。2、要转换身份的普通用户必须是 wheel 组的成员,否则不能使用 su 命令转换成超级用户的身份。

问:如何快速引用主目录的文件?
答:~ 是指用户自己的主目录,所以如果用户要在其它目录引用自己的目录时,可以用以下的快捷方式。
cp ~/myfile /tmp 将用户的主目录下的 myfile 文件拷贝到 /tmp 目录下。
作者: minok    时间: 2006-11-30 22:27
问:如何只显示子目录?
答:ls -l | grep ^d

问:如何只显示文件名?
答:ls -l | grep ^-    ls -l | grep ^f

问:如何统计当前目录下的子目录数?
答:ls -l | grep ^d | wc -l

问:为什么不能进行象“pub-mail”这样的目录?
答:在 UNIX 下,shell 是用 - 来指参数的,所以要进行象“pub-mail”的目录时,shell 会认为 pub 是一个目录而 mail 是一个参数,所以是不能进行正确操作的。要进行这样的目录,只要在输入时在 - 前面加入 \ 即可。
cd pub\-mail
或用 "" 括起来:
cd "pub-mail"

问:如何解压扩展名为的 .tgz 和 .tar.gz文件?
答:以扩展名 .tgz 或 .tar.gz 结尾的文件是 tar 命令和 gzip 命令的结晶品。所以要解开以 .tgz 结尾的文件时,就需要用到 tar 和 gzip 命令。 假如要解压的文件名为 myTGZfile.tgz,操作方法如下:
gzip -D myTGZfile.tgz | tar xvf -
也可以直接用 tar 命令解压
tar zxvf myTGZfile.tgz
还可以用 tar 的 -C 参数指定解压后的目标目录。即如果要将文件解压到 /usr/local 目录下,不必将文件拷贝到 /usr/local 下再解压,可以在任何一个目录将该文件解压,然后用 -C 参数指定解压的目标目录 /usr/local,操作如下:
tar zxvf myTGZfile.tgz -C /usr/local

[ 本帖最后由 minok 于 2006-12-1 10:20 编辑 ]
作者: minok    时间: 2006-12-01 07:14
问:如何查找指定的正在运行的进程?
答:如要找名为 httpd 的进程,操作如下:
ps -auwx | grep httpd

问:用 mail 发送带附件的邮件
答:用重定向的方法可使 mail 发送带附件的邮件,操作如下:
mail charles@netease.com -s "Hi,friend!" < attach.file (错误)

mail -s "Hi,friend!"  charles@netease.com < attach.file (正确)

问:如何重启一个进程?
答:如果刚刚修改了 httpd 的配置文件,可以用重启 httpd 进程的方法来让 httpd 重读 httpd 的配置文件,使新设置的内容生效。操作如下:
首先找出 httpd 的进程 ID(PID)
ps -auwx | grep httpd
kill -HUP httpd's PID

问:用 nohup 命令让用户退出后,用户的进程也可以继续运行
答:当用户退出登录后,用户所运行的程序会被自动 kill 掉,因为这些进程是承继用户的 shell 运行的,如果用户退出后,用户的 shell 也会被 kill 掉,那么那些由 shell 派生的进程自然会被 kill 掉。要让用户的进程在用户退出后也可以一直运行,可用 nohup 命令,操作如下:
nohup myProgram &
这样用户的 myProgram 进程会在后台运行。并且,当用户退出后,该进程也会一直运行,直至被用户或 root kill 掉或关机。
注意:因为用 nohup 运行的程序不会在显示器上显示运行信息,所以所有的信息会被保存在一个以进程 + .output 命名的文件里。

[ 本帖最后由 minok 于 2006-12-6 14:54 编辑 ]
作者: minok    时间: 2006-12-01 07:30
问:最近装了两块网卡, 配置网卡的时候提示什么 no duplicate,到是不影响使用,但屏幕老提示: /kernel : arp : xxx.xxx.xxx.xxx is on 网卡一 but got reply from 00:a 0:24:26:ab:a0 on 网卡2 ,两块网卡在同一个网段.我想知道我如何禁止掉它? 如果必须修改内核源代码,那请问在什么地方修改?
答 1 :它仅仅是个log信息,不是错误,如果你一定要去掉这个信息的话,它在 /usr/src/sys/netinet/if_ehter.c 中
log(LOG_ERR, "arp: %s is on %s%d but got reply from %6D on %s%d\n",...);
去掉这句就可以了.
答 2 :使用arp命令进行静态arp映射,可能会防止这种错误信息。

问:如何将文件容量变为 0 字节?
答:如何要将文件 access_log 文件的容量变为 0 字节,可用以下命令:
cp /dev/null access_log

cat /dev/null > access_log

问:如何让启动脚本的设置生效?
答:我们通常会在 .bash_profile 等启动脚本里加入常用的设置,以免每次登录都要设置一次,但这个脚本只在用户登录时才会被读取。那么有没有办法让里面设置的内容即时生效呢?用以下方法即可:
source .bash_profile
也可以直接运行它一次:
sh .bash_profile
作者: congli    时间: 2006-12-01 08:28
原帖由 minok 于 2006-11-30 14:30 发表
问:让 ls 只显示文件名
答:ls -l | grep ^f

想当然的?
作者: minok    时间: 2006-12-01 09:35
原帖由 congli 于 2006-12-1 08:28 发表

想当然的?

呵呵! 忘了做链接, 来自http://blog.chinaunix.net/u/18380/showart_107188.html以及http://bbs.chinaunix.net/viewthr ... p;extra=&page=5第45楼, 请告知作者, 谢谢你的建议.我想应该是Blog系统出错吧!


问:如何查看已输入的命令?(以 bash 为例)
答:当用户登录后,用户所输入的命令都会记录在用户目录下的 .bash_history 这个文件里。用 cat .bash_history 即可查看已输入的命令。

问:程序出错导致“死机”了怎办?
答:有时程序出现错误,可能会导致控制台不响应,出现死机现象。其实这时并不是机器的硬件出错,而只是程序不响应而已。只要从另外一个控制台登录(alt + Fx),然后用 ps auwx 查出出错程序的 PID,然后用 kill -9 PID 将其进程杀死即可。这样系统又可以继续进行各方面的操作了。
作者: minok    时间: 2006-12-01 11:29
FreeBsd下查看系统硬件配置
很多玩linux的朋友在安装freeBSD后,在需要查看硬件配置时候,第一反应是
lspci
或者直接cat /proc/cpuinfo查看CPU。
可确发现 “lspci: command not found”
呵呵,没辙了吧?
其实,用下面的命令
less /var/run/dmesg.boot
就可以了。
其实,/var/run/dmesg.boot,只是dmesg在启动的时候建立的一个快照,也可以使用dmesg命令来查看相关信息

如何防止别人通过boot -s 单用户模式进入我的机器
生成文件/boot.config,内容:
-h
echo -h >> /boot.config

查看显示的配置情况
X -scanpci

建立压缩文件并指定压缩文件的存储路径及命名方式
tar czvf - /usr/home/vpopmail > /bak/mail-bak/mail-db/2007-9-1.tgz

tar czvf - /usr/home/chb2 > /bak
(解压倒指定目录)

/usr/ports/sysutils/xmbmon
作用:监测主板和CPU温度
安装后 mbmon -c 2 -r
作者: minok    时间: 2006-12-04 12:42
源文: http://bbs.chinaunix.net/viewthread.php?tid=624583




作者: minok    时间: 2006-12-04 12:59
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/dirstructure.html
  1. FreeBSD目录说明

  2. 用列表的方式说明一下FreeBSD目录

  3. 目录 介绍
  4. / 文件系统的根目录。

  5. /bin/ 在单个用户和多用户环境下的基本工具目录。

  6. /boot/ 在操作系统在启动加载期间所用的程序和配置。

  7. /boot/defaults/ 默认每步引导启动的配置内容,请查阅loader.conf(5)。

  8. /dev/ 设备节点,请查阅 intro(4)。

  9. /etc/ 系统启动的配置和脚本。

  10. /etc/defaults/ 系统默认的启动配置和脚本,请参考 rc(8) 。

  11. /etc/mail/ 关系到邮件系统运作的配置, 请参考 sendmail(8)。

  12. /etc/namedb/ named 配置文件,请参考 named(8)。

  13. /etc/periodic/ 每天、每星期和每月周期性地运行的脚本, 请通过 cron(8)查阅 periodic(8)。

  14. /etc/ppp/ ppp配置文件,请查阅ppp(8)。

  15. /mnt/ 由管理员习惯使用挂接点的临时空目录。

  16. /proc/ 运行中的文件系统,请参阅 procfs(5) 和 mount_procfs(8)。

  17. /rescue/ 用于紧急恢复的一组静态联编的程序; 参见 rescue(8)。

  18. /root/ root用户的Home(主)目录。

  19. /sbin/ 在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。

  20. /stand/ 独立的程序环境。

  21. /tmp/ 临时文件。 /tmp 目录中的内容,一般不会在系统重新启动之后保留。 通常会将基于内存的文件系统挂在 /tmp 上。 这一工作可以用一系列 tmpmfs 相关的 rc.conf(5) 变量来自动完成。 (或者, 也可以在 /etc/fstab 增加对应项; 参见 mdmfs(8))。

  22. /usr/ 存放大多数用户的应用软件。

  23. /usr/bin/ 存放实用命令,程序设计工具,和应用软件。

  24. /usr/include/ 存放标准 C include 文件.

  25. /usr/lib/ 存放库文件。

  26. /usr/libdata/ 存放各种实用工具的数据文件。

  27. /usr/libexec/ 存放系统实用或后台程序 (从另外的程序启动执行)。

  28. /usr/local/ 存放本地执行文件, 库文件等等, 同时也是 FreeBSD ports 安装的默认安装目录。 /usr/local 在 /usr 中的目录布局大体相同,请查阅 hier(7)。 但 man 目录例外, 它们是直接放在 /usr/local 而不是 /usr/local/share 下的, 而 ports 说明文档在 share/doc/port。

  29. /usr/obj/ 通过联编 /usr/src 得到的目标文件。

  30. /usr/ports 存放 FreeBSD 的 Ports Collection (可选)。

  31. /usr/sbin/ 存放系统后台程序 和 系统工具 (由用户执行)。

  32. /usr/share/ 存放架构独立的文件。

  33. /usr/src/ 存放 BSD 或者本地源码文件。

  34. /usr/X11R6/ 存放 X11R6 可执行文件、 库文件、 配置文件等的目录(可选)。

  35. /var/ 多用途日志、 临时或短期存放的, 以及打印假脱机系统文件。有时会将基于内存的文件系统挂在 /var 上。 这一工作可以通过在 rc.conf(5) 中设置一系列 varmfs 变量 (或在 /etc/fstab 中加入一行配置; 参见 mdmfs(8)) 来完成。

  36. /var/log/ 存放各种的系统记录文件。

  37. /var/mail/ 存放用户mailbox(一种邮件存放格式)文件。

  38. /var/spool/ 各种打印机和邮件系统spooling(回环)的目录。

  39. /var/tmp/ 临时文件。 这些文件在系统重新启动时通常会保留, 除非 /var 是一个内存中的文件系统。

  40. /var/yp NIS 映射。
复制代码

[ 本帖最后由 minok 于 2006-12-4 14:04 编辑 ]
作者: minok    时间: 2006-12-04 15:17
摘录Handbook读书笔记-第3章

3.2.5 单用户模式的控制台
console none unknown off secure
改成
console none unknown off insecure
初始设置为secure表示系统重新启动之后,如果管理员要求进入单用户状态,将不询问root的口令进行验证,这是一个重要的安全漏洞。将secure更改为insecure可以使得进入单用户状态时首先验证root口令。当然它也有可能带来一定的问题,就是:一旦系统损坏了passwd文件(主要是 master.passwd文件),root口令无法认证,就没有办法进入单用户状态进行修复工作。解决方法是需要使用安装盘启动fixit 系统进行修正。或者用livecd开机,把系统挂上,chroot后再passwd修改密码。
作者: minok    时间: 2006-12-04 15:19
3.3权限
chmod [-fhv] [-R [-H | -L | -P]] mode file ...
-f:权限无法被更改也不要显示错误讯息
-h:改变符号链接文件本身的属性,不是默认的改变符号链接所链接的目标文件属性。
-v:一个-v的时候显示权限变更的文件的名字,多个的时候,以八进制显示权限变更的详细情况。
-R:对目录下的文件及子目录进行相同的权限变更(不含连接文件),以递归的方式逐个改变。
-R –H:只对当前命令行里的符号链接文件起作用。
-R –L:相对于-R,它增加了一个功能:对所有的符号链接文件也起作用。
-R –P:跟chmod -R作用一样,对连接文件不起作用,这是default。

chflags [-h] [-R [-H | -L | -P]] flags file ...
-h:改变符号链接文件本身的属性,不是默认的改变符号链接所链接的目标文件属性。
-R:对目录下的文件及子目录进行相同的权限变更(不含连接文件),以递归的方式逐个改变。
-R –H:只对当前命令行里的符号链接文件起作用。
-R –L:相对于-R,它增加了一个功能:对所有的符号链接文件也起作用。
-R –P:跟chmod -R作用一样,对连接文件不起作用,这是default。

有如下flags可用:
schg, schange, simmutable
set the system immutable flag (super-user only)
防止误删或被修改,root要改回来也是只有在单用户模式或者securelevel在0或以下
uchg, uchange, uimmutable
set the user immutable flag (owner or super-user only)
跟schg一样,唯一区别是除了root之外文件所有者也有权限修改
nodump  
set the nodump flag (owner or super-user only)
不让备份,dump(备份的时候不备份该文件
sappnd, sappend
set the system append-only flag (super-user only)
只能在文件后面添加内容
uappnd, uappend
set the user append-only flag (owner or super-user only)
跟sappnd一样,但是文件所有者也可以设置
sunlnk, sunlink
set the system undeletable flag (super-user only)
系统禁删标志,不管上层目录的权限如何都不让删除
uunlnk, uunlink
set the user undeletable flag (owner or super-user only)
跟sunlnk类似,但是文件所有者也可以设置
opaque  
set the opaque flag (owner or super-user only)
让那些以unionfs方式mount的目录看起来跟正常的mount一样。
arch, archived
set the archived flag (super-user only)
似乎没什么用处,其他程序都忽略了它

ls –lo可以看到这些标志是否被设置了。Flags前面加no或者去掉原来的no就是相反的作用了。如果要偷懒,chflags 0 foo,就会把foo文件的所有flags都去掉,但不推荐。

chmod涉及到权限的问题,在另外一篇文章中有比较详细的介绍了,发在小剑的blog中了,文件安全与权限
作者: minok    时间: 2006-12-04 15:22
3.5 磁盘组织
文件系统是固定大小的。 当安装FreeBSD时新建一个文件系统并设定一个大小,您会在稍后发觉到必须去建一个大的分区。 如果配置不当, 则需要备份、 重新创建文件系统,然后再恢复数据。
重要: FreeBSD 4.4 或更高的版本提供了 growfs( 命令。这使得能够实时地调整文件系统的大小, 因而不再受其限制。
在以前,比如,我的/usr文件系统可以已经108%,这时怎么办呢?  一般的做法是:  
mv /usr/share/X11R6 /dev/ad0s8  #把占用磁盘最大的那个目录搬到新的地方,这里我是把我的新分区/dev/ad0s8挂上了,当然,如果你愿意,你也可以挂到/tmp  /var这样的地方也行。
ln -s /dev/ad0s8/X11R6 /usr/share/X11R6 #东西搬走了,你还要回过头来在原来的位置做软链接。
现在可以用growfs命令了。这是一个具体的例子http://www.cublog.cn/u/4206/showart.php?id=106112

3.8守护进程,信号和杀死进程
为什么使用 /bin/kill?: 许多shell提供了内建kill命令, 这样, shell就能直接发送信号,而不是运行 /bin/kill。 这点非常有用,但不同shell有不同的语法来指定发送信号的名字, 与其试图把它们学完倒不如简单地直接使用 /bin/kill ...。
作者: @kang    时间: 2006-12-06 14:30
原帖由 minok 于 2006-12-1 07:14 发表
问:用 mail 发送带附件的邮件
答:用重定向的方法可使 mail 发送带附件的邮件,操作如下:
mail charles@netease.com -s "Hi,friend!" < attach.file


應該為:mail -s "Hi,friend!"  charles@netease.com < attach.file
作者: minok    时间: 2006-12-06 15:05
原帖由 @kang 于 2006-12-6 14:30 发表


應該為:mail -s "Hi,friend!"  charles@netease.com < attach.file


谢谢@kang指出错误, 学习了.
作者: 11334161    时间: 2006-12-07 00:19
我用的是電信的,電信太缺德,不知道用什麽吧pppoe給封了,必須要用它們的急速星空才能連上去,我都無言了,順便求破解辦法啊,我市西安電信的!!
作者: minok    时间: 2006-12-07 12:28
原帖由 11334161 于 2006-12-7 00:19 发表
我用的是電信的,電信太缺德,不知道用什麽吧pppoe給封了,必須要用它們的急速星空才能連上去,我都無言了,順便求破解辦法啊,我市西安電信的!!

引述 http://www.cnbeta.com/modules.ph ... ticle&sid=18389

星空极速会改掉你的密码,给你的网络连接加一个PPPOE的密码协议转换,你在星空极速软件上使用的还是你原来的密码,但是实际PPPOE协议发出的密码,却是一套转换过的。
mephisto发现了这个现象,他在windows下装了星空极速,在Linux下使用原密码就不能上网了,用SNIFFER看了一下,实际密码是在原来的密码上加了一串MD5码,这个MD5码是根据用户名算出来的,就比如说你原来的密码是aaaaaaa,用户名是j88888888,那么装了急速星空之后,密码可能会变成aaaaaaa3D8CAB,这个3D8CAB是由j88888888用户名算出来的,但是在急速星空上你还是输入aaaaaaa当作密码,就是说你没有办法知道真实密码了,虽然路由器用的是PPPOE协议拨号,但不知道真实密码当然不能用。

此类问题我不懂, 只能帮你Google一下了, 请找相关专业人士帮忙.
作者: minok    时间: 2006-12-08 17:34
标题: PF 防火墙
pf中文手册
利用PF輕鬆達成NAT
OpenBSD & PF 之基本防火牆設定
自行架設FreeBSD無線防火牆+無線AP( Access Point )
OpenBSD 超精簡版PF使用手冊
freebsd PF的TARP补丁
使用OpenBSD3.8双ADSL架设负载均衡NAT服务器
pf的NAT能做到100Mb以上流量吗?
freebsd pf+carp的问题能否在一台网关上用
试验一下PF的防火墙
论坛pf 初学者指南?
作者: minok    时间: 2006-12-09 06:34
标题: PF学习笔记
以下是我的PF学习笔记, 修剪了部分语句并精简化, 打造了自己的PF中文手册, 分享给大家作个参考, 一切皆以pf中文手册为准.

------------------------------------------------------------------------------
目录

* 基本配置
+ 开始
+ 列表和宏
+ 表
+ 包过滤
+ 网络地址转换
+ 流量重定向 (端口转发)
+ 规则生成捷径
* 高级配置
+ 运行选项
+ 流量整形 (数据包标准化)
+ 锚定和命名(子)规则集
+ 队列和优先级
+ 地址池和负载均衡
+ 数据包标记
* 附加主题
+ 日志
+ 性能
+ 研究 FTP
+ pf验证: 用Shell 进行网关验证
* 实例规则集
+ 实例: 家庭和小办公室防火墙

------------------------------------------------------------------------------




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2