<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/sfdev" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/sfdev" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 20 Jun 2009 17:00:00 GMT</lastBuildDate><title>老唐 的专栏</title><description>愿有多大、路有多长……</description><link>http://blog.csdn.net/sfdev/</link><item><title>网店版重生系列：多数据源单sqlMapClient导致NullPointerException问题跟踪</title><link>http://blog.csdn.net/sfdev/archive/2009/06/20/4285325.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4285325.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4285325.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4285325</trackback:ping><description>从前面的《网店版重生系列：都是Spring配置中自动注入惹的祸》中我们可以看出一些有关datasource、sqlMapClientTemplate、sqlMapClient的相关配置信息；整体而言，采取的方式为：
其一，单实例sqlMapClient，只配置configLocation属性，不配置datasource；
其二，sqlMapClientTemplate中配置动态datasource、sqlMapClient，然后在Dao中注入sqlMapClientTemplate；
其三，由于获取用户与Mysql数据库之间的对应关系是保存在Oracle主库中，所以不适用动态数据源，而是直接通过配置sqlMapClient、JNDI datasource来完成注入；
当我们在通过Ibatis在Mysql库中执行SQL语句时，因为要通过datasource获取connection，所以可能需要先访问Oracle主库以便获取当前用户所对应的Mysql数据库信息，而这两者的SQL操作都是通过Ibatis进行的，所以我们上面提到的那段代码就会被多次执行了，而每次SQL执行完毕之后都会到&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4285325.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236656165/sfdev/csdn.net/s.gif?r=http://blog.csdn.net/sfdev/archive/2009/06/20/4285325.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656165/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656165/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 21 Jun 2009 01:00:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/06/20/4285325.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/06/20/4285325.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/06/20/4285325.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656165/1195026</fs:itemid></item><item><title>网店版重生系列：因为webwork.configuration.xml.reload遭遇Web应用性能测试瓶颈</title><link>http://blog.csdn.net/sfdev/archive/2009/06/14/4268420.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4268420.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4268420.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4268420</trackback:ping><description>网店版重生项目中，因为我们要将最主要的核心数据由Oracle迁移到分布式Mysql中；虽然说业务逻辑不进行任何改动，只是将数据源由单一的Oracle改造成基于Mysql的动态数据源，但为了保险起见，我们还是要求做一次性能测试，但怎么圧呢？这个系统已经2年没有比较大的系统变动了，但是用以前的性能测试结果来和新系统做对比，大家都觉得不那么匹配，所以我们决定：对现有的老系统的关键模块重新进行一次压力测试，然后和新系统相同模块的压力测试结果进行对比，看新系统是否有明显的性能下降！
但对老系统进行压力测试的结果却令我们大失所望，远远超出了我们的想象，一些并不复杂的功能点都只有不到20的TPS！这下可把我们吓坏了，依据我们原有的性能测试数据，类似的功能模块一般都能达到100TPS左右，难道系统真的年老失修已经变成了现在这么慢的地步？我们自己当然不相信，因为系统并没有进行过大的架构调整，于是开始了路漫漫的排查过程；
性能测试过程中反映出来的现象为：不管多少并发用户访问、系统的TPS都只能保持在十几，但是Web服务器、DB的压力却很低，增加并发数也没有用，而且每个请求的响应时间并没有下降，整个应用&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4268420.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236656166/sfdev/csdn.net/s.gif?r=http://blog.csdn.net/sfdev/archive/2009/06/14/4268420.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656166/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656166/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 14 Jun 2009 23:31:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/06/14/4268420.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/06/14/4268420.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/06/14/4268420.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656166/1195026</fs:itemid></item><item><title>网店版重生系列：Linux下Jboss启动、关闭、端口配置等常见问题FAQ</title><link>http://blog.csdn.net/sfdev/archive/2009/06/13/4266728.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4266728.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4266728.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4266728</trackback:ping><description>1、单台Linux服务器中如何部署多个独立应用，即多个应用不能run在一个jboss实例中？ 
2、Jboss无法正常启动，报异常javax.management.MBeanRegistrationException: preRegister() failed？
3、Jboss已经正常启动，但是无法用IP或者绑定IP访问应用？
4、Jboss正常启动，但是用shutdown脚本无法关闭应用？
5、如何对Linux下的Jboss应用进行debug？&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4266728.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236656167/sfdev/csdn.net/s.gif?r=http://blog.csdn.net/sfdev/archive/2009/06/13/4266728.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656167/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656167/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 14 Jun 2009 02:14:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/06/13/4266728.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/06/13/4266728.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/06/13/4266728.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656167/1195026</fs:itemid></item><item><title>网店版重生系列：回头看Jboss配置项CatchSystemOut、Java2ClassLoadingCompliance、UseJBossWebLoader</title><link>http://blog.csdn.net/sfdev/archive/2009/06/06/4247635.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4247635.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4247635.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4247635</trackback:ping><description>最近一直忙于做一个纯技术驱动的项目：网店重生！就是要把网店版改造成为基于Mysql的分布式应用；由于在过去的1年半的时间里面，网店版都没有怎么发展，只是一些例行维护；此次要这么大规模重构的确是一个不小的挑战，那在这个重构过程中，我们也再次遇到了当初的一些老问题，但由于以前的主力开发人员早已经不在一个团队里面了，所以很多的小问题还是让我们费了一些力气，趁此机会将这个过程中遇到的一些问题记录下来
本篇要讨论的是关于Jboss和Log4j的日志冲突问题其一就是要解决应用启动过程中的这两个异常，其二就是要搞清楚为什么会出现这2个异常，以及在解决问题过程中使用到的几个关键配置项；
共涉及3个Jboss配置项CatchSystemOut、Java2ClassLoadingCompliance、UseJBossWebLoader；&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4247635.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236656168/sfdev/csdn.net/s.gif?r=http://blog.csdn.net/sfdev/archive/2009/06/06/4247635.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656168/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656168/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 07 Jun 2009 00:59:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/06/06/4247635.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/06/06/4247635.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/06/06/4247635.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656168/1195026</fs:itemid></item><item><title>网店版重生系列：都是Spring配置中自动注入惹的祸</title><link>http://blog.csdn.net/sfdev/archive/2009/05/03/4144993.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4144993.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4144993.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4144993</trackback:ping><description>在对Spring Container管理的bean进行配置时，有一个很好用的功能就是自动注入，可以根据不同规则对bean所依赖的bean进行自动set，相信最常用的就是设置default-autowire=&quot;byName&quot;这种方式啦；这样我们在进行配置时就可以减少很多的xml代码、当我们在Java代码中新增或减少bean的注入时就无需再对xml配置进行同步变更（针对采取xml配置的方式，若采用Annotation的方式则不存在该问题），从而提高了编码效率；一般情况下采取这种自动注入的方式MS也没啥问题，但是在一些特殊情况下可能会导致莫名其妙的问题，从而要花费大量的时间去排错；在最近的一个项目中就被我遇上了；问题大概是这样的：&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4144993.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656169/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656169/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 03 May 2009 20:04:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/05/03/4144993.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/05/03/4144993.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/05/03/4144993.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656169/1195026</fs:itemid></item><item><title>基于Spring打造简单高效通用的异步任务处理系统</title><link>http://blog.csdn.net/sfdev/archive/2009/04/08/4056114.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4056114.aspx</wfw:comment><slash:comments>9</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4056114.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4056114</trackback:ping><description>随着应用系统功能的不断新增，而某些功能的实现对实时性要求并不是那么高，但是逻辑却很复杂、执行比较耗时，比如涉及外部系统调用、多数据源等等；此时，我们就希望可以让这些复杂的业务逻辑放在后台执行，而前台与用户的交互可以不用等待，从而提高用户体验；另外，从系统架构这个层面来说，我们也希望按照不同功能来拆分，以保持各个系统之间的低耦合，当一个系统出现问题时不会影响到其他系统，并且对于独立的各个系统，我们可以专门进行性能优化、监控等；所以我们需要通用、高效的异步任务处理系统；要实现类似的异步处理系统，相信大家首先想到的就是JMS，Alibaba里面也有基于JMS的异步处理系统，而且该系统在网店系统中应用非常广泛；但由于目前我们阿里软件采用了不同的技术框架，所以不能直接拿来使用；况且，该系统为了实现异步任务系统的并发，采取了JMS与MDB结合的策略，所以系统就依赖于EJB了，这样系统就变得笨重了，由此系统部署的应用服务器必须要支持EJB，一些轻量级的不支持EJB规范的应用服务器就没法部署了；考虑到如上的系统设计目标，我们的设计思路为：任务DB持久化 + Spring封装Job调度、线程&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4056114.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656170/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656170/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Apr 2009 17:39:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/04/08/4056114.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/04/08/4056114.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/04/08/4056114.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656170/1195026</fs:itemid></item><item><title>开发人员需要熟知的常用Linux命令之八：Version、Kernel查看</title><link>http://blog.csdn.net/sfdev/archive/2009/03/26/4027749.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4027749.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4027749.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4027749</trackback:ping><description>当我们需要在Linux系统中安装一些软件而去下载安装文件时，一般都需要确认到底下载哪个版本的安装包，这就需要我们知道自己的Linux系统到底是什么版本、什么内核，常见的版本、内核查看命令或者文件有如下几个：version、uname、lsb_release、issue、redhat-release；另外，还可以用getconf LONG_BIT或者file /bin/ls查看当前Linux到底是32位的，还是64位的；&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4027749.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656171/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656171/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 27 Mar 2009 04:36:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/03/26/4027749.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/03/26/4027749.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/03/26/4027749.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656171/1195026</fs:itemid></item><item><title>开发人员需要熟知的常用Linux命令之七：Gzip及其常用打包、压缩、解压命令</title><link>http://blog.csdn.net/sfdev/archive/2009/03/26/4027505.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4027505.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4027505.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4027505</trackback:ping><description>gzip 命令减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。 语法：gzip [选项] 压缩（解压缩）的文件名该命令的各选项含义如下： -c：将输出写到标准输出上，并保留原有文件。-d：将压缩文件解压。-l：对每个压缩文件，显示下列字段：压缩文件的大小；未压缩文件的大小；压缩比；未压缩文件的名字-r：递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t：测试，检查压缩文件是否完整。-v：对每一个压缩和解压的文件，显示文件名和压缩比。-num：用指定的数字 num 调整压缩的速度，-1 或 --fast 表示最快压缩方法（低压缩比），-9 或--best表示最慢压缩方法（高压缩比）。系统缺省值为 6。&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4027505.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656172/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656172/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 27 Mar 2009 02:45:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/03/26/4027505.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/03/26/4027505.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/03/26/4027505.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656172/1195026</fs:itemid></item><item><title>开发人员需要熟知的常用Linux命令之六：Rpm</title><link>http://blog.csdn.net/sfdev/archive/2009/03/26/4026108.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4026108.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4026108.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4026108</trackback:ping><description>RPM有五种基本的操作方式(不包括创建软件包):安装,卸载,升级,查询,和验证。下面我们就来逐一的讲解吧，最简单的使用命令如下：一、安装RPM包$rpm -ivh foo-1.0-1.i386.rpm二、卸载RPM包$rpm -e foo三、升级RPM包$rpm -Uvh foo-2.0-1.i386.rpm四、查询已安装的软件包$rpm -q foo五、验证软件包$rpm -V foo六、小技巧RPM不仅是安装/卸载程序的工具，它还是系统维护和诊断的一把好手。&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4026108.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656173/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656173/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 26 Mar 2009 19:23:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/03/26/4026108.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/03/26/4026108.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/03/26/4026108.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656173/1195026</fs:itemid></item><item><title>开发人员需要熟知的常用Linux命令之四：Scp</title><link>http://blog.csdn.net/sfdev/archive/2009/03/26/4025952.aspx</link><wfw:comment>http://blog.csdn.net/sfdev/comments/4025952.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/sfdev/comments/commentRss/4025952.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4025952</trackback:ping><description>SCP命令是在linux中用来跨服务器拷贝文件的常用工具，用法非常简单；如下：scp -options [[user@]host1:]file1 [[user@]host2:]file2options里面我们一般用得很少，主要用-v来查看命令执行过程中的详细信息，这在复制失败时差错非常有用；另外一个常用option就是-r，用以深度复制，包括子目录下面的所有目录和文件；上面的语法可以灵活使用，他可以在host1和host2之间互相copy，而不仅限于从host1中copy文件到host2；该命令虽然好用，但是由于采用的是ssh协议来对传输内容进行加密，而且在访问另外服务器时需要手工输入密码；下面我们就介绍一种方法来避免每次都输入密码，也即我们常说的服务期间打通通道；&lt;img src =&quot;http://blog.csdn.net/sfdev/aggbug/4025952.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/sfdev/236656174/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/sfdev/236656174/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 26 Mar 2009 18:45:00 +0800</pubDate><author>老唐</author><comments>http://blog.csdn.net/sfdev/archive/2009/03/26/4025952.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/sfdev/archive/2009/03/26/4025952.aspx</guid><dc:creator>老唐</dc:creator><fs:srclink>http://blog.csdn.net/sfdev/archive/2009/03/26/4025952.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/sfdev/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/sfdev/~1195048/236656174/1195026</fs:itemid></item></channel></rss>