﻿<?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>Ks Home &#187; Linux相关</title>
	<atom:link href="http://www.ksarea.com/articles/category/about-linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ksarea.com</link>
	<description>King和Sha的小窝</description>
	<lastBuildDate>Fri, 10 Sep 2010 03:39:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux文件权限</title>
		<link>http://www.ksarea.com/articles/20080215_linux-file-privilege.html</link>
		<comments>http://www.ksarea.com/articles/20080215_linux-file-privilege.html#comments</comments>
		<pubDate>Fri, 15 Feb 2008 09:21:08 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/articles/20080215_linux%e6%96%87%e4%bb%b6%e6%9d%83%e9%99%90.html</guid>
		<description><![CDATA[在终端输入：ls -l filename 会出现文件属性，主要是如下这些: -rw-rw-r-x 一共10位，标识着文件的权限和所有者，下面对这10位进行详细介绍。
1. Linux文件类型
最前面的&#8217;-'这一位代表文件类型，不同的文件类型使用的字符不一样。Linux文件类型不是由文件扩展名来区分的，常见文件类型有：普通文件、目录、字符设备文件、块设备文件、套接口文件、符号链接文件等。


Linux文件类型
文件属性的第一个字符


普通文件
-


目录
d


字符设备文件
c


块设备文件
b


套接口文件
s


符号链接文件
l


2. 文件权限

linux下目录和文件的权限区别：
文件：读文件内容（r）、写数据到文件（w）、作为命令执行文件（x）。
目录：读包含在目录中的文件名称（r）、写信息到目录中去（增加和删除索引点的连结）（w）、搜索目录（能用该目录名称作为路径名去访问它所包含的文件和子目录）（x）
具体说就是：
（1）有只读权限的用户不能用cd进入该目录：还必须有执行权限才能进入。
（2）有执行权限的用户只有在知道文件名，并拥有读权利的情况下才可以访问目录下的文件。
（3）必须有读和执行权限才可以ls列出目录清单，或使用cd命令进入目录。
（4）有目录的写权限，可以创建、删除或修改目录下的任何文件或子目录，即使使该文件或子目录属于其他用户也是如此。
第2位到第5位&#8221;rw-&#8221;这三位代表的是所有者的访问权限(user)；第6位到第8位&#8221;rw-&#8221;这三位代表的是组群(group)的访问权限；最后三位&#8221;r-x&#8221;代表的是其他人的访问权限(other)。
r 表示文件可以被读（read）；
w 表示文件可以被写（write）；
x 表示文件可以被执行（如果它是程序的话）；
- 表示相应的权限还没有被授予。
3. 改变文件权限
使用chmod命令来改变文件和目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法；另一种是包含数字的数字设定法。
3.1 文字设定法
chmod [who][+或-或=][mode] 文件名
命令中各选项的含义为：
操作对象who可是下述字母中的任一个或者它们的组合：
u 表示“用户（user）”，即文件或目录的所有者；
g 表示“同组（group）用户”，即与文件属主有相同组ID的所有用户；
o 表示“其他（others）用户”；
a 表示“所有（all）用户”，它是系统默认值，即如果who这项省略或者为a，则权限的改变是针对所有用户。
操作符号可以是：
+ 添加某个权限；- 取消某个权限；= 赋予给定权限并取消其他所有权限（如果有的话）。
mode所表示的权限可用下述字母的任意组合：
r  可读；
w 可写；
x  可执行；
X  只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性；
s   在文件执行时把进程的属主或组ID置为该文件的文件属主。方式&#8221;u+s&#8221;设置文件的用户ID位，&#8221;g+s&#8221;设置组ID位；
t   保存程序的文本到交换设备上；
u  与文件属主拥有一样的权限；
g   与和文件属主同组的用户拥有一样的权限；
o   与其他用户拥有一样的权限；
文件名：以空格分开的要改变权限的文件列表，支持通配符；
在一个命令行中可给出多个权限方式，其间用逗号隔开。
例如：chmod g+r，o+r filename
使同组和其他用户对文件filename 有读权限。
3.2 数字设定法
chmod [mode] 文件名
这里mode由三个0-7之间的数字代表权限，每个数字对应一个操作对象（所有者、同组、其他用户）。因此，首先要理解这里每个数字的含义，我们知道对每个操作对象who都有3位（rwx）来代表权限。将这三位做如下处理。
r 这位代表读权限，它要么为4要么为0，字符表示要么为&#8217;-'要么为&#8217;r&#8217; ；
w 这位代表写权限，它要么为2要么为0，字符表示要么为&#8217;-'要么为&#8217;r&#8217; ；
x [...]]]></description>
			<content:encoded><![CDATA[<p>在终端输入：ls -l filename 会出现文件属性，主要是如下这些: -rw-rw-r-x 一共10位，标识着文件的权限和所有者，下面对这10位进行详细介绍。</p>
<p><strong>1. Linux文件类型</strong></p>
<p>最前面的&#8217;-'这一位代表文件类型，不同的文件类型使用的字符不一样。Linux文件类型不是由文件扩展名来区分的，常见文件类型有：普通文件、目录、字符设备文件、块设备文件、套接口文件、符号链接文件等。</p>
<table align="center" border="1" cellpadding="2" cellspacing="0" width="334">
<tr>
<td align="center" valign="top" width="152"><strong>Linux文件类型</strong></td>
<td align="center" valign="top" width="180"><strong>文件属性的第一个字符</strong></td>
</tr>
<tr>
<td valign="top" width="153">普通文件</td>
<td align="center" valign="top" width="180">-</td>
</tr>
<tr>
<td valign="top" width="153">目录</td>
<td align="center" valign="top" width="180">d</td>
</tr>
<tr>
<td valign="top" width="153">字符设备文件</td>
<td align="center" valign="top" width="180">c</td>
</tr>
<tr>
<td valign="top" width="153">块设备文件</td>
<td align="center" valign="top" width="180">b</td>
</tr>
<tr>
<td valign="top" width="153">套接口文件</td>
<td align="center" valign="top" width="180">s</td>
</tr>
<tr>
<td valign="top" width="153">符号链接文件</td>
<td align="center" valign="top" width="180">l</td>
</tr>
</table>
<p><strong>2. 文件权限</strong><br />
<span id="more-159"></span><br />
linux下目录和文件的权限区别：</p>
<p>文件：读文件内容（r）、写数据到文件（w）、作为命令执行文件（x）。</p>
<p>目录：读包含在目录中的文件名称（r）、写信息到目录中去（增加和删除索引点的连结）（w）、搜索目录（能用该目录名称作为路径名去访问它所包含的文件和子目录）（x）<br />
具体说就是：<br />
（1）有只读权限的用户不能用cd进入该目录：还必须有执行权限才能进入。<br />
（2）有执行权限的用户只有在知道文件名，并拥有读权利的情况下才可以访问目录下的文件。<br />
（3）必须有读和执行权限才可以ls列出目录清单，或使用cd命令进入目录。<br />
（4）有目录的写权限，可以创建、删除或修改目录下的任何文件或子目录，即使使该文件或子目录属于其他用户也是如此。</p>
<p>第2位到第5位&#8221;rw-&#8221;这三位代表的是所有者的访问权限(user)；第6位到第8位&#8221;rw-&#8221;这三位代表的是组群(group)的访问权限；最后三位&#8221;r-x&#8221;代表的是其他人的访问权限(other)。</p>
<p>r 表示文件可以被读（read）；<br />
w 表示文件可以被写（write）；<br />
x 表示文件可以被执行（如果它是程序的话）；<br />
- 表示相应的权限还没有被授予。</p>
<p><strong>3. 改变文件权限</strong></p>
<p>使用chmod命令来改变文件和目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法；另一种是包含数字的数字设定法。</p>
<p>3.1 文字设定法</p>
<p>chmod [who][+或-或=][mode] 文件名<br />
命令中各选项的含义为：<br />
操作对象who可是下述字母中的任一个或者它们的组合：<br />
<strong>u</strong> 表示“用户（user）”，即文件或目录的所有者；<br />
<strong>g</strong> 表示“同组（group）用户”，即与文件属主有相同组ID的所有用户；<br />
<strong>o</strong> 表示“其他（others）用户”；<br />
<strong>a</strong> 表示“所有（all）用户”，它是系统默认值，即如果who这项省略或者为a，则权限的改变是针对所有用户。</p>
<p>操作符号可以是：<br />
<strong>+</strong> 添加某个权限；<strong>- </strong>取消某个权限；<strong>= </strong>赋予给定权限并取消其他所有权限（如果有的话）。</p>
<p>mode所表示的权限可用下述字母的任意组合：<br />
<strong>r</strong>  可读；<br />
<strong>w</strong> 可写；<br />
<strong>x</strong>  可执行；<br />
<strong>X</strong>  只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性；<br />
<strong>s</strong>   在文件执行时把进程的属主或组ID置为该文件的文件属主。方式&#8221;u+s&#8221;设置文件的用户ID位，&#8221;g+s&#8221;设置组ID位；<br />
<strong>t</strong>   保存程序的文本到交换设备上；<br />
<strong>u  </strong>与文件属主拥有一样的权限；<br />
<strong>g</strong>   与和文件属主同组的用户拥有一样的权限；<br />
<strong>o</strong>   与其他用户拥有一样的权限；<br />
文件名：以空格分开的要改变权限的文件列表，支持通配符；<br />
在一个命令行中可给出多个权限方式，其间用逗号隔开。</p>
<p>例如：chmod g+r，o+r filename<br />
使同组和其他用户对文件filename 有读权限。</p>
<p>3.2 数字设定法</p>
<p>chmod [mode] 文件名</p>
<p>这里mode由三个0-7之间的数字代表权限，每个数字对应一个操作对象（所有者、同组、其他用户）。因此，首先要理解这里每个数字的含义，我们知道对每个操作对象who都有3位（rwx）来代表权限。将这三位做如下处理。</p>
<p>r 这位代表读权限，它要么为4要么为0，字符表示要么为&#8217;-'要么为&#8217;r&#8217; ；</p>
<p>w 这位代表写权限，它要么为2要么为0，字符表示要么为&#8217;-'要么为&#8217;r&#8217; ；</p>
<p>x 这位代表执行权限，它要么为1要么为0，字符表示要们为&#8217;-'要么为&#8217;x&#8217; 。</p>
<p>将这三位填充好以后，三位数字之和就是数字设定法中我们需要的0-7之间的数字。同理，对三个操作对象都进行如下操作那么就能组合出三个0-7的数字。</p>
<p>例如：想让某个文件的拥有者读/写权限，其他的用户和组都没有权限。那么对于文件拥有者就是4（读）+2（写）+0（执行）=6，其他用户和同组都是0+0+0=0，所以可以使用如下命令进行权限的修改：</p>
<p>chmod 600 filename</p>
<p>使用命令：ls -l filename 可以查看属性前10位为：-rw&#8212;&#8212;-</p>
<p><strong>4. 改变文件属主</strong></p>
<p>Linux/Unix 是多人多工作业系统，所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说，这个指令只有是由系统管理 者(root)所使用。一般使用者没有权限可以改变别人的档案拥有者，也没有权限将自己的档案拥有者改设为别人。<br />
命令格式：<strong>chown user[:group] filename</strong>，其他的参数可以查看手册（man chown）。</p>
<p>例如：chown temp:users filename 这个命令就是将filename这个文件属主改成users组下的temp用户，可以使用ls -l进行查看文件属性。</p>
<p>如果使用命令chown temp filename，那么这里只改变文件的拥有者，不改变文件所属群组。</p>
<p>改变文件所属群组使用命令<strong>chgrp group filename</strong>，例如：chgrp  users filename，将文件所属群组改成users群组。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20080215_linux-file-privilege.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>管道和重定向的理解</title>
		<link>http://www.ksarea.com/articles/20080125_pipe_redirection.html</link>
		<comments>http://www.ksarea.com/articles/20080125_pipe_redirection.html#comments</comments>
		<pubDate>Fri, 25 Jan 2008 09:24:24 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/articles/20080125_pipe_redirection.html</guid>
		<description><![CDATA[入门Linux确实比上手Windows要不容易。这段时间已经深刻体会。今天Linux程序设计里的一句话有误导了半天，幸好什么有位高手——小胖哈哈！
这里只是简单的介绍下管道和重定向，因为在接下来的shell编程中会深入了解，到时候在详细总结。
管道连接着一个命令的标准输出和另外一个命令的标准输入。在linux下管道连接的进程可以同时运行，并且随着数据流在它们之间的传递可以自动地进行协调。形象的讲：管道就相当于自来水管，而进程或者（程序）相当于水龙头，管道里的水相当于数据，水可以在不同的水龙头间依次流动。
例如：..#ps -aux &#124; sort
其中的ps可以看作是“水龙头1”，‘｜’看作是“水管”， sort看作是“水龙头2”，ps -aux运行的结果看作是“水”
重定向对标准输入输出进行重定向。将“水”从一处运往另外一处。
例如：ls -a &#62; lsoutput.txt
将程序ls的标准输出流重定向到文本文件中。也就是说，‘&#62;’的左端必须有输出流。例子中ls -a输出的结果本来是显示在屏幕上的，但是经过重定向将其输出到了文件中。
书中的一个例子：
cat lsoutput.txt &#124; sort &#124; uniq &#124; &#62; output.txt
这样最终得到的output.txt是一个空文件。 为什么?因为最后一个‘｜’后面没有跟“水龙头”，怎么可能把“水”从“管子”里放出来，运到另外一个地方呢？
解决方法至少有两种：
cat lsoutput.txt &#124; sort &#124; uniq &#124; tee&#62; output.txt
或者
cat lsoutput.txt &#124; sort &#124; uniq &#62; output.txt
通过形象的比喻，以上两种方式都能很少的理解！！
]]></description>
			<content:encoded><![CDATA[<p>入门Linux确实比上手Windows要不容易。这段时间已经深刻体会。今天Linux程序设计里的一句话有误导了半天，幸好什么有位高手——<a href="http://bluecurve.spaces.live.com/" target="_blank">小胖</a>哈哈！</p>
<p>这里只是简单的介绍下管道和重定向，因为在接下来的shell编程中会深入了解，到时候在详细总结。</p>
<p>管道连接着一个命令的标准输出和另外一个命令的标准输入。在linux下管道连接的进程可以同时运行，并且随着数据流在它们之间的传递可以自动地进行协调。形象的讲：管道就相当于自来水管，而进程或者（程序）相当于水龙头，管道里的水相当于数据，水可以在不同的水龙头间依次流动。</p>
<p>例如：..#ps -aux | sort</p>
<p>其中的ps可以看作是“水龙头1”，‘｜’看作是“水管”， sort看作是“水龙头2”，ps -aux运行的结果看作是“水”</p>
<p>重定向对标准输入输出进行重定向。将“水”从一处运往另外一处。</p>
<p>例如：ls -a &gt; lsoutput.txt</p>
<p>将程序ls的标准输出流重定向到文本文件中。也就是说，‘&gt;’的左端必须有输出流。例子中ls -a输出的结果本来是显示在屏幕上的，但是经过重定向将其输出到了文件中。</p>
<p>书中的一个例子：</p>
<p>cat lsoutput.txt | sort | uniq | &gt; output.txt</p>
<p>这样最终得到的output.txt是一个空文件。 为什么?因为最后一个‘｜’后面没有跟“水龙头”，怎么可能把“水”从“管子”里放出来，运到另外一个地方呢？</p>
<p>解决方法至少有两种：</p>
<p>cat lsoutput.txt | sort | uniq | tee&gt; output.txt</p>
<p>或者</p>
<p>cat lsoutput.txt | sort | uniq &gt; output.txt</p>
<p>通过形象的比喻，以上两种方式都能很少的理解！！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20080125_pipe_redirection.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>linux设置备忘</title>
		<link>http://www.ksarea.com/articles/20080101_linux-conf-backup.html</link>
		<comments>http://www.ksarea.com/articles/20080101_linux-conf-backup.html#comments</comments>
		<pubDate>Tue, 01 Jan 2008 06:48:21 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/articles/20080101_linux-conf-backup.html</guid>
		<description><![CDATA[1. ADSL拨号上网：
上http://www.roaringpenguin.com/products/pppoe下载rp-pppoe客户端软件，它是使用GNU License的，所以我们可以放心的使用。
(1) 下载源码，解压，到rp-pppoe-3.8子文件夹，打开终端，运行脚本 ：
..#./go
将自动进行编译和安装，最后，自动调用 pppoe-setup 进行配置，具体解释见下面。
(2) 配置PPPOE客户端软件
安装完软件包后，必须配置pppoe的配置文件/etc/ppp/pppoe.conf，从而让ADSL拨号时使用配置文件中的用户名、密码等参数。我们不必手工改动这个文件，可以使用pppoe-setup这个命令进行配置：
..#pppoe-setup
当出现
&#62;&#62;&#62; Enter your PPPoE user name : （如 HFK01010101）
输入ADSL帐号的用户名
当出现
&#62;&#62;&#62; Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where &#8216;n&#8217; is a number.
(default eth0):
输入 eth0 ,这是ADSL相连的网卡的名字。
当出现
&#62;&#62;&#62; Enter the demand value (default no):
输入 no
当出现
&#62;&#62;&#62; Enter [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1. ADSL拨号上网：</strong><br />
上<a href="http://www.roaringpenguin.com/products/pppoe" target="_blank">http://www.roaringpenguin.com/products/pppoe</a>下载rp-pppoe客户端软件，它是使用GNU License的，所以我们可以放心的使用。</p>
<p>(1) 下载源码，解压，到rp-pppoe-3.8子文件夹，打开终端，运行脚本 ：<br />
..#./go<br />
将自动进行编译和安装，最后，自动调用 pppoe-setup 进行配置，具体解释见下面。<br />
(2) 配置PPPOE客户端软件<br />
安装完软件包后，必须配置pppoe的配置文件/etc/ppp/pppoe.conf，从而让ADSL拨号时使用配置文件中的用户名、密码等参数。我们不必手工改动这个文件，可以使用pppoe-setup这个命令进行配置：<br />
..#pppoe-setup</p>
<p>当出现<br />
&gt;&gt;&gt; Enter your PPPoE user name : （如 HFK01010101）<br />
输入ADSL帐号的用户名<br />
当出现<br />
&gt;&gt;&gt; Enter the Ethernet interface connected to the ADSL modem<br />
For Solaris, this is likely to be something like /dev/hme0.<br />
For Linux, it will be ethn, where &#8216;n&#8217; is a number.<br />
(default eth0):<br />
输入 eth0 ,这是ADSL相连的网卡的名字。<br />
当出现<br />
&gt;&gt;&gt; Enter the demand value (default no):<br />
输入 no<br />
当出现<br />
&gt;&gt;&gt; Enter the DNS information here: （如 安徽电信安徽：202.102.192.68或 202.102.199.68）<br />
输入 server ,这表示使用ADSL拨号自动获得的DNS服务器IP地址<br />
当出现<br />
&gt;&gt;&gt; Please enter your PPPoE password: **************<br />
输入ADSL帐号的密码<br />
当出现<br />
&gt;&gt;&gt; Choose a type of firewall (0-2):<br />
输入 0 ，不使用防火墙<br />
当出现<br />
&gt;&gt;&gt; Accept these settings and adjust configuration files (y/n)?<br />
如果输入的信息正确，输入 y ,完成配置，否则，输入 n 重新输入。</p>
<p>(3) 重新启动，然后在终端中输入：<br />
..#pppoe-start 进行连接</p>
<p>..#pppoe-status 查看连接状态</p>
<p>..#pppoe-stop 停止连接</p>
<p><strong>2. 安装Eva登录QQ</strong><br />
<span id="more-155"></span><br />
在fedora8下：<br />
下载源码包http://www.myswear.net/myswear/eva/beta/eva-20070723.tar.bz2<br />
使用KDE环境（没有的这样做：在添加删除程序里勾选KDE桌面，安装好之后在登录界面里更改会话为KDE，进入）<br />
解压源码包 tar jvxf eva-20070723.tar.bz2<br />
进入eva目录，输入<br />
..#./configure &#8211;prefix=`kde-config &#8211;prefix`<br />
成功后，输入<br />
..#make<br />
开始编译，这大概要7，8分钟的样子，取决于机器的性能<br />
输入<br />
..#make install<br />
将安装Eva到KDE系统中，打开终端，输入<br />
eva<br />
即可运行<br />
（编译的时候有可能不成功，有可能提示QT或者KDElibs的版本太低或不存在，那么我们就先 升级qt-devel和kdelibs-devel<br />
yum -y install qt-devel<br />
yum -y install kdelibs-devel<br />
完成后在执行编译，安装）</p>
<p><strong>(3) 添加环境变量</strong><br />
下载了绿色的eclipse，每次都要打开相应的eclipse文件夹才能运行eclipse，所以想着设置环境变量，直接在终端中输入命令，运行eclipse。<br />
..#cd                   到用户的根目录下<br />
..#ls -a               显示所有文件，包括隐藏文件<br />
..#gedit .bash_profile<br />
编辑path声明，其格式为：<br />
PATH=$PATH:</p>
<path>:</path>
<path>:</path>
<path>:&#8212;&#8212;:</path>
<path>，可以将eclipse目录路径加入其中。<br />
然后，在终端输入：<br />
..#source .bash_profile 马上更新环境变量<br />
这样就可以在终端中输入eclipse命令，运行它了。其他的程序一样的道理。</path><strong>(3) 安装插件自动选择最快的更新源</strong><br />
..#yum install yum-fastestmirror -y</p>
<p>(4) ubuntu 安装编译含环境<br />
sudo apt-get install build-essential</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20080101_linux-conf-backup.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ubuntu7.10教育网更新源</title>
		<link>http://www.ksarea.com/articles/20071225_ubuntu710-education-sources-list.html</link>
		<comments>http://www.ksarea.com/articles/20071225_ubuntu710-education-sources-list.html#comments</comments>
		<pubDate>Tue, 25 Dec 2007 08:53:55 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/articles/20071225_ubuntu710-education-sources-list.html</guid>
		<description><![CDATA[刚解决好grub的问题，又不是什么原因，我们ubuntu6.10崩溃了，不能启动！将错误提示信息在google中搜索，结果有的人说是什么硬件问题，完全P话，我一直用得好好的，怎么可能突然出现硬件和软件的冲突呢。回想一下，好像我之前确实删除过什么文件，但是那是apt自动完成的，所以我也不知道到底删除了哪些，更新了哪些。
问了下小胖，他也不知道什么原因！实在找不到解决办法，于是还是决定重新安装。反正ubuntu已经出了7.10版本。天意，让我体验下最新的版本。本来想下载700M的文件，今天是搞不定了，不关机一直下载吧。找到官方的全部下载页面，发现有台湾某大学的下载mirror，尝试了下，我的个神呀，速度达到了8M/s。实验室教育网就是快，爽！！！
于是乎下载只花费了我几分钟。7.10支持硬盘安装，在xp下，将ubuntu-7.10-desktop-i386.iso文件下载到C盘，然后将其中casper目录，.disk目录，wubi-cdboot.exe文件完整解压到C盘根目录下，然后运行wubi-cdboot.exe，重启，就会出现一个ubuntu-linux选项，选择这个选项，继续安装！！
ubuntu的优势就在于它能够在网上方便的更新所有软件包。所以每次重新安装系统，都可能会有大量的包要更新，如果你选择的更新源速度不行，那我建议你睡一觉再说！
首先根据你的网络选择速度最快的更新源，google一下一大把！我这里是教育网，所以在网上找了一些教育网的更新源，果然速度惊人！
..$sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
..$sudo gedit /etc/apt/sources.list
删除文件里的所有，然后copy你在网上找到的更新源到文件中，保存！
..$sudo apt-get update
这样就可以用了！

备忘教育网更新源：
Ubuntu 7.10 Gusty Gibbon
中国科技大学
deb http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-backports restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main [...]]]></description>
			<content:encoded><![CDATA[<p>刚解决好grub的问题，又不是什么原因，我们ubuntu6.10崩溃了，不能启动！将错误提示信息在google中搜索，结果有的人说是什么硬件问题，完全P话，我一直用得好好的，怎么可能突然出现硬件和软件的冲突呢。回想一下，好像我之前确实删除过什么文件，但是那是apt自动完成的，所以我也不知道到底删除了哪些，更新了哪些。</p>
<p>问了下小胖，他也不知道什么原因！实在找不到解决办法，于是还是决定重新安装。反正ubuntu已经出了7.10版本。天意，让我体验下最新的版本。本来想下载700M的文件，今天是搞不定了，不关机一直下载吧。找到官方的全部下载页面，发现有台湾某大学的下载mirror，尝试了下，我的个神呀，速度达到了8M/s。实验室教育网就是快，爽！！！</p>
<p>于是乎下载只花费了我几分钟。7.10支持硬盘安装，在xp下，将ubuntu-7.10-desktop-i386.iso文件下载到C盘，然后将其中casper目录，.disk目录，wubi-cdboot.exe文件完整解压到C盘根目录下，然后运行wubi-cdboot.exe，重启，就会出现一个ubuntu-linux选项，选择这个选项，继续安装！！<span class="postbody"><span style="color: green"></span></span><span class="postbody"><span style="color: green"></span></span></p>
<p>ubuntu的优势就在于它能够在网上方便的更新所有软件包。所以每次重新安装系统，都可能会有大量的包要更新，如果你选择的更新源速度不行，那我建议你睡一觉再说！</p>
<p>首先根据你的网络选择速度最快的更新源，<a href="http://google.com" target="_blank">google</a>一下一大把！我这里是教育网，所以在网上找了一些教育网的更新源，果然速度惊人！</p>
<p>..$sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup<br />
..$sudo gedit /etc/apt/sources.list</p>
<p>删除文件里的所有，然后copy你在网上找到的更新源到文件中，保存！</p>
<p>..$sudo apt-get update</p>
<p>这样就可以用了！<br />
<span id="more-151"></span><strong><br />
备忘教育网更新源：</strong><br />
Ubuntu 7.10 Gusty Gibbon</p>
<p>中国科技大学</p>
<p>deb http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse<br />
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-backports restricted universe multiverse<br />
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse<br />
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse<br />
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse<br />
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse<br />
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse<br />
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse<br />
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse<br />
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse</p>
<p>上海交通大学</p>
<p>deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu-cn/ gutsy main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe</p>
<p>厦门大学的：<br />
deb ftp://ubuntu.realss.cn/ubuntu/ gutsy main restricted universe multiverse<br />
deb ftp://ubuntu.realss.cn/ubuntu/ gutsy-backports restricted universe multiverse<br />
deb ftp://ubuntu.realss.cn/ubuntu/ gutsy-proposed main restricted universe multiverse<br />
deb ftp://ubuntu.realss.cn/ubuntu/ gutsy-security main restricted universe multiverse<br />
deb ftp://ubuntu.realss.cn/ubuntu/ gutsy-updates main restricted universe multiverse<br />
deb-src ftp://ubuntu.realss.cn/ubuntu/ gutsy main restricted universe multiverse<br />
deb-src ftp://ubuntu.realss.cn/ubuntu/ gutsy-backports main restricted universe multiverse<br />
deb-src ftp://ubuntu.realss.cn/ubuntu/ gutsy-proposed main restricted universe multiverse<br />
deb-src ftp://ubuntu.realss.cn/ubuntu/ gutsy-security main restricted universe multiverse<br />
deb-src ftp://ubuntu.realss.cn/ubuntu/ gutsy-updates main restricted universe multiverse</p>
<p>成都市 电子科技大学更新服务器（教育网，推荐校园网和网通用户使用）：</p>
<p>deb http://ubuntu.uestc.edu.cn/ubuntu/ gutsy main multiverse restricted universe<br />
deb http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe<br />
deb http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe<br />
deb http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe<br />
deb http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe<br />
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ gutsy main multiverse restricted universe<br />
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe<br />
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe<br />
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe<br />
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20071225_ubuntu710-education-sources-list.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>恢复ubuntu的grub</title>
		<link>http://www.ksarea.com/articles/20071225_recover-ubuntu-grub.html</link>
		<comments>http://www.ksarea.com/articles/20071225_recover-ubuntu-grub.html#comments</comments>
		<pubDate>Tue, 25 Dec 2007 04:01:00 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/articles/20071225_recover-ubuntu-grub.html</guid>
		<description><![CDATA[很久很久以前，安装了ubuntu，使用了一段时间，收获颇多。但是由于项目需要不得不重新安装xp，结果野蛮的xp将我的MBR给清掉了。当然无辜的ubuntu也就不再我的视线以内了。一直以来也没有什么时间恢复我的Grub，所以ubuntu被我冷落了好长一段时间。
今天心血来潮，想到我的ubuntu，于是想重新捡起它来。
备忘恢复Grub过程：
1.插入ubuntu live CD盘，最好和你安装的ubuntu版本对应！
2.启动ubuntu，进入终端，依次输入如下命令：
..$sudo su
..#grub
..#find /boot/grub/stage1     显示类似于(hd0,5)这样的东东
..#root (hd0,5)
..#setup (hd0)
终端应该会显示成功安装！
重启，就有Grub向导，选择xp或者ubuntu了。
]]></description>
			<content:encoded><![CDATA[<p>很久很久以前，安装了ubuntu，使用了一段时间，收获颇多。但是由于项目需要不得不重新安装xp，结果野蛮的xp将我的MBR给清掉了。当然无辜的ubuntu也就不再我的视线以内了。一直以来也没有什么时间恢复我的Grub，所以ubuntu被我冷落了好长一段时间。</p>
<p>今天心血来潮，想到我的ubuntu，于是想重新捡起它来。</p>
<p>备忘恢复Grub过程：<br />
1.插入ubuntu live CD盘，最好和你安装的ubuntu版本对应！<br />
2.启动ubuntu，进入终端，依次输入如下命令：</p>
<p>..$sudo su<br />
..#grub<br />
..#find /boot/grub/stage1     显示类似于(hd0,5)这样的东东<br />
..#root (hd0,5)<br />
..#setup (hd0)</p>
<p>终端应该会显示成功安装！</p>
<p>重启，就有Grub向导，选择xp或者ubuntu了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20071225_recover-ubuntu-grub.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lisp的set和setq函数在emacs中的使用介绍</title>
		<link>http://www.ksarea.com/articles/20070913_introduce-lisp-set-setq-in-emacs.html</link>
		<comments>http://www.ksarea.com/articles/20070913_introduce-lisp-set-setq-in-emacs.html#comments</comments>
		<pubDate>Thu, 13 Sep 2007 04:23:31 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/?p=129</guid>
		<description><![CDATA[set函数：
为了将符号flowers的值设置为列表(rose violet daisy buttercup)，我们在emacs中使用如下列表：
(set &#8216;flowers &#8216;(rose violet daisy buttercup));例一
光标置于表达式之后，键入C-x C-e或者C-x-e，列表(rose violet daisy buttercup)将会出现在回显区。这是set函数的返回值，每个Lisp函数如果不产生错误消息，它将必须有一个返回值作为附带效果，而函数的附带效果有且仅有一个附带效果。
我们已经为符号flowers赋值，那么我们可以对它进行求值：
flowers
光标置于它之后，键入C-x C-e或者C-x-e，回显区将显示列表(rose violet daisy buttercup)。我们也可以将flowers的值以字符串形式输出，这里使用到函数message：
(message &#8220;%s&#8221; flowers);有点类似C语言里的printf
同样键入C-x C-e或者C-x-e，回显区将以字符串“(rose violet daisy buttercup)”的形式显示flowers的值。
这里还要说明注意一下，为什么set函数的两个参量之前都用了一个单引号？Lisp解释器是由内层列表往外层列表进行解释的，所以执行函数时，首先要对参量进行解释或者求值。而单引号位于列表或者变量之前，是为了告诉Lisp解释器不要对这个列表和变量进行求值操作。试想，如果例一中没有在两个参量前面添加一个单引号，那么在执行set函数之前首先要对flowers进行求值，而flowers此时是没有值的，自然要报错，而且如果列表(rose violet daisy buttercup)前面没有单引号，Lisp解释器会将列表中的第一个符号rose理解成要执行的命令即函数，但是没有帮定在符号rose上的函数，所以执行也要报错。但是如果有的参量值确实是可以求得的，那么还是可以不加单引号的：
(set &#8216;flowers (+ 2 2));flowers的值将被赋予4
setq函数：
这个函数其实是set函数的一个扩充，因为在大多数情况下我们总是会在set函数的第一个参量前加单引号。既然set函数和其第一个带单引号的参量的组合如此常见，所以就产生了一个特殊的函数：setq（set+quote）。这个函数和set函数的功能类似，不同的是setq函数在执行的时候自动的在其第一个参量前带上单引号，而不必自己键入单引号。
所以下面两个列表执行结果是一致的：
(set &#8216;flowers &#8216;(rose violet daisy buttercup))
(setq flowers &#8216;(rose violet daisy buttercup))
当然，setq还被赋予了一个新的功能，给几个不同的变量赋予不同的值，如：
(setq flowers &#8216;(rose violet daisy buttercup) trees &#8216;(pine fir oak maple))
上述列表是将第一个参量指向第二个参量列表（赋值），第三个参量指向第四个参量列表（赋值）。
利用setq，我们可以实现一个简单的计数器：
(setq counter 0);初始化counter的值为0
(setq counter (+ counter [...]]]></description>
			<content:encoded><![CDATA[<p><strong>set函数：</strong><br />
为了将符号flowers的值设置为列表(rose violet daisy buttercup)，我们在emacs中使用如下列表：<br />
<coolcode linenum="off">(set &#8216;flowers &#8216;(rose violet daisy buttercup));例一</coolcode><br />
光标置于表达式之后，键入C-x C-e或者C-x-e，列表(rose violet daisy buttercup)将会出现在回显区。这是set函数的返回值，每个Lisp函数如果不产生错误消息，它将必须有一个返回值作为附带效果，而函数的附带效果有且仅有一个附带效果。</p>
<p>我们已经为符号flowers赋值，那么我们可以对它进行求值：<br />
<coolcode linenum="off">flowers</coolcode><br />
光标置于它之后，键入C-x C-e或者C-x-e，回显区将显示列表(rose violet daisy buttercup)。我们也可以将flowers的值以字符串形式输出，这里使用到函数message：<br />
<coolcode linenum="off">(message &#8220;%s&#8221; flowers);有点类似C语言里的printf</coolcode><br />
同样键入C-x C-e或者C-x-e，回显区将以字符串“(rose violet daisy buttercup)”的形式显示flowers的值。</p>
<p>这里还要说明注意一下，为什么set函数的两个参量之前都用了一个单引号？Lisp解释器是由内层列表往外层列表进行解释的，所以执行函数时，首先要对参量进行解释或者求值。而单引号位于列表或者变量之前，是为了告诉Lisp解释器不要对这个列表和变量进行求值操作。试想，如果例一中没有在两个参量前面添加一个单引号，那么在执行set函数之前首先要对flowers进行求值，而flowers此时是没有值的，自然要报错，而且如果列表(rose violet daisy buttercup)前面没有单引号，Lisp解释器会将列表中的第一个符号rose理解成要执行的命令即函数，但是没有帮定在符号rose上的函数，所以执行也要报错。但是如果有的参量值确实是可以求得的，那么还是可以不加单引号的：<br />
<coolcode linenum="off">(set &#8216;flowers (+ 2 2));flowers的值将被赋予4</coolcode></p>
<p><strong>setq函数：</strong><br />
这个函数其实是set函数的一个扩充，因为在大多数情况下我们总是会在set函数的第一个参量前加单引号。既然set函数和其第一个带单引号的参量的组合如此常见，所以就产生了一个特殊的函数：setq（set+quote）。这个函数和set函数的功能类似，不同的是setq函数在执行的时候自动的在其第一个参量前带上单引号，而不必自己键入单引号。<br />
所以下面两个列表执行结果是一致的：<br />
<coolcode linenum="off">(set &#8216;flowers &#8216;(rose violet daisy buttercup))</coolcode><br />
<coolcode linenum="off">(setq flowers &#8216;(rose violet daisy buttercup))</coolcode></p>
<p>当然，setq还被赋予了一个新的功能，给几个不同的变量赋予不同的值，如：<br />
<coolcode linenum="off">(setq flowers &#8216;(rose violet daisy buttercup) trees &#8216;(pine fir oak maple))</coolcode><br />
上述列表是将第一个参量指向第二个参量列表（赋值），第三个参量指向第四个参量列表（赋值）。</p>
<p>利用setq，我们可以实现一个简单的计数器：<br />
<coolcode linenum="off">(setq counter 0);初始化counter的值为0</coolcode><br />
<coolcode linenum="off">(setq counter (+ counter 1));Lisp首先对最内层列表求值，最终counter的值加1</coolcode><br />
<coolcode linenum="off">counter；对计数器进行求值</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20070913_introduce-lisp-set-setq-in-emacs.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>rpm/apt/dpkg,Linux下的软件安装</title>
		<link>http://www.ksarea.com/articles/20070904_rpm-apt-dpkg-linux-soft-install.html</link>
		<comments>http://www.ksarea.com/articles/20070904_rpm-apt-dpkg-linux-soft-install.html#comments</comments>
		<pubDate>Tue, 04 Sep 2007 13:14:18 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/?p=127</guid>
		<description><![CDATA[刚装上ubuntu当然要学习下软件安装方法。Linux下任何文件都具有可执行的属性，即使是我们熟悉的文本文件，所以它的软件安装不像Windows下双击exe可执行文件那么简单。安装都是使用package来进行的。作为新手，开始真的被终端下的rpm/apt/dpkg弄糊涂了，只是知道他们都可以用来安装软件，但是不知道他们到底有什么区别。
终端下输入如下命令：
man rpm
man dpkg
man apt
将manual page的查询结果对比一下，区别还是很明显。rpm,dpkg都是 package manager，都是操作软件包文件的主要工具，管理着从网上下载下来的软件的安装，卸载以及更新等操作，它们的区别只是前者是RedHat支持的包管理器，处理的扩展名是.rpm，而后者是debian支持的包管理器，处理的扩展名是.deb。所以在不同的Linux系统中，我们可以使用rpm或是dpkg不同的命令参数来安装软件，但它们不会考虑软件包的相依性问题。Ubuntu是基于Debian的，所以它是利用dpkg来管理软件包的。虽然我们不推荐在ubuntu下安装rpm包，但我们还是可以安装扩展名为.rpm的包的。方法如下：
1.装个将rpm包转换为deb包的小工具alien
apt-get install alien
2.进入rpm所在的目录，输入命令
alien ＊.rpm
这样就生成Ubuntu支持的＊.deb
3.最后使用dpkg进行安装
sudo dpkg -i *.deb
而apt是 management system for software packages，我觉得它和Ubuntu里的新立德软件包管理器类似，它是自动下载软件源里的软件，然后调用dpkg来进行安装以及其他操作。不同的是APT是利用终端命令工作的：
sudo apt-get install package
当然我们还可以进行其他的命令进行维护。它的好处以及其他应用具体见APT介绍和使用。

这里只是说到了deb和rpm常见包的安装，当然还有其他的包的安装，不过刚用上ubuntu，所以还没有实践，没有什么体会。这里纯粹转载到此地，等实践过再将想法更新与此。
以bin结尾的安装包，这种包类似于RPM包，安装也比较简单
1、打开一个SHELL，即终端
2、用CD 命令进入源代码压缩包所在的目录
3、给文件加上可执行属性：chmod +x ******.bin（中间是字母x，小写）
3、执行命令：./******.bin(realplayer for linux就是这样的安装包)
===如何卸载：把安装时中选择的安装目录删除就OK
===执行安装过程中可以指定，类似于windows下安装。
tar.gz（bz或bz2等）结尾的源代码包，这种软件包里面都是源程序，没有编译过，需要编译后才能安装，安装方法为:
1、打开一个SHELL，即终端
2、用CD 命令进入源代码压缩包所在的目录
3、根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
4、用CD命令进入解压缩后的目录
5、输入编译文件命令：./configure（有的压缩包已经编译过，这一步可以省去）
6、然后是命令：make
7、再是安装文件命令：make install
8、安装完毕
===如何卸载：
1、打开一个SHELL，即终端
2、用CD 命令进入编译后的软件目录，即安装时的目录
3、执行反安装命令：make uninstall
====安装目录：注意make install命令过程中的安装目录，或者阅读安装目录里面的readme文件，当然最好的办法是在安装的过程中指定安装目录，即在./configure命令后面加参数&#8211;prefix=/**，
如：./configure &#8211;prefix=/usr/local/aaaa，即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里，可以到那里去找找.
使用java编译的安装程序xxx.jar
1、你的系统上必须有java虚拟机软件，如果没有，到Sun公司的网站上下载一个装上（http://www.java.com或者http://java.sun.com）。要安装xxx.jar形式的软件包。
2、打开终端，切换到xxx.jar所在目录，执行：
java -jar xxx.jar
这样就启动了安装程序。
3、如果你想卸载该软件包的话，可以在原目录下运行命令：
make uninstall
]]></description>
			<content:encoded><![CDATA[<p>刚装上ubuntu当然要学习下软件安装方法。Linux下任何文件都具有可执行的属性，即使是我们熟悉的文本文件，所以它的软件安装不像Windows下双击exe可执行文件那么简单。安装都是使用package来进行的。作为新手，开始真的被终端下的rpm/apt/dpkg弄糊涂了，只是知道他们都可以用来安装软件，但是不知道他们到底有什么区别。</p>
<p>终端下输入如下命令：<br />
<coolcode linenum="off">man rpm</coolcode><br />
<coolcode linenum="off">man dpkg</coolcode><br />
<coolcode linenum="off">man apt</coolcode><br />
将manual page的查询结果对比一下，区别还是很明显。rpm,dpkg都是 package manager，都是操作软件包文件的主要工具，管理着从网上下载下来的软件的安装，卸载以及更新等操作，它们的区别只是前者是RedHat支持的包管理器，处理的扩展名是.rpm，而后者是debian支持的包管理器，处理的扩展名是.deb。所以在不同的Linux系统中，我们可以使用rpm或是dpkg不同的命令参数来安装软件，但它们不会考虑软件包的相依性问题。Ubuntu是基于Debian的，所以它是利用dpkg来管理软件包的。虽然我们不推荐在ubuntu下安装rpm包，但我们还是可以安装扩展名为.rpm的包的。方法如下：<br />
1.装个将rpm包转换为deb包的小工具alien<br />
<coolcode linenum="off">apt-get install alien</coolcode><br />
2.进入rpm所在的目录，输入命令<br />
<coolcode linenum="off">alien ＊.rpm</coolcode><br />
这样就生成Ubuntu支持的＊.deb<br />
3.最后使用dpkg进行安装<br />
<coolcode linenum="off">sudo dpkg -i *.deb</coolcode></p>
<p>而apt是 management system for software packages，我觉得它和Ubuntu里的新立德软件包管理器类似，它是自动下载软件源里的软件，然后调用dpkg来进行安装以及其他操作。不同的是APT是利用终端命令工作的：<br />
<coolcode linenum="off">sudo apt-get install package</coolcode><br />
当然我们还可以进行其他的命令进行维护。它的好处以及其他应用具体见<a href="ttp://www.ksarea.com/articles/20070902_apt-introduction-usage-howto.html">APT介绍和使用</a>。<br />
<span id="more-127"></span><br />
这里只是说到了deb和rpm常见包的安装，当然还有其他的包的安装，不过刚用上ubuntu，所以还没有实践，没有什么体会。这里纯粹转载到此地，等实践过再将想法更新与此。<br />
以bin结尾的安装包，这种包类似于RPM包，安装也比较简单<br />
1、打开一个SHELL，即终端<br />
2、用CD 命令进入源代码压缩包所在的目录<br />
3、给文件加上可执行属性：chmod +x ******.bin（中间是字母x，小写）<br />
3、执行命令：./******.bin(realplayer for linux就是这样的安装包)<br />
===如何卸载：把安装时中选择的安装目录删除就OK<br />
===执行安装过程中可以指定，类似于windows下安装。</p>
<p>tar.gz（bz或bz2等）结尾的源代码包，这种软件包里面都是源程序，没有编译过，需要编译后才能安装，安装方法为:<br />
1、打开一个SHELL，即终端<br />
2、用CD 命令进入源代码压缩包所在的目录<br />
3、根据压缩包类型解压缩文件(*代表压缩包名称)<br />
tar -zxvf ****.tar.gz<br />
tar -jxvf ****.tar.bz(或bz2)<br />
4、用CD命令进入解压缩后的目录<br />
5、输入编译文件命令：./configure（有的压缩包已经编译过，这一步可以省去）<br />
6、然后是命令：make<br />
7、再是安装文件命令：make install<br />
8、安装完毕<br />
===如何卸载：<br />
1、打开一个SHELL，即终端<br />
2、用CD 命令进入编译后的软件目录，即安装时的目录<br />
3、执行反安装命令：make uninstall<br />
====安装目录：注意make install命令过程中的安装目录，或者阅读安装目录里面的readme文件，当然最好的办法是在安装的过程中指定安装目录，即在./configure命令后面加参数&#8211;prefix=/**，<br />
如：./configure &#8211;prefix=/usr/local/aaaa，即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里，可以到那里去找找.</p>
<p>使用java编译的安装程序xxx.jar<br />
1、你的系统上必须有java虚拟机软件，如果没有，到Sun公司的网站上下载一个装上（http://www.java.com或者http://java.sun.com）。要安装xxx.jar形式的软件包。<br />
2、打开终端，切换到xxx.jar所在目录，执行：<br />
<coolcode linenum="off">java -jar xxx.jar</coolcode><br />
这样就启动了安装程序。<br />
3、如果你想卸载该软件包的话，可以在原目录下运行命令：<br />
make uninstall</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20070904_rpm-apt-dpkg-linux-soft-install.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>APT介绍和使用</title>
		<link>http://www.ksarea.com/articles/20070902_apt-introduction-usage-howto.html</link>
		<comments>http://www.ksarea.com/articles/20070902_apt-introduction-usage-howto.html#comments</comments>
		<pubDate>Sun, 02 Sep 2007 08:05:10 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/?p=126</guid>
		<description><![CDATA[APT（Advanced Package Tool）是 Debian GNU/Linux 用来管理套件的工具，Conectiva 这家巴西的 Linux 套件公司将它移植到使用 RPM 系统的 Linux 套件上，們可以用 APT 来管理我們的 RPM ，不管是安装、移除、或是升級，APT 都做的到，可是我们选用 APT 最大的理由是：它能够自动处理 RPM 相依性的问题，例如：当我们要安装 A rpm，而 A rpm 和 B rpm 又有相依关系的时候，传统作法是先下载 B rpm 安装之后，再下载 A rpm 安装之；可是我们若有安装APT，则只要下一行「apt-get install A」指令就可以了，这样 APT 就会帮我们下载 A rpm，且会自动下载相依性档案（B rpm）帮我们安装，如此一來我们对于 RPM 的安装、移除、或是升級都可以不用去管相依性问题了。
上述的RPM全称是Red Hat Package Manager（Red Hat包管理器）。RPM本质上就是一个包，包含可以立即在特定机器体系结构上安装和运行的Linux软件。这里顺便说说Linux软件扩展名。软件后缀为.rpm 最初是Red Hat Linux提供的一种包封装格式，现在许多Linux发行版本都使用；后缀为.deb是Debain Linux提供的一种包封装格式；后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的；后缀为.bin 的一般是一些商业软件。通过扩展名可以了解软件格式，进而了解软件安装。
Apt 使用参考
命令 [...]]]></description>
			<content:encoded><![CDATA[<p><span class="text">APT（<strong>A</strong>dvanced <strong>P</strong>ackage <strong>T</strong>ool）是 </span><a href="http://www.debian.org/"><span class="text">Debian GNU/Linux</span></a><span class="text"> 用来管理套件的工具，</span><a href="http://www.conectiva.com.br/"><span class="text">Conectiva</span></a><span class="text"> 这家巴西的 Linux 套件公司将它移植到使用 R</span>PM 系统的 Linux 套件上，們可以用 APT 来管理我們的 RPM ，不管是安装、移除、或是升級，APT 都做的到，可是我们选用 APT 最大的理由是：<font color="#000000">它能够自动处理 RPM 相依性的问题</font>，例如：当我们要安装 A rpm，而 A rpm 和 B rpm 又有相依关系的时候，传统作法是先下载 B rpm 安装之后，再下载 A rpm 安装之；可是我们若有安装APT，则只要下一行「<strong><em>apt-get install A</em></strong>」指令就可以了，这样 APT 就会帮我们下载 A rpm，且会自动下载相依性档案（B rpm）帮我们安装，如此一來我们对于 RPM 的安装、移除、或是升級都可以不用去管相依性问题了。</p>
<p>上述的RPM全称是Red Hat Package Manager（Red Hat包管理器）。RPM本质上就是一个包，包含可以立即在特定机器体系结构上安装和运行的Linux软件。这里顺便说说Linux软件扩展名。软件后缀为.rpm 最初是Red Hat Linux提供的一种包封装格式，现在许多Linux发行版本都使用；后缀为.deb是Debain Linux提供的一种包封装格式；后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的；后缀为.bin 的一般是一些商业软件。通过扩展名可以了解软件格式，进而了解软件安装。</p>
<p>Apt 使用参考<br />
<strong>命令                                         </strong>	                                                                              <strong>作用</strong><br />
apt-cache search package                         搜索包<br />
apt-cache show package                           获取包的相关信息，如说明、大小、版本等<br />
sudo apt-get install package                      安装包<br />
sudo apt-get install package &#8211; - reinstall   	重新安装包<br />
sudo apt-get -f install                                 	强制安装<br />
sudo apt-get remove package                    删除包<br />
sudo apt-get remove package &#8211; - purge     删除包，包括删除配置文件等<br />
sudo apt-get autoremove                           自动删除不需要的包<br />
sudo apt-get update                                   更新源<br />
sudo apt-get upgrade                                 更新已安装的包<br />
sudo apt-get dist-upgrade                          	升级系统<br />
sudo apt-get dselect-upgrade                     	使用 dselect 升级<br />
apt-cache depends package                       了解使用依赖<br />
apt-cache rdepends package                      	了解某个具体的依赖<br />
sudo apt-get build-dep package                  安装相关的编译环境<br />
apt-get source package                               	下载该包的源代码<br />
sudo apt-get clean &amp;&amp; sudo apt-get autoclean 	清理下载文件的存档<br />
sudo apt-get check                                       	检查是否有损坏的依赖</p>
<p>备注：package 为软件包名称。</p>
<p>想对APT的工作方式有个更详细的理解，参考：&lt;&lt;<a href="http://www.debian.org/doc/manuals/apt-howto/index.zh-cn.html#contents" target="_blank">APT  HOWTO</a>&gt;&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20070902_apt-introduction-usage-howto.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux常用命令</title>
		<link>http://www.ksarea.com/articles/20070421_ubuntu_commands.html</link>
		<comments>http://www.ksarea.com/articles/20070421_ubuntu_commands.html#comments</comments>
		<pubDate>Sat, 21 Apr 2007 07:14:11 +0000</pubDate>
		<dc:creator>king</dc:creator>
				<category><![CDATA[Linux相关]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.ksarea.com/?p=48</guid>
		<description><![CDATA[1,查询当前目录文件列表：ls
ls命令默认状态下将按首字母升序列出你当前文件夹下面的所有内容，但这样直接运行所得到的信息也是比较少的，通常它可以结合以下这些参数运行以查询更多的信息： 
ls /     显示/.下的所有文件和目录 
ls -l   给出文件或者文件夹的详细信息
ls -a   显示所有文件，包括隐藏文件
ls -h   以KB/MB/GB方式给出文件大小,而不仅仅是字节.

2,查询当前所在目录：pwd
在Linux层次目录结构中，用户可以在被授权的任意目录下利用mkdir命令创建新目录，也可以利用cd命令从一个目录转换到另一个目录。然而，没有提示符来告知用 户目前处于哪一个目录中。要想知道当前所处的目录，可以使用pwd命令，该命令显示整个路径名。
语法：pwd
说明：此命令显示出当前工作目录的绝对路径。

3,进入其他目录：cd
功能：改变工作目录。
语法：cd [directory]
说明：该命令将当前目录改变至directory所指定的目录。若没有指定directory， 则回到用户的主目录。为了改变到指定目录，用户必须拥有对指定目录的执行和读权限。
例如：king@king-desktop:/usr$ pwd
/usr
king@king-desktop:/usr$ cd /root/
king@king-desktop:/root$ pwd
/root
king@king-desktop:/root$

4,在屏幕上输出字符：echo
例如：king@king-desktop:/root$ echo &#8220;hello&#8221;
hello

5,显示文件内容：cat
例如：king@king-desktop:/tmp$ cat temp
text  test  temp

6,复制文件：cp
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中，同MSDOS下的copy命令一样，功能十分强大。
语法： cp [选项] 源文件或目录 目标文件或目录 说明：该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下：
-a  该选项通常在拷贝目录时使用。它保留链接、文件属性，并递归地拷贝目录，其作用等于dpR选项的组合。
-d  拷贝时保留链接。
-f   删除已经存在的目标文件而不提示。
-i   和f选项相反，在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖，是交互式拷贝。
-p  此时cp除复制源文件的内容外，还将把其修改时间和访问权限也复制到新文件中。
-r   [...]]]></description>
			<content:encoded><![CDATA[<p><font color="#ff0000"><strong>1,</strong><strong>查询当前目录文件列表：<font color="#0000ff">ls</font></strong></font><br />
ls命令默认状态下将按首字母升序列出你当前文件夹下面的所有内容，但这样直接运行所得到的信息也是比较少的，通常它可以结合以下这些参数运行以查询更多的信息： <span class="anchor" id="line-180"></span><span class="anchor" id="line-181"></span><strong><tt><br />
ls /</tt></strong>     显示/.下的所有文件和目录 <span class="anchor" id="line-182"></span><br />
<strong><tt>ls -l</tt></strong>   给出文件或者文件夹的详细信息<br />
<strong><tt>ls -a</tt></strong>   显示所有文件，包括隐藏文件<span class="anchor" id="line-184"></span><br />
<strong><tt>ls -h</tt></strong>   以KB/MB/GB方式给出文件大小,而不仅仅是字节.<br />
<span id="more-48"></span><br />
<font color="#ff0000"><strong>2,查询当前所在目录：<font color="#0000ff">pwd</font></strong></font><br />
在Linux层次目录结构中，用户可以在被授权的任意目录下利用mkdir命令创建新目录，也可以利用cd命令从一个目录转换到另一个目录。然而，没有提示符来告知用 户目前处于哪一个目录中。要想知道当前所处的目录，可以使用pwd命令，该命令显示整个路径名。<br />
语法：<strong>pwd</strong><br />
说明：此命令显示出当前工作目录的绝对路径。<br />
<font color="#ff0000"><strong><br />
3,进入其他目录：<font color="#0000ff">cd</font></strong></font><br />
功能：改变工作目录。<br />
语法：<strong>cd</strong> [directory]<br />
说明：该命令将当前目录改变至directory所指定的目录。若没有指定directory， 则回到用户的主目录。为了改变到指定目录，用户必须拥有对指定目录的执行和读权限。<br />
例如：king@king-desktop:/usr$ pwd<br />
/usr<br />
king@king-desktop:/usr$ cd /root/<br />
king@king-desktop:/root$ pwd<br />
/root<br />
king@king-desktop:/root$<br />
<font color="#ff0000"><strong><br />
4,在屏幕上输出字符：<font color="#0000ff">echo</font></strong></font><br />
例如：king@king-desktop:/root$ echo &#8220;hello&#8221;<br />
hello<br />
<font color="#ff0000"><strong><br />
5,显示文件内容：<font color="#0000ff">cat</font><br />
</strong><font color="#000000">例如：king@king-desktop:/tmp$ cat temp<br />
text  test  temp<br />
<font color="#ff0000"><strong><br />
6,</strong></font></font><strong>复制文件：<font color="#0000ff">cp</font></strong></font><br />
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中，同MSDOS下的copy命令一样，功能十分强大。<br />
语法： <strong>cp</strong> [选项] 源文件或目录 目标文件或目录 说明：该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。<br />
该命令的各选项含义如下：<br />
<strong>-a</strong>  该选项通常在拷贝目录时使用。它保留链接、文件属性，并递归地拷贝目录，其作用等于dpR选项的组合。<br />
<strong>-d  </strong>拷贝时保留链接。<br />
<strong>-f   </strong>删除已经存在的目标文件而不提示。<br />
<strong>-i</strong>   和f选项相反，在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖，是交互式拷贝。<br />
<strong>-p</strong>  此时cp除复制源文件的内容外，还将把其修改时间和访问权限也复制到新文件中。<br />
<strong>-r</strong>   若给出的源文件是一目录文件，此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。<br />
<strong>-l</strong>   不作拷贝，只是链接文件。<br />
例如：king@king-desktop:~$ ls<br />
Desktop  Examples  file2.txt  new_file.txt<br />
king@king-desktop:~$ cp file2.txt file2_copy.txt<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2.txt  new_file.txt<br />
<font color="#ff0000"><strong><br />
7,移动文件：<font color="#0000ff">mv</font></strong></font><br />
<font color="#000000">用户可以使用<em>mv</em>命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MSDOS下的ren和move的组合。</font><br />
<font color="#000000">语法：<strong>mv</strong> [选项] 源文件或目录 目标文件或目录</font><br />
<font color="#000000">说明：视mv命令中第二个参数类型的不同（是目标文件还是目标目录），mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时，mv命令完成文件重命名，此时，源文件只能有一个（也可以是源目录名），它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时，源文件或目录参数可以有多个，mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时，mv先拷贝，再将原有文件删除，而链至该文件的链接也将丢失。</font><br />
<font color="#000000">命令中各选项的含义为：</font><br />
<font color="#000000"><strong>-i</strong>   交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖，此时系统询问是否重写，要求用户回答y或n，这样可以避免误覆盖文件。</font><br />
<font color="#ff0000"><font color="#000000"><strong>-f</strong>   禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示，指定此选项后，i选项将不再起作用。</font></font><font color="#ff0000"><font color="#000000"><br />
例如：</font></font><font color="#ff0000"><font color="#000000">king@king-desktop:~$ ls<br />
Desktop  Examples  file1.txt  file2.txt<br />
king@king-desktop:~$ mov file1.txt new_file.txt<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file2.txt  new_file.txt<br />
king@king-desktop:~$ mv -v file2.txt file2_new.txt<br />
‘file2.txt’ -&gt; ‘file2_new.txt’</font></font></p>
<p><font color="#ff0000"><font color="#000000"><font color="#ff0000"><strong><br />
8,</strong></font></font><strong>建立一个空文本文件：<font color="#0000ff">touch</font><br />
</strong><font color="#000000">例如：king@king-desktop:~$ ls<br />
Desktop  Examples<br />
<strong>      </strong>     king@king-desktop:~$ touch file1.txt<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file1.txt<br />
<font color="#ff0000"><strong><br />
9,</strong></font></font><strong>建立一个目录：<font color="#0000ff">mkdir</font></strong></font><br />
功能：创建一个目录（类似MSDOS下的md命令）。<br />
语法：mkdir [选项] dir-name<br />
说明：该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中（dir-name的父目录中）具有写权限，并且dirname不能是当前目录中已有的目录或 文件名称。<br />
命令中各选项的含义为：<br />
<strong>-m</strong> 对新建目录设置存取权限。也可以用chmod命令设置。<br />
<strong>-p</strong> 可以是一个路径名称。此时若路径中的某些目录尚不存在， 加上此选项后， 系统将自动建立好那些尚不存在的目录，即一次可以建立多个目录。<br />
例如：king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2_new.txt  new_file.txt<br />
king@king-desktop:~$ mkdir test_dir<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2_new.txt  new_file.txt  test_dir<br />
<font color="#ff0000"><strong><br />
10,删除文件/目录：<font color="#0000ff">rm</font></strong></font><br />
用户可以用<strong>rm</strong>命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录，它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件，只是断开了链接，原文件保持不变。<br />
语法：<strong>rm</strong> [选项] 文件<br />
说明：如果没有使用-r选项，则rm不会删除目录。<br />
该命令的各选项含义如下：<br />
<strong>-f</strong>   忽略不存在的文件，从不给出提示。<br />
<strong>-r</strong>  指示rm将参数中列出的全部目录和子目录均递归地删除。<br />
<strong>-i</strong>   进行交互式删除。<br />
例如：king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2_new.txt  new_file.txt  test_dir<br />
king@king-desktop:~$ rm -r test_dir<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2_new.txt  new_file.txt<br />
king@king-desktop:~$ rm new_file.txt<br />
king@king-desktop:~$ ls<br />
Desktop  Examples  file2_copy.txt  file2_new.txt<br />
删除操作没有提示不安全，可以使用命令：<br />
king@king-desktop:~$ rm -i file2_new.txt<br />
rm：是否删除 一般空文件‘file2_new.txt’? y</p>
<p>若将rm -i设定为默认则执行：<br />
king@king-desktop:~$ alias rm=&#8217;rm -i&#8217;<br />
<font color="#ff0000"><strong><br />
11,查询当前进程：<font color="#0000ff">ps</font></strong><font color="#000000"><br />
</font></font>[root@localhost eva]# ps -aux 查看所有进程<br />
top：显示系统内存、cpu使用情况，并可自动刷新进程列表<br />
vmstat：显示当前的内存使用情况<br />
netstat：显示网络状况，使用参数p可以查看对应的进程号及程序名，通常使用参数a（显示所有连接情况）和n（不反查域名和服务名）。<br />
例如：netstat -anp。<br />
查看服务器侦听情况，使用：netstat -an | grep LISTEN<br />
查看服务器已建立的连接，使用：netstat -an | grep ESTABLISHED<br />
ifconfig：查看(或设置）网络设备信息<br />
ifconfig -a：查看所有网络设置信息<br />
last：显示登录到服务器的情况以及服务器重启情况<br />
df：显示硬盘空间及使用情况，Linux下可以带参数h，显示结果更人性化。<br />
例如：<br />
df -h 硬盘空间按人性化显示<br />
df -k 硬盘空间按KB显示<br />
df -m 硬盘空间按MB显示<br />
w：显示登录到服务器上的用户列表 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksarea.com/articles/20070421_ubuntu_commands.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
