今天无意中备份博客的时候发现从VPS上拷贝下来的程序被小红伞报毒。查杀结果如下:
博客中毒了
OpenVZ查看真实内存使用值
转载一篇不错的文章
OpenVZ的内存模型和Xen或者一般的Linux Kernel不同,导致free命令看不到真实内存使用的值。
OpenVZ上free看到的是虚拟环境(Virtual Environment, VE)中所有程序向系统声明的可能要求内存的最大值,比如C程序:
- int *p = malloc(1024*1024*sizeof(int));
向系统声明需要4M内存,但内存实际上并不是在程序声明需要内存时就分配,而是在实际使用时分配,即上面的程序不会让linux内核立即分配内存。
但是OpenVZ提供的/proc/user_beancounters却可以反映出VE实际使用了多少内存,而且,可以反映出有多少是在母鸡的swap里面的,从一定程度上可以判断母鸡是否超售了。
/proc/user_beancounters里面的physpages对应的held值是VE实际使用的物理内存(以4k为单位),oomguarpages则是VE实际使用的物理内存+swap,两者相减,就是VE使用的swap。 Continue reading »
博客搬家到BuyVM VPS
折腾独立博客除了内容外就是域名、主机和程序了。
域名从icyhe.com换成了binghe.org;程序从emlog换成了wordpress;主机从免费主机到美国主机再到北京BGP多线机房,最终搬到了国外的VPS。VPS是前几天BuyVM放货的时候抢到的,没想着搬,本打算VPS当SSH&VPN主机用,博客继续使用北京BGP多线机房,毕竟速度快还不用备案而且空间9月才到期。但是2012.4.2发生了一件不愉快的事导致博客被停掉。本来以为是技术问题,后来咨询下发现对方态度很恶劣,坚持让我搬走。空间都用了2年了,既然人家话都说到那份上,我也没再辩驳。
之前在123Systems买的128MB内存VPS使用lnmp.org的一键安装包死活通不过,但是在BuyVM上却出奇的顺利。于是修改域名A记录,绑定域名,上传文件&恢复数据库,一气呵成。
现在博客已经能访问了,欢迎大家批评指正~~~
UPDATE1:貌似出现好几次502了。看来内存确实不够用。
UPDATE2:把修改php-cgi的进程数由默认的5改成了3,貌似内存剩余40MB,之前是负十几MB。修改方法:
vi /usr/local/php/etc/php-fpm.conf
<valuename=”max_children”>3</value>
UPDATE3:vsftpd安装有点问题,程序是装上了,但是service没配置好。可以使用yum install vsftpd覆盖安装解决。
128MB小内存VPS安装LNMP
买了个128MB内存的VPS,想装WordPress折腾下。软件当然首选LNMP,系统尝试了几次还是选Debian。话说高配置的机器还是推荐Centos,文档多,出了问题也好解决。但是像128MB内存的机器还是Debian省资源。
从lnmp.org下了一键安装包。可是尝试无数次都失败。最后看log发现是mysql安装失败。nginx和php都编译并安装,唯独mysql编译的时候out of memory了。于是想用一键安装包的脚本安装nginx和php等软件,mysql用apt-get安装。研究下了一键安装脚本,发现过于繁琐,虽然lnmp.org提供的一键安装包省事而且也能提高网站的访问体验,但是系统开销是很大的。
找来找去无意中看到了一个很神奇的脚本lowendbox的lowendscript。研究下了果断决定用这个脚本安装。
下面是LEB脚本包含的软件和对系统的修改
安装/替换的软件
dropbear to replace openssh. Invoked from xinetd.
inetutils-syslogd to replace rsyslog.
exim4 to replace sendmail (if installed). Re-configured to allow Internet delivery.
cron
nginx
mysql. Re-configured to remove innodb support, remove query cache and reduce key buffer size.
php with built-in FastCGI interface. Running only 1 child process and respawn after 5,000 requests.
对系统/软件的修改:
Removing some commonly bundled applications that should not be there in the first place for a minimal distro (apache2, sendmail, bind9, samba, nscd, etc).
MySQL root is given a new password (which can be found in ~root/.my.cnf)
Installing each WordPress site under /var/www/. It will create appropriate database, users and password for the site. Continue reading »
安装PPTP和OpenVPN的自动化脚本
安装OpenVPN需要主机支持tun,安装PPTP需要主机支持tun和ppp。
首先要检测你的VPS是否开启了TUN和PPP,联系你的服务器提供商,直接询问。如果没有开启,可以要求他们开启。
自行检测的方法:
检测TUN
cat /dev/net/tun
返回:
cat: /dev/net/tun: File descriptor in bad state 说明正常
检测是支持PPP模块
cat /dev/ppp
返回:
cat: /dev/ppp: No such device or address 说明正常 Continue reading »
CentOS中yum-fastmirror插件出错
错误代码:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Traceback (most recent call last):
File “/usr/bin/yum”, line 29, in yummain.user_main(sys.argv[1:], exit_code=True)
File “/usr/share/yum-cli/yummain.py”, line 309, in user_main errcode = main(args)
File “/usr/share/yum-cli/yummain.py”, line 178, in main result, resultmsgs = base.doCommands()
File “/usr/share/yum-cli/cli.py”, line 345, in doCommands self._getTs(needTsRemove)
File “/usr/lib/python2.4/site-packages/yum/depsolve.py”, line 101, in _getTsself._getTsInfo(remove_only)
File “/usr/lib/python2.4/site-packages/yum/depsolve.py”, line 112, in _getTsInfopkgSack = self.pkgSack
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 661, in pkgSack = property(fget=lambda self: self._getSacks(),
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 501, in _getSacksself.repos.populateSack(which=repos)
File “/usr/lib/python2.4/site-packages/yum/repos.py”, line 232, in populateSackself.doSetup()
File “/usr/lib/python2.4/site-packages/yum/repos.py”, line 79, in doSetupself.ayum.plugins.run(‘postreposetup’)
File “/usr/lib/python2.4/site-packages/yum/plugins.py”, line 179, in runfunc(conduitcls(self, self.base, conf, **kwargs))
File “/usr/lib/yum-plugins/fastestmirror.py”, line 181, in postreposetup_hookall_urls = FastestMirror(all_urls).get_mirrorlist()
File “/usr/lib/yum-plugins/fastestmirror.py”, line 333, in get_mirrorlistself._poll_mirrors()
File “/usr/lib/yum-plugins/fastestmirror.py”, line 376, in _poll_mirrorspollThread.start()
File “/usr/lib/python2.4/threading.py”, line 416, in start_start_new_thread(self.__bootstrap, ())
thread.error: can’t start new thread
Sogou2012校园招聘测评题目(Java版)
public class Test {
public static void encode(byte[] in, byte[] out, int password)
{
int len = in.length;
int seed = password ^ 0×3810860;
for (int i = 0 ; i < len; ++i) {
/**
*因为JVM中涉及byte、short、char类型的运算操作首先会把这些值转换成int类型,
* 然后对int类型的值进行运算,所以需要把运算结果强制转换成byte类型
*/
byte a = (byte)( ( in[i] ^ seed ) >>> 5 );//把异或后的值存放在a的低3位
byte b = (byte)( ( ( ((int)in[i]) << 20 ) ^ seed ) >>> (20-3) );//把异或后的值存放在b的高5位
a &= 0×7;//0×7:0000 0111;将a中未存储有效数的位清零
b &= 0xf8;//0xf8:1111 1000;将b中未存储有效数的位清零
out[i] = (byte)(a | b);
seed = ((seed ^ out[i]) * 7321 + out[i]);
}
}
public static void decode(byte[] in, byte[] out, int password)
{
int len = in.length;
int seed = password ^ 0×3810860;
for (int i = 0 ; i < len; ++i) {
// fill the code here
}
}
public static void main(String [] args) throws Exception
{
int password = 0x808d0625;
byte[] buf1 = {-36, -108, -73, 95, 56, 80, -103, -49, 59, -52, -30, 70, -93, 88, 110, -128, 88, -42, 1, 114, -117, -67, -84, 55, 24, -107, -97, -51, 60, -117, 113, 38, 110, -103, -70, 100, 54, -126, };
byte[] buf2 = new byte[buf1.length];
decode(buf1, buf2, password);
System.out.println(new String(buf2, “GBK”));
}
} Continue reading »
博客再次长草
实习项目任务重,再加上各种找工作。
等工作定下来再维护吧。
JAVA中使用LDAP进行用户认证
转篇文章自用
LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。现在LDAP技术不仅发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从 LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把 LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。
Continue reading »
灵格斯 (Lingoes)软件提示过期解决办法
虽然Lingoes好久不更新了,但是最近其最新的版本却一直提示软件过期。下面是来自官方论坛的解决方法:
最近有部分用户出现”一直提示软件过期” 的问题, 解决的办法是点击过期提示对话框中的 “立即升级” 按钮, 完成后重启软件即可.如果还不行的话, 请从此处下载 system.inc 文件, 拷贝到灵格斯安装目录下覆盖原文件, 即可解决.
另外, 我们在近几日内就会推出正式版本, 彻底解决Beta版过期问题, 以方便大家使用, 请稍加耐心等候, 谢谢!
希望如作者所说,Lingoes能尽快推出更新版本!
UPDATE1:2011-08-26 灵格斯词霸2.7.6发布。
UPDATE2:Lingoes好像服务器经常连不上,查词查例句都不方便,换有道词典了。
近期评论