jqka2 发布的文章

网站改版

呃,是的,改版鸟。

为啥改版

在鄙人刚起步搞"博译IT”这个博客型网站的时候,定位的方向是一个互联网新闻,软件技巧类的网站,并且召集多名童鞋协助编辑,不过后来发现不是很现实,童鞋能抽出时间撰文的时间不多,且也不是十分的精通这方面的动向,毕竟不是科班出生,所以就不欢而散。

改成啥

既然是一个人做了就改成个人网站,开始新的旅途,毕竟路还是要走了,自从博客的流行,我就开始在新浪博客上叽歪了一年多的时间,最终还是没坚持下来放弃了。现在写写自己真正关心的,关注的,一个字-玩。

改了啥or要改啥

现在打算加入自己自考专业--《英语语言文学》相关东东,加入囧囧个人生活经历,思想感悟,网络安全,编程心得(大家勿BS,我就会C,这学期正在学Assembly ,Algorithm and Data Structure )总之不要拘束自己,当之为一个“撒野自留地”。 既然都相当于是重来了,那就改了我觉得现在本站最不爽的两个东西,地址由http://tunps.com/blog 二级目录拖到http://tunps.com顶级目录,听起来简单就是拖几下,其实不然,这让我忙活了一下午。about页面修改了,网站名字不改了,丑是丑了点,将就! 打算删除中文tag,不为啥,看起来不爽,也许是崇拜美帝国主义吧。 post地址由%year%/%month%/%postname% 改为单独的%postname%,我自己也翻译过google官方的说法-动态网站模仿静态URL(也就是隐藏参数)不利于SEO,不知道在哪点看到了,忘了,说加入年份,月份无意义,我也是这样认为的,有些人用%postname%.html ,咋说呢,觉得有点把搜索引擎当白痴了。 换个主题,不用apple4us了,文章宽度太小,阅读起来太压抑,当然可以通过修改CSS完成,可惜我不会,唔。

如何改的

到本站虚拟主机控制面板phpmyadmin导出WP数据库。 用UltraEdit打开数据库文件,替换 http://tunps.com/blog 为http://tunps.com (好像改了800多项)。 然后在phpmyadmin中导入更改后的数据库文件, 把WP目录wp-content备份到本地,然后删除/blog全部内容,上传最新WP程序到根目录,用本地wp-content覆盖默认wp-content。 完事后打开主页顶端出现如下错误:

Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/tps/domains/techguru.cn/public_html/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /home/tps/domains/techguru.cn/public_html/wp-includes/widgets.php on line 686

google了一把,可能是自己加的widgets出错,打开数据库文件删除insert wp-option("widget_text").....云云的那两个文本widget,重新导入成功。

改了网站目录,feed也随行更改了,把http://tunps.com/?feed=rss2贴到feedsky的基本信息,feed托管地址还是http://feeds.feedsky.com/it_trans,这为我保留了订阅用户,哎,不过丢了也没关系,就这么4,5个订我的用户 >o 其实改起来最麻烦的还是现在用的网通用不起ftp(可能是隔壁寝室把我‘网络剪刀手’了,同时严重了影响到了我的上网体验,退出合租宽带等事宜正在协调。) 好的就废话到这里,重订阅跳到此文的用户帮个忙,给我捎个信,测试下feedsky还工作正常否,thx。 下一文是新的起点,新的开始,加油。

update:2008.10.11 0:30:协调完毕,给了250,还了200,回归美好的校园Dr.com Hooray!

开机显示”note ipv6 routers present”|关闭linux的ipv6

禁止 ipv6:修改 /etc/modprobe.d/aliases ,注释 alias net-pf-10 ipv6 下面加一行 alias net-pf-10 off
重启后就没了

为什么要这样改呢?

# network protocols ##########################################################  
alias net-pf-1 unix  
alias net-pf-2 ipv4  
alias net-pf-3 ax25  
alias net-pf-4 ipx  
alias net-pf-5 appletalk  
alias net-pf-6 netrom  
alias net-pf-7 bridge  
alias net-pf-8 atm  
alias net-pf-9 x25  
alias net-pf-10 ipv6  
alias net-pf-11 rose  
alias net-pf-12 decnet  
# 13 NETBEUI  
alias net-pf-15 af_key  
alias net-pf-16 af_netlink  
alias net-pf-17 af_packet  
# 18 ASH  
alias net-pf-19 af_econet  
alias net-pf-20 atm  
# 22 SNA  
alias net-pf-23 irda  
alias net-pf-24 pppoe  
alias net-pf-25 wanrouter  
alias net-pf-26 llc  
alias net-pf-31 bluetooth

alias net-pf-16-proto-1 wire
alias net-pf-16-proto-3 ip_queue
alias net-pf-16-proto-4 tcp_diag
alias net-pf-16-proto-8 scsi_transport_iscsi
alias net-pf-16-proto-9 audit
alias net-pf-16-proto-11 cn
alias net-pf-16-proto-13 ip6_queue

network protocols

alias net-pf-1 unix
alias net-pf-2 ipv4
alias net-pf-3 ax25
alias net-pf-4 ipx
alias net-pf-5 appletalk
alias net-pf-6 netrom
alias net-pf-7 bridge
alias net-pf-8 atm
alias net-pf-9 x25
alias net-pf-10 ipv6
alias net-pf-11 rose
alias net-pf-12 decnet

13 NETBEUI

alias net-pf-15 af_key
alias net-pf-16 af_netlink
alias net-pf-17 af_packet

18 ASH

alias net-pf-19 af_econet
alias net-pf-20 atm

22 SNA

alias net-pf-23 irda
alias net-pf-24 pppoe
alias net-pf-25 wanrouter
alias net-pf-26 llc
alias net-pf-31 bluetooth

alias net-pf-16-proto-1 wire
alias net-pf-16-proto-3 ip_queue
alias net-pf-16-proto-4 tcp_diag
alias net-pf-16-proto-8 scsi_transport_iscsi
alias net-pf-16-proto-9 audit
alias net-pf-16-proto-11 cn
alias net-pf-16-proto-13 ip6_queue

每个贷后都跟有其网络类型,alias net-pf-10也就是 ipv6的网络“代号”了,#使它变成注释而无效,加个off来禁用。

虚拟机下架构Lamp开发环境|用debian 40r3 DVDx3制作apt源

因为处在一个网络不可长期在线且上网按流量计费的环境,所以apt-get install xx好像对我来说好像事有点奢侈了,所以下载了三个debian-40r3-i386-DVD的iso镜像

debian-40r3-i386-DVD的iso镜像

恩,这是此文的背景。

接着说搭建lamp开发环境,apt-get install mysql-server的时候发现源里面没有这个包,因为我用的是debian-40r3-i386-DVD-1.iso,其他两个iso还没有用过,不知道里面是否有mysql-server,在windows环境下我用daemon tools挂载了三个iso,然后查找“mysql-server”,结果在第三个iso发现了,因为debian是根据社区的投票来决定软件包的的优先性,我就纳闷了,如此常用的mysql-server怎么到第三个包去了,呵呵。我不可能dpkg -i mysql-server_xxxx.deb来安装吧,那依赖性,我真的是怕了,所以决定把这三个iso做个源。

google了一下,大概的方法就是把三个iso在/etc/fstab写入开机挂载,然后在/etc/apt/sources.list 写入:deb /mnt/iso main contrib 之类的东西,但是问题出来了,三个iso在windows系统下了j盘,vmware下的Linux客户机用的是vmware的hgfs共享方式来加载,也就是说/mnt/hgfs/j/xxx.iso挂载前不知道hgfs是否挂载,我估计没有不然三个iso也没有挂载成功呢。

解决

想到了一个方法,但是很笨,用windows下的daemon tools完成挂载到l m n三个盘,然后用vmware共享到/mnt/hgfs/l ./mnt/hgfs/m . /mnt/hgfs/n目录下,

然后在/etc/apt/sources.list写入:

deb /mnt/hgfs/l/ main contrib
deb /mnt/hgfs/m/ main contrib
deb /mnt/hgfs/n/ main contrib

然后apt-get update,发现dvd-2 和dvd-3 没有contrib类的源,虽然没有影响,但是为了“完美” 却掉了后:最后这样写:

(update:08.6.20)

deb file:///mnt/hgfs/l/ main contrib
deb file:///mnt/hgfs/m/ main
deb file:///mnt/hgfs/n/ main

apt-get install mysql-server

ok 完成。

因为我用windows下的dreamweaver写代码(我不是那些牛淫,直接putty连接用vi,emacs写),所以存在一个文件同步的问题,开始用vsftp,简单的配置了一下vsftpd.conf,虽然怎么搞也上传不了文件,且用了dreamweaver的“站点管理”功能,也不行。不过我想到了一个更好的方法。把apach2的DocumentRoot由默认的/var/www指向windows目录,比如我的f:phptest目录 ,改成/mnt/hgfs/f/phptest/ 嘿嘿,这样就好了,做到了“实时同步”,每次写完ctrl+s保存一下就行了。

LAMP

PS:有人要问:你学php+mysql非要用linux下的吗?windows都有port的啊?

答:我觉得毕竟它们首先在linux开发出来,感觉比较“纯”,比较"正宗",当然以后要是做了linux方面的工作,感觉更容易上手些,当然也不排除装13的嫌疑:)

如何架设一个Ubuntu/Debian LAMP服务器

架设一个自己的Lamp服务器- 快捷,简单的DIY安装。需要用到的软件如下,不用介绍了,都再熟悉不过了。

  • Apache 2 - Linux Web server
  • MySQL 5 - MySQL Database Server
  • PHP4/5 - PHP Scripting Language
  • phpMyAdmin - Web-based database admin software.

注释: Linux + Apache + MySQL + PHP/Perl 加在一起就是广为所知的 LAMP 服务器

首先,让我们准备一个debian/ubuntu版本的linux,最少要求256MB的内存。.如果内存低于最小内存可能会导致许多的问题,因为mysql和webmin的正常运行需要很多的内存。如果内存小了,mysql将会给你一个"cannot connet to mysql.sock"的错误。我喜欢基于debian/ubuntu的linux版本那是因为我对apt-get命令的喜好。至少一个知道这个命令的初学者,安装软件包是如此的简单,你完全没有必要担心软件包的依赖性和配置问题。如果你想安装一个自己的服务器,最好还是去买一个独立服务器或者VPS。如果你只是想试验一下服务器和安装,那我推荐你买个VPS。我更喜欢vpslink的价格。即便你是linux或者VPS主机的新手,你也会觉得安装和配置自己的服务器是如此的简单,信不信由你!

如何你通过ssh管理你的服务器,先要下载个PuTTy 。输入服务器的ip用root登陆进去。也许你知道,webmin是一个免费的服务器控制面板,一旦安装好了lamp和mail服务器我们就来安装这个。webmin使配置linux更加容易。安装前,用这个命令升级必要的软件包:

apt-get install update

安装 Apache + PHP

Apache是在大多数基于linux服务器上面跑的一个著名web服务器。很少的命令就可以配置出可以跑php4/php5的apache。如果想安装php4,apt-get就可以了

apt-get install apache2 php4 libapache2-mod-php4

安装php5,运行下面的命令,注意如何不指定版本'4',php5会自动安装。

apt-get install apache2 php5 libapache2-mod-php5

Apache 的配置文件位于: /etc/apache2/apache2.conf 你的web文件夹在: /var/www.

为了检查php是否安装运行正常,创建一个带有phpinfo()函数的test.php文件放在/var/www文件夹。

nano /var/www/test.php

test.php内容:

<?php phpinfo(); ?>

让你的浏览器打开http://ip.address/test.php 或者http://domain/test.php,你将会看到所有的php配置和默认的设置。 你可以编译apache配置文件必要的参数来设置虚拟空间。

安装MySql数据库

如何你跑一个数据库驱动的商务网站,安装mysql总是必要的。记住运行Mysql至少需要256MB的内存,除非你不需要mysql。以下命令会安装mysql 5的服务器和客户端。

apt-get install mysql-server mysql-client php5-mysql

注意:如果你已经安装了php4,你应该像这样稍稍的改一下:

apt-get install mysql-server mysql-client php4-mysql

mysql的配置文件位于:/etc/mysql/my.cnf

创建mysql用户和改root密码

默认情况下mysql创建了一个没有密码的root用户,你需要改一下root的密码。改变root密码:

mysql -u root  
mysql> USE mysql;  
mysql> UPDATE user SET Password=PASSWORD('new-password') WHERE user='root';  
mysql> FLUSH PRIVILEGES;*

你需要创建一个用户在php脚本中连接mysql,而绝不能使用root连接。你可以有选择的使用webmin或者phpMyAdmin来进行用户的创建和权限的指派。webmin和phpmyadmin在基本安装完成后进行。

PhpMyAdmin 安装

phpMyAdmin是一个基于web的数据库管理软件,在apache下很容易安装和配置。没有什么比phpmyadmin管理数据库和表格更容易的了。你所需要做的就是:

apt-get install phpmyadmin

phpmyadmin配置文件在/etc/phpmyadmin目录。
在apache下安装phpmyadmin,你仅需要在/etc/apache2/apache2.conf中加入以下这行:

Include /etc/phpmyadmin/apache.conf

现在重新启动 Apache:

/etc/init.d/apache2 restart

用浏览器打开:http://domain/phpmyadmin。就这样完成了。mysql和phpmyadmin都准备就绪。用root登陆mysql创建用户,然后用php脚本连接。

linux-programming-note-8(POSIX IPC)

<本笔记基于《LINUX编程技术详解》(人民邮电出版社)>

Author:tunpishuang (tunpishuang at gmail dot com)

Chapter 11-------POSIX IPC
使用信号传递的信息有限
使用管道只能传输“无格式的字节流”?-->不理解
AT&T发行的system V 引入3种新的进程间通信(IPC)
分别是:消息队列,共享内存,信号量