Linux From Scratch(LFS)编译耗费时间SBU

许多人都想知道编译和安装一个软件包预计需要多长时间。因为 Linux From Scratch 可以在多种不同的系统上创建,准确估计所需的时间是不可能的。2006年最快的系统上编译安装最大的软件包(Glibc)大约需要 20 分钟,但在很慢的系统上可能耗费长达三天时间。我们不提供准确时间,代之以标准编译时间单位(SBU)来度量。

SBU 度量具体说明如下,LFS中第一个编译的软件包是静态编译的 Binutils 。编译这个软件包所花费的时间就作为标准编译时间单位(SBU)。所有其它软件的编译时间都用这个时间来衡量。

例如,对于一个编译时间为 4.5 SBU 的软件包,这意味着如果一个系统静态编译安装 Binutils 需要花费 10 分钟,那么编译这个软件包将大约需要 45 分钟。幸运的是,大多数软件包编译安装所需的时间都比 Binutils 所需的时间要短。

SBU 并不十分精确,因为它依赖于许多因素,包括宿主系统 GCC 的版本。另外,在基于对称多处理器(SMP)的机器上,SBU 更加不准确。我们提供 SBU,仅仅是给出安装一个软件包所需时间的大概估计,在某些情况下实际花费的时间与预估计的时间之间可能有数十分钟的差异。

要查看在一些特定机器上的实际编译安装时间,我们推荐您查看 LinuxFromScratch SBU 的主页 http://www.linuxfromscratch.org/~bdubbs/

The LinuxFromScratch SBU Home Page

Chapter 5 Chapter 6
Name SBU
Average
SBU
Std Dev
Name SBU
Average
SBU
Std Dev
bunutils-pass-1 1.0 0.0 MAKEDEV 0.0 0.1
gcc-pass-1 5.6 5.3 kernel-headers 0.0 0.3
kernel-headers 0.1 0.5 man-pages 0.0 0.1
glibc 5.4 9.4 glibc 3.7 6.2
tcl 0.2 0.6 gcc 6.0 13.2
expect 0.1 0.2 coreutils 0.2 0.6
dejagnu 0.0 0.2 zlib 0.0 0.1
gcc-pass-2 3.9 6.3 lfs-utils 0.0 0.2
bunutils-pass-2 0.6 0.7 findutils 0.0 0.1
gawk 0.1 0.2 gawk 0.0 0.1
coreutils 0.4 0.5 ncurses 0.2 0.3
bzip2 0.0 0.1 vim 0.1 0.6
gzip 0.1 0.2 m4 0.0 0.1
diffutils 0.1 0.5 bison 0.1 0.3
findutils 0.1 0.2 less 0.0 0.1
make 0.1 0.4 groff 0.1 0.2
grep 0.1 0.4 sed 0.0 0.1
sed 0.1 0.5 flex 0.0 0.1
gettext 0.5 0.9 gettext 0.6 1.7
ncurses 0.3 0.4 net-tools 0.0 0.1
patch 0.0 0.2 inetutils 0.1 0.2
tar 0.1 0.3 perl 0.6 1.6
texinfo 0.1 0.2 texinfo 0.0 0.1
bash 0.2 0.3 autoconf 0.4 1.5
util-linux 0.0 0.3 automake 0.8 3.1
perl 0.4 0.6 bash 0.1 0.4
file 0.0 0.1
Chapter 8 libtool 0.2 0.8
kernel 0.3 1.1 bzip2 0.0 0.1
diffutils 0.0 0.1
ed 0.0 0.1
kbd 0.0 0.1
e2fsprogs 0.1 0.2
grep 0.0 0.1
grub 0.0 0.1
gzip 0.0 0.0
man 0.0 0.1
make 0.0 0.1
modutils 0.0 0.1
patch 0.0 0.1
procinfo 0.0 0.1
procps 0.0 0.1
psmisc 0.0 0.1
shadow 0.1 0.2
sysklogd 0.0 0.1
sysvinit 0.0 0.1
tar 0.1 0.5
util-linux 0.1 0.1
gcc-2.95.3 0.1 0.6
lfs-bootscripts 0.0 0.1

 

来源于网上资料汇总,主要参考以下

http://lamp.linux.gov.cn/Linux/LFS-6.2/chapter04/aboutsbus.html

http://www.linuxfromscratch.org/~bdubbs/

LFS-6.2中文文档 http://lamp.linux.gov.cn/Linux/LFS-6.2/index.html

centos最小化安装后setup工具的防火墙配置功能安装

setup是redhat系列(包括centos,fedora等)里很好用的一个工具,不过可惜的是其它发行版里并没有。

为了系统的干净高效,安装系统时使用centos 6最小化安装(为了可以手工编译一些软件包,在安装时选择了马上定制,多选择了开发工具),装完了配置系统时,发现没有setup这个工具,whereis setup ,结果是空的。yum install setup, 系统提示已经安装了setup包。上网查,原来这个包的名字不叫setup, 而是setuptool,

yum install setuptool

不过运行这时setup只有Authentication configuration可用

防火墙的配置包叫system-config-firewall, yum安装,自动安装两个依赖包:system-config-firewall-tui, system-config-firewall-base.

通过yum list system-config*查询有好几个相关的包,应该都是与setup功能有关的

system-config-firewall.noarch
system-config-firewall-base.noarch
system-config-firewall-tui.noarch
system-config-date.noarch
system-config-date-docs.noarch
system-config-kdump.noarch
system-config-keyboard
system-config-kickstart.noarch
system-config-language.noarch
system-config-lvm.noarch
system-config-network-tui.noarch
system-config-printer
system-config-printer-libs
system-config-printer-udev
system-config-services.noarch
system-config-services-docs
system-config-users.noarch
system-config-users-docs.noarch

另外还有一个服务配置工具,它的名字比较特殊,跟上面所述包名字完全不一样,它叫ntsysv

运行yum install ntsysv 安装setup的服务设置工具

不过,系统配置方面,能手工做就手工做,借助图形化工具不是提高水平的途径。

centos 6 安装硬盘NTFS分区读写支持

centos默认不支持windows 的ntfs磁盘分区格式,但有时还是会在centos/linux下使用ntfs分区,如不少移动硬盘,所以我们还是有必要在centos里安装对ntfs分区的支持。不过centos官方是不支持ntfs支持包,幸运的是,我们可以使用fuse支持的ntfs包;更幸运的是,我们有RPMforge源!装上它,我们就可以轻易搞定ntfs分区支持,还有更多有用的包!

首先为centos安装RPMforge的yum更新源 ,

centos 6 中添加rpmforge源太简单了:

 rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
 yum clean all
 yum makecache

更多可参看这里RPMforge, centos RPM/yum源 http://blog.path8.net/archives/4707.html

RPMforge源安装后,运行

yum install ntfs-3g

完成,你的centos已经可以支持ntfs分区了,只是读写ntfs分区的速度比较慢,毕竟它是微软闭源的硬盘格式,就不要强求linux/centos了。

更新于2012-06-30 2012-02-23

---------以下是老的版本,没有太大价值 -----------------------------

新安装centos 6,需要拷文件,在移动硬盘ntfs分区里的文件,插上后不认,显示fuse无法挂载ntfs分区,google搜索,好像说是centos不像fedora一样,它默认不开启ntfs读写支持的,需要安装,一般使用ntfs-3g包来实现。于是yum安装。yum install ntfs-3g, 但出错了,一堆错误消息,下载rpm包时404错误,怀疑是今天刚装上的rpmfusion源的影响,于是卸载rpmfusion的两个包,然后清理yum clean all; yum makecache; yum install ntfs-3g; 完成,yum不再提示错误了,ntfs安装成功。

Nautilus里打开移动硬盘ntfs分区也完全正常了.

RPMforge, 很不错的centos RPM/yum源 http://blog.path8.net/archives/4707.html

 

放弃fedora,换用centos,试用debian

fedora15感觉跟有几分的不稳定,在thinkpad t420s上多次挂起,甚至几次鼠标会动,gui键盘都没有任何响应,tty终端也切换不了,只能强制关机断电。正好是要换大硬盘,于是想换个发行版用。很关注并恶补了debian相关的文章,旧电脑上安装试用,结果是差异比较大,在学习成本高,镜像里都找不着包,完全不像熟悉的yum,因为老电脑在2.6.31等几个内核下花屏,纯字符单人模式都这样。升级,或者降级为其他版本,但找不到deb包。grub也是很新的版本,不习惯。于是装centsos 6,感觉跟fedora很类似。以后装个debain,学习一下

使用 Wordmobi 发布

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

昨天晚上下班回去搞前几装的debian 6 , 很有点不习惯,grub 1.98, 相当新的版本,跟redhat系列一直坚持的0.97版差别好像不小;还有其它的一些东西,还有apt-get升级,也玩不转,因为linux kernel 2.6.32 与之前用的笔记本不兼容,命令行下都花屏。启动安装进程时才发现grub新版本kernel命令没有了,改成了linux。想升级一个内核,到debian镜像网站上找内核包,但死活就找不到,不懂apt-get的机制。于是放弃,安装centos 6 i386, 几乎选择了所有的包,感觉安装花费时间跟长。安装完成后,发现centos 6跟前两个版本的fedora(13,14)很像似——没有用过redhat 6——与centos 5/redhat e 5界面差别比较大一些。比较熟悉的yun升级,还是有不少包的,几百兆,于是中止,里面也没有新版内核。屏幕还是花的,因为内核版本,于是镜像源里下载了个fedora14的最新内核,处理了几个包的依赖包下载,安装内核,很顺利,重启没有花屏了。用起来,简直就是fedora的前两个版本。这下就搞到近凌晨一点,yum升级,睡觉感觉意犹未尽,于是手机写些东西,实在很困,连续好几天这么折腾,几乎睡着了,于是提交睡觉。今天早上起来,设置prmfusion源,关机上班。
睡觉前手机发的几行字,草草写了几行字。

(110913看到本文,好几处行文次序、用词等的错乱,改之)

对 Linux 文件名中有短横线“-”的操作

对 Linux 文件 名 中有“-”的操作

[日期:2008-08-22] 来源:红联 Linux   作者:albume

Linux 中"-"有特殊的含义,比如在命令的后面加"-"表示后面跟的是选项。但是如何新建带名字中有"-",下面介绍三种方法,比如要新建 文件 "-a":

1、cd .>-a

2、vi -- -a

3、echo"">-a

上面三种方法都可以在当前目录下新建一个"-a" 文件 ,当然还可以有别的方法新建,这里就不在介绍。如果要删除"-a"就比较麻烦了,如果你输入 rm -a,系统会提示你:

rm:无效选项 -- a

请尝试执行‘rm --help’来获取更多信息。

对于这样的 文件 可以有两种方法来删除,如下所示:

1、rm ./-a

2、rm -- -a

改名字也不用说了,基本上就是在 文件 名前面加"--"来表示转义字符就可以了!

在Cygwin里安装使用dig命令/How to install dig on Cygwin

How to install dig on Cygwin

Here's a synopsis of how I installed dig on Cygwin:

1. Run the Cygwin setup and for the download site use:
ftp://sunsite.dk/projects/cygwinports

[推荐使用国内源http://mirrors.163.com/cygwin/]
2. Install the "Bind" package.

3. Determine the DNS being used.
ipconfig /all

4. Create the /etc/resolv.conf.
nameserver <DNS IP>

If this is not done, you'll get the error "communcations error: connection reset" when you run dig.

5. Run dig

from http://www.otweb.com/phramework/pw/module/blog/index.php?id=862

ssh无密码登入设置(完全版)/linux下免输入密码ssh登录

配置ssh不需要密码登录远程主机,网上有很多文章,但好像完整的不多,笔者参照操作,但得到消息:

Agent admitted failure to sign using the key.

原来是没有启动ssh-agent及把私钥加入到ssh-agent,参考如下文章得以解决问题。下文是完整的配置无密码登录ssh远程主机的方法,推荐参阅。

[注]正文来自http://www.jiangmiao.org/blog/559.html,在此表示感谢!

 

现有2台机器

1、服务器192.168.1.112

2、个人机192.168.1.110

要使110无需密码通过ssh登入112

步骤

1、创建密钥

miao@u32-192-168-1-110:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): (忽略)
Enter same passphrase again: (忽略)
Your identification has been saved in /home/miao/.ssh/id_rsa.
Your public key has been saved in /home/miao/.ssh/id_rsa.pub.

2、复制公密到服务器

miao@u32-192-168-1-110:~/.ssh$ scp id_rsa.pub miao@192.168.1.112:/home/miao/.ssh/192.168.1.110
miao@192.168.1.112's password:
id_rsa.pub                                                                   100%  404     0.4KB/s   00:00
miao@u32-192-168-1-110:~/.ssh$

3、添加公密到192.168.112的信任区域

miao@debian-192-168-1-112:~/.ssh$ cat 192.168.1.110 >> authorized_keys
miao@debian-192-168-1-112:~/.ssh$

注: 2,3两步可由命令ssh-copy-id一步到位

miao@ubuntu-192-168-1-110:~/.ssh$ ssh-copy-id miao@192.168.1.112
Password:
Now try logging into the machine, with "ssh 'miao@192.168.1.112'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

4、启动ssh-agent

如果ssh 192.168.112返回 Agent admitted failure to sign using the key
ps -Af | grep agent查看有无ssh-agent有无运行,若没有

miao@u32-192-168-1-110:~/.ssh$ ssh-agent

5、添加id_rsa到ssh-agent

miao@u32-192-168-1-110:~/.ssh$ ssh-add id_rsa

6、完成

from http://www.jiangmiao.org/blog/559.html

linux 下系统信息的查阅命令

这是文字版

系统信息

#uname -a                 #查看内核/操作系统/cpu信息

#cat /etc/issue        #查看操作系统版本

#cat /proc/version    #包含GCC的版本信息

#cat /proc/cpuinfo     #查看CPU信息

#hostname               #查看计算机名

#lspci -tv                    #列出所有pci设备

#lsusb -tv                   #列出所有usb设备

#lsmod                      #列出加载的内核模块

#env                          #查看环境变量

资源信息

#free -m              #查看内存使用量和交换区使用量

#df -h                    #查看各分区使用情况

#du -sh <目录名>  #查看指定目录的大小

#grep MemTotal /proc/meminfo  #查看内存总量

#grep MemFree /proc/meminfo  #查看空闲内存总量

#uptime           #查看系统运行时间,用户数,负载

#cat /proc/loadavg  #查看系统负载

 

磁盘信息

#mount | column -t    #查看挂接的分区状态

#fdisk -l                    #查看所有分区

#swapon -s                #查看所有交换分区

#hdparm -i /dev/hda   #查看磁盘参数(仅适用于ide设备)

#dmesg | grep IDE          #查看启动时IDE设备检测状况

 

网络信息

#ifconfig                       #查看所有网络接口的属性

#iptables -L                 #查看防火墙设置

#route -n                     #查看路由表

#netstat -lntp               #查看所有监听端口

#netstat  -antp             #查看已经建立的连接

进程信息

#ps -ef                         #查看所有进程

#top                             #实时显示进程状态

用户信息

#w                                  #查看活动用户

#id <用户名>                   #查看指定用户信息

#last                               #查看用户登录日志

#cut -d : -f1 /etc/passwd #查看系统所有用户                                   

#cut -d: -f1 /etc/group     #查看系统所有组

#crontab -l                       #查看当前用户的计划任务

支持中文变量的smarty模板引擎(修改版):程序与模板全部使用utf8编码的情况下,可以支持中文变量名

程序与模板全部使用utf8编码的情况下,可以支持中文变量名

smarty 基于smarty 3.0.6修改,只能用于utf-8编码的php程序+utf-8编码的模板(两者必须是utf-8!)

感谢maquan 的辛勤不懈的努力付出。

详细讨论过程,请参考这里 http://topic.csdn.net/u/20110304/09/6656b521-6d7b-4188-a9ca-316aafcd65b6.html

原smarty代码修改处:

3.0.6,在 Smarty/sysplugins/smarty_internal_templatelexer.php:455 附近有如下的内容:
function yylex2()
{
...
$yy_global_pattern = "...|^(0[xX][0-9a-fA-F]+)|^([0-9]*[a-zA-Z_]\\w*)|^(\\d+)|^(\\s+)|^(.)/u";
...

改成下面的样子即可:

function yylex2()
{
...
$yy_global_pattern = "...|^(0[xX][0-9a-fA-F]+)|^([0-9]*[a-zA-Z_\\pL][\\w\\pL]*)|^(\\d+)|^(\\s+)|^(.)/u";
...

可以直接下载本文附件,如不放心,请按上述说明自行修改。

php与asp/vbscript对input表单数组的处理比较

php与asp/vbscript对input表单数组的处理比较

arrayform

啥也不用说,自己运行吧,很简单的几个小文件。

本站www.path8.net是linux主机,不能运行asp,不然倒可以在线运行代码了 ^=^

结论是,php比asp/vbs更合理,更先进,不要犹豫了,全面转战php吧!

——谨以此献给有志从asp转php、有志向自由软件(也包括开源软件)贡献一份力的同学们。