Category Archives: Linux

记录我的Linux相关学习笔记

VPS与云计算哪个更划算?

云计算时代,不谈云,不用云就感觉跟你是奥特曼(Out man~)了,但是很多中小网站主不知道云计算是更节省还是一个陷阱,我用云计算的理由很简单,就是不想做vps的维护和网站流量增长所带来的服务器迁移,还有就是云服务相对vps或是独立服务器的稳定性和数据安全性。

因为最近几天一直在使用Sina的SAE服务并进行了一些云豆消耗监控和价格对比,发现使用VPS和云服务在某个临界点下肯定会有一个成本交集,哪么这个临界点在哪里呢? 东东有礼简单列了个表格对比如下:

Continue reading

新浪sae url rewrite(伪静态、重定向)详解

sae全程Sina App Engine,真是一个好东西,他有很多优秀的特性,简单来说SAE就是一个简单高效的分布式Web服务开发、运行平台。

支持现在常用的 php+mysql环境,在开发中难免会碰到项目需要做url rewrite(伪静态),然而sae不支持 apache 下的.htaccess 。不过不要难过,sae提供了自己的rewrite方式,本文我们就对sae的rewrite做个介绍,希望需要的同志能快速根据自己需求写想要的规则

config.yaml简介
sae的配置文件在每个应用的根目录里面,名字是config.yaml。这个文件就类似于apache的.htaccess,所有的伪静态规则,404设置等都在这里配置。

config.yaml内容格式
name: phpclubs
version: 1
handle:
– directoryindex: index.php index.html index.htm
– errordoc: 404 /path/404.html
– rewrite: if(!is_dir( ) && path ~ “urldir/(.*)”) goto “/tools/$1”
上面是一个应用里面的config.yaml文件
第一行 表示 当前应用的名字
第二行 表示 当前应用的代码的版本
第三行 handle 下面的就是我要写的规则
config.yaml修改途径
我们创建项目版本时系统会自动生成config.yaml文件在根目录(如果没有自己可以手动创建一个),一方面 我们可以通过 在线编辑器(SAE CLOUD EDITOR) 进行编辑config.yaml文件。另一方面我们还可以使用svn本地编辑,提交到服务器,修改都是实时生效的。 Continue reading

nginx环境下wordpress的固定链接更改

因为有个网站需要上线,而之前的主机上面一个ip对应了很多网站,不太喜欢,所以今天下午在BurstNet 购买了个VPS(有两个独立ip,这样至少多个网站不会太撞车了),先折腾着玩玩试试,购买后绑定了域名并创建数据库用户及数据库(安装网站的准备工作)。

vps及数据库等用户名密码配置完毕后,开始安装服务器环境,可以选择lnamp环境、lamp环境或lnmp环境。 因为上面网站动态内容不多,所以选择了Lnmp一键安装包(有licess的 或是 猫的)。

简单的wordpress环境安装完毕后更改了默认的链接:/?p=123 为:/archives/%post_id%.html,不含“?p=”的链接格式看着舒服。在后台更改链接格式后刷新后及生效,但是Nginx环境得做相应的配置进行支持。之前一直用虚拟主机,这些conf文件和Rewrite规则服务商都做了很好的处理,所以不用单独修改,但是自己购买的vps完全是原生态的环境,需要自己动手,丰衣足食。 Continue reading

为中标普华Linux或Fedora构建本地yum仓库

如何为中标普华LinuxFedora构建本地yum仓库:

1、首先安装创建仓库所用到的工具: createrepo

[Lee@leedd.com ~]$ sudo yum install createrepo

然后根据提示输入当前用户密码,或是直接用root帐号进行安装。

2、为本地仓库创建目录结构,如在当前用户的根目录(/home/Lee)下创建:

[Lee@leedd.com ~]$ pwd

/home/Lee

[Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/base/5/i386

[Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/updates/5/i386

3、把mock需要用到的文件复制到/home/Lee/repos/yum/neoshine/base/5/i386 目录下 Continue reading

Mount命令挂载设备的实现原理

要了解linux下的mount命令是如何挂载设备的工作原理,首先我们要回答以下四个问题:1.怎么知道应该去挂载?2.挂载的几种文件格式 3.如何去挂载? 4.挂载的位置如何确定?弄明白了这四个问题,就能知道monut的实现原理及工作过程。下面我们来详细分析下


下载并获得nautilsu源码:

[Lee@leedd.com ~]$ yumdownloader --source nautilus
载入插件: refresh-packagekit
nautilus-2.24.2-5_nd5_8.src.rpm                          | 5.2 MB     00:00
[Lee@leedd.com ~]$ rpm -ivh nautilus-2.24.2-5_nd5_8.src.rpm
[Lee@leedd.com rpmbuild]$ rpmbuild -bp SPECS/nautilus.spec
[Lee@leedd.com rpmbuild]$cd BUILD
[Lee@leedd.com BUILD]$ pwd
/home/Lee/rpmbuild/BUILD

nautilus-2.24.2/libnautilus-private/nautilus-autorun.c定位mount实现相关的函数

  Continue reading 

Linux下C语言的本地化/国际化实现

在linux系统下,以c语言程序为例来实现程序的国际化,即让程序根据Linux系统不同的语言环境的不同来显示出对应该语言的文字,即先让c程序支持国际化然后再进行本地化翻译。

Linux上实现这个过程需要用到xgettext和msgfmt这两个工具。

Xgettext 是国际化的工具,用来提取程序中的字符串,生成*.po或是*.pot的文件,

msgfmt是本地化的工具,用来编译翻译后的.po文件为.mo文件,这样系统在启动时候会扫描系统环境提取对应名字的.mo文件中的字符串替代原来的英文,实现本地化。

如我们来做一个简单的rpm包,包文件的目录树如下:

hello.c /*我们用来测试的c语言程序*/

po /zh_CN.po /*放在该包根目录下的po目录。对应于该程序进行的中文翻译*/

Continue reading

接入云端:轻量级Linux系统xpud


xPUD 是一个基于网页浏览和影音娱乐为主要应用的轻量级Linux 发行版。最新的0.9.2版的大小为64M。其界面十分简洁,具有完整的中文支持,特别适合作为 Web 程序的执行平台,可以作为上网本或是未来基于云端应用的底层支持系统。

当然如果你对于电脑的需求只是用来上网和播放影音及办公应该,那么xpud够用了,下面是LDD下载并在VIrtualBox上安装的步骤:

Continue reading

Linux下创建与解压tar, tar.gz和tar.bz2文件及压缩率对比

Linux下创建与解压zip, tar, tar.gztar.bz2文件及该文件压缩对比

刚在qq群里面一位仁兄问到文件压缩的命令,平时工作中大多用解压缩命令,要是遇到压缩就现查(这不是一个好习惯),于是整理下Linux下创建与解压ziptartar.gztar.bz2文件及他们之间压缩率对比,在自己的脑袋内存空间有限又不经常使用的时候以便于备忘。现整理如下:

目前Linux下常见的压缩文件扩展名:

 *.Z        compress程序压缩的文件(最早期使用),压缩后取代源文件;
 *.zip      一个夸平台的文件打包程序,适用于LinuxwindowsMac OS系统;
 *.bz2      bzip2程序压缩的文件;
 *.gz       gzip程序压缩的文件;
 *.tar      tar程序打包的文件,并没有压缩;
 *.tar.gz   tar程序打包的文件,并经过gzip程序的压缩;
 *.tar.bz2  tar程序打包的文件,并经过bzip2程序压缩。

Tips所谓扩展名只是大家约定的通用格式,是为了更方便的能一眼识别出是什么压缩类型,当然你可以打包或压缩为任意格式的后缀名,只要你愿意。

Continue reading

Linux系统翻译平台架构设想

本文是给 IT感觉 (http://www.itfeel.com)的供稿,版权归沉思小屋所有

供稿链接:http://www.itfeel.com/archives/linux-i18n-l10n-po-pot-to-mo-system.html

目前国内的Linux发行版本及一些公司基于该发行版本所进行的“二次开发”出的系统都存在中文本地化翻译不理想的问题。基于及对社区的一些工作机 制的简单了解(确实了解不深,有可能该平台或类似平台某些Linux社区已经在应用),当然,该平台仅对国际化/本地化的应用来构建,不仅仅适用于 Linux发行版本,还适用于一些需要国际化/本地化的软件等。下面的方案中拿Fedora发行版本来举例。方案一是建立自己的翻译平台或是含有翻译功能的平台。方案二是与社区在翻译方面进行深入合作。

Continue reading

《高级Bash脚本编程指南》中英电子版

今天在网上寻找Linux Shell相关的书籍推荐,发现一本《高级Bash脚本编程指南》《Advanced Bash-Scripting Guide》)整体评价不错,并找到了该书的在线阅读或是html版、PDF版等格式的中英文翻译的在线阅读或下载地址,收集出来给大家共享,也留着自己备用。

 作者:thegrendel
 主页:http://personal.riverusers.com/~thegrendel
 中译本:杨春敏(chunmin.yang at gmail.com)  黄毅 (linuxprogram at gmail.com)
 点评: 目前最好的BASH教程,内容全面,详尽无比,有很多脚本实例;最重要的是作者一直跟更新和修正此文档,目前的英文版本是Version 4.2;中文版最新版本是3.9.1.
在线阅读地址:http://leedd.com/html/abs-3.9.1/
Tips:该书中所有的例子用到的程序作者都已经提供,但是最好还是自己写一遍
更多关于该书籍的信息请查看该书籍主页或点击下面的链接:
http://www.linuxsir.org/main/?q=node/140#3