2012
10
21
11:26

FreeBSD6.1学习笔记 很全很初步 收藏

++设定网卡

1)简单点的用sysinstall–>Configure–>networking–>Interfaces

2)或直接手工配置

vi /etc/rc.conf #添加如下内容

ifconfig_lnc0=”inet 192.168.25.37? netmask 255.255.255.0″ #具体网卡名称和IP地址自已调

defaultrouter=”192.168.25.12″??? #网关

hostname=”freebsdsrv.zhangjianfeng.com”? #主机名称

++多线程下载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

++加速pkg_add 速度

export? PACKAGEROOT=ftp://ftp.tw.freebsd.org? #bash

++设置ports的下载路径

# added by use.perl 2006-12-21 20:58:26

PERL_VER=5.8.8

PERL_VERSION=5.8.8

MASTER_SITE_OVERRIDE= \

ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp10.tw.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp13.tw.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp.jaist.ac.jp/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \

ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}

++配置X11

Xorg -configure #会在/root/下生成xorg.conf.new

Xorg -config xorg.conf.new #如果看到黑灰的格子和一个 X 形的指针,那就说明配置成功.退出测试可以按下 Ctrl+Alt+Backspace

cp /root/xorg.conf.new /etc/X11/xorg.conf #如果测试没问题就把文件放到这里,可以通过startx启动

++ 中文gnome环境

修改/etc/profile文件,在其中添加:LANG=zh_CN.eucCN

LC_ALL=zh_CN.eucCN

export LANG LC_ALL? #也可以在启动gnome之前手工运行

++安装prozilla

cd /usr/ports/ftp/prozilla;make;make install

++关于 在FreeBSD 下PPPoE拨号上网的方法 以下是一个ppp.conf的例子:

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 PPPoE:xl1 # replace xl1 with your Ethernet device

set authname 你的帐户名

set authkey 帐户密码

set dial

set login

add default HISADDR

确认你的 adsl: 后面的代码前面都有缩进,格式必须入上,没有缩进就不可以!

# ppp -ddial name_of_service_provider

++关于 挂载非UFS分区 方法

1.mount FAT/FAT32分区:(C盘为例)

mount -t msdos /dev/ad0s5 /mnt

2.mount NTFS分区:(C盘为例)

mount_ntfs /dev/ad0s1 /mnt

mount_msdosfs -L zh_CN.GB18030 /dev/ad0sX /mnt #可以支持FAT32分区上的中文文件名,当然,locale用18030/zh_CN.eucCN/ zh_CN.GBK都可以

3.mount Linux Ext2fs/Ext3fs:

在内核里面加入options EXT2FS,编译内核。

mount 的时候用mount_ext2fs 命令即可,ext3fs的mount也用mount_ext2fs

4.mount 普通数据光盘:

mount_cd9660 /dev/acd0 /cdrom? #如果fstab已定义,则 mount /cdrom

5.mount ISO 文件

mdconfig -a -t vnode -f abc.iso -u 1

mount_cd9660 /dev/md1 /cdrom

umount /mnt

vnconfig -u /dev/vn0

6.mount CD、VCD、DVD

播放CD、VCD、DVD不用先mount上。

如果你一定要mount上,可以这样:#mount _cd9660 -s 0 /dev/acd0 /cdrom

7.mount usb

确保内核中有如下项

device scbus

device da

device cd

在GENERIC中默认都有,如果没有,请编译内核。

大多数U盘用的是FAT 文件系统,所以用

mount -t msdos /dev/da0 /mnt

++Packages简单系统

pkg_add -r lsof

pkg_delete lsof-version #删除软件包

pkg_info #显示所有安装的软件包

pkg_info -L lsof-version| less #查lsof都安装到哪儿了

pkg_info | grep -i foopackage? #查系统安装了指定包没?

#找XX软件

#a)如果你知道软件的准确的名字,比如说wget,则 whereis wget

#b)如果你不知道准确的名字,那就search一下吧 cd /usr/ports;make search key=???

++ADSL拨号

vim /etc/ppp/ppp.conf

default:

set log Phase tun

enable dns

adsl:

set device PPPoE:rl0 #rl0对应网卡名称

set mru 1492

set dial

set login

set authname 用户名

set authkey? 密码

add default HISADDR

vim /etc/resolv.conf

nameserver 202.106.196.115

nameserver 202.106.0.20

ppp #运行ppp命令

ppp ON LOCALHOST>dial adsl

ppp ON LOCALHOST> #注释:假如没设置set mru 1492,系统会有提示的。

Ppp ON LOCALHOST> #注释:第一个P变大写后又变回小写的话,很可能是你自己的ADSL密码和用户名输入错误

PPP ON LOCALHOST> #注释:三个p都是大写P后,证明就通了

++中文本地化设置

(1)在/etc/login.conf中加入以下部分

#Chinese Users Accounts.

chinese|Chinese Users Accounts:\

:charset=eucCN:\

:lang=zh_CN.eucCN:\

:tc=default:

(2)执行以下命令

#cap_mkdb /etc/login.conf

(3)用vipw修改登入类型,针对相应用用户进行修改,修改格式参照如下内容:

root1$lOOD78Dm$oSG5u21RGrXoC.TTJ3nCs.:0:0:chinese:0:0:Charlie &:/root:/bin/csh

关键是在相应位置加入”chinese”,”chinese”是和第1步的设置对应的。

(4)重新登入后执行startx,进入的Gnome便是全中文的了。

其实还是英文状态更舒服一些,但习惯了,反正得整出中文桌面来,即使不用,^_^

++使用Windows下的Simsun字体进行中文字体美化

在 /usr/X11R6/lib/X11/fonts/下建立一个”TrueType”目录,将Windows下的simsun.ttc改名为 simsun.ttf后拷贝到 /usr/X11R6/lib/X11/fonts/TrueType下, 然后建立字体缓存 fc-cache -fv

然后在GNOME中设置字体,在字体细节中调整:“平滑”选无,“微调”选轻微,“次象素顺序”选RGB。

++加载声卡

在文件 /boot/loader.conf 里加入一行,内容如下

snd_xxx_load=”YES”

#如果不知道应该使用哪个驱动, 您可以尝试加载 snd_driver module, cat /dev/sndstat

++同步时间

/usr/sbin/ntpdate 210.72.145.44

++比较快的cvs服务器

cvsup5.cn.FreeBSD.org? 50ms以下

cvsup.tw.FreeBSD.org?? 300ms左右

http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/cvsup.html

++修改passwd

vipw? #root

++编译内核可以用make kernel KERNEL=configfile来编译,比先build后install而言只要一个命令。

++编译内核失败后用老内核启动的命令是在启动内核前的等待时俺一下空格键,然后输入boot /boot/old/kernel

###################################基本设置#######################################

setenv PACKAGEROOT “ftp://ftp.tw.freebsd.org” (在FreeBSD默认的c shell 使用此种方法)

#设置环境变量使pkg_add –r 源代码安装方式选择较快的服务器下载二进制软件安装

pkg_add -r cvsup-without-gui

#下载并安装二进制代码程序cvsup-without-gui(cvsup-without-gui无图形支持在文本方式下工作的软件,用来同步代码及ports用。)

++FAQ

+++默认只有wheel组的成员才可以su

+++如何是启动使Booting [kernet] in 9 seconds …变成0秒解决办法:

# vim /boot/defaults/loader.conf

autoboot_delay=”3″

++VI中汉字显示成\xc8\xf0字样

解决办法:用vim即可正常显示中文

++ls无颜色

解决办法: ls -G #可以做个alias

 

 

尽快消化

2012
10
11
13:22

5年内买车买房-理财篇

假设你的月收入只有2000元,你也可以过得很好。我帮你把钱分成五份。第一份600元,第二份400元,第三份300元,第四份200元,第五份500元。

 

第一份,用来做生活费。这么少的生活费,每天只能够分到十几元。早餐一份煮米丝,一个鸡蛋,一杯豆浆。中餐一份快餐,一个水果。晚餐自己开个小灶,煮点饭,加俩菜,睡前一杯奶。这样一月的伙食大概是500-600。不过,如果你还年轻,身体暂时还没有太多问题,这样的食谱,够你数年内不会有健康问题。

 

第二份,用来交朋友,扩大你的人际圈。这就宽裕了。你的电话费可以用掉100元。每个月可以请客两次,每次150元。请谁呢?记住,请比你有思想的人,比你更有钱的人,和你需要感激的人。

 

每个月,坚持请客,一年下来,你的朋友圈应该已经为你产生价值了,你的声望、影响力、附加价值正在提升,形象又好,又大方。

 

第三份,用来学习。每个月可以有50元—100元用来买书。钱不多,买的书就要认真阅读,学会学了就用的精神。每一本书,看完后,就把它变成自己的语言讲给别人听,与人分享可以提高你的信誉度,并且,提升亲和力。另外的200元存起来,每一年参加一次培训。从不间断。等收入高一些了,或者有额外的积蓄,就参加更高级的培训。参加好的培训,既可以免费结交志同道合的朋友,又可以学习平时难以领悟的道理。

 

第四份,用于旅游,一年奖励自己旅游至少一次。生命的成长来自不断地历练。参加那种自由行的旅游,住进青年旅社,地球其实并不大,每年都出门,几年下来,就可以把红旗插到地图上,许多美好的回忆,成为生命的动力,更加有热情和能量,去投入工作。

 

第五份,用来投资。先存起来,然后可以投资到股市里,也可以用来做进货的本钱,小本生意很安全,开一个淘宝网帐户,去批发点东西来卖,亏了反正也不多,赚呢,既赚了金钱,又赚了自信和胆量,还赚来做事情的阅历。赚的钱多了,就可以开始购买长期的投资计划,使自己提早获得一份长久的保障,保证自己和家人在将来,不论发生什么事情,都有一份充足的资金来照顾,生活品质不会下降。

 

好了,这样熬了一年,第二年如果你还在拿2000元的收入,那就是你的不是了,这么不长进,活着也够丢脸的,看看有什么品牌的豆腐比较硬,买一点来,用头去撞吧。

 

月收入在3000元以下的,一定要兼职赚钱,不要穷,还很有个性,挑三拣四的,这个不愿意做,那个没有兴趣。收入不高,一定要非常勤奋,尽量去找跟销售有关的工作,比如房地产中介,这就是很不错的兼职工作,既可以认识很多有价值的人,又可以锻炼自己的信息收集能力和营销技巧。

 

衣服啊,鞋子啊,这一年你是得尽量少买了。最好全部通过你的兼职赚的钱去买。当作奖励自己的一种方式。额外多赚钱的时候,记得买个礼物给你的爱人,谢谢他/她支持你的财务计划。很坦诚地告诉他/她,为何你那么勤俭,告诉他/她你的梦想和努力的方向。

 

到处都有需要帮助的生意人,兼职帮他们做点事情,去磨练自己的意志、口才、和工作能力吧,加上你的理财技巧,第二年,你的收入至少要增加到5000元。最低也应该是3000元,否则你收入的成长还赶不上通货膨胀呢。

 

无论你的收入是多少,记得分成五份。增加对身体的投资,让身体始终好用,增加对社交的投资,扩大你的人脉,增加对学习的投资,加强你的自信,增加对旅游的投资,扩大你的见闻,增加对未来的投资,增加你的收益。

 

保持这种平衡,逐渐你就会开始有大量的盈余。这是一个良性循环的人生计划。身体将越来越好,得到更多的营养和照顾。朋友会越来越多,存储许多有价值的人脉关系,同时,你也有条件参加那些非常高端的培训,使自己各方面的羽翼丰满,思维宽阔,格局广大,性格和谐。而你,也就能够逐渐实现自己的各种梦想,购买自己的需要的房子、车子,并且给未来的孩子准备一笔充足的教育基金。

 

人生是可以设计的,生涯是可以规划的,幸福是可以准备的。现在就可以开始。在你穷的时候,要少在家里,多在外面。在你富有的时候,要多在家里,少在外面。这就是生活的艺术。穷得时候,钱要花给别人,富的时候,钱要花给自己。很多人,都做颠倒了。

 

穷得时候,不要计较,对别人要好。富的时候,要学会让别人对自己好。自己对自己更好。穷要把自己贡献出去,尽量让别人利用。富,要把自己收藏好,小心别让别人随便利用。这些奇妙的生活方式,是很少人能够明白的。

 

穷的时候,花钱给别人看。富的时候,花钱给自己享受。穷的时候一定要大方,富的时候,就不要摆阔了。生命已经恢复了简单,已经回到了宁静。

 

年轻不是过错,贫穷无需害怕。懂得培养自己,懂得什么是贵重物品,懂得该投资什么,懂得该在哪里节约,这是整个过程的关键。别乱买衣服,少买一点,但是可以买几件很有品味的。少在外面吃饭,要吃就请客,要请,就请比自己更有梦想的、更有思想、更努力的人。

 

一旦生活需要的钱已经够了,最大的花费,就是用你的收入,完成你的梦想,去放开你的翅膀大胆地做梦,去让生命经历不一样的旅程。

2012
10
10
16:33

phpmyadmin导入mysql数据库sql文件最大限制2M

php配置文件php.ini中默认设置允许上传的最大文件数据为2M,因此通过phpmyadmin Web界面管理mysql数据库时,能够导入mysql数据库的最大sql文件或gzip文件大小也是2M (2048K)。如果要导入大于2M的sql数据库文件,有以下几种解决方法。

 

最直接的解决办法当然就是修改php.ini配置文件的设置,即修改默认的 upload_max_filesize = 2M, memory_limit = 128M; post_max_size = 8M 。 比如我想上传一个27M的sql数据库文件,则可以修改为 upload_max_filesize = 32M, post_max_size = 32M,post_max_size 和 memory_limit 的值至少要大于等于upload_max_filesize的设置值。增加了php.ini中的最大上传设置数据之后,重启Apache数据库,再打开phpmyadmin 就可以上传大的sql数据库文件等等。

 

另外一种方法适用于没有权限修改网站服务器php.ini文件设置的用户,可以使用phpmyadmin提供的$cfg[‘UploadDir’]方法,$cfg[‘UploadDir’]方法允许我们通过scp、ftp等文件传输方式上传数据库文件到网站服务器,然后phpmyadmin从服务器的临时目录中导入数据库文件。该上传的文件名后缀必须为.sql或者.sql.bz2 或.sql.gz 。具体步骤如下:

 

在phpMyAdmin的根目录下找到config.inc.php文件(config.sample.inc.php),打开找到$cfg[‘UploadDir’] 和$cfg[‘SaveDir’],注释为“Directories for saving/loading files from server ”,即通过$cfg[‘UploadDir’] 和$cfg[‘SaveDir’]可以导入服务器上的SQL文件到数据库,以及将从数据库导出的SQL文件保存到服务器上的目录中。

 

修改这个参数为$cfg[‘UploadDir’] = ‘ImportSQLFile’; 和 $cfg[‘SaveDir’] = ‘ExportSQLFile’;

 

再在phpMyAdmin中建立两个文件夹,ImportSQLFile和ExportSQLFile。也就是将需要导入的sql文件复制到ImportSQLFile文件夹中,上传到服务器上。选择需要导入的数据库名,选择导入(Import),就会发现在文件导入(File to import)的地方多出来一个导入服务器上的SQL文件(web server upload directory)。通过这种方法可以突破php.ini的上传文件限制。导出/备份mysql数据的时候也可以直接保存在服务器上,保存到$cfg[‘SaveDir’] = ‘ExportSQLFile’; 中指定的文件夹中。

 

另外,如果网站服务器和国外美国主机dreamhost一样支持Shell方式(SSH,SFTP,命令行)传输文件,那么通过shell方式导入Mysql数据库很大的sql文件都不成问题,直接在Mysql中使用命令:source filename.sql。

 

如果还是不能上传大于2M的数据库数据文件,可以检查一下你的phpmyadmin 版本是不是最新的,据说phpmyadmin低于 2.7.0版本会出现类似memory内存、http错误和timeout超时等各种问题,因此最好安装phpmyadmin升级到最新版本。

2012
10
08
12:44

error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

debian-sys-maint的密码是安装mysql时随时生成的

停止或重启服务都靠它

如果你修改了它的密码或覆盖掉密码,就会出现错误

error: ‘Access denied for user ‘debian-sys-maint’@’localhost’ (using password: YES)’

查看/etc/mysql/debian.cnf查看内容,可以看到有这个mysql连接用户:[client]

host = localhost

user = debian-sys-maint

password = G1I2JcALeXXvyC50

socket = /var/run/mysqld/mysqld.sock

[mysql_upgrade]

user = debian-sys-maint

password = G1I2JcALeXXvyC50

socket = /var/run/mysqld/mysqld.sock

basedir = /usr

直接用mysql登录,为debian-sys-maint用户改密:

mysql>SET PASSWORD FOR ‘debian-sys-maint’@’localhost’ = PASSWORD(‘这里就是上面看到的密码’);

mysql> flush privileges;

这样就OK了

如果删除了改用户,那只有添加了

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘这里就是上面看到的密码” WITH GRANT OPTION;

mysql> flush privileges;

2012
09
27
11:41

Linux vps修改时间改成北京时间

1.先登陆你的ssh,命令:date 看下时间是不是北京时间,如果不是我们把他改成北京时间。

2.命令:

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

3.再用date命令看下,你的vps的时间改变了吗?大部分Linux vps的母鸡是允许每个vps修改时间的!

如果此时你的vps时间已经改成北京时间就不用看下面了,如果此时你的vps时间还没有修改好。再试下命令:

ntpdate stdtime.sinica.edu.tw

使用ntpdate stdtime.sinica.edu.tw 时候如果提示这个命令,先安装 ntpdate就可以了。

 

centos 系统的vps用命令:

yum -y install ntpdate ntp

Ubuntu系统的:

sudo apt-get install -y ntpdate ntp

2012
09
19
16:18

关于apache2伪静态问题

刚把博客搬了一个新家,之前是用一键安装包配置的VPS,虽然配置完了能很正好的运行,但是有很多想地方想修改却不知道从何处下手。这次搬家,全是手动配置的APACHE2环境,其实手运配置还是蛮简单的,只要自己细心点,但是配置完成后发现怎么也无法实现伪静态,开始以为是伪静态规则出了问题,但经过很多次试验,感觉发现不是伪静态规则的问题,看了看PHPINFO信息,原来里面没有mod_rewrite模块,这下犯愁了,因为APACHE2安装是用默认安装的,难道默认安装apache2没有安装mod_rewrite模块?试着用google和百度查看一些如何重新加入mod_rewrite模块的方法,网上有大多数是垃圾文章,还好没试,不然试了又要重新配置VPS。看了一些资料,原来默认安装的apache2是有安装mod_rewrite模块,只是没有启动而已

a2enmod rewrite 启动

然后系统会提示你重新加载apache2 ,最后再用phpinfo查看,就已经有mod_rewrite模块了

2012
09
14
15:54

Optimize Apache and MySQL for a 256MB VPS

sudo nano /etc/mysql/my.cnf

 

Add the following line into the section [mysqld]:

skip-innodb

 

Next locate the line skip-external-locking and add skip-locking below that line.

 

Now find the section labeled “Fine Tuning”. Change/add the settings in that section to match those below:

 

key_buffer = 16K

max_allowed_packet = 1M

thread_stack = 64K

thread_cache_size = 4

sort_buffer = 64K

net_buffer_length = 2K

 

Save the file (ctrl+x) and restart MySQL: sudo /etc/init.d/mysql restart

If you run MySQLtuner again you will see that the “memory” warning is gone, ignore the aother warnings for the moment (you need to run the script after a few days again to get exact test results)

 

Optimize Apache in prefork mode

If you followed the Ubuntu tutorial we’ve mentioned in the first paragraph, your Apache setup should run in prefork mode. The default settings are much to high, open the file sudo nano /etc/apache2/apache2.conf andchange the following settings:

 

 

Timeout 45

KeepAlive On

MaxKeepAliveRequests 200

KeepAliveTimeout 3

 

StartServers 5

MinSpareServers 5

MaxSpareServers 10

MaxClients 30

MaxRequestsPerChild 2000

 

That’s all, restart Apache using sudo /etc/init.d/apache2 restart. If you know more tweaks, please share.

2012
09
11
17:29

购买VPS后简单测试

一、CPU信息及性能查看

cat /proc/cpuinfo

二、硬盘IO性能测试

root@h:~# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync && rm test

4096+0 records in

4096+0 records out

268435456 bytes (268 MB) copied, 6.19022 s, 43.4 MB/s

root@h:~# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync && rm test

16384+0 records in

16384+0 records out

1073741824 bytes (1.1 GB) copied, 6.32504 s, 170 MB/s

测试结果,如果超过10M,对正常建站就无影响。超过50M,就是非常给力状态。

2012
09
10
15:59

ssh只允许指定的用户登陆

方法1:在/etc/pam.d/sshd文件第一行加入

auth required pam_listfile.so item=user sense=allow file=/etc/sshusers

onerr=fail

然后在/etc下建立sshusers文件,编辑这个文件,加入你允许使用ssh服务的用户名,不用重新启动sshd服务。

 

方法2:pam规则也可以写成deny的

auth required pam_listfile.so item=user sense=deny file=/etc/sshusers

onerr=succeed

 

方法3:在sshd_config中设置AllowUsers,格式如

AllowUsers a,b,c

重启sshd服务,则只有a/b/c3个用户可以登陆