<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>days of linnchord &#187; linux</title>
	<atom:link href="http://linnchord.net/archives/category/develop/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://linnchord.net</link>
	<description>南台静坐 : : :</description>
	<lastBuildDate>Thu, 17 Jun 2010 05:43:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>linux(ubuntu)软件安装实践</title>
		<link>http://linnchord.net/archives/740.html</link>
		<comments>http://linnchord.net/archives/740.html#comments</comments>
		<pubDate>Tue, 15 Jun 2010 13:43:22 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=740</guid>
		<description><![CDATA[准备在ubuntu上搞搞java，整个环境还是不太习惯，以前零零碎碎看了些操作片段，总是感觉很模糊，几天不用就忘一干二净了。 这次准备系统的搞搞清楚，在每遇到问题时就问题涉及范围内的知识要点先拟一个提纲，然后查资料、整理、描述、记录，这样有利于系统的提升。 这部分是关于ubuntu下软件安装的相关要点，部分自撰，部分来自网络。 常见方式 自动安装 通过软件管理 器或apt-get自动安装软件，软件会按照默认设置编译部署配置。 优点：方便、快捷、易升级 缺点：一般来说文件会按照标准分散在各目录，不易维护，因此如果需要经常对软件配置或其他内容进行维护，则不宜采用此方式。 常用命令： apt-get install {soft} apt-get remove {soft} apt-get update apt-get autoremove 自动删除已经无效的包 下载包解压安装 下载发行商已经 编译好的压缩包进行安装，需自行解压，并进行相关配置。 优点：可自定义文件部署路径，方便配置维护。 缺点：部署、升级、删除需手工操作，需关注依赖。 常用命令： wget http://{package url} 获取包 curl -o http://{package url}  获取包 tar zxvf {package.gz} -C {target dir. etc /opt} 将包gzip解压到指定路径 手工编译安装 下载源代码包，手工编译安装。 优点：可对针对具体情况对软件编译参数进行设置。 缺点：需要了解软件编译参数，需要编译环境，手工操作容易出错，依赖问题。 常用命令： sudo ./configure {&#8211;options} make make [...]]]></description>
			<content:encoded><![CDATA[<p>准备在ubuntu上搞搞java，整个环境还是不太习惯，以前零零碎碎看了些操作片段，总是感觉很模糊，几天不用就忘一干二净了。</p>
<p>这次准备系统的搞搞清楚，在每遇到问题时就问题涉及范围内的知识要点先拟一个提纲，然后查资料、整理、描述、记录，这样有利于系统的提升。	</p>
<p>这部分是关于ubuntu下软件安装的相关要点，部分自撰，部分来自网络。 </p>
<h3>常见方式</h3>
<ul>
<li>
<h4>自动安装</h4>
<p>通过软件管理  器或apt-get自动安装软件，软件会按照默认设置编译部署配置。</p>
<p>优点：方便、快捷、易升级</p>
<p>缺点：一般来说文件会按照标准分散在各目录，不易维护，因此如果需要经常对软件配置或其他内容进行维护，则不宜采用此方式。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>apt-get install {soft}</li>
<li>apt-get remove {soft}</li>
<li>apt-get update</li>
<li>apt-get autoremove 自动删除已经无效的包</li>
</ul>
</li>
<li>
<h4>下载包解压安装</h4>
<p>下载发行商已经  编译好的压缩包进行安装，需自行解压，并进行相关配置。</p>
<p>优点：可自定义文件部署路径，方便配置维护。</p>
<p>缺点：部署、升级、删除需手工操作，需关注依赖。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>wget http://{package url}  获取包</li>
<li>curl -o http://{package url}  获取包</li>
<li>tar zxvf {package.gz} -C {target dir. etc /opt}  将包gzip解压到指定路径</li>
</ul>
</li>
<li>
<h4>手工编译安装</h4>
<p>下载源代码包，手工编译安装。</p>
<p>优点：可对针对具体情况对软件编译参数进行设置。</p>
<p>缺点：需要了解软件编译参数，需要编译环境，手工操作容易出错，依赖问题。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>sudo ./configure {&#8211;options}</li>
<li>make</li>
<li>make install</li>
</ul>
</li>
<li>
<h4>常用工具</h4>
<p>aptitude：apt终端图形界面工具</p>
<p>dpkg：deb包管理工具</p>
<ul class="recommend">
<li>dpkg -i {pkg.deb} 安装包</li>
<li>dpkg -r {pkg}  删除包</li>
<li>dpkg -L {pkg} 列出与该包关联文件</li>
<li>dpkg -l | grep {keyword}  列出当前已安装指定关键字包 </li>
</ul>
<p><a target="_blank" href="http://linuxtoy.org/archives/dpkg_reference.html">dpkg指令参考</a>/<a target="_blank" href="http://linuxtoy.org/archives/apt_reference.html">apt指令参考</a></p>
</li>
</ul>
<h3>目录结构</h3>
<ul>
<li>
<h4>标准目录</h4>
<p>linux系统的标准目录规范，如果通过系统软件管理器自动安装软件，则通常遵循此规范要求。</p>
<ul class="recommend">
<li>/bin 系统执行文件，最常使用命令，这些文件可以被普通用户使用。</li>
<li>/sbin  系统执行文件，这些文件不打算被普通用户使用，普通用户使用要指定目录。</li>
<li>/root  系统管理员（也叫超级用户或根用户）的Home目录。</li>
<li>/dev 设备文件目录。</li>
<li>/boot 用于自举加载程序(LILO或GRUB)的文件。</li>
<li>/lost+found   在文件系统修复时恢复的文件</li>
<li>/lib   系统核心共享库目录，几乎所有的应用程序都会用到该目录下的共享库。</li>
<li>/opt 可选应用程序目录，很多第三方软件在安装时默认会找这个目录。</li>
<li>/tmp   用来存放不同程序执行时产生的临时文件，该目录会被系统自动清理干净。</li>
<li>/var 存放在正常操作中被修改的文件，包括各种日志、加锁、临时文件、数据文件等。</li>
<li>/var/log   系统日志目录，通常也将其他系统的日志置于此目录或子目录。</li>
<li>/etc 存放各种配置文件和子目录，例如网络配置文件、文件系统、用户配置信息等。</li>
<li>/home/{user}  用户目录</li>
<li>/usr 用户的应用程序和文件几乎都存放在该目录下。</li>
<li>/usr/share  独立与你计算机结构的数据，譬如，字典中的词。</li>
<li>/usr/(s)bin  类似根目录下对应的目录(/bin和/sbin)，但不用于基本的启动(譬如，在紧急维护中)。大多数命令在这个目录下。</li>
<li>/usr/local  本地安装的应用程序，这个目录下的内容在重安装或升级操作系统后应该存在。</li>
<li>/usr/local/bin  可能是用户安装的小的应用程序，和一些在/usr/local目录下大应用程序的符号连接。</li>
<li>/usr/src Linux开放的源代码目录。</li>
</ul>
</li>
<li>
<h4>常见规划</h4>
<ul>
<li>
<p>桌面用途</p>
<p>用户自有应用和文件置于/home/{user}中。</p>
<p>系统共享应用可置于/usr/local。</p>
<p>纯自用无共享主机也可全部置于/home/{user}中。</p>
<p>/home可独立划分磁盘分区方便管理升级维护。</p>
</li>
<li>
<p>服务器用途</p>
<p>无固定模式，根据实际需求，通常不会严格按照规范。</p>
<p>常见模式</p>
<p>根据文件更新频繁度、破碎、重要性、IO读写等关键指标，将文件分类存储于不同目录、分区或磁盘，方便维护管理，提高性能和安全性。</p>
</li>
</ul>
</li>
</ul>
<h3>环境设置</h3>
<ul class="recommend">
<li>/etc/enviroment  系统环境变量配置，系统启动时读取。</li>
<li>/etc/profile  用户全局环境变量配置，用户登录启用时读取。</li>
<li>/etc/bashrc 开启shell时为每个bash用户执行此环境配置。</li>
<li>~/.profile 具体用户环境变量配置。</li>
<li>~/.bashrc 具体用户开启shell时环境配置。</li>
<li>~/.bash_profile 交互式、login方式进入bash时运行，通常和.bashrc内容相同，因此通常会调用.bashrc。</li>
<li>~/.bash_logout 当每次退出系统(退出bash shell)时，执行该文件。</li>
</ul>
<h3>服务</h3>
<p>最后，某些软件我们希望把他设置为服务，或者简单的说希望  他开机启动，很简单。</p>
<p>将启动脚本部署到/etc/init.d/，然后安装一个软件rcconf。</p>
<p>sudo apt-get install rcconf</p>
<p>运行rcconf即可设置启动选项，很怀旧的dos风格gui界面。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/740.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx下配置dabr</title>
		<link>http://linnchord.net/archives/719.html</link>
		<comments>http://linnchord.net/archives/719.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 09:33:02 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=719</guid>
		<description><![CDATA[主要是修改rewrite规则——我曾试图修改php程序，费老大劲，效果差不多。 下面配置代码中，HOME为你站点的根目录，DIR为你需要部署的子目录 location /DIR { root /HOME; index index.html index.htm index.php; if (-f $request_filename) { break; } if (-d $request_filename) { break; } rewrite ^/DIR/(.+)$ /DIR/index.php?q=$1 last; }]]></description>
			<content:encoded><![CDATA[<p>主要是修改rewrite规则——我曾试图修改php程序，费老大劲，效果差不多。</p>
<p>下面配置代码中，HOME为你站点的根目录，DIR为你需要部署的子目录</p>
<pre class="brush:bash">
location /DIR {

	root   /HOME;
	index  index.html index.htm index.php;

	if (-f $request_filename) {
		break;
	}
	if (-d $request_filename) {
		break;
	}

	rewrite ^/DIR/(.+)$ /DIR/index.php?q=$1 last;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/719.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hosts</title>
		<link>http://linnchord.net/archives/704.html</link>
		<comments>http://linnchord.net/archives/704.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:37:46 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[GFW]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=704</guid>
		<description><![CDATA[hack GFW是选用国外主机的一大优势…… 最近似乎twitter和facebook的访问速度又慢了，写了一个php脚本在站点上跑了下，获取了最新的hosts 128.121.146.228 twitter.com 128.121.146.228 www.twitter.com 168.143.162.69 assets0.twitter.com 168.143.162.69 assets1.twitter.com 168.143.162.69 assets2.twitter.com 168.143.162.69 assets3.twitter.com 168.143.162.69 assets4.twitter.com 168.143.162.69 static.twitter.com 67.219.156.130 help.twitter.com 208.96.32.3 apiwiki.twitter.com 69.63.181.12 www.facebook.com 69.63.184.142 facebook.com 69.63.181.22 login.facebook.com 69.192.18.110 s-static.ak.facebook.com 69.63.176.69 secure-profile.facebook.com 69.63.176.59 secure-media-sf2p.facebook.com 69.63.178.15 ssl.facebook.com 77.67.91.82 profile.ak.facebook.com 208.19.38.26 b.static.ak.facebook.com 前端有dns轮询的，不过我们能用一个就ok，再跑一次脚本，或者用下面这个 128.121.146.100 twitter.com 128.121.146.100 www.twitter.com 128.121.146.229 assets0.twitter.com 128.121.146.229 assets1.twitter.com 128.121.146.229 assets2.twitter.com 128.121.146.229 assets3.twitter.com 128.121.146.229 [...]]]></description>
			<content:encoded><![CDATA[<p>hack GFW是选用国外主机的一大优势……</p>
<p>最近似乎twitter和facebook的访问速度又慢了，写了一个php脚本在站点上跑了下，获取了最新的hosts</p>
<p>128.121.146.228 twitter.com<br />
128.121.146.228 www.twitter.com<br />
168.143.162.69 assets0.twitter.com<br />
168.143.162.69 assets1.twitter.com<br />
168.143.162.69 assets2.twitter.com<br />
168.143.162.69 assets3.twitter.com<br />
168.143.162.69 assets4.twitter.com<br />
168.143.162.69 static.twitter.com<br />
67.219.156.130 help.twitter.com<br />
208.96.32.3 apiwiki.twitter.com<br />
69.63.181.12 www.facebook.com<br />
69.63.184.142 facebook.com<br />
69.63.181.22 login.facebook.com<br />
69.192.18.110 s-static.ak.facebook.com<br />
69.63.176.69 secure-profile.facebook.com<br />
69.63.176.59 secure-media-sf2p.facebook.com<br />
69.63.178.15 ssl.facebook.com<br />
77.67.91.82 profile.ak.facebook.com<br />
208.19.38.26 b.static.ak.facebook.com</p>
<p>前端有dns轮询的，不过我们能用一个就ok，再跑一次脚本，或者用下面这个<br />
<span id="more-704"></span><br />
128.121.146.100 twitter.com<br />
128.121.146.100 www.twitter.com<br />
128.121.146.229 assets0.twitter.com<br />
128.121.146.229 assets1.twitter.com<br />
128.121.146.229 assets2.twitter.com<br />
128.121.146.229 assets3.twitter.com<br />
128.121.146.229 assets4.twitter.com<br />
128.121.146.229 static.twitter.com<br />
67.219.156.130 help.twitter.com<br />
208.96.32.3 apiwiki.twitter.com<br />
69.63.181.16 www.facebook.com<br />
69.63.181.11 facebook.com<br />
69.63.181.26 login.facebook.com<br />
69.192.18.110 s-static.ak.facebook.com<br />
69.63.176.69 secure-profile.facebook.com<br />
69.63.176.59 secure-media-sf2p.facebook.com<br />
69.63.178.15 ssl.facebook.com<br />
77.67.91.82 profile.ak.facebook.com<br />
208.19.38.9 b.static.ak.facebook.com</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/704.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode VPS with Nginx的进一步优化</title>
		<link>http://linnchord.net/archives/687.html</link>
		<comments>http://linnchord.net/archives/687.html#comments</comments>
		<pubDate>Tue, 01 Dec 2009 17:57:06 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=687</guid>
		<description><![CDATA[清理系统服务 可以关闭不必要的系统服务，linux下常用chkconfig，在ubuntu系统上最常用sysv-rc-conf，界面更友好使用更方便，直接通过源安装即可运行。 sudo apt-get install sysv-rc-conf sudo sysv-rc-conf 通过软件可以发现，Linode提供的系统已经关闭了很多不必要的服务，但是系统自带了apache，直接取消选择关闭即可。 nginx过期设置 在nginx中，可以对部分类型资源配置过期时间，以利用客户端缓存，降低服务器端负载，某些媒体资源可以禁用log。 在对应的nginx配置文件youdomain.com中添加 location ~* ^.+\.(gif&#124;jpg&#124;jpeg&#124;png&#124;bmp&#124;ico&#124;swf)$ { root /home/myname/wwwroot/yourdomain.com; access_log off; expires 7d; } location ~* ^.+\.(js&#124;css)$ { root /home/myname/wwwroot/yourdomain.com; expires 24h; } wordpress静态化 cos-html-cache是WP的静态化插件，他可以将WP通过UrlRewrite优化过的Url链接彻底静态化。你只需要在WP后台设置固定链接为某种静态文件类似的形式（例如/archives/%post_id%.html），你就可以使用该插件生成对应的静态文件，从此用户将直接访问此静态文件，而不必再通过php解释，极大提高运行效率。 具体操作上面链接描述很详细，无需赘述。 不过我在启用此插件后，发现能正常生成网站根目录下index.html，但无法生成/archives/%post_id%.html。我写了一个php脚本放在网站根目录下测试，也无法在/archives目录下生成文件，提示找不到该目录。在cos-html-cache源文件中可以找到，生成html文件的脚本，路径信息是通过$_SERVER["DOCUMENT_ROOT"]获取的，但是尝试打印该值发现无值。最后我发现必须在Nginx站点配置文件中在php-fast-cgi的配置项里增加网站的root路径如下 location / { root /home/myname/wwwroot/yourdomain.com; index index.html index.htm index.php; if (-f $request_filename) { break; } if (-d $request_filename) { [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>
		<strong>清理系统服务</strong></p>
<p>可以关闭不必要的系统服务，linux下常用chkconfig，在ubuntu系统上最常用sysv-rc-conf，界面更友好使用更方便，直接通过源安装即可运行。</p>
<pre class="brush:bash">
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf
		</pre>
<p>		通过软件可以发现，Linode提供的系统已经关闭了很多不必要的服务，但是系统自带了apache，直接取消选择关闭即可。
	</li>
<p><span id="more-687"></span></p>
<li>
		<strong>nginx过期设置</strong></p>
<p>在nginx中，可以对部分类型资源配置过期时间，以利用客户端缓存，降低服务器端负载，某些媒体资源可以禁用log。</p>
<p>在对应的nginx配置文件youdomain.com中添加</p>
<pre class="brush:bash">
location ~* ^.+\.(gif|jpg|jpeg|png|bmp|ico|swf)$ {
	 root /home/myname/wwwroot/yourdomain.com;
	 access_log off;
	 expires 7d;
 }

location ~* ^.+\.(js|css)$ {
	root   /home/myname/wwwroot/yourdomain.com;
	expires 24h;
}
		</pre>
</li>
<li>
		<strong>wordpress静态化</strong></p>
<p><a href="http://www.storyday.com/html/y2007/1213_cos-html-cache-wordpress-static-release-of-plug-in.html" target="_blank">cos-html-cache</a>是WP的静态化插件，他可以将WP通过UrlRewrite优化过的Url链接彻底静态化。你只需要在WP后台设置固定链接为某种静态文件类似的形式（例如/archives/%post_id%.html），你就可以使用该插件生成对应的静态文件，从此用户将直接访问此静态文件，而不必再通过php解释，极大提高运行效率。</p>
<p>具体操作上面链接描述很详细，无需赘述。</p>
<p>不过我在启用此插件后，发现能正常生成网站根目录下index.html，但无法生成/archives/%post_id%.html。我写了一个php脚本放在网站根目录下测试，也无法在/archives目录下生成文件，提示找不到该目录。在cos-html-cache源文件中可以找到，生成html文件的脚本，路径信息是通过$_SERVER["DOCUMENT_ROOT"]获取的，但是尝试打印该值发现无值。最后我发现必须在Nginx站点配置文件中在php-fast-cgi的配置项里增加网站的root路径如下</p>
<pre class="brush:bash">
location / {
	root   /home/myname/wwwroot/yourdomain.com;
	index  index.html index.htm index.php;

	if (-f $request_filename) {
		break;
	}
	if (-d $request_filename) {
		break;
	}

	rewrite ^(.+)$ /index.php?q=$1 last;

}
location ~ \.php$ {

	#必须定义root -----------------------------------------

	root   /home/myname/wwwroot/yourdomain.com;

	#------------------------------------------------------

	fastcgi_pass	127.0.0.1:9000;
	fastcgi_index	index.php;
	fastcgi_param	SCRIPT_FILENAME  /home/myname/wwwroot/yourdomain.com$fastcgi_script_name;
	include		/usr/local/nginx/conf/fastcgi_params;
}
		</pre>
<p>如果不添加该root信息，在php中则无法正确获取$_SERVER["DOCUMENT_ROOT"]参数，会导致路径定位错误。不过按照一般逻辑，这个应该是继承前面的root设置，不必重复定义。也许是因为fastcgi是从nginx转向到另一个新的进程的缘故，所以需要具体定义参数传递。不过nginx应该自动获取该值，避免重复手工操作。</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/687.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setup on Linode.com with ubuntu+nginx+php+fastcgi+mysql 续</title>
		<link>http://linnchord.net/archives/665.html</link>
		<comments>http://linnchord.net/archives/665.html#comments</comments>
		<pubDate>Sun, 29 Nov 2009 08:54:00 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=665</guid>
		<description><![CDATA[嗯嗯，继续。 nginx和fastcgi启动配置 2个配置文件,放于/etc/init.d下面。 cd /etc/init.d touch fast-cgi touch nginx sudo chmod +x /etc/init.d/nginx /etc/init.d/fast-cgi nginx #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### [...]]]></description>
			<content:encoded><![CDATA[<p>嗯嗯，继续。</p>
<ul>
<li>
	<strong>nginx和fastcgi启动配置</strong></p>
<p>2个配置文件,放于/etc/init.d下面。</p>
<pre class="brush: bash;">
cd /etc/init.d
touch fast-cgi
touch nginx
sudo chmod +x /etc/init.d/nginx /etc/init.d/fast-cgi</pre>
<p>nginx</p>
<pre class="brush: bash;">
#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
	. /etc/default/nginx
fi

set -e

. /lib/lsb/init-functions

test_nginx_config() {
  if nginx -t
  then
    return 0
  else
    return $?
  fi
}

case "$1" in
  start)
	echo -n "Starting $DESC: "
        test_nginx_config
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
		--exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
		--exec $DAEMON || true
	echo "$NAME."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile \
		/var/run/$NAME.pid --exec $DAEMON || true
	sleep 1
        test_nginx_config
	start-stop-daemon --start --quiet --pidfile \
		/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  reload)
        echo -n "Reloading $DESC configuration: "
        test_nginx_config
        start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
            --exec $DAEMON || true
        echo "$NAME."
        ;;
  configtest)
        echo -n "Testing $DESC configuration: "
        if test_nginx_config
        then
          echo "$NAME."
        else
          exit $?
        fi
        ;;
  status)
	status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx &#038;&#038; exit 0 || exit $?
	;;
  *)
	echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&#038;2
	exit 1
	;;
esac

exit 0</pre>
<p><span id="more-665"></span></p>
<p>fast-cgi</p>
<pre class="brush: bash;">
#! /bin/sh

### BEGIN INIT INFO
# Provides:          fast-cgi
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the fast-cgi web server
# Description:       starts fastcgi using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=spawn-fcgi
DESC=spawn-fcgi
DAEMON=/usr/local/bin/spawn-fcgi

DAEMON_OPTS="-u www-data -g www-data -C 8 -a 127.0.0.1 -p 9000 -P /var/run/$NAME.pid -- /usr/bin/php5-cgi"

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
	echo "$NAME."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
	sleep 1
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
      echo "$NAME."
      ;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|reload|force-reload}" >&#038;2
	exit 1
	;;
esac
exit 0</pre>
<p>这两个脚本需要注意的是目录的定位，如果在编译阶段加入了目录设置的参数，那么你同时需要在这里修改定义。另外fast-cgi需要注意DAEMON_OPTS的参数设置。</p>
<p>这2个脚本都有一个同样的问题，就是无法正常停止服务。我虽然不太了解shell程序，但是根据我其他编程经验，两个脚本都是通过start-stop-daemon命令来开启和停止服务。但我使用的情况是可以正常开启，但无法正常关闭。所以我不得不写了一个简单的关闭并重启nginx服务的脚本，是通过直接kill进程来实现的。</p>
<pre class="brush: bash;">
cd ~
mkdir tools
cd tools
touch reset_nginx
chmod +x reset_nginx</pre>
<p>reset_nginx内容</p>
<pre class="brush: bash;">
sudo kill `cat /usr/local/nginx/logs/nginx.pid`
sudo /etc/init.d/nginx start</pre>
<p>但是fast-cgi的服务即使我kill进程并删除pid文件也无济于事，fast-cgi仍然照常运行……这有点不合逻辑，也许我操作错误，或者是权限问题。不过fast-cgi开启后一般也没有必要进行重启或其他操作，这个问题留待以后解决吧。或者有哪位同学知道的，请不吝赐教！</p>
<p>最后这2个脚本需要注册为系统服务，需要安装rcconf。</p>
<pre class="brush: bash;">
sudo apt-get install rcconf
sudo rcconf</pre>
<p>嗯，很怀旧的DOS操作界面……呵呵，大家选择2个脚本，再ok退出即可。</p>
</li>
<li>
	<strong>nginx站点配置</strong></p>
<p>由于dreamhost的习惯，并且这个虚拟机还要放callaly的blog（<a href="http://callaly.net" target="_blank">http://callaly.net</a>），所以nginx的站点我放到用户目录下去了。</p>
<pre class="brush: bash;">
cd ~
mkdir wwwroot
cd wwwroot
mkdir yourdomain.com</pre>
<p>编辑/usr/local/nginx/conf/nginx.conf</p>
<pre class="brush: bash;">
user www-data;
worker_processes 2;

events {
	worker_connections  1024;
	use epoll;
}

http {
	include       mime.types;
	default_type  application/octet-stream;

	sendfile       on;
	tcp_nopush     on;
	tcp_nodelay    on;

	keepalive_timeout  65;

	gzip  on;

	#设置默认站点，禁止所有IP访问
	server {
		listen 80 default;
		return 403;
	}

	#包含其他站点配置
	include /usr/local/nginx/sites-enabled/*;

}</pre>
<p>创建站点文件</p>
<pre class="brush: bash;">
cd /usr/local/nginx
sudo mkdir sites-available
sudo mkdir sites-enabled
sudo touch sites-available/yourdomain.com
sudo ln -s sites-available/yourdomain.com sites-enabled/yourdomain.com
	</pre>
<p>编辑sites-available/yourdomain.com</p>
<pre class="brush: bash;">
server {
	listen       80;
	server_name  www.yourdomain.com yourdomain.com;

	access_log	/home/myname/wwwroot/log/yourdomain.com.access.log;
   	error_log	/home/myname/wwwroot/log/yourdomain.com.error.log;

	location / {
		root   /home/myname/wwwroot/yourdomain.com;
		index  index.html index.htm index.php;

		# WordPress URL优化
		if (-f $request_filename) {
			break;
		}
		if (-d $request_filename) {
			break;
		}

		# WordPress URL重写，如果你的wp目录不在根目录，请修改路径
		rewrite ^(.+)$ /index.php?q=$1 last;
	}

	location ~ \.php$ {
		fastcgi_pass	127.0.0.1:9000;
		fastcgi_index	index.php;
		fastcgi_param	SCRIPT_FILENAME /home/myname/wwwroot/yourdomain.com$fastcgi_script_name;
		include		/usr/local/nginx/conf/fastcgi_params;
	}

	#如果前面编译nginx时添加了with-http_stub_status_module参数
	#就可以通过此设置访问yourdomain.com/status（名称自定）查看站点状态
	location /status {
		stub_status on;
		access_log off;
	}
}</pre>
<p>nginx的站点配置基本ok</p>
</li>
<li>
	<strong>wordpress备份和恢复</strong></p>
<p>
		需要把dreamhost主机上的内容迁移过来，可操作方法很多，最好在服务器端直接操作，速度更快。文件操作很简单不赘述，关于数据库的备份和恢复简单说下。
	</p>
<pre class="brush: bash;">
#导出 - 在原服务器
mysqldump -h old_host -p old_dbname -u old_dbuser >wp_bak.sql

#登录mysql
mysql -h new_host -u new_dbuser

#创建新数据库，注意编码
create database 'new_dbname' default character set utf8 collate utf8_general_ci;

#导入 - 确保备份sql文件在当前目录
use new_dbname;
source wp_bak.sql;</pre>
<p>至此整个站点配置已经基本完成，可以敲域名访问了。</p>
</li>
</ul>
<p>这篇文章大部分内容来自于网上，我东拼西凑来的，特在此列出供大家参考。</p>
<ul class="recommend">
<li><a href="http://www.mensk.com/webmaster-toolbox/perfect-ubuntu-hardy-nginx-mysql5-php5-wordpress/" target="_blank">Perfect Setup: Ubuntu Hardy+Nginx+MySQL5+PHP5+Wordress</a></li>
<li><a href="http://www.jifuyi.com/linode-vps-register-nginx-wordpress-setting/" target="_blank">Linode VPS的申请和设置及基于Nginx的WordPress详细配置</a></li>
<li><a href="http://www.nginx.com.cn/?p=315" target="_blank">为nginx设置默认虚拟主机（空主机头，默认主机头）</a></li>
<li><a href="http://www.7yan.com.cn/2008/01/22/dreamhost-mysql-beifen-huifu/" target="_blank">如何备份/恢复dreamhost空间里的mysql数据库</a></li>
<li><a href="http://www.jefflei.com/post/1015.html" target="_blank">nginx重定向规则详细介绍</a></li>
<li><a href="http://shiningray.cn/nginx-de-wordpress-pei-zhi.html" target="_blank">Nginx的WordPress配置</a></li>
<li><a href="http://wiki.nginx.org/NginxChsInstallOptions" target="_blank">NginxChsInstallOptions</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/665.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup on Linode.com with ubuntu+nginx+php+fastcgi+mysql</title>
		<link>http://linnchord.net/archives/652.html</link>
		<comments>http://linnchord.net/archives/652.html#comments</comments>
		<pubDate>Fri, 27 Nov 2009 06:32:10 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=652</guid>
		<description><![CDATA[我对Linux系统还处于初入门阶段，在配置安装Linode VPS的服务过程中学到了不少东西，了解了不少概念，特记之。 启用 Linode的网站设计非常简洁，一个粗略认识英文的同学都可以轻易申请搞定，就不需要再介绍了。 在选择服务器网络物理位置的时候，Linode提供了一个下载测试列表供大家测试，你可以选择访问速度最优的位置。网上其它同学很多选择Fremont，不过我测试下来（杭州ADSL4M）Newark最快，浏览器单线程下载速度稳定达到300K+，所以我选择了Newark。估计各地网络不同有所区别，大家选用建议自行测试。 系统我选择的是ubuntu（嗯，已经提供9.10Server了），主要是出于我对ubuntu桌面版的使用习惯和偏爱。网上很多说法是ubuntu服务器版不够专业，不过我本来也不太够专业，也不知道ubuntu哪里不够专业，呵呵，也就无所谓了。 环境基本配置 在web面板开启虚拟机以后，你就可以通过root用户和密码在客户端（推荐putty）登录。登陆后第一件事情，增加一个新账号（用你的常用名 例如myname）。 adduser myname visudo 在该文件中增加以下行 myname ALL=(ALL) ALL 此操作使myname用户可以使用sudo命令，如果要给其他账号提供sudo操作权限，类推。 ok，exit命令退出putty登录再重启，通过myname账号和你设置的密码重新登录系统。Linode默认提供的ubuntu的源缺少一些开发包，所以我们先编辑一下源。 sudo vi /etc/apt/source.list 我们需要做的仅仅是将文件中已经注释掉的几行源去掉前面的“#”，重新开启即可——不需要为具体的源担心，默认的已经飞速了。然后我们需要刷新一下 sudo apt-get update 我习惯使用vim，所以先安一个 sudo apt-get install vim 我们还需要一个中文UTF的本地环境，不过这得看情况，也许你不需要？ sudo locale-gen zh_CN.UTF-8 sudo /usr/sbin/update-locale LANG=zh_CN.UTF-8 将服务器时间设置为上海时间 sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime nginx+spawn-fastcgi+php+mysql 我们先来安一个编译包吧 sudo apt-get install build-essential 然后php和mysql安装最方便，直接从apt源安装即可 sudo apt-get -y install php5-common php5-mysql [...]]]></description>
			<content:encoded><![CDATA[<p>我对Linux系统还处于初入门阶段，在配置安装Linode VPS的服务过程中学到了不少东西，了解了不少概念，特记之。</p>
<ol>
<li>
<strong>启用</strong></p>
<p>Linode的网站设计非常简洁，一个粗略认识英文的同学都可以轻易申请搞定，就不需要再介绍了。</p>
<p>在选择服务器网络物理位置的时候，Linode提供了一个<a href="http://www.linode.com/forums/viewtopic.php?t=2636" target="_blank">下载测试列表</a>供大家测试，你可以选择访问速度最优的位置。网上其它同学很多选择Fremont，不过我测试下来（杭州ADSL4M）Newark最快，浏览器单线程下载速度稳定达到300K+，所以我选择了Newark。估计各地网络不同有所区别，大家选用建议自行测试。</p>
<p>系统我选择的是ubuntu（嗯，已经提供9.10Server了），主要是出于我对ubuntu桌面版的使用习惯和偏爱。网上很多说法是ubuntu服务器版不够专业，不过我本来也不太够专业，也不知道ubuntu哪里不够专业，呵呵，也就无所谓了。</p>
</li>
<li>
<strong>环境基本配置</strong></p>
<p>在web面板开启虚拟机以后，你就可以通过root用户和密码在客户端（推荐<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">putty</a>）登录。登陆后第一件事情，增加一个新账号（用你的常用名 例如myname）。</p>
<pre class="brush: bash;">
adduser myname
visudo
</pre>
<p>在该文件中增加以下行</p>
<pre class="brush: bash;">
myname ALL=(ALL) ALL
</pre>
<p>此操作使myname用户可以使用sudo命令，如果要给其他账号提供sudo操作权限，类推。</p>
<p>ok，exit命令退出putty登录再重启，通过myname账号和你设置的密码重新登录系统。Linode默认提供的ubuntu的源缺少一些开发包，所以我们先编辑一下源。</p>
<pre class="brush: bash;">
sudo vi /etc/apt/source.list
</pre>
<p>我们需要做的仅仅是将文件中已经注释掉的几行源去掉前面的“#”，重新开启即可——不需要为具体的源担心，默认的已经飞速了。然后我们需要刷新一下</p>
<pre class="brush: bash;">
sudo apt-get update
</pre>
<p>我习惯使用vim，所以先安一个</p>
<pre class="brush: bash;">
sudo apt-get install vim
</pre>
<p>我们还需要一个中文UTF的本地环境，不过这得看情况，也许你不需要？</p>
<pre class="brush: bash;">
sudo locale-gen zh_CN.UTF-8
sudo /usr/sbin/update-locale LANG=zh_CN.UTF-8
</pre>
<p>将服务器时间设置为上海时间</p>
<pre class="brush: bash;">
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
</pre>
</li>
<p><span id="more-652"></span></p>
<li>
<strong>nginx+spawn-fastcgi+php+mysql</strong></p>
<p>我们先来安一个编译包吧</p>
<pre class="brush: bash;">
sudo apt-get install build-essential
</pre>
<p>然后php和mysql安装最方便，直接从apt源安装即可</p>
<pre class="brush: bash;">
sudo apt-get -y install php5-common php5-mysql php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-cgi php5-mcrypt php5-curl php5-gd php5-memcache php5-mhash php5-pspell php5-sqlite libmagick9-dev php5-cli
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
</pre>
<p>php的安装命令我是copy的，然后去掉了一些不必要的包，如果你觉得不必要也可以去掉，真正基本环境必须的只有php5 php5-cgi而已。mysql在安装过程中会让你设置root的密码，不要设置太简单了，也不要和系统root密码一样。</p>
<p>然后我们需要安装nginx</p>
<pre class="brush: bash;">
cd ~
mkdir source
cd source
wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
tar -zxvf nginx-0.7.64.tar.gz
cd nginx-0.7.64
sudo apt-get install libssl-dev libpre3-dev zlib1g-dev
./configure --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-md5-asm --with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include --with-http_stub_status_module
make
sudo make install
</pre>
<p>在configure的时候可以定义很多参数，官方的参考文档在<a href="http://wiki.nginx.org/NginxChsInstallOptions" target="_blank">这里</a>。我在网上看的相关的文章，定义了很多路径的参数，也许有什么特别的理由或习惯需要特别定义，我不太了解，所以我都去掉了，就用默认的路径就好。nginx默认的安装路径是/usr/local/nginx，其中包含了配置、基本的html页面、log、站点设置等。with-md5-asm和with-sha1-asm官方wiki说只建议使用一种，不过只用一种我无法通过编译，不知道问题所在。另外with-http_stub_status_module可以开通nginx内置的状态统计功能，建议都配置上，后面会开启该功能。</p>
<p>然后我们来安装spawn-fcgi，这是lighttpd的fastcgi管理器，目前已经是独立项目了，当前最新版本是1.6.3。</p>
<pre class="brush: bash;">
cd ~/source
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
tar -zxvf spawn-fcgi-1.6.3.tar.gz
cd spawn-fcgi-1.6.3
sudo ./configure &#038;&#038; make &#038;&#038; make install
</pre>
</li>
</ol>
<p>………</p>
<p>做的事情不多，要写清楚真累，太长了，休息下，明天再整理。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/652.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu flash中文乱码</title>
		<link>http://linnchord.net/archives/408.html</link>
		<comments>http://linnchord.net/archives/408.html#comments</comments>
		<pubDate>Tue, 05 May 2009 08:48:59 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=408</guid>
		<description><![CDATA[sudo gedit /etc/fonts/conf.d/49-sansserif.conf 替换sans-serif或者serif为wqy-zenhei（或其他你喜欢的中文字体）即可。]]></description>
			<content:encoded><![CDATA[<p>sudo gedit /etc/fonts/conf.d/49-sansserif.conf</p>
<p>替换sans-serif或者serif为wqy-zenhei（或其他你喜欢的中文字体）即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/408.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu 9.04 with vbox2.2.2</title>
		<link>http://linnchord.net/archives/404.html</link>
		<comments>http://linnchord.net/archives/404.html#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:14:56 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vbox]]></category>

		<guid isPermaLink="false">http://linnchord.net/archives/404.html</guid>
		<description><![CDATA[感觉ubuntu运行在vbox下和独立运行区别不大，都比较流畅。开启3D以后屏幕刷新有点问题，估计内存设的小点的缘故，关了一切就ok。可以尝试作为开发环境，在windows下开发linux环境程序太痛苦了。 ubuntu 9.04的桌面可用性又好了很多，最直接一点，安装后默认的字体已经很漂亮了，不用再调整字体了…… 一个好源（杭州电信ADSL连接） deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ [...]]]></description>
			<content:encoded><![CDATA[<p>感觉ubuntu运行在vbox下和独立运行区别不大，都比较流畅。开启3D以后屏幕刷新有点问题，估计内存设的小点的缘故，关了一切就ok。可以尝试作为开发环境，在windows下开发linux环境程序太痛苦了。</p>
<p>ubuntu 9.04的桌面可用性又好了很多，最直接一点，安装后默认的字体已经很漂亮了，不用再调整字体了……</p>
<p>一个好源（杭州电信ADSL连接）</p>
<div class="quote">
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe
</div>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/404.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mount &#8211; linux下如何访问fat分区</title>
		<link>http://linnchord.net/archives/71.html</link>
		<comments>http://linnchord.net/archives/71.html#comments</comments>
		<pubDate>Mon, 19 Jun 2006 12:59:45 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[mount]]></category>

		<guid isPermaLink="false">http://linnchord.net/2006/06/mount-linux%e4%b8%8b%e5%a6%82%e4%bd%95%e8%ae%bf%e9%97%aefat%e5%88%86%e5%8c%ba/</guid>
		<description><![CDATA[我google了一下如何在linux上访问fat分区，找到了如下文字。 mount使用指南 在Linux中，如果你要使用储存设备(Mo、硬盘、光驱等)，就得先将它挂上(Mount)，而当储存设备挂上了之后，就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。 在使用mount这个指令时，至少要先知道下列三种信息： 要Mount对象的文件系统类型？(Filesystemtype) 要Mount对象的设备名称？(/dev/????) 要将设备Mount到哪个目录去？ 一、获得系统支持的文件系统类型 就第一点来说，用户可以执行 cat/proc/filesystems 来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型，那你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在线培训栏目中的相关文章。 常用的文件系统有： Win95/98常用的FAT32文件系统：vfat WinNT用的文件系统：ntfs OS2用的文件系统：hpfs Linux用的文件系统：ext2 光盘片用的文件系统：iso9660 其中虽然vfat是指FAT32系统，但事实上它也兼容FAT16的文件系统类型。 二、确定设备的名称 在Linux中，设备名称通常都在/dev里。这些设备名称的命名都是有规则的，我们可以用&#8221;推理&#8221;的方式把设备名称找出来。 譬如说/dev/hda1这个IDE设备。hd是HardDisk(硬盘)的意思，sd是SCSIDevice，fd是FloppyDevice(或是FloppyDisk?)。a则是代表第一个设备，通常IDE接口可以接上四个IDE设备(例如四块硬盘)。所以要识别IDE硬盘的方法分别就是：hda、hdb、hdc、hdd。此外，hda1中的&#8221;1&#8243;代表hda的第一个硬盘分区(partition)，hda2代表hda的第二个分割区，依此类推。 此外，你可以直接检查/var/log/messages这个文件，在该文件中可以找到计算机开机后，系统已辨认出来的设备代号。 三、查找挂接点 最后我们要决定将设备挂接到哪里，先查看一下你的计算机是不是有个/mnt的空目录？该目录就是专门用来当作挂载点(MountPoint)的目录。建议您在/mnt里多建这几个目录：/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。 举例而言，如要挂载下列五个设备的话，其执行指令可能是(假设都是Linux的ext2系统，如果是WinXX的话，请将ext2改成vfat)： 软盘>> mount -t ext2/ dev/fd0 /mnt/floppy MO>> mount -t ext2 /dev/sda /mnt/mo cdrom>> mount -t ext2 /dev/hdc /mnt/cdrom SCSIcdrom>> mount -t iso9660 /dev/sdb /mnt/scdrom SCSIcdr>> mount -t iso9660 /dev/sdc /mnt/scdr [...]]]></description>
			<content:encoded><![CDATA[<p>我google了一下如何在linux上访问fat分区，找到了如下文字。</p>
<p>mount使用指南</p>
<p>在Linux中，如果你要使用储存设备(Mo、硬盘、光驱等)，就得先将它挂上(Mount)，而当储存设备挂上了之后，就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。</p>
<p>在使用mount这个指令时，至少要先知道下列三种信息：</p>
<ol>
<li>要Mount对象的文件系统类型？(Filesystemtype)</li>
<li>要Mount对象的设备名称？(/dev/????)</li>
<li>要将设备Mount到哪个目录去？</li>
</ol>
<p>一、获得系统支持的文件系统类型</p>
<p>就第一点来说，用户可以执行<br />
cat/proc/filesystems</p>
<p>来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型，那你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在线培训栏目中的相关文章。</p>
<p>常用的文件系统有：</p>
<ul>
<li>Win95/98常用的FAT32文件系统：vfat</li>
<li>WinNT用的文件系统：ntfs</li>
<li>OS2用的文件系统：hpfs</li>
<li>Linux用的文件系统：ext2</li>
<li>光盘片用的文件系统：iso9660</li>
</ul>
<p>其中虽然vfat是指FAT32系统，但事实上它也兼容FAT16的文件系统类型。
</p>
<p>二、确定设备的名称</p>
<p>在Linux中，设备名称通常都在/dev里。这些设备名称的命名都是有规则的，我们可以用&#8221;推理&#8221;的方式把设备名称找出来。</p>
<p>譬如说/dev/hda1这个IDE设备。hd是HardDisk(硬盘)的意思，sd是SCSIDevice，fd是FloppyDevice(或是FloppyDisk?)。a则是代表第一个设备，通常IDE接口可以接上四个IDE设备(例如四块硬盘)。所以要识别IDE硬盘的方法分别就是：hda、hdb、hdc、hdd。此外，hda1中的&#8221;1&#8243;代表hda的第一个硬盘分区(partition)，hda2代表hda的第二个分割区，依此类推。</p>
<p>此外，你可以直接检查/var/log/messages这个文件，在该文件中可以找到计算机开机后，系统已辨认出来的设备代号。</p>
<p>三、查找挂接点</p>
<p>最后我们要决定将设备挂接到哪里，先查看一下你的计算机是不是有个/mnt的空目录？该目录就是专门用来当作挂载点(MountPoint)的目录。建议您在/mnt里多建这几个目录：/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。</p>
<p>举例而言，如要挂载下列五个设备的话，其执行指令可能是(假设都是Linux的ext2系统，如果是WinXX的话，请将ext2改成vfat)：</p>
<ul>
<li>软盘>>  mount -t ext2/ dev/fd0 /mnt/floppy</li>
<li>MO>> mount -t ext2 /dev/sda /mnt/mo</li>
<li>cdrom>> mount -t ext2 /dev/hdc /mnt/cdrom</li>
<li>SCSIcdrom>> mount -t iso9660 /dev/sdb /mnt/scdrom</li>
<li>SCSIcdr>> mount -t iso9660 /dev/sdc /mnt/scdr</li>
</ul>
<p>这是假设，如果你的设备的名称跟这个不同的话请自行修改。</p>
<p>最后需要注意的是：<br />
1.执行mount动作时先打一下pwd看看现在的目录是不是在挂载点，如果现在目录在挂载点的话，mount(或umount)不会成功(会显示devicebusy)。<br />
2.想卸载某设备的语法是umount目录名，例如umount/mnt/cdrom等。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/71.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux! go go go !</title>
		<link>http://linnchord.net/archives/72.html</link>
		<comments>http://linnchord.net/archives/72.html#comments</comments>
		<pubDate>Mon, 19 Jun 2006 12:19:06 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[随记]]></category>

		<guid isPermaLink="false">http://linnchord.net/2006/06/linux-go-go-go/</guid>
		<description><![CDATA[想搞linux很久了，但是进度一直缓慢，基本上前一次看书掌握的内容已经快忘完了，所以基本上也可以说没有进度。 我觉得人在很多时候表现不自爱&#8230;你要好好的计划按步骤实施，到最后总是没有结果，非得要外部有很大的压力以后，才会屁颠屁颠的向前跑&#8230; 没办法，昨天一狠心&#8230;把windows2003格了，装上了FC5。 感觉界面上貌似pp了很多，和前几版相比，至少登陆界面改观较大。但是骨子里，linux仍然不是一个服务于最终用户的桌面操作系统，软件的操作总的来说两个字－“难用”&#8230;甚至一些软件压根用不了，例如“Add/Remove Soft”，软件的信息到15%左右就加载失败了，重复了n次。如果这是发生在windows上面，估计早就被骂死了&#8230; 倒是yum命令行工具用的蛮爽，但是对一般用户来讲，这是不可能接收的&#8230; 基于我以前和昨天的经验，总的来说，linux还是一个适用于开发人员的操作系统，要走向桌面还有很长的路&#8230;&#8230;]]></description>
			<content:encoded><![CDATA[<p>想搞linux很久了，但是进度一直缓慢，基本上前一次看书掌握的内容已经快忘完了，所以基本上也可以说没有进度。</p>
<p>我觉得人在很多时候表现不自爱&#8230;你要好好的计划按步骤实施，到最后总是没有结果，非得要外部有很大的压力以后，才会屁颠屁颠的向前跑&#8230;</p>
<p>没办法，昨天一狠心&#8230;把windows2003格了，装上了FC5。</p>
<p>感觉界面上貌似pp了很多，和前几版相比，至少登陆界面改观较大。但是骨子里，linux仍然不是一个服务于最终用户的桌面操作系统，软件的操作总的来说两个字－“难用”&#8230;甚至一些软件压根用不了，例如“Add/Remove Soft”，软件的信息到15%左右就加载失败了，重复了n次。如果这是发生在windows上面，估计早就被骂死了&#8230;</p>
<p>倒是yum命令行工具用的蛮爽，但是对一般用户来讲，这是不可能接收的&#8230;</p>
<p>基于我以前和昨天的经验，总的来说，linux还是一个适用于开发人员的操作系统，要走向桌面还有很长的路&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/72.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
