freebsd 读写fat32格式的移动硬盘
插进去, 然后 dmesg|tail看看能检测的到不.
然后应该是
mount_msdosfs -L zh_CN.eucCN /dev/da0s1 /media/0disk
或者是
mount_msdosfs -L zh_CN.eucCN /dev/da0 /media/0disk
加了 -L zh_CN.eucCN 可以看到中文目录哇
插进去, 然后 dmesg|tail看看能检测的到不.
然后应该是
mount_msdosfs -L zh_CN.eucCN /dev/da0s1 /media/0disk
或者是
mount_msdosfs -L zh_CN.eucCN /dev/da0 /media/0disk
加了 -L zh_CN.eucCN 可以看到中文目录哇
出现的错误报告!
MAKE=make sh ../../../conf/newvers.sh MYKERNEL
cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I../../.. -I../../../contrib/altq -I../../../contrib/ipfilter -I../../../contrib/pf -I../../../contrib/dev/ath -I../../../contrib/dev/ath/freebsd -I../../../contrib/ngatm -I../../../dev/twa -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 –param inline-unit-growth=100 –param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Werror vers.c
linking kernel.debug
if_ural.o(.text+0×3cb): In function `ural_attach’:
../../../dev/usb/if_ural.c:474: undefined reference to `ieee80211_ieee2mhz’
if_ural.o(.text+0×3ff):../../../dev/usb/if_ural.c:479: undefined reference to `ieee80211_ieee2mhz’
if_ural.o(.text+0×437):../../../dev/usb/if_ural.c:484: undefined reference to `ieee80211_ieee2mhz’
if_ural.o(.text+0×4cb):../../../dev/usb/if_ural.c:496: undefined reference to `ieee80211_ieee2mhz’
if_ural.o(.text+0×4f2):../../../dev/usb/if_ural.c:503: undefined reference to `ieee80211_ifattach’
if_ural.o(.text+0×52d):../../../dev/usb/if_ural.c:511: undefined reference to `ieee80211_media_status’
if_ural.o(.text+0×53:../../../dev/usb/if_ural.c:511: undefined reference to `ieee80211_media_init’
if_ural.o(.text+0×59a):../../../dev/usb/if_ural.c:525: undefined reference to `ieee80211_announce’
if_ural.o(.text+0×67c): In function `ural_detach’:
../../../dev/usb/if_ural.c:560: undefined reference to `ieee80211_ifdetach’
if_ural.o(.text+0×78e): In function `ural_free_tx_list’:
../../../dev/usb/if_ural.c:620: undefined reference to `ieee80211_free_node’
if_ural.o(.text+0×946): In function `ural_media_change’:
../../../dev/usb/if_ural.c:698: undefined reference to `ieee80211_media_change’
if_ural.o(.text+0×9fc): In function `ural_next_scan’:
../../../dev/usb/if_ural.c:724: undefined reference to `ieee80211_next_scan’
if_ural.o(.text+0xb26): In function `ural_task’:
../../../dev/usb/if_ural.c:776: undefined reference to `ieee80211_beacon_alloc’
if_ural.o(.text+0xd33): In function `ural_txeof’:
../../../dev/usb/if_ural.c:887: undefined reference to `ieee80211_free_node’
if_ural.o(.text+0xed5): In function `ural_rxeof’:
../../../dev/usb/if_ural.c:974: undefined reference to `ieee80211_find_rxnode’
if_ural.o(.text+0xeed):../../../dev/usb/if_ural.c:977: undefined reference to `ieee80211_input’
if_ural.o(.text+0xef3):../../../dev/usb/if_ural.c:980: undefined reference to `ieee80211_free_node’
if_ural.o(.text+0×142e): In function `ural_tx_data’:
../../../dev/usb/if_ural.c:1272: undefined reference to `ieee80211_crypto_encap’
if_ural.o(.text+0×192c): In function `ural_start’:
../../../dev/usb/if_ural.c:1382: undefined reference to `ieee80211_find_txnode’
if_ural.o(.text+0×1964):../../../dev/usb/if_ural.c:1389: undefined reference to `ieee80211_encap’
if_ural.o(.text+0×1973):../../../dev/usb/if_ural.c:1391: undefined reference to `ieee80211_free_node’
if_ural.o(.text+0×19ab):../../../dev/usb/if_ural.c:1399: undefined reference to `ieee80211_free_node’
if_ural.o(.text+0×1a9: In function `ural_watchdog’:
../../../dev/usb/if_ural.c:1431: undefined reference to `ieee80211_watchdog’
if_ural.o(.text+0×1ba6): In function `ural_ioctl’:
../../../dev/usb/if_ural.c:1478: undefined reference to `ieee80211_ioctl’
if_ural.o(.text+0×209c): In function `ural_set_chan’:
../../../dev/usb/if_ural.c:1684: undefined reference to `ieee80211_chan2ieee’
*** Error code 1
把这个注释掉就行了
device ural # Ralink Technology RT2500USB wireless NICs
那是一个无线网卡的配置,但是你没有设置无线网卡部分所需要的选项。
可参照这里:
http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/network-wireless.html
解决apache Failed to enable the ‘httpready’ Accept Filter
[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter
在 /boot/loader.conf /etc/loader.conf
里添加
accf_http_load=”yes”
然后reboot一下就可以解决了
Apache无法开启FreeBSD下accept filter 的机制。
FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求。
解决方法:
kldload accf_http
并将/boot/defaults/loader.conf中,以便下次启动自动装载模块
accf_data_load=”YES”
accf_http_load=”YES”
重新编译 “world”
只要您根据一定版本的 FreeBSD (FreeBSD-STABLE、FreeBSD-CURRENT 等等),已经同步了您本地的源码树,那么您就可以使用这些源码树来重建系统。
做好备份: 无需强调在行动 之前 备份整个系统是多么的重要。 尽管重新编译系统是 (如果您按照文档的指示做的话) 一件很容易完成的工作, 但出错也是在所难免的, 另外,别人在源码里面引入的错误也可能造成系统无法引导。
请确信自己已经做过备份, 并且在手边有恢复软盘或可以引导的光盘。您可能永远也不会用到它, 但安全第一嘛!
订阅恰当的邮件列表: FreeBSD-STABLE 和 FreeBSD-CURRENT 分支自然是 发展中的。为 FreeBSD 做贡献的都是人,偶尔也会犯错误。
有时这些错误没什么危害,只是引起您的系统生成新的诊断警告。有时是灾难性的,并导致您的系统不能启动或破坏您的文件系统 (甚至更糟)。
如果出现了类似的问题, 贴一封“小心(heads up)”帖到相关的邮件列表里,讲清问题的本质以及受影响的系统。在问题解决后,再贴封“解除(all clear)”声明。
如果使用 FreeBSD-STABLE 或 FreeBSD-CURRENT 而又不阅读 FreeBSD-STABLE 邮件列表 和 FreeBSD-CURRENT 邮件列表 各自的邮件列表, 那么您是自找麻烦。
不要使用 make world: 许多较早的文档推荐使用 make world 来完成这项工作。 这样做会跳过一些必要的步骤,因此只有在您知道自己在做什么的时候才可以这样做。 几乎所有的情况下 make world 都是不应该做的事情, 您应该使用这里描述的方法。
23.4.1 更新系统的规范途径
Read more…
如果你生于70年代,那么你一定还记得《魂斗罗》、《战斧》、《名将》吧。想再听一次令人热血沸腾的《魂斗罗》的主题曲吗?好,现在就让我们重温我们的儿时之旅。
我们的讨论范围包括任天堂红白机模拟器(Fceu),世嘉五代模拟器(DGen/SDL),和街机模拟器(Xmame),有同好愿意帮助补上其他模拟器的资料吗?
Fce Ultra Read more…
刚刚接触FreeBSD的朋友,可能会为安装PORTS而感到困惑。
想通过Ports装个MySql,却总连不到服务器,或找不到文件.
这说明你系统中的Ports树已经太旧了……
很多地址在CVS那里已经改变了
这时我们就需要通过Cvsup 来对Ports进行更新
首先我们需要做的是安装CVSUP.
(若你没在系统中安装CVSUP,按照以下方式即可安装)
CVSUP有两个 一个是 /usr/ports/net/cvsup/
另一个是(无图版)/usr/ports/net/cvsup-without-gui
后一个适合在纯终端下操作的服务器
不包括Xfree86.
Read more…
FREEBSD升级及优化全攻略
──文 重庆.樊礼(梦飞)
欢迎转载﹐本文遵循GNU协议规则﹗
前言 2
升级源码树 3
安装cvsup 3
升级系统源码树及ports 3
重新编译内核 3
优化编译环境 3
升级操作系统 3
升级配置文件 4
Read more…
由于FreeBSD是一个多用户系统,那么就需要管理员进行日常维护,特别是用做网络服务器的系统,一旦因为缺乏维护而造成停机故障,就会造成很大损失。即使对于单用户的FreeBSD系统,同样也要执行这些不可缺乏的维护任务,只是由于系统归个人使用,那么对维护的要求就不必那么高,维护任务就轻松一些。
系统日志
系统的日志记录提供了对系统活动的详细审计,这些日志用于评估、审查系统的运行环境和各种操作。对于一般情况,日志记录包括记录用户登录时间、登录地点、进行什么操作等内容,如果使用得当,日志记录能向系统管理员提供有关危害安全的侵害或入侵试图等非常有用的信息。
BSD提供了详细的各种日志记录,以及有关日志的大量工具和实用程序。这些审计记录通常由程序自动产生,是缺省设置的一部分,能够帮助Unix管理员来寻找系统中存在的问题,对系统维护十分有用。还有另一些日志记录,需要管理员进行设置才能生效。
大部分日志记录文件被保存在/var/log目录中,在这个目录中除了保存系统生成日志之外,还包括一些应用软件的日志文件。当然/var目录下的其他子目录中也会记录下一些其他种类的日志记录文件,这依赖于具体的应用程序的设置。
$ ls /var/log
adduser maillog.5.gz sendmail.st.1
dmesg.today maillog.6.gz sendmail.st.10
dmesg.yesterday maillog.7.gz sendmail.st.2
httpd-access.log messages sendmail.st.3
httpd-error.log messages.0.gz sendmail.st.4
kerberos.log messages.1.gz sendmail.st.5
lastlog messages.2.gz sendmail.st.6
lpd-errs messages.3.gz sendmail.st.7
maillog messages.4.gz sendmail.st.8
maillog.0.gz messages.5.gz sendmail.st.9
maillog.1.gz news setuid.today
maillog.2.gz ppp.log setuid.yesterday
maillog.3.gz sendmail.st userlog
maillog.4.gz sendmail.st.0 wtmp
系统登录日志
系统会保存每个用户的登录记录,这些信息包括这个用户的名字、登录起始结束时间以及从何处登录入系统的等等。它们被保存到/var/log/lastlog、/var/log/wtmp和/var/run/utmp文件中,这三个文件以二进制格式保存了这些用户的登录数据。
其中/var/run/utmp文件中保存的是当前系统用户的登录记录,因此这个文件会随着用户进入和离开系统而不断变化,而它也不会为用户保留很长的记录,只保留当时联机的用户记录。系统中需要查询当前用户状态的程序,如 who、w等就需要访问这个文件。
utmp可能不包括所有精确的信息,某些突发错误会终止用户登录会话,当没有及时更新utmp记录,因此utmp的记录不是百分之百的可以信赖的。
而/var/log/wtmp保存了所有的登录、退出信息,以及系统的启动、停机记录,因此随着系统正常运行时间的增加,它的大小也会越来越大,增加的速度依赖于系统用户登录次数。因此可以利用这个日志用来查看用户的登录记录,last 命令就通过访问这个文件来获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。ac命令同样也使用wtmp中的数据产生报告,但它的显示方式不同。它可以根据用户(ac -p),或按日期(ap -d)显示信息,这样管理员就能获得一些非常有用的反常信息,如一个平时不太活跃的用户突然登录并连接很长时间,就有理由怀疑这个帐户被窃取了。
注意:X Window由于会同时打开多个终端窗口,因此会使得用户登录连接时间迅速增加。
lastlog文件保存的是每个用户的最后一次登录信息,包括登录时间和地点,这个文件一般只有login程序使用,通过用户的UID,来在lastlog文件中查找相应记录,然后报告其最后一次登录时间和终端tty。然后, login程序就使用新的记录更新这个文件。
这三个文件是使用二进制格式保存的,因此不能直接查看其中的内容,而需要使用相关命令。当然也可以通过程序来访问这三个文件,这就需要了解它们使用的数据结构。其中utmp和wtmp使用同样的数据结构,而lastlog使用另外一个数据结构,可使用man来进行查询具体结构。如果系统的用户数量很多,那么wtmp文件的大小会迅速增加,在系统/var文件系统空间紧张的情况下,就导致这个文件系统被占满。系统不会主动控制这个文件的大小,因此这需要管理员的干预,需要手工及时清除,或编写shell脚本定期保存和清除。
系统还可以提供记账统计的功能,要打开系统的计账功能,需要使用accton命令,注意,accton必须跟随记账日志文件的名字作参数,而不带参数的accton将关闭记账进程。
当打开了记账功能后,可以使用lastcomm来检查在系统中执行的所有命令的信息,包括执行的命令、执行命令的用户、用户使用的终端tty,命令完成的时间,执行时间等。从lastcomm的输出也能帮助管理员检查可能的入侵行为。
此外可以使用ac命令来查询用户的连接时间的报告,sa命令来查询用户消耗的处理器时间的报告。
Syslog日志记录
最初,syslog只是为了sendmail而设计的消息日志工具,由于它提供了一个中心控制点,使得sys log非常好用和易配置,因此当今很多程序都使用syslog来发送它们的记录信息。syslog是一种强大的日志记录方式,不但可以将日志保存在本地文件中,还可以根据设置将syslog记录发送到网络上的另一台主机中。
支持syslog方式的系统启动了syslogd守护进程,这个程序从本地的 Unix套接字和监听在514端口(UDP)上的Internet套接字,来获得syslog的记录。本机中进程使用syslog系统调用发送来sy slog记录,然后由syslogd将他们保存到正确的文件或发送到网络上另一台运行syslogd主机中去。
syslogd的设置文件为/etc/syslog.conf,定义消息对应的相应目标,一条消息可以达到多个目标,也可能被忽略。
# $Id: syslog.conf,v 1.9 1998/10/14 21:59:55 nate Exp $
#
# Spaces are NOT valid field separators in this file.
# Consult the syslog.conf(5) manpage.
*.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/cron/log
*.err root
*.notice;news.err root
*.alert root
*.emerg *
!ppp
*.* /var/log/ppp.log
syslog.conf的配置可以分为两个部分,第一部分用于区分消息的类型,另一个用于设置消息发送的目的地。通常,消息的类型包括消息的产生者,例如kern表示内核产生的消息,auth表示认证系统产生的消息,等等,还包括消息的级别,例如emerg表示非常重要的紧急信息,alert表示系统告警状态,crit表示关键状态,err 表示一般的错误信息,warning表示警告信息,notice表示提示信息,但还不是错误,info表示一般信息,debug表示调试信息等,因此一个消息的类型可能为:kern.debug、mail.info等,但页可以使用通配符*进行匹配。
从上面的syslog.conf的设置可以看出,系统正常运行中的很多重要的信息,如错误信息*.err、内核调试信息kern.debuf、认证报告auth.notice等被直接输出的console中,另外还有一些比较重要的信息被输出到/var/log/messages文件中,发送邮件的记录将被保存在/var/log/mail log文件中,打印记录为/var/log/lpd-errs等,使得管理员可以根据这些文件来查询相关记录,进行统计或寻找系统问题。其中使用 syslog记录的messages文件中包括root登录的信息、用户多次登录失败的尝试等对系统安全相当重要的信息,因此也是系统遭受攻击之后,攻击者会根据syslog.conf中设置试图清除相关文件。
Recent Comments