<?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>简单生活@NET &#187; Debian</title>
	<atom:link href="http://lee.kometo.com/archives/tag/debian/feed" rel="self" type="application/rss+xml" />
	<link>http://lee.kometo.com</link>
	<description>正确的判断来自经验，但经验往往来自错误的判断</description>
	<lastBuildDate>Tue, 10 Aug 2010 11:01:45 +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>从Etach到Lenny，Debian+ISPCP升级笔记</title>
		<link>http://lee.kometo.com/archives/385</link>
		<comments>http://lee.kometo.com/archives/385#comments</comments>
		<pubDate>Fri, 30 Oct 2009 04:00:42 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[ispcp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=385</guid>
		<description><![CDATA[本来有一台Linux服务器，运行Debian 4.0 Etach 和 ISPCP 1.0.0 RC6 近期看到ISPCP正式版已经发布好久了,就决定升级.升级路线是首先 升级Debian 到 Lenny (5.0),然后再升级ISPCP A 升级Linux 升级的方法很简单 1) (可选的) 检查你的更新源列表（sources.list) apt-spy -d stable -t 5 update #是用Stable或者Lenny现阶段效果应该是一样的 有些指南让你加上国家和地区参数，时间没有必要，事实上我们访问最快的源往往都在国外。 你也可以手动去更新 /etc/apt/sources.list 2) 更新系统 aptitude update &#38;&#38; aptitude upgrade 这一步可能需要反复运行几次，如果有软件版本冲突提示，你需要运行 aptitude 手动选择冲突解决方案 一直运行到aptitude update &#38;&#38; aptitude upgrade提示没有需要更新软件包了，系统升级完成 3)可能遇到的问题 我遇到问题是：Mysql升级到5.2以后不能自动启动了，检查 /etc/log/daemon.log发现一个提示 /etc/init.d/mysql[2130]: ERROR: Using expire_logs_days without log_bin crashes the server. [...]]]></description>
			<content:encoded><![CDATA[<p>本来有一台Linux服务器，运行Debian 4.0 Etach 和 ISPCP 1.0.0 RC6</p>
<p>近期看到ISPCP正式版已经发布好久了,就决定升级.升级路线是首先 升级Debian 到 Lenny (5.0),然后再升级ISPCP</p>
<h2>A 升级Linux</h2>
<p>升级的方法很简单</p>
<p><strong>1) (可选的) 检查你的更新源列表（sources.list)</strong></p>
<p>apt-spy -d stable -t 5 update #是用Stable或者Lenny现阶段效果应该是一样的</p>
<p>有些指南让你加上国家和地区参数，时间没有必要，事实上我们访问最快的源往往都在国外。</p>
<p>你也可以手动去更新 /etc/apt/sources.list</p>
<p><strong>2) 更新系统</strong></p>
<p>aptitude update &amp;&amp; aptitude upgrade</p>
<p>这一步可能需要反复运行几次，如果有软件版本冲突提示，你需要运行 aptitude 手动选择冲突解决方案</p>
<p>一直运行到aptitude update &amp;&amp; aptitude upgrade提示没有需要更新软件包了，系统升级完成</p>
<p><strong>3)可能遇到的问题</strong></p>
<p>我遇到问题是：Mysql升级到5.2以后不能自动启动了，检查 /etc/log/daemon.log发现一个提示</p>
<blockquote><p>/etc/init.d/mysql[2130]: ERROR: Using expire_logs_days without log_bin crashes the server. See README.Debian.gz</p>
</blockquote>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">log_bin = /var/log/mysql/mysql-bin.log</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">expire_logs_days = 10</div>
<p>修改 /etc/mysql/my.cnf 解决问题</p>
<blockquote><p>#log_bin = /var/log/mysql/mysql-bin.log #这一行本来是被注释掉的</p>
<p>expire_logs_days = 10</p>
</blockquote>
<p>完成上述步骤后服务器及ISPCP应该仍然可以正常工作，检查处理完可能存在的问题后，准备升级ISPCP</p>
<h2>B) 更新 ISPCP到 1.0.2</h2>
<p>安装ISCP官方说明逐步操作</p>
<p><a href="http://www.isp-control.net/documentation/doku.php?id=start:upgrade:rc" target="_blank">http://www.isp-control.net/documentation/doku.php?id=start:upgrade:rc</a></p>
<p>几点说明：</p>
<p><span id="more-385"></span></p>
<p><strong>1）更新/ect/apt/sourcs.list</strong></p>
<p>直接使用上述apt-spy获取的sources.list,按如下格式添加 contrib 和 non-free 参数</p>
<blockquote><p>deb http://ftp.tw.debian.org/debian/ lenny main <strong>contrib non-free</strong></p>
<p>deb http://security.debian.org/ lenny/updates main <strong>contrib non-free</strong></p>
<p>deb-src http://ftp.tw.debian.org/debian/ lenny main <strong>contrib non-free</strong></p>
</blockquote>
<p><strong>2)</strong> 如果你已经采取了其他系统备份措施，官方说明中的第6步（BACKUPS）是可以跳过的</p>
<p><strong>3)</strong> 第9步：【 cp -Rv /tmp/ispcp/var/* /var/ 】，你可能会遇到一个无法覆盖的提示： /var/www/ispcp/daemon/ispcp_daemon Text in busy，你可以忽略，或者先停止ispcp_daemon【/etc/init.d/ispcp_daemon stop】</p>
<p><strong>4）</strong>如果你在perl ispcp-update 过程中遇到需要输入密码的步骤，如果恰好你又选择了 【auto generated 】，恩，慢慢等吧，不是死机了，就是慢。</p>
<p><strong>5）</strong>如果你安装官方步骤升级完遇到服务器报”500 Server Error”错误</p>
<p>出现这个错误的可能原因很多，首先你需要检查你的Apache，FastCGI，PHP是否使用了非官方集成的插件，比如eAccelerator等。500错误一般出现在FastCGI和PHP引擎。</p>
<p>我的情况是eAccelerator版本过期，因为PHP升级了，所以需要重新编译eAccelerator</p>
<p>有关eAccelerator的安装和配置参阅 <a href="http://isp-control.net/documentation/doku.php?id=howto:eaccelerator" target="_blank">http://isp-control.net/documentation/doku.php?id=howto:eaccelerator</a></p>
<p><strong>6）</strong>学会追踪分析各类日志文件是解决各类问题的最好方法，比如上述500问题，如果不是通过日志分析，想找到问题根源实在是太难。而且ISPCP默认没有启用PHP的错误日志文件记录，我还是手动修改PHP.ini，启用PHP日志后才追踪发现问题的根源的。</p>
<p>/var/log/* 大部分系统LOG文件都是放在这里的</p>
<p><strong>7) </strong>ISPCP的配置和日志文件结构</p>
<pre>/etc
     /apach2
             /apache2.conf           #apache 主配置文件
             /conf.d/*               #附加配置文件
             /mods-*/*               #附加MOD配置文件
             /sites-*/*              #站点配置文件
             /ispcp                  #ISPCP各客户站点配置，这个目录实际上链接到了 /sites-*/* 目录下了
     /php5
             /cgi/php.ini            #php 主配置文件
             /cli/phpini             #php 的 cli 配置文件
             /conf.d/*               #PHP 附加配置文件
     /ispcp
             /ispcp.conf             #ispcp 主配置文件
             /apache/*               #apache 相关的配置文件模板
             /fcgi/*                 #php    相关的配置文件模板和脚本模板
             /*other                 #应该是其他一些相关配置的模板
/var/www
     /fcgi                           #各客户站点的PHP配置文件及FastCGI的PHP启动脚本
             /domain.com             #一个站点
                /php5/php.ini        #PHP 的站点配置文件
                /php5-fcgi-starter   #启动PHP 的FASTCGI脚本
     /ispcp                          #ispcp的运行文件
             /gui                    #管理站点文件
     /virtual/domain.com             #各个客户站点主目录
             /htdocs                 #网站根目录
             /errors                 #错误提示的相关文件HTML
             /cgi-bin                #脚本目录
             /backups                #备份文件，自动/手动
             /logs                   #这个不用说了吧，默认的这里放的是Apache的LOG文件
             /phptmp                 #脚本临时文件，默认的Session文件放这里的
/var/log
     /kern.log                       #系统核心
     /daemon.log                     #系统服务
     /mysql.err
     /mysql.log
     /mysql/*                        #Mysql想关的LOG
     /apache2/*                      #Apache的LOG（Combined,error,traf,suexec等到）还有各个站点，
                                     #这里的LOG和/var/www/virtual//domain.com/log 是什么关系我还没搞清楚
</pre>
<p>8) 关于修改ISPCP配置模板文件以后如何刷新各站点，请参阅：</p>
<p><a href="http://www.isp-control.net/documentation/doku.php?id=howto:ispcp:regenerate_config" target="_blank">http://www.isp-control.net/documentation/doku.php?id=howto:ispcp:regenerate_config</a></p>
<p>关于PHP的站点配置文件刷新，官方说明有误刷新前你必须删除原有的站点配置文件，才会刷新，另外master站点不会刷新的。</p>
<p>ISPCP的各处PHP配置文件加载顺序为<br />
1 /etc/php5/cgi/php.ini<br />
2 /var/www/fcgi/domain.com/php5/php.ini<br />
3 /etc/php5/conf.d/*</p>
<p>下面的配置会覆盖上面的配置，所以你可以把共性的配置定义放到conf.d目录下，专门建立一个文件放置。而把需要每个站点单独配置的特别是设计路径的配置项放到parts/php.ini中，然后刷新生效。</p>
<p>下面是我的对配置文件的修改</p>
<pre lang="ini">;添加到 /etc/ispcp/fcgi/parts/php5/php.ini 结尾
[Append per site]
eaccelerator.cache_dir = "{WWW_DIR}/{DMN_NAME}/phptmp"
error_log               = {WWW_DIR}/{DMN_NAME}/logs/php-error.log
</pre>
<pre lang="ini">;添加到 /etc/php5/conf.d/my.ini

disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, shell, symlink, popen, proc_open

file_uploads		= On

upload_max_filesize	= 20M
post_max_size		= 30M

;memory_limit		= 128M

max_input_time		= 300
;max_execution_time	= 30 

error_reporting      =  E_ALL &amp; ~E_NOTICE | E_WARNING | E_STRTCT
log_errors             = On
display_errors	= Off
</pre>
<p>下面是我写的一个自动刷新ISPCP PHP配置文件的脚本</p>
<pre lang="sh">#!/bin/sh
/etc/init.d/ispcp_daemon stop

echo 'Enter the password of root for mysql'
mysql -u root -p &lt; ispcp-reset-site-status.sql

echo 'Wating........'
rm -r ispcp-conf-backups
mkdir -p ispcp-conf-backups
mv /var/www/fcgi/*.* ispcp-conf-backups

/var/www/ispcp/engine/ispcp-rqst-mngr
/etc/init.d/ispcp_daemon start

/etc/init.d/apache2 restart
</pre>
<p>配套的SQL文件，务必保存成文件名：ispcp-reset-site-status.sql，并放到和上面脚本相同的目录下</p>
<pre lang="sql">USE ispcp;
UPDATE `domain` SET `domain_status` = 'change' WHERE `domain_status` = 'ok';
UPDATE `subdomain` SET `subdomain_status` = 'change' WHERE `subdomain_status` = 'ok';
UPDATE `domain_aliasses` SET `alias_status` = 'change' WHERE `alias_status` = 'ok';
</pre>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/385/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux入门-安装篇(Debian 服务器版)</title>
		<link>http://lee.kometo.com/archives/170</link>
		<comments>http://lee.kometo.com/archives/170#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:57:55 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[虚拟主机]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=170</guid>
		<description><![CDATA[本文描述了安装一个Linux（Debian）服务器的全过程，并附加了一些必要的参考文章，通篇以Debian为基础，以建立一个服务器（非桌面环境）为主要目的。 准备知识 这里列出的是一些经常使用到命令和功能，你不需要现在就完全理解，以后的配置工作随时会需要借助这些命令，粗略看一下，需要是再回来仔细看。 查找文件 #在/etc目录下查找init.d find /etc -name init.d #在当前目录下查找init* find . -name init* #在根目录下查找所有文件名以httpd开头的文件，并使用ls输出 find / -name 'httpd*' -ls #find还有很多更高级的功能，根据时间查找，指定查找层次等 ls *A* #查询当前目录下（含子目录）的匹配文件 (描述可能不准确) 进程及任务管理 ps / ps -A f #查看进程列表 kill ID #杀死指定进程ID jobs #当前任务列表 fg #把job提到前台 bg #把job放到后台运行 &#38; #这个用在一个命令的最后，可以把这个命令放到后台执行 #快捷键 ctrl+z 把当前工作放到后台，并停止运行 参考：http://www.linuxeden.com/html/sysadmin/20080618/58737.html 修改主机名 hostname newname 主机的域信息在 /etc/hosts 重启,开关机 reboot 重启 [...]]]></description>
			<content:encoded><![CDATA[<p>本文描述了安装一个Linux（Debian）服务器的全过程，并附加了一些必要的参考文章，通篇以Debian为基础，以建立一个服务器（非桌面环境）为主要目的。</p>
<h3><span id="more-170"></span><br />
</h3>
<h3><strong>准备知识</strong></h3>
<p>这里列出的是一些经常使用到命令和功能，你不需要现在就完全理解，以后的配置工作随时会需要借助这些命令，粗略看一下，需要是再回来仔细看。</p>
<ul>
<li>查找文件
<pre lang="bash">#在/etc目录下查找init.d
find /etc -name init.d
#在当前目录下查找init*
find . -name init*
#在根目录下查找所有文件名以httpd开头的文件，并使用ls输出
find / -name 'httpd*' -ls
#find还有很多更高级的功能，根据时间查找，指定查找层次等

ls *A* #查询当前目录下（含子目录）的匹配文件 (描述可能不准确)
</pre>
</li>
<li> </li>
<li>进程及任务管理
<pre lang="bash">ps / ps -A  f     #查看进程列表
kill ID           #杀死指定进程ID
jobs              #当前任务列表
fg                #把job提到前台
bg                #把job放到后台运行
&amp;                 #这个用在一个命令的最后，可以把这个命令放到后台执行
#快捷键 ctrl+z 把当前工作放到后台，并停止运行
</pre>
<p>参考：http://www.linuxeden.com/html/sysadmin/20080618/58737.html</p>
</li>
<li>修改主机名<br />
 hostname newname<br />
 主机的域信息在 /etc/hosts</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<ul>
</ul>
</li>
<li>重启,开关机
<ul>
<li>reboot 重启 </li>
<li>poweroff 关机 </li>
<li>halt/shutdown</li>
<li>开关机的高级控制命令</li>
<li> /etc/init.d/下有一些控制脚本，可以用来控制一些服务启动，关闭等<br />
 调用这些脚本必须用全路径，类似：<br />
 /etc/rc.d/init.d/proftpd  restart<br />
 /etc/init.d/networking {start|stop|restart|force-reload} </li>
<li>重启一些指定服务</li>
</ul>
</li>
<li>其它
<ul>
<li>用好 TAB建，命令行下，很多情况它可以帮助你自动完成</li>
<li>Vim编辑器是必须掌握的，参看这里：<a rel="bookmark" href="../index.php/archives/176">Linux通用编辑器 VI VIM 入门</a></li>
</ul>
</li>
</ul>
<h3><strong>安装123</strong></h3>
<ul>
<li>启动盘启动安装<br />
 没啥好说的，从官网上随便下个好了，其它渠道获得的安装光盘也可以<br />
 如果安装机器可以连接外网的，网速快的直接用最小的MINI镜像（推荐，图形安装界面，很漂亮），这样直接使用最新软件源<br />
 如果安装机器网速慢或者没网络，找个大的镜像吧，并在下面的步骤中跳过 ”配置APT，扫描更新（可选）“</li>
<li>如果有网络，配置好网络，为下一步安装做准</li>
<li>主机名及域名，<br />
 如果你准备使用 www.abc.com这样的域名，建议使用www作为主机名，abc.com作为域名（实际可以随便填）<br />
 如果不准备使用域名，随便填</li>
<li>磁盘分区<br />
 没啥，按提示做好了，除非有特殊需要，全默认好了 </li>
<li>设置Root帐号密码，另外建立一个普通帐号</li>
<li>开始安装系统文件&#8230;&#8230;.<br />
 有点慢，5分钟吧</li>
<li>配置APT，扫描更新（可选）<br />
 不要选择里面的中国的镜像服务器，它比美国的还慢，还不稳定<br />
 推荐一个国内镜像http://www.anheng.com.cn/debian/ ，不在自动列表中，需要手动输入的，输入这个就行www.anheng.com.cn（测试时间&#8211;2008-10.29）<br />
 这里的进度条有时有问题，会长时间不动，其实是正在下载镜像中的资源，如果你不幸选择了一个较慢的镜像服务器，等待吧，也许要20分钟+～～<em>（出现这种情况建议你考虑重新开始安装以转换或放弃镜像服务器，否则接下来的的软件会让你崩溃）</em><br />
 如果有问题就直接跳过吧，以后可以在做的如果使用的是MINI镜像（&lt;10M）安装，这一步是必须的 </li>
<li>选择系统安装包<br />
 出现一个安装包列表，让你选择系统功能，如：桌面系统、WEB服务器、文件服务器、标准系统等，可以多选<br />
 这个列表的项目取决于你的安装镜像和方式，如果使用了上面的APT更新，可以获取最全的安装包<br />
 如果你是单机用户，桌面系统和标准系统是必选的<br />
 如果你是服务器用户，根据需要选择吧，也可以什么都不选，安装完再慢慢配<br />
 如果你要快速搭建一个WEB服务器选择 ”web服务器“ ，它会给你配置一个很稳定全面的WEB服务器</li>
<li>安装软件<br />
 安装上面选择安装包，和一些基本系统软件（即使你什么都没选）<br />
 速度取决于你选择的安装包和你的镜像来源 </li>
</ul>
<h3><strong>初始化系统123</strong></h3>
<p>这些工作是在系统安装完成后需要立即进行的工作，他们为你准备一个完善的系统环境，所有操作没有详细说明，可以参看最后的相关文章</p>
<p><strong><br />
 </strong></p>
<pre lang="bash">## 更新APT镜像源 ##

apt-get install apt-spy
mv /etc/apt/sources.list /etc/apt/sources.list.bak
apt-spy update
apt-spy -d stable-a Asia -t 10
apt-get update
apt-get upgrade

##安装几个基本软件 ##

#安装SSH服务，安装完这一步就可以用SSH telnet到服务器管理了
#另一个可能的命令是 apt-get install ssh
apt-get install openssh-server

#安装完整版 VIM
apt-get install vim

## 设定系统时间 ##

vim /etc/default/rcS     #设定硬件时钟的类型，修改UTC=no,重启后生效
apt-get install ntpdate  #安装网络时间同步服务

#设定自动同步计划
#添加这一行： */30 * * * * /usr/sbin/ntpdate pool.ntp.org
crontab -e

## 设定系统提示符及bash环境 ##

cd ~
vim .bashrc      #编辑.bashrc文件，去掉所有命令行的注释符，并可以配置promote格式
source .bashrc   #重载bash，是配置生效</pre>
<p><br class="spacer_" /></p>
<p><strong>恭喜你！！完成了，到此一个可以工作的Linux系统就基本完成，后续的是一些进一步管理时需要深入的内容，你可以在需要时参考。</strong></p>
<hr style="width: 2px;" />
<p><br class="spacer_" /></p>
<h3><strong>安全，还是安全，</strong></h3>
<p style="padding-left: 30px;">作为服务器，这是首先应该考虑的，待完成。。。。。～</p>
<p style="padding-left: 30px;">参考：http://man.ddvip.com/os/debiansecuring-howto/ch-sec-services.zh-cn.html</p>
<h3><strong>网络配置</strong></h3>
<p>主要配置文件</p>
<p>/etc/network/interfaces</p>
<p>相关命令：</p>
<pre lang="bash">hostname newname  #修改主机名
                  #主机的域信息在 /etc/hosts
ifconfig          #网络配置及显示
route             #路由配置及显示
ip                #IP配置

#重启网络
/etc/init.d/networking {start|stop|restart|force-reload}</pre>
<p><br class="spacer_" /></p>
<h3><strong>其他软件简单介绍</strong><br />
</h3>
<ul>
<li><strong>ISPCP<br />
 </strong>参考 http://www.isp-control.net/documentation/start/installation/debian</li>
<li><strong>ProFTPD<br />
 </strong>参考 http://goto8848.net/2008/08/disable-proftpd-ipv6/<br />
 <strong>重启  /etc/rc.d/init.d/proftpd </strong></li>
</ul>
<ul>
</ul>
<p><br class="spacer_" /></p>
<p><strong>相关文章</strong></p>
<ul>
<li><a rel="bookmark" href="../index.php/archives/178">linux入门-系统时间设置篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/185">linux入门-终端环境(bash)设置篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/189">Linux入门-用户管理篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/176">Linux入门-通用编辑器 VI VIM </a></li>
<li><a rel="bookmark" href="../index.php/archives/195">Linux入门-软件管理篇(APT)</a></li>
</ul>
<p><br class="spacer_" /></p>
<h3 class="codeblock">
<hr style="width: 1px;" />
<hr style="border: 1px solid #cccccc; width: 2px; color: #ffffff;" noshade="noshade" />
</h3>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/170/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux入门-软件管理篇(APT)</title>
		<link>http://lee.kometo.com/archives/195</link>
		<comments>http://lee.kometo.com/archives/195#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:41:20 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sources]]></category>
		<category><![CDATA[安装]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=195</guid>
		<description><![CDATA[APT 软件安装管理系统,Debian下的系统软件安装管理工作 除非你确实知道你在什么，请一直保持使用APT相关工具来管理软件，而不要使用其它工具或方式。 准备工作 使用APT安装更新系统前，首先 确保网络或其它来源（光盘等）可用 如果使用网络镜像，请手动或自动选择最快的网络镜像来源 #自动方式 #参见下面的apt-spy #手动方式 vim /etc/apt/sources.list 基本命令 apt-get 安装，获取一个软件包 apt-get install xxxx #安装XXX apt-get update #更新软件列表 apt-get upgrade #安装所有可用更新 #上面这两步可以经常做，来保持系统的最新版本 apt-spy 一个测试工具，用来自动查找速度最快的更新服务器，它会自动改写/etc/apt/sources.list 默认系统一般没安装，先用 apt-get install apt-spy 安装上 apt-get install apt-spy #安装apt-spy mv /etc/apt/sources.list /etc/apt/sources.list.bak #备份来源列表文件 apt-spy update #更新镜像目录 apt-spy -d stable -a Asia -t 10 #测试目录，并生成sources.list aptitude 一个半图像化的APT工具，可以代替apt-get sources.list [...]]]></description>
			<content:encoded><![CDATA[<p><strong>APT 软件安装管理系统,Debian下的系统软件安装管理工作</strong></p>
<p>除非你确实知道你在什么，请一直保持使用APT相关工具来管理软件，而不要使用其它工具或方式。</p>
<p><strong>准备工作</strong></p>
<p>使用APT安装更新系统前，首先</p>
<ul>
<li>确保网络或其它来源（光盘等）可用</li>
<li>如果使用网络镜像，请手动或自动选择最快的网络镜像来源
<pre lang="bash">#自动方式
#参见下面的apt-spy

#手动方式
vim /etc/apt/sources.list
</pre>
</li>
</ul>
<ul>
</ul>
<p><span id="more-195"></span></p>
<p><strong>基本命令</strong></p>
<ul>
<li>apt-get <br />
 安装，获取一个软件包</p>
<pre lang="bash">apt-get install xxxx   #安装XXX

apt-get update         #更新软件列表
apt-get upgrade        #安装所有可用更新
#上面这两步可以经常做，来保持系统的最新版本
</pre>
<p><strong><br />
</strong> </li>
<li>apt-spy<br />
 一个测试工具，用来自动查找速度最快的更新服务器，它会自动改写<strong>/etc/apt/sources.list </strong><br />
 默认系统一般没安装，先用<strong> apt-get install apt-spy </strong>安装上</p>
<pre lang="bash">apt-get install apt-spy #安装apt-spy
mv /etc/apt/sources.list /etc/apt/sources.list.bak #备份来源列表文件
apt-spy update #更新镜像目录
apt-spy -d stable -a Asia -t 10 #测试目录，并生成sources.list</pre>
</li>
<li>aptitude<br />
 一个半图像化的APT工具，可以代替apt-get</li>
</ul>
<p><br class="spacer_" /></p>
<p><strong>sources.list </strong></p>
<p>/etc/sources.list 这个文件保存着安装镜像的来源信息，下面是一个示例</p>
<pre lang="bash"># sources.list generated by apt-spy v3.1
deb http://www.anheng.com.cn/debian/ etch main contrib non-free
deb-src http://www.anheng.com.cn/debian/ etch main
<em><em>deb http://security.debian.org/ etch/updates main contrib non-free</em></em></pre>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/195/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux入门-用户管理篇</title>
		<link>http://lee.kometo.com/archives/189</link>
		<comments>http://lee.kometo.com/archives/189#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:23:12 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[安全]]></category>
		<category><![CDATA[用户管理]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=189</guid>
		<description><![CDATA[管理用户（user）和用户组（group）的相关工具或命令 基本查询命令 w who id finger 默认似乎不安装的，手动安装：apt-get install finger cat /etc/passwd 可以查看所有用户的列表（难倒没有别的办法了吗？震惊ing） cat /etc/group 查看用户组 管理用户（user）的工具或命令 useradd    注：添加用户 userdel adduser    注：添加用户 passwd     注：为用户设置密码 usermod  注：修改用户命令，可以通过usermod 来修改登录名、用户的家目录等等； pwcov       注：同步用户从/etc/passwd 到/etc/shadow pwck         注：pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整； pwunconv  注：是pwcov 的立逆向操作，是从/etc/shadow和 /etc/passwd 创建/etc/passwd ，然后会删除 /etc/shadow 文件； finger        注：查看用户信息工具 id              注：查看用户的UID、GID及所归属的用户组 chfn          注：更改用户信息工具 su             注：用户切换工具 sudo         sudo 是通过另一个用户来执行命令（execute a command as [...]]]></description>
			<content:encoded><![CDATA[<p><strong>管理用户（user）和用户组（group）的相关工具或命令</strong></p>
<ul>
<li><span style="font-size: small;"><strong> </strong></span>基本查询命令
<ul>
<li>w</li>
<li>who</li>
<li>id</li>
<li>finger<br />
 默认似乎不安装的，手动安装：apt-get install finger</li>
<li>cat /etc/passwd<br />
 可以查看所有用户的列表（难倒没有别的办法了吗？震惊ing）</li>
<li>cat /etc/group<br />
 查看用户组</li>
</ul>
</li>
</ul>
<p><span id="more-189"></span></p>
<ul>
<li><span style="font-size: x-small;"> 管理用户（user）的工具或命令</span>
<ul>
<li>useradd    注：添加用户</li>
<li>userdel</li>
<li>adduser    注：添加用户</li>
<li>passwd     注：为用户设置密码</li>
<li>usermod  注：修改用户命令，可以通过usermod 来修改登录名、用户的家目录等等；</li>
<li>pwcov       注：同步用户从/etc/passwd 到/etc/shadow</li>
<li>pwck         注：pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整；</li>
<li>pwunconv  注：是pwcov 的立逆向操作，是从/etc/shadow和 /etc/passwd 创建/etc/passwd ，然后会删除 /etc/shadow 文件；</li>
<li>finger        注：查看用户信息工具</li>
<li>id              注：查看用户的UID、GID及所归属的用户组</li>
<li>chfn          注：更改用户信息工具</li>
<li>su             注：用户切换工具</li>
<li>sudo         <br />
 sudo 是通过另一个用户来执行命令（execute a command as another user），su 是用来切换用户，然后通过切换到的用户来完成相应的任务，<br />
 sudo 能后面直接执行命令，比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令；但得通过visudo 来编辑/etc/sudoers来实现；</li>
<li>visudo      注：visodo 是编辑 /etc/sudoers 的命令；也可以不用这个命令，直接用vi 来编辑 /etc/sudoers 的效果是一样的；</li>
<li>sudoedit  注：和sudo 功能差不多；</li>
</ul>
</li>
</ul>
<ul>
<li> 管理用户组（group）的工具或命令
<ul>
<li>groupadd  注：添加用户组</li>
<li>groupdel         注：删除用户组</li>
<li>groupmod        注：修改用户组信息</li>
<li>groups     注：显示用户所属的用户组</li>
<li>grpck</li>
<li>grpconv   注：通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ，如果/etc/gshadow 不存在则创建；</li>
<li><code>grpunconv   注：通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ，然后删除gshadow文件；</code></li>
</ul>
</li>
</ul>
<p>Linux 用户（User）查询篇：http://www.linuxsir.org/main/?q=node/105</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/189/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux入门-终端环境(bash)设置篇</title>
		<link>http://lee.kometo.com/archives/185</link>
		<comments>http://lee.kometo.com/archives/185#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:18:31 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[终端]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=185</guid>
		<description><![CDATA[Bash是Debian的默认SHELL，设置终端环境（bash）使Bash更好地为我们服务，我们需定制bash shell环境，这里讲述bash用户环境配置。 bash_profile、.bashrc、和.bash_logout 上面这三个文件是bash shell的用户环境配置文件，位于用户的主目录下。注意bash_profile、.bash_logout并不总是存在，至少Debian中就没有默认创建 一、shell的启动方式 根据shell的启动方式不同，分为登录shell、交互shell和非交互shell，不同方式启动的shell初始化过程是不同的。 1.登录shell(login shell) 当我们输入用户名和密码登录到系统后，所呈现给我们的就是一个登录shell。更确切的说，如果启动bash对话的命令行第0个参数的首字符是&#8221;-&#8221;的话，那么这是一个登录shell； 可以通过如果命令看到 系统管理员工具包: 充分利用 bashgt; ps -f 还有一种是带有&#8221;&#8211;login&#8221;选项启动的bash对话是一个登录shell。 系统管理员工具包: 充分利用 bashgt; bash &#8211;login 2.交互shell(interactive shell) 带有&#8221;-i&#8221;选项启动的bash对话是一个交互shell。如： 系统管理员工具包: 充分利用 bashgt; bash -i 或者以非选项参数开始，并且不包含&#8221;-c&#8221;选项启动的bash对话，且它的标准输入和标准出错都是连接到终端的，那么这也是一个交互shell。 系统管理员工具包: 充分利用 bashgt; bash 3.非交互shell 用于启行一个脚本的shell是非交互shell 系统管理员工具包: 充分利用 bashgt; bash my.sh 二、登录shell的初始化文件 /etc/profile； ~/.bash_profile、~/.bash_login和~/.profile三个最先找到的那个； ~/.bash_logout，shell退出时执行。 三、交互shell的初始化 /etc/bash.bashrc ~/.bashrc 四、非交互shell的初始化 环境变量&#8221;BASH_ENV&#8221;代表的文件。 .bash_profile 其中.bash_profile是最重要的一个配置文件，它在用户每次登录系统时被读取，里面的所有 命令都会被bash执行。.profile(由Bourne Shell和Korn [...]]]></description>
			<content:encoded><![CDATA[<p>Bash是Debian的默认SHELL，设置终端环境（bash）使Bash更好地为我们服务，我们需定制bash shell环境，这里讲述bash用户环境配置。</p>
<p>bash_profile、.bashrc、和.bash_logout<br />
 上面这三个文件是bash shell的用户环境配置文件，位于用户的主目录下。注意bash_profile、.bash_logout并不总是存在，至少Debian中就没有默认创建</p>
<p><span id="more-185"></span></p>
<blockquote><p>一、shell的启动方式<br />
 根据shell的启动方式不同，分为登录shell、交互shell和非交互shell，不同方式启动的shell初始化过程是不同的。<br />
 1.登录shell(login shell)<br />
 当我们输入用户名和密码登录到系统后，所呈现给我们的就是一个登录shell。更确切的说，如果启动bash对话的命令行第0个参数的首字符是&#8221;-&#8221;的话，那么这是一个登录shell；<br />
 可以通过如果命令看到<br />
 系统管理员工具包: 充分利用 bashgt; ps -f<br />
 还有一种是带有&#8221;&#8211;login&#8221;选项启动的bash对话是一个登录shell。<br />
 系统管理员工具包: 充分利用 bashgt; bash &#8211;login</p>
<p>2.交互shell(interactive shell)<br />
 带有&#8221;-i&#8221;选项启动的bash对话是一个交互shell。如：<br />
 系统管理员工具包: 充分利用 bashgt; bash -i<br />
 或者以非选项参数开始，并且不包含&#8221;-c&#8221;选项启动的bash对话，且它的标准输入和标准出错都是连接到终端的，那么这也是一个交互shell。<br />
 系统管理员工具包: 充分利用 bashgt; bash<br />
 3.非交互shell<br />
 用于启行一个脚本的shell是非交互shell<br />
 系统管理员工具包: 充分利用 bashgt; bash my.sh<br />
 二、登录shell的初始化文件<br />
 /etc/profile；<br />
 ~/.bash_profile、~/.bash_login和~/.profile三个最先找到的那个；<br />
 ~/.bash_logout，shell退出时执行。<br />
 三、交互shell的初始化<br />
 /etc/bash.bashrc<br />
 ~/.bashrc<br />
 四、非交互shell的初始化<br />
 环境变量&#8221;BASH_ENV&#8221;代表的文件。</p>
</blockquote>
<p><strong>.bash_profile</strong></p>
<p>其中.bash_profile是最重要的一个配置文件，它在用户每次登录系统时被读取，里面的所有 命令都会被bash执行。.profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词，目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。</p>
<p><strong>.bashrc</strong></p>
<p>文件会在bash shell调用另一个bash shell时读取，也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc脚本以便统一配置用户环境。</p>
<p><strong>.bash_logout</strong></p>
<p>在退出shell时被读取。所以我们可把一些清理工作的命令放到这文件中。</p>
<p><!--more--></p>
<p>在 /etc目录的bash.bashrc和profile是系统级（全局）的配置文件，当在用户主目录下找不到.bash_profile 和.bashrc\时，就会读取这两个文件。.bash_history是bash shell的历史记录文件，里面记录了你在bash shell中输入的所有命令。可通过HISSIZE环境变量设置在历史记录文件里保存记录的条数。alias l = &#8216;ls -l&#8217;是设置别名的语句，把它放在这些配置文档中就可使我们能用简单的&#8217;l'命令，代替&#8217;ls -l&#8217;命令。</p>
<p>当我们修改了这些配置件后，可用 <strong>source .bash_profile</strong> / <strong>source .</strong><strong>bashrc </strong>命令使它修改内容马上生效。</p>
<p><br class="spacer_" /></p>
<p>非管理员推荐通过编辑用户目录下的 ~/.bashrc 来设定Bash</p>
<pre lang="bash">vim ~/.bashr         #编辑.bashr
source .bashr        #重载Bash，使配置生效
</pre>
<p lang="bash">如果管理员希望配置全局性的一些设定，首先要确定你理解了上述3种SHELL启动方式含义，推荐创建文件 /etc/bash.global 文件，内容如下。</p>
<p lang="bash">并确保用户可以加载到这一文件。简单的处理方法通过 /etc/profile 和 /etc/bash.bashrc调用</p>
<p>这是一个简单的设置，启用了目录彩色显示，修改了命令提示符的格式，改写了几个命令(rm,cp,mv)的默认选项</p>
<pre lang="bash">#---- (lee)
# /etc/bashrc.global: for all shells.
# Add this lines to /etc/profile &amp; /etc/bash.bashrc
# # inlucde global setting, --(lee)
# if [ -f /etc/bash.global ]; then
#     . /etc/bash.global
# fi

#命令提示行
#Promote
PS1='-------------------------------------\n\u@\h:\w\$ '
#Color Promote
PS1='\[\033[01;32m\]       -------------------------------------------------------\[\033[00m\]\n${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# You may uncomment the following lines if you want `ls' to be colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
</pre>
<p><strong>其它可以设置的选项</strong></p>
<p>bash shell中的选项可控制shell的行为和功能，我们可以通过shopt命令来设置。使用set命令也可以，但它已被shopt替代，但为了向下兼 容，set命令还是可以使用的。使用不带参数的shopt命令可以列出当前shell中只能由shopt设置的选项，用shopt -o可列出可由set命令设置的选项。</p>
<p>这些设置你既可以随时通过命令行进行，也可以添加到上面的配置文件中</p>
<pre lang="bash">#下面是一些可由set命令基本的选项，默认是关闭的。
emacs                  进入emacs编辑模式
vi                     进入vi编辑模式
ignoreeof              不允许单独使用Ctrl_D退出的用法，要使用exit。与IGNOREEOF=10等价
noclobber              不允许重定向覆盖已存在文件
noglob                 不允许扩展文件名通配符
nounset                使用未定义的变量时给出错误

#下面是一些只能由shopt命令设置的选项
cdspell          自动改正cd命令参数中的小错误
hostcomplete     以@开头时，按tab键可进行主机名的自动完成
dotgblob         以点开始的文件名被包含在路径名扩展中
mailwarn         显示邮件警告信息
</pre>
<p><br class="spacer_" /></p>
<p>shopt命令的选项如下：</p>
<p style="padding-left: 30px;">-p          显示可设置选项及当前取值<br />
 -s          设置每一选项为on<br />
 -u          设置每一选项为off<br />
 -q          不输出信息<br />
 -o</p>
<p><br class="spacer_" /></p>
<p><strong>命令提示符</strong></p>
<p>命令提示符就是在linux的命令行界面每行开始的的系统提示字符，类似 <strong>Debian:/var#</strong></p>
<p>配置文件中export PS1=的内容是设定命令提示符（promote ）的格式，可用的字符代码如下：</p>
<pre lang="bash">       \a     an ASCII bell character (07)
       \d     the  date  in  "Weekday  Month  Date" format
              (e.g., "Tue May 26")
       \e     an ASCII escape character (033)
       \h     the hostname up to the first `.'
       \H     the hostname
       \n     newline
       \r     carriage return
       \s     the name of the shell, the  basename  of  $0
              (the portion following the final slash)
       \t     the current time in 24-hour HH:MM:SS format
       \T     the current time in 12-hour HH:MM:SS format
       \@     the current time in 12-hour am/pm format
       \u     the username of the current user
       \v     the version of bash (e.g., 2.00)
       \V     the  release  of  bash, version + patchlevel
              (e.g., 2.00.0)
       \w     the current working directory
       \W     the basename of the current  working  direc-
              tory
       \!     the history number of this command
       \#     the command number of this command
       \$     if  the effective UID is 0, a #, otherwise a
              $
</pre>
<p>参考：</p>
<ul>
<li><a href="http://www.ibm.com/developerworks/cn/aix/library/au-satbash.html" target="_blank">系统管理员工具包: 充分利用 bash</a></li>
<li><a href="http://www.linuxselfhelp.com/howtos/Bash-Prompt/Bash-Prompt-HOWTO-2.html" target="_blank">http://www.linuxselfhelp.com/howtos/Bash-Prompt/Bash-Prompt-HOWTO-2.html</a></li>
</ul>
<p><a href="http://www.ibm.com/developerworks/cn/aix/library/au-satbash.html" target="_blank"><br />
 </a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/185/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux入门-系统时间设置篇</title>
		<link>http://lee.kometo.com/archives/178</link>
		<comments>http://lee.kometo.com/archives/178#comments</comments>
		<pubDate>Wed, 29 Oct 2008 16:30:36 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[utc]]></category>
		<category><![CDATA[时间]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=178</guid>
		<description><![CDATA[是的，没错，linux的时间设置需要专门写一篇来说明！ date #显示系统当前本地时间 STEP1：设定硬件时钟（BIOS） debian/linux默认认为BIOS时间是世界时间（UTC），BOIS一般实际设置的是本地时间，所以需要修改它（特别在VmWare等虚拟机环境下） #编辑rcS，设置UTC=no，告诉系统，硬件时间是否为UTC时间 #BIOS=本地时间，UTC=no #BIOS=UTC时间，UTC=yes vim /etc/default/rcS #其它相关的命令： hwclock --show --utc #显示当前硬件时钟，硬件时钟假定为UTC时间 hwclock --show --localtime #显示当前硬件时钟，硬件时钟假定为本地时间 hwclock #也可以用来设置硬件时间 STEP2:检查设定当前系统时区 设定系统所处UTC时区,中国用的是 Asia/Shanghai。 cat /etc/timezone #显示系统当前时区 tzselect #设定系统本地时区 相关文件 /etc/timezone /etc/localtime STEP3:安装ntpdate执行时间同步 ntpdate可以使用网络时间服务器及时更新同步本机时间，这是可选的操作，如果有网络，推荐进行 #安装ntpdate apt-get install ntpdate #设置时区，确认为Asia/shanghai tzconfig #添加自动同步计划 crontab -e #添加这一行,这行的意思是每30分钟自动与时间服务器time.cuit.edu.cn来进行同步 */30 * * * * /usr/sbin/ntpdate pool.ntp.org #顺便记录两个好的ntpserver: # time.asia.apple.com # [...]]]></description>
			<content:encoded><![CDATA[<p>是的，没错，linux的时间设置需要专门写一篇来说明！</p>
<pre lang="bash">date #显示系统当前本地时间</pre>
<p><strong>STEP1：设定硬件时钟（BIOS）</strong></p>
<p style="padding-left: 30px;">debian/linux默认认为BIOS时间是世界时间（UTC），BOIS一般实际设置的是本地时间，所以需要修改它（特别在VmWare等虚拟机环境下）</p>
<pre lang="bash">#编辑rcS，设置UTC=no，告诉系统，硬件时间是否为UTC时间
#BIOS=本地时间，UTC=no
#BIOS=UTC时间，UTC=yes
vim /etc/default/rcS

#其它相关的命令：
hwclock --show --utc        #显示当前硬件时钟，硬件时钟假定为UTC时间
hwclock --show --localtime  #显示当前硬件时钟，硬件时钟假定为本地时间
hwclock                     #也可以用来设置硬件时间
</pre>
<p><span id="more-178"></span></p>
<p><strong>STEP2:检查设定当前系统时区</strong></p>
<p style="padding-left: 30px;">设定系统所处UTC时区,中国用的是 Asia/Shanghai。</p>
<pre lang="bash">cat /etc/timezone    #显示系统当前时区

tzselect             #设定系统本地时区
</pre>
<p style="padding-left: 30px;">相关文件<br />
 /etc/timezone<br />
 /etc/localtime</p>
<p><br class="spacer_" /></p>
<p><strong>STEP3:安装ntpdate执行时间同步 </strong></p>
<p>ntpdate可以使用网络时间服务器及时更新同步本机时间，这是可选的操作，如果有网络，推荐进行</p>
<pre lang="bash">#安装ntpdate
apt-get install ntpdate
#设置时区，确认为Asia/shanghai
tzconfig
#添加自动同步计划
crontab -e
#添加这一行,这行的意思是每30分钟自动与时间服务器time.cuit.edu.cn来进行同步
*/30 * * * * /usr/sbin/ntpdate pool.ntp.org
#顺便记录两个好的ntpserver:
# time.asia.apple.com
# pool.ntp.org
# time.cuit.edu.cn</pre>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux入门-文本编辑器篇(VI VIM)</title>
		<link>http://lee.kometo.com/archives/176</link>
		<comments>http://lee.kometo.com/archives/176#comments</comments>
		<pubDate>Wed, 29 Oct 2008 16:11:08 +0000</pubDate>
		<dc:creator>kometo</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[编辑器]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=176</guid>
		<description><![CDATA[文本编辑器有很多，比如图形模式的gedit、kwrite、OpenOffice &#8230; &#8230; ，文本模式下的编辑器有vi、vim（vi的增强版本）和nano &#8230; &#8230; vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi（vim）最简单的用法，以让Linux入门级用户在最短的时间内学会使用它。 nano 工具和DOS操作系统下的edit操作相似，使用简单，我们不作介绍了，如果您有兴趣，不妨尝试一下； 本文以Debian版Linux作为测试系统。 大部分Linux系统默认都安装了一个缩水版的VIM，同时使用VI命令时会以兼容方式启动这个缩水版的VIM。缩水版的VIM在一些功能上和完整版有区别，特别是在插入模式下的光标移动，推荐安装完整版的VIM apt install vim vim有3种工作模式 Command（命令）模式，用于输入命令 （使用ESC键随时可以切换到这样模式） Insert（插入）模式，用于插入文本 Visual（可视）模式，用于视化的的高亮并选定正文 基本操作 一下命令均是在命令模式下输入（使用ESC键随时可以切换到这样模式） 保存及退出 :w  保存 :q! 不保存退出 :w  filename 另存为filename :wq! 保存退出 :wq! filename 注：以filename为文件名保存后退出 :x 应该是保存并退出 ，功能和:wq!相同3.5 插入模式（文本的插入） 进入插入模式 i  在光标之前插入（这个最常用了） a  在光标之后插入； I 在光标所在行的行首插入 A  在光标所在行的行末插入 o  在光标所在的行的上面插入一行 O  在光标所在的行的下面插入一行 s  删除光标后的一个字符，然后进入插入模式 S  删除光标所在的行，然后进入插入模式 [...]]]></description>
			<content:encoded><![CDATA[<p>文本编辑器有很多，比如图形模式的gedit、kwrite、OpenOffice &#8230; &#8230; ，文本模式下的编辑器有vi、vim（vi的增强版本）和nano &#8230; &#8230; vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi（vim）最简单的用法，以让Linux入门级用户在最短的时间内学会使用它。</p>
<p>nano 工具和DOS操作系统下的edit操作相似，使用简单，我们不作介绍了，如果您有兴趣，不妨尝试一下；</p>
<p>本文以Debian版Linux作为测试系统。</p>
<p>大部分Linux系统默认都安装了一个缩水版的VIM，同时使用VI命令时会以兼容方式启动这个缩水版的VIM。缩水版的VIM在一些功能上和完整版有区别，特别是在插入模式下的光标移动，推荐安装完整版的VIM</p>
<pre lang="bash"> apt install vim</pre>
<p><span id="more-176"></span></p>
<p><strong>vim有3种工作模式</strong></p>
<ul>
<li><code>Command（命令）模式，用于输入命令 （使用ESC键随时可以切换到这样模式）<br />
 </code></li>
<li><code>Insert（插入）模式，用于插入文本</code></li>
<li><code>Visual（可视）模式，用于视化的的高亮并选定正文</code></li>
</ul>
<p><strong>基本操作</strong></p>
<p>一下命令均是在命令模式下输入<code>（使用ESC键随时可以切换到这样模式）</code></p>
<ul>
<li>保存及退出
<ul>
<li><strong>:w  保存</strong></li>
<li><strong>:q! 不保存退出</strong></li>
<li> :w  filename 另存为filename</li>
<li> :wq! 保存退出</li>
<li> :wq! filename 注：以filename为文件名保存后退出</li>
<li> :x 应该是保存并退出 ，功能和:wq!相同3.5  插入模式（文本的插入）</li>
</ul>
</li>
<li>进入插入模式
<ul>
<li><strong> i  在光标之前插入（这个最常用了）</strong></li>
<li>a  在光标之后插入；</li>
<li> I	在光标所在行的行首插入</li>
<li>A  在光标所在行的行末插入</li>
<li> o  在光标所在的行的上面插入一行</li>
<li>O  在光标所在的行的下面插入一行</li>
<li> s  删除光标后的一个字符，然后进入插入模式</li>
<li>S  删除光标所在的行，然后进入插入模式</li>
</ul>
</li>
<li>删除字符
<ul>
<li><strong>x 一个字符</strong><strong>（这个最常用了）</strong></li>
<li>#x 删除几个字符，#表示数字，比如3x</li>
<li>dw 删除一个单词</li>
<li>dw 删除几个单词，#用数字表示，比如3dw表示删除三个单词</li>
<li>dd 删除一行</li>
<li>#dd 删除多个行，#代表数字，比如3dd 表示删除光标行及光标的下两行</li>
<li>d$ 删除光标到行尾的内容</li>
<li>J 清除光标所处的行与上一行之间的空格，把光标行和上一行接在一起</li>
</ul>
</li>
<li>撤销编辑
<ul>
<li>u  撤消修改或删除操作</li>
<li>:u</li>
</ul>
</li>
<li>搜索
<ul>
<li>/key  key及搜索关键字，支持正则 </li>
</ul>
</li>
</ul>
<div><strong>启动VIM的语法高亮</strong><br />
 修改/etc/vim/vimrc<br />
 修改 <span style="color: #ff0000;"><strong>&#8220;</strong></span>syntax on -&gt;  syntax on ,去掉&#8221;号注释</div>
<div><strong>参考 <a href="http://www.linuxsir.org/main/?q=node/206" target="_blank">http://www.linuxsir.org/main/?q=node/206</a></strong></div>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
