mirror of
https://github.com/LCTT/TranslateProject.git
synced 2026-08-20 03:53:30 +08:00
归档201407
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
如何将Vim打造成一个成熟的IDE
|
||||
================================================================================
|
||||
|
||||
如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。
|
||||
|
||||
事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
|
||||
|
||||
### 先来个福利: Pathogen ###
|
||||
|
||||
首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的[官方页面][3]的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
|
||||
|
||||
### 1. SuperTab ###
|
||||
|
||||

|
||||
|
||||
我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。
|
||||
|
||||
### 2. Syntastic ###
|
||||
|
||||

|
||||
|
||||
如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
|
||||
|
||||
### 3. Auto Pairs ###
|
||||
|
||||
另外一件让程序员们抓狂的事是:我是不是少加了最后一个括号?!每个人都讨厌用手指去数那些隔的非常远的括号。为了处理这个问题,我用 [Auto Pairs][7] 插件,这个插件会自动插入和格式化方括号和圆括号。
|
||||
|
||||
### 4. NERD Commenter ###
|
||||
|
||||
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。
|
||||
|
||||
### 5. Snipmate ###
|
||||
|
||||
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。
|
||||
|
||||
### 6. NERDTree ###
|
||||
|
||||

|
||||
|
||||
管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。[NERDTree][10] 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。
|
||||
|
||||
### 7. MiniBufferExplorer ###
|
||||
|
||||

|
||||
|
||||
为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
|
||||
|
||||
### 8. Tag List ###
|
||||
|
||||

|
||||
|
||||
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。
|
||||
|
||||
### 9. undotree ###
|
||||
|
||||

|
||||
|
||||
对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, [undotree][13] 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。
|
||||
|
||||
### 10. gdbmgr ###
|
||||
|
||||
最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。
|
||||
|
||||
总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。
|
||||
|
||||
你在用Vim的什么插件?或者你想完善这个前10列表么?请在评论里告诉我们吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
|
||||
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.vim.org/scripts/script.php?script_id=213
|
||||
[2]:http://eclim.org/
|
||||
[3]:https://github.com/tpope/vim-pathogen
|
||||
[4]:https://www.flickr.com/photos/xmodulo/14332189422/
|
||||
[5]:https://github.com/ervandew/supertab
|
||||
[6]:https://github.com/scrooloose/syntastic
|
||||
[7]:https://github.com/jiangmiao/auto-pairs
|
||||
[8]:https://github.com/scrooloose/nerdcommenter
|
||||
[9]:https://github.com/garbas/vim-snipmate
|
||||
[10]:https://github.com/scrooloose/nerdtree
|
||||
[11]:http://www.vim.org/scripts/script.php?script_id=159
|
||||
[12]:http://www.vim.org/scripts/script.php?script_id=273
|
||||
[13]:https://github.com/mbbill/undotree
|
||||
[14]:http://vim.sourceforge.net/scripts/script.php?script_id=4104
|
||||
@@ -0,0 +1,81 @@
|
||||
微软真的改变对开源软件的态度了吗?
|
||||
================================================================================
|
||||
> **在今天的开源软件摘要中:微软或许没有对开源软件有一个新的态度,就像安卓和windows的对抗,Cinnamon和Unity在Ubuntu14.04的对抗。**
|
||||
|
||||
微软因为以前对开源软件的态度而臭名昭著,但是公司改建后对开源软件发出了积极的信号。CNet报道了微软对开源软件认知的行为的改变。
|
||||
|
||||
> [CNet][1]消息:
|
||||
> 虽然微软资助开源软件有一些时间了,并且那些曾经反对开源软件的领导者们已经退出了或者不在位了。开源软件现在用在遍布全世界的公司当中,但这些与微软帝国无关。
|
||||
> 一些新的想法反映了企业顶层的一些变化,今年二月初Satya Nadella代替鲍尔默成为了微软CEO,Nadella已经给微软带来了一些新的东西改变了微软以前的一些束缚。
|
||||
>
|
||||
> [更多报道][2]
|
||||
>
|
||||
> 
|
||||
>
|
||||
> 微软和开源社区
|
||||
> Image credit: [Curako's Blog][3]
|
||||
|
||||
我是一个持悲观态度的人,但是我认为微软和开源软件之间的信任关系是有待确定的。一个新的CEO和些许改变或许会改变微软在开源世界中的存在状态,但是对于微软这么大的企业来说改变并不容易,所以对于开源的世界来说微软是否真的改变还有待确定。
|
||||
|
||||
我也从来不会忘记微软用“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须瞪大眼睛,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。
|
||||
|
||||
### 安卓对抗windows ###
|
||||
|
||||
ZDNet曾经报道过使用数量最多的Linux发行版本,不过现在桌面环境仍然是windows的天下,但是安卓今年很可能会是用户数量最大的用户终端操作系统。
|
||||
|
||||
> [ZDNet][4]报道:
|
||||
>
|
||||
> 如果桌面和平板依旧像预期增长的销量,安卓平板渐渐蚕食苹果的市场,PC市场继续萎缩,安卓在2014年末很有可能成为终端用户数量最多的操作系统,而且不算安卓PC。
|
||||
>
|
||||
> 总而言之,安卓几乎统治了Linux终端用户。你可能不会想把它作为桌面使用,尽管Intel和AMD努力在让它变成现实,但是安卓正在变成使用量第一的终端操作系统。
|
||||
|
||||
>
|
||||
> [更多消息][4]
|
||||
>
|
||||
> 
|
||||
> Image credit: [ZDNet][4]
|
||||
|
||||
上面提到的并不算真的惊喜,移动终端的革命发展了接近10年了。桌面依然还像原来那样重要,微软也确实没有真正的在乎过移动设备。即使现在,微软在艰难的推他的手机和平板,他仍旧认为移动终端市场并不重要。
|
||||
|
||||
谷歌严重的破坏了微软在移动领域的努力,而现在他在桌面市场又对微软发起了挑战。从chrome OS到安卓,谷歌给微软一连串的打击,如果你查看下Amazon最受欢迎的[台式机][5]和[笔记本][6]的话,你会看到很多chrome OS的电脑甚至是装有安卓的PC。所以人们的购买需求在变得多样化,并不局限在windows一家了。
|
||||
|
||||
### Cinnamon和Unity在Ubuntu14.04上的对抗 ###
|
||||
|
||||
Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装Cinnamon,研究了一下Ubuntu14.04上用Cinnamon替换unity的可行性。
|
||||
|
||||
> [Tech Republic][7]报道:
|
||||
>
|
||||
> 如果你寻求性能为主不需要其他有特色的可自定义的桌面,Cinnamon适合你。Cinnamon是一个直观简洁的桌面,任何人都可以使用,不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡,不会和你开什么玩笑,也不会让你感到有惊奇的感觉,但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性,它不求突破,不耍花招,不加条条框框。
|
||||
>
|
||||
> Cinnamon是一个很平凡的桌面,它只集成了最好的功能并且把它们集成到一起,完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙,但是性能很好的桌面的话,Cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉,Cinnamon可能就不适合你了。
|
||||
|
||||
> [ 更多消息][7]
|
||||
>
|
||||
> 
|
||||
>
|
||||
> Image credit: [Tech Republic][7]
|
||||
|
||||
我是站在Cinnamon这边的,Unity有自己的长处,但是我从来没用习惯过。Cinnamon更接近传统桌面,我用起来不错!
|
||||
|
||||
但是在别人眼里,漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择,如果你真不知道Unity和Cinnamon该选择谁,你就用自己最喜欢的就行了。
|
||||
|
||||
你赞成那些呢?请在下方留下你的评论吧
|
||||
|
||||
作者的观点和ITworld无关!
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.itworld.com/open-source/421894/has-microsoft-really-changed-its-attitude-toward-open-source
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.cnet.com/news/dead-and-buried-microsofts-holy-war-on-open-source-software/
|
||||
[2]:http://www.cnet.com/news/dead-and-buried-microsofts-holy-war-on-open-source-software/
|
||||
[3]:http://curako.wordpress.com/2010/12/06/the-uneasy-alliance-free-software-vs-open-source/
|
||||
[4]:http://www.zdnet.com/the-five-most-popular-end-user-linux-distributions-7000030058/http://www.zdnet.com/the-five-most-popular-end-user-linux-distributions-7000030058/
|
||||
[5]:http://www.amazon.com/Best-Sellers-Electronics-Desktop-Computers/zgbs/electronics/565098/?_encoding=UTF8&camp=1789&creative=390957&linkCode=ur2&tag=fnh-20&linkId=REWXUPB7SQXPDSOL
|
||||
[6]:http://www.amazon.com/Best-Sellers-Computers-Accessories-Laptop/zgbs/pc/565108/?_encoding=UTF8&camp=1789&creative=390957&linkCode=ur2&tag=fnh-20&linkId=POG3J2CFBHDWBAVL
|
||||
[7]:http://www.techrepublic.com/article/is-cinnamon-a-worthy-replacement-for-ubuntu-unity/
|
||||
@@ -0,0 +1,159 @@
|
||||
适合新用户的最佳的Linux发行版
|
||||
================================================================================
|
||||
这个争论无疑给许多Linux用户带来了麻烦。争论的焦点一般不是哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,明确的结论也会受到被新用户的需求和期望的影响。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要具有由日益增长的移动界面风格所带来的现代设计理念。
|
||||
|
||||
对于这次评测,我们对发行版有如下要求:
|
||||
|
||||
- 非常友好
|
||||
- 包括,开箱即用,所有常用的应用程序
|
||||
- 包括某个形式的应用程序商店
|
||||
- 提供一个时尚的用户界面
|
||||
|
||||
让我解释一下各个标准
|
||||
|
||||
### 用户友好 ###
|
||||
|
||||
这是一个备受争议的话题。但事实的真相是——新用户必须能够选择某种风格的Linux并开始使用,只需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不喜欢那些操作系统,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。
|
||||
|
||||
### 常用应用程序 ###
|
||||
|
||||
安装好系统后用户不应该再去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下:
|
||||
|
||||
- 网页浏览器:Chrome或者Firefox(对不起,根本不需要其他的浏览器)
|
||||
- 电子邮件客户端:Thunderbird是显而易见的选择。
|
||||
- Office办公套件:LibreOffice。就这样。
|
||||
- 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。
|
||||
|
||||
这是几乎所有用户需要的应用程序的简表。
|
||||
|
||||
### 应用程序商店 ###
|
||||
|
||||
由于移动设备需求的日益增长,用户已经习惯了应用商店。Linux有应用商店很长时间了(Synaptic是最古老的一个)。没有一个经深思熟虑做的应用商店,用户将会挣扎于在Linux环境中添加软件。毫无疑问,这一点至关重要。
|
||||
|
||||
### 时尚的界面 ###
|
||||
|
||||
我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的风格在支持多触控的移动世界里不再有影响力。
|
||||
|
||||
## 排名前三的发行版 ##
|
||||
|
||||
以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。
|
||||
|
||||
### Ubuntu ###
|
||||
|
||||
[Ubuntu Linux][1]一直是用户友好型Linux的王者。开箱即用,寻找一个比它更迷人和易用的桌面(Unity)有点困难,甚至是对于那些对平台不熟悉的人也是这样的。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。
|
||||
|
||||
### Linux Mint ###
|
||||
|
||||
如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。
|
||||
|
||||
### Linux Deepin ###
|
||||
|
||||
用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该正视它所带来的成就。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。
|
||||
|
||||
## 各发行版的比分 ##
|
||||
|
||||
在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。
|
||||
|
||||
### 用户友好性 ###
|
||||
|
||||
这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面风格。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于小白们。
|
||||
|
||||
### 常用的应用程序 ###
|
||||
|
||||
这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案之一),它计划在2014发行版本中默认使用LibreOffice。
|
||||
|
||||
关于常用程序的我的一个问题是音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是:
|
||||
|
||||
- Ubuntu: Rhythmbox
|
||||
- Linux Mint: Banshee
|
||||
- Linux Deepen: DMusic.
|
||||
|
||||
三者中,Banshee(图1)提供了最多的功能,DMusic(图2)提供了最好的界面,(令人惊讶的)Rhythmbox(图3)目前最不稳定。
|
||||
|
||||

|
||||
|
||||
banshee
|
||||
|
||||

|
||||
|
||||
dmusic
|
||||
|
||||

|
||||
|
||||
rhythmbox
|
||||
|
||||
所以,他们得分多少?如下:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
### 应用程序商店 ###
|
||||
|
||||
如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。
|
||||
|
||||
- Ubuntu: Ubuntu软件中心
|
||||
- Mint: 软件管理器
|
||||
- Linux Deepin: Deepin软件中心
|
||||
|
||||
应该说,这些工具中的每一个都是基于Ubuntu软件中心的。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。
|
||||
|
||||
我将应用商店排名设为如下:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Linux Mint
|
||||
|
||||
3. Ubuntu Linux
|
||||
|
||||
每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。
|
||||
|
||||
### 时尚的界面 ###
|
||||
|
||||
在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Mint
|
||||
|
||||
Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。
|
||||
|
||||
## 总冠军 ##
|
||||
|
||||
虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是:
|
||||
|
||||
1. Linux Mint的总得分是7
|
||||
|
||||
2. Linux Deepin的总得分是8
|
||||
|
||||
3. Ubuntu Linux的总得分是9
|
||||
|
||||
如果你想知道关于这篇文章的作者观点,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版能动摇我使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发行版,Linux Mint是显而易见的赢家。
|
||||
|
||||
这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。
|
||||
|
||||
你怎么认为?你会如何排这三个桌面的名次?或者,你是否会写一个不同的Linux发行版,该发行版在外表上来说对新用户最好的?(还有原因是什么?)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ubuntu.com/
|
||||
[2]:http://www.linuxmint.com/
|
||||
[3]:http://www.linuxdeepin.com/index.en.html
|
||||
@@ -0,0 +1,74 @@
|
||||
什么是Unix以及它为什么这么重要?
|
||||
================================================================================
|
||||

|
||||
|
||||
大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix。
|
||||
|
||||
Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的各种固件,所有这些操作系统通常都被称为“类Unix”操作系统。
|
||||
|
||||
### Unix的设计现在都还在应用 ###
|
||||
|
||||
Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。
|
||||
|
||||
其中一个设计是“Unix哲学”,建立小的模块化的应用,只做一件事情并把它做好。如果你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。
|
||||
|
||||
Unix还设计了一个单一的文件系统,程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]-包括硬件设备文件,和提供系统信息及其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其他操作系统中,所有文件都是一个单一目录结构中的一部分。
|
||||
|
||||

|
||||
|
||||
### 那些从Unix派生出的系统 ###
|
||||
|
||||
类似任何可以往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,我们把Unix的派生系统大致分成两组。
|
||||
|
||||
一组Unix派生系统是学术界开发的。
|
||||
|
||||
首先是BSD(伯克利软件发布版),一个开源的类Unix操作系统。BSD如今还存在于FreeBSD,NetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括运行在PlayStation 4上的Orbis OS,也源于各种BSD操作系统。
|
||||
|
||||
Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统,为教育目的而实现的,而Linux则是受到了MINIX的启发。[我们今天所熟悉的Linux其实应该叫GNU/Linux][4],因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的,但是它继承了Unix的设计而且根植于学术界。如今许多操作系统,包括Android,Chrome OS,Steam OS,以及数量巨大的在各种设备上使用的嵌入式操作系统,都基于Linux。
|
||||
|
||||
另一组是商用的Unix操作系统。AT&T UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-许多大型企业都希望建立并授权自己版本的Unix。它们如今并不常见,但其中一些仍然存在。
|
||||
|
||||

|
||||
|
||||
图片致谢: [Wikimedia Commons][5]
|
||||
|
||||
### DOS和Windows NT的崛起 ###
|
||||
|
||||
许多人希望Unix能够成为工业标准操作系统,但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix,这也是[为什么Windows使用反斜杠划分文件路径,而其他所有系统都使用正斜杠][6]。这个决定是在早期的DOS系统中做出的,而之后的Windows版本继承了这一设定,就像BSD,Linux,Mac OS X,和其他类Unix操作系统继承了许多Unix设计因素一样。
|
||||
|
||||
Windows 3.1,Windows 95,Windows 98,和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统,叫做Windows NT-意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中,但是之前它都只用于针对企业用户的Windows 2000和Windows NT。
|
||||
|
||||
如今所有微软的操作系统都基于Windows NT内核。Windows 7,Windows 8,Windows RT,Windows Phone 8,Windows Server,以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样,Windows NT没有被开发成一个类Unix操作系统。
|
||||
|
||||
当然,微软也不是完全从零开始的。为了维护DOS和旧版本Windows软件的兼容性,Windows NT继承了许多DOS里的设定,比如磁盘盘符,反斜杠区分文件路径,正斜杠作为命令行参数开关。
|
||||
|
||||

|
||||
|
||||
### 为什么它影响很大 ###
|
||||
|
||||
不知道你有没有看过Mac OS X终端或是文件系统,有没有注意到它们和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux两个都是类Unix操作系统。
|
||||
|
||||
了解了这点历史,就可以帮助你理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来都差不多,而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉,而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得格格不入。
|
||||
|
||||
这只是一点快速掠过的历史,帮助了解是如何发展到今天的,而不用陷入到细节中。如果你想了解更多,可以找到许多关于Unix历史的整本的书籍。
|
||||
|
||||
图片致谢: [Peter Hamer on Flickr][8], [Takuya Oikawa on Flickr][9], [CJ Sorg on Flickr][10]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/
|
||||
|
||||
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.howtogeek.com/110150/become-a-linux-terminal-power-user-with-these-8-tricks/
|
||||
[2]:http://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/
|
||||
[3]:http://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/
|
||||
[4]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
|
||||
[5]:http://en.wikipedia.org/wiki/File:Unix_history.svg
|
||||
[6]:http://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/
|
||||
[7]:http://www.howtogeek.com/163127/how-powershell-differs-from-the-windows-command-prompt/
|
||||
[8]:http://www.flickr.com/photos/peter-hamer/2876612463/
|
||||
[9]:http://www.flickr.com/photos/takuyaoikawa/2060554607/
|
||||
[10]:http://www.flickr.com/photos/cjsorg/2726088549/
|
||||
@@ -0,0 +1,84 @@
|
||||
优秀的Linux文本编辑器
|
||||
================================================================================
|
||||
|
||||
想要挑起狂热Linux爱好者之间的激烈争辩吗?那就问问他们最喜欢的文本编辑器是什么吧。在开源社区中,选择一个用来写文本,或者更进一步,用来写代码的编辑器,比选择一个球队或者游戏控制器还要重要。但是任何一个Linux新手都不该为过多的建议和各种各样的煽动而感到焦虑不安,取而代之,先去试着熟悉熟悉一堆不同的文本编辑器吧。所以今天我将要给你建议一个简单主题的列表,里面的编辑器都可以在Linux下编辑文本。这个列表不包括那些成熟的只用来编程的IDE,也不包括那些专门进行LaTex排版的编辑器。如果你对后者感兴趣,我可以建议你去看看[这里][1].
|
||||
|
||||
### 1. Vim & Emacs ###
|
||||
|
||||

|
||||
|
||||
让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]。(LCTT译注:这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。
|
||||
|
||||

|
||||
|
||||
### 2. Sublime Text & Lime & Atom ###
|
||||
|
||||

|
||||
|
||||
一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5]。然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。(LCTT译注:实际上,译者认为Sublime Text与其说是像Vim或Emacs,不如说更像是Mac上的编辑器神器textmate。另外,Sublime Text的发展最近已经陷入停滞了。)
|
||||
|
||||
Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。(LCTT译注:但是Sublime Text可以全功能一直试用下去,没有一点区别,只是如果你觉得应该支持的话,付费比较好,虽然挺贵。)为此,最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在重度开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。
|
||||
|
||||
距现在更近的,GitHub以开源形式发布了[Atom][7],展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。(LCTT译注:好吧,我觉得从Sublime Text转移出来的最佳出口就是Atom。)
|
||||
|
||||

|
||||
|
||||
### 3. Gedit & Kate & Mousepad & Leafpad ###
|
||||
|
||||

|
||||
|
||||
如果不谈这些超级厉害的神器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。
|
||||
|
||||

|
||||
|
||||
### 4. Nano & Qute ###
|
||||
|
||||

|
||||
|
||||
另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter,或者每5分钟就收一次邮件,你就会知道把注意力集中在那篇明天要交的散文,或者这些还没编译通过的代码是多么困难的事。如果是这样,你需要一个编辑器,它可以占满整个屏幕空间,并且屏蔽掉所有的其它事情。
|
||||
|
||||
也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事,关掉X server(LCTT译注:关掉桌面,只用文字终端界面,Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。)。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。
|
||||
|
||||
如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]。没有酷炫的特性,也许有一点LaTeX排版使它开起来更美观,但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服,Qute是个不错的选择。
|
||||
|
||||
|
||||

|
||||
|
||||
### 5. LibreOffice & Calligra & Abiword ###
|
||||
|
||||

|
||||
|
||||
最后,办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程,但是它确实更适合纯文本编辑,也比LaTeX更容易学习。在这类编辑器中,[LibreOffice][15] 和 [Calligra][16] 不能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢,但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件,你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档,不关心电子表格或者数据库,Abiword的特性可以达到理想的效果。
|
||||
|
||||

|
||||
|
||||
简单总结一下,如果我仅有一条建议给你,那么就是选择你周围的人正在使用的编辑器。如果因为某些疯狂的理由,每一个你周围的人都用LibreOffice写C程序,或者用Sublime Text写小说,而你也要做同样的事,你应该跟随潮流。原因就是当你遇到一个问题需要帮助的时候,他们可以更容易的给你提供帮助。
|
||||
|
||||
你最喜欢的文本编辑器是什么?你都用它来做什么?请在评论中和我们分享吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/good-text-editor-linux.html
|
||||
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2014/04/latex-editor-software-linux.html
|
||||
[2]:http://www.vim.org/
|
||||
[3]:https://www.gnu.org/software/emacs/
|
||||
[4]:http://www.sublimetext.com/
|
||||
[5]:http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
|
||||
[6]:http://limetext.org/
|
||||
[7]:https://atom.io/
|
||||
[8]:https://wiki.gnome.org/Apps/Gedit
|
||||
[9]:http://kate-editor.org/
|
||||
[10]:http://www.home.unix-ag.org/bmeurer/xfce/apps.html
|
||||
[11]:http://tarot.freeshell.org/leafpad/
|
||||
[12]:https://www.flickr.com/photos/xmodulo/14415259703/
|
||||
[13]:https://www.youtube.com/watch?v=X5REM-3nWHg
|
||||
[14]:http://www.inkcode.net/qute
|
||||
[15]:https://www.libreoffice.org/
|
||||
[16]:http://www.calligra-suite.org/
|
||||
[17]:http://www.abisource.com/
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
如何拯救一台GRUB 2启动失败的Linux电脑
|
||||
================================================================================
|
||||

|
||||
|
||||
旧版GRUB我们使用了一段时间了,这个重要的Linux通用引导器的版本已经到了0.97。尽管旧版GRUB有很多的优点,但是它已经有点陈旧了,并且它的开发者也希望添加更多的功能,于是,GRUB 2 时代就要来了。
|
||||
|
||||
GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动,并且可以通过配置一个选项来进入系统BIOS。相对于将所有的配置都放到一个配置文件`/boot/grub/menu.lst`中 (现在默认是`/boot/grub/grub.cfg `),使用各种脚本来配置会更复杂。你不要直接编辑这个文件,那不是人干的事,太复杂了,我们需要使用其它的脚本来改变。我们卑微的人类可以编辑修改`/etc/default/grub`文件,它主要是控制Grub菜单的外观。我们还可以修改` /etc/grub.d/ `下的脚本,这些脚本用于启动操作系统、控制外部应用程序,如memtest 、os_prober和theming等等 。`./boot/grub/grub.cfg`是由`/etc/default/grub`和`/etc/grub.d/*`生成的。当你修改了某个地方,你必须要运行update-grub命令来生成它。
|
||||
|
||||
好消息是,update-grub脚本可以可靠的检测内核、启动文件,并添加所有的操作系统,自动生成你的启动菜单,所以你不必手动的修改他们。
|
||||
|
||||
我们还要学习如何解决两个常见的故障。当启动系统时,它会停在grub>提示上,这是一个完整的GRUB 2命令界面,所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块(它和其他模块分别位于/boot/grub/[架构]/ 下),但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod,因此它有可能找不到你的启动文件。
|
||||
|
||||
这是如何发生的?因为内核可能改变驱动器分区号码的分配,或者您移动了您的硬盘驱动器,或者你手动改变一些分区,也有可能是安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在,但GRUB不能找到他们。所以你可以在GRUB提示符中找到启动文件,设置它们的位置,然后启动您的系统并修复GRUB配置。
|
||||
|
||||
### GRUB 2 命令行 ###
|
||||
|
||||
GRUB 2 的命令界面和上一代GRUB中的一样强大。你可以用它来找到引导镜像,内核和根文件系统。事实上,它可以让你避开权限和其它访问控制,完全访问本地计算机上的所有文件。有些人可能会认为这是一个安全漏洞,但是你知道古老的UNIX的名言:有物理访问机器权限的人,就是拥有它的人。
|
||||
|
||||
当你在` grub > `提示时,你有许多类似命令行界面的功能,如命令历史和tab补全。但是`grub rescue> `模式是受限的,没有命令历史,没有tab补全。
|
||||
|
||||
如果你是在一个正常运作的系统上练习,那就当GRUB菜单出现时,可以按下C来打开GRUB命令行界面。你可以通过向上和向下光标键滚动你的菜单条目来停止启动倒计时。在GRUB命令行下做实验是安全的,因为做不了永久的修改,一切都是暂时的。如果你已经看到`grub > `或`grub rescue> `提示符,那就说明你的表现时刻到了。
|
||||
|
||||
接下来的几个命令可以在`grub>`和`grub rescue`模式下运行。你应该运行的第一个命令是设置一个分页器,将长的命令分页。如下:
|
||||
|
||||
grub> set pager=1
|
||||
|
||||
等号两侧必须不能出现空格。现在让我们做一点探索。输入`ls`来列出的GRUB识别的所有分区:
|
||||
|
||||
grub> ls
|
||||
(hd0) (hd0,msdos2) (hd0,msdos1)
|
||||
|
||||
msdos是什么?这意味着该系统具有老式的MS-DOS分区表,而不是全新的全局唯一标识符的分区表(GPT)。参见“[在Linux下使用新的GUID分区表,和古老的MBR说再见!][1]”。如果你正在运行的GPT,它会出现(hd0,GPT1)。现在让我们看看,使用ls命令查看你的系统里面有什么文件:
|
||||
|
||||
grub> ls (hd0,1)/
|
||||
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/
|
||||
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/
|
||||
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old
|
||||
initrd.img initrd.img.old
|
||||
|
||||
太好了,我们已经找到了根文件系统。你可以省略msdos和GPT的标签。如果没有加分区后面的斜杠/,则只会列出分区的信息。你可以用cat命令显示文件系统上的任何文件:
|
||||
|
||||
grub> cat (hd0,1)/etc/issue
|
||||
Ubuntu 14.04 LTS \n \l
|
||||
|
||||
在一个多引导系统上,通过/etc/issue文件可以知道这是哪个Linux系统。
|
||||
|
||||
### 从 grub> 中启动###
|
||||
|
||||
下面讲述如何设置启动文件并从`grub >`提示下启动系统。我们已经知道如何从Linux根文件系统(hd0,1)下运行ls命令,你可以一直寻找直到找到你的/boot/grub所在位置。然后运行以下命令,记得使用您自己的根分区,内核和initrd映像等参数:
|
||||
|
||||
grub> set root=(hd0,1)
|
||||
grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
|
||||
grub> initrd /boot/initrd.img-3.13.0-29-generic
|
||||
grub> boot
|
||||
|
||||
第一行设置分区的根文件系统。第二行告诉GRUB您想要使用的内核位置。开始输入/boot/vmli,然后使用tab补完填写。输入`root= /dev/sdX`设置根文件系统位置。是的,这似乎是多余的,但如果你忘记了输入,你会得到一个kernel panic。你知道怎么找到正确的分区吗?hd0,1 即 /dev/sda1,hd1,1 即 /dev/sdb1,hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。
|
||||
|
||||
第三行设置initrd文件,必须是和内核相同的版本号。
|
||||
|
||||
最后一行启动系统。
|
||||
|
||||
在一些Linux系统上,内核和initrd是被符号链接到当前的根文件系统的根目录,就像:
|
||||
|
||||
$ ls -l /
|
||||
vmlinuz -> boot/vmlinuz-3.13.0-29-generic
|
||||
initrd.img -> boot/initrd.img-3.13.0-29-generic
|
||||
|
||||
所以,你也可以这样输入命令:
|
||||
|
||||
grub> set root=(hd0,1)
|
||||
grub> linux /vmlinuz root=/dev/sda1
|
||||
grub> initrd /initrd.img
|
||||
grub> boot
|
||||
|
||||
### 从grub rescue> 中启动 ###
|
||||
|
||||
如果你处在grub rescue> 命令界面下,命令有所不同,你必须要先加载两个模块normal.mod 和 linux.mod。
|
||||
|
||||
grub rescue> set prefix=(hd0,1)/boot/grub
|
||||
grub rescue> set root=(hd0,1)
|
||||
grub rescue> insmod normal
|
||||
grub rescue> normal
|
||||
grub rescue> insmod linux
|
||||
grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
|
||||
grub rescue> initrd /boot/initrd.img-3.13.0-29-generic
|
||||
grub rescue> boot
|
||||
|
||||
在你加载了这两个模块之后tab补完的功能就可以用了。
|
||||
|
||||
### 永久性的修复 ###
|
||||
|
||||
当你成功地启动你的系统,运行这些命令来永久修复GRUB:
|
||||
|
||||
# update-grub
|
||||
Generating grub configuration file ...
|
||||
Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
|
||||
Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
|
||||
Found linux image: /boot/vmlinuz-3.13.0-29-generic
|
||||
Found initrd image: /boot/initrd.img-3.13.0-29-generic
|
||||
Found linux image: /boot/vmlinuz-3.13.0-27-generic
|
||||
Found initrd image: /boot/initrd.img-3.13.0-27-generic
|
||||
Found linux image: /boot/vmlinuz-3.13.0-24-generic
|
||||
Found initrd image: /boot/initrd.img-3.13.0-24-generic
|
||||
Found memtest86+ image: /boot/memtest86+.elf
|
||||
Found memtest86+ image: /boot/memtest86+.bin
|
||||
done
|
||||
# grub-install /dev/sda
|
||||
Installing for i386-pc platform.
|
||||
Installation finished. No error reported.
|
||||
|
||||
当你运行 `grub-install` 时,记得GRUB是安装到整个硬盘驱动器的主引导扇区而不是到一个具体分区,所以不要加上像/dev/sda1一样的分区号。
|
||||
|
||||
### 如果还是不能使用 ###
|
||||
|
||||
如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]吧。[官方GNU GRUB手册][3]也应该有所帮助。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux
|
||||
|
||||
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr-
|
||||
[2]:http://www.supergrubdisk.org/
|
||||
[3]:https://www.gnu.org/software/grub/manual/grub.html
|
||||
@@ -0,0 +1,37 @@
|
||||
Linux 截屏软件 Shutter
|
||||
================================================================================
|
||||

|
||||
|
||||
**[Shutter][1],是一款Linux平台下广受欢迎的截屏软件。最近的更新中,该软件修复了若干bug,并且使用了新的应用图标。**
|
||||
|
||||
这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。
|
||||
|
||||
0.91版本修复了若干明显的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止了服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。
|
||||
|
||||
最后,这次更新突出了由 Lucas Romero Di Benedetto 精心设计的相机快门式应用图标。
|
||||
|
||||

|
||||
|
||||
### 在Ubuntu环境下安装Shutter 0.91版本 ###
|
||||
|
||||
升级到Shutter的最新版本是非常简单的——前提是你添加了该软件的PPA。[The Shutter PPA][2] 面向Ubuntu 12.04 LTS、13.10、14.04 LTS提供该软件最新稳定的发行版。
|
||||
|
||||
sudo add-apt-repository ppa:shutter/ppa
|
||||
|
||||
sudo apt-get update && sudo apt-get install shutter
|
||||
|
||||
不喜欢PPA?那么你也可以从该项目的主页下载Debian安装包。如果你使用的是Ubuntu 14.04 LTS系统,你可以点击下面的链接来下载安装包。
|
||||
|
||||
- [下载适用于Ubuntu 14.04 LTS系统的Shutter 0.91][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon
|
||||
|
||||
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://apps.ubuntu.com/cat/applications/shutter/
|
||||
[2]:https://launchpad.net/~shutter/+archive/ppa
|
||||
[3]:https://launchpad.net/~shutter/+archive/ppa/+files/shutter_0.91%7Eppa2%7Eubuntu14.04.1_all.deb
|
||||
@@ -0,0 +1,86 @@
|
||||
教你用NeoBundle管理Vim插件
|
||||
================================================================================
|
||||
[NeoBundle][1] 是一个 [Vim][2] 的插件管理器,以 [Vundle][3] 为基础(Vundle 是一个基于 [Pathogen][4] 的 Vim 插件管理器)。在之前的文章中,我[非常不推荐使用 Neobundle][5],原因是它当时还处于高速开发阶段(LCTT:意味着不稳定、变数大),并且当时它的英文文档很少。现在,已经过了一年多了,这两个问题都早已不再是问题。
|
||||
|
||||
我们为什么要使用插件管理器?Vim 支持大量插件,但是由于它没有严格定义框架,插件的文件可以胡乱分布在不同目录下,导致用户管理起来会很困难(LCTT:当然,前提是你有很多插件,还有点小小的强迫症,觉得理一理这些插件心里会舒服点)。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。
|
||||
|
||||
NeoBundle 是一个基于 Vundle 的项目,如同 Vundle,它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出:“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。
|
||||
|
||||
所以,我们为什么要使用 NeoBundle?它都不能保证稳定运行!好吧,它还是有可取之处的。Vundle 只支持 [Git][6] 这种版本控制系统,而 NeoBundle 可以支持 [Subversion][7] 和 [Mercurial][8]。另一个原因是如果你不想插件升级时破坏你的 Vim 生态环境,你可以锁住 NeoBundle,让它只使用某个插件的固定版本。
|
||||
|
||||
另外,NeoBundle 创建者,Shougo Matsuishita(LCTT:名字看着像日本人),正在将它的命令接口添加到其他插件项目,以便减少他们的命令使用量。现在 NeoBundle 支持3种插件:[unite.vim][9],Vim 使用的文件和缓存管理器;[vimshell.vim][10],Vim 使用的脚本程序;[vimproc.vim][11],运行于 vimshell.vim 中,用于对异步事件的支持。上面说的都是特殊案例,缺少英文文档,所以用户希望有人能完善它们。在正式使用它们之前,我们需要把注意力先集中在一些基本操作上。
|
||||
|
||||
### 安装并初始化 NeoBundle ###
|
||||
|
||||
NeoBundle 支持 Vim 7.2.051 或更高版本,需要 git 和 [cURL][12](用于下载文件)。你可以手动下载 NeoBundle,也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。
|
||||
|
||||
curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh
|
||||
|
||||
你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本,但是直接使用这个范本,NeoBundle 需要你安装5个可能不需要插件。如果不需要它们,你可以使用下面的最小配置:
|
||||
|
||||
if has('vim_starting')
|
||||
set nocompatible
|
||||
set runtimepath+=~/.vim/bundle/neobundle.vim/
|
||||
call neobundle#begin(expand('~/.vim/bundle/'))
|
||||
NeoBundleFetch 'Shougo/neobundle.vim'
|
||||
call neobundle#end()
|
||||
filetype plugin indent on
|
||||
|
||||
上述配置的作用是:启动 NeoBundle 并且像其他插件一样升级自己。NeoBundle 默认从 GitHub 下载并升级,如果你正好在使用 GitHub,你只需要为这个插件指定维护者的用户名和路径。在上面的配置中,NeoBundleFetch 只需要指定为“Shougo/neobundle.vim”,而不是完整的 GitHub 路径。如果你想使用其他网站,比如是 Subversion 或 Mecurial 的网站,你就需要添加完整的 URL。
|
||||
|
||||
如果你想安装其他插件,你可以使用下面的命令:
|
||||
|
||||
curl -k https://github.com/[项目维护者]/[插件路径] > ~/.vim/bundle/[插件路径]
|
||||
|
||||
举个例子:你想安装 [vim-abolish][13],一个超级 NB 的文本搜索和替换插件,就使用下面的命令:
|
||||
|
||||
curl -k https://github.com/tpope/vim-abolish > ~/.vim/bundle/abolish
|
||||
|
||||
如果要让它自动升级,在 NeoBundleFetch 那行下面添加一行:
|
||||
|
||||
NeoBundle 'tpope/vim-abolish'
|
||||
|
||||
再介绍一个小技巧:你可以为插件指定一个分支或版本号。什么意思?NeoBundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子:
|
||||
|
||||
NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }
|
||||
|
||||
还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”(LCTT:这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。
|
||||
|
||||
### NeoBundle 用法 ###
|
||||
|
||||
很多 NeoBundle 命令用起来和 Vundle 类似,但命令的名字不一样。下面是 NeoBundle 命令的用法:
|
||||
|
||||
- `:NeoBundleUpdate`:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。`:NeoBundleInstall` 命令效果相同。
|
||||
- `:NeoBundle {REPOSITORY URI} [[REVISION}] [,OPTIONS}]]`:将一个插件锁定到固定版本,防止胡乱升级。
|
||||
- `:NeoBundleList`:列出所有未初始化的插件。
|
||||
- `:NeoBundleClean`:进入交互界面,删除插件。
|
||||
|
||||
这些命令在配合 unite.vim (LCTT:就是上面举过的32个例子之一)使用时,效果会稍微有些出入。你可以使用“:help neobundle”命令了解更多信息。
|
||||
|
||||
### 是否使用 NeoBundle,自己决定 ###
|
||||
|
||||
NeoBundle 是强大的工具,正处于高速开发状态。任何处于这种状态的项目,都会被帖上“有前途”和“不稳定”两个标签,看你自己怎么选。如果你想要最新的稳定版本的插件,NeoBundle 能够把 Vundle 和 Pathogen 甩出几条街。
|
||||
|
||||
然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 Neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.openlogic.com/wazi/bid/348084/Managing-Vim-extensions-with-NeoBundle
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/Shougo/neobundle.vim
|
||||
[2]:http://olex.openlogic.com/packages/vim
|
||||
[3]:https://github.com/gmarik/Vundle.vim
|
||||
[4]:https://github.com/tpope/vim-pathogen
|
||||
[5]:http://www.openlogic.com/wazi/bid/262302/Three-tools-for-managing-Vim-plugins
|
||||
[6]:http://olex.openlogic.com/packages/git
|
||||
[7]:http://olex.openlogic.com/packages/subversion
|
||||
[8]:http://olex.openlogic.com/packages/mercurial
|
||||
[9]:https://github.com/Shougo/unite.vim
|
||||
[10]:https://github.com/Shougo/vimshell.vim/blob/master/doc/vimshell.txt
|
||||
[11]:https://github.com/Shougo/vimproc.vim/blob/master/doc/vimproc.txt
|
||||
[12]:http://olex.openlogic.com/packages/curl
|
||||
[13]:https://github.com/tpope/vim-abolish
|
||||
@@ -0,0 +1,58 @@
|
||||
保护你的Linux系统的九个老生常谈
|
||||
================================================================================
|
||||
在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。
|
||||
|
||||

|
||||
|
||||
### 1. 使用SELinux ###
|
||||
|
||||
[SELinux][1]是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。(LCTT译注:虽然NSA也给SELinux贡献过很多代码,但是目前尚无证据证明SELinux有潜在后门)
|
||||
|
||||
### 2. 订阅漏洞警报服务 ###
|
||||
|
||||
安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如[SecurityFocus][2]。
|
||||
|
||||
### 3. 禁用不用的服务和应用 ###
|
||||
|
||||
通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。(LCTT译注:或者干脆不安装那些用不到的服务,这样根本就不用关注它们是否有安全漏洞和该升级了。)
|
||||
|
||||
### 4. 检查系统日志 ###
|
||||
|
||||
你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。
|
||||
|
||||
### 5. 考虑使用端口试探 ###
|
||||
|
||||
设置[端口试探(Port knocking)][4]是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。
|
||||
|
||||
下面是来自 http://www.portknocking.org/ 的示意图:
|
||||
|
||||

|
||||
|
||||
### 6. 使用Iptables ###
|
||||
|
||||
Iptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。
|
||||
|
||||
### 7. 默认拒绝所有 ###
|
||||
|
||||
防火墙有两种思路:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。(LCTT译注:即默认许可策略和默认禁止策略,前者你需要指定哪些应该禁止,除此之外统统放行;后者你需要指定哪些可以放行,除此之外全部禁止。)
|
||||
|
||||
### 8. 使用入侵检测系统 ###
|
||||
|
||||
入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。[Snort][3]是目前公认的Linux上的最好的IDS。
|
||||
|
||||
### 9. 使用全盘加密 ###
|
||||
|
||||
加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.efytimes.com/e1/fullnews.asp?edid=141368
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://selinuxproject.org/page/Main_Page
|
||||
[2]:http://www.securityfocus.com/rss/vulnerabilities.xml
|
||||
[3]:http://www.snort.org/
|
||||
[4]:http://en.wikipedia.org/wiki/Port_knocking
|
||||
@@ -0,0 +1,235 @@
|
||||
Linux下掌控磁盘分区的九大神器
|
||||
================================================================================
|
||||
|
||||
在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用完的空间和文件系统等。
|
||||
|
||||
像fdisk,sfdisk和cfdisk命令这样的常规分区工具,不仅可以显示分区信息,还可以修改。
|
||||
|
||||
### 1. fdisk ###
|
||||
|
||||
Fdisk是检查磁盘上分区的最常用命令,fdisk命令可以显示分区和细节,如文件系统类型,但是它并不报告每个分区的字节大小。
|
||||
|
||||
$ sudo fdisk -l
|
||||
|
||||
Disk /dev/sda: 500.1 GB, 500107862016 bytes
|
||||
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
|
||||
Units = sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disk identifier: 0x30093008
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT
|
||||
/dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA)
|
||||
/dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT
|
||||
/dev/sda6 351614718 556427339 102406311 83 Linux
|
||||
/dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris
|
||||
/dev/sda8 560429056 976771071 208171008 83 Linux
|
||||
|
||||
Disk /dev/sdb: 4048 MB, 4048551936 bytes
|
||||
54 heads, 9 sectors/track, 16270 cylinders, total 7907328 sectors
|
||||
Units = sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disk identifier: 0x0001135d
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdb1 * 2048 7907327 3952640 b W95 FAT32
|
||||
|
||||
每个设备都单独显示其详细信息:容量大小,扇区数,设备ID及其包含的每个分区。
|
||||
|
||||
### 2. sfdisk ###
|
||||
|
||||
Sfdisk是另一种跟fdisk用途相似的实用工具,但具有更多的功能。它能够以MB为单位显示每个分区的大小。
|
||||
|
||||
$ sudo sfdisk -l -uM
|
||||
|
||||
Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
|
||||
Warning: extended partition does not start at a cylinder boundary.
|
||||
DOS and Linux will interpret the contents differently.
|
||||
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
|
||||
|
||||
Device Boot Start End MiB #blocks Id System
|
||||
/dev/sda1 * 0+ 71680- 71681- 73400953+ 7 HPFS/NTFS/exFAT
|
||||
/dev/sda2 71680+ 476938 405259- 414984520+ f W95 Ext'd (LBA)
|
||||
/dev/sda3 0 - 0 0 0 Empty
|
||||
/dev/sda4 0 - 0 0 0 Empty
|
||||
/dev/sda5 71680+ 171686- 100007- 102406311 7 HPFS/NTFS/exFAT
|
||||
/dev/sda6 171686+ 271693- 100007- 102406311 83 Linux
|
||||
/dev/sda7 271694 273645 1952 1998848 82 Linux swap / Solaris
|
||||
/dev/sda8 273647 476938 203292 208171008 83 Linux
|
||||
|
||||
Disk /dev/sdb: 1020 cylinders, 125 heads, 62 sectors/track
|
||||
Warning: The partition table looks like it was made
|
||||
for C/H/S=*/54/9 (instead of 1020/125/62).
|
||||
For this listing I'll assume that geometry.
|
||||
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
|
||||
|
||||
Device Boot Start End MiB #blocks Id System
|
||||
/dev/sdb1 * 1 3860 3860 3952640 b W95 FAT32
|
||||
start: (c,h,s) expected (4,11,6) found (0,32,33)
|
||||
end: (c,h,s) expected (1023,53,9) found (492,53,9)
|
||||
/dev/sdb2 0 - 0 0 0 Empty
|
||||
/dev/sdb3 0 - 0 0 0 Empty
|
||||
/dev/sdb4 0 - 0 0 0 Empty
|
||||
|
||||
### 3. cfdisk ###
|
||||
|
||||
Cfdisk是一个基于ncurses(提供字符终端处理库,包括面板和菜单)的带有交互式用户界面的Linux分区编辑器,它可以用来列出现有分区以及创建或修改这些分区。
|
||||
|
||||
下面是一个如何使用Cfdisk来列出分区的例子。
|
||||
|
||||

|
||||
|
||||
Cfdisk一次只能列出一个分区,所以如果你需要看某一磁盘的细节,可以把该磁盘的设备名作为Cfdisk的参数。
|
||||
|
||||
$ sudo cfdisk /dev/sdb
|
||||
|
||||
### 4. parted ###
|
||||
|
||||
Parted是另一个命令行实用程序,可以列出分区;如果需要的话,也可进行修改。
|
||||
|
||||
下面是一个例子,列出了详细的分区信息。
|
||||
|
||||
$ sudo parted -l
|
||||
Model: ATA ST3500418AS (scsi)
|
||||
Disk /dev/sda: 500GB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: msdos
|
||||
|
||||
Number Start End Size Type File system Flags
|
||||
1 32.3kB 75.2GB 75.2GB primary ntfs boot
|
||||
2 75.2GB 500GB 425GB extended lba
|
||||
5 75.2GB 180GB 105GB logical ntfs
|
||||
6 180GB 285GB 105GB logical ext4
|
||||
7 285GB 287GB 2047MB logical linux-swap(v1)
|
||||
8 287GB 500GB 213GB logical ext4
|
||||
|
||||
|
||||
Model: Sony Storage Media (scsi)
|
||||
Disk /dev/sdb: 4049MB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: msdos
|
||||
|
||||
Number Start End Size Type File system Flags
|
||||
1 1049kB 4049MB 4048MB primary fat32 boot
|
||||
|
||||
### 5. df ###
|
||||
|
||||
Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df可以列出甚至不是真实的磁盘分区的文件系统。
|
||||
|
||||
这里是个简单的例子:
|
||||
|
||||
$ df -h
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda6 97G 43G 49G 48% /
|
||||
none 4.0K 0 4.0K 0% /sys/fs/cgroup
|
||||
udev 3.9G 8.0K 3.9G 1% /dev
|
||||
tmpfs 799M 1.7M 797M 1% /run
|
||||
none 5.0M 0 5.0M 0% /run/lock
|
||||
none 3.9G 12M 3.9G 1% /run/shm
|
||||
none 100M 20K 100M 1% /run/user
|
||||
/dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
/dev/sda5 98G 37G 62G 38% /media/4668484A68483B47
|
||||
|
||||
只有以 /dev 开始的文件系统才是实际的设备或分区。
|
||||
|
||||
可以使用grep命令来筛选出实际的硬盘分区或文件系统。
|
||||
|
||||
$ df -h | grep ^/dev
|
||||
/dev/sda6 97G 43G 49G 48% /
|
||||
/dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
/dev/sda5 98G 37G 62G 38% /media/4668484A68483B47
|
||||
|
||||
要只显示真正的磁盘分区与分区类型,可以这样使用Df:
|
||||
|
||||
$ df -h --output=source,fstype,size,used,avail,pcent,target -x tmpfs -x devtmpfs
|
||||
Filesystem Type Size Used Avail Use% Mounted on
|
||||
/dev/sda6 ext4 97G 43G 49G 48% /
|
||||
/dev/sda8 ext4 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
/dev/sda5 fuseblk 98G 37G 62G 38% /media/4668484A68483B47
|
||||
|
||||
请注意,Df只显示已挂载的文件系统或分区,并不是所有。
|
||||
|
||||
### 6. pydf ###
|
||||
|
||||
它是用Python写的Df的改进版本,以易读的方式打印出所有磁盘分区。
|
||||
|
||||
$ pydf
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda6 96G 43G 48G 44.7 [####.....] /
|
||||
/dev/sda8 195G 153G 32G 78.4 [#######..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
/dev/sda5 98G 36G 61G 37.1 [###......] /media/4668484A68483B47
|
||||
|
||||
另外,pydf被限制为仅显示已挂载的文件系统。
|
||||
|
||||
### 7. lsblk ###
|
||||
|
||||
列出了所有的块存储设备,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。
|
||||
|
||||
它不会报告分区上的已使用和空闲磁盘空间。
|
||||
|
||||
$ lsblk
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||
sda 8:0 0 465.8G 0 disk
|
||||
├─sda1 8:1 0 70G 0 part
|
||||
├─sda2 8:2 0 1K 0 part
|
||||
├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47
|
||||
├─sda6 8:6 0 97.7G 0 part /
|
||||
├─sda7 8:7 0 1.9G 0 part [SWAP]
|
||||
└─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
sdb 8:16 1 3.8G 0 disk
|
||||
└─sdb1 8:17 1 3.8G 0 part
|
||||
sr0 11:0 1 1024M 0 rom
|
||||
|
||||
|
||||
如果没有挂载点,这就意味着文件系统未安装,而对于cd/dvd这意味着没有插入光盘。
|
||||
|
||||
lsblk能够显示每个设备的更多信息,如标签和型号,更多请查看信息手册。
|
||||
|
||||
### 8. blkid ###
|
||||
|
||||
显示块设备(分区和存储介质)属性,例如UUID和文件系统类型,不报告分区空间。
|
||||
|
||||
$ sudo blkid
|
||||
/dev/sda1: UUID="5E38BE8B38BE6227" TYPE="ntfs"
|
||||
/dev/sda5: UUID="4668484A68483B47" TYPE="ntfs"
|
||||
/dev/sda6: UUID="6fa5a72a-ba26-4588-a103-74bb6b33a763" TYPE="ext4"
|
||||
/dev/sda7: UUID="94443023-34a1-4428-8f65-2fb02e571dae" TYPE="swap"
|
||||
/dev/sda8: UUID="13f35f59-f023-4d98-b06f-9dfaebefd6c1" TYPE="ext4"
|
||||
/dev/sdb1: UUID="08D1-8024" TYPE="vfat"
|
||||
|
||||
### 9. hwinfo ###
|
||||
|
||||
hwinfo是一个通用的硬件信息的工具,可以用来打印出磁盘和分区表,但是输出不再像上面的命令那样打印每个分区的详细信息。
|
||||
|
||||
$ hwinfo --block --short
|
||||
disk:
|
||||
/dev/sda ST3500418AS
|
||||
/dev/sdb Sony Storage Media
|
||||
partition:
|
||||
/dev/sda1 Partition
|
||||
/dev/sda2 Partition
|
||||
/dev/sda5 Partition
|
||||
/dev/sda6 Partition
|
||||
/dev/sda7 Partition
|
||||
/dev/sda8 Partition
|
||||
/dev/sdb1 Partition
|
||||
cdrom:
|
||||
/dev/sr0 SONY DVD RW DRU-190A
|
||||
|
||||
### 总结 ###
|
||||
|
||||
parted的输出可以得到简洁而完整的不同分区的概述、其上的文件系统以及总空间。pydf和df它们一样,只是被限制为只显示已挂载文件系统。
|
||||
|
||||
fdisk和sfdisk显示完整大量的信息,需要花些时间来解释。cfdisk是一个交互式分区工具,每次显示一个单一的设备。
|
||||
|
||||
来尝试下这些命令吧,别忘了在下面评论哟!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/linux-command-check-disk-partitions/
|
||||
|
||||
译者:[tenght](https://github.com/tenght) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,85 @@
|
||||
如何通过网络在Windows、MAC和Linux之间共享文件
|
||||
================================================================================
|
||||

|
||||
|
||||
家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux!但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。
|
||||
|
||||
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交过补丁][2]来改进它!
|
||||
|
||||
### 在Windows上共享文件夹 ###
|
||||
|
||||
既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
|
||||
|
||||
如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。
|
||||
|
||||

|
||||
|
||||
在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。
|
||||
|
||||

|
||||
|
||||
### 在Windows上访问共享文件夹 ###
|
||||
|
||||
在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
|
||||
|
||||

|
||||
|
||||
如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了
|
||||
|
||||

|
||||
|
||||
### 在Mac OS X 上共享文件夹 ###
|
||||
|
||||
你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。
|
||||
|
||||
在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
|
||||
|
||||

|
||||
|
||||
### 在 Mac OS X 访问共享目录###
|
||||
|
||||
打开Finder,在屏幕顶部的菜单中点击Go,选择连接到服务器,输入下面的地址,用Windows计算机名代替COMPUTERNAME:smb://COMPUTERNAME。你同样可以输入计算机IP来代替计算机名。
|
||||
|
||||

|
||||
|
||||
你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机,
|
||||
|
||||
要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中
|
||||
|
||||

|
||||
|
||||
### 在 Linux 中共享文件夹 ###
|
||||
|
||||
在Linux上使用你桌面文件管理器来共享文件夹。这里,我们使用Ubuntu 14.04上的Nautilus,不过其他文件管理器上的过程应该是相似的。
|
||||
|
||||
打开文件管理器,在想要共享的文件上右键,选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。
|
||||
|
||||
在安装完Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
|
||||
|
||||

|
||||
|
||||
### 在 Linux 上访问共享文件夹 ###
|
||||
|
||||
你的Linux桌面文件管理器可能包含了一个网络浏览器,它可以用来定位并访问在本地网络的共享文件夹。
|
||||
|
||||
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击邻近的计算机来浏览它的共享文件。
|
||||
|
||||

|
||||
|
||||
要直接连接到一台计算机,选中Nautilus中的“连接到服务器”选项,并输入像这样的远程计算机地址:smb://COMPUTERNAME
|
||||
|
||||

|
||||
|
||||
不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.howtogeek.com/166407/how-to-easily-share-files-between-nearby-computers/
|
||||
[2]:http://www.samba.org/samba/news/developers/ms-patch.html
|
||||
[3]:http://www.howtogeek.com/school/windows-network-sharing/lesson3/
|
||||
@@ -0,0 +1,111 @@
|
||||
使用Linux的lsblk命令列出块设备信息
|
||||
================================================================================
|
||||
**lsblk**(列出块设备)命令用于列出所有可用块设备的信息,但是,它**不会列出RAM盘的信息**。块设备有硬盘,闪存盘,CD-ROM等等。
|
||||
|
||||
### 如何安装lsblk ###
|
||||
|
||||
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在[此处][1]下载util-linux包。
|
||||
|
||||
### Fedora中安装lsblk ###
|
||||
|
||||
Fedora用户可以通过以下方法来安装该包:
|
||||
|
||||
$ sudo yum install util-linux-ng
|
||||
|
||||
该命令有几个选项:
|
||||
|
||||
### 默认选项 ###
|
||||
|
||||
lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:
|
||||
|
||||
$ lsblk
|
||||
|
||||
输出如下:
|
||||
|
||||

|
||||
|
||||
7个栏目名称如下:
|
||||
|
||||
**NAME** : 这是块设备名。
|
||||
|
||||
**MAJ:MIN** : 本栏显示主要和次要设备号。
|
||||
|
||||
**RM** : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
|
||||
|
||||
**SIZE** : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
|
||||
|
||||
**RO** : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
|
||||
|
||||
**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?)
|
||||
|
||||
**MOUNTPOINT** : 本栏指出设备挂载的挂载点。
|
||||
|
||||
### 列出所有设备 ###
|
||||
|
||||
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
|
||||
|
||||
$ lsblk -a
|
||||
|
||||
该选项将列出所有设备,包括空设备在内。
|
||||
|
||||

|
||||
|
||||
### 列出设备权限和属主 ###
|
||||
|
||||
lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:
|
||||
|
||||
$ lsblk -m
|
||||
|
||||

|
||||
|
||||
### 列出指定设备 ###
|
||||
|
||||
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:
|
||||
|
||||
$ lsblk -b /dev/sda
|
||||
|
||||
或者,以下命令等同:
|
||||
|
||||
$ lsblk --bytes /dev/sda
|
||||
|
||||
### 以列表形式列出不带头的设备 ###
|
||||
|
||||
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
|
||||
|
||||
$ lsblk -nl
|
||||
|
||||
或者,你可以使用下面的长选项,它们也能给出相同的输出。
|
||||
|
||||
$ lsblk --noheadings --list
|
||||
|
||||

|
||||
|
||||
### 列出SCSI设备 ###
|
||||
|
||||
要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。
|
||||
|
||||
$ lsblk -S
|
||||
|
||||

|
||||
|
||||
lsblk列出SCSI设备,而-s是逆序选项(LCTT译注:将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:
|
||||
|
||||
$ lsblk -s
|
||||
|
||||
或者
|
||||
|
||||
$ lsblk --inverse
|
||||
|
||||

|
||||
|
||||
你可以使用lsblk来获取关于你的块设备的更多信息,自己把它试着显示出来吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-lsblk-command/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:ftp://ftp.kernel.org/pub/linux/utils/util-linux/
|
||||
@@ -0,0 +1,51 @@
|
||||
在 Ubuntu 上体验 Mac 风格
|
||||
================================================================================
|
||||

|
||||
|
||||
虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,要获得 Mac OS X 一样外观体验,是不需要丢掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。
|
||||
|
||||
### 让 Ubuntu 14.04 看起来像 Mac OS X ###
|
||||
|
||||
要使 Ubuntu 美化成 Mac 的样子,我们得使用 Zukimac 主题。
|
||||
|
||||
- 从后面的链接获得 Zukimac 主题包:[下载 Zukimac Theme for Ubuntu 14.04][1]
|
||||
- 解压下载的 Zip 包,解压后会出现 Zukimac 和 Zukimac-ml 两个目录文件。把这些目录拷贝到您的 home 目录下的 .themes 文件夹中。进入 Home 目录中,按下快捷键 Ctrl+H 可以显示所有隐藏的文件,如果没有 .themes 文件夹,需要创建一个。
|
||||
- 使用 [Unity Tweak Tool 来改变主题][2].
|
||||
|
||||
就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X Maveric 壁纸的外观。
|
||||
|
||||

|
||||
|
||||
### Ubuntu 14.04 中获得更多 Mac 体验 ###
|
||||
|
||||
通常,您可以**安装像 Plank 或 Docky 这样的 dock 启动面板**。在 Ubuntu 14.04 中要安装 Plank 可以使用下面的命令:
|
||||
|
||||
sudo add-apt-repository ppa:ricotz/docky
|
||||
sudo apt-get update
|
||||
sudo apt-get install plank
|
||||
|
||||
安装完 dock 启动面板后,您也可以安装 **Synapse indicator 来代替模拟 Mac 中的 Spotlight**。使用来自于 Noobslabs 的 PPA 源来安装 Synapse indicator,如下示:
|
||||
|
||||
sudo add-apt-repository ppa:noobslab/apps
|
||||
sudo apt-get update
|
||||
sudo apt-get install indicator-synapse
|
||||
|
||||
不想安装上面的两软件的话,您也可以安装 **Slingscold launcher,用来代替模拟 Mac OS X 的启动面板**。在 Ubuntu 14.04 中,使用上面提到的 Noobslabs 的 PPA 源来安装 Slingscold 启动面板,如下示:
|
||||
|
||||
sudo add-apt-repository ppa:noobslab/apps
|
||||
sudo apt-get update
|
||||
sudo apt-get install slingscold
|
||||
|
||||
老实说,我是个狂热的 Ubuntu 迷,我喜欢 Ubuntu 默认的 Unity 主题样式外观。此外,还有很多[关于 Ubuntu 14.04 的漂亮图标主题样式][3] 可用来美化默认的外观。但正如我上面提到的仍有很多用户喜欢 Mac OS X 的主题样式,我希望这篇文章能帮助到他们,使其能把 Ubuntu 14.4 装扮成 Mac OS X 的样式。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/ubuntu-1404-mac-zukimac-theme/
|
||||
|
||||
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://gnome-look.org/content/show.php/Zukimac?content=165450
|
||||
[2]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/
|
||||
[3]:http://itsfoss.com/best-icon-themes-ubuntu-1404/
|
||||
@@ -0,0 +1,297 @@
|
||||
安装Linux Mint 17后要做的20件事
|
||||
================================================================================
|
||||
### Linux Mint 17 Qiana Cinnamon ###
|
||||
|
||||
Linux Mint 17已经[发布][1],定名为Qiana。Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁。它携带了风格迥异的桌面环境,如Mate以及Cinnamon,并基于不同的发行版,如Ubuntu或Debian。
|
||||
|
||||
在本文中,我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息(包括下载链接),可以访问 - http://linux.cn/article-3260-1.html
|
||||
|
||||
下载适合你系统的正确的iso,烧录成dvd,或者也可以制作成usb启动盘来启动。安装完毕,是时候来使用一些优化工具和基本应用程序来优化系统性能和体验,让你系统激情澎湃吧!
|
||||
|
||||
### 1. 更新系统 ###
|
||||
|
||||
第一件事情是重中之重,就是让你的系统保持时刻最新。赶紧在终端中运行以下命令吧。
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get upgrade
|
||||
|
||||
或者,你也可以使用更新管理器(mintUpdate)来干这事,你可以在菜单(Menu)> 管理(Administration)中找到它。
|
||||
|
||||

|
||||
|
||||
### 2. 找回旧壁纸 ###
|
||||
|
||||
每个Linux Mint发行版都自带了一套最新的漂亮的壁纸。但是,你也可以安装先前版本中的壁纸。
|
||||
|
||||
$ sudo apt-get install mint-backgrounds-*
|
||||
|
||||
### 3. 多安装些浏览器 ###
|
||||
|
||||
Linux Mint 17默认安装了firefox,你也可以获得更多的浏览器,如Chronium和Google Chrome。
|
||||
|
||||
Chronium浏览器可以在仓库中获取。
|
||||
|
||||
$ sudo apt-get install chromium-browser
|
||||
|
||||
至于Google Chrome,请访问google.com/chrome下载deb包,并使用gdebi来安装。
|
||||
|
||||
# 64 位
|
||||
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||
$ sudo gdebi google-chrome-stable_current_amd64.deb
|
||||
|
||||
# 32 位
|
||||
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
|
||||
$ sudo gdebi google-chrome-stable_current_i386.deb
|
||||
|
||||
### 4. 安装Flash Player ###
|
||||
|
||||
Mint上默认安装adobe flash插件包(adobe-flashplugin),因此,你可以在Firefox中畅玩flash游戏,也可以尽情享受网页版视频了。
|
||||
|
||||
Google Chrome现在使用了基于flash player的Pepper API,而且该插件也内建于Chrome中,因此,你也不需要为它额外做任何事情了。
|
||||
|
||||
然而对于Chronium,基于flash player的Pepper没有被囊括进来(因为它不是个自由组件),所以你需要手动安装了。
|
||||
|
||||
安装以下包来为Chronium安装pepper flash player。它会自动从Google Chrome浏览器中下载pepper flash player并加入到Chronium中。
|
||||
|
||||
$ sudo apt-get install pepperflashplugin-nonfree
|
||||
|
||||
上面的命令应该帮你将flash player安装到Chronium里头了。万一下载失败,你可以使用下面的命令重新进行安装。
|
||||
|
||||
$ sudo dpkg-reconfigure pepperflashplugin-nonfree
|
||||
|
||||
### 5. 安装多媒体解码 ###
|
||||
|
||||
受限的额外包可以帮你安装大多数基本的解码,可以让你播放像mp3这样的格式。它也会帮你安装微软字体。
|
||||
|
||||
$ sudo apt-get install ubuntu-restricted-extras
|
||||
|
||||
要启用加密dvd的回放,请安装以下包。
|
||||
|
||||
$ sudo apt-get install libdvdread4
|
||||
$ sudo /usr/share/doc/libdvdread4/install-css.sh
|
||||
|
||||
### 6. 安装专有驱动 ###
|
||||
|
||||
如果你有一张Nvidia或者ati的图形卡,或者broadcom的无线网卡,那么请安装厂商提供的专有驱动,这些驱动会为你带来最佳的硬件性能。
|
||||
|
||||
要安装Nvidia驱动,你可以参照先前的这篇文章
|
||||
|
||||
[如何在Linux Mint上安装最新的Nvidia驱动][3]
|
||||
|
||||
### 7. 安装Dropbox ###
|
||||
|
||||
Linux mint仓库已经提供了dropbox的客户端软件包,所以你不必满世界找了。
|
||||
|
||||
$ sudo apt-get install dropbox python-gpgme
|
||||
|
||||
如果你还是比较喜欢从官方网站下载,那么翻墙可直达[https://www.dropbox.com/install?os=lnx][4],请遵照说明下载用于Ubuntu的deb安装包。(LCTT译注:墙内用户还是忽视此条吧。)
|
||||
|
||||
Copy是另外一个云存储解决方案,它也有本地Linux客户端。详情可查阅[copy.com][5],它也有[ppa仓库][6]。
|
||||
|
||||
### 8. Skype ###
|
||||
|
||||
Skype可以在Ubuntu canonical合作仓库中找到。
|
||||
|
||||
$ sudo apt-get install skype
|
||||
|
||||
### 9. 安装rar和其它归档工具 ###
|
||||
|
||||
要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档,请安装rar工具。安装rar的同时,也可安装其它几个包以增加对其它归档格式的支持。
|
||||
|
||||
$ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip
|
||||
|
||||
### 10. 安装剪贴板管理器 ###
|
||||
|
||||
剪贴板管理器允许你维护和访问通过像Ctr+C这样的操作拷贝的项目历史,gnome下有很多的剪贴板管理器,像diodon,clipit,glipper,parcellite。
|
||||
|
||||
Diodon在cinnamon桌面上似乎存在一些问题,在历史列表增长时会出现滚动条。Clipit和Gipper工作得很好,你也可以安装
|
||||
|
||||
$ sudo apt-get install glipper
|
||||
# 或者
|
||||
$ sudo apt-get install clipit
|
||||
|
||||
然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登录时启动。
|
||||
|
||||
### 11. 优化桌面 ###
|
||||
|
||||
#### 1. 修复系统托盘上的日期格式 ####
|
||||
|
||||
在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置,选中标有“使用自定义日期格式”的选框,然后填入
|
||||
|
||||
%B %e, %I:%M %p
|
||||
|
||||
这会以带有AM/PM的12小时格式显示月份名称、日期和时间。
|
||||
|
||||
#### 2. 安装主题、扩展、小程序、桌面组件 ####
|
||||
|
||||
为你的桌面搞一些好东西玩玩。你可以在桌面区域放置一些桌面组件,在面板上放些小程序,为桌面效果添加一些扩展,以及为桌面设计安装一些主题。
|
||||
|
||||
去系统设置吧,点击指定的图标,你可以看见一个可供选择的列表。点击“在线获取更多”标签来下载更多的好东西。
|
||||
|
||||
#### 3. 修改Firefox的搜索引擎 ####
|
||||
|
||||
你也许注意到,Firefox默认选择了Yahoo搜索引擎,而搜索引擎列表中并没有Google。点击“管理搜索引擎” > 获取更多搜索引擎,它会带你去[http://www.linuxmint.com/searchengines.php][7]。
|
||||
|
||||
向下拉动滚动条到商业搜索引擎部分,找到并点击Google图标。进入下一页后,再次点击搜索引擎列表,而这次你会看到“添加Google”选项,点击它就可以用上Google搜索了。(LCTT译注:墙内用户也请忽略此条。怒!)
|
||||
|
||||
### 12. 优化字体渲染 ###
|
||||
|
||||
Linux mint默认使用Dejavu Sans字体,它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程,它会一步一步带你渐入佳境。[如何在Linux Mint上获得华丽好看的字体][8]
|
||||
|
||||
### 13. Guake下拉终端 ###
|
||||
|
||||
下拉终端让你可以通过点击单个键来访问终端,Guake就是这其中之一,它用于基于gtk的桌面。下拉终端按要求显示/隐藏,并保持运行,因此你无需从菜单或者启动器中打开终端了。这对于热衷于终端的人来说,这是一个必不可少的工具。
|
||||
|
||||
$ sudo apt-get install guake
|
||||
|
||||
Guake需要配置,以便在每次登陆时启动。首先,找到guake命令的路径。
|
||||
|
||||
$ which guake
|
||||
/usr/bin/guake
|
||||
|
||||
现在,把它添加到启动程序列表中。出门左拐,请往系统设置 > 启动程序,然后点击添加。在对话框中填写
|
||||
|
||||
> 名称 - Guake下拉终端
|
||||
> 命令 - /usr/bin/guake
|
||||
|
||||
点击添加。现在Guake已经跑到你的运行程序列表中去了,并每次会自动启动。
|
||||
|
||||
### 14. Uget下载管理器 ###
|
||||
|
||||
Uget是一个简洁而健壮的跨平台下载管理器,在Linux上工作得很好。虽然它缺少分段下载文件功能,但是仍然是一个十分稳定的下载管理器。
|
||||
|
||||
$ sudo apt-get install uget
|
||||
|
||||
### 15. Deluge BitTorrent客户端 ###
|
||||
|
||||
Linux Mint自带了Transmission,这是个简洁而高效的torrent客户端。如果正在寻找一个更有特色的torrent客户端,那么你可以试试deluge或者vuze(正式名称是azureus),还可以试试qbittorent。
|
||||
|
||||
$ sudo apt-get install deluge-torrent
|
||||
|
||||
### 16. Hardinfo - 系统信息工具 ###
|
||||
|
||||
Hardinfo是一个十分便利的GUI工具,它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。
|
||||
|
||||
$ sudo apt-get install hardinfo
|
||||
|
||||
### 17. 安装MATE桌面环境 ###
|
||||
|
||||
除了Cinnamon,Linux Mint还自带了另一个流行的桌面环境MATE(Maatay)桌面。如果你想试试,那么就来安装吧。
|
||||
|
||||
$ sudo apt-get install mint-meta-mate
|
||||
|
||||
现在你可以在登陆屏幕选择MATE会话了。
|
||||
|
||||
### 18. 让其它分区可写 ###
|
||||
|
||||
如果你有其它ext分区,比如想用来存储和备份文件,那么你需要让它们可写,以免每次都要使用root特权。
|
||||
|
||||
首先,使用gksudo在文件管理器里打开分区挂载目录
|
||||
|
||||
$ gksudo nemo
|
||||
|
||||
导航到分区目录,右击去往属性 > 权限标签
|
||||
|
||||
赋予“目录访问” - 创建和删除文件权限给用户、组和其它。
|
||||
|
||||
赋予“文件访问” - 读和写权限给用户、组和其它。
|
||||
|
||||
对于NTFS分区,你不需要做此事。
|
||||
|
||||
### 19. 安装Conky ###
|
||||
|
||||
Conky是一个轻量级系统监控工具,它通过桌面图形组件显示系统各种资源的统计数据,如cpu、内存、网络等。它不是必须的,但是可以让你的桌面更加绚丽夺目。
|
||||
|
||||
$ sudo apt-add-repository -y ppa:teejee2008/ppa
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install conky-manager
|
||||
|
||||
从应用程序菜单启动Conky管理器,并添加组件到桌面。也可以选中开机启动选项来让Conky开机启动。
|
||||
|
||||
### 20. 安装一些游戏 ###
|
||||
|
||||
Linux确实有一些酷爽的游戏,很具娱乐性,而且是免费的。注意,某些游戏像supertuxkart和0ad要求专用的图形处理器以优化性能。
|
||||
|
||||
# 0ad - 像帝国时代那样的策略游戏
|
||||
$ aptitude search 0ad
|
||||
|
||||
# supertuxkart - 赛车游戏
|
||||
$ aptitude search supertuxkart
|
||||
|
||||
# openarena
|
||||
$ aptitude search openarena
|
||||
|
||||
仓库中还有更多的游戏可供你安装,像Alien arena, secret maryo chronicles, supertux, frozen bubbles等等。
|
||||
|
||||
### 清除 ###
|
||||
|
||||
做完这一切后,请为系统进行一次大扫除,移除一些不必要的包。
|
||||
|
||||
$ sudo apt-get autoremove
|
||||
|
||||
### 注 ###
|
||||
|
||||
#### 为Google Chrome/Chronium提供Java小程序支持 ####
|
||||
|
||||
默认情况下已经安装了"icedtea-plugin",用以为firefox提供java小程序支持。
|
||||
|
||||
然而,Chrome和Chronium却不再支持基于NPAPI的插件。因此java小程序,在没有获得基于Pepper api的java插件前,java小程序是不能在这些浏览器中工作的。要查看更多信息,请往[这里][9]。
|
||||
|
||||
#### 更多应用程序 ####
|
||||
|
||||
如果你正在为你的Mint盒子寻找更多的应用程序,那么这里列出了一部分更好的应用程序,所有这些都可以在软件管理器中安装。
|
||||
|
||||
* Opera - 网页浏览器
|
||||
* Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹
|
||||
* Smplayer - 多媒体播放器
|
||||
* Rhythmbox, Clementine - 音乐播放器
|
||||
* Openshot, Kdenlive - 视频编辑器
|
||||
* Audacity - 音频编辑器
|
||||
* Inkscape - 图形和图像编辑
|
||||
* Gparted - 分区编辑器
|
||||
* Gufw - 防火墙配置工具
|
||||
* qBittorrent, Vuze - Torrent客户端
|
||||
* Gwenview - 图像浏览
|
||||
* Team viewer - 远程桌面
|
||||
* Tv-maxe - 查看电视频道
|
||||
* Grub Customizer - 修改GRUB启动菜单设置
|
||||
* Linrunner TLP - 电源管理工具,对笔记本节电很有用
|
||||
* Virtualbox - 虚拟化
|
||||
* Kazam, recordMyDesktop - 桌面录像/演示
|
||||
* Bleachbit - 通过删除旧的/临时文件释放磁盘空间
|
||||
* Cheese - 使用网络摄像头拍照
|
||||
* Shutter - 带有众多功能的屏幕截图工具
|
||||
|
||||
那么,请选择你喜欢的那些,并尽情享受Linux Mint吧!!
|
||||
|
||||
### 资源 ###
|
||||
|
||||
下载最新Linux Mint
|
||||
[http://www.linuxmint.com/download.php][10]
|
||||
|
||||
社区教程
|
||||
[http://community.linuxmint.com/tutorial][11]
|
||||
|
||||
Linux Mint论坛
|
||||
[http://forums.linuxmint.com/][12]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/better-linux-mint-17-cinnamon/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://blog.linuxmint.com/?p=2626
|
||||
[2]:http://blog.linuxmint.com/?p=2626
|
||||
[3]:http://www.binarytides.com/install-nvidia-drivers-linux-mint-16/
|
||||
[4]:http://www.dropbox.com/install?os=lnx
|
||||
[5]:http://copy.com/?r=DSwtSd
|
||||
[6]:http://launchpad.net/~paolorotolo/+archive/copy
|
||||
[7]:http://www.linuxmint.com/searchengines.php
|
||||
[8]:http://www.binarytides.com/optimize-fonts-linux-mint/
|
||||
[9]:http://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1309508
|
||||
[10]:http://www.linuxmint.com/download.php
|
||||
[11]:http://community.linuxmint.com/tutorial
|
||||
[12]:http://forums.linuxmint.com/
|
||||
@@ -0,0 +1,113 @@
|
||||
如何在 Linux/Unix/Mac 下清除 DNS 查询缓存
|
||||
================================================================================
|
||||

|
||||
|
||||
我在Linux下使用拨号连接上网,频繁的拨号断线造成DNS的问题。我如何在Linux/Unix发行版下使用shell命令清除DNS缓存?
|
||||
|
||||
|
||||
在MS-Windows下,你可以使用[ipconfig命令来清除dns缓存][1]。然而,Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。
|
||||
|
||||
### 如何: 清除 nscd dns 缓存 ###
|
||||
|
||||
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:
|
||||
|
||||
$ sudo /etc/init.d/nscd restart
|
||||
|
||||
或
|
||||
|
||||
# service nscd restart
|
||||
|
||||
或
|
||||
|
||||
# service nscd reload
|
||||
|
||||
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf,其决定了高速缓存守护进程的行为。
|
||||
|
||||
### 清除 dnsmasq dns 缓存 ###
|
||||
|
||||
[dnsmasq的是一个轻量级的DNS][2]、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存:
|
||||
|
||||
$ sudo /etc/init.d/dnsmasq restart
|
||||
|
||||
或者
|
||||
|
||||
# service dnsmasq restart
|
||||
|
||||
### 清除BIND缓存服务器的dns缓存 ###
|
||||
|
||||
一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重启BIND以清除其缓存:
|
||||
|
||||
# /etc/init.d/named restart
|
||||
|
||||
你也可以使用下面rndc命令来清除所有的缓存:
|
||||
|
||||
# rndc restart
|
||||
|
||||
或者
|
||||
|
||||
# rndc exec
|
||||
|
||||
BIND v9.3.0 及其以上版本支持一个清除一个特定域名的所有记录缓存的命令:rndc flushname。本例中刷新cyberciti.biz相关域的所有记录:
|
||||
|
||||
# rndc flushname cyberciti.biz
|
||||
|
||||
同样也可以清除BIND View。比如,LAN和WAN的View可以用下面的命令清除:
|
||||
|
||||
# rndc flush lan
|
||||
# rndc flush wan
|
||||
|
||||
### 给 Mac OS X Unix 用户的提示 ###
|
||||
|
||||
Mac下用root用户输入下面的命令:
|
||||
|
||||
# dscacheutil -flushcache
|
||||
|
||||
或者
|
||||
|
||||
$ sudo dscacheutil -flushcache
|
||||
|
||||
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
|
||||
|
||||
lookupd -flushcache
|
||||
|
||||
### 关于 /etc/hosts 文件的一个提示 ###
|
||||
|
||||
/etc/hosts用作静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它:
|
||||
|
||||
# vi /etc/hosts
|
||||
|
||||
#### 示例输出: ####
|
||||
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 wks01.WAG160N wks01
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 ip6-localhost ip6-loopback
|
||||
fe00::0 ip6-localnet
|
||||
ff00::0 ip6-mcastprefix
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
10.37.34.2 build
|
||||
192.168.1.10 nas01
|
||||
192.168.1.11 nas02
|
||||
192.168.1.12 nas03
|
||||
#192.168.2.50 nfs2.nixcraft.net.in nfs2
|
||||
#192.168.2.51 nfs1.nixcraft.net.in nfs1
|
||||
172.168.232.50 nfs1.nixcraft.net.in nfs1
|
||||
172.168.232.51 nfs2.nixcraft.net.in nfs2
|
||||
192.168.1.101 vm01
|
||||
|
||||
### 参考 ###
|
||||
|
||||
相关: 在Windows Vista / XP中用ipconfig 命令[清除 DNS 缓存][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.cyberciti.biz/faq/rhel-debian-ubuntu-flush-clear-dns-cache/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://theos.in/windows-vista/flush-dns-cache-with-ipconfig/
|
||||
[2]:http://www.cyberciti.biz/tips/how-do-i-improve-dns-performance-on-linuxwindows-desktop.html
|
||||
[3]:http://theos.in/windows-vista/flush-dns-cache-with-ipconfig/
|
||||
@@ -0,0 +1,86 @@
|
||||
到底开发者需要掌握多少门语言?
|
||||
================================================================================
|
||||

|
||||
|
||||
> 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。
|
||||
|
||||
前不久的世界开发者大会上,Apple公布了它的新开发语言[Swift][1]。这是最近大型技术公司们开发的一大波新语言中的最新成员,这些新语言某种程度上都是专门应用于他们自己的平台。
|
||||
|
||||
对iOS开发者,Apple有Swift;而[Facebook 有 Hack][2] —— 一门用于后端开发的语言。与此同时,Google已经拥有了它自己的Javascript替代者 Dart,以及一门新的通用编程语言Go。
|
||||
|
||||
这一波又一波的新语言,给开发者们带来了许多问题。也许其中最严重的问题正如我一位同事[Adriana Lee][3]在Apple发布Swift后所说:
|
||||
|
||||
> (开发者们到底还得学习多少门语言?)
|
||||
> ——Adriana Lee (@adra_la) [June 2, 2014][4]
|
||||
|
||||
### 计算机语言的通天塔 ###
|
||||
|
||||
目前已经存在的[编程语言有数百种][5],同时还有更多的语言正在涌现。其中许多都是被设计用在相对较窄的应用程序范围内,大多数甚至从未走出过项目小组的范围。
|
||||
|
||||
与此类似,大技术公司开发的新语言其实也是伴随着公司一起成长的。[通用语言的鼻祖,C语言][6],就源于上世纪70年代初的AT&T贝尔实验室。Java,目前作为Android app开发的主要语言,诞生于上世纪90年代[Sun公司的Microsystems系统][7]。
|
||||
|
||||
发展到现在,不同之处在于,公司们拥抱新语言、从而想要延伸的特定商业目标的范围不一样了 —— 这一过程同时建立了一个忠心耿耿的开发者基础,他们被牢牢锁定在了某个公司的特定平台上。这类一石二鸟的战略,最早可以追溯到Sun对Java的采用,当时公司就将其作为了挑战微软PC桌面统治地位的一种手段。(事情虽然没有像Sun计划的那样发展下去,但在Google转向Android之前,Java大体上也算是在企业中间件系统中找到了自己的一席之地。)
|
||||
|
||||
这么看来,Apple的Swift其目标也就很明确了。Swift应该不会辜负公司前期的大肆宣传,通过磨平Objective-C那粗糙的毛边,看起来它能够成功简化iOS app开发者的开发过程。但是同样还是这些开发者,他们却需要学习一门新语言的输入和输出,而这些功能很可能在其他地方都不会用到。
|
||||
|
||||
### 大公司们为什么要重复造轮子 ###
|
||||
|
||||
“不要重复造轮子”这一哲学在绝大多数开发者心中根深蒂固,大公司们对此却并不买账。那他们为何不只是修改下现有语言用于新的用途呢?
|
||||
|
||||
答案很简单,公司们发明他们自己的语言,是因为他们有这个能力。设计一门新语言可能很复杂,但对资源要求却并不很高。困难之处也就在对其提供支持,包括提供软件资源(共享代码库、API、编译器、文档等)以及赢得开发者的心意。大公司们在这两方面尤其擅长。
|
||||
|
||||
还有一个事实,现有语言通常很难硬塞进如今的复杂代码框架中。举个栗子,[Facebook决定发明的Hack][8],就是一个普遍适用于Web开发的[脚本语言PHP][9]的超集合(superset)。
|
||||
|
||||
Facebook的Hack最近已经比较普遍,其主要目标就是改进代码的稳定性,针对这一目的,它强制在程序运行之前对数据类型进行检测。这样的检测确保了一个程序,比方说,不会将一个整数解析为一个字符串,这样的错误如果捕获不到很可能会导致不可预知的后果。在Hack中,这些检测会预先执行,以便程序员能够在程序上线前早早发现这样的错误。
|
||||
|
||||
据Facebook的Hack项目组核心成员Julien Verlaguet透露,公司之前尝试过用一门现有语言实现更高效的编程。但是Facebook的大部分代码都是由PHP编写的,公司实际上已经建立了一个支持PHP及其分支的软件架构。即使能够让PHP同其他语言编写的代码协同工作,实现的难易程度和运行速度都无法满足要求。
|
||||
|
||||
“比如说我们尝试用Scala重写PHP代码库,”Verlaguet说。“Scala是一门设计优秀的漂亮语言,但是它与PHP完全不兼容。每次我需要从Scala的代码库部分调用PHP的时候,都会损失性能。我们很愿意使用一门现有语言,但是对于我们来说,这条路行不通。”
|
||||
|
||||
于是,Facebook发明了Hack,它与PHP一样能够共用公司现有的架构。Verlaguet介绍说,Facebook的代码库主体已经从PHP迁移到了Hack,同时公司将Hack开源,希望独立开发者们能够帮公司找到Facebook以外的用途。
|
||||
|
||||
“你仍然可以使用PHP,”他说,“但是我们希望你有使用Hack的欲望。”
|
||||
|
||||
### 谁说了算 ###
|
||||
|
||||
公司和开发者之间有一种微妙的平衡。公司可以按照自己的喜好发明语言。但是如果开发者都不愿使用这门语言,那就没人用了,公司以外的人也就没人愿意将自己的职业生涯托付给这家公司。
|
||||
|
||||
公司在开发过程中同时使用不同的语言,这并不少见。例如,你可能用Objective-C开发iOS app,但却用Java开发Android app。对开发者来说,这从来都不是症结所在,因为Objective-C和Java都是通用面向对象语言。它们用途广泛适用于很多场合。
|
||||
|
||||
然而,Hack、Dart、Go和Swift,到目前为止,仍然只适用于严格特定公司的编程解决方案,往往和公司选择的编程环境相对应。诚然,现在下结论可能还太早。比方说Hack,就可以用在一些后端的实现中;它只是太新了,以至于Facebook还没有任何数据供人们如此使用。
|
||||
|
||||
不是开发者不能学习多门语言。事实上,大多数人已经掌握了多门语言。这好比罗曼斯语(由拉丁语演变而成的语言),如果你会说西班牙语,再去学法语就比那些不会西班牙语的人简单许多。与此类似,如果你已经会Java,再学Ruby或Perl就简单得多。如果你会PHP,基本上就已经学会了Hack。
|
||||
|
||||
与此相反,学习多门语言更多的是一个习惯问题。如果Java已经解决了你的问题,你就不再有动机去学Ruby。如果你用Objective-C编写iOS app感觉很爽,你就不会有强烈的意愿去学Swift。
|
||||
|
||||
另外,对于一些开发者来说,封闭生态系统的语言只会使每个人的生活变得更糟。例如,自由设计师Jack Watson-Hamblin就告诉我说,像Apple这样强势推出Swift,其实是在冒险增加程序员的负担,同时将开发者社区割裂开来:
|
||||
|
||||
> 程序员掌握多门语言固然重要,但是不断强迫他们紧跟新语言,却是行不通的。如果我正在开发一个简单的跨平台app,我可不想被迫掌握四门语言再来完成它。如果真的需要,我也只想使用一门语言。
|
||||
|
||||
Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的语言时,程序员的注意力被分散,开发的视野也局限于一种,这只会拖慢整个开发进程。他说,“如果拿公司负责一门语言与负责一个开源社区相比较,这两者的区别就好比一家大企业与一个初创小公司的区别”。社区生来就更加灵活,适应能力更强。
|
||||
|
||||
当然,Apple有[许多非常好的理由推出Swift从零开始][10],就像当初Facebook发明Hack的时候一样。我并不是说,大公司不会强迫开发者接受这种改变,在这方面,有些公司一直都很让人讨厌。
|
||||
|
||||
“新语言的发明,伴随着霸权的支配,”Verlaguet说,“被迫不停追赶,确实令人沮丧,但另一方面,你又多了一种解决问题的新语言。反过来想想,要是全世界的程序员都用同样一门语言做所有事情,即使啥都凑合着能干,这门语言也一定干得不怎么样”。
|
||||
|
||||
题图来自于[Flickr user Ruiwen Chua][11],CC 2.0
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://developer.apple.com/swift/
|
||||
[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ
|
||||
[4]:https://twitter.com/adra_la/statuses/473537386266112000
|
||||
[5]:http://en.wikipedia.org/wiki/List_of_programming_languages
|
||||
[6]:http://en.wikipedia.org/wiki/C_(programming_language)
|
||||
[7]:http://en.wikipedia.org/wiki/Java_(programming_language)
|
||||
[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[9]:http://en.wikipedia.org/wiki/PHP
|
||||
[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA
|
||||
[11]:https://www.flickr.com/photos/ruiwen/3260095534
|
||||
@@ -0,0 +1,188 @@
|
||||
已经会用Git了?不会这十招怎么行
|
||||
================================================================================
|
||||
|
||||
之前我们发了一些教程让你熟悉[Git基础][1]和[在团队合作环境中使用Git][2].我们讨论的这些Git命令足够让一个开发者在Git的世界里生存下去。在这篇教程里,我们试着探索如何高效地管理你的时间以及如何充分利用Git提供的特性。
|
||||
|
||||
> 注意:这里介绍的命令中有的包含方括号(例如:`git add -p [file_name]`)。在这些例子中,你应该用你自己的数字、标识符等替代方括号里的内容,并且去掉方括号。
|
||||
|
||||
### 1. Git自动补全 ###
|
||||
|
||||
如果你在命令行环境中运行Git命令,每次都手动地逐个输入命令是一件很无聊的事。为此,你可以花几分钟时间配置一下Git命令的自动补全功能。
|
||||
|
||||
在*nix系统运行下列命令下载自动补全脚本:
|
||||
|
||||
cd ~
|
||||
curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
|
||||
|
||||
然后,添加下面的行到你的~/.bash_profile文件:
|
||||
|
||||
if [ -f ~/.git-completion.bash ]; then
|
||||
. ~/.git-completion.bash
|
||||
fi
|
||||
|
||||
尽管我之前已经提到过,但我还是想再强调一下:如果你想使用完整的Git特性,你绝bi应该切换到命令行环境。
|
||||
|
||||
### 2. 在Git中忽略文件 ###
|
||||
|
||||
你是不是对出现在你Git库里面的编译生成文件(比如`.pyc`)感到很无语?或者你是不是很厌恶不小心将他们添加到了Git?直接看这里,这里有一个方法可以让你告诉Git忽略所有这些文件和目录。只需要创建一个名字为`.gitignore`的文件,里面列出你不想要Git跟踪的文件和目录。可以用感叹号(!)列出例外情况。
|
||||
|
||||
*.pyc
|
||||
*.exe
|
||||
my_db_config/
|
||||
|
||||
!main.pyc
|
||||
|
||||
### 3. 谁动了我的代码? ###
|
||||
|
||||
当事情出了乱子时立马责怪别人这是人类的天性。如果你的服务器程序不能正常工作了,要找出罪魁祸首是非常简单的--只需要执行`git blame`。这个命令告诉你文件里的每一行的作者是谁,最后改动那一行的提交,以及提交的时间戳。
|
||||
|
||||
git blame [file_name]
|
||||
|
||||

|
||||
|
||||
在下面的截图里,你可以看到在一个更大的库里这个命令的输出是什么样的:
|
||||
|
||||

|
||||
|
||||
### 4. 查看库的历史 ###
|
||||
|
||||
在之前的教程里,我们已经看过了如何使用`git log`命令。不管怎样,有3个选项你应该知道。
|
||||
|
||||
- **--oneline** - 压缩每次的提交信息,只保留一个缩减的Hash值和说明文字,然后把这些都展示在一行里。
|
||||
- **--graph** - 这个选项将在左边画出一个文字界面的提交历史图。如果你只有一个分支,用这个选项查看历史时是没什么意义的。
|
||||
- **--all** - 显示所有分支历史。
|
||||
|
||||
这是这3个选项合起来使用的效果:
|
||||
|
||||

|
||||
|
||||
### 5. 不要丢失对某个提交的跟踪 ###
|
||||
|
||||
假设你提交了一些不需要的东西,然后你进行了hard重置回到之前的状态。后来,你发现在这个过程中你丢失了其他一些重要的信息,你想要把这些信息找回来,或者至少可以查看一下这些信息。这就需要`git reflog`帮忙。
|
||||
|
||||
简单的`git log`只能告诉你最近的提交,这个提交的父提交,父提交的父提交,等等。但是`git reflog`是一个HEAD指向的提交的列表。记住,这个列表依赖于你自己的本地操作环境,它不是库的一部分,也不包含在push或者merge中。
|
||||
|
||||
如果执行`git log`命令,可以看到提交历史,这是我的库的一部分:
|
||||
|
||||

|
||||
|
||||
但是,`git reflog`命令显示了一个被我用hard重置丢掉的提交(`b1b0ee9`-`HEAD@{4}`).
|
||||
|
||||

|
||||
|
||||
### 6. 暂存文件的一部分更改以便进行一次提交 ###
|
||||
|
||||
通常依据特性来提交是一个好的实践方法,意思是说,每一个提交都只添加一个特性或者修复一个bug。想一下如果你一次修复了两个bug或者添加了两个特性但是都还没有逐个提交该怎么办。这种场景下,你可以将他们一起提交。但是有一个更好的办法:单独暂存这些文件,然后分开提交。
|
||||
|
||||
让我们假设你对一个文件做了多个更改,然后想让这些更改分开提交。这时,我们用带`-p`的添加命令。
|
||||
|
||||
git add -p [file_name]
|
||||
|
||||
我们来试试这种用法。我添加了3个新行到`file_name`,但是我只想让第1行和第3行出现在我的提交里。让我们看看`git diff`的输出是什么样的。
|
||||
|
||||

|
||||
|
||||
然后,我们看看带`-p`选项的`add`命令会发生什么。
|
||||
|
||||

|
||||
|
||||
看起来Git认为所有的更改都是同一个目的的一部分,所以把他们分组到同一个块里。这时,你可以:
|
||||
|
||||
- 输入 y 暂存块
|
||||
- 输入 n 不暂存块
|
||||
- 输入 e 手动编辑块
|
||||
- 输入 d 退出或者跳转到下一个文件
|
||||
- 输入 s 分割块
|
||||
|
||||
在我们这个例子中,我们想把这个块分割成更小的部分,然后选择其中一些忽略另外一些。
|
||||
|
||||

|
||||
|
||||
如你所见,我们已经逐个添加了第1和第3行,忽略了第2行。你可以看到库的状态并且进行一次提交。
|
||||
|
||||

|
||||
|
||||
### 7. 合并多个提交 ###
|
||||
|
||||
为了进行核查或者发起一个合并请求(这经常发生在开源项目里),对代码进行了修改提交。但在最后代码被接受之前,你也许会需要修改你的代码。于是你修改代码,但是下一次核查的时候又一次需要进行修改。不知不觉中,你就已经有了好几个提交。理论上你应该用rebase命令把他们合并起来。
|
||||
|
||||
git rebase -i HEAD~[number_of_commits]
|
||||
|
||||
如果你想合并最后的两次提交,你应该运行下面的命令。
|
||||
|
||||
git rebase -i HEAD~2
|
||||
|
||||
一旦你运行这个命令,你将进入一个交互式界面,它将询问你想要合并哪些提交。你`pick`(拣选)最近的提交然后`squash`(合并)旧的提交。
|
||||
|
||||

|
||||
|
||||
接着你应该提供一个对新提交的说明。这个过程会重写你的提交历史。
|
||||
|
||||

|
||||
|
||||
### 8. 储藏没有提交的更改 ###
|
||||
|
||||
假设你正在修复一个bug或者添加一个特性,突然你被要求展示一下你的工作成果。你现在的工作还没有完成,不够进行一次提交。这时,`git stash`命令可以用来急救一下。Stash命令跟踪你所有的更改,然后把他们储藏起来以便以后使用。命令如下-
|
||||
|
||||
git stash
|
||||
|
||||
可以多次储藏更改,查看储藏列表,你可以运行下面的命令:
|
||||
|
||||
git stash list
|
||||
|
||||

|
||||
|
||||
如果你想取消储藏,覆盖当前的更改,你可以通过下面的命令使用储藏:
|
||||
|
||||
git stash apply
|
||||
|
||||
在最后的这个截图里,你可以看到每个储藏都有一个标识符,是一个唯一的数字(尽管在这里我们只有一个储藏)。如果你想使用某个储藏,你在apply命令后面加上这个唯一的标识符:
|
||||
|
||||
git stash apply stash@{2}
|
||||
|
||||

|
||||
|
||||
### 9. 检查丢失的提交 ###
|
||||
|
||||
尽管`reflog`是一种检查丢失提交的方法,大型的库里却不太实用。这个时候,应该用`fsck`(文件系统检查)命令。
|
||||
|
||||
git fsck --lost-found
|
||||
|
||||

|
||||
|
||||
这里你可以看到一个丢失的提交。你可以通过`git show [commit_hash]` 查看提交的更改或者通过运行`git merge [commit_hash]`命令进行恢复。
|
||||
|
||||
`git fsck`跟`reflog`命令相比有一个优点。假设你删除了一个远程分支,然后clone了这个库。用`fsck`命令你可以找到并且恢复这个删除的远程分支。
|
||||
|
||||
### 10. 最佳选择 ###
|
||||
|
||||
之前我已经存记下了那些最优雅的Git命令。但是目前为止,`cherry-pick`命令是我最喜欢的Git命令,因为它直白的名字和实用的功能!
|
||||
|
||||
最简单的情况下,`cherry-pick`从另一个分支里选出单独的一个提交,然后合并到当前分支。如果你正并行工作在两个或者更多的分支上,你也许会发现一个存在于所有分支上的bug。如果你解决了一个分支上的这个bug,你可以拣选这个对应的提交应用到其他分支上,而不会弄乱其他文件或者提交。
|
||||
|
||||
让我们来考虑一个可以使用这个命令的场景。我有两个分支,我想拣选`b20fd14: Cleaned junk`这个提交到另一个分支上。
|
||||
|
||||

|
||||
|
||||
我切换到想要应用这个拣选出来的提交的分支,然后运行下面的命令:
|
||||
|
||||
git cherry-pick [commit_hash]
|
||||
|
||||

|
||||
|
||||
尽管这次我们很干净的用了`cherry-pick`命令,但你应该知道这个命令经常会引起冲突,所以请小心使用。
|
||||
|
||||
### 总结 ###
|
||||
|
||||
到了这里,我们结束了这个能使你Git能力提升一个级别的列表。Git是最好的版本控制器,它能完成你能想象到的任何事情。所以,经常试着用Git挑战你自己。一不小心你就会学到很多新东西。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.sitepoint.com/10-tips-git-next-level/
|
||||
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.sitepoint.com/git-for-beginners/
|
||||
[2]:http://www.sitepoint.com/getting-started-git-team-environment/
|
||||
@@ -0,0 +1,97 @@
|
||||
Linux 目录导航技巧
|
||||
================================================================================
|
||||
|
||||
目录当行是命令行系统的基础概念.虽然不是什么难以理解的东西,但是知道一些技巧能够丰富你的经验并且提高工作效率.在这篇文章中,我们会讨论这些小技巧。
|
||||
|
||||
### 我们已经知道的东西 ###
|
||||
|
||||
在开始高级技巧之前,有一些必须知道的基本命令:
|
||||
|
||||
- ‘pwd’显示当前目录
|
||||
- ‘cd’ 改变当前目录
|
||||
- ‘cd’ 跟两个点(cd ..)能返回父目录
|
||||
- ‘cd’ 跟着相对目录就能直接切换当相对目录下
|
||||
- ‘cd’ 跟着绝对目录就能切换到绝对目录下
|
||||
|
||||
### 高阶技巧 ###
|
||||
|
||||
这节将介绍几个技巧方便你进行目录的切换
|
||||
|
||||
### 从任何地方回到home目录 ###
|
||||
|
||||
虽然使用‘cd /home/<你的主目录>’, 不是什么大麻烦, 但是有一种方法直接打‘cd’ 就能回到你的主目录.
|
||||
|
||||
例子:
|
||||
|
||||
$ pwd
|
||||
/usr/include/netipx
|
||||
$ cd
|
||||
$ pwd
|
||||
/home/himanshu
|
||||
|
||||
所以无论你在哪个目录下,都能这么干,然后回到home目录。
|
||||
|
||||
**注意**- 如果要切换到某个其它的指定用户的目录下, 就使用 ‘cd ~user_name'
|
||||
|
||||
### 用cd - 在目录间切换 ###
|
||||
|
||||
假设你的当前工作目录是这样的:
|
||||
|
||||
$ pwd
|
||||
/home/himanshu/practice
|
||||
|
||||
如果你想切换到 **/usr/bin/X11**, 然后又想回到之前的目录。 你会怎么做? 最直接的 :
|
||||
|
||||
$ cd /usr/bin/X11
|
||||
$ cd /home/himanshu/practice/
|
||||
|
||||
虽然这样行得通,但是要记住这些复杂的目录就太笨了。这种情况下使用 ‘cd -’ 命令就行.
|
||||
|
||||
使用 ‘cd -’的第一步和上面的例子是一样的, 你可以 cd 到你想要切换到的<路径>下,但是回到之前的目录用 ‘cd -’就可以。
|
||||
|
||||
$ cd /usr/bin/X11
|
||||
$ cd -
|
||||
/home/himanshu/practice
|
||||
$ pwd
|
||||
/home/himanshu/practice
|
||||
|
||||
如果你想再次回到刚刚访问的目录(在这个例子中是/usr/bin/X11),再使用'cd -'就可以。但是这个命令只会记住上一次访问的目录,这是一个缺点。
|
||||
|
||||
### 用 pushd 和 popd 来切换目录 ###
|
||||
|
||||

|
||||
|
||||
如果你对'cd -'非常了解了的话,你会发现这个命令只能帮助你在两个目录之间移动,但是很多场景下需要在很多目录之间切换。比如你要从A切换到B再到C然后又想回到A。
|
||||
|
||||
一般来说,你需要打出A的完整路径,但是如果这个路径非常复杂,将是非常烦人的一件事,特别是在你的切换非常频繁的话。
|
||||
|
||||
一些场景下可以使用 ‘pushd’ 还有 ‘popd’ 命令。 ‘pushd’ 将一个目录存到内存中,‘popd’ 将目录从内存中去除,并且转换到那个目录下。
|
||||
|
||||
例如:
|
||||
|
||||
$ pushd .
|
||||
/usr/include/netipx /usr/include/netipx
|
||||
$ cd /etc/hp/
|
||||
$ cd /home/himanshu/practice/
|
||||
$ cd /media/
|
||||
$ popd
|
||||
/usr/include/netipx
|
||||
$ pwd
|
||||
/usr/include/netipx
|
||||
|
||||
使用‘pushd’ 命令存储当前的工作目录 (用 .表示), 然后切换到各种各样的目录去。为了返回之前的目录,只要使用 ‘popd’命令就行了。
|
||||
|
||||
(LCTT译注:显然,pushd和popd 是堆栈式操作,你可以push多个目录,然后逐一pop出来,自己试试吧。)
|
||||
(LCTT译注:我们之前介绍的[autojump][1],更加智能,不过需要安装一下。)
|
||||
|
||||
**注意**- 你也可以使用不带参数的 ‘pushd’ 来切换到之前存储的目录, 但是不会像 ‘popd’ 一样去除这个目录。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/directory-navigations-tips-tricks/
|
||||
|
||||
译者:[ggaaooppeenngg](https://github.com/ggaaooppeenngg) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-3401-1.html
|
||||
@@ -0,0 +1,137 @@
|
||||
如何在Ubuntu,Linux Mint,Debian上禁用IPv6
|
||||
================================================================================
|
||||
### IPv6 ###
|
||||
|
||||
IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址。
|
||||
|
||||
IPv6比IPv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。
|
||||
|
||||
### 你的系统支持IPv6么? ###
|
||||
|
||||
为了支持IPv6,需要很多事情。首先你需要系统/操作系统支持IPv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了IPv6地址。
|
||||
|
||||
$ ifconfig
|
||||
eth0 Link encap:Ethernet HWaddr 00:1c:c0:f8:79:ee
|
||||
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
|
||||
inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
|
||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
||||
RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
|
||||
TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
|
||||
collisions:0 txqueuelen:1000
|
||||
RX bytes:62289395 (62.2 MB) TX bytes:25169458 (25.1 MB)
|
||||
Interrupt:20 Memory:e3200000-e3220000
|
||||
|
||||
lo Link encap:Local Loopback
|
||||
inet addr:127.0.0.1 Mask:255.0.0.0
|
||||
inet6 addr: ::1/128 Scope:Host
|
||||
UP LOOPBACK RUNNING MTU:65536 Metric:1
|
||||
RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
|
||||
TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
|
||||
collisions:0 txqueuelen:0
|
||||
RX bytes:4900560 (4.9 MB) TX bytes:4900560 (4.9 MB)
|
||||
|
||||
看一下行“inet6 addr”。
|
||||
|
||||
接下来你需要一个支持ipv6的路由器/调制解调器。此外,你的ISP也必须支持IPv6。
|
||||
|
||||
除了检查网络设备的每一部分,最好查出你是否可以通过IPv6访问网站。
|
||||
|
||||
有很多网站可以检测你的网络连接是否支持IPv6. 这里就是个例子:[http://testmyipv6.com/][1]
|
||||
|
||||
下面是在内核中启用IPv6的参数:
|
||||
|
||||
$ sysctl net.ipv6.conf.all.disable_ipv6
|
||||
net.ipv6.conf.all.disable_ipv6 = 0
|
||||
|
||||
$ sysctl net.ipv6.conf.default.disable_ipv6
|
||||
net.ipv6.conf.default.disable_ipv6 = 0
|
||||
|
||||
$ sysctl net.ipv6.conf.lo.disable_ipv6
|
||||
net.ipv6.conf.lo.disable_ipv6 = 0
|
||||
|
||||
同样可以在proc文件中检查
|
||||
|
||||
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
|
||||
0
|
||||
|
||||
注意这里的变量是控制IPv6的“禁用”。所以设置1就会禁用IPv6。
|
||||
|
||||
### 如果它不支持就禁用IPv6 ###
|
||||
|
||||
如果你的网络设备中不支持IPv6,那最好就全部禁用它们。为什么?因为这会引起域名查询延迟,在网络连接中不必要地尝试连接到IPv6地址导致延迟等等问题。
|
||||
|
||||
我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到IPv6地址失败接着检索IPv4地址。看一下下面的输出。
|
||||
|
||||
$ sudo apt-get update
|
||||
Ign http://archive.canonical.com trusty InRelease
|
||||
Ign http://archive.canonical.com raring InRelease
|
||||
Err http://archive.canonical.com trusty Release.gpg
|
||||
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
|
||||
Err http://archive.canonical.com raring Release.gpg
|
||||
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
|
||||
|
||||
.....
|
||||
|
||||
像这样的错误在最近的Ubuntu中更频繁了,或许它比以前更频繁地尝试使用IPv6地址。
|
||||
|
||||
我在其他的应用上也注意到了相似的问题,如Hexchat,同样Google Chrome也会有时会在查询域名的时候花费更长的时间。
|
||||
|
||||
所以最好的方案是完全禁用IPv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。
|
||||
|
||||
#### 禁用 IPv6 - 方案1 ####
|
||||
|
||||
编辑文件 - /etc/sysctl.conf
|
||||
|
||||
$ sudo gedit /etc/sysctl.conf
|
||||
|
||||
在文件的最后加入下面的行。
|
||||
|
||||
# IPv6 disabled
|
||||
net.ipv6.conf.all.disable_ipv6 = 1
|
||||
net.ipv6.conf.default.disable_ipv6 = 1
|
||||
net.ipv6.conf.lo.disable_ipv6 = 1
|
||||
|
||||
保存并关闭
|
||||
|
||||
重启sysctl
|
||||
|
||||
$ sudo sysctl -p
|
||||
|
||||
再次检查ifconfig的输出,这里应该没有IPv6地址了。
|
||||
|
||||
$ ifconfig
|
||||
eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b
|
||||
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
|
||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
||||
RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
|
||||
TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
|
||||
collisions:0 txqueuelen:1000
|
||||
RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB)
|
||||
|
||||
如果不行,尝试重启系统并再次检查ifconfig
|
||||
|
||||
#### 禁用 IPv6 - GRUB 方案 ####
|
||||
|
||||
IPv6同样可以通过编辑grub配置文件禁用。
|
||||
|
||||
$ sudo gedit /etc/default/grub
|
||||
|
||||
查找包含"GRUB_CMDLINE_LINUX"的行,并如下编辑:
|
||||
|
||||
GRUB_CMDLINE_LINUX="ipv6.disable=1"
|
||||
|
||||
同样可以加入名为"GRUB_CMDLINE_LINUX_DEFAULT"的变量,这同样有用。保存并关闭文件,重新生成grub配置。
|
||||
|
||||
$ sudo update-grub2
|
||||
|
||||
重启,现在IPv6应该就已经禁用了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/disable-ipv6-ubuntu/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) ,校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://testmyipv6.com/
|
||||
@@ -0,0 +1,90 @@
|
||||
自动补完不算什么,一键直达目录才是终极神器!
|
||||
================================================================================
|
||||
|
||||
在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。
|
||||
|
||||
autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。
|
||||
|
||||
### 在Linux上安装autojump ###
|
||||
|
||||
在Ubuntu或Debian上安装autojump:
|
||||
|
||||
$ sudo apt-get install autojump
|
||||
|
||||
要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先[启用EPEL仓库][1]才行。
|
||||
|
||||
$ sudo yum install autojump
|
||||
|
||||
在Archlinux上安装autojump:
|
||||
|
||||
$ sudo pacman -S autojump
|
||||
|
||||
如果你找不到适合你的版本的包,你可以从[GitHub][2]上下载源码包来编译。
|
||||
|
||||
### autojump的基本用法 ###
|
||||
|
||||
autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。
|
||||
|
||||
现在不管你在哪个目录,你都可以使用下面的语法来直接跳转到这些目录:
|
||||
|
||||
autojump [目录的名字或名字的一部分]
|
||||
|
||||
注意,你不需要输入完整的名称,因为autojump会检索它的数据库,并返回最可能的结果。
|
||||
|
||||
例如,假定我们正在下面的目录结构中工作。
|
||||
|
||||

|
||||
|
||||
那么下面的命令将直接让你跳到/root/home/doc下,不管你当前位置在哪里。
|
||||
|
||||
$ autojump do
|
||||
|
||||
如果你也很讨厌打字,那么我推荐你为autojump起个别名,或者使用默认的别名。
|
||||
|
||||
$ j [目录的名字或名字的一部分]
|
||||
|
||||
另外一个引人注目的功能是,autojump支持zsh和自动补完。如果你不确认哪里是不是你要跳转的地方,敲击TAB键就会列出完整路径。
|
||||
|
||||
还是同样的例子,输入:
|
||||
|
||||
$ autojump d
|
||||
|
||||
然后敲击tab键,将会返回/root/home/doc或者/root/home/ddl。
|
||||
|
||||
最后,对于高级用户,你可以访问目录数据库,并修改它的内容。可以使用下面的命令来手动添加一个目录:
|
||||
|
||||
$ autojump -a [目录]
|
||||
|
||||
如果你突然想要把当前目录变成你的最爱和使用最频繁的文件夹,你可以在该目录通过命令的参数 i 来手工增加它的权重
|
||||
|
||||
$ autojump -i [权重]
|
||||
|
||||
这将使得该目录更可能被选择跳转。相反的例子是在该目录使用参数 d 来减少权重:
|
||||
|
||||
$ autojump -d [权重]
|
||||
|
||||
要跟踪所有这些改变,输入:
|
||||
|
||||
$ autojump -s
|
||||
|
||||
这会显示数据库中的统计数据。而以下:
|
||||
|
||||
$ autojump --purge
|
||||
|
||||
命令将会把不再存在的目录从数据库中移除。
|
||||
|
||||
简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定也想看看[Fasd][3],它应该会给你一个惊喜,我们下次再介绍它。
|
||||
|
||||
你觉得autojump怎么样?你会经常用它么?发表一下你的评论吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/speed-up-directory-navigation-linux-terminal.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
[2]:https://github.com/joelthelion/autojump
|
||||
[3]:https://github.com/clvv/fasd
|
||||
@@ -0,0 +1,86 @@
|
||||
逝去的纪念:如何在Linux中同步微软 OneDrive
|
||||
================================================================================
|
||||
【编者注】:本文译文完成之后不久,OneDrive 就成了中国人的昨日黄花了。编者想了想,还是发出来罢,仅以此文纪念我们逝去的这个、那个、以及这些和那些。也许若干年后我们回忆起来,我们曾经有过那么多那些,而当时却挑三拣四,没有珍惜,如果再给我一次机会……
|
||||
|
||||
---
|
||||
|
||||
[OneDrive][1](以前称为SkyDrive)是微软的一个广受欢迎的云存储产品。目前OneDrive为每一个新注册用户提供7GB免费存储空间。正如你所想,OneDrive与微软其他软件产品很好地集成。微软还提供了一个独立的OneDrive客户端,它会自动备份照相机拍摄的图片和视频到OneDrive。但你猜怎么着。该客户端可用于除Linux的各大PC/移动平台。
|
||||
|
||||
“OneDrive在任何设备,任何时间”?哦,不,这还不行。
|
||||
|
||||
不过不要失望。开源社区已经已经拿出了解决方案。 Boilermaker写的[onedrive-d][2]可以完成这项工作。作为监测守护进程运行,onedrive-D可自动将本地文件夹同步到OneDrive云存储。
|
||||
|
||||
I在本教程中,我将介绍**如何在Linux上使用onedrive-d同步微软OneDrive**。
|
||||
|
||||
### 在linux上安装onedrive-d ###
|
||||
|
||||
虽然onedrive-d最初是为Ubuntu/ Debian开发的,但它仍然支持CentOS/ Fedora/ RHEL。
|
||||
|
||||
安装就像输入下面的命令一样容易。
|
||||
|
||||
$ git clone https://github.com/xybu92/onedrive-d.git
|
||||
$ cd onedrive-d
|
||||
$ ./inst install
|
||||
|
||||
### 第一次配置 ###
|
||||
|
||||
安装之后,你需要进行一次性配置来授予onedrive-d对您OneDrive账户的读/写权限。
|
||||
|
||||
首先,创建将用于对远程OneDrive账户同步的本地文件夹。
|
||||
|
||||
$ mkdir ~/onedrive
|
||||
|
||||
接着运行下面的命令开启一次性配置。
|
||||
|
||||
$ onedrive-d
|
||||
|
||||
它接着会弹出如下onedrive-d的设置窗口。在“Location”选项中,选择你之前创建的本地文件夹。在“Authentication”选项中,你会看见“You have not authenticated OneDrive-d yet”(“你还没有授权OneDrive-d”)的信息。现在点击"Connect to OneDrive.com"按钮。
|
||||
|
||||

|
||||
|
||||
它会弹出一个新窗口来要求你登录OneDrivecom。
|
||||
|
||||

|
||||
|
||||
登录OneDrive.com之后,你会被要求授权onedrive-d访问。选择“Yes”。
|
||||
|
||||

|
||||
|
||||
回到先前的设置窗口,你会看到之前的状态已经变成了You have connected to OneDrive.com"(“你已经连接到了OneDrive.com”)。点击“OK”完成。
|
||||
|
||||

|
||||
|
||||
### 与OneDrive同步一个本地文件夹 ###
|
||||
|
||||
这里有两种方法来使用onedrice-d将本地文件夹与OneDrive存储同步。
|
||||
|
||||
一种是“手动使用命令行来同步OneDrive”。就是当你需要与你的OneDrive账户同步时运行如下命令:
|
||||
|
||||
$ onedrive-d
|
||||
|
||||
`onedrive-d`接着将扫描本地文件夹与OneDrive帐户的内容并使两者同步。这意味着要么上传一个在本地文件夹新添加的文件,或者从远程OneDrive帐户下载最新发现的文件。如果你从本地文件夹删除任何文件,相应的文件将自动在与OneDrive帐户同步后被删除。反之亦然。
|
||||
|
||||
一旦同步完成,你可以使用Ctrl-C中断onedirve-d的前台进程。
|
||||
|
||||

|
||||
|
||||
另一种方法是将onedrive-d作为一个始终运行的守护进程在开机时自动启动。在这种情况下,后台守护进程会同时监视本地文件夹和OneDrive账户,以使它们保持同步。要做到这一点,只需将onedrive-D加入到你桌面的[自动启动程序列表][3]中就行了。
|
||||
|
||||
当onedrive-D作为守护进程在后台运行时,你会在桌面状态栏中看到OneDrive图标,如下图所示。每当同步更新被触发,你就会看到一个桌面通知。
|
||||
|
||||

|
||||
|
||||
要注意的是:根据作者所言,onedrive-d仍在积极开发中。这并不能用于任何形式的生产环境。如果您遇到任何bug,请随时提交一份[bug报告][4]。你的贡献,笔者将不胜感激。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/sync-microsoft-onedrive-linux.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/go/onedrive
|
||||
[2]:http://xybu.me/projects/onedrive-d/
|
||||
[3]:http://xmodulo.com/2013/12/start-program-automatically-linux-desktop.html
|
||||
[4]:https://github.com/xybu92/onedrive-d/issues?state=open
|
||||
@@ -0,0 +1,39 @@
|
||||
开源多媒体转换器Curlew 0.1.22.3发布了
|
||||
================================================================================
|
||||

|
||||
|
||||
**Curlew是linux下的一款容易使用,开源多媒体转换器,现在的版本是0.1.22.3。**
|
||||
|
||||
|
||||
Curlew可以转换超过100种不同的格式、显示文件的详细信息、转换预览、插入字幕等等。
|
||||
|
||||
此次更新包括:该软件打开时会记住上次的窗口大小和位置、增加了丢失了的对话框图标、在系统挂起前会主动同步文件系统。
|
||||
|
||||
这个程序需要的依赖环境包括:Python 2.7及其以上 (但是不兼容3.x)、python-gobject 3.0、gir1.2-gtk 3.0、 ffmpeg 0.8、libav-tools 0.8、 mencoder、libavcodec-extra、xdg-utils和mediainfo等。
|
||||
|
||||
来自noobslab.com的兄弟们提供一种通过PPA来简单地安装这个应用的方法。你要做的是在命令行下输入少量的命令(你需要有root权限才行)
|
||||
|
||||
sudo add-apt-repository ppa:noobslab/apps
|
||||
sudo apt-get update
|
||||
sudo apt-get install curlew
|
||||
|
||||
查看官方[更新日志][1]来获取完整的特性与更新列表。
|
||||
|
||||
你可以下载Curlew 0.1.22.3 的软件包:
|
||||
|
||||
- [Ubuntu 14.04 DEB ALL][2][ubuntu_deb] [172 KB]
|
||||
- [tar.gz][3][sources] [152 KB]
|
||||
|
||||
记住这是一个开发版因此不应该安装在生产机器上。它只用于测试。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Open-Source-Multimedia-Converter-Curlew-0-1-22-3-Is-Out-448028.shtml
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://gtk-apps.org/content/show.php/Curlew?content=155664
|
||||
[2]:http://sourceforge.net/projects/curlew/files/curlew-0.1.22.3/curlew_0.1.22.3ubuntu14.04_all.deb/download
|
||||
[3]:http://sourceforge.net/projects/curlew/files/curlew-0.1.22.3/curlew-0.1.22.3.tar.gz/download
|
||||
@@ -0,0 +1,94 @@
|
||||
性能基准测试:KVM大战Xen
|
||||
================================================================================
|
||||
在上周,我们对 KVM 和 Xen 近几年里在性能上的改进进行了一些有趣的探讨后,我打算自己做一些这方面的小研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[其它一些2011年的评测][2],不过由于 Xen 被收录进 Kernel 3.0,它们都已被热烈地讨论过。
|
||||
|
||||
2011年的测试提供了[许多很好的基准报表][3],在三年后的现在,我尽最大努力把它们列出的属性重新测试一遍。但我删减了其中两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。
|
||||
|
||||
### 测试环境 ###
|
||||
|
||||
测试环境由两台一模一样的超微服务器组成,分别都配备一颗[Intel 至强 E3-1220][4](4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。
|
||||
|
||||
所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中几乎没有运行的不相关的服务。这里列一下相关服务的版本:
|
||||
|
||||
- Kernel: 3.14.8
|
||||
- For KVM: qemu-kvm 1.6.2
|
||||
- For Xen: xen 4.3.2
|
||||
|
||||
根文件系统都是使用默认配置的 XFS。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 [PVHVM][5] 建立虚拟磁盘。
|
||||
|
||||
### 附加说明 ###
|
||||
|
||||
也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的重要改进。我将这个因素排除在了测试所考虑的范围之外,不过仍然可以在心里稍微注意一下。
|
||||
|
||||
并且,资源竞争产生的影响也有被严格控制并最小化。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT译注:它们的性能总和,就可以大致当作是 KVM 或 Xen 的性能了)。
|
||||
|
||||
本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM,可能有些数据会不一样。
|
||||
|
||||
### 结果 ###
|
||||
|
||||
本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下,两台裸机的性能偏差不会大于0.51%
|
||||
|
||||
在几乎所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,只有两项测试例外。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试,结果性能差异基本不变,浮动都在最初测试结果的1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。
|
||||
|
||||
Xen 的性能相对宿主机而言差异就比较大了。有3项测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的2~4倍。PostMark 测试的性能比 KVM 慢了14.41%,这结果令我大吃一惊。重新跑了下测试,性能差还是几乎不变,浮动都在最初结果的2%以内。KVM 表现最好的 CPU 测试:MAFFT 对齐测试,是 Xen 表现倒数第二差的。
|
||||
|
||||
现在奉上一个简短得总结表:
|
||||
|
||||
<table id="tablepress-3" class="tablepress tablepress-id-3 dataTable">
|
||||
<thead>
|
||||
<tr class="row-1 odd" role="row"><th class="column-1 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="&nbsp;: activate to sort column ascending" style="width: 261px;"><div> </div></th><th class="column-2 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Best Value: activate to sort column ascending" style="width: 124px;"><div>Best Value</div></th><th class="column-3 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Bare Metal: activate to sort column ascending" style="width: 124px;"><div>Bare Metal</div></th><th class="column-4 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="KVM: activate to sort column ascending" style="width: 85px;"><div>KVM</div></th><th class="column-5 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Xen: activate to sort column ascending" style="width: 66px;"><div>Xen</div></th></tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="row-hover" role="alert" aria-live="polite" aria-relevant="all"><tr class="row-2 even">
|
||||
<td class="column-1 ">C-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">35.35</td><td class="column-4 ">35.66</td><td class="column-5 ">36.13</td>
|
||||
</tr><tr class="row-3 odd">
|
||||
<td class="column-1 ">POV-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">230.02</td><td class="column-4 ">232.44</td><td class="column-5 ">235.89</td>
|
||||
</tr><tr class="row-4 even">
|
||||
<td class="column-1 ">Smallpt</td><td class="column-2 ">lower</td><td class="column-3 ">160</td><td class="column-4 ">162</td><td class="column-5 ">167.5</td>
|
||||
</tr><tr class="row-5 odd">
|
||||
<td class="column-1 ">John the Ripper (Blowfish)</td><td class="column-2 ">higher</td><td class="column-3 ">3026</td><td class="column-4 ">2991.5</td><td class="column-5 ">2856</td>
|
||||
</tr><tr class="row-6 even">
|
||||
<td class="column-1 ">John the Ripper (DES)</td><td class="column-2 ">higher</td><td class="column-3 ">7374833.5</td><td class="column-4 ">7271833.5</td><td class="column-5 ">6911167</td>
|
||||
</tr><tr class="row-7 odd">
|
||||
<td class="column-1 ">John the Ripper (MD5)</td><td class="column-2 ">higher</td><td class="column-3 ">49548</td><td class="column-4 ">48899.5</td><td class="column-5 ">46653.5</td>
|
||||
</tr><tr class="row-8 even">
|
||||
<td class="column-1 ">OpenSSL</td><td class="column-2 ">higher</td><td class="column-3 ">397.68</td><td class="column-4 ">393.95</td><td class="column-5 ">388.25</td>
|
||||
</tr><tr class="row-9 odd">
|
||||
<td class="column-1 ">7-Zip</td><td class="column-2 ">higher</td><td class="column-3 ">12467.5</td><td class="column-4 ">12129.5</td><td class="column-5 ">11879</td>
|
||||
</tr><tr class="row-10 even">
|
||||
<td class="column-1 ">Timed MAFFT Alignment</td><td class="column-2 ">lower</td><td class="column-3 ">7.78</td><td class="column-4 ">7.795</td><td class="column-5 ">8.42</td>
|
||||
</tr><tr class="row-11 odd">
|
||||
<td class="column-1 ">CLOMP</td><td class="column-2 ">higher</td><td class="column-3 ">3.3</td><td class="column-4 ">3.285</td><td class="column-5 ">3.125</td>
|
||||
</tr><tr class="row-12 even">
|
||||
<td class="column-1 ">PostMark</td><td class="column-2 ">higher</td><td class="column-3 ">3667</td><td class="column-4 ">3824</td><td class="column-5 ">3205</td>
|
||||
</tr></tbody></table>
|
||||
|
||||
如果需要完整数据,请查看[Goole Docs 电子表格][7]。
|
||||
|
||||
### 结论 ###
|
||||
|
||||
基于上面的测试环境,KVM 的性能损耗几乎都在2%以内,Xen 则在十多项测试中有3项损耗在2.5%以内,而其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这是众多测试中仅有的一项 I/O 测试,如果想证明 KVM 确实在 I/O 处理方面很强悍,就需要更多测试。
|
||||
|
||||
对我来说,我想要深入了解一下 KVM 和 Xen 在 I/O 方面的处理,以及它们之间为什么会有这么大的差别。我也许还会跑一些有竞争的测试,来看看虚拟机在有压力的条件下是否真的能比宿主机表现得更出色。
|
||||
|
||||
我鼓励读者通过使用[Phoronix 测试套件][8]来进行一些基准测试,你们可以找到一些能模仿你们工作环境的用例。如果你的工作环境是低 CPU 高 I/O,你可以找找套件里面的 I/O 压力测试。另一方面,如果你的工作是音频、视频转码,你可以试试套件里面的 x264 或 mp3 测试。
|
||||
|
||||
更新:[Chris Behrens 指出][9],我忘了提到 Xen 虚拟机类型了。这里补充下,我使用的是 PVHVM 模型(LCTT译注:目前支持的模型包括 PV、HVM 和 PVHVM),因为在 Xen 4.3 中这个选拥有最好的性能。另外需要注意的是在 Xen 4.4 中可以使用 PVH,但是在 Fedora 20 中还没有使用 Xen 4.4。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[ReiNoir](https://github.com/reinoir)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.phoronix.com/scan.php?page=article&item=intel_haswell_virtualization&num=1
|
||||
[2]:http://blog.xen.org/index.php/2011/11/29/baremetal-vs-xen-vs-kvm-redux/
|
||||
[3]:http://blog.xen.org/wp-content/uploads/2011/11/overview.png
|
||||
[4]:http://ark.intel.com/products/52269/Intel-Xeon-Processor-E3-1220-8M-Cache-3_10-GHz?q=e3-1220
|
||||
[5]:http://wiki.xen.org/wiki/Xen_Linux_PV_on_HVM_drivers
|
||||
[6]:http://www.infoworld.com/d/virtualization/red-hat-releases-first-kvm-support-rhel-54-376
|
||||
[7]:https://docs.google.com/spreadsheets/d/1kmudbOjCDUgfw76b8qP2GqNqF1ddlTOKyOjc0GmNOIE/edit?usp=sharing
|
||||
[8]:http://www.phoronix-test-suite.com/
|
||||
[9]:https://twitter.com/comstud/status/480785742730252288
|
||||
@@ -0,0 +1,41 @@
|
||||
超算TOP 500的计算性能仍然保持在 33.86 千万亿次/秒
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
天河2号一年以前第一次跳上世界超算舞台,拥有了当时世界上最强计算机的皇冠。当时,天河2号被评测为 33.86 petaflops (千万亿次/秒)。
|
||||
|
||||
整整一年后天河-2 性能指数仍旧保持不变,它仍然坐在世界上最强超级计算机的头把交椅上。
|
||||
|
||||

|
||||
|
||||
在 2013 年 6 月时,世界上第二快的超级计算机是安置于美国能源部橡树岭国家实验室的 Cray Titan。一年前,Titan可飙至 17.59 petaflops。Titan的优秀表现,正如同天河-2一样, 到了2014 年 6 月仍然保持住了他的地位。
|
||||
|
||||
事实上,在最近的一年中,世界上顶尖的前 10 超级计算机的性能排名几乎没有任何改变,至少根据世界超算 500 强名单来看是这样的。
|
||||
|
||||
如果看看名单底部,在超算排行榜的第500名,是德国Deutcher Wetterdienst 的Cray XC30 ,其性能已经逼近 133.7 teraflops (万亿次/秒)。
|
||||
|
||||
TOP500 网站[指出][1],"最新名单上的最后的一个系统其实以前处在20年前世界 500 强排行榜中384位"。"这说明这二十年中列表变化不大。
|
||||
|
||||
|
||||
再次,列表有 85.4%的超级计算机都是英特尔芯片占主导地位的,而 IBM Power 处理器拥有 8%的市场份额。AMD 的占有率目前仅为 6%。
|
||||
|
||||
|
||||
就芯片架构来说,53.6%的超算都使用 8 个或更多核心的CPU, 13.4%的超算则是 10 个或更多的核心的CPU。
|
||||
|
||||
再来看看网络互联,Infiniband和以太网拆分了整个市场。在 2014 年 6 月名单上,Infiniband占据了系统的 44.4%。
|
||||
|
||||
相比之下,据报道千兆以太网有 25.4%的市场份额, 万兆以太网拥有 15%,合计占以太网整体份额的 40.4%。
|
||||
|
||||
惠普和 IBM 再次占领了超级计算供应商的列表。惠普现在占有 36.4%的份额,而 IBM 占有 35.2%。Cray 排名降低,位列第三,占有10.2%的市场份额。
|
||||
|
||||
虽然在世界前 500 的超级计算机榜单排名里面硬件供应商们,芯片体系架构,核心数量和互联方式竞争激烈,但是在选择操作系统的时候,毫无疑问的是,97%的超算都安装了linux操作系统,即top500超算榜单上的485个超算都安装了linux系统。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.serverwatch.com/server-news/top500-supercomputer-remains-stuck-at-33.86-petaflops.html
|
||||
|
||||
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://top500.org/blog/lists/2014/06/press-release/
|
||||
@@ -0,0 +1,201 @@
|
||||
Betty:通过大白话执行Linux命令
|
||||
================================================================================
|
||||
|
||||
**Betty** 是一个将类英语短语翻译成Linux命令的开源工具。这个项目的主要目的是让大家可以通过输入自然语言来使用强大的Linux系统。让我们来看一下它是怎么工作的。
|
||||
|
||||
### 安装 ###
|
||||
|
||||
Betty的安装非常简单直接。首先确认你已经安装了下面这些依赖包[LCTT译注,需要安装至少Ruby1.9以上版本]。
|
||||
|
||||
#### 对于基于Debian的系统:####
|
||||
|
||||
sudo apt-get install git curl ruby
|
||||
|
||||
####对于基于RPM的系统:####
|
||||
|
||||
yum install git curl ruby
|
||||
|
||||
现在用git工具把Betty库clone到你自定义的任何路径。这里我克隆到我的home目录,**例如 /home/sk/**.
|
||||
|
||||
git clone https://github.com/pickhardt/betty
|
||||
|
||||
添加betty的别名到你的bashrc配置文件。
|
||||
|
||||
sudo nano ~/.bashrc
|
||||
|
||||
将下列行添加到文件的末尾:
|
||||
|
||||
alias betty="/home/sk/betty/main.rb"
|
||||
|
||||
确保你已经正确地设置好了betty的路径。
|
||||
|
||||
好了,现在是时候和betty好好地玩耍了。
|
||||
|
||||
### 用法 ###
|
||||
|
||||
你应该在英语短语之前加上单词“betty” [LCTT译注,你自然可以用你的小甜心的名字来替换这个不是知道是谁的Betty :>]。你也许已经知道,如果我们想知道在系统中我们的用户名,应该运行下面的命令:
|
||||
|
||||
whoami
|
||||
|
||||
输出是这样的:
|
||||
|
||||
sk
|
||||
|
||||
如你所见,我当前登录的用户名是 **sk**. 现在我也可以通过下面的betty命令获取相同的结果。
|
||||
|
||||
betty whats my username
|
||||
|
||||
输出是这样的:
|
||||
|
||||
Betty: Running whoami
|
||||
sk
|
||||
|
||||
真的好酷,是不是?Betty理解我输入的“whats my username”短语,然后运行“whoami”命令,最后输出结果。
|
||||
|
||||
让我们也来看其他命令。
|
||||
|
||||
如果你的输入不够准确,Betty也能以多种方式回应你。例如,我们运行下面的命令:
|
||||
|
||||
betty whats my name
|
||||
|
||||
Betty不确定她应该查找系统用户名还是用户全名。这种情况下,她会询问你多个问题来找到准确的结果。如你下面所见,Betty问我想要运行哪一条命令(whoami 还是 finger $(whoami) | sed 's/.*:*//;q')[LCTT译注,需要你的系统已经安装finger]。我只想知道我的用户名,所以我选择数字**1**。
|
||||
|
||||
Betty: Okay, I have multiple ways to respond.
|
||||
Betty: Enter the number of the command you want me to run, or N (no) if you don't want me to run any.
|
||||
[1] whoami
|
||||
Gets your system username.
|
||||
[2] finger $(whoami) | sed 's/.*: *//;q'
|
||||
Gets your full name.
|
||||
1
|
||||
Betty: Running whoami
|
||||
sk
|
||||
|
||||
### 压缩和解压缩文件夹 ###
|
||||
|
||||
如果你想要压缩一个文件或者文件夹,用下面的命令。例如,我想压缩我home目录下的“test”文件夹。
|
||||
|
||||
betty compress test/ test.tar.gz
|
||||
|
||||
输出是这样的:
|
||||
|
||||
Betty: Running tar -czvf test.tar.gz test/
|
||||
test/
|
||||
test/home/
|
||||
test/home/sk/
|
||||
test/home/sk/test/
|
||||
test/home/sk/test/sample
|
||||
|
||||
类似的,我们可以用下面的命令来解压缩一个归档文件。
|
||||
|
||||
betty uncompress test.tar.gz
|
||||
|
||||
输出是这样的:
|
||||
|
||||
Betty: Running mkdir test && tar -zxvf test.tar.gz -C test
|
||||
test/
|
||||
test/home/
|
||||
test/home/sk/
|
||||
test/home/sk/test/
|
||||
test/home/sk/test/sample
|
||||
|
||||
### 完整的Betty命令行列表 ###
|
||||
|
||||
Betty工具有一些命令格式。如果你输入“what is my user name”而不是“whats my username”,它是不能识别的。所以,你只能输入Betty支持的英语短语。
|
||||
|
||||
下面给出一个Betty支持的完整的命令行列表。
|
||||
|
||||
Count:
|
||||
betty how many words are in this directory
|
||||
betty how many characters are in myfile.py
|
||||
betty count lines in this folder
|
||||
(Note that there's many ways to say more or less the same thing.)
|
||||
|
||||
Config:
|
||||
betty change your name to Joe
|
||||
betty speak to me
|
||||
betty stop speaking to me
|
||||
|
||||
Datetime:
|
||||
betty what time is it
|
||||
betty what is todays date
|
||||
betty what month is it
|
||||
betty whats today
|
||||
|
||||
Find:
|
||||
betty find me all files that contain california
|
||||
|
||||
Internet:
|
||||
betty download http://www.mysite.com/something.tar.gz to something.tar.gz
|
||||
betty uncompress something.tar.gz
|
||||
betty unarchive something.tar.gz to somedir
|
||||
(You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)
|
||||
betty compress /path/to/dir
|
||||
|
||||
iTunes:
|
||||
betty mute itunes
|
||||
betty unmute itunes
|
||||
betty pause the music
|
||||
betty resume itunes
|
||||
betty stop my music
|
||||
betty next song
|
||||
betty prev track
|
||||
betty what song is playing
|
||||
(Note that the words song, track, music, etc. are interchangeable)
|
||||
|
||||
Fun:
|
||||
betty go crazy
|
||||
betty whats the meaning of life
|
||||
...and more that are left for you to discover!
|
||||
|
||||
Map:
|
||||
betty show me a map of mountain view
|
||||
|
||||
Meta:
|
||||
betty what version are you (or just betty version)
|
||||
betty whats your github again
|
||||
|
||||
Permissions:
|
||||
betty give me permission to this directory
|
||||
betty give anotheruser ownership of myfile.txt
|
||||
|
||||
Process:
|
||||
betty show me all processes by root containing grep
|
||||
betty show me all my processes containing netbio
|
||||
|
||||
Sizes:
|
||||
betty show size for myfile.txt
|
||||
|
||||
Spotify:
|
||||
betty play spotify
|
||||
betty pause spotify
|
||||
betty next spotify
|
||||
betty previous spotify
|
||||
|
||||
User:
|
||||
betty whats my username
|
||||
betty whats my real name
|
||||
betty whats my ip address
|
||||
betty who else is logged in
|
||||
betty whats my version of ruby
|
||||
|
||||
Web queries:
|
||||
betty turn web on
|
||||
betty please tell me what is the weather like in London
|
||||
|
||||
对Linux初级使用者来说,Betty似乎是一个非常nice的工具。希望这个工具对你也会非常有用。
|
||||
|
||||
Cheers!
|
||||
|
||||
源代码:
|
||||
|
||||
- [Betty Homepage][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/betty-translate-english-phrases-linux-commands/
|
||||
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/pickhardt/betty
|
||||
@@ -0,0 +1,203 @@
|
||||
在Ubuntu下如何创建远程".deb"包仓库
|
||||
================================================================================
|
||||
**Reprepro**是一款小巧的命令行工具来方便地创建并管理**.deb**仓库。今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用**rsync**上传到Sourceforge.net。
|
||||
|
||||

|
||||
|
||||
### 步骤 1: 安装Reprepro并生成key ###
|
||||
|
||||
首先,安装所有需要的包,使用下面的apt-get命令。
|
||||
|
||||
$ sudo apt-get install reprepro gnupg
|
||||
|
||||
现在你需要使用gnupg生成一个gpg key,这里使用下面的命令。
|
||||
|
||||
$ gpg --gen-key
|
||||
|
||||
它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击**回车** 来选择默认选项(建议)
|
||||
|
||||
当然,它会询问你用户名和密码,在脑海中记住这些,因为我们会在之后需要它。
|
||||
|
||||
gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Please select what kind of key you want:
|
||||
(1) RSA and RSA (default)
|
||||
(2) DSA and Elgamal
|
||||
(3) DSA (sign only)
|
||||
(4) RSA (sign only)
|
||||
Your selection?
|
||||
RSA keys may be between 1024 and 4096 bits long.
|
||||
What keysize do you want? (2048)
|
||||
Requested keysize is 2048 bits
|
||||
Please specify how long the key should be valid.
|
||||
0 = key does not expire
|
||||
= key expires in n days
|
||||
w = key expires in n weeks
|
||||
m = key expires in n months
|
||||
y = key expires in n years
|
||||
Key is valid for? (0)
|
||||
Key does not expire at all
|
||||
Is this correct? (y/N) Y
|
||||
|
||||
You need a user ID to identify your key; the software constructs the user ID
|
||||
from the Real Name, Comment and Email Address in this form:
|
||||
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
|
||||
|
||||
Real name: ravisaive
|
||||
Email address: tecmint.com@gmail.com
|
||||
Comment: tecmint
|
||||
You selected this USER-ID:
|
||||
"Ravi Saive (tecmint) <tecmint.com@gmail.com>"
|
||||
|
||||
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
|
||||
You need a Passphrase to protect your secret key.
|
||||
|
||||
We need to generate a lot of random bytes. It is a good idea to perform
|
||||
some other action (type on the keyboard, move the mouse, utilize the
|
||||
disks) during the prime generation; this gives the random number
|
||||
generator a better chance to gain enough entropy.
|
||||
|
||||
+++++
|
||||
gpg: key 2EB446DD marked as ultimately trusted
|
||||
public and secret key created and signed.
|
||||
|
||||
gpg: checking the trustdb
|
||||
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
|
||||
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
|
||||
pub 2048R/2EB446DD 2014-06-24
|
||||
Key fingerprint = D222 B1C9 342E 5911 02B1 9147 3BD6 7918 2EB4 46DD
|
||||
uid Ravi Saive (tecmint) <tecmint.com@gmail.com>
|
||||
sub 2048R/7EF2F750 2014-06-24
|
||||
|
||||
现在你的key已经生成了,要检查一下,用root权限运行这条命令。
|
||||
|
||||
$ sudo gpg --list-keys
|
||||
|
||||
#### 示例输出 ####
|
||||
|
||||
/home/ravisaive/.gnupg/pubring.gpg
|
||||
----------------------------------
|
||||
pub 2048R/2EB446DD 2014-06-24
|
||||
uid ravisaive (tecmint) <tecmint.com@gmail.com>
|
||||
sub 2048R/7EF2F750 2014-06-24
|
||||
|
||||
### 步骤 2: 创建一个包仓库并导出key ###
|
||||
|
||||
我们现在要开始创建仓库,首先你需要创建一些文件夹,我们的仓库会放在**/var/www/apt**目录,让我们先创建这些目录。
|
||||
|
||||
$ sudo su
|
||||
# cd /var/www
|
||||
# mkdir apt
|
||||
# mkdir -p ./apt/incoming
|
||||
# mkdir -p ./apt/conf
|
||||
# mkdir -p ./apt/key
|
||||
|
||||
你现在需要将key导出到仓库文件夹,运行:
|
||||
|
||||
# gpg --armor --export username yourmail@mail.com >> /var/www/apt/key/deb.gpg.key
|
||||
|
||||
注意:用你之前步骤中输入的用户名代替username,用你的email代替上面的yourmail@mail.com。
|
||||
|
||||
我们需要在**/var/www/apt/conf**创建一个文件“**distributions**”。
|
||||
|
||||
# touch /var/www/apt/conf/distributions
|
||||
|
||||
加入下面这几行到distributions这个文件中并保存。
|
||||
|
||||
Origin: (你的名字)
|
||||
Label: (库的名字)
|
||||
Suite: (stable 或 unstable)
|
||||
Codename: (发布的代码名,比如 trusty)
|
||||
Version: (发布的版本,比如 14.04)
|
||||
Architectures: (软件包所支持的架构, 比如 i386 或 amd64)
|
||||
Components: (包含的部件,比如 main restricted universe multiverse)
|
||||
Description: (描述)
|
||||
SignWith: yes
|
||||
|
||||
接下来我们会创建仓库树,运行这些命令:
|
||||
|
||||
# reprepro --ask-passphrase -Vb /var/www/apt export
|
||||
|
||||
#### 示例输出 ####
|
||||
|
||||
Created directory "/var/www/apt/db"
|
||||
Exporting Trusty...
|
||||
Created directory "/var/www/apt/dists"
|
||||
Created directory "/var/www/apt/dists/Trusty"
|
||||
Created directory "/var/www/apt/dists/Trusty/universe"
|
||||
Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
|
||||
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
|
||||
Please enter passphrase:
|
||||
Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
|
||||
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
|
||||
Please enter passphrase:
|
||||
Successfully created '/var/www/apt/dists/Trusty/InRelease.new'
|
||||
|
||||
### 步骤 3: 在新创建的仓库中加入包 ###
|
||||
|
||||
现在准备你的**.deb**包来加入到仓库中。进入 **/var/www/apt**目录,你每次要加包的时候都必须这么做。
|
||||
|
||||
# cd /var/www/apt
|
||||
# reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb
|
||||
|
||||
**注意**:用你在distributions文件中输入的仓库代号来代替**trusty** ,并且用包的路径替换**/home/username/package.deb**,你会被要求输入密码。
|
||||
|
||||
#### 示例输出####
|
||||
|
||||
/home/ravisaive/packages.deb : component guessed as 'universe'
|
||||
Created directory "./pool"
|
||||
Created directory "./pool/universe"
|
||||
Created directory "./pool/universe/o"
|
||||
Created directory "./pool/universe/o/ojuba-personal-lock"
|
||||
Exporting indices...
|
||||
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
|
||||
Please enter passphrase:
|
||||
Successfully created './dists/Trusty/Release.gpg.new'
|
||||
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
|
||||
Please enter passphrase:
|
||||
Successfully created './dists/Trusty/InRelease.new'
|
||||
|
||||
你的包已经加入了仓库,如果要移除它的话采用如下命令:
|
||||
|
||||
# reprepro --ask-passphrase -Vb /var/www/apt remove trusty package.deb
|
||||
|
||||
当然你需要用你的包名与仓库代号来修改命令。
|
||||
|
||||
### 步骤 4: 上传仓库到Sourceforge.net ###
|
||||
|
||||
要上传仓库到**Sourceforge.net**,你当然需要一个可用的账号与一个可用的项目,让我假设你想要上传仓库到**http://sourceforge.net/projects/myfoo/testrepository**,这里的myfoo是项目名(UNIX上的名称,不是URL,不是标题),testrepository是你想要上传文件到这上面的目录,这里我们会使用[rsync 命令][1]。(LCTT译注:当然你也可以上传到其它的支持Http/Rsync的服务器上,以提供远程软件库的服务。)
|
||||
|
||||
# rsync -avP -e ssh /var/www/apt/ username@frs.sourceforge.net:/home/frs/project/myfoo/testrepository/
|
||||
|
||||
**注意**:用你在sourceforge.net上的用户名代替username,用你的项目的UNIX名称代替myfoo,用你想要存储的文件夹代替testrepository。
|
||||
|
||||
现在你的仓库(包括设置和key等等)上传到了**http://sourceforge.net/projects/myfoo/testrepository**。
|
||||
|
||||
要把它加入到一个已装好的系统,首先你需要导入仓库key,它实际上就是**/var/www/apt/key/deb.gpg.key**,但是这是一个本地路径,使用你的仓库的其它用户不能添加到他们的系统中,这就是为什么我们要导入来自sourceforge.net的key的原因。
|
||||
|
||||
$ sudo su
|
||||
# wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -
|
||||
|
||||
你现在可以非常轻松地把仓库加入到系统中了,打开**/etc/apt/sources.list**,并加入下面这行:
|
||||
|
||||
deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main
|
||||
|
||||
**Note**:用你的项目的UNIX类型名称代替myfoo,用你的仓库代码代替trusty,用你上传存储的文件夹代替testrepository,用你在distributionsj加入的仓库组件代替main。
|
||||
|
||||
接下来,运行下面的命令来更新仓库列表。
|
||||
|
||||
$ sudo apt-get update
|
||||
|
||||
**祝贺你**! 你的软件仓库已经激活了!你现在可以非常简单地在你需要的时候安装包了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/create-deb-pacakge-repository-in-ubuntu/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
|
||||
@@ -0,0 +1,57 @@
|
||||
RHEL 7值得注意的5个新特性
|
||||
================================================================================
|
||||
> RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持高达500TB的XFS文件系统。
|
||||
|
||||

|
||||
|
||||
在前一个主版本发布3年之后,经过至少6个月的[公开测试][1],RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。
|
||||
|
||||
### 1. Docker ###
|
||||
|
||||
RHEL 7中最大的新特性就是[紧密集成][2]了广受欢迎的应用程序虚拟化技术[Docker][3]。随着[Docker 1.0发布][4],把它集成到RHEL 7里正是恰逢其时。
|
||||
|
||||
用Docker包装的应用程序可以独立于操作系统,所以它们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。
|
||||
|
||||
从RHEL的Docker路线图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为"[Atomic项目][5]"的计划还处于早期阶段,红帽公司准备首先将它部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。
|
||||
|
||||
### 2. Systemd ###
|
||||
|
||||
引入systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。systemd就被开发用于替代自专用Unix出现以来就在使用的init系统,它使得启动过程中装载服务更加高效。
|
||||
|
||||
因为systemd可能会带来一些不适,红帽公司没有马上在RHEL上使用systemd。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有孤立地加入RHEL 7,而是作为这个OS大计划的一部分。例如,红帽公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。
|
||||
|
||||
### 3. 默认使用 XFS ###
|
||||
|
||||
第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。
|
||||
|
||||
最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux [也支持XFS][6],尽管它安装时[默认使用ext3][7]。
|
||||
|
||||
非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。
|
||||
|
||||
### 4. 兼容微软的身份管理 ###
|
||||
|
||||
就算是那些不是微软系统粉丝的管理员也对微软目录服务保持一定的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务(AD)的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。
|
||||
|
||||
### 5. 性能监控(PCP:Performance Co-Pilot) ###
|
||||
|
||||
进行性能调整的时候看不到实时数据就像是开着一辆挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP([Performance Co-Pilot][8]),PCP最初由Silicon Graphics International(硅谷图形)[创建][9],但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。
|
||||
|
||||
遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的性能最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023
|
||||
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520
|
||||
[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122
|
||||
[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716
|
||||
[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935
|
||||
[5]:http://www.projectatomic.io/
|
||||
[6]:https://www.suse.com/products/server/technical-information/
|
||||
[7]:https://www.suse.com/products/server/technical-information/
|
||||
[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/
|
||||
[9]:http://oss.sgi.com/projects/pcp/index.html
|
||||
58
published/201407/20140626 Joy of Programming--Fail Fast.md
Normal file
58
published/201407/20140626 Joy of Programming--Fail Fast.md
Normal file
@@ -0,0 +1,58 @@
|
||||
编程的乐趣:快速终止!
|
||||
================================================================================
|
||||

|
||||
|
||||
> 当软件出现问题的时候,它应该以一种很容易引起注意的方式马上终止。这种“快速终止”的方式值得借鉴,我们会在这期专栏里谈谈这个重要的概念。
|
||||
|
||||
一开始,“快速终止”看上去是一种会影响可靠性的不好的实践——为什么一个系统在还可以继续运行的时候要崩溃(或者说终止)?对于这个,我们需要理解,快速终止是和Heisenbugs(对于不易复现bug的一种称呼)紧密联系在一起的。
|
||||
|
||||
考虑一下Bohrbugs(对于能够重现的bug的一种称呼),它们在一个给定输入的条件下总是会出现,比如,访问空指针。这类问题很容易测试、复现并修复。而如今,所有有经验的程序员应该都面对过这样的情形:导致崩溃的bug在重启软件后就不再出现了。不管花多少时间或努力去重现问题,那个bug就是跟我们捉迷藏。这种bug被称为Heisenbugs。
|
||||
|
||||
花在寻找、修复和测试Heisenbugs上的努力比起Bohrbugs来说,要高出一个数量级。一种避免Heisenbugs的策略是将它们转化为Bohrbugs。怎么做呢?预测可能导致Heisenbugs的因素,然后尝试将它们变成Bohrbugs。是的,这并不简单,而且也并不是一定可行,但是让我们来看一个能产生效果的特殊例子。
|
||||
|
||||
并发编程是Heisenbugs经常出现的一个典范。我们的例子就是一个Java里和并发相关的问题。在遍历一个Java集合的时候,一般要求只能通过Iterator的方法对集合进行操作,比如remove()方法。而在遍历期间,如果有另一个线程尝试修改底层集合(因为编程时留下的错误),那么底层集合就可能会被破坏(例如,导致不正确的状态)。
|
||||
|
||||
类似这种不正确的状态会导致不确定的错误——假如我们幸运的话(实际上,这很不幸!),程序可以继续执行而不会崩溃,但是却给出错误的结果。这种bug很难重现和修复,因为这一类的程序错误都是不确定的。换句话说,这是个Heisenbug。
|
||||
|
||||
幸运的是,Java Iterators会尝试侦测这种并发修改,并且当发现时,会抛出异常`ConcurrentModificationException`,而不是等到最后再出错——那样也是没有任何迹象的。换句话说,Java Iterators也遵从了“快速终止”的方法。
|
||||
|
||||
如果一个`ConcurrentModificationException`异常在正式版软件中发生了呢?根据在Javadoc里对这个异常的说明,它“只应该被用于侦测bug”。换句话说,`ConcurrentModificationException`只应该在开发阶段监听和修复,而不应该泄漏到正式代码中。
|
||||
|
||||
好吧,如果正式软件确实发生了这个异常,那它当然是软件中的bug,应当报告给开发者并修复。至少,我们能够知道曾经发生过一次针对底层数据结构的并发修改尝试,而这是软件出错的原因(而不是让软件产生错误的结果,或是以其他现象延后出错,这样就很难跟踪到根本原因)。
|
||||
|
||||
“防止崩溃”的途径就意味着开发健壮的代码。一个很好的编写容错代码的例子就是使用断言。很可惜的是,关于断言的使用有大量不必要的公开争论。其中主要的批评点是:它在开发版本中使用,而在发布版中却被关掉的。
|
||||
|
||||
不管怎么样,这个批评是错误的:从来没有说要用断言来替代应该放到发布版软件中的防御式检查代码。例如,断言不应该用来检查传递给函数的参数是否为空。相应的,应该用一个if语句来检查这个参数是否正确,否则的话抛出一个异常,或是提前返回,来适合上下文。然而,断言一般可以用于额外检查代码中所作出的假设,这些假设应该一直为真才正常。例如,用一个语句来检查在进行了入栈操作后,栈应该不是空的(例如,对“不变量”的检查)。
|
||||
|
||||
所以,快速终止,随时中断,那么你就走在开发更加健壮代码的道路上了。
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via:http://www.opensourceforu.com/2011/12/joy-of-programming-fail-fast/
|
||||
|
||||
译者:[zpl1025](https://github.com/zpl1025) 校对:[ReiNoir](https://github.com/reinoir)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:
|
||||
[2]:
|
||||
[3]:
|
||||
[4]:
|
||||
[5]:
|
||||
[6]:
|
||||
[7]:
|
||||
[8]:
|
||||
[9]:
|
||||
[10]:
|
||||
[11]:
|
||||
[12]:
|
||||
[13]:
|
||||
[14]:
|
||||
[15]:
|
||||
[16]:
|
||||
[17]:
|
||||
[18]:
|
||||
[19]:
|
||||
[20]:
|
||||
@@ -0,0 +1,104 @@
|
||||
主流搜索引擎闯入Linux命令行世界
|
||||
================================================================================
|
||||
(LCTT译注:这里,我们姑且认为您身处能够访问Internet的地方!)
|
||||
|
||||
为什么会有人要从终端搜索互联网上的东西?我不清楚,这里头可能有许多的原因。但是,因为没人要求答案总比没人知道答案少令人失望一点。这里,列出了一些流行的搜索引擎的命令行工具,可以让你们通过Linux终端来访问它们。
|
||||
|
||||
### 1. Google ###
|
||||
|
||||
让我们从一个巨头开始吧:Bing!好吧,只是开个玩笑,事实上应该是Google。坦白讲,你根本不需要使用命令行工具来进行Google搜索。只需要简简单单的一个命令:
|
||||
|
||||
$ xdg-open https://www.google.com/search?q="[query]"
|
||||
|
||||
|
||||
它会打开网页浏览器,并转到合适的搜索页面。然而,如果你想要的是从终端窗口查看搜索结果,而不是打开什么网页浏览器,那么我推荐你使用[cli-google][1]。它是一个超级老古董了(最后一次更新是在2009年),但我喜欢它。这是一个简单而直接的应用,它会忠实地干好它应该干的事。
|
||||
|
||||
安装完cli-google后,你就可以开始用它来搜索了,它的输出是那样的五彩斑斓。你也可以调整搜索结果的数量和你想要的语言,你只需要在终端中敲入:
|
||||
|
||||
$ google
|
||||
|
||||
就可以看到所有的选项了。
|
||||
|
||||

|
||||
|
||||
### 2. YouTube ###
|
||||
关于Google,有太多的东西要放进列表来。我会尽量简明扼要,但绝不会放过该有的。对于许多人而言,YouTube是他们快速查找相关内容视频的首选。要在终端中完成此事,我则钟情于[mps-youtube][2]。这个软件可以让你在终端中搜索、下载视频,创建播放列表,以及查看关于视频的评论。安装完mps-youtube后,你可以使用下面的命令来启动:
|
||||
|
||||
$ mpsyt
|
||||
|
||||
然后,输入 h 来查看选项。要查看简明用法,你可以像下面这样:
|
||||
|
||||
/[query]
|
||||
|
||||
来搜索你想知道的一切,然后输入视频的编号来听听它的声音,或者输入:
|
||||
|
||||
i [video-number]
|
||||
|
||||
来看看相关信息,也可以输入:
|
||||
|
||||
d [video-number]
|
||||
|
||||
来下载它。如果你觉得光听还不过瘾,这里还有更好玩的:
|
||||
|
||||
set player mplayer
|
||||
set show_video True
|
||||
|
||||
现在,你可以在另外一个窗口里头用mplayer来播放视频了。
|
||||
|
||||

|
||||
|
||||
### 3. 维基百科 ###
|
||||
与Google一样,对于维基百科,我也喜欢一个古老的脚本,它干的不赖:[cliWiki][3]。安装完后,赶紧运行一下看看:
|
||||
|
||||
$ cliwiki
|
||||
|
||||
然后,你就可以输入你想要搜索的内容了。如果有直接匹配的条目,终端中就会显示相关页面了。哈,输出内容可真够长的,建议你还是用less命令来看吧。当然,这不是最高效的方法,但你的母的只是想要查看与关键词相关的文本,那这就是你想要的。
|
||||
|
||||

|
||||
|
||||
### 4. 海盗湾 ###
|
||||
现在,让我们聊聊龌龊的东西。网上有很多意想不到的(也许你不觉得)工具,可以帮助你在命令行下查找海盗湾上的种子。而在这其中,[pirate-get][4]是我的最爱。它里面蕴藏了大量的选项,你可以通过下面的命令来发现它们:
|
||||
|
||||
$ pirate-get -h
|
||||
|
||||
但是还是简单一些吧:
|
||||
|
||||
$ pirate-get --color -c [category] [query]
|
||||
|
||||
以上命令会返回与查询内容相关的特定搜索类目中的结果,输出结果也是彩色的!那里头,程序会提示你输入你想要的结果的编号,输入后就可以从磁链上下载种子了。简单又容易,仅限于没有版权的资料哦!
|
||||
|
||||

|
||||
|
||||
### 5. Twitter ###
|
||||
Twitter是迎合潮流的一个很好的搜索引擎。我们已经在[如何在命令行中访问Twitter][5]一文中介绍了它的用法,但是我个人更喜欢[TTYtter][6]。该工具及其强大,它应该有它自身的一席之地,而不再仅仅用于简单搜索了。但在这里,我只想把它当作搜索引擎使用。安装并配置完后,你就可以登陆进去,并使用下面的命令来搜索了:
|
||||
|
||||
/search [query]
|
||||
|
||||
界面在视觉上有点粗糙,但是你很快会习惯的。注意,这里头只能用普通的文字,也可以用哈希标记。
|
||||
|
||||

|
||||
|
||||
最后来小结一下吧,这里列出了我认为人们使用最多5大搜索引擎,这些搜索引擎都可以通过命令行来访问。这里Google图像和Google地图可能缺席了,但我想这些可能不能很好适应控制台环境吧。我也想要寻找一个音乐搜索引擎,但是没有找到对于本列表“有价值的”。就像你可能已经注意到的那样,列表中的工具在功能和选项上是良莠不齐的:其中一些很简单,而另外一些则功能很复杂。但不管怎么说,最后它们都还是完成了它们的任务。
|
||||
|
||||
列表中错失了哪些搜索引擎?你还知道哪些没有提到过的工具呢?请在文章评论中告诉我们吧。
|
||||
|
||||
----------
|
||||
|
||||
#### Adrien Brochard ####
|
||||
|
||||
我是一位来自法国的Linux爱好者。在尝试了多个发行版后,我最后认可了Archlinux。然而,我一直在试着通过积累一些知识和技巧来改善我的系统。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/henux/cli-google
|
||||
[2]:https://github.com/np1/mps-youtube
|
||||
[3]:https://github.com/AnirudhBhat/cliWiki.py
|
||||
[4]:https://github.com/vikstrous/pirate-get
|
||||
[5]:http://xmodulo.com/2013/12/access-twitter-command-line-linux.html
|
||||
[6]:http://www.floodgap.com/software/ttytter/
|
||||
@@ -0,0 +1,49 @@
|
||||
KDE Connect增加了安卓文件发送、触摸板模拟等功能
|
||||
================================================================================
|
||||
|
||||

|
||||
|
||||
通过安卓版的KDE和Plasma Desktop可以将所连接设备的触摸屏当作电脑的触摸板使用。(注:Plasma 是KDE项目提供的所有图形环境总称。目前有三个Plasma子项目:Plasma Desktop用于传统的桌面电脑和笔记本电脑、Plasma Netbook用于上网本,以及Plasma Active用于平板电脑。)
|
||||
|
||||
这个新附加的无线输入设备可以作为一般的鼠标使用,不过仍然不支持像双指划动或双指右击这样的多点触摸。(LCTT译注:双指右击指在触摸板上双指同时双击,代表鼠标右键点击)
|
||||
|
||||
安卓的共享方式现在支持KED Connect,允许你从安卓发送文件到你的桌面,也可以通过Dolphin文件管理的菜单或者用命令行推送文件的方式,从桌面发送文件到安卓。
|
||||
|
||||
在[iOS 8 和 OS X Yosemite][1]、 [Android ‘L’ 和 Chrome OS][2]上的类似支持,计划在这个秋天首次亮相。
|
||||
|
||||
本次更新的版本修复了很多的漏洞,包括很多的改进和对FreeBSD系统的支持。
|
||||
|
||||
完整的特性如下:
|
||||
|
||||
- 在安卓和KDE之间共享文件
|
||||
- 用平板电脑模拟触摸板
|
||||
- 在桌面接收来自安卓4.3以上版本的通知
|
||||
- 共享剪切板支持手机和PC之间的拷贝、粘贴
|
||||
- 可以遥控桌面上选定的媒体播放器
|
||||
- 电池状态
|
||||
- WI-FI连接共享
|
||||
- RSA加密
|
||||
|
||||
### KDE Connect 0.7版下载 ###
|
||||
|
||||
从Google Play和F-Droid商店可以免费下载到KDE Connect Android的应用。
|
||||
|
||||
- [ 从Google Play下载KDE Connect][3]
|
||||
|
||||
为了能用到这些最新特征,你需要安装Plasma的最新版本KDE Connect(0.7版)。撰写本文时,还没有提供deb安装包和PPA源。不过可以在Kubuntu 14.04 LTS上通过安装源码来安装,或用以下介绍方式[戳这里][4]。
|
||||
|
||||
- [下载KDE Connect 0.7源代码][5]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
点击: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop
|
||||
|
||||
译者:[bookjoy](https://github.com/bookjoy) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2014/06/os-x-10-10-feature-ubuntu-already
|
||||
[2]:http://www.omgchrome.com/android-apps-notifications-call-alerts-chromebook/
|
||||
[3]:https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp
|
||||
[4]:https://albertvaka.wordpress.com/2014/06/28/awesome-contributions-to-kde-connect/#comment-1175
|
||||
[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist
|
||||
@@ -0,0 +1,34 @@
|
||||
Linux 播客软件‘Vocal’进入Beta阶段,准备测试
|
||||
================================================================================
|
||||
**在四月份我们就被一款叫做['Vocal'][1]的Ubuntu下的播客软件吸引了,但它从一个漂亮的草图到能真正可用,还有一段路要走,而你则可以帮助我们测试一下Vocal。**
|
||||
|
||||
该软件的开发者,Nathan Dyer已经完成了一个beta版本,仍然不够稳定,其中还有很多功能也未完成,但它已经可以通过专用的PPA在Ubuntu 14.04 LTS以及14.10版本下进行测试了。
|
||||
|
||||
新闻的发布者宣称,这个beta版本只能**安装在下一代Elementary OS桌面的系统中**。并且自从Elementary OS不再为用户提供官方的Beta预览版后,让测试这事更加的麻烦了。
|
||||
|
||||
对于Unity、GNOME或者KDE来说试试也许并不太难,我想大概。如果你是Ubuntu的用户,想要试用Vocal,首先得安装不稳定版的Elementary OS的PPA,通常我们都不是很建议这样做。
|
||||
|
||||
Dyer建议感兴趣的用户等待下一代的Elementary OS桌面的beta版本开发完毕吧。
|
||||
|
||||
现在,我们只能望梅止渴了。
|
||||
|
||||

|
||||
|
||||
Vocal Beta 在 Elementary OS中(图: Dyer)
|
||||
|
||||
因为Vocal是开源的,那将没有任何东西能阻挡它被完美的移植到类似Unity的主流Linux桌面系统中。
|
||||
|
||||
了解更多请访问[开发者的Blog][1]、[查看最新版本][2]或者在Launchpad.net上[查看Vocal的最新信息][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker
|
||||
|
||||
译者:[nd0104](https://github.com/nd0104) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux
|
||||
[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/
|
||||
[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily
|
||||
[4]:https://launchpad.net/vocal
|
||||
@@ -0,0 +1,67 @@
|
||||
Ubuntu 14.04 LTS: 定制 Unity
|
||||
================================================================================
|
||||
虽然Unity桌面管理器自从伴随 Ubuntu 11.10首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们现在来看看如何自定义Unity,让你重拾自己掌控桌面的感觉。
|
||||
|
||||
### Unity中的可用定制项目 ###
|
||||
|
||||
在ubuntu 14.04中,Unity 有一些以前没有的可定制项。登入你的 Unity,进入“设置”并选择“显示”,你将看到以下画面:
|
||||
|
||||

|
||||
|
||||
Ubuntu 14.04 LTS 显示和 Unity 设置
|
||||
|
||||
你看到的大多数项目相比 Ubuntu 11.01 而言都是新的,而且一些相比较上一个版本的 Ubuntu13.10 也是新的。从Ubuntu13.10开始,Ubuntu加入了可以改变菜单栏和标题栏大小的新特性。
|
||||
|
||||
Unity中所特有的一个特性是我们能够打开或者关闭的“粘性边缘”功能,它能让你的鼠标停止在多显示器组的每个屏幕的边缘,它使光标暂时停在边缘,仿佛是鼠标卡住了一样,我们可以选择关闭它。(LCTT译注,其实我觉得挺有用的,可以避免无意中切换到其他工作桌面,不要关闭)
|
||||
|
||||
在“设置”中选择“外观”选项,可以看到如下画面。
|
||||
|
||||

|
||||
|
||||
Ubuntu 14.04 LTS 显示和Unity设置
|
||||
|
||||
这里我们可以看到一个人们最渴望在 Unity 启动器栏中包含的功能-能够改变启动器大小。虽然在Ubuntu 11.10及以后的各种版本中可以通过多种方法实现这个特性,但将其放入外观设置中使其显得更加正式。我喜欢它能将启动器图标缩小直至16的功能(我们接下来所要讲到的工具仅能支持最小调至24)。
|
||||
|
||||
### Unity Tweak Tool-强大! ###
|
||||
|
||||
在Unity首次伴随Ubuntu 11.10发布的几天之内这款工具就跟着出现了,只是你得大费周折去自己把它安装好而且在Unity升级时它可能会损坏。
|
||||
|
||||
然而现在它被正式添加进了Ubuntu的默认软件仓库并且会在Unity更新时同时更新。它附带大量的定制项,那么我们就来安装它吧:
|
||||
|
||||
sudo apt-get install unity-tweak-tool
|
||||
|
||||
安装好,启动后你将看到如下画面:
|
||||
|
||||

|
||||
|
||||
正式的Unity Tweak Tool
|
||||
|
||||
这款工具它集大量Unity桌面定制项目于一体。这些定制项大多能通过默认的Unity设置,命令行操作或者是即使是编辑有时候也很难寻找到的配置文件来实现。
|
||||
|
||||
我们可以改变启动器栏,网页小程序和面板的行为,可以在Unity菜单中搜索等等。所有的都通过着一个工具来实现。花些时间去挖掘适合你的选项-Unity Tweak Tool-学习它,和它一起生活,爱上它(如果你使用Unity,这是起码的)
|
||||
|
||||
### 结尾的一些想法 ###
|
||||
|
||||
Ubuntu 14.04 LTS 越来越被人们视作Linux上的典型的Desktop,(对不起,Canonical,你还没有摆脱Linux身份),Linux Desktop不仅可以作为偶尔使用Linux的那些人(的确有这样的事)的选择,也适用于骨灰级linux专家。
|
||||
|
||||
比之前没有工具,功能可以定制,或是通过配置文件修改定制但是有可能被之后个更新所破坏,现在对于Unity桌面我们就拥有了更多的控制权。Unity桌面性能强劲可靠,又通过Unity Tweak Tool加入一些特色元素,使得它的外观也酷极了!!!
|
||||
|
||||
请给我们你的想法或者点击链接发表你对Unity桌面的评论,我们将有兴趣知道你是如何使用Ubuntu 14.04 LTS 的。
|
||||
|
||||
|
||||
----------
|
||||
|
||||
#### Terrence T. Cox ####
|
||||
|
||||
开发者,Linux倡导者,开源爱好者。 进入这个技术领域很久,被认为经验丰富,但从未感到厌倦。
|
||||
[Twitter][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/
|
||||
|
||||
译者:[Love-xuan](https://github.com/Love-xuan) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://twitter.com/mourngrymtc/
|
||||
68
published/201407/20140701 Command Line Tuesdays--Part Two.md
Normal file
68
published/201407/20140701 Command Line Tuesdays--Part Two.md
Normal file
@@ -0,0 +1,68 @@
|
||||
命令行星期二 —— 第二篇
|
||||
================================================================================
|
||||
Hi,极客们!
|
||||
|
||||
让我们来更新一下我们的记忆。[上周][1],我们学习了一些基础命令,了解了shell是什么,同时介绍了我们CLI的星期二系列。
|
||||
|
||||
今天的菜单将提供点别的东西:通过文件系统导航。
|
||||
|
||||
现在,我设法找到最好的图片是从一个叫[devopsbootcamp][2]的网站。你可以在上面找到他们其余的教程。但无论如何,这是一个关于Linux根文件系统的看起来非常不错的图。
|
||||
|
||||

|
||||
|
||||
例如,在上面的图片说明中,你的用户目录(你通常用来存储你的电影,音乐,文档等)是位于/home文件夹下。 /home文件夹位于/。然后,/下有个 /etc 文件夹,其中文件大部分为配置文件。无论如何,你可以在这里找到详细的描述,因为我们将进入这些文件夹来了解他们的功能,直到我们开始使用和配置它们。今天是仅用于导航。而关于这一点,让我们来开始今天的第一个命令...
|
||||
|
||||
### pwd ###
|
||||
|
||||
pwd,或者 ‘Print Working Directory’,当你觉得在文件丛林之中迷失了方向时是一个非常有用的命令。在任何给定时刻,键入pwd命令,瞧!这是你到达这个文件夹的完整路径。在电影《异次元杀阵(The Cube)》里的那些家伙总在用它,这些笨蛋!
|
||||
|
||||

|
||||
|
||||
|
||||
想象一下,自己在一个巨大的公寓里面从一个房间走到另一个房间房间,迷路了。 pwd就像面包屑指引着你到你的出发点,这样你就不会在文件夹迷宫里面失去你的方向!
|
||||
|
||||

|
||||
|
||||
### cd ###
|
||||
|
||||
现在你学习了如果想知道自己在哪个目录的pwd命令的用法。现在,你要做的下一步骤就是移动到另一个目录。比方说,你在你的home文件夹下有一个文件夹(目录),你要将你的绝密的东东放到里面。要这样做,你需要使用用'cd'命令。 cd,或‘Change Directory’,将改变所处目录的位置。你怎么使用它呢?简单,键入cd和你的文件夹路径。比方说,例如,你想从你的主文件夹进入你的Hello Kitty图片集。你输入‘cd /home/username/Hello\ Kitty’。
|
||||
|
||||
正如你看到的,我们并没有只使用文件夹名称的空格键。这是因为终端将无法识别它。每当你要导航到它的名称中有空格的文件夹,你**用反斜杠字符,后跟空格**代替它。您也可以不使用反斜杠+空格选项,只是把**整个文件夹名称加引号**,例如,cd /home/username/ "Hello Kitty"。
|
||||
|
||||

|
||||
|
||||
自己尝试一下。使用cd导航到不同的目录,同时,键入pwd命令,看看一切工作是否如期望的那样。
|
||||
|
||||
### 肖茨先生的快捷键 ###
|
||||
|
||||
肖茨先生提醒我们也有一些可用的快捷键。
|
||||
|
||||
如果你仅键入cd,不带路径,你的终端将从你的工作目录(无论是不是)切换到你的/home文件夹。
|
||||
|
||||
同样地,如果你键入 cd `~user_name` 它会带你到你指定的特定用户的主文件夹。
|
||||
|
||||
### 下周 ###
|
||||
|
||||
下周,我们将进入到下一章 - 我们将学习如何列出文件和目录,查看文本文件和文件的内容,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。一条命令又一条命令,如果你没有时间自己学习的话,那让我们在几个月内一起学习基础知识吧!
|
||||
|
||||
同时,记得...
|
||||
|
||||
### …玩得开心! ###
|
||||
|
||||
P.S.:感谢bwl的评论,我们修正了一个在目录名称中包含空格的文本的一个错误。
|
||||
|
||||
P.P.S:GreatEmerald还增加了有关文件层次结构的一些新信息。您可以在[意见][3]中阅读。
|
||||
|
||||
感谢你们的贡献和更正
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/
|
||||
|
||||
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-3300-1.html
|
||||
[2]:http://devopsbootcamp.readthedocs.org/
|
||||
[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186
|
||||
@@ -0,0 +1,39 @@
|
||||
五个超赞的字符艺术生成器!
|
||||
================================================================================
|
||||

|
||||
|
||||
ASCII是一个非常吸引人的字符编码系统,在计算机,通讯设备,以及其他设备中,通过它来用代码表示字符。新生代的人可能会觉得它已经过时了,但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。
|
||||
|
||||
### 1.[GlassGiant ASCII Art][1] ###
|
||||
|
||||
这个小程序可以把图片转换成ASCII文字艺术-一堆胡乱堆在一起的文字,数字和符号,看上去没有任何意义,直到你往后站一步去看完整的画面。它也没有什么实际的用途,只是看上去非常简洁灵巧。
|
||||
|
||||
### 2.[ASCII Art Generator][2] ###
|
||||
|
||||
ASCII字符艺术是一种在电脑上把可打印字符作为图片元素来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片,然后它会帮你转成ASCII字符艺术。
|
||||
|
||||
### 3.[Ascii.mastervb][3] ###
|
||||
|
||||
ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在70-80年代很流行。在那个时候,计算机系统都还是基于字符的。这个程序可以非常快地把图片转换成ASCII字符。
|
||||
|
||||
### 4.[IMG2TXT][4] ###
|
||||
|
||||
这个脚本可以将GIF,JPG或PNG的链接转换成ASCII字符或是带颜色的HTML。
|
||||
|
||||
### 5.[picascii][5] ###
|
||||
|
||||
它可以把图片转换成ASCII文本或是HTML。要做转换,你只需要输入链接地址或是选择一张你电脑上的图片(gif/jpeg/png)。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.efytimes.com/e1/fullnews.asp?edid=142480
|
||||
|
||||
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://glassgiant.com/ascii/
|
||||
[2]:http://www.ascii-art-generator.org/
|
||||
[3]:http://ascii.mastervb.net/
|
||||
[4]:http://www.degraeve.com/img2txt.php
|
||||
[5]:http://picascii.com/
|
||||
@@ -0,0 +1,42 @@
|
||||
[小白技巧]如何在Ubuntu 14.04中添加多个时区时间
|
||||
================================================================================
|
||||
如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。
|
||||
|
||||
在这次的使用技巧中,我们会了解到 **如何在Ubuntu 14.04系统中添加多时区时间**。
|
||||
|
||||
### 在Ubuntu 14.04系统中添加多时区时间 ###
|
||||
|
||||
打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入“时间&日期”选项。
|
||||
|
||||
接下来,进入**时钟**标签页,找到**其他时区时间**选项,然后点击**选择地区**按钮。
|
||||
|
||||

|
||||
|
||||
在新打开的窗口中,你可以**输入一个地区**,之后相应的结果会在下面显示出来。选择你想添加的地区,然后**点击下面的加号标志(+)**来添加。
|
||||
|
||||

|
||||
|
||||
完成了这些工作之后,你就可以在系统时钟处看到其他地区的时间了。
|
||||
|
||||

|
||||
|
||||
体验下Ubuntu多时区时钟给你带来的便捷吧。:)
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
#### 关于 Abhishek ####
|
||||
|
||||
我叫Abhishek Prakash,是It's F.O.S.S的创始人。我获得了通信系统工程硕士学位。我是一个狂野的Linux爱好者和开源痴迷者。我在使用Ubuntu系统并且希望和大家分享知识和经验。出了Linux,我还很喜欢经典侦探悬疑电影。我是阿加莎-克里斯蒂的超级粉丝。你可以在[Google Plus][g]上添加我到你的好友圈,也可以[在twitter上关注 @abhishek_pc][t]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/
|
||||
|
||||
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[g]:https://plus.google.com/u/0/110180944531110746460
|
||||
[t]:https://twitter.com/abhishek_pc
|
||||
@@ -0,0 +1,112 @@
|
||||
安装体验开源车载系统Automotive Grade Linux
|
||||
================================================================================
|
||||
> Linux基金会和他的合作伙伴本周发布了Automotive Grade Linux的第一个版本,这是一个在连网汽车内部使用的开源平台。
|
||||
|
||||

|
||||
|
||||
随着本周 [Automotive Grade Linux][1](AGL)的第一个版本的发布,这个在物联网时代专为汽车定制的Linux发行版将转变为一个新的生态系统。
|
||||
|
||||
AGL是由Linux基金会发起的合作项目,Linux基金会汇集了来自汽车行业,通信,计算硬件,学术界和其他领域的合作伙伴。AGL的第一个版本于6月30号发布在网上并且在可[免费下载][5],这个开源操作系统基于[Tizen IVI][4]。Tizen IVI是一个基于Linux的平台,它被用于为广泛的设备提供操作系统解决方案,从智能手机,到电视,汽车,笔记本电脑。
|
||||
|
||||

|
||||
|
||||
在第一个版本中,AGL提供了一系列的功能和为汽车(或其他车辆)部署定制的应用程序,包括:
|
||||
|
||||
- 主屏幕
|
||||
- 仪表盘
|
||||
- 谷歌地图
|
||||
- 暖通空调
|
||||
- 媒体回放
|
||||
- 新闻阅读器
|
||||
- 音响控制
|
||||
- 蓝牙手机
|
||||
- 智能设备连接集成
|
||||
|
||||
Linux基金会和他的参与AGL项目的合作伙伴希望这个解决方案将帮助确保未来“连网汽车”使用开源软件以提供下一代娱乐,导航和其他车内使用的工具。“公开和合作是促进一个公共的,标准的汽车平台发展的关键,以便这个产业可以更快速地实现供连网汽车使用的愿望。”Linux基金会的汽车总经理Dan Cauchy这样说。
|
||||
|
||||
Cauchy补充道,Linux基金会期望AGL是一个良好的开端,其合作者希望在以后的版本中能加入“一些额外的功能和特点。”
|
||||
|
||||
## 下载和安装测试 ###
|
||||
|
||||
### 下载 ###
|
||||
|
||||
可以从此下载镜像:http://content.linuxfoundation.org/auto/downloads/images/
|
||||
|
||||
支持在PC上测试,也提供了Vmware镜像。
|
||||
|
||||
### 安装在X86上 ###
|
||||
|
||||
**创建一个USB启动盘**
|
||||
|
||||
1. 下载GPartd Live 镜像的压缩文件:http://gparted.sourceforge.net/download.php 。
|
||||
2. 使用FAT32文件系统格式化一个最少8GB的U盘。
|
||||
3. 解压 GPartd Live镜像的压缩包,并复制全部内容到U盘。保持完整的目录格式,比如你可以确认GPL这个文件是不是在U盘的根目录。
|
||||
4. 把U盘变成可启动的,根据你使用的系统不同而不同:
|
||||
a) Linux: 执行U盘里 utils/linux 目录下的 makeboot.sh 。
|
||||
b) Windows: 执行U盘里 utils\win32 目录下的 makeboot.bat 。
|
||||
5. 按 脚本提示执行。
|
||||
6. 复制 [AGL 演示镜像][6]到U盘。
|
||||
|
||||
**安装到机器上**
|
||||
|
||||
注意:这会破坏你的机器上的所有数据!所以请确保机器上的硬盘上的数据是无用的。
|
||||
|
||||
1. 使用刚刚制作好的 GPartd U盘启动系统。
|
||||
2. 默认运行 GPartd (所有选项直接回车确认即可)
|
||||
3. 打开一个终端,并复制镜像内容到机器的硬盘:
|
||||
gunzip -c agl-demo_1-0.img.gz | dd of=/dev/sda bs=16M
|
||||
4. 关闭终端。
|
||||
5. 在 GPartd 窗口,刷新设备。
|
||||
6. 将 /dev/sda3 的大小扩展到整个硬盘的可用空间。
|
||||
7. 关机。
|
||||
8. 拔下U盘。
|
||||
9. 重启!
|
||||
|
||||
|
||||
### 创建VMware虚拟机 ###
|
||||
|
||||
在 64位Windows 7和32位Windows XP上的 VMware Player 5 测试通过。
|
||||
|
||||
1. 下载 VMWare Player: http://www.vmware.com/products/player
|
||||
2. 解压缩 [AGL VMWare image][7]
|
||||
3. 在 VMware 中增加新的虚拟机:
|
||||
|
||||
1. 选择“我将稍后安装操作系统”
|
||||
2. 使用 'Linux' -> 'Fedora'
|
||||
3. 给个名字,比如: tizen-ivi-2.0
|
||||
4. 创建一个新的磁盘,不过这个磁盘我们稍后会删除并重建一个新的
|
||||
(将\<image.vmdk\> 作为 IDE(0:0) 设备添加)
|
||||
5. 创建好虚拟机之后,然后“编辑虚拟机设置”
|
||||
6. (可选)取消CD/DVD的“启动后连接”的选项(除非你的宿主机上有这个设备)
|
||||
7. (可选)取消打印机的“启动后连接”的选项
|
||||
8. 删除虚拟机当前的硬盘
|
||||
9. 添加一个新的硬盘
|
||||
10. 选择“使用已有的虚拟磁盘”,使用那个解压缩得到文件
|
||||
11. 当第一次启动虚拟机时,如果询问你是否要升级当前格式时,选择“保持现在的格式”
|
||||
4. 运行:
|
||||
1. 启动虚拟机
|
||||
2. 系统启动后显示一个黑屏,在桌面上任何地方右键点击并打开一个终端
|
||||
3. 运行如下命令
|
||||
./start_demo.sh
|
||||
这会调整屏幕分辨率,打开声音,启动node.js引擎,并最终显示界面。
|
||||
|
||||
### 更多的演示截图 ###
|
||||
|
||||
请参看我们之前的一篇文章:http://linux.cn/article-3324-1.html
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://automotive.linuxfoundation.org/
|
||||
[2]:http://linuxfoundation.org/
|
||||
[3]:http://automotive.linuxfoundation.org/
|
||||
[4]:https://www.tizen.org/
|
||||
[5]:http://automotive.linuxfoundation.org/node/add/downloads
|
||||
[6]:http://content.linuxfoundation.org/auto/downloads/images/agl-demo-x86-1.0.img.gz
|
||||
[7]:http://content.linuxfoundation.org/auto/downloads/images/agl-demo-vmware-1.0.vmdk.bz2
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
命令行星期二 —— 第三篇
|
||||
================================================================================
|
||||
今天,肖茨先生将带领我们游历文件系统的第一部分。我们将学到如何访问、列出目录内的文件,以及首次介绍一些选项的运用。OK,让我们开始学习这周的第一个命令。
|
||||
|
||||
### ls ###
|
||||
|
||||
ls 是一个用来列出目录内文件的命令。通过添加**选项**来实现多种不同的用途。简单起见,你可以只需键入 ls 。但是,你也可以在命令后面添加一个选项,它会帮助你修饰你的命令。如果你想要随意摆弄一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。
|
||||
|
||||
这就是选项的基础概念。我们可以用下面书写格式表示:
|
||||
|
||||
command(命令) -option(选项) argument(参数)
|
||||
|
||||
命令,恩...,我们可以输入 pwd、 ls, 或者我们到目前为止所有学过的命令。
|
||||
|
||||
以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入**-l**。
|
||||
|
||||
**参数**是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。
|
||||
|
||||
接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。
|
||||
|
||||

|
||||
|
||||
就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是某种 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。
|
||||
|
||||
接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是以长格式方式输出。如果你需要查看更多信息的话,这个选项将是不错的选择。
|
||||
|
||||

|
||||
|
||||
### 长格式 ###
|
||||
|
||||
这样,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r--r-- 令人抓狂的标示。实际上,这只是一种组合,代表了各种意义的信息。
|
||||
|
||||

|
||||
|
||||
(File Name)就是文件的名称。(Modification time)是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称,和拥有者一起构成文件权限。(Owner) 是文件拥有者的名称。最最重要的…
|
||||
|
||||
###…文件权限 ###
|
||||
|
||||
文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 'd' , 意味着它是一个目录。如果是 '-' , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人(既不是拥有者也不是同组)对文件的享有权限。
|
||||
|
||||
例如,如果有个文件在长格式下显示为:-rw-r--r--, 这说明这是个普通文件(首字符 '-'),拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符'-'后'rw-'),用户组和其他用户只享有可读权限(你不难发现'r--'字段在后面出现了两次 。如果用户组是 'rwx' 而不是 'r-',则意味着它们可读,可写,可执行)。
|
||||
|
||||
ls 的下个选项是 ls -la .. ,-a 它会列出所有的文件,包括隐藏文件。在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。
|
||||
|
||||
### less ###
|
||||
|
||||
less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它的内容。
|
||||
|
||||
你只需要使用 less /etc/os-release。
|
||||
|
||||

|
||||
|
||||
..就这样了。
|
||||
|
||||
你要如何控制 less 呢?
|
||||
|
||||
简单的, 你只需要动动键盘就行了!
|
||||
|
||||
less 一次只会显示一个页面的文本。往前翻页你需要按 **Page Up**, 或者 **'b'**。往后翻页你可以按**Page Down**, 或者 **空格**。大写的**G**会跳转到文本的末尾,**1G**会跳转到文本的开端。**/字符**会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来)。n 会重复执行你的搜索,**h**会显示所有的选项(h,即帮助的意思)。
|
||||
|
||||

|
||||
|
||||
按q退出 less 命令。
|
||||
|
||||
### file ###
|
||||
|
||||
file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片,bash 脚本等。让我们用 /etc/os-release 执行练习。
|
||||
|
||||

|
||||
|
||||
这样,如你所见,os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。
|
||||
|
||||
下回见了,记住…
|
||||
|
||||
…一定要玩的开心啊!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,41 @@
|
||||
[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型
|
||||
================================================================================
|
||||
> **提问**: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型?
|
||||
|
||||
MySQl主要使用两种存储引擎:**MyISAM 和 Innodb**。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。
|
||||
|
||||
如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到。
|
||||
|
||||
### 方法一 ###
|
||||
|
||||
如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型。从phpMyAdmin中选中数据库来查看它的表列表。在“Type”一列的下面,你会看到每个表的数据表类型。
|
||||
|
||||

|
||||
|
||||
### 方法二 ###
|
||||
|
||||
如果你可以直接登录MySQL服务器,另外一种鉴别存储引擎的方法是登录MySQL服务器后运行下面的MySQL命令:
|
||||
|
||||
mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
|
||||
|
||||
上面的命令会显示在'my_database'数据库中'my_table'表的引擎类型。
|
||||
|
||||
### 方法三 ###
|
||||
|
||||
还有一种检查引擎的方法是使用mysqlshow,是一种命令行下的显示数据库信息的工具。mysqlshow在[MySQL 客户端安装包][1]中有。要使用mysqlshow,你需要提供MySQL服务器登录凭据。
|
||||
|
||||
下面的命令会显示特定的数据库信息。在“Engine”一列下面,你可以看到每个表使用的引擎。
|
||||
|
||||
$ mysqlshow -u <mysql_user> -p -i <database-name>
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html
|
||||
@@ -0,0 +1,42 @@
|
||||
如何用sosreport在Linux上创建诊断信息
|
||||
================================================================================
|
||||
**Sosreport**是**RHEL / CentOS**上的一个命令,它会收集**系统配置**和你linux机器上的诊断信息,如正在运行的内核版本、加载的模块和系统和服务配置文件之类的信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。
|
||||
|
||||
Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。
|
||||
|
||||
要运行sosreport,需要安装**sos** 包。sos包是大多是linux的默认安装包中的一部分。如果因为某种原因没有安装,那么运行下面的yum命令来安装**sos 包** :
|
||||
|
||||
# yum install sos
|
||||
|
||||
### 生成报告 ###
|
||||
|
||||
打开终端输入sosreport命令:
|
||||
|
||||
# sosreport
|
||||
|
||||
这条命令正常情况下会在**几分钟**里完成。根据本地配置,在某些情况下,某些选项可能需要更长的时间才能完成。一旦完成,sosreport将在**/ tmp目录**目录中生成一个压缩文件。不同版本使用不同的压缩方案(** gz,bz2,或xz**)。该文件应提供给红帽的支持代表(在开放的情况下通常作为附件)。
|
||||
|
||||
**注意**:sosreport需要root权限才能运行。
|
||||
|
||||
### sosreport命令中不同的选项: ###
|
||||
|
||||
sosreport命令有一个**模块化结构**,并允许用户启用和禁用模块,并通过在命令行指定模块。要**列出可用的模块**(插件),请使用以下命令:
|
||||
|
||||
# sosreport -l
|
||||
|
||||
要禁用一个模块,用逗号隔开的列表传给-n/–skip-plugins选项。比如要kvmand 、amd这两个模块:
|
||||
|
||||
# sosreport -n kvm,amd
|
||||
|
||||
各个模块可以通过-k选项提供额外的选项。例如,在Red Hat Enterprise Linux 5中安装的sos rpm模块默认收集“rpm -Va”的输出。因为这是个耗时行为,因此可以通过下面的命令禁用:
|
||||
|
||||
|
||||
# sosreport -k rpm.rpmva=off
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,63 @@
|
||||
怎样把坏的MySQL查询找到并杀死?
|
||||
================================================================================
|
||||
|
||||
有时,关系型相关数据库系统的复杂性会把你搞晕,不过幸运的是,使用MySQL工具来管理查询就就可以避免这些复杂性。 在本教程中,我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**。
|
||||
|
||||
为了浏览当前正在运行的查询,登陆到MySQL终端,然后运行‘show processlist’命令:
|
||||
|
||||
mysql> show processlist;
|
||||
|
||||
+--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+
|
||||
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read |
|
||||
+--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+
|
||||
| 78233 | root | 127.0.0.1:37527 | mysql | Sleep | 16474 | | NULL | 6 | 6 | 6 |
|
||||
| 84546 | root | 127.0.0.1:48593 | mysql | Sleep | 13237 | | NULL | 2 | 2 | 2 |
|
||||
| 107083 | root | 127.0.0.1:56451 | mysql | Sleep | 15488 | | NULL | 1 | 121 | 121 |
|
||||
| 131455 | root | 127.0.0.1:48550 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 |
|
||||
+--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+
|
||||
4 rows in set (0.03 sec)
|
||||
|
||||
首先你应该查看'Time'项,这里记录了进程执行 "做其当做的事情" 操作的秒数。‘command’项处于‘Sleep’
|
||||
状态的进程表示其正在等待接受查询,因此,它并没有消耗任何资源。对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题。
|
||||
|
||||
在上面的例子中,唯一运行的查询是我们的‘show processlist’命令。让我们来看看如果我们有一个写的很烂的查询是怎么样的:
|
||||
|
||||
mysql> show processlist;
|
||||
|
||||
+--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+
|
||||
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read |
|
||||
+--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+
|
||||
| 78233 | root | 127.0.0.1:37527 | example | Sleep | 18046 | | NULL | 6 | 6 | 6 |
|
||||
| 84546 | root | 127.0.0.1:48593 | example | Sleep | 14809 | | NULL | 2 | 2 | 2 |
|
||||
| 107083 | root | 127.0.0.1:56451 | example | Sleep | 17060 | | NULL | 1 | 121 | 121 |
|
||||
| 132033 | root | 127.0.0.1:54642 | example | Query | 27 | Sending data | select max(subtotal) from orders | 0 | 0 | 0 |
|
||||
| 133933 | root | 127.0.0.1:48679 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 |
|
||||
| 134122 | root | 127.0.0.1:49264 | example | Sleep | 0 | | NULL | 0 | 0 | 0 |
|
||||
+--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+
|
||||
6 rows in set (0.00 sec)
|
||||
|
||||
啊哈!现在我们看到有一个查询运行了将近30秒。如果我们不想让它的进程继续运行,可以将它的'Id'传递给kill命令:
|
||||
|
||||
mysql> kill 132033;
|
||||
Query OK, 0 rows affected (0.00 sec)
|
||||
mysql>
|
||||
|
||||
(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响。)
|
||||
|
||||
明智的使用kill命令能够清除积压的查询。然而,要记住的是,那不是一种永久的方法 - 如果这些查询来自你的程序,你需要去重写它们,或者将继续看到相同的问题不断出现。
|
||||
|
||||
### 另请参阅 ###
|
||||
|
||||
关于不同‘命令’的MySQL文档:
|
||||
|
||||
- [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html
|
||||
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html
|
||||
@@ -0,0 +1,83 @@
|
||||
命令行星期二——第四部分
|
||||
===================
|
||||
|
||||
大家好。新的一周,新的冒险!
|
||||
|
||||
今天,我们将会学习使用四个相当简单的命令去操作文件。好,废话少说,我们开始吧。
|
||||
|
||||
在开始学习这些命令之前,我们先稍微说些题外话,讲讲“通配符”的用处。
|
||||
|
||||
###通配符###
|
||||
|
||||
使用图形工具区复制、粘贴、新建目录等操作也许很容易,但是若想完成一些更复杂的任务,例如仅仅将一个目录下的所有.html文件复制到另一个目录中、或者只复制在某个目录中不存在的文件,这时命令行也许会比较方便。我们回到通配符的学习中,通配符是shell的基本功能,它是一个由一些特殊字符组成的集合,它让你可以用一些简单的规则来选择出某些文件。(通配符可以出现在文件名中,用于指定文件名的字符个数和字母的大/小写等规则)。
|
||||
|
||||
如下表 :
|
||||
|
||||

|
||||
|
||||
下面是肖茨先生给出的一些实例,如下表:
|
||||
|
||||

|
||||
|
||||
如果你使用一个包含文件名参数的命令,你就可以使用通配符。
|
||||
|
||||
###cp###
|
||||
|
||||
cp是一个用于复制文件或者目录的命令,它的用法相当的简单。进入到你想复制的文件所在的目录,然后使用如下命令
|
||||
|
||||
`cp file1 file2` -复制一个文件
|
||||
|
||||
或者
|
||||
|
||||
`cp file1 file2 ... directory` -从当前工作目录复制多个文件到指定的目录。
|
||||
|
||||
下表是肖茨先生给出的cp命令的一些选项:
|
||||
|
||||

|
||||
|
||||
###mv###
|
||||
|
||||
mv是今天的第二个命令,我们可以使用mv来重命名一个文件或目录,或者移动一个文件或目录。我们可以这样使用mv命令。
|
||||
|
||||
`mv filename1 filename2` -若想将文件filename1重命名为filename2。
|
||||
|
||||
或者
|
||||
|
||||
`mv file directory` -若想将一个文件移动到某个目录。
|
||||
|
||||
下表是一些mv命令的实例
|
||||
|
||||

|
||||
|
||||
###rm###
|
||||
|
||||
rm命令是用于删除文件或目录,它的用法比较直接,如下:
|
||||
|
||||
`rm file`
|
||||
|
||||
或者
|
||||
|
||||
`rm -r driectory`
|
||||
|
||||
这里也有一个包含rm其他选项的表
|
||||
|
||||

|
||||
|
||||
但是,使用rm命令时要小心点。因为并没有撤销删除的选项,因此使用rm命令式要格外的小心,避免对你的系统造成不必要的破坏。
|
||||
|
||||
###mkdir###
|
||||
|
||||
mkdir是用于创建目录.它是今天最简单的一个命令:
|
||||
|
||||
`mkdir directory`
|
||||
|
||||
看,目录成功创建了!
|
||||
|
||||
这是本周的内容,下周二再见,致以最真诚的问候!
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/
|
||||
|
||||
译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,44 @@
|
||||
[小技巧]如何在Ubuntu14.04中禁用叠加滚动条
|
||||
================================================================================
|
||||

|
||||
|
||||
Hello 伙计们,
|
||||
|
||||
这是一个如何在Ubuntu中禁用叠加滚动条的小技巧。注意,在本文中讲的不是删除叠加功能,而是告诉你如何启用或禁用它。
|
||||
|
||||
### 禁用 ###
|
||||
|
||||
打开终端并执行以下命令
|
||||
|
||||
gsettings set com.canonical.desktop.interface scrollbar-mode normal
|
||||
|
||||
更改后会立即生效:
|
||||
|
||||

|
||||
|
||||
### 启用 ###
|
||||
|
||||
gsettings reset com.canonical.desktop.interface scrollbar-mode
|
||||
|
||||

|
||||
|
||||
Enjoy!
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
[Enock Seth Nyamador][1]
|
||||
|
||||
我穿着--[0-0]--(比基尼?), 一个开源的瘾君子。一个发展中的非洲geek。我是一个菜鸟开发者和一个有追求的摄影师。想提供给我什么或者是小贴士,请随时与我联系。我随时准备开发和照片。干杯!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/disable-overlay-scrollbars-ubuntu-14-04-quick-tip/
|
||||
|
||||
译者:[Vito](https://github.com/vito-L) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.unixmen.com/author/seth/
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
红帽公司发布 OpenStack Platform 5
|
||||
================================================================================
|
||||

|
||||
|
||||
红帽公司[宣布][1]在RHEL上推出OpenStack Platform5,这是基于OpenStack开源云的第三个企业级发行版。该版本不仅开发了一些新功能,针对的用户群体也大为增多,如高大上的云用户、电信企业、互联网服务供应商(ISP)、公有云服务供应商等。
|
||||
|
||||
OpenStack Platform 5是基于最新的Openstack Icehouse的发行版,并且针对云计算技术做了大量的修改和优化工作而来的。
|
||||
|
||||
这个最新的发行版有3年的技术支持周期,[我选择了使用][2]它是考虑到红帽公司在Linux系统上对用户无以伦比的技术支持,红帽公司对其OpenStack Platform 5的技术支持服务将是促使企业购买的关键之一。
|
||||
|
||||
对于红帽公司是否会支持OpenStack的其他发行版尚未有定论,但一份OpenStack用户调查已经显示[90%的OpenStack开发人员并没有在RHEL上使用OpenStack][3],而是选用了Ubuntu或者CentOS Linux和其虚拟化技术。
|
||||
|
||||
OpenStack Platform 5的最新功能:
|
||||
|
||||
> **支持和VMware基础架构的整合**,结构包含虚拟化、管理、网络和存储。
|
||||
用户一般会使用已经在使用的VMware vSphere资源,比如虚拟化驱动作为OpenStack (Nova)的计算节点,再使用上层的OpenStack Dashboard(Horizon)对节点进行管理。
|
||||
同样的,RHEL OpenStack Platform 5也支持VMware的NSX插件,作为OpenStack NetWorking (Neutron)对网络进行管理,支持VMware虚拟磁盘(VMDK)以插件形式存在,作为OpenStack Block Storage(Cinder)来使用。
|
||||
>
|
||||
|
||||
> **对云资源的使用,采取了更好的布置。**服务器组让计算散布到OpenStack云的服务节点上,这让分布式应用有了更强的弹性,对于复杂的应用,也能起到降低通信延迟,提高运算性能的作用。
|
||||
>
|
||||
|
||||
> **对虚拟机更好的支持,支持加密,满足美英国家对信息安全的要求** 使用RHEL 7中提供的半虚拟化随机数生成器,在用户程序中也添加进这个工具,可以更好的加密质量和性能提升。
|
||||
|
||||
> **提升协议栈的互通性**红帽公司宣称,Neutron中新开发的模块化的网络技术将简化OpenStack的部署。这种技术将允许用户在OpenStack中部署多种网络方案来解决异构网络的访问。
|
||||
|
||||
红帽公司虚拟化和OpenStack产品线总经理 Redhesh Balakrishnan说到:
|
||||
|
||||
> “我们看到越来越多的企业级用户或服务供应商选择OpenStack作为私有云平台,RHEL OpenStack Platform 5不只是一个基于OpenStack Icehouse产品,我们还开发了很多简单易用的功能,增强了产品的可靠性。
|
||||
在未来三年内,我们要让用户看到,RHEL OpenStack Platform 5所提供的功能和技术支持服务,将为他们部署的应用保驾护航,让用户对我们的产品充满信心。
|
||||
|
||||
我敢跟你打赌,--三年的技术支持服务--将是企业用户在竞争激烈的云平台领域选择红帽的关键点。并且,毋庸置疑,红帽公司把自己的未来放在了云计算,放在了OpenStack Platform上面。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5
|
||||
|
||||
译者:[nd0104](https://github.com/nd0104) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08
|
||||
[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible
|
||||
[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/
|
||||
@@ -0,0 +1,65 @@
|
||||
Linux基础:如何在命令行中查看目录的大小
|
||||
=====================================================================
|
||||
|
||||
这是写给Liunx新用户的一系列文章中的第一篇,在这系列文章我将会写一些对新用户来说非常好用的**Linux基础命令**。
|
||||
|
||||
**注意**:本文的目标读者是仅有小量甚至是没有任何Linux命令行使用经验的读者。
|
||||
|
||||
>作为一个Linux的新用户,我怎样可以在命令行终端中查看某个目录的属性?
|
||||
|
||||
###要求###
|
||||
|
||||
唯一的要求是**du**命令行工具。du基本上是所有Linux发行版本默认提供的工具。用以下的命令来检查你的系统中是否可以使用du命令:
|
||||
|
||||
man du
|
||||
|
||||
**du** 命令用于输出文件的空间使用情况。
|
||||
|
||||
###使用du###
|
||||
|
||||
不带任何参数的运行du命令会显示当前工作目录以及其子目录的文件名和所占用的空间大小(以字节为单位)。
|
||||
|
||||
du
|
||||
|
||||

|
||||
|
||||
使用**-h**参数以对用户友好的方式输出文件大小,即分别以**K, M**和**G**来表示**Kb,Mb**和**Gb**
|
||||
|
||||
du -h
|
||||
|
||||

|
||||
|
||||
若想查看某个特定目录的文件大小,则在du命令中指定要查看的目录名,如下:
|
||||
|
||||
du -h Mapmaker
|
||||
|
||||

|
||||
|
||||
使用 **-c** 参数来查看目录所占用磁盘空间的总大小
|
||||
|
||||
du -ch
|
||||
|
||||

|
||||
|
||||
使用 **-s** 参数只输出指定目录占用空间的大小
|
||||
|
||||
du -sh Mapmaker Sandbox
|
||||
|
||||

|
||||
|
||||
使用 man du 查看du命令更多参数的用法
|
||||
|
||||
man du
|
||||
|
||||

|
||||
|
||||
知道du命令更多的用法?请分享给我和其他人。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/linux-basics-find-size-directory-commands/
|
||||
|
||||
译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
ncdu – 基于ncurses库的磁盘使用分析器
|
||||
================================================================================
|
||||
[Ncdu][1] (NCurses Disk Usage) 是一个基于Ncurses库的du命令的界面。它通过大家熟知的[du][2]命令,为用户提供一个快速且容易被使用的界面。它可以显示磁盘使用的百分比,且允许你使用ncurses库的方式在目录之间导航。
|
||||
|
||||

|
||||
|
||||
### 安装 ###
|
||||
|
||||
ncdu已经被移植到大多数linux发行版本,可从官方资源库中安装.
|
||||
|
||||
Arch / Manajaro 及其衍生版:
|
||||
|
||||
sudo pacman -S ncdu
|
||||
|
||||

|
||||
|
||||
Ubuntu / Debian / Linux Minut 及其衍生版:
|
||||
|
||||
sudo apt-get install ncdu
|
||||
|
||||
Fedora 及其衍生版:
|
||||
|
||||
sudo yum install ncdu
|
||||
|
||||
在[这里][3]可以找到其他的发行版。
|
||||
|
||||
### 使用 ncdu ###
|
||||
|
||||
键盘操作:
|
||||
|
||||
|
||||
- up, k — 向上移动光标
|
||||
- down, j – 向下移动光标
|
||||
- right/enter — 打开选定的目录
|
||||
- left, <, h — 打开父目录
|
||||
- n — 按文件名排序(升序/降序)
|
||||
- s — 按文件大小排序(升序/降序)
|
||||
- C – 按项目数排序(升序/降序)
|
||||
- d – 删除选定的文件或目录
|
||||
- t — 排序时将目录放在文件前面
|
||||
- g – 以图形方式显示百分比
|
||||
|
||||
为使用ncdu,请打开终端并且运行
|
||||
|
||||
ncdu
|
||||
|
||||
开始扫描目录.
|
||||
|
||||

|
||||
|
||||
当扫描完成后,你能够很容易的看到文件/目录的大小.
|
||||
|
||||

|
||||
|
||||
确认删除文件:
|
||||
|
||||

|
||||
|
||||
在[这里][4] 阅读ncdu命令手册或运行:
|
||||
|
||||
man ncdu
|
||||
|
||||
**荣誉**: 有两位读者**BasketCase**和**Sama Vim**在阅读“[Linux基础:如何在命令行中查看目录的大小][5]”之后 向我们推荐了这个Ncdu工具。
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/
|
||||
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://dev.yorhel.nl/ncdu
|
||||
[2]:http://www.unixmen.com/linux-basics-find-size-directory-commands/
|
||||
[3]:http://dev.yorhel.nl/ncdu
|
||||
[4]:http://dev.yorhel.nl/ncdu/man
|
||||
[5]:http://linux.cn/article-3473-1.html
|
||||
@@ -0,0 +1,28 @@
|
||||
放弃微软产品,慕尼黑省下数百万美元
|
||||
=================================================
|
||||

|
||||
|
||||
**慕尼黑这座城市已经成为了从微软产品转向开源的,最突出的城市管理案例之一,而且Canonical公司和ubuntu为这次变革起了很大的作用。**
|
||||
|
||||
慕尼黑成功脱离了微软的依赖,但是他们为这次摆脱过程付出了价值不菲的代价。从微软产品转向开源的好处看起来似乎很昂贵,但是转变的成本比之后的产品升级显著要低,不仅如此,在未来,我们会发现这种做法更便宜。
|
||||
|
||||
当你在像慕尼黑城市这种大城市,尝试从一个专有解决方法转向开源的时候,这可并不容易。因为慕尼黑拥有22个组织单位,每个单位都有自己的IT部门,更不要说各部门之间不同版本的应用程序。
|
||||
|
||||
地方政府不能只采用一个Linux发行版本。第一次的尝试是在2006年伴随着Debian的回归,但是特定的操作系统并没有一个可预测的发布时间表。这就是新操作系统LiMux产生的原因,一个基于ubuntu的操作系统。
|
||||
|
||||
“LiMux/开源项目是漫长而又反复的,但是经过几年时间运行这种大型Linux,我们意识到ubuntu才是最能满足我们需求的平台。通过结合开源软件的低成本和自由,加以对我们需要的硬件和应用程序的持续支持,这种做法才是这个项目成功的关键因素之一。当然,最终要还有我们的市府在项目上始终给予的高度支持。”慕尼黑项目经理Peter Hofmann[说道][1]。
|
||||
|
||||
截至2013年,如果只考虑升级成本的话,这个项目帮助慕尼黑节省了€1000万(1360万美元)。如果我们能量化官方支持软件和其余隐藏成本的话,这个数额显得有些多。
|
||||
|
||||
眼下,慕尼黑14000台PC机运行着LiMux,而且数量还在持续增长。这很有可能影响其余德国城市在未来也这么做,尤其是慕尼黑的邻居。
|
||||
|
||||
慕尼黑当局采用了13年才完成这次变革,但是最终事实证明,这样做可以省下一大笔资金,而且证明了Linux实际上是整个城市IT基础设施又好有免费的解决方案。
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml
|
||||
|
||||
译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/
|
||||
@@ -0,0 +1,64 @@
|
||||
Ubuntu 14.04中修复默认启用HDMI后没有声音的问题
|
||||
================================================================================
|
||||
|
||||
声音问题在Ubuntu中是老生常谈了。先前我已经在[修复Ubuntu中的“无声”问题][1]一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的有所不同。
|
||||
|
||||
因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将[全新安装Ubuntu 14.04后要做的事][2]全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了[alsamixer][3],发现它的状况有点离奇。
|
||||
|
||||

|
||||
|
||||
正如你能看到的,**alsamixer中默认设置了HDMI**。这意味着默认情况下将使用HDMI输出,而不是内置扬声器。这就是我从系统上内置扬声器无法获得声音的原因。
|
||||
|
||||
使用下面的命令来检查alsamixer的状态:
|
||||
|
||||
alsamixer
|
||||
|
||||
如果alsamixer默认设置成了HDMI或者其它声音输出,那就继续读下去吧,看看我们是怎么来修复这个问题的。
|
||||
|
||||
### 修复默认设置成HDMI时Ubuntu的失声问题 ###
|
||||
|
||||
现在来强制Ubuntu使用模拟输出来取代默认的HDMI,但我们还需要一点点信息。打开终端,然后使用下列命令:
|
||||
|
||||
aplay -l
|
||||
|
||||
这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。我的输出如下所示:
|
||||
|
||||

|
||||
|
||||
一旦你取得了所需的卡和设备编号,重新构建一个配置文件:
|
||||
|
||||
sudo gedit /etc/asound.conf
|
||||
|
||||
上面的命令也会打开文件,将下面两行添加进去,当然将卡和设备编号替换成你自己的:
|
||||
|
||||
defaults.pcm.card 1
|
||||
defaults.pcm.device 0
|
||||
|
||||
保存文件,并重启计算机。现在,你应该听到声音了吧。需要提一下的是,这对所有的Linux发行版都有效,如Linux Mint,Elementary OS,Fedora,Arch Linux等等都可以。正如我之前所说,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读[关于在Ubuntu和Linux Mint中修复失声问题这篇文章][4]。
|
||||
|
||||
您可以尽情发表评论来告诉我这个方法是否有疗效,或者您有更好的方法来处理该问题,也可以告诉我。再见了!
|
||||
|
||||

|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
关于Abhishek
|
||||
|
||||
我是Abhishek Prakash,It's F.O.S.S.的“创立者”,我有一个通信系统工程的硕士学位。我酷爱Linux和开源。我使用Ubuntu,信奉知识分享。除了Linux之外,我也喜爱经典的侦探推理小说,是Agatha Christie作品的超级粉丝。大家尽可以在[Google+][g]上将我圈进去,并追随[@abhishek_pc][t]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/fix-sound-ubuntu-1404/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/
|
||||
[2]:http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/
|
||||
[3]:http://en.wikipedia.org/wiki/Alsamixer
|
||||
[4]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/
|
||||
[g]:https://plus.google.com/u/0/110180944531110746460
|
||||
[t]:https://twitter.com/abhishek_pc
|
||||
@@ -0,0 +1,40 @@
|
||||
“Simple Dock” GNOME Shell扩展乾坤大挪移,钟爱应用桌面展现
|
||||
================================================================================
|
||||

|
||||
|
||||
**我爱GNOME Shell,但是我痛恨的是费力从隐藏屏幕中找到我所钟爱的应用或者在我正运行的应用间切换。**
|
||||
|
||||
这么说,听起来就像我是个老古董,像是一个UX勒德分子,也像是某个过分沉溺于Unity可用性瘾君子,但我,像阅读本文的许多人一样,喜欢将app启动器/切换器放到桌面上。这是一个用户所熟悉并且快捷的工作方式。
|
||||
|
||||
而GNOME Shell,从设计上看,却完全是个不同的世界。它将所有这一切隐藏起来 —— 从消息中心和通知,到工作区和应用列表。它弱化了审美效果,包含了这样的道理:帮助用户专注于最重要的部分。
|
||||
|
||||
但是对我而言,我的桌面需要的不仅仅是一个美化的相框。
|
||||
|
||||
### GNOME Shell之美 ###
|
||||
|
||||
抛开我自己的偏好,隐藏应用是GNOME Shell之美的一部分。它带来了默认的桌面体验:用户友好,稳健以及可预见性——而且也完全可扩展。因此,它也附带有大量的扩展组件以迎合不同用户的需要、职业和希望,包括传统应用菜单,桌面停靠栏,以及甚至是Ubuntu Unity Dash的复制品!
|
||||
|
||||
在本文中,我仅仅关注那个能满足我需要的扩展:它有个恰如其分的名字**Simple Dock**。Simple Dock获取GNOME Shell应用网格以及收藏栏,并可以将它放到任何我想要放的不引人注目的位置:桌面上。
|
||||
|
||||
目前为止,它只支持放置在屏幕底部,只提供了最小的设置项。虽然是最小的,但我觉得所有这些设置已经能满足我的需要:
|
||||
|
||||
- 智能自动隐藏
|
||||
- 最小化/还原应用窗口
|
||||
- 拖放收藏
|
||||
- 覆盖活动启动按钮
|
||||
|
||||
你也想要吗?如果你正在Ubuntu 13.10或更高版本上使用GNOME Shell,那么你可以使用它。只需在支持的浏览器(Firefox, GNOME Web之类)中访问下面的链接就可以导航到GNOME扩展页面,然后将页面上开个从“off”拖动到“on”上。
|
||||
|
||||
- [GNOME Shell扩展中的Simple Dock][1]
|
||||
|
||||
要调整Simple Dock设置,点击GNOME扩展页面上的齿轮图标,或者通过GNOME优化工具这样的桌面应用程序来设置。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/07/simple-dock-gnome-shell-extension
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://extensions.gnome.org/extension/815/simple-dock/
|
||||
@@ -0,0 +1,55 @@
|
||||
在 Ubuntu 桌面上显示歌词
|
||||
================================================================================
|
||||

|
||||
|
||||
除了免费的流媒体音乐外,我最喜欢[Spotify][1]的地方就是它的歌词插件了。有时候我听不懂一首歌里面的所有歌词,尤其是rap。[TuneWiki][2]插件在这种情况下就派得上用场了。但TuneWiki仅有支持Windows和iTune的插件,那我们在linux桌面上有什么选择呢?
|
||||
|
||||
如果你使用过一段时间Linux桌面,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如 Rythmbox,[Banshee][4],[Clementine][5]等等。
|
||||
|
||||
### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ###
|
||||
|
||||
两年以前 OSD Lyrics 它的官方仓库还在积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为 Ubuntu 12.02 设计的,但这些文件也能在 Ubuntu 14.04 上良好地工作。我们一起看看怎么在 Ubuntu 14.04 和 Linux mint 17 上安装OSD Lyrics。
|
||||
|
||||
[前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。
|
||||
|
||||

|
||||
|
||||
下载完成后,双击它通过使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。
|
||||
|
||||
### 怎样在 Ububtu 和 linux mnit 上使用 OSD Lyrics 显示歌词 ###
|
||||
|
||||
安装完成后,你可以从Unity Dash运行OSD Lyrics :
|
||||
|
||||

|
||||
|
||||
首次运行时,OSD Lyrics会检测你的系统中能被它支持的播放器。你可以设定一个默认播放器,以后当你运行OSD Lyrics时它就会自动启动 。
|
||||
|
||||

|
||||
|
||||
有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等软件一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确并且是已经更新后的。
|
||||
|
||||
如果OSD Lyrics辨认出了音乐文件,它就会用卡拉OK格式在桌面上显示歌词了:(译者注:OSD Lyrics可以自动在千千静听和虾米歌词站点在线下载歌词,这对我们中文用户来说是个福音)
|
||||
|
||||

|
||||
|
||||
OSD Lyrics有大量设置选项,你可以改变歌词字体,文字大小等等。
|
||||
|
||||
你认为 OSD Lyrics 怎么样?你还使用其它歌词插件吗?欢迎您和我们分享。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/
|
||||
|
||||
译者:[Love-xuan](https://github.com/Love-xuan) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/install-spotify-ubuntu-1404/
|
||||
[2]:http://www.tunewiki.com/
|
||||
[3]:https://code.google.com/p/osd-lyrics
|
||||
[4]:http://banshee.fm/
|
||||
[5]:https://www.clementine-player.org/
|
||||
[6]:https://code.google.com/p/osd-lyrics/downloads/list
|
||||
[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/
|
||||
[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/
|
||||
[9]:http://www.shazam.com/
|
||||
@@ -0,0 +1,34 @@
|
||||
Git 2.0.2版本控制系统现在可供下载使用了
|
||||
==================================================================================================================================================
|
||||
|
||||

|
||||
|
||||
**Git 2.0.2如今已正式发布。这是一个免费和开源的分布式版本控制系统,因其处理速度和效率的优势,它可以处理大大小小各种项目。**
|
||||
|
||||
新的Git 2.0.x分支保持着带来大量更新的传统,它整合了大量的改变和修正。这个最新的更新只是维护版,但是它的功能特性的确有一些有趣的修改。
|
||||
|
||||
根据开发者的描述:"git submodule sync(git子模块的同步)"的文档中提到的子命令可以使用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的空格的处理不当已经被纠正;对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象。
|
||||
|
||||
还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的tag,尽管它是一个分支的名称;"%G(G后面没有跟任何东西)"是一个无效的漂亮的格式说明符,现在的解析器不再对它进行解析;用于避免增加相同替代对象的存储的代码经过了两次修正,而且其余的几个修正也已经完成。
|
||||
|
||||
想要查看完整的改变列表,查看[changelog][1]。
|
||||
|
||||
下载Git 2.0.2:
|
||||
|
||||
- [tar.gz][1][sources] [4.70 MB]
|
||||
- [Debian/Ubuntu DEB ALL][2][ubuntu_deb] [0 KB]
|
||||
- [Red Hat/Fedora/Mandriva/openSUSE RPM noarch][3][rh_rpm] [0 KB]
|
||||
|
||||
-------------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml
|
||||
|
||||
译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.2.txt
|
||||
[2]:https://github.com/git/git/archive/v2.0.2.tar.gz
|
||||
[3]:http://git-scm.com/download/linux
|
||||
[4]:http://git-scm.com/download/linux
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
小伙伴们,该更新系统啦:Ubuntu 13.10的支持到今天结束
|
||||
================================================================================
|
||||

|
||||
|
||||
|
||||
**尽管目前运行良好,在经历了9个月的折腾后,今天官方对Ubuntu 13.10(俏皮蝾螈)的支持正式寿终正寝。**
|
||||
|
||||
> 尽管它的名字叫'俏皮蝾螈',但它所提供的新功能却无比的乏味。
|
||||
|
||||
那些仍然在使用它的用户应该看看最新的发行的稳定版了,Ubuntu 14.04 LTS。在四月推出的这个版本,提供良好的图形化支持,支持期限是到2019年的4月中旬。
|
||||
|
||||
对于Ubuntu 13.10的服务器版的支持,也到今天正式停止。
|
||||
|
||||
### 俏皮蝾螈已然失宠 ###
|
||||
|
||||
Ubuntu 13.10于去年10月发布,Canonical对其桌面版本承诺提供时长9个月的安全和Bug修复更新。截至今年7月17日,所有更新将停止,未来也不再提供。
|
||||
|
||||
Canonical[推荐的升级方案][1]是升级到14.04版本,目前可以直接通过图形化工具去升级,包括使用升级程序,或者在命令行运行‘`do-release-upgrade`‘命令。
|
||||
|
||||
俏皮蝾螈,它的名字非常的好听,但表现平平,13.10在Ubuntu所有的发行版中也不是一个取得卓越成功的版本,[这一点已经被很多网络评论预言到了][2]。
|
||||
|
||||
然而,它曾经让人眼前一亮的是,<del>强加</del>提供了键盘指示符来快速的选择安装语言,这可以让用户简便的在该智能域操作,这也是第一个在安装程序中整合了`Ubuntu One Single Sign-on`的发行版。
|
||||
|
||||
查看13.10版本的所有新功能,请查看完整视频:
|
||||
Youtobe 视频地址:[http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/07/ubuntu-13-10-support-ends-today
|
||||
|
||||
译者:[nd0104](https://github.com/nd0104) 校对:[ReiNoir](https://github.com/reinoir)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://help.ubuntu.com/community/TrustyUpgrades
|
||||
[2]:http://www.omgubuntu.co.uk/2013/10/ubuntu-13-10-press-reaction
|
||||
[3]:http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed
|
||||
@@ -0,0 +1,57 @@
|
||||
Dropbox原生Linux客户端首次展示QT界面
|
||||
================================================================================
|
||||
**Dropbox原生Linux客户端的最新试验版首次展示了全新的QT界面。**
|
||||
|
||||
Dropbox表示这次的UI重写,将同时应用到Windows和Linux,将修复“大量”长期遗留下来的错误和问题。这个跨平台的工具也将整体提升性能。
|
||||
|
||||
在全新的设置向导和登录界面(见下面的图片)旁边是几个重新设计过的启动画面。
|
||||
|
||||

|
||||
登录界面
|
||||
|
||||

|
||||
设置界面
|
||||
|
||||

|
||||
欢迎界面
|
||||
|
||||
### 目前还不稳定 ###
|
||||
|
||||
Dropbox开发人员提醒参与测试的人,目前大部分新界面“还很粗糙”,在使用中可能会碰到大量的界面问题。新界面还不能配合一些辅助工具一起工作,例如屏幕阅读器。
|
||||
|
||||

|
||||
|
||||
新UI使用了(目前)系统自带的QT界面主题。它本身也不算很丑,不过在Ubuntu桌面上看起来不怎么合适,特别是和之前的版本比较。据说内存占用也变多了,在空闲情况下有时候会从60MB一下子跳到178MB。那些使用低端设备的人应该忍耐一下试用这个版本的诱惑-至少在这个特别的问题解决之后。
|
||||
|
||||
Dropbox 2.11.0 (试验版本) for Linux的完整改动日志:
|
||||
|
||||
- 用QT重写了Windows & Linux界面
|
||||
- 在移动和重命名文件后会尝试识别
|
||||
- 新的设置/登录体验
|
||||
- 更快上传小文件
|
||||
- 新的启动画面
|
||||
|
||||
### 下载Dropbox Linux Build 2.11.x ###
|
||||
|
||||
想尝鲜的话,可以通过下面的链接下载和你系统对应的安装包。
|
||||
|
||||
- [Dropbox Experimental (64bit) Offline Linux Installer][1]
|
||||
- [Dropbox Experimental (32bit) Offline Linux Installer][2]
|
||||
|
||||
下载完后,解压到主目录。它默认是隐藏的,所以打开终端,’`cd`‘到‘`.dropbox-dist/dropbox-lnx`‘目录下,然后运行‘`./dropbox start`‘。
|
||||
|
||||
演示Dropbox终端操作的gif动画:
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewrite
|
||||
|
||||
原文作者:[Joey-Elijah Sneddon][a] 译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz
|
||||
[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz
|
||||
@@ -0,0 +1,77 @@
|
||||
在 Linux 中怎样使用cp命令合并目录树
|
||||
================================================================================
|
||||
|
||||
怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子.
|
||||
|
||||
假设 dir1 和 dir2 目录中分别有3个子目录a,b和c.目录布局如下所示:
|
||||
|
||||

|
||||
输入目录布局
|
||||
|
||||
在目录a,b和c中有一些文件,tree命令的输出将能更好的说明:
|
||||
|
||||

|
||||
文件布局
|
||||
|
||||
### 1. 使用cp命令创建合并: ###
|
||||
|
||||
现在我们将这两个目录合并成一个名为"merged"新的目录中.完成上述操作最简单的方式就是递归复制目录,如下图所示:
|
||||
|
||||

|
||||
递归复制完成新的合并
|
||||
|
||||
#### 1.1 cp命令和替换带来的问题: ####
|
||||
|
||||
这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身.别急, (你可能正在问自己) 如果不是原文件又有什么问题? 要回答你的问题,考虑下你有很多大文件的情况.那种情形下,复制所有的文件可能花费数小时.
|
||||
|
||||
现在让我们回到刚那问题上,且尝试使用mv命令而不是cp命令.
|
||||
|
||||

|
||||
企图使用mv命令进行合并操作
|
||||
|
||||
这些目录不能被合并.因此我们不能像这样使用mv命令去合并目录.
|
||||
现在你该怎样将原文件保存到"merged"目录中?
|
||||
|
||||
### 2. 解决方法: ###
|
||||
|
||||
cp命令有一个非常有用的选项来帮助我们摆脱这种状况.
|
||||
cp命令的-l 或 --link选项能够创建硬链接而非原文件副本.让我们尝试一下.
|
||||
|
||||
在我们尝试cp命令的硬链接选项前,让我们查看一下原文件的inode号码.
|
||||
可通过tree命令--inodes选项来查看inodes:
|
||||
|
||||

|
||||
原文件的inodes
|
||||
|
||||
现在我们有了inodes的列表,对于cp命令可通过--link选项创建硬链接:
|
||||
|
||||

|
||||
使用硬链接合并的目录
|
||||
|
||||
#### 2.1 验证文件: ####
|
||||
|
||||
现在文件已经被复制,让我们验证一下inodes是否和原文件匹配:
|
||||
|
||||

|
||||
Verify Inodes
|
||||
|
||||
#### 2.2 清除: ####
|
||||
|
||||
|
||||
正如你所看到的,这些文件的inodes和原文件的一样.现在问题已经被解决,且
|
||||
原文件已被复制到合并目录中.现在我们能够移除dir1和dir2目录.
|
||||
|
||||

|
||||
移除原始目录
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/merge-directory-trees-linux/
|
||||
|
||||
原文作者:[Raghu][a]
|
||||
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/raghu/
|
||||
@@ -0,0 +1,43 @@
|
||||
Oracle Linux 7.0发布!
|
||||
===
|
||||

|
||||
|
||||
**Oracle已经发布了Oracle Linux 7.0操作系统,新系统带来了大量的新特性,比如“第三代坚不可摧的内核 UEK”(Unbreakable Enterprise Kernel Release 3)和一个新的默认文件系统**
|
||||
|
||||
为了这次新的发行版的发布,Oracle的开发者们已经放出过两个预览版,现在最终版终于来了。果然,它有着大量的改进,其中包括使用新的XFS作为默认的文件系统**[注:原文为操作系统,应该是笔误]**,可选的Btrfs文件系统,Linux Containers (LXC), DTrace,Ksplice,加强版Xen和UEK R3。
|
||||
|
||||
作为广泛流行的文件系统EXT4的对抗者,XFS有一个显著优势。它所允许用户的文件系统的大小达到了500TB,这比你在EXT4文件系统中所能达到最大值的十倍还多。唯一的缺点是单个文件的大小最大仅为16TB。
|
||||
|
||||
这个发行版的一大特色是它支持两种内核。一个是红帽兼容性内核(RHCK),基于Linux内核版本3.10,第二个是Oracle自己的内核版本“第三代坚不可摧的内核”(UEK R3),版本号从3.8.13开始,因为它基于3.8的Linux内核。你或许还记得Linux内核3.8.x已经寿终正寝,但是看来Oracle一直在维护着自己的分支。
|
||||
|
||||
“已经能够从Oracle软件发布云上下载了,Oracle Linux 7可以免费下载和部署。所有的bug修复和安全勘误会被发布到Oracle的公共yum服务器上,不管有没有付费,用户都能安装同样的代码,并且从免费到付费的迁移十分简单,无需重新安装。”
|
||||
|
||||
“当发布最新的Linux更新,工具以及推送给客户和参与者新功能的时候,需要为现代化的数据中心提供企业级的解决方案。为此最新的发行版是构建在Oracle对OpenStack这样的新兴技术提供支持的基础上,”从官方声明可以看出。
|
||||
|
||||
通过变更记录来看,Ksplice已经为了实现零宕机的内核完成了安全更新和bug修复,systemd也成了新的系统管理工具,Grub2现在是默认的启动引导程序,并且支持新的固件类型(比如UEFI),还有一个加强版Anaconda安装器,一个新的Apache Web服务器,支持GPT,和大量的安全特性被添加进来。
|
||||
|
||||
更多关于最新的Oracle Linux发行版的详细内容可以参考官方[声明][1]。
|
||||
|
||||
立即下载Oracle Linux 7.0:
|
||||
|
||||
|
||||
- [Oracle Enterprise Linux 6.5 (ISO) 64-bit][2][iso] [3 GB]
|
||||
- [Oracle Enterprise Linux 6.5 (ISO) 32-bit][3][iso] [3.60 GB]
|
||||
- [Oracle Enterprise Linux 7.0 (ISO) 64-bit][4][iso] [4.50 GB]
|
||||
|
||||
|
||||
---------------------------------
|
||||
|
||||
原文: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894.shtml
|
||||
|
||||
作者:[Silviu Stahie][a]
|
||||
译者:[guodongxiaren](https://github.com/guodongxiaren)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://news.softpedia.com/editors/browse/silviu-stahie
|
||||
[1]:http://www.oracle.com/us/corporate/press/2245947
|
||||
[2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso
|
||||
[3]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso
|
||||
[4]:https://edelivery.oracle.com/linux/
|
||||
44
published/201407/20140728 CoreOS Stable Release.md
Normal file
44
published/201407/20140728 CoreOS Stable Release.md
Normal file
@@ -0,0 +1,44 @@
|
||||
CoreOS 稳定版发布
|
||||
================================================================================
|
||||
|
||||
随着CoreOS稳定版的发布,我们相信我们已经为SysAdmin节准备好了一个不错的惊喜。从现在起,用户可以在产品环境中运行CoreOS了。这个版本对于想运行CoreOS的用户来说,是最经考验的、最安全的、最可靠的CoreOS版本。这对我们来说,是一个重大的里程碑。自从2013年八月我们第一个alpha版本发布以来,我们做了:
|
||||
|
||||
- 191个发布版本
|
||||
- 通过alpha和beta频道测试了成千上万的服务器
|
||||
- 支持10个以上平台,从裸机到Rackspace和Google云平台的主要镜像
|
||||
|
||||
对我们来说这是一个极为重要的日子,因为我们为了稳定版的发布付出了努力的工作。当然,如果没有社区的帮助,我们完成不了这些工作,感谢你们所有对项目的支持和贡献。
|
||||
|
||||
[CoreOS 367.1.0][2], 这是我们在稳定频道上的第一个版本, 包括以下内容:
|
||||
|
||||
- Linux 3.15.2
|
||||
- Docker 1.0.1
|
||||
- 所有主流的云服务商的支持, 包括 Rackspace Cloud, Amazon EC2 (包括 HVM) 和 Google Compute Engine
|
||||
- 通过 [CoreOS Managed Linux][3] 的商业支持
|
||||
|
||||
如果你还没有阅读我们的[Update Philosophy][4],我们建议您先看看。
|
||||
|
||||
请注意:稳定发布版本为了保持稳定性而不包括etcd和fleet ,此发布版仅针对基本的操作系统和Docker1.0。etcd和fleet的稳定版本支持会在随后的发布版本中。
|
||||
|
||||
如果想开始在产品中运行CoreOS,请确保阅读我们的快速指南“[切换到发布频道][5]”。如果你正在装新的机器,请确保在一开始就把他们建立在你想要的更新频道上。
|
||||
|
||||
最后,感谢社区的支持,我们迫不及待地想听到你们的反馈。对那些在产品环境中运行CoreOS上,希望得到额外支持的用户,请确保查看我们的[Managed Linux][6] 建议,因为我们已经有了一个完整的支持团队,他们正在准备回答你遇到的任何问题。
|
||||
|
||||
SysAdmin节快乐,感谢你们让互联网变得如此令人惊叹。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://coreos.com/blog/stable-release/
|
||||
|
||||
作者:Alex Polvi
|
||||
译者:[lfzark](https://github.com/lfzark)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://sysadminday.com/
|
||||
[2]:https://coreos.com/releases/#367.1.0
|
||||
[3]:https://coreos.com/products/managed-linux/
|
||||
[4]:https://coreos.com/using-coreos/updates/
|
||||
[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/
|
||||
[6]:https://coreos.com/products/managed-linux/
|
||||
65
published/201407/Command Line Tuesdays – Part Five.md
Normal file
65
published/201407/Command Line Tuesdays – Part Five.md
Normal file
@@ -0,0 +1,65 @@
|
||||
命令行星期二——第五部分
|
||||
=========================================================
|
||||
对,你也许已经猜到了又是我们相见的时候了。这一次我们将会学习如何使用命令工作。因此,事不宜迟,我们直入正题吧。
|
||||
|
||||
肖茨先生指出,到现在为止,我们学习了一些神奇的命令及其参数和选项,而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用:type, which, help和man。但是在此之前,我么先学习一下——
|
||||
|
||||
###什么是命令?###
|
||||
|
||||
我们可以将**命令**分为四个种类。
|
||||
|
||||
**1)可执行的程序:**命令可以是一个可执行程序。如果你在前面的课程中有遍历过你的系统,这也是你应该做的。你也许已经发现了/user/bin这个目录,你看到很多的像transmission-gtk, deluge-gtk等的名字。对我们新手来说,现在这些可以编译成二进制文件或者用脚本语言编写的可执行程序具体是什么并不太重要。重点是,他们是可执行文件,你可以运行它们。找到/user/bin这个目录,列出里面的文件,随便挑一个去运行它。
|
||||
|
||||
**2)shell内置命令:** bash提供了一系列的shell内置命令,例如,cd命令就是一个shell内置命令。
|
||||
|
||||
**3)shell函数:**内置于系统环境中的小型的shell脚本。现在我们简单的提及一下它,因为在后面的几个星期中我们将要学习它。
|
||||
|
||||
**4)别名:**你可以基于其他命令定义你自己的命令。我们也会在后面的课程中学习到。
|
||||
|
||||
现在,知道我们要处理的命令的哪一类是有意义的。我们可以使用**type**命令查看。
|
||||
|
||||
###type###
|
||||
|
||||
你可以使用**type + command**来查看你要使用的命令属于什么类型。你只要输入type command就可以得到命令类型的输出,如下:
|
||||
|
||||

|
||||
|
||||
或者
|
||||
|
||||

|
||||
|
||||
从上面例子可以看出‘ls’命令实际上是‘\_ls’的别名。(LCTT译注:不同机器上的别名定义可能不同,比如RedHat/Centos系列上,ls实际上是‘ls --color=auto’的别名,而这个‘\_ls’想必是openSUSE上的情况。)
|
||||
|
||||
###which###
|
||||
|
||||
有时(虽然在桌面系统中很少会出现这种情况),在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置,我们可以使用which命令。which命令只对可执行程序有用。
|
||||
|
||||

|
||||
|
||||
如今,多数的命令都会附带说明文档,因此,当你在没有网络的的情况下使用命令行时,你不能在论坛或者IRC上提问,但是你又必须要知道某个命令的准确用法。此时你有两种解决方法,第一个是——
|
||||
|
||||
###help###
|
||||
|
||||
help命令对shell内置命令有用(在上面的第二类中我们有提到过)。所以,你可以选择一个shell内置命令为例,如cd,简单的输入help cd即可。你会得到一个有用的页面,去试一下看cd为我们提供了什么功能。该页面列出了该命令的用法和可选项(选项列在方括号中,表明它们是可选的,如果方括号中有垂直分隔符分隔某些选项,则这些选项是互斥的,不要同时使用他们!)
|
||||
|
||||
###--help###
|
||||
|
||||
(LCTT译注:Linux上的命令中,通常单字符参数前使用一个破折号,而多个字符的长参数则使用两个破折号,原文此处用的是“-help”,实际上这种情况很少,所以修正为“--help”)
|
||||
|
||||
help只对shell内置命令有用。但是很多的可执行程序有--help选项。其作用类似于help命令,但是你必须在你要查看帮助的命令后输入 --help。例如,transmission-gtk --help。试一下看在改该可执行程序中有什么可选项可以使用。
|
||||
|
||||
###man###
|
||||
|
||||
多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program,看有什么输出。在你的系统中随便找一个程序去尝试一下。例如,我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例,因为它不是一个指导手册。(LCTT译注,man里面有时候也会带有一些范例,但是往往不会很详细,另外还有一个info命令,通常能得到更多的使用帮助。不过真正理解每个命令的各种用户,还是要多查阅各种资料,并亲自试验才行。)
|
||||
|
||||
这周我们就到先讲这里了。
|
||||
|
||||
我想再花一分钟来感谢大家对本节的建议和贡献。是你们让这个系列的文章变得越来越好,我希望在你们的帮助下,我们这些新用户在夏季结束前可以使用基本的命令行工具。你们是最棒的。像我一样的新用户们,我们都会感到失落,坚持到底,我们的付出总会有回报的!
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/
|
||||
|
||||
译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
144
published/201407/Encrypting Your Cat Photos.md
Executable file
144
published/201407/Encrypting Your Cat Photos.md
Executable file
@@ -0,0 +1,144 @@
|
||||
给猫咪照片加密
|
||||
================================================================================
|
||||
事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书的想法的文本文件,或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人的隐藏色情或炸弹”。隐私考虑的是一些平常的事情。
|
||||
|
||||
我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在华氏 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过华氏 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。
|
||||
|
||||
很明显,我举的例子有点弱智,但我希望的是这能引起大家的思考。现代的 Linux 系统很容易的就可以对我们的数据进行加密,并且很可靠,所以为什么不好好利用利用呢?
|
||||
|
||||
### 加密原理? ###
|
||||
|
||||
我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙——你想要多少就可造出多少,但这样做是不明智的。同样的,私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思是指那些文件)。
|
||||
|
||||
公钥更像是锁的样子,只有你能(用你的私钥)打开此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。
|
||||
|
||||
这种一对多(LCTT译注:指别人可以加密多个文件,而只有你的一个私钥才能解密)的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。(LCTT译注:既然是任何人都可以用公钥解密,其实加密没有意义,相反,仅仅用你的私钥做一个签名指纹,别人只需要用你的公钥来验证该签名是否一致即可判断是否来自你。)
|
||||
|
||||
(LCTT译注:其实本文此处所述的加密解密、签名校验等原理不完全正确,和实际的非对称加密情形有所差异,不过比较容易理解和类比。)
|
||||
|
||||
#### 通用加密步骤: ####
|
||||
|
||||
1. 你有一个文件想要发送给苏茜 ,所以你得使用苏茜的公钥来加密,这样就只有 苏茜才能打开这个文件,但苏茜没有办法知道是谁给她发送的文件。因为任何一个人都可以用她的公钥来加密文件。
|
||||
2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。(LCTT译注:实际上应该是用你的私钥要做签名,生成一小段签名指纹,而不是对已经加密的文件再次加密。)
|
||||
3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。(LCTT译注:校验签名,确认来自你的私钥的签名正确。)
|
||||
4. 然后用她的私钥来解密第二层的密码,这是唯一的能够将原始文件进行解密的钥匙了(因为你是用她的公钥来加密的)。
|
||||
|
||||
当然,这情景就是用来安全传输文件的加密手段。这也是加密你的文件(或者分区)相当常用及简单的方法。就让我们开始来对文件进行加密吧,因为大多数人都想加密他们的系统。
|
||||
|
||||
### 始于简 ###
|
||||
|
||||
在深入更复杂的各种加密设置操作前,我们先做简单的对文件加密例子。能处理加密的应用程序有很多很多,事实上,对文件和系统进行加密的各种可用软件选择,很容易就会让我们变得焦头烂额。现在,我们就使用一款很基本的(但非常强大)命令行工具来对文件加密。 GPG (英文名:Gnu Privacy Guard)是一款对商业软件 PGP(英文名:Pretty Good Protection)的开源实现软件。它具有加密、签名及管理多个密钥等功能。用例子说明,让我们简单的加密一个文件吧。
|
||||
|
||||
我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这比较容易让你的文件遭受到破解(比如使用彩虹表或其他黑客工具暴力破解),但像它的名字中所宣称的:这是相当不错的保护。要加密你的文件,可以这样做:
|
||||
|
||||
# gpg -c secret_manifesto.txt
|
||||
Enter passphrase:
|
||||
Repeat passphrase:
|
||||
|
||||
一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它真的比较小,但是要将其内容拷贝/粘贴到电子邮件(e-mail)或 即时消息(IM) 就不可能了(LCTT译注:当然你可以使用附件方式。)。要使其便于拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件:
|
||||
|
||||
# gpg -a -c secret_manifesto.txt
|
||||
Enter passphrase:
|
||||
Repeat passphrase:
|
||||
# ls -l
|
||||
-rw-rw-r-- 1 spowers spowers 6 Nov 23 1:26 secret_manifesto.txt
|
||||
-rw-rw-r-- 1 spowers spowers 174 Nov 23 1:27 secret_manifesto.txt.asc
|
||||
-rw-rw-r-- 1 spowers spowers 55 Nov 23 1:26 secret_manifesto.txt.gpg
|
||||
|
||||
注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。(LCTT译注:千万记住密码啊,否则谁也帮不了你了——你得自己破解自己的密码啦:>)
|
||||
|
||||
要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下所示:
|
||||
|
||||
# gpg secret_manifesto.txt.asc
|
||||
gpg: CAST5 encrypted data
|
||||
Enter passphrase:
|
||||
gpg: encrypted with 1 passphrase
|
||||
File `secret_manifesto.txt' exists. Overwrite? (y/N)
|
||||
|
||||
注意到上面的例子中,我没有删除源文本文件,所以 GPG 给出了是否覆盖选项提示。一但操作完成,我的未加密的源文件又回来了。如果你仅仅只有一两个文件要保护,那基于命令行的 GPG 程序正是你所需的。但如果你想实现在系统上指定一个区域,任何保存到这区域的的文件都会自动加密的话,就有点复杂了。可这也并不是非常的困难,让我们用一个非常简单的示范例子来讲解吧。
|
||||
|
||||
### 加密 USB 驱动盘 ###
|
||||
|
||||
如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动识别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。
|
||||
|
||||
#### 步骤 1: 识别您的 USB 驱动盘。 ####
|
||||
|
||||
在您插入 USB 驱动盘后,如果在终端输入 `dmesg` 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。)
|
||||
|
||||
#### 步骤 2: 对 USB 驱动盘进行分区。 ####
|
||||
|
||||
假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区(LCTT译注:设备是sdb,其上可以有多个分区,分别叫sdb1、sdb2等等)。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间:
|
||||
|
||||
# sudo fdisk /dev/sdb
|
||||
|
||||
Command (m for help): o
|
||||
Building a new DOS disklabel with disk identifier 0x1234567.
|
||||
Changes will remain in memory only, until you decide to write them.
|
||||
After that, of course, the previous content won't be recoverable.
|
||||
|
||||
Command (m for help): w
|
||||
The partition table has been altered!
|
||||
|
||||
# sudo fdisk /dev/sdb
|
||||
Command (m for help): n
|
||||
Command action
|
||||
e extended
|
||||
p primary partition (1-4)
|
||||
p
|
||||
Partition number (1-4, default 1): 1
|
||||
Using default value 1
|
||||
First sector (2048-1016522, default 2048):
|
||||
Using default value 2048
|
||||
Last sector, +sectors or +size{K,M,G} (2048-1016522, default 1016522):
|
||||
Using default value 1016522
|
||||
|
||||
Command (m for help): w
|
||||
The partition table has been altered!
|
||||
|
||||
现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里面就有。下面就开始创建 LUKS 加密分区层:
|
||||
|
||||
# cryptsetup luksFormat /dev/sdb1
|
||||
|
||||
WARNING!
|
||||
========
|
||||
This will overwrite data on /dev/sdb1 irrevocably.
|
||||
|
||||
Are you sure? (Type uppercase yes): YES
|
||||
Enter LUKS passphrase:
|
||||
Verify passphrase:
|
||||
|
||||
按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长越复杂,越难被破解。
|
||||
|
||||
一但上面的操作完成,就创建好了一个加密的分区,但它还没有被挂载或格式化。要做的第一步就是挂载分区,可以再一次使用 cryptsetup 工具:
|
||||
|
||||
# cryptsetup luksOpen /dev/sdb1 my_crypto_disk
|
||||
Enter passphrase for /dev/sdb1:
|
||||
|
||||
当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/设备名 的目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/my_crypto_disk 目录。
|
||||
|
||||
现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先建立文件系统:
|
||||
|
||||
# mkfs.vfat /dev/mapper/my_crypto_disk -n my_crypto_disk
|
||||
mkfs.vfat 3.0.9 (31 Jan 2010)
|
||||
|
||||
现在磁盘的功能完备了,可以像其它磁盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的:
|
||||
|
||||
# cryptsetup luksClose my_crypto_disk
|
||||
|
||||
### 这仅仅只是冰山一角 ###
|
||||
|
||||
写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得在安全和便利之中平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。
|
||||
|
||||
我必须警告您,一但您考虑到安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不同系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 [TrueCrypt][1]。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。(LCTT译注:悲惨的是,棱镜门事件之后,TrueCrypt的作者已经放弃了该产品,并且强烈建议大家也不要使用,具体可以参考本站的一些相关消息。所以痛失TrueCrypt之后,我们还有哪些替代品?)
|
||||
|
||||
希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让他们看到了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxjournal.com/content/encrypting-your-cat-photos
|
||||
|
||||
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.truecrypt.org/
|
||||
@@ -0,0 +1,192 @@
|
||||
树莓派的联合创始人访谈——我们是怎么让大家都成为DIY黑客的
|
||||
================================================================================
|
||||
> 请记住它是为喜欢折腾的人准备的只要35美元的计算机
|
||||
|
||||

|
||||
我永远不会忘记我第一次看到树莓派的情形。那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心,电视游戏机,或是其他任何你能够想像的东西。只有35美元的价格,它是任何年龄段的动手爱好者都可以拥有的小东西,可以在上面捣腾硬件和软件试验,而不用担心会弄坏昂贵的家庭电脑。
|
||||
|
||||
[Eben Upton][1],是树莓派基金会的共同创始人,通常被誉为这个神奇机器背后的魔法师。在剑桥大学的计算机实验室攻读哲学博士学位的时候,他费尽苦心地手工打造了树莓派的原型机。
|
||||
|
||||
如今,Upton是树莓派基金会下面贸易公司的CEO,监督着树莓派的生产和销售,目前销量已经达到250万台。
|
||||
|
||||
### 天上的派 ###
|
||||
|
||||
ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何偶然地引导你创建树莓派项目的?
|
||||
|
||||
**Eben Upton**: 在我还是孩子的时候就开始对技术感兴趣了。我有个对工程技术有很大兴趣的父亲,他自己不是工程师,而是一个英语老师。我们的房子里经常到处堆着各种电子器件,在还不知道这些东西是干嘛的时候,我就开始摆弄了。都是些小玩意,比如在床头装个灯,在“关灯”后还可以继续看书之类的。
|
||||
|
||||

|
||||
|
||||
之后我有了一台计算机。在英国,我们把这种机器叫做[BBC微计算机][2],实际上是8位单片机,做教学用的。我们在学校的时候接触到这种机器,我之后就学会了编程,而且还蛮喜欢的。
|
||||
|
||||
这些机器在学校里并不一定是用来编程的,或者说他们根本不是用来编程的,一般都运行教学软件。但是我却给它编程,之后我还买了一台回家,在我买了这台BBC微机后,我就泡在了房间里,再没出来过。[笑]
|
||||
|
||||
编程对于小孩来说太神奇了。当你还是小孩的时候,并没有太多力量。没有听话的随从,反而身边有很多的限制。编程最伟大的地方在于,这是一个可以让你随心所欲的小世界。而这当然让我无法抗拒。
|
||||
|
||||
我一直都对科学和数学,以及理科感兴趣。我在我的BBC微机上做了大量的计算和编程,之后我拥有了一台Commodore Amiga。
|
||||
|
||||
在大学里我学习了物理,工程和计算机科学。这是激发树莓派项目想法的原因,因为当我在学校呆了10年的时候[当时在读博士学位],我发现那些新来的孩子们在他们小时候并没有机会获得这方面的经验。你也许仍然能拥有乐高玩具,但是它不是我们要的梯子。
|
||||
|
||||
在一定程度上我们把身后的梯子撤掉了。我们造出了这些非常复杂而且用户友好的计算机给小孩使用,或者不仅仅是计算机,还包括电视游戏机,电话和平板,以及一些家用电器。但是,人们却没有机会自己动手改一改。所以实际上,树莓派是回到最初的一种尝试,当然也不会过于原始,希望找到在过去25年里计算机发展中迷失掉的那种感觉。
|
||||
|
||||
**RW:** 你需要克服的最大的障碍有哪些?
|
||||
|
||||
**EU:** 好吧,我们没有任何投资者,当然这也是一件好事情。我们从2006年就开始尝试做这件事情,你可以看到它花了我们很长时间才把树莓派从一个想法变成一件能卖的东西。在价格和性能之间或是价格和可编程性之间找到平衡,是一件很重要的事情。
|
||||
|
||||
另外一件麻烦事是募集资金。我们是非营利组织,所以我们得去找人赞助,而这最后都变成了董事会中的几个人自掏腰包。我们有25万美元的启动资金是从我和其他几个成员自己借的。所以我觉得,当初这样做还挺有勇气。
|
||||
|
||||

|
||||
|
||||
### 从东方到西方 ###
|
||||
|
||||
为了找到价格合适的生产方式,我们选了一条不同寻常的路线。通常人们生产更传统的产品时,当量不大的时候都会选择在本地生产,然后[制造商]再制定较高的价格。大多数都能获得比树莓派丰厚的利润。
|
||||
|
||||
所以他们开始会在西方生产。然后,为了追求更高的利润,当产品有一定的量就会想减少生产成本,所以转到远东地区。
|
||||
|
||||
我们的问题是,因为我们没有足够的利润来支撑这种模式的订单,所以我们在中国制造了第一批产品。当然一开始会有一点不好的预感。我一点也不了解中国制造,最后,我们把价值5万美元的芯片和5万美元现金交给一个香港人,他需要还给我们2000片可以工作的树莓派。
|
||||
|
||||
之后交期出现了延时,我们甚至都开始相信自己被骗了。然后终于有一天,现在250万台树莓派中最早的2000台放在托板上来到了门口。
|
||||
|
||||
那个UPS快递员从卡车里拖出一个托板,并拉到我们车库里。托板上放着2000台树莓派,它们中每一台都比我小时候用过的计算机强多了。我们随机抽查了几台,都可以完美地工作。
|
||||
|
||||
所以我觉得还挺幸运,中国你懂的。然后我们的产品终于开始有量了,我们选择了跟其他所有人不同的方向。我觉得这是这个项目中的另一个决定性时刻,我们认识到,以目前的订单量,我们可以用和在中国同样的成本在西方生产。所以我们可以回归,把所有的生产制造搬回威尔士,也是我出生的地方。像是一个美妙的圆圈。
|
||||
|
||||
**RW:** 有没有一些树莓派的前身没有被制造出来的?
|
||||
|
||||
**EU:** 有的,我们做了许多不同的原型机。我们希望做出一个可以编程,也能吸引小朋友兴趣的东西。“吸引小朋友兴趣”意味着,在某些方面要足够强大。比如,播放视频,玩游戏,以及上网。
|
||||
|
||||
我们有许多能够达到价格目标和可编程目标的原型,但是等我们确定一个合适的方案,它足够强大能够吸引孩子们的热情,已经挺晚了,都到2010年底2011年初了。
|
||||
|
||||
### 派是从哪儿烤好的 ###
|
||||
|
||||
**RW:** 跟我们说说发明树莓派的故事
|
||||
|
||||
**EU:** 我们尝试过基于所谓的微控制器技术做了几台机器。不知道你有没有听过一个叫Arduino的[开源电子原型]平台?它们的性能跟Arduino是一个级别的,优点是很容易买到,是常用的元器件,非常便宜,也很容易掌握。
|
||||
|
||||

|
||||
|
||||
所以我们试了一下。最后的成品只能从技术上来说还是计算机,你可以把它接到电视机或其他显示设备上。但是,它太原始了,很明显不能吸引孩子们的兴趣。这个是一号原型机,它在爱尔兰一家博物馆的叫“失败”的展览中展出[笑]。我下个月会去看看。它现在被装载一个玻璃盒子里,作为一次辉煌失败的典型。
|
||||
|
||||
好的一面是它是手工制作的,你不可能手工制作一块现代的树莓派。但是,这个原型太原始了,你实际上可以把所有器件手工焊接到一起,它就是我一个星期里做好的,是个挺好的小玩具。
|
||||
|
||||
我在大学里呆了差不多10年以后,进入到一家叫Broadcom的公司工作,总部在南加利福尼亚但是在剑桥有个大办公室,主要生产手机芯片。然后,我意识到这种手机芯片非常适合,它是制作像派这样的设备的非常合适的平台,因为它有优秀的图形性能。
|
||||
|
||||
我基于Broadcom开发工具制作了一个原型。这次的原型非常强大,也有更多功能,价格也差不多。不过问题是,它有一套定制的开发环境,而不是一个标准的平台。
|
||||
|
||||
我们得写自己的SD卡驱动,自己的文件系统,自己的文本编辑器。你会发现你得做大量基础工作,虽然最后你能够得到一个强大的可编程的平台,但是它却是完全非标准的[而且]和其他设备完全不一样。从而无法重用那些已经在台式机系统中已经做过的工作。这个是二号原型机。
|
||||
|
||||
真正的突破是三号原型机。我们从Broadcom拿到了另一种应用了ARM处理器的芯片,可以直接运行标准Linux。我们意识到终于可以做出能够满足所有的需求的机器了,这就是我们推向市场的产品。
|
||||
|
||||
### 黑一黑下一代黑客 ###
|
||||
|
||||
**RW:** 八岁的孩子就开始用树莓派做项目了。这在你意料中吗,还是说让你意外了?
|
||||
|
||||
**EU:** 八岁是很好的年纪。我想每个人都会把自己开始编程的年龄定义成合适的年龄。我就是八岁开始编程的。某种程度上来说,孩子们所需要的只是年龄大到拥有相对完整的认知技能,或者说是解决问题的技能。也许在学校学一点数学就够了。
|
||||
|
||||

|
||||
|
||||
年龄大到可以计划任务,编程就是终极的计划任务。还是得有一定的智力基础去做这个事情。八岁的时候,大多数孩子在自己的思维上已经非常成熟了。另外还需要敏捷的身手,对更小的孩子来说还存在一个问题就是,他们还不够灵巧去使用键盘。
|
||||
|
||||
所以说,八岁是很好的年纪。你有合适的身体,有合适的心智,而且还处于生命中能轻松学习新知识的时候。你的大脑还具有非常大的可塑性,可以学习语言。。。
|
||||
|
||||
我的意思是,你要是想让你的小孩学习法语的话,八岁就开始教他,不要等到16岁才开始。正式的计算机教育有一个历史性的缺点,就是太晚开始了,然后就很惊讶为何学生们理解起来概念有困难。所以我认为越早接触越好,而八岁是奇妙的年纪。八岁,十岁,十二岁,十二岁可能都有点晚了。
|
||||
|
||||
我们基金会的CEO,[Lance][3] [Howarth],对初级教育特别热心。他真的认为这是一个实际的机会来做点非常特别的事情。
|
||||
|
||||
**RW:** 所以这是树莓派项目的目的,让小孩子们编程?
|
||||
|
||||
**EU:** 我想我们一直认为可以让孩子们玩编程只是举个例子。但是树莓派的目的是把这个东西做出来看看谁会买它。我们一直相信至少有一部分年轻的孩子会觉得它令人激动。现在我们已经有知识宽度和规模来支持孩子们玩它了。
|
||||
|
||||
[仅仅]做出一个像树莓派的平台和提供相关支持是有很大区别的,如果只是做出来的话,你会发现有1%的八岁孩子会喜欢它并且玩起来,不管你提供多或者少的支持。
|
||||
|
||||
我觉得现在基金会的一个实际的机会是,我们已经可以承担得起开发教材了,我们还可以提倡培训这方面的教师。有个机会是我们可以吸引比1%更多的孩子。还有个机会是吸引那些没有独自处理复杂技术问题倾向的机灵小孩。如果能够提供良好的教程和让他们感兴趣的教材,就能够吸引10%,20%,50%,甚至更多的孩子。
|
||||
|
||||
我们认为80年代是[学习编程]的黄金年代,而实际上,只有很少一部分人学习编程并达到一定深度。大部分人也许可以写个几行,但是能够编写大型程序的还是很少见。
|
||||
|
||||
所以我认为我们目前有一个实际的机会,因为我们可以参与到教材和教师培训的级别,我们也许可以超越80年代。现在有更多的参与者,两性之间也更平等。在80年代,编程很大程度上是男孩们的事情,而这也能反映到我们的工程师社区构成上。我觉得现在有个很好的机会,让更多的女孩子接触电脑编程。这个是挂在枝头上垂得最低的果子了,做到这个,人数马上增加了一半。
|
||||
|
||||
机会有很多,我对树莓派最满意的地方就是我们已经有点规模可以吸引部分人的注意了。
|
||||
|
||||
### 每个人的派 ###
|
||||
|
||||
**RW:** 关于像派这样的项目的潜在需求,对于你来说意味着什么?是不是有一天我们都会变成DIY黑客?
|
||||
|
||||
**EU:** 是的,我意思是,就是这样的。有非常大的这种需求。而且我认为有一条通向制作者社区的纽带。美国的制作者社区比英国成熟多了。我们也确实在举办制作者集会和黑客空间,但是差不多比美国落后了5年左右。
|
||||
|
||||
所以在开始讨论树莓派之后我发现了一件事情,在它获得国际关注的时候,我们发现我们受到一些非常稳定的社区的成员的追捧,他们喜欢各种各样的DIY活动:编织,或者,你知道的,木工。
|
||||
|
||||
所以,这也是为树莓派带来意外增长的其中一个因素。制作者们把它当作用来构建自己项目的模块。这太棒了!
|
||||
|
||||
**RW:** 你怎么看现在出现的主流硬件黑客文化?
|
||||
|
||||
**EU:** 我觉得,这太美妙了,不是吗?这是在软件工程领域里完全无法想到的。我接触这些之前就有软件背景,所以,实际上人们用树莓派制作的大多数很酷的东西都是硬件相关的,让我很惊讶。当然现在没那么吃惊了,不过一开始是有的。
|
||||
|
||||

|
||||
|
||||
我认为这是非常积极的趋势,基于所有这些因素。因为它给孩子们带来了相关的经验。在我看来,在屏幕上移动一下像素还是很酷的,不过事实上,它没有像80年代那样酷了。我觉得,在现实世界里移动一些物体,比如机器人,对于现在的孩子来说是非常酷的。
|
||||
|
||||
当有更多实用性的时候,就会吸引更多的女孩。确实存在一种潜在趋势,尝试和设计针对女孩子的科技活动。不过实际上这并不是关于女孩子,而是关于扩展用户的迫切要求。
|
||||
|
||||
有这样一小段-我之前谈过的关于有1%的小孩会觉得抽象的计算机编程很有趣。“让我们开始学习变量!”我就是他们其中一个。但是,那只是很小一部分,而且看起来更大部分是男孩子。我不知道是不是文化因素或其他的,但是看起来这个世界就是这样的。
|
||||
|
||||
在人们谈论追求实用性来吸引女孩子的时候,根本不关女孩子的事。而是吸引那一小部分男孩之外的所有人。不仅仅吸引女孩,也包括其他男孩。
|
||||
|
||||
从教育的角度来看有一件美妙的事情是,在现实世界里应用计算机做点实际的东西,自然而然会比仅仅在计算机本身上面做点事情有用多了。所以,这就提供了一个方式来吸引女孩子进入这个领域,同样也可以吸引更多的男孩子进入这个领域。
|
||||
|
||||
不再是一个人很好。能够加入到这波兴趣的浪潮中,和许多制作现实世界东西的人一起,也是很精彩的事情。我认识一个南加利福尼亚的小伙,他有两个兴趣就是倒腾派和制作他的锁链甲。有人做这些事情本身就是一件很美妙的事情。
|
||||
|
||||
### 分享你的派 ###
|
||||
|
||||
**RW:** 关于吸引比1%更多人的“实用”项目,能举个例子吗?
|
||||
|
||||
**EU:** 整个机器人技术领域就是个很好的例子。有很多人基于派来制作小型机器人,让它们四周跑跑或做点事情。特别是现在,我们增加了摄像头模块,可以一定程度上实现计算机视觉。
|
||||
|
||||
我觉得其他基于摄像头的项目也会变得更活跃。那些从事野外摄影的人们,以及从事缩时摄影的人们,因为有了这个25美元的摄像头模块,应用范围宽了许多。还有红外版本的模块,所以你可以在晚上拍摄野生动物-写脚本在晚上拍摄相片,然后选择保存里面包含了动作的。这些都非常好。
|
||||
|
||||
我特别喜欢应用到高空气球的任何项目。环境监控-有一些英国的高中学生在IndieGoGo发起了一个叫[AirPi][4]的项目,这是一个污染监控防御系统,底层将用到树莓派。所以会有许多这样的项目,你可以用派来处理物理的,或化学的,或者生物的事情。-这些都是我认为有实用性的事情。这种项目也更容易向孩子们证明,这是值得他们关注的项目。
|
||||
|
||||
**RW:** 我们什么时候可以看到树莓派C型?
|
||||
|
||||
**EU:** 暂时还没有计划。我们目前都还在处理软件工作。我觉得我们还有机会通过调整软件来大幅提升系统性能,再优化一下。
|
||||
|
||||
如果我们现在就启动制作C型,将会抛弃250万使用目前平台的用户。所以我觉得,至少现在,我们决心要继续软件工作,因为这可以帮到所有已经在这个领域里的人。我们感觉通过软件优化还有很大的性能提升空间。
|
||||
|
||||
显然,我们同时也必须做一点[硬件方面]的事情。我真的不知道具体在什么时候。如果到了2017,2018,我们还在销售树莓派B型的话,那也挺糟糕的。但是,我认为我们也许在一年后再认真考虑后面要做什么。
|
||||
|
||||
**RW:** 很多人的项目同时用到了派和Arduino(一个DIY电子调试工具套件)。你在设计派的时候,有考虑类似Arduino的工具吗?
|
||||
|
||||
**EU:** 实际上没有,但是我们很早就意识到,媒体可能会倾向于把我们和Arduino看作竞争者。对于这件事情我们有点多疑,我觉得,因为我认为派和Arduino分别处理不同的事情,而且他们都做得很好。
|
||||
|
||||
我们并没有把它设计成配合Arduino工作,但是Arduino被设计成配合家用PC一起工作。所以,我们实际上为Arduino制作了一台非常低功耗的家用PC。所以好吧,只是巧合,我猜。
|
||||
|
||||
**RW:** 你在家里用树莓派做什么?工作中呢?
|
||||
|
||||
**EU:** 在家里,我把它当作一个媒体中心;这是树莓派一个非常普通的应用。有趣的事,有些从事消费电子的人,把它当作消费电子来用。我当然也是其中之一。
|
||||
|
||||
在工作中,我总是没有我想要的那么多时间来玩玩树莓派。通常在工作的时候如果在用派的话,那是因为我需要测试刚拿到的一些软件更新。大多数时候我用它来检查我花钱请的承包人是否把工作做好了。
|
||||
|
||||
我真心希望明年会有更多休息时间。有时我感觉,除了媒体中心之外,我参与制作了这么神奇的玩具,但是因为它太成功了,我都没有时间去好好玩玩它。
|
||||
|
||||
不过,看到这么多的人喜欢它,看到它被出现在各种不同的地方,也是很开心的。我听说在《生活大爆炸》中提到了我们,我要去找找是哪一集。它出现在所有的这些不可思议的地方。真是非常开心,看到这么多人把它放在心上,开始用它做点事情。
|
||||
|
||||
承蒙树莓派基金会提供Eben Upton的图片;
|
||||
|
||||
树莓派图片来自Flickr用户:[Johan Larsson][5], [Clive Darra][6], [Pete Sneekes][7], [Luca Sbardella][8]和[Ashley Basil][9]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/04/08/raspberry-pi-eben-upton-builders
|
||||
|
||||
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://twitter.com/EbenUpton
|
||||
[2]:http://en.wikipedia.org/wiki/BBC_Micro
|
||||
[3]:http://www.raspberrypi.org/welcome-lance/
|
||||
[4]:http://airpi.es/
|
||||
[5]:https://www.flickr.com/photos/johanl/8384790662
|
||||
[6]:https://www.flickr.com/photos/osde-info/8626662243
|
||||
[7]:https://www.flickr.com/photos/p8/7950485168
|
||||
[8]:https://www.flickr.com/photos/sbardella/7473604878
|
||||
[9]:https://www.flickr.com/photos/28438417@N08/8006786385/in/photolist-dcwSD8-d8PKa3-bmosVm-bmosWG-bz3YJF-e8NRQD-btyqN1-dorXrE-hTF7id-hTF7jL-hTF4mJ-hTF4jj-hTF4q1-hTF7jA-hTF7gj-gKRLrn-ftALdo-c7Qnjs-c7Qnyh-c7QmZj-c7QnY1-c7QmNY-cu8zs3-cu8BWm-cu8u5S-cu8yC3-cu8DBN-cu8wRq-cu8xNL-cu8CJj-cu8tss-cu8BcG-cu8uVL-cu8AoW-hTF7dU-hTEzCr-hTFBCp-hTFBvR-hTFBBH-hTF4hA-hTF7c1-hTEzza-hTFBM2-cdtf1b-bz7n87-gKQSJ7-gKQUko-ds8x8q-dqweVP-cVwvJq
|
||||
Reference in New Issue
Block a user