作者:小项-怪物猪
分类:Ubuntu
在ubuntu上编译glibc可能还会看到以下错误:
../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
make[2]: *** [/home/wstone/Build/glibc/glibc-build/misc/syslog.o] Error 1
make[2]: Leaving directory `/home/wstone/Build/glibc/glibc-2.9/misc'
make[1]: *** [misc/subdir_lib] Error 2
make[1]: Leaving directory `/home/wstone/Build/glibc/glibc-2.9'
make: *** [all] Error 2
使用以下的方式configure可以解决:
$ echo "CFLAGS +=-O2 -U_FORTIFY_SOURCE -march=i486 -mtune=native -fno-stack-protector" >configparm
作者:小项-怪物猪
分类:FreeBSD
[root@i18n /home/dsppa]# nmblookup -A 192.168.0.227
added interface eth0 ip=192.168.0.250 bcast=192.168.0.255 netmask=255.255.255.0
Socket opened.
Looking up status of 192.168.0.227
LI <00> - B
SYA <00> - B
LI <20> - B
SYA <1e> - B
MAC Address = 00-13-8F-C4-F7-37
作者:小项-怪物猪
分类:Windows
nbtstat -A 192.168.0.213
-a // 列出指定名称的远程机器名称表
-A // 列出指定IP地址的远程机器的名称表
-c // 列出远程[计算机]名称及其IP地址的NBT缓存
-n // 列出本地NetBIOS名称
-r // 列出通过广播和经由WINS解析的名称
-R // 清除和重新加载远程缓存名称表
-S // 列出具有目标IP地址的会话表
-s // 列出将目标IP地址转换成计算机NETBIOS名称的会话表
-RR // 将名称释放包发送到WINS,然后启动刷新
加一条路由追踪的
tracert -h 30 -d host
-h 30 // 跟踪的最大值
-d // 不解析地址为主机名
-w // 设置回复的超时时间
-j // 与主机列表一起的松散源路由{IPv4}
-R // 跟踪往返行程路径{IPv6}
-S // 要使用的源地址{IPv6}
-4 // 强制使用 IPv4
-6 // 强制使用 IPv6
作者:小项-怪物猪
分类:FreeBSD
所有的操作都在root用户下进行
解包封包操作 {映像文件名:generic.img}
# file generic.img
generic.img: gzip compressed data, was "generic.img", from Unix, last modified: Wed Mar 16 04:50:59 2011, max compression //从这个可以看出这个img是一个gzip的压缩文件
# mv generic.img generic.img.gz //重命名文件
# gunzip generic.img.gz //解压
# ls
generic.img //得到的结果
# file generic.img
generic.img: x86 boot sector; partition 4: ID=0xa5, active, starthead 0, startsector 0, 50000 sectors //可以看到,这个是属于正常的映像文件了。
# mkdir files_img //创建文件挂在点
# mdconfig -a -t vnode -f generic.img -u 0 //挂在generic.img这个文件为当前系统的一个设备文件
# ls /dev | grep md0* //查找挂在的设备文件名
md0
md0a //这个就是我们的m0n0
md0c
# mount /dev/md0a files_img //挂载设备文件到 files_img 目录下
# ls files_img //现在就能看到我们的挂载成果了
.snap
boot //m0n0的启动文件
conf //系统的配置文件
kernel.gz //内核文件
mfsroot.gz //这个才是重要的,增加修改功能都是在这个里面。
『下面来看看mfsroot.gz的解包』基本上跟上面的步骤一样
# cp files_img/mfsroot.gz . //拷贝出来做备份
# gunzip mfsroot.gz //解压
# mkdir mfs //创建挂载点
# mdconfig -a -t vnode -f mfsroot -u 1 //这里为啥不用0呢 因为上面的我们已经占用了
# ls /dev | grep md1* //找到对应的设备名
# mount /dev/md1c mfs //挂在到mfs下面
# cd mfs //进入到mfs下面 /*至于你要干嘛就是属于你的问题了 ^_^ */
『封包操作』
# 退出挂载目录
# umount mfs //取消挂载
# mdconfig -d -u 1 //取消设备文件挂载
# gzip -9 mfsroot //压缩这个文件
# cp mfsroot.gz files_img //这个就不解释了
下面的跟上面基本相同,就不注释了
# umount files_img
# mdconfig -d -u 0
# gzip -9 generic.img
# mv generic.img.gz generic.img //这里就结束了
【重点来了】应为m0n0默认的包只有10M,我们想增加功能的话就很有限制,下面来说说怎样增大包的大小
+++++暂时没验证+++++
# dd if=/dev/zero of=new.img bs=1k count=20480 //创建一个空白的映像文件大小20M
# mdconfig -a -t vnode -f new.img -u 2 //new.img 挂载成设备文件 [当然是空白的]
# disklabel -Brw md2 auto //给new.img 这个映像加上启动并新建一个主分区 {我也没理解}
# newfs -b 8192 -f 2048 -o space -m 0 /dev/md2a //新建文件系统 {后面的参数也不是很懂}
# mount /dev/md2a new_files_img //挂载
其它的参考解包封包
mfsroot 的方法基本同上,区别在于
# disklabel -rw md* auto //主要是不需要加上启动的什么
作者:小项-怪物猪
分类:Ubuntu,FreeBSD
echo "HHFH" | sed 's/[A-Z]\+/\L&/g'
s后面紧跟的/ 是分隔符号。貌似是任意的
Freebsd:
[dsppa@i18n ~]$ echo "HHFH" | sed 's/[A-Z]\+/\L&/g'
HHFH
[dsppa@i18n ~]$ echo $SHELL
/usr/local/bin/bash
Ubunu :
buysz@Buysz-Home:~$ echo "KJKGJ" | sed 's/[A-Z]\+/\L&/g'
kjkgj
buysz@Buysz-Home:~$ echo $SHELL
/bin/bash