Skip to content Skip to main navigation Skip to footer

Linux

Linux:为你的响应式设计提速

响应式设计是最近的流行词,能够打造多屏幕一致体验。

现在几乎每个人都喜欢响应式设计,而且可以是没有原因的支持,这跟Flash刚出现那会火热的局面有点相似。然而,响应式设计带来了表现力的问题,这需要通过调整图像、压缩图像、改变图像大小等手段来解决。

然而,为了提高表现力,有的时候不得不增大文件的尺寸。浏览体验需要快速的载入,本文将讲述一些为响应式设计提速的方法。

featured50@wdd2x 

为什么响应式设计载入那么慢?

 march-blog-wordcloud

在所有的设备上,响应式设计载入的HTML元素都相同。就算你的网站专供桌面或者专供平板,在其他设备上,载入的元素依然相同。这就意味着需要通过网络传递所有的内容,包括了图像和脚本。

一项去年的调查表明,86%的响应式网站会将一个完整的桌面页传送到手机中。如果我们能够对数据进行精简、提升浏览速度,那么响应式设计将得到更好的推广。

与此同时,响应式设计提高了页面大小,这也是一个亟待处理的问题。因为研究发现 ,如果3秒之内无法载入页面,57%的用户会选择离开。

怎样提高载入性能?

speedometer-540-2501

对于那些已经采用响应式设计,现在想要进行进一步优化的人来说,Mobitest可以用来测量手持设备上网页的载入性能,这样就能发现问题,从而解决问题。当然如果设计还在进行或者计划中,那么优化起来就更方便了。只需要在设计过程中注意载入速度即可,这样就不用事后亡羊补牢了。

为了提高表现力,我们需要减少页面的资源的数量,缩小页面的尺寸。并不需要可以的调整页面的外观,通过一些工具和手段也能实现”瘦身”。

首先要考虑的就是哪些元素是必要的,哪些是不必要的,去掉不必要的元素,这样就能最小化HTTP请求,这样用户的等待加载的耗时也最少。这可以通过压缩CSSJS来实现,推荐一款叫做Compass的工具——开源的CSS框架编写工具。

JavaScript推荐一款工具叫UglifyJS,可以压缩代码。

有选择的载入

这也是可以考虑采用的重要手段,非常适用于响应式设计的提速,这样就能确保手机用户不会下载那些会降低载入速度的元素。有选择性的载入,能够阻拦各种内容的载入,包括社交窗口、图像、地图,以及其他。再采用这种手段之前,最好对网站进行全面的测试,先要了解是哪方面降低了网页的载入速度,这样对症下药,效果才能更好。

图像

我们都知道图像在网页中占据了大量的字节。一般在手机上的图像表现力要比桌面上的差。

如果网站内容很多,便会影响到载入速度,因此就需要截断一部分内容,这样就能够提高载入速度。尽管可以通过改变src和img元素来调整标记来实现此功能,但采用PHP解决方案Adaptive Images无疑会更加轻松。该软件会根据屏幕大小自动做出调整,合理的缩放嵌入的HTML图像,而不需要改动标记。主要结合了弹性图片技术(Fluid Image),能够方便的解决问题,而且节省载入时间。这种自适应图像只占用一个htaccess文件,一个php文件,以及一行Javascript代码,能够判断访问用户的设备屏幕尺寸。

文本

文本同样也纳入了”瘦身”范围,在较小的屏幕上,文本的布局不当可能会导致阅读问题。FitText能够解决此问题,是一款jQuery插件,自动改变字体大小。FitText只能解决标题问题,段落文本的问题无法解决。 

为何要选择响应式设计?

connection ?omputer telephone tablet black

跟任何新式的科技和产品,刚过出现时,往往问题繁多,响应式设计也一样,但并不能忽视它的价值,不能忽视它将带来的完美体验。通过响应式设计,我们能为用户提供更好的浏览体验。没人会因为过去的方法简单,而采用复古的技术,我们需要创新,需要用创新解决问题,并在创新的的同时不断调整、修正,以达到最佳。

Google非常支持响应式设计,他们的建议 使用响应式设计,他们认为响应式设计师最适合手机的方式。在社交分享类网站上,响应式设计也大展拳脚,很多手持设备上的体验已经和桌面上的一致。说的再远一点,响应式网站能够提高工作效率,只需更少的工作人员,就能达到更好的工作效果。

价值所在

手机和平板变得越来越流行,意味着使用也越来越多,越来越多的人选择它们,因为用它们上网更方便。以iOS和Android为系统的平板电脑在数码消费市场大行其道,销量飙升。目前为止,响应式设计虽然有诸多不便,但是利大于弊。尽管有些许的载入速度问题,一份调查采访了很多世界知名品牌,尽管响应式设计有些载入问题,但是能够带来访问量的大幅上涨。

响应式设计平均提高了网站23%的手机访问量,降低了26%的跳出率(跳出率定义了只浏览了单个页面的访问量占总访问量的比率。跳出率能够反映出引导页的质量,如果引导页好,用户会继续浏览其他页面,而不是浏览单个页面后就选择离开。)增加了7.5%的访问时长。

O’Neill,流行冲浪服饰供应商,在使用响应式设计后,iPad和iPhone上的转化率(网站转换率=进行了相应的动作的访问量/总访问量)提高了65.7%。在便携设备上完成的交易额几乎和桌面设备相同,利润几乎增长了一倍。而Android设备由于其流行面广,平台支持广泛,便携设备上的转化率的提升更明显,并且能稍微带动桌面设备上的转化率。上面分析的仅仅是一个品牌的故事,从中我们可见响应式设计的作用非常巨大,别忘了,前些年,响应式设计对于社交媒体/社交应用的推广作用巨大。

如何在响应式设计的同时保证页面的载入速度,找到最完美的平衡点,这非常值得我们去研究。面对挑战,我们必须勇敢面对,努力的优化、改进,如果因为问题而停滞不前,而选择逃避,那么结局只有被淘汰。67%的手机用户有过用手机网购的经验,手机将会在网购方面取代桌面。因此,更多的商机在移动设备中,因此,我们需要提供更好的多响应式设计。虽然响应式设计仍处于发展初期,但是毫无疑问,市场需求会激发它的快速发展,因此我们需要多掌握一些它的基本规则,多了解一点响应式设计。

响应式设计的优化,你采用什么办法?一起来讨论一下。 原文地址:https://medium.com/design-ux/9ecd34a1a0dc优设网翻译:MartinRGB

Linux:Linux 命令行快捷键

  群里有人问“问个问题,Linux 命令行有没有快捷键一下从行末会到行头?经常敲了很多命令发现忘加 sudo 了,然后把命令删了重新敲一遍”。

  自己还真不知道怎么操作,只知道历史命令可以使用上下光标切换。

  正好早上微博有人科普,感谢龙浩的 blog 的总结,我也补充点知识,纠正一下百度知道上关于 “HISTFILESIZE” 和 “HISTSIZE” 的区别错误回答。

  好吧,开始说说历史记录个数的 “HISTFILESIZE” 和 “HISTSIZE” 的区别

  默认情况下 HISTFILESIZE 和 HISTSIZE的值都是 500,表示可以记录 500 条命令记录。

  • HISTFILESIZE 表示记录在文件中的命令条数
  • HISTSIZE 表示记录在内存中的命令条数

  当我们在 shell 命令行执行命令的时候,最近的 HISTSIZE 条命令被保存在内存当中可以使用上下光标或者 ctrl+p,ctrl+n 上下查找命令。

  当退出 shell 时 HISTFILESIZE 条命令被保存到历史命令文件中,下次登录 shell 时会从历史命令文件中读取命令道内存历史命令道中。

  当网络中断等异常时,你会发现之前的历史命令,下次登录时用上下光标找不到上次的历史命令,所以要正常退出或者发送探测包保持 shell 在线。

  如果想增加历史命令保存的数量,可以在 ~/.bash_profile 中手动修改 HISTFILESIZE 和 HISTSIZE 这两个变量的值。

搜索操作快捷键

  搜索历史命令的快捷键:Ctrl + r

  它是通过关键字去匹配历史记录,执行后会提示:(reverse-i-search)`’:

  输入你记得的关键字去匹配,如果出现你需要的命令,按Enter就可以选择命令;如果不是请输入更精确的关键字去匹配。

移动操作快捷键

Ctrl + f– 向右移动一个字符,当然多数人用→ Ctrl + b– 向左移动一个字符, 多数人用← ESC + f– 向右移动一个单词,MAC下建议用ALT + → ESC + b– 向左移动一个单词,MAC下建议用ALT + ← Ctrl + a– 跳到行首 Ctrl + e– 跳到行尾

删除操作快捷键

Ctrl + d– 向右删除一个字符 Ctrl + h– 向左删除一个字符 Ctrl + u– 删除当前位置字符至行首(输入密码错误的时候多用下这个) Ctrl + k– 删除当前位置字符至行尾 Ctrl + w– 删除从光标到当前单词开头

命令切换操作快捷键

Ctrl + p– 上一个命令,也可以用↑ Ctrl + n– 下一个命令,也可以用↓

其他操作快捷键

Ctrl + y– 插入最近删除的单词 Ctrl + c– 终止操作 Ctrl + d– 当前操作转到后台 Ctrl + l– 清屏 (有时候为了好看)

  学完这几个快捷键组合,回答一下开始的问题吧,相信大家自己也试过了,就是ctrl+a快捷键能使光标回到行首。

来自:http://www.nginx.cn/1114.html

Linux:KDE社区推ALERT开源工具集提升开发效率

ALERT是一个开源项目,旨在提高开源开发者在协作环境下的bug整体解决效率。ALERT系统提供了一些方法和工具,来帮助改善项目开发者之间的协作,无论是企业内部的团队,还是成员遍布世界各地的虚拟团队。

ALERT项目开始于2010年底,由欧盟第七研发框架计划(European Union’s 7th Framework Programme)提供部分资助。目标是通过改进bug跟踪、软件质量工具来帮助开源开发者更有效地工作,以便生产出更好的软件。

ALERT项目包括如下工具:

  • KESI:用于从结构化信息源中提取和管理数据
  • CVSAnalY:用于提取出源代码库记录中的信息,并存储到数据库中
  • Metadata-Service:可以与订阅到事件总线的其他组件通信。
  • Recommender:推荐服务组件。
  • Text-processing-bundle:包含KEUI、Forum Sensor 和Annotex的代码。
  • Bicho:一个命令行工具,用于分析bug/issue跟踪系统
  • CCCC:C/c++代码计数器,一个软件度量工具。
  • SearchService:一个通用的搜索服务。
  • MLSensor:邮件列表传感器。
  • Sensors:用于从源码工具中获取活动执行信息。
  • OCELOt
  • Action-Service:为Web用户提供一个订阅ALERT通知的接口。
  • PatternEditor
  • AlertUI
  • EP-Engine:复杂事件处理引擎。

官网:http://alert-project.eu/

项目地址:https://github.com/AlertProject/

Linux:宋琦:PHP在微博优化中的“大显身手”

2013中国软件开发者大会(以下简称SDCC)于8月30-31日在北京新云南皇冠假日酒店举办。作为CSDN和《程序员》杂志倾力打造、千人规模以上的顶级技术盛会,今年SDCC 2013以“软件定义未来”为主题,来自于国内外一线的技术精英,就大数据分析与BI、架构实践、研发管理、IT基础设施与运维、产品与设计、开放平台等专题和参会者进行了深入的分享和探讨。此外,32小时编程马拉松、CTO论道论坛等量身定制的特色环节也受到了参会者的强烈关注。

31日下午的编程语言与工具专题论坛上,新浪主站架构师宋琦与大家分享和探讨了关于PHP在新浪实际中的应用情况。 

在进入新浪之前,宋琦一直在做商业产品,使用的是传统的LAMP架构。而通常商业产品不涉及到很大流量,只是业务逻辑比较复杂。宋琦说当时他关注的主要是框架、扩展性、安全性方面的话题,对性能关注的较少。“之后选择做,是因为我认为对于程序员来说,产品所带来的技术挑战是一般产品无法比的。在大数据和大访问量下,任何东西都有可能成为非常棘手的问题。”宋琦说。

因为本身的一些特性,使得传统的LAMP架构,传统的框架、模板系统等在中变得不再适用,需要更加深入了解系统底层,才能应对更多挑战。

海量数据不容小觑

宋琦列了一组数据,用户数大约5.5亿,假设每个人有100条关注关系,那么总共就有550亿条用户关系,用两个long也就是16个字节来表示一个关注关系的话,那么单独保存这些关注关系就需要800G的存储空间。“以往在db里用一个map表就解决的事,放在这个场景下就变得可笑了。”宋琦说。

那么的访问量有多大呢?宋琦说,在2013年除夕当晚,蛇年第一秒共发出近35000条,第一分钟发出近73万条。这个只是上行的数据量,而下行的数据量是这个的N倍还多。由此可见,这样的数据量非常惊人。

Linux:宋琦:PHP在微博优化中的“大显身手”
Linux:宋琦:PHP在微博优化中的“大显身手”

响应速度关乎用户体验

在如此大的数据量和访问量下,对响应速度的要求非常高。有研究数据显示,如果一个页面响应速度超过3秒,那么57%的用户就会放弃;而在登录某网站时,若超过5秒,74%的用户就不会再登录;亚马逊的主页响应时间每延长1秒,每年就会减少16亿美元的销售额;而Google搜索结果每慢0.4秒,一天搜索量将减少800万次。

“总之,这些数据都说明了响应速度的重要性,可以说响应速度是保障流畅用户体验的基础。我们Team的主要KPI之一就是提升的性能。”宋琦补充道。 

数据加载的优化

宋琦指出,有很多的配置文件,有几十个,这些配置每一次请求都要被加载,都要重新申请内存存放这些配置。而配置文件的修改是非常少的,那么可不可以只加载一次就可以一直使用呢?很遗憾PHP是做不到的,PHP脚本中所申请的资源在请求结束后全都会被释放。“于是我们同样使用PHP扩展来解决了它,我们创建了一个名叫Weibo_Conf的扩展,他在php-fpm启动阶段扫描指定的目录,将其下的.ini文件加载到内存中,每5分钟更新一次。这样服务器每一次接到请求时,不需要重新加载这些配置,而是直接取用,效率提升了不少。”宋琦介绍说。

除了配置外,还有一些需要常驻内存,而且不常变化的东西,但是这些的量更大一些,比如白名单/黑名单,或者切词服务的字典等。这些东西以往都是放在数据库或者MC当中,然后通过http开放接口供远程调用。“因为他们的逻辑都比较简单或者固定,不太常变化,我们将他们独立出来做成单独的C服务,用的是yar的兄弟yar-c,yar-c所做的工作就是提供一个基于C的RPC框架,帮你完成网络和进程方面的管理,让你可以专注于实现业务逻辑,同时更方便的是,通过PHP的yar扩展可以直接调用,也就是说PHP端不论是对于基于yar-c的socket RPC服务还是基于yar的http RPC服务,无需做出改变既可以通用。”宋琦说道。

缓存优化 

众所周知,对于访问量巨大的服务来说,缓存是必不可少的,而是一个重度依赖缓存的应用。宋琦指出,前端展现的数据全部依赖于开放平台,开放平台提供的是基于http的RESTFul的接口,响应速度一般,所以为了提速同时降低对开放平台造成的负载,大量的使用了MC来缓存数据。“但是用MC也不是轻轻松松就能满足我们需要的。我们做个计算,假设我们每台服务器上开启128个php-fpm,总共100台服务器,如果每个请求响应时间是1秒,从请求开始就连接MC并且等到请求结束后才自动释放,那么每一台MC上至少有上万的连接,实际的量比这个还要大的多,这样MC的效率就会慢下来,同时增加了PHP处理请求的耗时,又进一步加剧了连接占用的情况,很容易造成雪崩效应。”宋琦指出。

Linux:宋琦:PHP在微博优化中的“大显身手”
Linux:宋琦:PHP在微博优化中的“大显身手”

针对此问题,宋琦展示了两种解决方案:

一种是引入一个proxy来代理对MC的访问,twitter采用的是这种方案,通过代理,php-fpm与proxy、proxy与MC之间都可以维持长连接,并且请求可以在proxy上做合并。twitter开源了他们的这个代理twemproxy。可以看到在加入twemproxy之后,MC集群的连接数大大降低了。 

但是在加入了一层proxy之后,因为要通过一层twemproxy,会使得MC请求的响应变慢,于是采用了另外一个方案:增加一层缓存做成多级缓存。 

Linux:宋琦:PHP在微博优化中的“大显身手”
Linux:宋琦:PHP在微博优化中的“大显身手”

首先通过会话保持,让一个用户的每一次访问都落到固定的一台机器上,然后我们在前端机的本地开启一个本地缓存,用它来挡在MC集群之前,降低对MC的访问。这层本地缓存的实际命中率大概在60%~70%左右,这些请求只需要从本地缓存中获取数据,就不需要走网络从MC集群上获取数据。

via http://www.linuxeden.com/html/news/20130906/143320.html 

Linux:实战低成本服务器搭建千万级数据采集系统

上一篇文章《社会化海量数据采集框架搭建》提到如何搭建一个社会化采集系统架构,讲架构一般都比较虚,这一篇讲一下如何实战用低成本服务器做到日流水千万级数据的分布式采集系统。

有这样一个采集系统的需求,达成指标:

  • 需要采集30万关键词的数据 
  • 微博必须在一个小时采集到
  • 覆盖四大微博(新浪微博、腾讯微博、网易微博、搜狐微博)

为了节约客户成本,硬件为普通服务器:E5200 双核 2.5G cpu, 4 G DDR3 1333内存,硬盘 500G SATA 7200转硬盘。数据库为mysql

在这样的条件下我们能否实现这个系统目标?当然如果有更好的硬件不是这个文章阐述的内容。现通过采集、存储来说明一下如何实现:

一、采集

目标是在一个小时内把30万关键词对应的数据从四大微博采集下来,能够使用的机器配置就是上面配置的普通服务器。采集服务器对硬盘没有太多要求,属于cpu密集型运算,需耗费一些内存。评估下来硬件资源不是瓶颈,看下获取数据的接口有什么问题?

1、通过各大微博的搜索api。

就比如新浪微博API针对一个服务器IP的请求次数,普通权限限制是一个小时1w次,最高权限合作授权一个小时4w次。使用应用时还需要有足够的用户,单用户每个应用每小时访问1000次,最高权限4w次需要40个用户使用你的应用。达到30w关键词,至少需要8个应用,如果每个关键词需要访问3页,总共需要24个合作权限的应用。实际操作我们是不可能为这个项目做到开发24个合作权限的应用,所以这个方式不是很合适。新浪微博API限制参考链接

2、通过各大微博的最新微博收集数据。

微博刚推出的时候,各大微博都有微博广场,可以把最新的微博都收集下来,然后通过分词,如果出现了30万关键词中的一个就留下,其他就丢弃掉。不过现在除了腾讯微博和搜狐微博有微博广场类似的功能,新浪微博和网易微博已经没有这项功能了。另按照新浪微博之前公布的数据,注册用户已经超过5亿,每小时超过1亿条微博,如果全量采集对数据存储是个大的考验,也需要大量的系统资源,实际采集了一亿条,也许就1000w条有用,浪费了9000w条数据的资源。

3、通过各大微博的网页搜索。

可见即可抓的方式,结合反监控系统模块模拟人的正常行为操作,搜索30万关键词数据,使资源最大化利用。为了保证在一个小时采集到,需要采用分布式多线程模式抓取,并发采集。并发的时候不能从同一个ip或者同一个ip网段出去,保证对方不会监测到我们的爬虫。

我们最后采用了第三种方式,目前运行状况为通过30w关键词搜索得到的所有微博加在一起总量1000多w条每天,新浪和腾讯最多,新浪微博略胜一筹。

使用了6台普通PC服务器,就算一台机器7000元,总共4万元硬件设备解决采集硬件问题。整体部署图为:

Linux:实战低成本服务器搭建千万级数据采集系统
Linux:实战低成本服务器搭建千万级数据采集系统

二、存储

采集下来的数据如何处理?首先存储采集数据是个密集写的操作,普通硬盘是否能够支持,mysql数据库软件能否支持,未来量突然增加如何应对?再就是评估存储空间,每天增量这么多需要耗费大量的存储资源,如何存放并且易扩展。

1、如何存储

正常来说我们上面配置的服务器,mysql使用myisam引擎一张表最多20w,使用innodb引擎最多400w,如果超过这个数量,查询更新速度奇慢。

这里我们采用一个比较取巧的做法,使用mysql的innodb存储引擎做了一层缓存库,这个缓存库有两个缓存表,每个表只存储少于300w的数据,有一张表多于300w的数据就切换到另一张表插入直到超过300w再切换回去。

切换成功后,把多于300w数据的表truncate掉,记得一定要没有数据插入的时候再truncate,防止数据丢失。

这里一定要用truncate,不能使用delete,因为delete需要查询,要用到索引读写,并且delete还会写数据库log耗费磁盘IO,存储空间也没有释放。truncate和drop是操作数据库删除数据比较好的做法。

由于有两个表作为数据插入表,使用数据库表的自增id并不太合适,需要一个高速的唯一自增Id服务器提供生成分布式ID。

另数据库完全可以关闭写事务日志 ,提高性能,因为抓取的数据当时丢失再启动抓取就可以了, 这样数据库可以保持在一个比较高性能的情况完成插入操作。

抓取缓存表结果如图:

Linux:实战低成本服务器搭建千万级数据采集系统
Linux:实战低成本服务器搭建千万级数据采集系统

2、存储空间

插入后的数据需要保存下来,不能在超过300w后被truncate掉了。

我们需要有个程序在达到300万时被truncate掉之前把数据同步走,存放到另外一个库上(我们叫做结果库,结果库也是使用innodb引擎)。不过我们每天采集的数据1000多万,按天递增,mysql一张表一天就撑爆了,我们这个表不是写操作密集型,所以结果库可以存储多点数据,设定上限500w,但是500万还是存不下1000万数据。

我们需要对mysql最终结果分库分表。将数据先按照时间分机器分库,再按照数据源分表,比如201301通过hash计算的数据存放在一个机器,201302通过hash计算在另一个机器。到了机器后再按照天或者半天分表,比如表名为 weibo_2013020101 、weibo_2013020112。weibo_2013020101表示2月1日上午一个表,weibo_2013020112表示2月1日下午一个表。光这样分了还是不够,1000w/2=500w,经不起压力扩展。我们还需要把表再拆分,比如weibo_2013020101 拆成 weibo_2013020101_1(新浪微博)、weibo_2013020101_2(腾讯微博)、weibo_2013020101_3(网易微博)、weibo_2013020101_4(搜狐微博)。

这样一张表平均就存放 500w/4 = 125w 条数据,远远小于500w上限,还可以应对未来突发的增长。

再从存储空间来算,就算一条微博数据为1k,一天 1000w*1k=10G,硬盘500G最多存放50天的数据,所以我们规划机器的时候可以挂接多一点硬盘,或者增加机器。

结果库分表如图:

Linux:实战低成本服务器搭建千万级数据采集系统
Linux:实战低成本服务器搭建千万级数据采集系统

按照这样的架构,我们使用开源免费软件、低成本服务器搭建的千万级数据采集系统在生产运转良好。

原创文章,转载请注明: 转载自LANCEYAN.COM

本文链接地址: 实战低成本服务器搭建千万级数据采集系统

Linux:如何修复被挂木马的php网站

有个朋友的网站长期没有人管理,而网站PR=4,于是网站被人攻陷,首页加上了上百条黑链,找我帮忙修复

看到首页密密麻麻的黑链,第一反应就是头大。最简单的办法:格式化后重装系统。但是这个服务器web/数据库都部署在同一台上,数据规模有200多G,当初安装的时候也没有分区,在线迁移数据太麻烦了,只能硬着头皮去修复问题,

修复步骤

  1. 停掉web服务,免得旧仇未报,又添新恨

  2. 找到被挂马的漏洞。一定要找到,不然问题根本解决不了。服务器被挂马主要是两种原因:sql注入或者某种系统性漏洞

    • sql注入,和代码有关系,不好查。但是只要你的Nginx/PHP不是以root身份运行的,最多被拖库,被挂马的可能性不大

    • 系统性漏洞,这个破坏性很大,但是都会比较著名,马上有人提供解决方案,搜索一下就能找到

    所以,找到被挂马的原因是: nginx文件类型错误解析漏洞,这个漏洞很严重,php网站只要支持图片上传都会中招

  3. 修补漏洞,nginx文件类型错误解析漏洞 这个漏洞比较好修复,在nginx configure文件里面配置一下即可

  4. 搜查木马文件,到代码安装目录执行下面命令

    find ./ -iname “*.php” | xargs grep -H -n “eval(base64_decode”

    搜出来接近100条结果,这个结果列表很重要,木马都在里面,要一个一个文件打开验证是否是木马,如果是,马上删除掉

    最后找到10个木马文件,存放在各种目录,都是php webshell,功能很齐全,用base64编码

  5. 清理现场, 去掉首页上的黑链,重启web服务

安全经验

  • 普通服务器被挂马,不用紧张,按上述步骤进行修复
  • 关键服务器(比如部署了用户资金/转账/交易 等服务),被挂马之后,必须要格式化重装,因为webshell的功能实在是非常齐全,攻击者很可能替换掉系统关键程序,比如sshd,nginx等,从此大门打开,随便进出
  • 服务器安装系统要分区,至少应该分 系统区和数据区 两部分,这样重装系统的时候可以不用迁移数据
  • 凡是提供外部端口的服务程序(web server,gate server),一定要用独立的用户运行,千万不要图省事,直接用root 

Linux:Linux中查看进程的多线程

在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢?

本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:

在我的系统中,用qemu-system-x86_64命令启动了一个SMP的Guest,所以有几个qemu的线程,以此为例来说明。

1. pstree 命令

查看进程和线程的树形结构关系

[root@jay-linux ~]# pstree | grep qemu
	 |-terminal-+-bash---qemu-sys---2*[{qemu-system-x8}]
[root@jay-linux ~]# pstree -p | grep qemu
		|-terminal(194)-+-bash(196)---qemu-sys(657)-+-{qemu}(660)
		|			   |			                 `-{qemu}(661)

2. ps 命令

-L参数显示进程,并尽量显示其LWP(线程ID)和NLWP(线程的个数)。

[root@jay-linux ~]# ps -eLf | grep qemu
root	 657 196 657  0	3 13:48 pts/1	00:00:00 qemu-sys -m 1024 -smp 2
root	 657 196 660  3	3 13:48 pts/1	00:00:26 qemu-sys -m 1024 -smp 2
root	 657 196 661  2	3 13:48 pts/1	00:00:19 qemu-sys -m 1024 -smp 2
root	 789  9799 10789  0	1 14:02 pts/0	00:00:00 grep --color=auto qemu

上面命令查询结果的第二列为PID,第三列为PPID,第四列为LWP,第六列为NLWP。

另外,ps命令还可以查看线程在哪个CPU上运行,命令如下:

[root@jay-linux ~]# ps -eo ruser,pid,ppid,lwp,psr,args -L | grep qemu
root	 657 196 657   1 qemu-sys -hda smep-temp.qcow -m 1024 -smp 2
root	 657 196 660   1 qemu-sys -hda smep-temp.qcow -m 1024 -smp 2
root	 657 196 661   2 qemu-sys -hda smep-temp.qcow -m 1024 -smp 2
root	 834  9799 10834   1 grep --color=auto qemu

其中,每一列依次为:用户ID,进程ID,父进程ID,线程ID,运行该线程的CPU的序号,命令行参数(包括命令本身)。

3. top 命令

其中H命令可以显示各个线程的情况。(在top命令后,按H键;或者top -H)

[root@jay-linux ~]# top -H
top - 14:18:20 up 22:32,  4 users,  load average: 2.00, 1.99, 1.90
Tasks: 286 total,   1 running, 285 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3943892k total,  1541540k used,  2402352k free,   164404k buffers
Swap:  4194300k total,		0k used,  4194300k free,   787768k cached
  PID USER	  PR  NI  VIRT  RES  SHR S %CPU %MEM	TIME+  COMMAND
660 root	  20   0 1313m 188m 2752 S  2.3  4.9   0:46.78 qemu-sys
661 root	  20   0 1313m 188m 2752 S  2.0  4.9   0:39.44 qemu-sys
867 root	  20   0 15260 1312  960 R  0.3  0.0   0:00.07 top
	1 root	  20   0 19444 1560 1252 S  0.0  0.0   0:00.34 init
	2 root	  20   0	 0	0	0 S  0.0  0.0   0:00.02 kthreadd
....

在top中也可以查看进程(进程)在哪个CPU上执行的。

执行top后,按f,按j(选中* J: P = Last used cpu (SMP)),然后按空格或回车退出设置,在top的显示中会多出P这一列是最近一次运行该线程(进程)的CPU.

PID USER	  PR  NI  VIRT  RES  SHR S %CPU %MEM	TIME+  P COMMAND
661 root	  20   0 1313m 188m 2752 S  2.3  4.9   0:44.24 3 qemu-sys
660 root	  20   0 1313m 188m 2752 S  2.0  4.9   0:51.74 0 qemu-sys
874 root	  20   0 15260 1284  860 R  0.7  0.0   0:00.32 2 top
	1 root	  20   0 19444 1560 1252 S  0.0  0.0   0:00.34 0 init
	2 root	  20   0	 0	0	0 S  0.0  0.0   0:00.02 1 kthreadd

更多信息,请 man pstree, man top, man ps 查看帮助文档。

注: LWP为轻量级进程(即:线程),(light weight process, or thread) 。

via http://smilejay.com/2012/06/linux_view_threads/ 

Linux:screenFetch: 命令行信息截图工具

screenFetch 是一个“命令行信息截图工具”。它可以在终端上显示系统信息,并进行桌面截图。它能生成漂亮的文本的系统信息和ASCII艺术的发行版LOGO,然后显示在截屏图片中。

它会自动检测你的发行版并显示其ASCII版本的LOGO,在其右侧显示系统信息。可以通过选项来指定是否显示LOGO、指定颜色,进行截图,甚至可以自定义截图的命令。screenFectch非常容易添加和扩展。

screenFetch将显示以下系统信息:

  • 当前登录用户
  • 操作系统版本
  • 内核版本
  • 总计运行时间
  • 已安装包数量
  • 当前shell详情
  • 当前屏幕分辨率
  • 当前桌面环境
  • 当前窗口管理器(文件管理器)
  • 总计及空闲磁盘使用百分比
  • CPU详情,如处理器速度、类型
  • 总计及当前内存使用量

在Linux上安装screenFectch

您可以通过直接从项目页下载源码包的方式安装,或者从screenFetch git库克隆。

源码安装:

下载 最新版. 我下载并安装在/home/sk/Downloads目录.

用命令解压:

$ unzip Downloads/screenfetch-3.1.0.zip

进入screenFectch目录,并设置执行权限.

$ cd screenfetch-3.1.0/

$ chmod +x screenfetch-dev

在命令行运行:

$ ./screenfetch-dev

输出示例:

Linux:screenFetch: 命令行信息截图工具
Linux:screenFetch: 命令行信息截图工具

通过git库安装

首先确认你是否安装了git.

如果没有安装,基于RHEL系统的用户用以下命令安装:

# yum install git

基于Debian系统的用户用以下命令安装:

# apt-get install git

使用命令克隆screenFectch库:

# git clone git://github.com/KittyKatt/screenFetch.git screenfetch

复制文件到/usr/bin/目录,并设置执行权限:

# cp screenfetch/screenfetch-dev /usr/bin/screenfetch

# chmod +x /usr/bin/screenfetch

运行screenFectch:

# screenfetch

您将会看到如上面截图所示的结果.

 

本文由 LCTT 原创翻译,Linux中国 荣誉推出。

译者:Vito 校对:Caroline,jasminepeng,wxy

via: http://www.unixmen.com/screenfetch-bash-screenshot-information-tool/

来源:https://linux.cn/article-1947-1.html

Linux:中文简繁转换项目 OpenCC

Open Chinese Convert(OpenCC)是一个开源的中文简繁转换项目,致力于制作高质量的基于统计预料的简繁转换词库。还提供函数库(libopencc)、命令行简繁转换工具、人工校对工具、词典生成程序、在线转换服务及图形用户界面。

Linux:中文简繁转换项目 OpenCC
Linux:中文简繁转换项目 OpenCC
特点严格区分「一简对多繁」、「一简对多异」和「地域用词差别」。支持异体字转换,兼容陆港澳台等不同地区用字差别。严格审校一简对多繁词条,原则为「能分则不合」,用户可自定义合并。支持中国大陆、台湾、香港异体字和地区习惯用词转换,如「裏」「裡」、「鼠標」「滑鼠」。词库和函数库完全分离,可以自由修改、导入、扩展。支持C、C++、Python、PHP、Node.js等多种语言API,提供命令行直接调用,以及图形界面。兼容Windows、Linux、Mac等多种平台。

via: http://www.oschina.net/p/opencc 

Linux:如何在Ubuntu下安装Google云端硬盘客户端

以下教程将为所有的Ubuntu用户讲授如何在你们的运行正常的Ubuntu上安装名为Grive的非官方Google云端硬盘客户端。

Linux:如何在Ubuntu下安装Google云端硬盘客户端
Linux:如何在Ubuntu下安装Google云端硬盘客户端
 

正如你所知,Google(大概讨厌Linux用户)没有为其优秀的Google云端硬盘提供Linux客户端。但是不用担心,随着开源社区拥有了一些像Lorenzo Breda一样的天才人物,他们为Linux开发了一个叫做 Grive的非官方的Google云盘客户端。

在我们实际安装之前,我们提醒你Grive应用还处于开发的早期阶段,仍旧有一些局限性,例如对多重父级的文件及文件夹的支持以及下载Google文档的能力.

另外,我们应该提及的是Grive是一个命令行客户端并且没有GUI(图形用户界面),因此,这次安装我们将使用其他Linux大神们制作的工具,叫做Grive Tools,它将在你的Ubuntu机器上自动下载、编译和安装最新版本的Grive.

Grive Tools支持以下的Ubuntu发行版:Ubuntu 12.10 (Quantal Quetzal), Ubuntu 13.04 (Raring Ringtail),和Ubuntu 13.10 (Saucy Salamander).

安装依赖库

这是一个简单的步骤,只要求你在Unity Dash上搜索并打开终端,然后将以下的代码粘贴在终端窗口上:

sudo apt-get install -y git cmake build-essential libgcrypt11-dev libjson0-dev
 libcurl4-openssl-dev libexpat1-dev libboost-filesystem-dev
 libboost-program-options-dev binutils-dev libboost-test-dev libqt4-dev
 libyajl-dev expect zenity gksu libnotify-bin

敲击回车键后,当提示输入密码时键入密码并再一次敲击回车键开始进入安装过程,需要注意的是可能有一些依赖包已经由你之前的应用程序安装好了。

 

Linux:如何在Ubuntu下安装Google云端硬盘客户端
Linux:如何在Ubuntu下安装Google云端硬盘客户端

安装Grive Tools和Grive

这里下载正确的Grive Tools包并保存在你的桌面上,下载完成后双击它,此时Ubuntu软件中心将打开,这样你就可以轻松容易的安装该应用了。

 

Linux:如何在Ubuntu下安装Google云端硬盘客户端
Linux:如何在Ubuntu下安装Google云端硬盘客户端

一旦安装完成,在Unity Dash上搜索Grive Tools并打开。Grive Tools将要求你输入你的密码,键入你的密码并点击OK,然后Grive Tools将开始下载文件和配置最新版本的Grive,这将会花费你一些时间。

Linux:如何在Ubuntu下安装Google云端硬盘客户端
Linux:如何在Ubuntu下安装Google云端硬盘客户端
 

Linux:如何在Ubuntu下安装Google云端硬盘客户端
Linux:如何在Ubuntu下安装Google云端硬盘客户端

来源:https://linux.cn/article-1953-1.html

Linux:Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件

你工作中有在GUI和命令行之间切来切去吗?当你总是要在命令行中输入你要进入的目录的时候,你有沮丧无奈过吗?如果有的话,那么,你一定要试下这个nautilus插件 —— nautilus-open-terminal

Nautilus-Open-Terminal

Nautilus-Open-Terminal 是一个让你随处都可以打开终端的nautilus插件。尤其是当你想在一个包含子目录的目录中对某个特定目录做命令行操作的时候,它特别有用。如果你安装了这个插件,那么你只需要做的就是右键点击这个目录,然后选择菜单项Open in Terminal

如下图所示:

Linux:Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件
Linux:Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件

现在,当你点击Open in Terminal菜单项后,系统将会打开一个终端,以你刚刚右键所点击的目录作为终端的当前目录。

Linux:Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件
Linux:Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件
 

因此,使用这个插件之后,从GUI到命令行就是如此简单。

下载/安装

这里给出一些跟这个插件相关的链接:

我第一次试着从Ubuntu软件中心下载安装这个插件的时候,报错说,我的系统中缺失一些依赖的软件包。然后又试着从命令行中下载安装,仍是相同的错误。于是,我先用命令 sudo apt-get -f install 去修复依赖关系,然后去Ubuntu软件中心下载和安装了这个插件。

优势

这个小插件能省掉你很多时间,再也不用在命令行和GUI间切来切去。

劣势

不得不在下载安装之前解决依赖缺失的错误。

总结

因为它很方便,所以我会向每个人去推荐这个插件。 一旦你使用了它,你就会发现它所带来的不同。

 

转自:http://mylinuxbook.com/nautilus-open-terminal-nautilus-plugin-to-open-terminal-from-anywhere/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:younel0925 校对:wxy

来源:https://linux.cn/article-1964-1.html

Linux:Markdown 语法说明 (简体中文版)

Linux:Markdown 语法说明 (简体中文版)
Linux:Markdown 语法说明 (简体中文版)

概述

宗旨

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括SetextatxTextilereStructuredTextGrutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。

总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

兼容 HTML

Markdown 语法的目标是:成为一种适用于网络的书写语言。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。

要制约的只有一些 HTML 区块元素――比如 

、、


 

 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的 

 

标签。

例子如下,在 Markdown 文件里加上一段 HTML 表格:

这是一个普通段落。
Foo
这是另一个普通段落。

请注意,在 HTML 区块标签间的 Markdown 格式语法将不会被处理。比如,你在 HTML 区块内使用 Markdown 样式的*强调*会没有效果。

HTML 的区段(行内)标签如 、 可以在 Markdown 的段落、列表或是标题里随意使用。依照个人习惯,甚至可以不用 Markdown 格式,而直接采用 HTML 标签来格式化。举例说明:如果比较喜欢 HTML 的  或  标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图像标签语法。

和处在 HTML 区块标签间不同,Markdown 语法在 HTML 区段标签间是有效的。

特殊字符自动转换

在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是 < 和 &。

& 字符尤其让网络文档编写者受折磨,如果你要打「AT&T」 ,你必须要写成「AT&T」。而网址中的 & 字符也要转换。比如你要链接到: http://images.google.com/images?num=30&q=larry+bird

你必须要把网址转换写为: http://images.google.com/images?num=30&q=larry+bird

才能放到链接标签的 href 属性里。不用说也知道这很容易忽略,这也可能是 HTML 标准检验所检查到的错误中,数量最多的。

Markdown 让你可以自然地书写字符,需要转换的由它来处理好了。如果你使用的 & 字符是 HTML 字符实体的一部分,它会保留原状,否则它会被转换成 &。

所以你如果要在文档中插入一个版权符号 ©,你可以这样写:©

Markdown 会保留它不动。而若你写:AT&T

Markdown 就会将它转为:AT&T

类似的状况也会发生在 < 符号上,因为 Markdown 允许 兼容 HTML ,如果你是把 < 符号作为 HTML 标签的定界符使用,那 Markdown 也不会对它做任何转换,但是如果你写:4 < 5

Markdown 将会把它转换为:4 < 5

不过需要注意的是,code 范围内,不论是行内还是区块, < 和 & 两个符号都一定会被转换成 HTML 实体,这项特性让你可以很容易地用 Markdown 写 HTML code (和 HTML 相对而言, HTML 语法中,你要把所有的 < 和 & 都转换为 HTML 实体,才能在 HTML 文件里面写出 HTML code。)


区块元素

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。

「由一个或多个连续的文本行组成」这句话其实暗示了 Markdown 允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML 格式不一样(包括 Movable Type 的「Convert Line Breaks」选项),其它的格式会把每个换行符都转成  标签。

如果你确实想要依赖 Markdown 来插入  标签的话,在插入处先按入两个以上的空格然后回车。

的确,需要多费点事(多加空格)来产生  ,但是简单地「每个换行都转换为 」的方法在 Markdown 中并不适合, Markdown 中 email 式的 区块引用 和多段落的 列表 在使用换行来排版的时候,不但更好用,还更方便阅读。

标题

Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。

类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 – (第二阶标题),例如:

This is an H1
=============
This is an H2
-------------

任何数量的 = 和 – 都可以有效果。

类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:

# 这是 H1
## 这是 H2
###### 这是 H6

你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的# 数量也不用和开头一样(行首的井字符数量决定标题的阶数):

# 这是 H1 #
## 这是 H2 ##
### 这是 H3 ######

区块引用 Blockquotes

Markdown 标记区块引用是使用类似 email 中用 > 的引用方式。如果你还熟悉在 email 信件中的引言部分,你就知道怎么在 Markdown 文件中建立一个区块引用,那会看起来像是你自己先断好行,然后在每行的最前面加上 > :

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.

Markdown 也允许你偷懒只在整个段落的第一行最前面加上 > :

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.

区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.

引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:

> ## 这是一个标题。
>
> 1.   这是第一行列表项。
> 2.   这是第二行列表项。
>
> 给出一些例子代码:
>
>     return shell_exec("echo $input | $markdown_script");

任何像样的文本编辑器都能轻松地建立 email 型的引用。例如在 BBEdit 中,你可以选取文字后然后从选单中选择增加引用阶层。

列表

Markdown 支持有序列表和无序列表。

无序列表使用星号、加号或是减号作为列表标记:

*   Red
*   Green
*   Blue

等同于:

+   Red
+   Green
+   Blue

也等同于:

-   Red
-   Green
-   Blue

有序列表则使用数字接着一个英文句点:

1.  Bird
2.  McHale
3.  Parish

很重要的一点是,你在列表标记上使用的数字并不会影响输出的 HTML 结果,上面的列表所产生的 HTML 标记为:

  1. Bird
  2. McHale
  3. Parish

如果你的列表标记写成:

1.  Bird
1.  McHale
1.  Parish

或甚至是:

3. Bird
1. McHale
8. Parish

你都会得到完全相同的 HTML 输出。重点在于,你可以让 Markdown 文件的列表数字和输出的结果相同,或是你懒一点,你可以完全不用在意数字的正确性。

如果你使用懒惰的写法,建议第一个项目最好还是从 1. 开始,因为 Markdown 未来可能会支持有序列表的 start 属性。

列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符。

要让列表看起来更漂亮,你可以把内容用固定的缩进整理好:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.

但是如果你懒,那也行:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
Suspendisse id sem consectetuer libero luctus adipiscing.

如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用 

 

 标签包起来,举例来说:

*   Bird
*   Magic

会被转换为:

  • Bird
  • Magic

但是这个:

*   Bird
*   Magic

会被转换为:

  • Bird

  • Magic

列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:

1.  This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.
    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.
2.  Suspendisse id sem consectetuer libero luctus adipiscing.

如果你每行都有缩进,看起来会看好很多,当然,再次地,如果你很懒惰,Markdown 也允许:

*   This is a list item with two paragraphs.
    This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.
*   Another item in the same list.

如果要在列表项目内放进引用,那 > 就需要缩进:

*   A list item with a blockquote:
    > This is a blockquote
    > inside a list item.

如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符:

*   一列表项包含一个列表区块:
        

当然,项目列表很可能会不小心产生,像是下面这样的写法:

1986. What a great season.

换句话说,也就是在行首出现数字-句点-空白,要避免这样的状况,你可以在句点前面加上反斜杠。

1986. What a great season.

代码区块

和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 


 和  标签来把代码区块包起来。

要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:

这是一个普通段落:
    这是一个代码区块。

Markdown 会转换成:

这是一个普通段落:

这是一个代码区块。 

这个每行一阶的缩进(4 个空格或是 1 个制表符),都会被移除,例如:

Here is an example of AppleScript:
    tell application "Foo"
        beep
    end tell

会被转换为:

Here is an example of AppleScript:

tell application "Foo" beep end tell 

一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。

在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体,这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码,只需要复制贴上,再加上缩进就可以了,剩下的 Markdown 都会帮你处理,例如:

会被转换为:

代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号,这表示你可以很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。

分隔线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:

* * *
***
*****
- - -
---------------------------------------

Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2

大家好,Ubuntu迷们!

你们好吗? 这篇文章的目标是介绍怎么在Ubuntu系统上安装Qmmp0.7.2应用程序。在Ubuntu上有许多的多媒体娱乐软件,Qmmp是其中一个,它是基于Qt语言的。Qmmp播放器依赖于Qt库文件,其用户界面类似于Winamp或者是Xmms。你喜欢Winamp的用户界面吗?或者是Xmms的界面?不是?好的,不要担心,还有可替换的用户界面。你可以看看这里

Qmmp 的实际稳定版本为0.7.2,已于8月26日发布。该程序非常强大并且很容易使用。它采用了MPEG V1/2的 1/2/3层解码器,支持多种输出格式,例如 MPEG1 2/3层,Ogg Vorbis,Ogg Opus,Native FLAC/Ogg FLAC,Musepack,WavePack,下面列出所有支持的输出格式。

  • MPEG1 2/3层
  • Ogg Vorbis
  • Ogg Opus
  • Native FLAC/Ogg FLAC
  • Musepack
  • WavePack
  • Tracker 模块 (mod, s3m, it, xm, etc)
  • ADTS AAC
  • CD Audio
  • WMA, Monkey’s Audio (以及ffmpeg库提供的其他格式)
  • PCM WAVE (以及 libsndfile 库提供的其他格式)
  • Midi
  • Chiptune formats (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)

和以前的版本相比,Qmmp0.7.2应用程序有许多修正和变化。API文件已修复,未实现的功能已经被删除,那你想知道从0.7.1版本所以的变化吗?

从0.7.1开始的变化有:

  • 修复队列更新的bug;
  • 修复轨道长度格式;
  • 修复API文档;
  • 修复了gcc编译器的警告;
  • 修复了内存泄露;
  • 修复wildmidi的配置路径;
  • 修复了播放列表自动保存的功能;
  • 修复了可能出现的段错误;
  • 修复了标题格式更新错误;
  • 去除未实现的功能;

现在开始安装Qmmp 0.7.2;打开新的终端,输入下列命令:

$sudo add-apt-repository ppa:forktov02/ppa

Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2
Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2
Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2
Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2

 

然后更新源列表,输入:

$sudo apt-get update

Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2
Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2

更新完后,我们下载qmpp,qmmp-plugin-pack,然后安装它们。

$sudo apt-get install qmmp qmmp-plugin-pack;

Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2
Linux:怎样在Ubuntu 13.04,12.10,12.04安装Qmmp 0.7.2

via:http://www.unixmen.com/install-qmmp-0-7-2-ubuntu-13-04-12-10-12-04/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:神之一手 校对:jasminepeng

来源:https://linux.cn/article-1968-1.html

Linux:怎样选择你的最佳商用Linux服务器?

所谓适合你的商用Linux服务器,可能只是符合你的职员水准的服务器。

Linux:怎样选择你的最佳商用Linux服务器?
Linux:怎样选择你的最佳商用Linux服务器?

供图: flickr/Pete

与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情。我可以帮助你。Linux 方面我有20年经验了,对Linux服务器略懂一二。

参考:

我觉得选Linux服务器首先要考虑的是你的IT部门对Linux有多熟悉。尽管这些年Linux专家好找多了,但是专业搞Linux的人还是不太好找。

今年早些时候我去俄勒冈州的波特兰参加一个叫做OSCon的开源大会的时候,我确认了一个事实就是每家公司(包括某家叫什么软的)都在考虑雇佣有Linux和开源工作经验的人

特别地,从已有经验来看,雇主在找有[几年Linux使用经验]的职员的时候都遇到了麻烦。或者确切地说是你需要保证你的Linux服务器火车准点的雇员。

不难看出,如果你手底下没有一群经验丰富的Linux技术人员的话,你要避免选择像Debian这样没有供应商提供技术支持的版本。

别搞错了,如果有经验丰富的人员的话Debian是个很棒的选择,但是如果你的职员连BASH和C Shell有什么区别都不知道的话那还是算了吧。

推荐给Linux新手的Linux服务器

– RHEL

– SUSE

– Oracle Linux

– Turnkey Linux

如果你的职员是Linux新手,你需要用一个商业版本的Linux。在它们之中,多数人力荐的是Red Hat Enterprise Linux

Red Hat靠对商用的支持成为了第一个资产过亿的Linux公司。RHEL比起其它Linux有很大的优势,因为它有着全套的工具——企业级支持专业认证硬件认证,通过Red Hat Network (RHN) 的自动在线更新 —— 那让CFO和CIO们很开心。

话说回来,Red Hat 确实有个真正的对手:SUSE Linux Enterprise Sever (SLES)

像RHEL一样,SLES有着技术支持;由它的姊妹公司Novell负责的人员认证硬件认证在线更新

那么,在它们当中该怎么选择呢?你可以试试先。它们用起来都很容易。就我而言,它们我都用过。总之要视实际情况而定,它们各有用武之地。

还有一个企业级Linux可以选择: Oracle Linux。尽管它是以RHEL为模仿对象和奋斗目标的,反正我不用。我所知道的唯一在商用中使用它的是一群把它们的IT鸡蛋们都放在Oracle这个篮子里面的人。

推荐给非专家用户的Linux服务器

– CentOS

– openSUSE

– Ubuntu Server

假设你中等水平,你的手下了解一些Linux的知识但并不是专家,怎么办呢?

我将推荐几个Linux。首先,如果你喜欢RHEL的话,那么一个免费的RHEL的克隆版本CentOS,值得你去关注。

CentOS 人气很高。如果你有一个运行在大多Web托管服务上的Apache服务器软件,很有可能你的网站就是运行在CentOS上的。要在网上寻找这个发行版的免费技术支持也不是件难事。

如果你在担心Red Hat找CentOS麻烦的话,尽管放心好了。虽然Red Hat对Oracle Linux没什么好感,但对CentOS不一样。RedHat的CEO James Whitehurst最近说:“CentOS 是 RHEL生态系统成为行业标杆的原因之一。如果不是它,Linux就必须付费使用而RHEL也就不会这么流行了。所以,往小处看我们是损失了一些收入,但从长远看,CentOS 在使RHEL成功方面扮演着非常重要的角色。”

另外一个给稍微了解一点Linux的人的选择是openSUSE。这是SUSE的社区版本。尽管它不提供SLES的技术支持,它还是挺好用的。我的家用服务器就是用的openSUSE。

Fedora是RHEL的社区版,但我不推荐用它做服务器。Fedora对想要挖掘Linux潜力的开发者们是不错的,但它不适合想要一个稳定的服务器的人。

另外一个中游的选择是Canonical的Ubuntu。Ubuntu以桌面版本及其在平板电脑和智能手机上的设计而闻名,同时它也有相当好的服务器版本:Ubuntu Server

像RHEL和SLES一样,Ubuntu也有技术支持和认证服务,但比不上Red Hat 和SUSE的资源丰富。另一方面,Ubuntu作服务器的话还是挺容易上手的。

专家级Linux服务器

– Arch

– Gentoo

– Debian

– Fedora

如果你对云计算感兴趣,Ubuntu(像RHEL一样)和OpenStack结合地很好。另外,Ubuntu的母公司Canonical提供了Juju,一套非常方便的DevOps(开发/运营)的工具,这使得Ubuntu的架设、配置、管理、维护、升级和扩展服务器变得更简单。

当我们在探讨云的时候,你也应该考虑你是不是真的需要在你的办公室或者数据中心里运行通用Linux服务器。很有可能你能在云的某一特定Linux服务器上运行服务。

多数公用云计算服务,如Amazon Web Services(AWS),Azure和RackSpace,提供Linux服务器。这样的话配置服务器等等一些难做的工作就已经替你做好了。

举个例子,在Amazon Elastic Cloud (AE2)上,Amazon提供了随时可用的Amazon Machine Images (AMIs),包括上文提到的每一种Linux发行版本,还有它自己的Amazon Linux可以选择。Microsoft的Azure呢,不管你信不信,。最后,RackSpace,一个OpenStack的拥护者,支持大多数主流Linux服务器版本和两个轻量级Linux,Arch和Gentoo。然而,像Debian一样,支持CentOS,openSUSE,SUSE和Ubuntu我仅推荐那些特别了解这些Linux发行版的人使用它们作为关键业务服务器。

谁说你就算是在云上都要有一个全功能Linux服务器?你可能只需要一个针对特定工作的Linux服务器。Turnkey Linux可以满足你。

Turnkey基于64位的Debian,但它需要的专业知识最少。因为它只提供特定的服务而不是一个全功能的发行版本。

Turnkey有超过100个可用的应用。包括Apache,Linux,MySQL,PHP/Python/Perl (LAMP) ;WordPress博客平台;Drupal内容管理系统(CMS)以及像Ushahidi这样的大流量购物服务器,优秀的人际关系管理(CRM)应用Zurmo,人道救援管理系统Sahana Eden。你可以在AWS,裸机,虚拟机(VM)或者Infrastructure as a Service(IaaS)云上面使用它们。

简言之,不论你对Linux知道多少,总有一款Linux服务器版适合你进行商用。动手吧!

 

 

via: http://www.itworld.com/operating-systems/372236/how-choose-best-linux-server-your-business

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:boredivan 校对:jasminepeng

来源:https://linux.cn/article-1972-1.html

Linux:我希望早几年知道的 5 个 Unix 命令

使用*nix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。

1. man ascii

这个命令会打印出八进制、十六进制和十进制的ASCII码表。难以置信我是一个月之前才知道这个命令的。我总是使用google来查询ASCII码表。这个命令其实更方便。

ASCII(7)           BSD Miscellaneous Information Manual           ASCII(7)
 
NAME
    ascii — octal, hexadecimal and decimal ASCII character sets
 
DESCRIPTION
    The octal set:
 
    000 nul  001 soh  002 stx  003 etx  004 eot  005 enq  006 ack  007 bel
    010 bs   011 ht   012 nl   013 vt   014 np   015 cr   016 so   017 si
    020 dle  021 dc1  022 dc2  023 dc3  024 dc4  025 nak  026 syn  027 etb
    030 can  031 em   032 sub  033 esc  034 fs   035 gs   036 rs   037 us

要查看更多信息,请参考 ascii 手册页面

2. cal

在很多系统上要显示日历一般要通过几个步骤。其实你可以使用 cal 命令。

> cal
 
    August 2013
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

要查看更多信息,请参考 cal 手册页面

3. xxd

> xxd somefile.bin
 
0000000: 83ff 0010 8d01 0408 d301 0408 a540 0408  ………….@..
0000010: d701 0408 d901 0408 db01 0408 0000 0000  …………….
0000020: 0000 0000 0000 0000 0000 0000 1199 0508  …………….
0000030: df01 0408 0000 0000 e199 0508 1d9a 0508  …………….
0000040: e501 0408 2912 0508 e901 0408 eb01 0408  ….)………..
0000050: ed01 0408 ef01 0408 39e0 0408 55e0 0408  ……..9…U…
0000060: 71e0 0408 8de0 0408 a9e0 0408 39f7 0408  q………..9…
0000070: 6df7 0408 a5f7 0408 ddf7 0408 15f8 0408  m……………
0000080: 49f8 0408 81f8 0408 7de5 0408 0b02 0408  I…….}…….
0000090: 4ded 0408 a9ed 0408 1102 0408 c5e0 0408  M……………
00000a0: 1502 0408 1702 0408 1902 0408 1b02 0408  …………….
00000b0: e50a 0508 1d0b 0508 590b 0508 2302 0408  ……..Y…#…
00000c0: 2502 0408 253d 0508 2941 0508 7106 0508  %…%=..)A..q…
00000d0: 8106 0508 690e 0508 990e 0508 c90e 0508  ….i………..
00000e0: 19e1 0408 3702 0408 3902 0408 3b02 0408  ….7…9…;…

这是另外一个让我难以置信是最近才知道的命令。xxd可以生成所给与文件的十六进制拷贝,也可以将编辑好的十六进制拷贝还原成二进制格式。它也可以将十六进制拷贝输出成C的数组,很方便:

> xxd -i data.bin
 
unsigned char data_bin[] = {
  0x6d, 0x61, 0x64, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x6f,
  0x6b, 0x0a
};
unsigned int data_bin_len = 14;

我也用这个命令来通过比较两个文件的十六进制拷贝来比较两个二进制文件。要查看更多信息,请参考 xxd 手册页面

 

4. ssh

ssh是我孰知的第一个稍复杂的unix工具,但是也是在不久前我才意识到除了使用它来登录到远端机器以外,它有更多其他用途。

ssh和它附带的工具可以用来:

1 在计算机之间传递文件(使用scp)

2 X-forwarding – 连接到远端的机器,并且开启一个GUI应用,看起来它们就像在本地开启的一样,即使远端的机器并没有提供X服务。

3 端口转发 – 将到本地端口的连接转发到远端机器的端口,或者将到远端机器端口的连接转发到本地端口

4 SOCKS 代理 – 允许你将一个支持SOCKET代理的应用上的所有连接转发到远端机器。这对于如何更安全使用公共wifi浏览网络和绕过严格的防火墙是很有用的。

5 在本地机器输入一次密码,然后就可以通过ssh的key代理来使用安全身份登陆其余的远端机器,而不需要重复输入你的密码了。

 

要查看更多信息,请参考 ssh 手册页面

 

5. mdfind

这个mac上特有的命令,当然其他的*nix也会有相类似的命令。它和find命令功能相同,但是它是使用Spotlight索引的。它可以让你在 数秒内查询你的整个文件系统。你可以使用它来即时展示满足条件的新增文件的更新情况。我经常使用它来查询应用在隐蔽的位置存储的重要文件。

> mdfind -name homebrew
 
/usr/local/Library/Homebrew
/Users/job/Library/Logs/Homebrew

要查看更多信息,请参考 mdfind 手册页面

原文链接: Job Vranish   翻译: 伯乐在线 轩脉刃译文链接: http://blog.jobbole.com/48124/

 已同步至 linux的微博

Linux:入门:在ubuntu中安装Nessus漏洞扫描器

对Linux机器的漏洞扫描是保护我们的私人数据安全的最重要步骤。在这篇文章中,我将教你如何在ubuntu上安装,配置和启动Nessus。你想了解你的对象易受到什么样的漏洞影响?那么,读这篇文章来了解Nessus吧.

什么是Nessus?

Nessus 是一个非常容易部署的漏洞扫描器。已超过千万次的下载数量,并在捆绑解决方案中提供1、2或3年的服务订阅。你想对你的网络执行安全性检查吗? 在大规模的网络安全检查中,Nessus将会是你查找主机和识别漏洞的最好帮手。以下列出Nessus工具的一些功能。一个好消息是,Nessus有两个版本,家庭版和专业版。 家庭版适合个人使用,可以用于非专业的环境。专业版包括了额外的功能,用于商业用途:

  • 广义资产评估
  • 移动设备审计
  • 僵尸网络/恶意进程/反病毒(AV)审计
  • 集成了补丁管理
  • 敏感内容审计
  • 数据采集与监控(SCADA)和控制系统的审计

在安装和配置Nessus之前,你需要下载适合你的操作系统的Nessus。在这里下载。由于这篇文章是介绍在ubuntu上安装和配置Nessus,那么选择linux分类,并且在linux分类下选择ubuntu。 图1显示了我在网上下载的deb包。你可以右键单击deb文件并点击“在ubuntu软件中心打开”,然后, 在ubuntu软件中心点击安装。安装之后我们需要配置Nessus,然后可以使用了。

图1

好了,现在你已经安装了Nessus,下面是运行它。打开一个新的终端,你可以通过键入“/etc/init.d/nessusd start”运行Nessus 。由于我用的家庭版,我需要一个它的有效许可证。

通过命令启动Nessus安装,如图2 所示。

Linux:入门:在ubuntu中安装Nessus漏洞扫描器
Linux:入门:在ubuntu中安装Nessus漏洞扫描器

图2

现在添加一个用户,输入命令,如图3所示.

Linux:入门:在ubuntu中安装Nessus漏洞扫描器
Linux:入门:在ubuntu中安装Nessus漏洞扫描器

图3

在图3所示的登录提示框中,输入你想要添加的用户名,在你两次正确输入密码之后,此用户名就成为了管理员。完成之后,通过键入“/etc/init.d/nessusd start”命令运行Nessus,在浏览器打开 https://127.0.0.1:8834 登录到Nessus。

Linux:入门:在ubuntu中安装Nessus漏洞扫描器
Linux:入门:在ubuntu中安装Nessus漏洞扫描器

图4

扫扫更健康! :>

[译注:本文只是安装简单的安装过程,具体的使用请期待其它文章]

 

via http://www.unixmen.com/install-nessus-on-ubuntu/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:Caroline

来源:https://linux.cn/article-1976-1.html

Linux:如何在Linux上添加或编辑文件系统的卷标

文件系统卷标并不是为了Linux操作系统正常运行所必需的,但当你有几个磁盘分区时文件系统卷标可以使你更容易去导航到那些磁盘分区。在这篇文章中我将展示如何在ext2,ext3和ext4磁盘分区中添加或编辑Linux文件系统卷标

我的上网本装有3个操作系统:Windows XP,Linux Mint和Xubuntu。有时我想要在其它的操作系统上去查看一个文件系统的文件位置,有了文件系统卷标是非常方便的,就可以知道该打开哪个文件系统来找到所需文件。

查看Linux文件系统卷标

首先让我们看一下哪些文件系统已经有了一个卷标,哪些还没有。你可以用blkid命令来查看你的文件系统信息。你需要以root身份运行这个命令去查看文件系统的全部信息。

sudo blkid -c /dev/null

在我的上网本里输出的信息是这样。

/dev/sda1: LABEL="WINRE" UUID="80AE-9D55" TYPE="vfat"
/dev/sda2: LABEL="OS_Install" UUID="E468676968673A06" TYPE="ntfs"
/dev/sda3: UUID="012ff341-f854-4c4f-8bbd-bbc810121fe6" TYPE="ext4"
/dev/sda5: UUID="ec0fe4d1-e21c-407d-8374-aa4b470519da" TYPE="ext3"
/dev/sda6: UUID="ee275431-64b2-4f55-b958-4055147cdf4e" TYPE="swap"
/dev/sda7: UUID="99feb5c5-25a6-47a3-aa2c-6d466c0094ab" TYPE="ext4"

现在我用lsblk命令同样可以列出挂载在我当前系统上的某个文件系统。

lsblk

在我的Linux Mint 系统上输出的信息是这样。

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 149.1G  0 disk
|-sda1   8:1    0   3.9G  0 part
|-sda2   8:2    0  39.1G  0 part
|-sda3   8:3    0   9.3G  0 part /
|-sda4   8:4    0     1K  0 part
|-sda5   8:5    0    86G  0 part /home
|-sda6   8:6    0   1.4G  0 part [SWAP]
|-sda7   8:7    0   9.3G  0 part

正如你看到的,在blkidlsblk命令输出信息上,只有我的Windows分区是有卷标的,浏览文件管理器可以看到每一个分区都有一个通用的名称。

 

Linux:如何在Linux上添加或编辑文件系统的卷标
Linux:如何在Linux上添加或编辑文件系统的卷标

无卷标的分区

用e2label编辑Linux文件系统卷标

查看lsblk命令的输出,我可以看到我的Linux Mint安装在/dev/sda3分区上,我的/home分区是在/dev/sda5分区上,而我的Xubuntu安装在/dev/sda7分区上。我用root身份运行e2label命令给在这些分区分配卷标。

sudo e2label /dev/sda3 Mint

sudo e2label /dev/sda5 Home

sudo e2label /dev/sda7 Xubuntu

现在看看blkid命令的输出,

sudo blkid -c /dev/null
/dev/sda1: LABEL="WINRE" UUID="80AE-9D55" TYPE="vfat"
/dev/sda2: LABEL="OS_Install" UUID="E468676968673A06" TYPE="ntfs"
/dev/sda3: UUID="012ff341-f854-4c4f-8bbd-bbc810121fe6" TYPE="ext4" LABEL="Mint"
/dev/sda5: UUID="ec0fe4d1-e21c-407d-8374-aa4b470519da" TYPE="ext3" LABEL="Home"
/dev/sda6: UUID="ee275431-64b2-4f55-b958-4055147cdf4e" TYPE="swap"
/dev/sda7: UUID="99feb5c5-25a6-47a3-aa2c-6d466c0094ab" TYPE="ext4" LABEL="Xubuntu"

可以看到卷标已经被加上了。查看文件管理器,我同样可以看到我10.0GB的分区现在显示的是Xubuntu卷标。

Linux:如何在Linux上添加或编辑文件系统的卷标
Linux:如何在Linux上添加或编辑文件系统的卷标

有卷标的文件系统

提示

你同样可以用e2label命令来查看单独的分区卷标,如查看分区5.

sudo e2label /dev/sda5

删除分区5的卷标

sudo e2label /dev/sda5 “”

 

via: http://tuxtweaks.com/2013/08/edit-a-linux-file-system-label/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Luny 校对:Caroline

来源:https://linux.cn/article-1978-1.html

Linux:新OpenSUSE的树莓派镜像

大家好!请注意,所有的openSUSE的fans们都应该读读这篇重要的文章。你有树莓派吗?你想试试openSUSE吗?你对树莓派和openSUSE很狂热吗?想不想看看它们在一起?真让人激动,ARM版的openSUSE针对树莓派平台发布了一个新的基于ARM v6的安装镜像。这个新的openSUSE镜像是内核3.6版本,带有轻量级的X11/icewm(ice 窗口管理器),压缩后仅有82MB。

不用谢我,应该谢Bernhard Wiedeman。如此酷的penSUSE镜像是他使用一个openSUSE的替代镜像自动构建的。还有,你知道它最有趣的地方是什么?Bernhard Wiedeman在一个早上只用3个小时就创建建立了它,真强啊!

如果你对这个Bernhard用来构建基于ARM v6的树莓派镜像写的自动化脚本感兴趣,你可以在这里找到。这个脚本让每个人都有机会简单的构建自己的镜像,然后分享给全世界其它的openSUSE极客们。Bernhard Wiedeman为我们写了一篇在3分钟内从头构建一个镜像的博客。是的,3分钟!并且每件事都做的尽善尽美。Bernhard Wiedeman的树莓派在55秒内启动成功。你的呢?多少时间完成启动?你能在评论中分享给我们吗?我们会非常开心的听到来自其它用户的体验。

当然,没有什么事情是完美的,剩余的尚未解决的问题还在解决中.下面已经列出了这些剩余的问题。

  • 安装文件key初始化不可靠
  • 构建脚本没有出错处理

这个新的image相对于之前的image有什么优势?

  • 很容的改变镜像大小,因为root分区放到了最后
  • 压缩后镜像文件非常小
  • 可重复构建镜像,因此更容易定制
  • ARM v6带有浮点计算支持,因此更快
  • 有超过5200个来自openSUSE:Factory:ARM的成功构建的包
  • 举个例子,你可以使用zypper安装xauth twm xorg-x11-server xinit这些包来建立一个轻量级的图形环境, 之后使用startx启动它。

好了伙计们,这可不是PiSUSE去娱乐的时间,我的意思是快去试试在你的树莓派上安装openSUSE,不要喝太多的啤酒。openSUSE的伙计们快乐!

Source: openSUSE Lizards

 

via: http://www.unixmen.com/new-opensuse-raspberry-pi-image/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf01 校对:wxy

来源:https://linux.cn/article-1980-1.html

Linux:WinUSB: 在linux上创建一个Windows的可引导的U盘

hi,小伙伴们,

我不是来这里宣传使用微软的windows的,如你所见这是一篇关于如何创建一个可引导的U盘的文章。在Windows中也有一个这样的工具,它就是好用的Power ISO。

你可能还记得在学校或者家里有时需要从DVD或者.iso文件建立一个可引导启动的windows U盘,但你没有使用Windows,就没法使用Power ISO来完成.

在linux上你可以用Unetbootin,但是新版的Unetbootin不再支持。虽然你可以使用旧版本,并且在这之前需要将U盘格式化成NTFS格式,但这对新手来说确实很复杂。

现在,我来介绍一个叫winusb的工具,如果你从来没有听过它,没关系,请继续读下去。

WinUSB 是一个在linux上用来建立Windows安装U盘或者可引导U盘的简单的命令行工具。

我们先来安装winusb,之后我们来看如何使用它。

通过PPA来安装winusb:

$ sudo add-apt-repository ppa:colingille/freshlight

$ sudo apt-get update

$ sudo apt-get install winusb

WinUSB可以运行在命令行下(终端),我们可以在终端中使用如下命令(需要root权限)建立一个Windows 7或者windows Vista 的安装U盘:

$ sudo winusb –format

例如:

$ sudo winusb –format Desktop/SETHO/Win7.iso /dev/sdc1

Desktop/SETHO/Win7.iso 是.iso文件路径,/dev/sdc1是设备路径。(:用df命令获得设备路径)

安装一个Windows ISO到NTFS分区,并修改主引导记录(MBR):

$ sudo winusb –install

例如:

$ sudo winusb –install Desktop/SETHO/Win7.iso /dev/sdd1

/dev/sdd1是分区路径

如果你不喜欢命令行,WinUSB同样有GUI版,但是你应该试着学习它爱上命令行,其实它很简单易懂。

从dash中启动:

Dash > WinUSB

 

Linux:WinUSB: 在linux上创建一个Windows的可引导的U盘
Linux:WinUSB: 在linux上创建一个Windows的可引导的U盘

启动之后,选择.iso文件和设备,点击安装即可.

 

Linux:WinUSB: 在linux上创建一个Windows的可引导的U盘
Linux:WinUSB: 在linux上创建一个Windows的可引导的U盘

 

via:http://www.unixmen.com/winusb-create-bootable-windows-usb-linux/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf01 校对:Caroline

来源:https://linux.cn/article-1981-1.html

Linux:十个最好的ZSH技巧

1: 使用 ** 作为下级目录的通配符:

$ ls **/*.pyc

foo.pyc bar.pyc lib/wibble.pyc

$ rm **/*.pyc

$ ls **/*.pyc

2: 在文件筛选中使用匹配模式:

$ ls *.(py|sh)

3: 在文件筛选中使用修饰符,如:(@) 限制只匹配符号链接:

$ ls -l *(@)

4: 使用制表符TAB来自动完成,如man的时候:

$ man zsh[TAB]

5: 也可以用制表符来自动补全命令选项:

$ python -[TAB]

6: 或者在kill的时候自动完成:

$ kill Dock[TAB]

7: 在制表符自动补全时,可以使用光标键(上下左右等):

$ man zsh[TAB][DOWN][RIGHT][LEFT][UP]

8: 自动修改错误的输入:

$ pythn -V

zsh: correct ‘pythn’ to ‘python’ [nyae]? y

Python 2.7.1

9: 使用r来重复上一条命令,可以带替换方式!

$ touch foo.htm bar.htm

$ mv foo.htm foo.html

$ r foo=bar

mv bar.htm bar.html

10: 高可定制性的提示符,使用RPROMPT居然可以设置提示符在右边!

$ RPROMPT=”%t”

 

via: http://blog.goosoftware.co.uk/2012/05/22/ten-great-zsh-tips/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:冰雨玉洁 校对:wxy

来源:https://linux.cn/article-1989-1.html

Linux:Libreoffice 4.1.1已发布,及在Ubuntu和Linux Mint平台安装方法

LibreOffice为您提供了六项功能丰富的应用程序以适合您的文档和数据处理需要,它们包括:Writer、Calc、Impress、Draw、Math和Base。LibreOffice是什么样的软件?我知道这个问题对于大多读者是很容易回答的,但是随着我们的爱好者与日俱增,我猜想有很多人并不了解Linux以及开源,所以我觉得我有必要提供一些有关LibreOffice的信息。

LibreOffice是一个运行在Linux、Windows和Mac操作系统的简单而强大的开源软件。有很多的志愿者帮助完成LibreOffice这个项目,他们担任着不同的角色,从工程任务到社区支持,还有创造性的工作。

下面是新闻播报:

LibreOffice 4.1.1 已经发布,这个版本有了很多的改进功能和错误修正。LibreOffice 4.1.1不再兼容老式的StarOffice(sun的office)的二进制文件,及不再输出老式的Word和Excel文件。并解决了一个有趣的BUG —— fdo#67388 —— .deb包的文件属主不再是 root:root 了。

新特性和修复

  • 关闭’首页相同内容’的选项不再显示在界面上
  • 不能在Writer中选择其它填充色 -> Drawing 功能
  • REPORTBUILDER(报告生成器):一些选项列表中的标签显示与功能不匹配
  • 当检查扩展更新时出现4.1段错误
  • FILESAVE: 保存为XLS文件格式遗漏保存cell表达式的公式的结果错误
  • 字体样式没有储存在ODG和ODP文件: 编辑一个样式之后,关闭再打开,样式会改变
  • 不能保存新的自动更正词条
  • MAILMERGE: 在LO 4.1.0.4中预先定义的标签不包含格式信息
  • EDTING: BUG: calc 拼写检查崩溃.
  • 在libvclplug_gtklo.so中被信号11(SIGSEGV)killed的soffice.bin发生段错误
  • GCJ Java Variant数据已知与LibreOffice有影响,我们建议使用OpenJDK来代替
  • LibreOffice 4.x 丢掉了一些长期弃用的功能,其中包括对老式的StarOffice二进制文件的支持、导出老式的Word和Excel(6.0/95版本)以及老式的ODMA文档管理
  • 已更改或添加了一些菜单项。如果你丢失了一些东西,可能是由于你使用了以前的LibreOffice安装中的定制菜单设置.

那LibreOffice 4.1.1怎样安装呢?打开终端并复制以下命令,这样就可以把LibreOffice安装到Ubuntu或Linux Mint。

 

$ sudo add-apt-repository ppa:libreoffice/libreoffice-4-1 

$ sudo apt-get update

$ sudo apt-get install libreoffice

 

via: http://www.unixmen.com/libreoffice-4-1-1-released-install-ubuntu-linux-mint/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf01 校对:Caroline

来源:https://linux.cn/article-1991-1.html

Linux:Ledger-复式记账的一个功能强大的命令行工具

无论你是一个电脑极客还是普通用户,记录账户开销总是必不可少的。虽然在Linux上有很多基于GUI的记账工具(比如 – GNUCash)受到大家欢迎,但是工作在命令行的记账工具是很多用户难以想象的。在本文中,我们将讨论一个功能强大的命令行记账工具-Ledger

 

Linux:Ledger-复式记账的一个功能强大的命令行工具
Linux:Ledger-复式记账的一个功能强大的命令行工具

Ledger – 复式记账工具

Ledger是复式记账的一个功能强大的命令行工具。对于那些不了解“复式(Double-Entry)”的用户,它这意味着每笔交易都必须有一个源。站在一个外行的角度来看,这意味着,每做成一笔账户信贷,一个账户必须有一个借记卡。所以,Ledger跟踪资金运转并且帮助你了解你的开支。

Ledger没有自己的数据库,它依赖于通过用户维护一个开支表(一个简单的文本文件)。不过开支表有一种Ledger能够理解的特殊格式。

例如,下图是我准备的一个简单的开支表:

Linux:Ledger-复式记账的一个功能强大的命令行工具
Linux:Ledger-复式记账的一个功能强大的命令行工具

 

几个值得注意的要点:

  • 分类之下的所有行是tab缩进(例如 – Shopping,Leisure或EMI)。
  • 同样,所有的开支金额也是tab缩进(包括:$)。
  • 作为复式记账工具,制定信用卡和借记卡是很重要的,否则Ledger将会报错。

简短教程

当你准备好了费用表,参照下图来了解怎样检查总体费用。

Linux:Ledger-复式记账的一个功能强大的命令行工具
Linux:Ledger-复式记账的一个功能强大的命令行工具

所以,通过-f 选项你可以看到,你可以指定你的开支表的名称并且balance是Ledger的一个命令,它能够处理明确显示的总付款记录。另外,借记卡支付显示为红色,支出显示为白色。

正如前面所讨论的,Ledger要求用户输入正确的借方贷方详细信息。下面是一个当费用表中提到了错误账户对应关系时的示例:

Linux:Ledger-复式记账的一个功能强大的命令行工具
Linux:Ledger-复式记账的一个功能强大的命令行工具

我只是把鞋子的购物费用从$50改到$60,但是没改变付款价格。正如你看到的,Ledger显示了“Transaction does not balance“错误。

除了balance命令,你可以用register命令去显示所有条目对应的报表查询。

例如:

Linux:Ledger-复式记账的一个功能强大的命令行工具
Linux:Ledger-复式记账的一个功能强大的命令行工具

所以,你可以从上面示例中看到 – register命令是用来shopping报表查询,所有有关这一类的交易都在输出中显示。

这只是冰山一角,Ledger提供很多其他选项值得一试(包括:report generation)。更多内容访问手册页

优点

  • 强大且功能丰富的记账工具
  • 便于使用
  • 彩色输出

缺点

  • 开支文件需要分别维护
  • 有一定的学习曲线

下载/安装

下面是一些有关Ledger命令行工具的重要链接:

Ubuntu用户可以通过Ubuntu软件中心下载和安装这个工具。这篇文章使用的版本是3.0。

总结

Ledger是一个智能小巧的命令行实用程序用来管理你的开支。你可以用它来管理日常以及复杂的业务账户。虽然它有一定的学习曲线,但是它拥有各种功能,在学习使用Ledger中投入一点努力是值得的。

 

via: http://mylinuxbook.com/ledger-command-line-accounting-tool-2/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:Caroline

来源:https://linux.cn/article-1994-1.html

Linux:在CentOS 6.4上安装Ampache流媒体服务

Ampache是一个基于WEB的音频/视频流媒体软件和文件管理器。你可以使用几乎所有的互联网设备从任何地方去访问你的音乐和视频。它不是一个媒体管理器,只是有效利用了现有分类好的媒体文件。所以,你必须预先组织好这些媒体文件。

方案

尽管它应该在几乎所有基于RHEL的系统上工作,但这个指南是在CentOS 6.4上测试的。在这篇指南中, 我的测试机主机名和IP地址分别为server.unixmen.com192.168.1.201/24.你可以根据自己的地址适当改变这些值。

前提

你的服务器上应该安装和配置了Apache,MySQL和PHP(LAMP)。参考以下链接中的任何一个来安装LAMP服务。

或者

译者注:注意,两种安装方式的数据库是不同的

接着安装PHP模块。

# yum install php-mcrypt php-pdo php-cli php-mysql php-gd php-xml libtool-ltdl mhash mcrypt -y

为Ampache创建数据库用户

例如, 这里,我将要创建一个名为“ampachedb”的数据库用户和“ampachedb”用户的密码为“centos”的数据。你可以根据你的喜好来定义数据库。

# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 3
Server version: 5.5.31-MariaDB MariaDB Server
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> create database ampachedb;
Query OK, 1 row affected (0.02 sec)
MariaDB [(none)]> GRANT ALL ON ampachedb.* TO ampacheuser@localhost IDENTIFIED BY 'centos';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

调整防火墙/路由器的设置

允许apache的默认端口“80”通过防火墙/路由器。编辑 /etc/sysconfig/iptables 文件,

# vi /etc/sysconfig/iptables

添加下面这行。

-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT

现在重启防火墙(iptables)服务。

# /etc/init.d/iptables restart

获取Ampache

在这下载Ampache最新版本或者从你的终端输入以下命令去下载。

# wget https://github.com/ampache/ampache/archive/3.6-alpha6.zip

注释: 这里你可以使用以下两种方法来访问你的流媒体服务网站。

  1. 直接从网站根目录访问, 这样你可以通过导航到http://domain-name/来访问你的网站。
  2. 另外,你可以在网站根目录和主机网站子目录中创建一个子目录,这样你可使用URLhttp://domain-name/sub-directory-name成功访问你的网站。

此时, 因为测试目的,我将要在sub目录下访问我的流媒体网站。

用命令解压下载后的文件:

# tar -zxvf 3.6-alpha6

移动ampache目录到apache根目录。

# mv ampache-3.6-alpha6/ /var/www/html/ampache

设置ampache/config目录的写入权限。

# chmod -R 777 /var/www/html/ampache/config/

开始安装

打开浏览器在地址栏中输入http://domain-name/ampachehttp://ip-address/ampache

将会出现下面界面。点击Start configuration(开始配置)

Linux:在CentOS 6.4上安装Ampache流媒体服务
Linux:在CentOS 6.4上安装Ampache流媒体服务
 

输入MySQL数据库,用户和密码等详细资料。因为我们创建了数据库,所以确保你选中了“Overwrite existing database(覆盖现有的数据库)”复选框。

Linux:在CentOS 6.4上安装Ampache流媒体服务
Linux:在CentOS 6.4上安装Ampache流媒体服务
 

输入最近创建的MySQL数据库,用户和密码等详细资料。点击 write生成ampache.config.php文件和点击Continue to step 3按钮。

Linux:在CentOS 6.4上安装Ampache流媒体服务
Linux:在CentOS 6.4上安装Ampache流媒体服务

现在你将被要求设置admin用户密码。输入密码并且点击Create Account(创建账户)

Linux:在CentOS 6.4上安装Ampache流媒体服务
Linux:在CentOS 6.4上安装Ampache流媒体服务

最后,Ampache将要求你更新到最新版本。点击Update(更新)。

Linux:在CentOS 6.4上安装Ampache流媒体服务
Linux:在CentOS 6.4上安装Ampache流媒体服务

对了,就是这样!现在你已经成功安装Apmache。为进一步配置,我建议你阅读官方的Ampache Wiki

 

via:http://www.unixmen.com/setup-streaming-media-server-ampache/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:Caroline

来源:https://linux.cn/article-1998-1.html

Linux:Ranger – 给命令行用户一个基于文本的文件管理器

图形文件管理器是每个人日常电脑工作的一部分。多数用户都乐于使用默认的文件管理器,并且没有那么多困扰让他们去探索替代的文件管理器。但是,当使用命令行(CLI)的文件管理器,用户在找到一个最好的之前,可能有兴趣尝试各种可用的文件管理器,以适合他们的需求。在这篇文章中,我们将来看看Ranger,一个基于命令行的文件管理器。

ranger-main

 注释:这篇文章中的所有示例和使用说明在ubuntu13.04上已通过测试。

Ranger – 命令行文件管理器

Ranger是一个基于ncurses库的命令行文件管理器,有一个简单而简约的用户界面。它使用基本的vi式的导航键,能够预览文件和用默认程序打开它们。

如何使用Ranger

只需在命令行里键入命令ranger去执行这个程序。这是在我系统上从/home/himanshu目录执行时的ranger快照。

Linux:Ranger – 给命令行用户一个基于文本的文件管理器
Linux:Ranger – 给命令行用户一个基于文本的文件管理器

你可以看到在单独的列上ranger显示了目录,子目录和目录里的内容。例如,如上图所示,在窗口最左边一列,代表我的系统在/home/目录下有三个目录。在这三种目录里,himanhu目录是当前已被选择的。

第二列代表himanshu目录的子目录。这里,Pictures子目录是当前被选择的。同样的,第三列代表呈现在图片目录的所有文件。

注释:你可以使用左右键选择一个特定的列并且使用上下键穿梭于这些列中。

Ranger使用默认程序去显示不同类型的文件。例如,当我导航到第三列如之前的截图并且按下我选择的文件workspace_switcher.png。下面会出现:

Linux:Ranger – 给命令行用户一个基于文本的文件管理器
Linux:Ranger – 给命令行用户一个基于文本的文件管理器

所以,你可以看到ranger在图像浏览器中打开文件。这个文件管理器另一个功能是,被选择的文件如果可能的话,可以在文件管理器中预览文件。

这是示例截图:

Linux:Ranger – 给命令行用户一个基于文本的文件管理器
Linux:Ranger – 给命令行用户一个基于文本的文件管理器

所以你可以看到当CMS文件被选中时,预览它的内容被显示在窗口的右边。如果想要读取完整文件,只需点击右键头,文件将在vi/vim编辑器中打开。退出vi/vim编辑器使用:q 回到文件管理器。

注释 – 预览图片需要一些支持库。更多方面的信息:可以看这里阅读支持部分。

这是关于使用ranger的一些提示:

  • 选择一个文件,按y复制它,然后导航到目标目录再按p粘贴。
  • 提示:delete键去删除当前被选中的文件。
  • 在文件管理器里使用问号(?)打开ranger的man手册页并且按q回到文件管理器。
  • 基于ncurses,可以很容易的通过鼠标上下滚动。

下载/安装

这是相关ranger文件管理器的重要链接:

我通过apt-get在命令行下载并安装这个程序。Ubuntu用户也可以使用Ubuntu软件中心下载安装这个程序。本文使用的版本是1.5.4-1。

没有其他问题的话,下载和安装能够顺利完成。

优点

  • 轻松导航
  • 简约的UI
  • 使用vi/vim风格命令控制

缺点

  • 只适用于基本的文件管理操作
  • 预览功能需要依赖关系被满足

总结

Ranger是一个很好的实用程序。我将推荐这个程序给那些工作在服务器上的用户(不含GUI)。如果你主要使用命令行,并且在寻找一个好的命令行管理器,Ranger可能是一个好的选择。如果你的期望不是太高,ranger不会使你失望。

 

via: http://mylinuxbook.com/ranger-command-line-file-manager/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:wxy

来源:https://linux.cn/article-1995-1.html

Linux:Ubuntuzilla: 安装最新版Mozilla软件的简单方法

Ubuntuzilla 是一个包含最新版本Mozilla Firefox,Mozilla Thunderbird,和Mozilla Seamonkey软件的APT仓库,这个仓库将适用于Ubuntu以及所有的Debian衍生发行版。Ubuntuzilla在Ubuntu论坛的第三方项目区域有一个支持论坛,因此,如果用户有任何问题、意见或者建议就可以使用它来反馈。

为什么要用Ubuntuzilla?

回答这个很简单。对于一个特定版本的Ubuntu发行版,官方仓库包含这个版本的Ubuntu发布日期时的软件包的最新版本。发布之后,再次更新的软件包不被加入这个仓库,除非是修复安全漏洞。使用Ubuntuzilla的用户可以得到,并及时更新还没有加入到Ubuntu/Debian官方仓库的Mozilla软件,听起来还不错吧?恩,就是这样。

添加Ubuntuzilla仓库

添加Ubuntuzilla并不困难,但是如果你已经在使用旧版的ubuntuzilla脚本,你应该先删除掉它,否则由于已经有了一个/usr/bin下的符号链接,在安装时候后,依旧会使用旧版的脚本。

运行一下命令来移除旧版本的Ubuntuzilla脚本:

$ sudo ubuntuzilla.py -a remove -p

首先,强烈建议大家备份已存在的Firefox/Thunderbird/Seamonkey的用户个人文件。它被存放在你的主目录。Firefox和Seamonkey个人文件存放在 .mozilla 目录中。Thunderbird 的个人文件存放在 .thunderbird 或者 .mozilla-thunderbird 目录中。

使用任意编辑器打开/etc/apt/sources.list文件。

$ sudo nano /etc/apt/sources.list

在里面添加下面一行:

deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main

保存并退出文件。

使用以下命令在apt 的 keyring中添加下面的软件包签名公钥:

$ sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com C1289A29

使用下行命令更新源文件表:

$ sudo apt-get update

现在你可以从Ubuntuzilla安装你想要的Mozilla 软件了。

安装Mozilla Firefox:

$ sudo apt-get install firefox-mozilla-build

安装Mozilla Thunderbird:

$ sudo apt-get install thunderbird-mozilla-build

安装Mozilla Seamonkey:

$ sudo apt-get install seamonkey-mozilla-build

这些命令可以移除软件包:

$ sudo apt-get remove firefox-mozilla-build

$ sudo apt-get remove thunderbird-mozilla-build

$ sudo apt-get remove seamonkey-mozilla-build

我发现它对那些想要最新版Mozilla产品的人非常有用。使用愉快!

 

via: http://www.unixmen.com/ubuntuzilla-easy-way-install-latest-mozilla-products/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf01 校对:Caroline

来源:https://linux.cn/article-2003-1.html

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

作为一名系统管理员亦或是一名普通的命令行用户,在文件管理器和命令行之间频繁切换是否时常令你感到沮丧。总有一天,你会倾向于使用一些命令行来代替你所用的图形文件管理器。

也许,偶尔你会找到一款不错的命令行管理器,但即使如此,你仍然需要在你的文件管理器和命令行窗口之间来回切换。所以,这个问题并没有真正解决。那么,是否有一款文件管理器能将文件浏览和命令提示符集成在同一个窗口里呢?答案是肯定的,它就是 CLEX

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

CLEX – 命令行文件管理器

CLEX是一款基于命令行的文件管理器,它拥有一个漂亮轻巧的用户界面,提供了非常多的文件管理选项。这款文件管理器的最大优势是它还集成提供了一个命令提示符(在同一个窗口中哦~),通过这个命令提示符,你可以运行常规命令。

: 下文中的所有例子均测试于Ubuntu 13.04。

简易教程

下图是在我机器上第一次执行CLEX的用户界面

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX
 

可以看到,窗口的上半部分列出了当前工作路径(本例中 /home/himanshu/ )下的所有的文件和目录。你可以使用上下方向键选择一个文件或目录,接着按下回车进入一个目录。

在窗口的下半部分,CLEX提供了一个命令行提示符(在我的测试中为bash),在这里你可以执行任意已经安装好的命令。

举个例子,想要打开下图中的图片文件Ubuntu.png,首先,使用方向键选中它:

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

然后,Ubuntu.png作为参数,使用命令提示符启动一个已安装好的图片查看器(我机器上装的是gthumb)

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

上述命令执行的同时,图片查看器程序gthumb将图片显示了出来。

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

除此以外,CLEX还提供了一系列很好用的快捷键组合,可以按下Alt+M查看。

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX
 

可以看到,这些快捷键包括改变当前工作路径,添加书签,查看历史命令,文件名排序,比较目录文件夹等等。

下图为查看历史命令的截图:

 

Linux:集成命令提示符、“多才多艺”的命令行文件管理器 - CLEX
Linux:集成命令提示符、“多才多艺”的命令行文件管理器 – CLEX

比葫芦画瓢,每次根据不同需要,你可以选用相应的快捷键组合。

: 退出CLEX的快捷键是Alt+q。

下载/安装

下面列出了一些CLEX文件管理器的相关链接:

Ubuntu用户可以直接通过Ubuntu软件中心下载安装。本文中的示例使用的版本是3.15。

优点

  • 在同一个窗口中整合了文件浏览与命令提示符
  • 提供大量快捷键。包括文件夹比较,文件名排序,查看历史命令等等。
  • 出色的在线文档

缺点

  • 依赖于CURSES库,需要宽字符集支持。因此通过源码安装的时候可能会导致一些问题。
  • 启动时不稳定,我每次启动时都会出现下图中的警告:

 

结论

CLEX确实是一款特性丰富的命令行文件管理器。集成命令提示符是它的独特卖点。尽管有些小毛病,但瑕不掩瑜。经过一段时间的适应后,CLEX仍是一款省时高效的工具。

 

via:http://mylinuxbook.com/clex-a-versatile-command-line-file-manager/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Mr小眼儿 校对:Caroline

来源:https://linux.cn/article-2012-1.html

Linux:功能强大界面友好的加密程序,TrueCrypt

TrueCrypt是一款免费的开源加密程序,拥具有强大、多样、先进、高质量的加密能力,它具有友好、易懂的用户界面和功能。

TrueCrypt允许用户通过密码访问加密后的文件,其本质上是将文件解密后再像常规文件一样访问。完全加密后的文件,非用户以外的人是无法访问的。

TrueCrypt的各项 特性 如下:

  • 能够建立加密文件夹并将其呈现为真实的硬盘
  • 支持加密存储设备(例如U盘)或整个分区
  • 自动根据需要进行实时动态加密
  • 充分利用系统资源,能够快速读取加密数据,速度接近访问未加密数据时的速度

TrueCrypt的 实时动态加密 ,意指:

  • 数据在存储之前就已经被自动加密
  • 数据在加载之后会自动解密
  • 例如,播放一个加密文件夹里的小电影,TrueCrypt会直接在内存中将密数据一部分一部分解密后再送入指定的内存块(或播放器)。也就是说“TrueCrypt从不会将明数据放在硬盘上,这些明数据只会暂时存在于内存里”。

安装和建立

下面几个步骤教你如何用TrueCrypt 新建 一个加密文件夹:

  • 下载TrueCrypt 7.1
  • 解压缩后在终端中输入以下命令(假设你解压在了Downloads文件夹下) cd Downloads./truecrypt-7.1a-setup-x64

(如果你的操作系统是32位,将上面的x64改为x32)

  • 然后根据提示,点击鼠标,轻松完成安装
  • 在Dash搜索栏中键入truecrypt,启动TrueCrypt
  • 依次点击TrueCrypt–>Volumes–>Create New Volume,建立一个新的“待加密文件夹”
  • 选中 Create an encrypted file container然后点击Next

 

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 选中Standard Truecrypt volume 并点击 Next

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt

点击Select File,在你认为合适的位置新建目录/条目(例如,在Music目录下建立一个123条目),然后点击Next

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 再次点击Next (此时默认选择的加密算法是AES)

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 选择大小(例如要建立一个100MB的文件夹,就在输入框中填入100,后面的复选框选中MB)

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 设置一个密码

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 选择一个文件系统类型(例如Linux Ext4)

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 选中I will mount the volume only on Linux(这里请根据实际情况选择)

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
  • 接下来,持续猛烈晃动你的鼠标几秒钟(译者注:该步骤用来生成密钥,晃动越无规律时间越长越好),然后点击Format,最后输入刚才设置的密码,整个加密条目的创建过程就完成了。

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt
 

使用

到此为止,刚刚建立的那个加密文件夹就已经在TrueCrypt的保护下了,点击 Select File,找到刚建立的加密条目,再点击底部的Mount,挂载/打开该加密文件夹。

接下来,用户就可以把这个加密目录当做一个常规目录正常使用,可以复制图像、重命名文件、双击打开图像等等。

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt

下图中,点击Dismount按钮,就可以卸载该加密文件夹,卸载后刚才挂载的盘符就不见了,同时里面的文件自然也就禁止访问了。

Linux:功能强大界面友好的加密程序,TrueCrypt
Linux:功能强大界面友好的加密程序,TrueCrypt

 

via: http://iloveubuntu.net/truecrypt-powerful-yet-friendly-encryption-application

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Mr小眼儿 校对:Caroline

来源:https://linux.cn/article-2017-1.html

Linux:如何使用Pacifica图标美化你的linux桌面

这个教程将会指导所有的linux用户如何使用华丽的、扁平化以及现代化的Pacifica图标主题来美化当前桌面环境。

Pacifica 图标主题的灵感来源这个世界最美丽的linux操作系统elementary OS,像Nitrux、Faenza、Moka以及Plastico这些精美的图标主题,为linxu世界带来了一些我们期待已久的新元素。

Francisco Villarroel是Pacifica图标主题的主要开发者和设计者。他用bokehlicia这个名字发布在Deviantart网站上,而bokehlicia正是这款超凡的图标主题诞生之处.

现在说说技术细节,可以告诉你们,我们已经在Arch Linux系统上使用一个纯净的GNOME3桌面环境测试了它,不过,感谢Carlos Gomes,Ubuntu 12.04 LTS (穿山甲)的用户也可以通过elementary OS PPA安装。

Pacifica图标主题依赖elementary图标主题,当然默认的gnome和hicolor图标主题可以在任何 Gnome-based linux发行版中找到。因此,如果你有需求,Pacifica 图标主题也可以在你的桌面环境或linux发行版上工作。

Review image

让我们开始在Arch Linux 和Ubuntu上安装这个精美的图标主题。首先,这是Ubuntu 12.04 LTS用户使用的安装指令:

通过敲击 CTRL+ALT+T 组合键打开一个终端,接着一条一条粘贴以下命令,注意,每粘贴一条后敲击Enter。

sudo apt-add-repository ppa:elementary-br/projects

sudo apt-get update

sudo apt-get install -y pacifica-icon-theme

好了!你现在可以用GNOME Tweak或者其它的应用程序来帮助你改变系统图标主题,应用Pacifica图标主题。如果你更喜欢命令行,请使用下面的命令:

gsettings set org.gnome.desktop.interface icon-theme “Pacifica”

对于Arch Linux用户,使用你们最喜欢的AUR助手(译者注:比如yaourt)安装pacifica-icon-theme包。Arch Linux用户也使用上面的指令来设置新的Pacifica图标主题。

对于其他用户,不要犹豫,在你的Linux系统上手动下载安装Pacifica图标主题,或者用这些图标做你想做的任何事情。

如果你在学习本教程中有任何问题,请在下面写下评论。

 

via: http://news.softpedia.com/news/How-to-Beautify-You-Linux-Desktop-with-Pacifica-Icons-385877.shtml

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf01 校对:Caroline

来源:https://linux.cn/article-2033-1.html

Linux:在Ubuntu中使用终端删除应用程序

作为一个Linux(Ubuntu)用户,你每次从终端安装应用程序的时候都会用到apt-get这条命令。

虽然可以使用图形化界面来安装删除应用程序,但是命令行依然被认为是功能强大的方式。在安装了许多大大小小的应用程序以后,你会需要更多的磁盘空间来安装其他的应用程序,或者有些程序对你不再有用了。

大多数人,尤其是初学者,通过在查阅资料后,能够从终端安装一个程序,但是却很难删除它。我也曾经有过这样的经历。

这是一个简单的教程,指导你如何删除已经安装的软件包。

a. 打开终端(ctrl + alt + t)

b. 输入

$ dpkg –list

(这条命令会显示所有已安装的包)

list_

或者

$ dpkg –list | less

(这样可以轻松的使用用户密钥来导航)

dpkg_list

或者

如果你知道软件包的名字,你可以使用管道命令grep来查找,使用下面的语句:

$ dpkg –list|grep -i  ‘packagename’

VLC播放器为例。

Linux:在Ubuntu中使用终端删除应用程序
Linux:在Ubuntu中使用终端删除应用程序
 

c. 查找要删除的包名字,这里我要使用sox

Linux:在Ubuntu中使用终端删除应用程序
Linux:在Ubuntu中使用终端删除应用程序

d. 只删除一个软件包,使用下面的命令:

$ sudo apt-get remove

比如,删除一个叫sox的软件包,输入:

$ sudo apt-get remove sox

输入y来确认卸载。

Linux:在Ubuntu中使用终端删除应用程序
Linux:在Ubuntu中使用终端删除应用程序

e. 要删除一个包以及它的配置文件,输入:

$ sudo apt-get –purge remove

比如,删除一个叫sox的包以及其所有的配置文件:

$ sudo apt-get –purge remove sox

 

via: http://www.unixmen.com/removing-applications-using-terminal-ubuntu/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:markvv 校对:Caroline

来源:https://linux.cn/article-2032-1.html

Linux:SchoolTool:先进的学院管理和信息系统

SchoolTool是一个基于网页的开源免费学生信息系统,为世界各地的学校而设计。它是由Shuttleworth研发并发布,基于翻译、定位和自动化部署的有力支持,通过 Ubuntu Linux 安装程序包管理系统 更新。

SchoolTool是经GPL2许可,使用 Zope 3 框架并用 Python 语言编写。这个项目的主要目标是创建一个简单的turnkey模式(译者注:一个“交钥匙”的“工程项目管理模式”)学生管理和信息系统,包括中小学人数统计、学分表、出勤、日历和报告。

功能

  • 可定制学生和教师的人数统计和其他个人的数据
  • 为教师,学生和监护人提供联人管理
  • 教师学分表
  • 全校评估数据收集和报告卡
  • 班级到场人数和每日出勤分数
  • 学校,群组,个人和资源预定日历
  • 跟踪和管理学生的干预措施

安装SchoolTool

SchoolTool核心开发团队强烈建议和推荐在Ubuntu 12.04或之后版本安装SchoolTool。他们为多个系统创建了软件包,但其核心开发团队不支持它们。

SchoolTool是在官方软件仓库中找到的,所以,我们可以用命令来安装它:

$ sudo apt-get install schooltool

另外,可以用PPA来获取更新版本和开发版本。

$ sudo add-apt-repository ppa:schooltool-owners/ppa

或者

$ sudo add-apt-repository ppa:schooltool-owners/dev

使用命令更新软件源列表并最后用命令安装SchoolTool:

$ sudo apt-get install schooltool

访问SchoolTool

打开你的浏览器在地址栏中输入 http://localhost:7080

如果你想通过远程客户端打开它,编辑文件 /etc/schooltool/standard/paste.ini

$ sudo nano /etc/schooltool/standard/paste.ini

设置主机值为0.0.0.0 如下所示。

host = 0.0.0.0

保存并关闭文件。重启schoolTool服务。

$ sudo service schooltool restart 

现在,你可以从你的浏览器上用URL http://ip-address:7080 来访问SchoolTool网页控制台。你将看到一个空白的日历,如下图所示。

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

初始化配置,更改管理员密码

SchoolTool默认的管理员账户是“ manager ”,密码是“ schooltool ”。登录使用以上认证。

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

在上面定位到 Home 按钮。点击 Password 下方的 Setting 部分。输入两次旧密码和新密码并单击Apply。

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

服务设置

登录管理员账户。在Server部分,你将发现你的SchoolTool服务器的细节。

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

设置外发邮件

SchoolTool并不像Sendmail或Postfix扮演着邮件服务器的工作。它将像邮件客户端一样发送邮件,如Thunderbird, Evolution。

若要在SchoolTool中启用邮件功能,登录管理账户并转到Server列表。点击 Outgoing Email 链接。在那之后,点击黄色铅笔图标去更改邮件设置。填充smtp,Email和password并单击apply。

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

设置日历

按照你的区域位置设置日历很重要。点击Server部分的 Calendar 列表。选择你的时区,我的设置是 Asia/Kolkatta

Linux:SchoolTool:先进的学院管理和信息系统
Linux:SchoolTool:先进的学院管理和信息系统

转到其他链接,如Errors,Tabs和Pack Database。管理操作系统是不言而喻的。按照你的需求阅读和改变设置。

设置学校

现在我们来介绍简明又重要的部分,它需要我们花费更多的时间和精力来完成。本文并不能覆含所有内容,所以我推荐你去访问SchoolTool官方文档,一个接一个仔细浏览每一部分,按照要求设置你的学校。完成整个学校的设置需要花费可能会花费几个小时甚至几天的时间。别害怕,它并不困难:SchoolTool团队在其网站为用户充分准备了自我帮助的文档和截图。你不必去其他任何地方学习SchoolTool,通过SchoolTool文档页就能学习并DIY。

参考文献:

 

via: http://www.unixmen.com/schooltool-advanced-school-management-information-system/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:Caroline

来源:https://linux.cn/article-2034-1.html