Merge pull request #3 from LCTT/master

更新2014年12月30日
This commit is contained in:
H-mudcup 2014-12-31 10:36:24 +08:00
commit ed7385ad7b
21 changed files with 1191 additions and 313 deletions

View File

@ -8,23 +8,23 @@ Linux能够提供消费者想要的东西吗
Linux需要深深凝视自己的水晶球仔细体会那场浏览器大战留下的尘埃然后留意一下这点建议
如果你不能提供他们想要的,他们就会离开。
> 如果你不能提供他们想要的,他们就会离开。
而这种事与愿违的另一个例子是Windows 8。消费者不喜欢那套界面。而微软却坚持使用因为这是把所有东西搬到Surface平板上所必须的。相同的情况也可能发生在Canonical和Ubuntu Unity身上 -- 尽管它们的目标并不是单一独特地针对平板电脑来设计(所以,整套界面在桌面系统上仍然很实用而且直观)。
一直以来Linux开发者和设计者们看上去都按照他们自己的想法来做事情。他们过分在意“吃你自家的狗粮”这句话了。以至于他们忘记了一件非常重要的事情
没有新用户,他们的“根基”也仅仅只属于他们自己。
> 没有新用户,他们的“根基”也仅仅只属于他们自己。
换句话说,唱诗班不仅仅是被传道,他们也同时在宣传。让我给你看三个案例来完全掌握这一点。
- 多年以来有在Linux系统中替代活动目录Active Directory的需求。我很想把这个名称换成LDAP但是你真的用过LDAP吗那就是个噩梦。开发者们也努力了想让LDAP能易用一点但是没一个做到了。而让我很震惊的是这样一个从多用户环境下发展起来的平台居然没有一个能和AD正面较量的功能。这需要一组开发人员从头开始建立一个AD的开源替代。这对那些寻求从微软产品迁移的中型企业来说是非常大的福利。但是在这个产品做好之前他们还不能开始迁移。
- 多年以来,一直有在Linux系统中替代活动目录Active Directory的需求。我很想把这个名称换成LDAP但是你真的用过LDAP吗那就是个噩梦。开发者们也努力了想让LDAP能易用一点但是没一个做到了。而让我很震惊的是这样一个从多用户环境下发展起来的平台居然没有一个能和AD正面较量的功能。这需要一组开发人员从头开始建立一个AD的开源替代。这对那些寻求从微软产品迁移的中型企业来说是非常大的福利。但是在这个产品做好之前他们还不能开始迁移。
- 另一个从微软激发的需求是Exchange/Outlook。是我也知道许多人都开始用云。但是事实上中等和大型规模生意仍然依赖于Exchange/Outlook组合直到能有更好的产品出现。而这将非常有希望发生在开源社区。整个拼图的一小块已经摆好了虽然还需要一些工作- 群件客户端Evolution。如果有人能够从Zimbra拉出一个分支然后重新设计成可以配合Evolution甚至Thunderbird来提供服务实现Exchange的简单替代那这个游戏就不是这么玩了而消费者获得的利益将是巨大的。
- 便宜,便宜,还是便宜。这是大多数人都得咽下去的苦药片 - 但是消费者和生意就是希望便宜。看看去年一年Chromebook的销量吧。现在搜索一下Linux笔记本看能不能找到700美元以下的。而只用三分之一的价格就可以买到一个让你够用的Chromebook一个使用了Linux内核的平台。但是因为Linux仍然是一个细分市场很难降低成本。像红帽那种公司也许可以改变现状。他们也已经推出了服务器硬件。为什么不推出一些和Chromebook有类似定位但是却运行完整Linux环境的低价中档笔记本呢请看“[Cloudbook是Linux的未来吗][1]”)其中的关键是这种设备要低成本并且符合普通消费者的要求。不要站在游戏玩家/开发者的角度去思考了,记住普通消费者真正的需求 - 一个网页浏览器不会有更多了。这是Chromebook为什么可以这么轻松地成功。Google精确地知道消费者想要什么然后推出相应的产品。而面对Linux一些公司仍然认为他们吸引买家的唯一途径是高端昂贵的硬件。而有一点讽刺的是口水战中最经常听到的却是Linux只能在更慢更旧的硬件上运行。
最后Linux需要看一看乔布斯传Book Of Jobs搞清楚如何说服消费者们他们真正要的就是Linux。在生意上和在家里 -- 每个人都可以享受到Linux带来的好处。说真的开源社区怎么可能做不到这点呢Linux本身就已经带有很多漂亮的时髦术语标签稳定性,可靠性,安全性,云,免费 -- 再加上Linux实际已经进入到绝大多数人手中了只是他们自己还不清楚罢了。现在是时候让他们知道这一点了。如果你是用Android或者Chromebooks那么你就在用某种形式上的Linux。
最后Linux需要看一看乔布斯传Book Of Jobs搞清楚如何说服消费者们他们真正要的就是Linux。在公司里和在家里 -- 每个人都可以享受到Linux带来的好处。说真的开源社区怎么可能做不到这点呢Linux本身就已经带有很多漂亮的时髦术语标签稳定性、可靠性、安全性、云、免费 -- 再加上Linux实际已经进入到绝大多数人手中了只是他们自己还不清楚罢了。现在是时候让他们知道这一点了。如果你是用Android或者Chromebooks那么你就在用某种形式上的Linux。
搞清楚消费者需求一直以来都是Linux社区的绊脚石。而且我知道 -- 太多的Linux开发都基于某个开发者有个特殊的想法。这意味着这些开发都针对的“微型市场”。是时候无论如何让Linux开发社区能够进行全球性思考了。“一般用户有什么需求我们怎么满足他们”让我提几个最基本的点。
搞清楚消费者需求一直以来都是Linux社区的绊脚石。而且我知道 -- 太多的Linux开发都基于某个开发者有个特殊的想法。这意味着这些开发都针对的“微型市场”。是时候无论如何让Linux开发社区能够进行全球性思考了。“一般用户有什么需求我们怎么满足他们”让我提几个最基本的点。
一般用户想要:
@ -43,7 +43,7 @@ via: http://www.techrepublic.com/article/will-linux-ever-be-able-to-give-consume
作者:[Jack Wallen][a]
译者:[zpl1025](https://github.com/zpl1025)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,21 +1,20 @@
Translating by H-mudcup
如何在Ubuntu桌面上使用Steam Music音乐播放器
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/steam-music.jpg)
**‘音乐让人们走到一起’ 麦当娜曾这样唱道。但是Steam的新音乐播放器特性能否很好的混搭小资与叛逆**
如果你曾与世隔绝充耳不闻你就会错过与Steam Music的相识。播放器的特性并不是全新的。从今年的早些时候开始,它就已经以这样或那样的形式进行了测试。
如果你曾与世隔绝充耳不闻你就会错过与Steam Music的相识。的特性并不是全新的。从今年的早些时候开始,它就已经以这样或那样的形式进行了测试。
但Steam客户端最近一次在Windows、Mac和Linux上的定期更新中所有的客户端都能使用它了。你会问为什么一个游戏客户端会添加一个音乐播放器呢当然是为了让你能一边玩游戏一边一边听你最喜欢的音乐了。
别担心:在游戏的音乐声中再加上你自己的音乐,并没有这句话看起来一样哈哈。Steam会帮你减少或消除游戏的背景音乐但在混音器中保持效果音的高音量以便于你能和平时一样听到那些叮嘭和各种爆炸声。
别担心:在游戏的音乐声中再加上你自己的音乐,听起来并不会像你想象的那么哈哈。Steam会帮你减少或消除游戏的背景音乐但在混音器中保持效果音的高音量以便于你能和平时一样听到那些叮嘭和各种爆炸声。
### 使用Steam Music音乐播放器 ###
### 使用Steam Music音乐播放器 ###
![Music in Big Picture Mode](http://www.omgubuntu.co.uk/wp-content/uploads/2014/10/steam-music-bpm.jpg)
大图模式
*大图模式*
任何使用最新版客户端的人都能使用Steam Music音乐播放器。它是个相当简单的附加程序它让你能从你的电脑中添加、浏览并播放音乐。
@ -27,19 +26,19 @@ Valve说他们“*……计划增加更多的功能以便用户能以新的方
#### Steam Music的重要特性####
- 只播放MP3文件
- 只播放MP3文件
- 与游戏中的音乐相融
- 在游戏中可以控制音乐
- 播放器可以在桌面上或在大图模式下运行
- 基于播放列表的播放方式
**它没有整合到Ubuntu的声音菜单里而且目前也不支持键盘上的多媒体键。**
**它没有整合到Ubuntu的声音菜单里而且目前也不支持键盘上的多媒体键。**
### 在Ubuntu上使用Steam Music播放器 ###
添加音乐是你播放音乐前的第一件事。在Ubuntu上默认设置下Steam会自动添加两个文件夹Home下的标准Music目录和它自带的Steam Music文件夹。任何可下载的音轨都保存在其中。
显然,添加音乐是你播放音乐前的第一件事。在Ubuntu上默认设置下Steam会自动添加两个文件夹Home下的标准Music目录和它自带的Steam Music文件夹。任何可下载的音轨都保存在其中。
注意:目前**Steam Music只播放MP3文件**。如果你打大部分音乐都是其他文件格式(比如.acc、.m4a等等这些文件不会被添加也不能被播放。
注意:目前**Steam Music只能播放MP3文件**。如果你的大部分音乐都是其他文件格式(比如.acc、.m4a等等这些文件不会被添加也不能被播放。
若想添加其他的文件夹或重新扫描:
@ -63,7 +62,7 @@ Steam Music是一个以队列方式工作的系统。你可以通过双击
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/10/steam-music-queue.jpg)
若想**发送桌面播放器**请点击右上角的音符图标或通过**View > Music Player**菜单。
若想**启动桌面播放器**请点击右上角的音符图标或通过**View > Music Player**菜单。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/10/steam-music.jpg)
@ -73,7 +72,7 @@ via: http://www.omgubuntu.co.uk/2014/10/use-steam-music-player-linux
作者:[Joey-Elijah Sneddon][a]
译者:[H-mudcup](https://github.com/H-mudcup)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,44 +1,46 @@
2014年会是 "Linux桌面年"吗?
================================================================================
> 现在谈起Linux桌面终于能头头是道了
> Linux桌面现在终于发出最强音
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-2.jpg)
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-3.jpg)
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-4.jpg)
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-5.jpg)
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-6.jpg)
**看来Linux在2014年有很多改变许多用户都表示今年Linux的确有进步但是仅凭这个就能断定2014年就是"Linux桌面年"吗?**
"Linux桌面年"这句话在过去几年就被传诵得像句颂歌一样可以说是在试图用一种比较有意义的方式来标记它的发展进程。此类事情目前还没有发生过在我们的见证下也从无先例所以这就不难理解为什么Linux用户会用这个角度去看待这句话。
大多数软件和硬件领域不太会有这种快速的进步都以较慢的速度发展但是对于那些在工业领域有更好眼光的人来说事情就会变得疯狂。即使有可能针对某一时刻或某一事件还是比较困难的但是Linux在几年的过程中还是以指数方式迅速发展成长。
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-3.jpg)
### Linux桌面年这句话不可轻言 ###
没有一个比较权威的人和机构能判定Linux桌面年已经到来或者已经过去所以我们只能尝试根据迄今为止我们所看到的和用户所反映的去推断。有一些人比较保守改变对他们影响不大还有一些人则比较激进永远不知满足。这真的要取决于你的见解了。
点燃这一切的火花似乎就是Linux上的Steam平台尽管在这变成现实之前我们已经看到了一些Linux游戏已经开始有重要的动作了。在任何情况下Valve都可能是我们今天所看到的一系列复苏事件的催化剂。
在过去的十年里Linux桌面以一种缓慢的速度在发展并没有什么真正的改变。创新肯定是有的但是市场份额几乎还是保持不变。无论桌面变得多么酷或Linux相比之前的任何一版多出了多少特点很大程度上还是在原地踏步包括那些制作专有软件的公司他们的参与度一直很小基本上就忽略掉了Linux。
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-6.jpg)
在过去的十年里Linux桌面以一种缓慢的速度在发展并没有什么真正的改变。创新肯定是有的但是市场份额几乎还是保持不变。无论桌面变得多么酷或Linux相比之前的任何一版多出了多少特点很大程度上还是在原地踏步包括那些开发商业软件的公司他们的参与度一直很小基本上就忽略掉了Linux。
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-4.jpg)
现在相比过去的十年里更多的公司表现出了对Linux平台的浓厚兴趣。或许这是一种自然地演变Valve并没有做什么但是Linux最终还是达到了一个能被普通用户接受并理解的水平并不只是因为令人着迷的开源技术。
驱动程序能力强了游戏工作室就会定期移植游戏在Linux中我们前所未见的应用和中间件就会开始出现。Linux内核发展达到了难以置信的速度大多数发行版的安装过程通常都不怎么难所有这一切都只是冰山一角。
![](http://i1-news.softpedia-static.com/images/news2/Was-2014-The-Year-of-Linux-Desktop-467036-5.jpg)
所以当有人问你2014年是不是Linux桌面年时你可以说“是的因为Linux桌面完全统治了2014年。
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Was-2014-The-Year-of-Linux-Desktop-467036.shtml
作者:[Silviu Stahie ][a]
作者:[Silviu Stahie][a]
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,12 +1,12 @@
Attic——重复数据删除备份程序
Attic——删除重复数据的备份程序
================================================================================
Attic是一个Python写的重复数据删除备份程序其主要目标是提供一种高效安全的数据备份方式。重复数据消除技术的使用使得Attic适用于日常备份因为它可以只存储那些修改过的数据。
Attic是一个Python写的删除重复数据的备份程序其主要目标是提供一种高效安全的数据备份方式。重复数据消除技术的使用使得Attic适用于日常备份因为它可以只存储那些修改过的数据。
### Attic特性 ###
#### 空间高效存储 ####
可变块大小重复数据消除技术用于减少检测到的冗余数据存储字节数量。每个文件被分割成若干可变长度组块,只有那些从没见过的组块会被压缩并添加到仓库中。
可变块大小重复数据消除技术用于减少检测到的冗余数据存储字节数量。每个文件被分割成若干可变长度组块,只有那些从没见过的组块会被压缩并添加到仓库中。
#### 可选数据加密 ####
@ -44,29 +44,29 @@ Attic可以通过SSH将数据存储到安装有Attic的远程主机上。
该备份将更快些,也更小些,因为只有之前从没见过的新数据会被存储。--stats选项会让Attic输出关于新创建的归档的统计数据比如唯一数据不和其它归档共享的数量
归档名Tuesday
归档指纹387a5e3f9b0e792e91ce87134b0f4bfe17677d9248cb5337f3fbf3a8e157942a
开始时间: Tue Mar 25 12:00:10 2014
结束时间: Tue Mar 25 12:00:10 2014
持续时间: 0.08 seconds
文件数量: 358
最初大小 压缩后大小 重复数据删除后大小
本归档: 57.16 MB 46.78 MB 151.67 kB
所有归档114.02 MB 93.46 MB 44.81 MB
归档名Tuesday
归档指纹387a5e3f9b0e792e91ce87134b0f4bfe17677d9248cb5337f3fbf3a8e157942a
开始时间: Tue Mar 25 12:00:10 2014
结束时间: Tue Mar 25 12:00:10 2014
持续时间: 0.08 seconds
文件数量: 358
最初大小 压缩后大小 重复数据删除后大小
本归档: 57.16 MB 46.78 MB 151.67 kB
所有归档114.02 MB 93.46 MB 44.81 MB
列出仓库中所有归档:
$ attic list /somewhere/my-repository.attic
Monday Mon Mar 24 11:59:35 2014
Tuesday Tue Mar 25 12:00:10 2014
Monday Mon Mar 24 11:59:35 2014
Tuesday Tue Mar 25 12:00:10 2014
列出Monday归档的内容
$ attic list /somewhere/my-repository.attic::Monday
drwxr-xr-x user group 0 Jan 06 15:22 home/user/Documents
-rw-r--r-- user group 7961 Nov 17 2012 home/user/Documents/Important.doc
drwxr-xr-x user group 0 Jan 06 15:22 home/user/Documents
-rw-r--r-- user group 7961 Nov 17 2012 home/user/Documents/Important.doc
恢复Monday归档
@ -76,7 +76,7 @@ drwxr-xr-x user group 0 Jan 06 15:22 home/user/Documents
$ attic delete /somwhere/my-backup.attic::Monday
详情请查阅[Attic文档][1]
详情请查阅[Attic文档][1]
--------------------------------------------------------------------------------
@ -84,7 +84,7 @@ via: http://www.ubuntugeek.com/attic-deduplicating-backup-program.html
作者:[ruchi][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,4 +1,4 @@
红帽反驳“grinch”算不上Linux漏洞
红帽反驳“grinch(鬼精灵)”算不上Linux漏洞
================================================================================
![](http://images.techhive.com/images/article/2014/12/grinch-linux-100536132-primary.idge.png)
@ -14,7 +14,7 @@
Alert Logic 称攻击者可以使用第三方Linux 软件框架Policy Kit (Polkit)达到利用“鬼精灵”漏洞的目的。Polkit旨在帮助用户安装与运行软件包此开源程序由红帽维护。Alert Logic 声称允许用户安装软件程序的过程中往往需要超级用户权限如此一来Polkit也在不经意间或通过其它形式为恶意程序的运行洞开方便之门。
红帽对此不以为意,表示系统就是这么设计的,换句话说,“鬼精灵”不是臭虫而是一项特性。
红帽对此不以为意,表示系统就是这么设计的,换句话说,**“鬼精灵”不是臭虫而是一项特性。**
安全监控公司Threat Stack联合创造人 Jen Andre [就此在一篇博客][4]中写道“如果你任由用户通过使用那些利用了Policykit的软件无需密码就可以在系统上安装任何软件实际上也就绕过了Linux内在授权与访问控制。”
@ -52,7 +52,7 @@ via:http://www.computerworld.com/article/2861392/security0/the-grinch-isnt-a-lin
作者:[Joab Jackson][a]
译者:[yupmoon](https://github.com/yupmoon)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,10 +1,10 @@
Linux有问必答-- 如何在Debian下安装闭源软件包
Linux有问必答如何在Debian下安装闭源软件包
================================================================================
> **提问**: 我需要在Debian下安装特定的闭源设备驱动。然而, 我无法再Debian中找到并安装包.如何在Debian下安装闭源软件包?
> **提问**: 我需要在Debian下安装特定的闭源设备驱动。然而, 我无法在Debian中找到并安装软件包。如何在Debian下安装闭源软件包?
Debian是一个拥有[48,000][1]软件包的发行版. 这些软件包被分为三类: main, contrib 和 non-free, 主要是根据许可证要求, 例如, [Debian开源软件指南][2] (DFSG).
Debian是一个拥有[48,000][1]软件包的发行版. 这些软件包被分为三类: main, contrib 和 non-free, 主要是根据许可证要求, 参照[Debian开源软件指南][2] (DFSG)。
main软件仓库包括符合DFSG的开源软件。contrib也包括符合DFSG的开源软件但是依赖闭源软件来编译或者执行。non-free包括不符合DFSG的可再分发的闭源软件。main仓库被认为是Debian项目的一部分但是contrib和non-free不是。后两者只是为了用户的方便而维护和提供。
main软件仓库包括符合DFSG的开源软件。contrib也包括符合DFSG的开源软件但是依赖闭源软件来编译或者执行。non-free包括不符合DFSG的可再分发的闭源软件。main仓库被认为是Debian项目的一部分但是contrib和non-free不是。后两者只是为了用户的方便而维护和提供。
如果你想一直能够在Debian上安装闭源软件包你需要添加contrib和non-free软件仓库。这样做,用文本编辑器打开 /etc/apt/sources.list 添加"contrib non-free""到每个源。
@ -22,11 +22,11 @@ main软件仓库包括符合DFSG的开源软件。contrib也包括符合DFSG的
![](https://farm8.staticflickr.com/7562/16063758036_0ef8fce075_b.jpg)
修改完源后, 运行下面命令去下载contrib和non-free软件仓库的文件索引.
修改完源后, 运行下面命令去下载contrib和non-free软件仓库的文件索引
$ sudo apt-get update
如果你用 aptitude, 运行下面命令.
如果你用 aptitude, 运行下面命令
$ sudo aptitude update
@ -39,7 +39,7 @@ main软件仓库包括符合DFSG的开源软件。contrib也包括符合DFSG的
via: http://ask.xmodulo.com/install-nonfree-packages-debian.html
译者:[mtunique](https://github.com/mtunique)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,44 +0,0 @@
Linus Torvalds Launches Linux Kernel 3.19 RC1, One of the Biggest So Far
================================================================================
> new development cycle for Linux kernel has started
![](http://i1-news.softpedia-static.com/images/news2/Linus-Torvalds-Launches-Linux-kernel-3-19-RC1-One-of-the-Biggest-So-Far-468043-2.jpg)
**The first Linux kernel Release Candidate has been made available in the 3.19 branch and it looks like it's one of the biggest ones so far. Linux Torvalds surprised everyone with an early launch, but it's easy to understand why.**
The Linux kernel development cycle has been refreshed with a new released, 3.19. Given the fact that the 3.18 branch reached stable status just a couple of weeks ago, today's release was not completely unexpected. The holidays are coming and many of the developers and maintainers will probably take a break. Usually, a new RC is launched on a weekly basis, but users might see a slight delay this time.
There is no mention of the regression problem that was identified in Linux kernel 3.18, but it's pretty certain that they are still working to fix it. On the other hand, Linux did say that this is a very large released, in fact it's one of the biggest ones made until now. It's likely that many devs wanted to push their patches before the holidays, so the next RC should be a smaller.
### Linux kernel 3.19 RC1 marks the start of a new cycle ###
The size of the releases has been increasing, along with the frequency. The development cycle for the kernel usually takes about 8 to 10 weeks and it seldom happens to be more than that, which brings a nice predictability for the project.
"That said, maybe there aren't any real stragglers - and judging by the size of rc1, there really can't have been much. Not only do I think there are more commits than there were in linux-next, this is one of the bigger rc1's (at least by commits) historically. We've had bigger ones (3.10 and 3.15 both had large merge windows leading up to them), but this was definitely not a small merge window."
"In the 'big picture', this looks like a fairly normal release. About two thirds driver updates, with about half of the rest being architecture updates (and no, the new nios2 patches are not at all dominant, it's about half ARM, with the new nios2 support being less than 10% of the arch updates by lines overall)," [reads][1] the announcement made by Linus Torvalds.
More details about this RC can be found on the official mailing list.
#### Download Linux kernel 3.19 RC1 source package: ####
- [tar.xz (3.18.1 Stable)][3]File size: 77.2 MB
- [tar.xz (3.19 RC1 Unstable)][4]
It you want to test it, you will need to compile it yourself although it's advisable to not use a production machines.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Linus-Torvalds-Launches-Linux-kernel-3-19-RC1-One-of-the-Biggest-So-Far-468043.shtml
作者:[Silviu Stahie ][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://news.softpedia.com/editors/browse/silviu-stahie
[1]:http://lkml.iu.edu/hypermail/linux/kernel/1412.2/02480.html
[2]:http://linux.softpedia.com/get/System/Operating-Systems/Kernels/Linux-Kernel-Development-8069.shtml
[3]:https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.1.tar.xz
[4]:https://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-3.19-rc1.tar.xz

View File

@ -1,70 +0,0 @@
Calife A lightweight alternative to sudo
================================================================================
Calife requests user's own password for becoming login (or root, if no login is provided), and switches to that user and group ID after verifying proper rights to do so. A shell is then executed. If calife is executed by root, no password is requested and a shell with the appropriate user ID is executed.
The invoked shell is the user's own except when a shell is specified in the configuration file calife.auth.
If "-" is specified on the command line, user's profile files are read as if it was a login shell.
This is not the traditional behavior of su.
Only users specified in calife.auth can use calife to become another one with this method.
calife.auth is installed as /etc/calife.auth
### Calife Features ###
Here is an extensive list of features:
you keep your environment variables and shell aliases intact
it has start and end of session logging
you can have a list of all permitted logins for each calife user. That way, you can give a user newsmasters rights without giving out the root password
you can specify a group in the configuration file instead of the logins of all administrators: Juste use @staff or %staff and all members of the staff group will have access to calife
calife can also be used to become users even if they have no home directory or even no shell. Thats very practical if you want to become uucp or even bin
you can make calife runs a specific system-wide script at the end of the session (to send a mailabout what was done as root for example)
### Install calife in ubuntu ###
Open the terminal and run the following command
sudo apt-get install calife
### Using Calife ###
### Syntax ###
calife [-] [login]
Check calife manpage for more details
--------------------------------------------------------------------------------
via: http://www.ubuntugeek.com/calife-a-lightweight-alternative-to-sudo.html
作者:[ruchi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.ubuntugeek.com/author/ubuntufix
[1]:
[2]:
[3]:
[4]:
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]:

View File

@ -1,3 +1,4 @@
[Translating by Stevarzh]
How to Download Music from Grooveshark with a Linux OS
================================================================================
> The solution is actually much simpler than you think

View File

@ -0,0 +1,104 @@
[zhouj-sh translating...]
2 Ways To Fix The UEFI Bootloader When Dual Booting Windows And Ubuntu
================================================================================
The main problem that users experience after following my [tutorials for dual booting Ubuntu and Windows 8][1] is that their computer continues to boot directly into Windows 8 with no option for running Ubuntu.
Here are two ways to fix the EFI boot loader to get the Ubuntu portion to boot correctly.
![Set GRUB2 As The Bootloader.](http://0.tqn.com/y/linux/1/L/E/J/1/grub2.JPG)
### 1. Make GRUB The Active Bootloader ###
There are a few things that may have gone wrong during the installation.
In theory if you have managed to install Ubuntu in the first place then you will have [turned off fast boot][2].
Hopefully you [followed this guide to create a bootable UEFI Ubuntu USB drive][3] as this installs the correct UEFI boot loader.
If you have done both of these things as part of the installation, the bit that may have gone wrong is the part where you set GRUB2 as the boot manager.
To set GRUB2 as the default bootloader follow these steps:
1.Login to Windows 8
2.Go to the desktop
3.Right click on the start button and choose administrator command prompt
4.Type mountvol g: /s (This maps your EFI folder structure to the G drive).
5.Type cd g:\EFI
6.When you do a directory listing you will see a folder for Ubuntu. Type dir.
7.There should be options for grubx64.efi and shimx64.efi
8.Run the following command to set grubx64.efi as the bootloader:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
9:Reboot your computer
10:You should now have a GRUB menu appear with options for Ubuntu and Windows.
11:If your computer still boots straight to Windows repeat steps 1 through 7 again but this time type:
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
12:Reboot your computer
What you are doing here is logging into the Windows administration command prompt, mapping a drive to the EFI partition so that you can see where the Ubuntu bootloaders are installed and then either choosing grubx64.efi or shimx64.efi as the bootloader.
So [what is the difference between grubx64.efi and shimx64.efi][4]? You should choose grubx64.efi if secureboot is turned off. If secureboot is turned on you should choose shimx64.efi.
In my steps above I have suggested trying one and then trying another. The other option is to install one and then turn secure boot on or off within the UEFI firmware for your computer depending on the bootloader you chose.
### 2. Use rEFInd To Dual Boot Windows 8 And Ubuntu ###
The [rEFInd boot loader][5] works by listing all of your operating systems as icons. You will therefore be able to boot Windows, Ubuntu and operating systems from USB drives simply by clicking the appropriate icon.
To download rEFInd for Windows 8 [click here][6].
After you have downloaded the file extract the zip file.
Now follow these steps to install rEFInd.
1.Go to the desktop
2.Right click on the start button and choose administrator command prompt
3.Type mountvol g: /s (This maps your EFI folder structure to the G drive)
4.Navigate to the extracted rEFInd folder. For example:
cd c:\users\gary\downloads\refind-bin-0.8.4\refind-bin-0.8.4
When you type dir you should see a folder for refind
5.Type the following to copy refind to the EFI partition:
xcopy /E refind g:\EFI\refind\
6.Type the following to navigate to the refind folder
cd g:\EFI\refind
7.Rename the sample configuration file:
rename refind.conf-sample refind.conf
8.Run the following command to set rEFInd as the bootloader
bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi
9.Reboot your computer
10.You should now have a menu similar to the image above with options to boot Windows and Ubuntu
This process is fairly similar to choosing the GRUB bootloader.
Basically it involves downloading rEFInd, extracting the files. copying the files to the EFI partition, renaming the configuration file and then setting rEFInd as the boot loader.
### Summary ###
Hopefully this guide has solved the issues that some of you have been having with dual booting Ubuntu and Windows 8.1. If you are still having issues feel free to get back in touch using the email link above.
作者:[Gary Newell][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
via:http://linux.about.com/od/LinuxNewbieDesktopGuide/tp/3-Ways-To-Fix-The-UEFI-Bootloader-When-Dual-Booting-Windows-And-Ubuntu.htm
[a]:http://linux.about.com/bio/Gary-Newell-132058.htm
[1]:http://linux.about.com/od/LinuxNewbieDesktopGuide/ss/The-Ultimate-Windows-81-And-Ubuntu-
[2]:http://linux.about.com/od/howtos/ss/How-To-Create-A-UEFI-Bootable-Ubuntu-USB-Drive-Using-Windows_3.htm#step-heading
[3]:http://linux.about.com/od/howtos/ss/How-To-Create-A-UEFI-Bootable-Ubuntu-USB-Drive-Using-Windows.htm
[4]:https://wiki.ubuntu.com/SecurityTeam/SecureBoot
[5]:http://www.rodsbooks.com/refind/installing.html#windows
[6]:http://sourceforge.net/projects/refind/files/0.8.4/refind-bin-0.8.4.zip/download

View File

@ -1,61 +0,0 @@
Translating by ZTinoZ
Linux FAQs with Answers--How to fix “XXX is not in the sudoers file” error
================================================================================
> **Question**: I am trying to use sudo to run some privileged command on my Linux. However, when I attempt to do so, I am getting "[my-user-id] is not in the sudoers file. This incident will be reported." error message. How can I resolve this sudo error?
sudo is a program which enables specific groups of users to run a command with the privilege of another user (typically root). sudo comes with detailed logging capability, and offers finer granular control over which user can type what commands via sudo.
### Sudo vs. Su ###
The su command also offers similar privilege escalation capability. Difference between sudo and su is their authentication process and the granularity of priviledge change. su allows you to switch your login session to another user's, where you can then run any arbitrary programs with the user's privilege as many times as you want. You will have to know the target user's password to switch to the user though. On the other hand, sudo works on a per-command basis, allowing you to run a single command with root privilege. To use sudo, you don't have to know the root password, but enter your own password at sudo password prompt.
### Add a User to Sudoers List ###
As a new user, if you attempt to run sudo command, you will encounter the following error. This means that you are not in the sudoers list which contains a group of users who are authorized to use sudo.
[my-user-id] is not in the sudoers file. This incident will be reported.
There are two ways to add you to sudoers list.
### Metho One ###
The first method is to add you to the Linux group named sudo. This special Linux group is pre-configured to be able to use sudo. Thus once you are in the group, you can run sudo command.
The following command will add you to sudo Linux group. Make sure to run the command as the root.
# adduser <username> sudo
Now confirm that your group membership has been updated. Use groups command to see a list of groups you currently belong to. The list must include sudo group.
$ groups
----------
alice adm cdrom sudo dip plugdev fuse lpadmin netdev sambashare davfs2 libvirtd docker promiscuous
he group membership change (and sudo access) will be activated once you log out and log back in.
### Metho Two ###
The second method to enable you to use sudo is to add yourself to /etc/sudoers configuration file directly.
To change /etc/sudoers file, you can use a special sudo editor command called visudo. Simply invoke the following command as the root.
# visudo
This will open up /etc/sudoers file for editing. Append the following line to the end of the file, and press Ctrl+X. When prompted, save the change, and exit.
<username> ALL=(ALL) ALL
This change will be effective immediately, and you will be able to use sudo right away.
![](https://farm8.staticflickr.com/7511/15866443418_e147329e1b_c.jpg)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/fix-is-not-in-the-sudoers-file.html
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,81 +0,0 @@
Vic020
Linux FAQs with Answers--How to install Kingsoft Office on Linux
================================================================================
> **Question**: I heard good things about Kingsoft Office, so I would like to try it out on my Linux. How can I install Kingsoft Office on [insert your Linux distro]?
Kingsoft Office is an office suite available for muliple platforms including Windows, Linux, iOS and Android. It comes with three programs: Writer for word processing, Presentation for presentations, and Spreadsheets for spreadsheets. It is freemium model, where the basic version is free to use. Compared to other Linux office suites such as LibreOffice or OpenOffice, the best advantage of Kingsoft Office is its **excellent compatibility with Microsoft Office**. Thus for those of you who need to use an office suite on Linux and Windows platforms interchangeably, Kingsoft Office is a good choice for Linux platform.
### Install Kingsoft Office on CentOS, Fedora or RHEL ###
Download a RPM file for the [official site][1]. The official RPM package is available as a 32-bit version only, but you can install it on both 32-bit and 64-bit systems.
Use yum command with "localinstall" option to install the RPM file.
$ sudo yum localinstall kingsoft-office-9.1.0.4244-0.1.a12p3.i686.rpm
Note that do NOT use rpm command to install it. Otherwise, you will get unmet dependency errors, which are not easy to solve manually:
error: Failed dependencies:
libICE.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libSM.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libX11.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libXext.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libXrender.so.1 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libc.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
Red Hat based distributions have multilib support. If the RPM package you are trying to install is 32-bit and has 32-bit library dependencies, a better way is to use yum to install it as shown above. As long as the RPM is properily built with all dependency information, yum should be able to install it using yum repositories.
![](https://farm9.staticflickr.com/8626/16040291445_ca62275064_c.jpg)
### Install Kingsoft Office on Debian, Ubuntu or Linux Mint ###
Download a DEB package from the [official site][2]. The official DEB package is available as a 32-bit version only, but you can install it on both 32-bit and 64-bit systems.
The DEB package has a set of dependencies to meet. Therefore use [gdebi][3] instead of dpkg command to automatically resolve dependencies.
$ sudo apt-get install gdebi-core
$ sudo gdebi kingsoft-office_9.1.0.4244~a12p3_i386.deb
### Launch Kingsoft Office ###
Once Kingsoft Office is installed, you can launch Witer, Presentation, and Spreadsheets from the desktop manager easily.
On Ubuntu Unity:
![](https://farm9.staticflickr.com/8591/16039583702_632a49779f_z.jpg)
On GNOME:
![](https://farm9.staticflickr.com/8617/16039583622_4e7c1d8545_b.jpg)
Alternatively, you can also launch Kingsoft Office from the command line.
To launch Kingsoft Writer from the command line, use this command:
![](https://farm8.staticflickr.com/7525/16039583642_7202457899_c.jpg)
To launch Kingsoft Presentation from the command line, use this command:
$ wpp
![](https://farm8.staticflickr.com/7570/15420632223_4243cc99d9_c.jpg)
To launch Kingsoft Spreadsheets from the command line, use this command:
$ et
![](https://farm9.staticflickr.com/8682/15852842558_97edda4afd_c.jpg)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/install-kingsoft-office-linux.html
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://ksosoft.com/product/office-2013-linux.html
[2]:http://ksosoft.com/product/office-2013-linux.html
[3]:http://xmodulo.com/how-to-install-deb-file-with-dependencies.html

View File

@ -0,0 +1,125 @@
4 Steps to Setup Local Repository in Ubuntu using APT-mirror
================================================================================
Today we will show you how to setup a local repository in your Ubuntu PC or Ubuntu Server straight from the official Ubuntu repository. There are a lot benefit of creating a local repository in your computer if you have a lot of computers to install software, security updates and fixes often in all systems, then having a local Ubuntu repository is an efficient way. Because all required packages are downloaded over the fast LAN connection from your local server, so that it will save your Internet bandwidth and reduces the annual cost of Internet..
You can setup a local repository of Ubuntu in your local PC or server using many tools, but we'll featuring about APT-Mirror in this tutorial. Here, we'll be mirroring packages from the default mirror to our Local Server or PC and we'll need at least **120 GB** or more free space in your local or external hard drive. It can be configured through a **HTTP** or **FTP** server to share its software packages with local system clients.
We'll need to install Apache Web Server and APT-Mirror to get our stuffs working out of the box. Here are the steps below to configure a working local repository:
### 1. Installing Required Packages ###
First of all, we are going to pull whole packages from the public repository of Ubuntu package server and save them in our local Ubuntu server hard disk.
We'll first install a web server to host our local repository. We'll install Apache web server but you can install any web server you wish, web server are necessary for the http protocol. You can additionally install FTP servers like proftpd, vsftpd,etc if you need to configure for ftp protocols and Rsync for rsync protocols.
$ sudo apt-get install apache2
And then we'll need to install apt-mirror:
$ sudo apt-get install apt-mirror
![apt-mirror-installation](http://blog.linoxide.com/wp-content/uploads/2014/12/apt-mirror-install.png)
**Note: As I have already mentioned that we'll need at least 120 GBs free space to get all the packages mirrored or download.**
### 2. Configuring APT-Mirror ###
Now create a directory on your harddisk to save all packages. For example, let us create a directory called “/linoxide”. We are going to save all packages in this directory:
$ sudo mkdir /linoxide
![repo-dir](http://blog.linoxide.com/wp-content/uploads/2014/12/mkdir-linoxide.png)
Now, open the file **/etc/apt/mirror.list** file
$ sudo nano /etc/apt/mirror.list
![apt-mirror-edit](http://blog.linoxide.com/wp-content/uploads/2014/12/edit-mirror-list-300x7.png)
Copy the below lines of configuration to mirror.list and edit as your requirements.
############# config ##################
#
set base_path /linoxide
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu
![mirror-list-config](http://blog.linoxide.com/wp-content/uploads/2014/12/mirror-list-config.png)
**Note: You can replace the above official mirror server url by the nearest one, you can get your nearest server by visiting the page [Ubuntu Mirror Server][1]. If you are not in hurry and can wait for the mirroring, you can go with the default official one.**
Here, we are going to mirror package repository of the latest and greatest LTS release of Ubuntu ie. Ubuntu 14.04 LTS (Trusty Tahr) so, we have configured trusty. If you need to mirror of Saucy or other version of Ubuntu, please edit it as its codename.
Now, we'll have to run apt-mirror which will now get/mirror all the packages in the repository.
sudo apt-mirror
It will take time to download all the packages from the Ubuntu Server which depends upon the connection speed and performance with respect to you and the mirror server. I have interrupted the download as I have already done that...
![downloading-packages](http://blog.linoxide.com/wp-content/uploads/2014/12/downloading-index.png)
### 3.Configuring Web Server ###
To be able to access the repo from other computers you need a webserver. You can also do it via ftp but I choose to use a webserver as I mentioned in above step 1. So, we are now gonna configure Apache Server:
We will create a symlink from our local repo's directory to a directory ubuntu in the hosting directory of Apache ie /var/www/ubuntu
$ sudo ln -s /linoxide /var/www/ubuntu
$ sudo service apache2 start
![symlinks-apache2](http://blog.linoxide.com/wp-content/uploads/2014/12/symblink-apache2.png)
The above command will allow us to browse our Mirrored Repo from our localhost ie http://127.0.0.1 by default.
### 4. Configuring Client Side ###
Finally, we need to add repository source in other computers which will fetch the packages and repository from our computer. To do that, we'll need to edit /etc/apt/sources.list and add the following lines.
$ sudo nano /etc/apt/sources.list
Add this line in /etc/apt/sources.list and save.
deb http://192.168.0.100/ubuntu/ trusty main restricted universe
**Note: here 192.168.0.100 is the LAN IP address of our server computer, you need to replace that with yours.**
$ sudo apt-get update
Finally, we are done. Now you can install the required packages using sudo apt-get install packagename from your local Ubuntu repository with high speed download and with low bandwidth.
--------------------------------------------------------------------------------
via: http://linoxide.com/ubuntu-how-to/setup-local-repository-ubuntu/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:https://launchpad.net/ubuntu/+archivemirrors

View File

@ -0,0 +1,265 @@
translating by mtunique
5 User Space Debugging Tools in Linux
================================================================================
By definition, debugging tools are those programs which allow us to monitor ,control and correct errors in other programs while they execute. Why should we use debugging tools? To answer this, there are various situations where we get stuck while running some programs and will have the need to understand what exactly happened. For example, we might be running an application and it produces some error messages. To fix those errors, we should first figure out why and from where did the error messages come from. An application might suddenly hang and we will have to know what other processes were running at that time. We might also have to figure out what was process 'x' doing at the time of hang. In order to dissect such details, we will need the help of debugging tools. There are a few user space debugging tools and techniques in Linux which are quite useful in analysing user space problems. They are:
- **'print' statements**
- **Querying (/proc, /sys etc)**
- **Tracing (strace/ltrace)**
- **Valgrind (memwatch)**
- **GDB**
Let's go through each of them one by one.
### 1.'print' statements ###
This is a basic or primitive way of debugging a problem. We can insert print statements in the middle of a program to understand the control flow and get the value of key variables. Though it is a simple technique, it has some disadvantages to it. Programs need to be edited to add 'print 'statements which then will have to be recompiled and rerun to get the output. This is a time-consuming method if the program to be debugged is quite big.
### 2. Querying ###
In some situations, we might want to figure out in what state a running process is in the kernel or what is the memory map that it is occupying there etc. In order to obtain this type of information, we need not insert any code into the kernel. Instead, one can use the /proc filesystem.
/proc is a pseudo filesystem that gets populated with runtime system information (cpu information, amount of memory etc) once the system is up and running.
![output of 'ls /proc'](http://blog.linoxide.com/wp-content/uploads/2014/12/proc-output.png)
output of 'ls /proc'
As you can see, each process that is running in the system has an entry in the /proc filesystem in the form of its process id . Details about each of these processes can be obtained by looking into the files present in its process id directory
![output of 'ls /proc/pid'](http://blog.linoxide.com/wp-content/uploads/2014/12/proc-pid.png)
output of 'ls /proc/pid'
Explaining all the entries inside the /proc filesystem is beyond the scope of this document. Some of the useful ones are listed below:
- /proc/cmdline -> Kernel command line
- /proc/cpuinfo -> information about the processor's make, model etc
- /proc/filesystems -> filesystem information supported by the kernel
- /proc//cmdline -> command line arguments passed to the current process
- /proc//mem -> memory held by the process
- /proc//status -> status of the process
### 3. Tracing ###
strace and ltrace are two of the tracing tools used in Linux to trace program execution details.
#### strace: ####
strace intercepts and records system calls within a process and the signals received by it. To the user, it displays the system calls, arguments passed to them and the return values. strace can be attached to a process that is already running or to a new process. It is useful as a diagnostic and debugging tools for developers and system administrators. It can also be used as a tool to understand how system calls work by tracing different programs. Advantage of this tool is that no source code is needed and programs need not be recompiled.
The basic syntax for using strace is:
**strace command**
There are various options that are available to be used with strace command. One can check out the man page for strace tool to get more details.
The output of strace can be quite lengthy and we may not be interested in going through each and every line that is displayed. We can use the '-e expr' option to filter the unwanted data.
Use '-p pid' option to attach it to a running process.
Output of the command can be redirected to a file using the '-o' option
![output of strace filtering only the open system call](http://blog.linoxide.com/wp-content/uploads/2014/12/strace-output.png)
output of strace filtering only the open system call
#### ltrace: ####
ltrace tracks and records the dynamic (runtime) library calls made by a process and the signals received by it. It can also track the system calls made within a process. It's usage is similar to strace
**ltrace command**
'-i ' option prints the instruction pointer at the time of library call
'-S' option is used to display both system calls and library calls
Refer to the ltrace man page for all the available options.
![output of ltrace capturing 'strcmp' library call](http://blog.linoxide.com/wp-content/uploads/2014/12/ltrace-output.png)
output of ltrace capturing 'strcmp' library call
### 4. Valgrind ###
Valgrind is a suite of debugging and profiling tools. One of the widely used and the default tool is a memory checking tool called 'Memcheck' which intercepts calls made to malloc(), new(), free() and delete(). In other words, it is useful in detecting problems like:
- memory leaks
- double freeing
- boundary overruns
- using uninitialized memory
- using a memory after it has been freed etc.
It works directly with the executable files.
Valgrind comes with a few drawbacks as well. It can slow down your program as it increases the memory footprint. It can sometimes produce false positives and false negatives. It cannot detect out-of-range access to statically allocated arrays
In order to use it, first download it and install it on your system. ([Valgrind's download page][1]). It can be installed using the package manager for the operating system that one is using.
Installation using command line involves decompressing and untarring the downloaded file.
tar -xjvf valgring-x.y.z.tar.bz2 (where x.y.z is the version number you are trying to install)
Get inside the newly created directory (valgrind-x.y.z)and run the following commands:
./configure
make
make install
Let's understand how valgrind works with a small program(test.c):
#include <stdio.h>
void f(void)
{
int x = malloc(10 * sizeof(int));
x[10] = 0;
}
int main()
{
f();
return 0;
}
Compile the program:
gcc -o test -g test.c
Now we have an executable file called 'test'. We can now use valgrind to check for memory errors:
valgrind tool=memcheck leak-check=yes test
Here is the valgrind output showing the errors:
![output of valgrind showing heap block overrun and memory leak](http://blog.linoxide.com/wp-content/uploads/2014/12/Valgrind.png)
output of valgrind showing heap block overrun and memory leak
As we can see in the above message, we are trying to access the area beyond what is allocated in function f and the allocated memory is not freed.
### 5. GDB ###
GDB is a debugger from Free Software Foundation. It is useful in locating and fixing problems in the code. It gives control to the user to perform various actions when the program to be debugged is running, like:
- starting the program
- stop at specified locations
- stop on specified conditions
- examine required information
- make changes to data in the program etc.
One can also attach a core dump of a crashed program to GDB and analyse the cause of crash.
GDB provides a lot of options to debug programs. However, we will cover some important options here so that one can get a feel of how to get started with GDB.
If you do not already have GDB installed, it can be downloaded from [GDB's official website][2].
#### Compiling programs: ####
In order to debug a program using GDB, it has to be compiled using gcc with the'-g' option. This produces debugging information in the operating system's native format and GDB works with this information.
Here is a simple program (example1.c)performing divide by zero to show the usage of GDB:
#include
int divide()
{
int x=5, y=0;
return x / y;
}
int main()
{
divide();
}
![An example showing usage of gdb](http://blog.linoxide.com/wp-content/uploads/2014/12/gdb-example.png)
An example showing usage of gdb
#### Invoking GDB: ####
GDB can be started by executing 'gdb' in the command-line:
![invoking gdb](http://blog.linoxide.com/wp-content/uploads/2014/12/gdb.png)
invoking gdb
Once invoked, it remains there waiting for commands from the terminal and executing them until exited .
If a process is already running and you need to attach GDB to it, it can be done by specifying the process id Suppose a program has already crashed and one wants to analyse the cause of the problem, then attaching GDB to the core file helps.
#### Starting the program: ####
Once you are inside GDB, use the 'run' command to start the program to be debugged
#### Passing arguments to the program: ####
Use the 'set args' command to send the arguments to your program when it runs next time 'show args' will show the arguments passed to the program
#### Verifying the stack: ####
Whenever a program stops, first thing anyone wants to understand is why it stopped and how it stopped there. This information is called backtrace. Every function call generated by a program gets stored along with the local variables, arguments passed, call location etc in a block of data inside the stack and is called a frame. Using GDB we can examine all this data. GDB identifies these frames by giving them numbers starting from the innermost frame.
- **bt**: prints the backtrace of the entire stack
- **bt <n>** prints the backtrace of n frames
- **frame <frame number>**: switches to the specified frame and prints that frame
- **up <n>**: move 'n' frames up
- **down <n>**: move 'n' frames down. ( n is 1 by default)
#### Examining data: ####
Program's data can be examined inside GDB using the 'print' command. For example, if 'x' is a variable inside the debugging program, 'print x' prints the value of x.
#### Examining source: ####
Parts of source file can be printed within GDB. 'list' command by default prints 10 lines of code.
- **list <linenum>**: list the source file around 'linenum'
- **list <function>**: list the source from the beginning of 'function'
- **disas <function>**: displays the machine code for the function
#### Stopping and resuming the program: ####
Using GDB, we can set breakpoints, watchpoint etc in order to stop the program wherever required.
- **break <location>**: Sets up a breakpoint at 'location'. When this is hit while the program is executing, control is given to the user.
- **watch <expr>**: GDB stops when the 'expr' is written into by the program and it's value changes
- **catch <event>**: GDB stops when the 'event' occurs.
- **disable <breakpoint>**: disable the specified breakpoint
- **enable <breakpoint>**: enable the specified breakpoint
- **delete <breakpoint>**: delete the breakpoint / watchpoint / catch point passed. If no arguments are passed default action is to work on all the breakpoints
- **step**: execute the program step by step
- **continue**: continue with program execution until execution is complete
#### Exiting GDB: ####
Use the 'quit' command to exit from GDB
There are many more options that are available with GDB. Use the help option once you are inside GDB for more details.
![getting help within gdb](http://blog.linoxide.com/wp-content/uploads/2014/12/gdb-help.png)
getting help within gdb
### Summary ###
In this article, we have seen different types of user space debug tools available in Linux. To summarise all of them, here is a quick guideline on when to use what:
Basic debugging, getting values of key variables print statements
Get information about filesystems supported, available memory, cpus, status of a running program in the kernel etc - querying /proc filesystem
Initial problem diagnosis, system call or library call related issues , understanding program flow strace / ltrace
Application space related memory problems valgrind
To examine runtime behaviour of applications, analysing application crashes gdb.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/user-space-debugging-tools-linux/
作者:[B N Poornima][a]
译者:[mtunique](https://github.com/mtunique)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bnpoornima/
[1]:http://valgrind.org/downloads.html
[2]:http://www.gnu.org/software/gdb/download/

View File

@ -0,0 +1,203 @@
Translating by ZTinoZ
How to Install Bugzilla 4.4 on Ubuntu / CentOS 6.x
================================================================================
Here, we are gonna show you how we can install Bugzilla in an Ubuntu 14.04 or CentOS 6.5/7. Bugzilla is a Free and Open Source Software(FOSS) which is web based bug tracking tool used to log and track defect database, its Bug-tracking systems allow individual or groups of developers effectively to keep track of outstanding problems with their product. Despite being "free", Bugzilla has many features its expensive counterparts lack. Consequently, Bugzilla has quickly become a favorite of thousands of organizations across the globe.
Bugzilla is very adaptable to various situations. They are used now a days in different IT support queues, Systems Administration deployment management, chip design and development problem tracking (both pre-and-post fabrication), and software and hardware bug tracking for luminaries such as Redhat, NASA, Linux-Mandrake, and VA Systems.
### 1. Installing dependencies ###
Setting up Bugzilla is fairly **easy**. This blog is specific to Ubuntu 14.04 and CentOS 6.5 ( though it might work with older versions too )
In order to get Bugzilla up and running in Ubuntu or CentOS, we are going to install Apache webserver ( SSL enabled ) , MySQL database server and also some tools that are required to install and configure Bugzilla.
To install Bugzilla in your server, you'll need to have the following components installed:
- Per l(5.8.1 or above)
- MySQL
- Apache2
- Bugzilla
- Perl modules
- Bugzilla using apache
As we have mentioned that this article explains installation of both Ubuntu 14.04 and CentOS 6.5/7, we will have 2 different sections for them.
Here are the steps you need to follow to setup Bugzilla in your Ubuntu 14.04 LTS and CentOS 7:
**Preparing the required dependency packages:**
You need to install the essential packages by running the following command:
**For Ubuntu:**
$ sudo apt-get install apache2 mysql-server libapache2-mod-perl2
libapache2-mod-perl2-dev libapache2-mod-perl2-doc perl postfix make gcc g++
**For CentOS:**
$ sudo yum install httpd mod_ssl mysql-server mysql php-mysql gcc perl* mod_perl-devel
**Note: Please run all the commands in a shell or terminal and make sure you have root access (sudo) on the machine.**
### 2. Running Apache server ###
As you have already installed the apache server from the above step, we need to now configure apache server and run it. We'll need to go for sudo or root mode to get all the commands working so, we'll gonna switch to root access.
$ sudo -s
Now, we need to open port 80 in the firewall and need to save the changes.
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# service iptables save
Now, we need to run the service:
For CentOS:
# service httpd start
Lets make sure that Apache will restart every time you restart the machine:
# /sbin/chkconfig httpd on
For Ubuntu:
# service apache2 start
Now, as we have started our apache http server, we will be able to open apache server at IP address of 127.0.0.1 by default.
### 3. Configuring MySQL Server ###
Now, we need to start our MySQL server:
For CentOS:
# chkconfig mysqld on
# service start mysqld
For Ubuntu:
# service mysql-server start
![mysql](http://blog.linoxide.com/wp-content/uploads/2014/12/mysql.png)
Login with root access to MySQL and create a DB for Bugzilla. Change “mypassword” to anything you want for your mysql password. You will need it later when configuring Bugzilla too.
For Both CentOS 6.5 and Ubuntu 14.04 Trusty
# mysql -u root -p
# password: (You'll need to enter your password)
# mysql > create database bugs;
# mysql > grant all on bugs.* to root@localhost identified by "mypassword";
#mysql > quit
**Note: Please remember the DB name, passwords for mysql , we'll need it later.**
### 4. Installing and configuring Bugzilla ###
Now, as we have all the required packages set and running, we'll want to configure our Bugzilla.
So, first we'll want to download the latest Bugzilla package, here I am downloading version 4.5.2 .
To download using wget in a shell or terminal:
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.5.2.tar.gz
You can also download from their official site ie. [http://www.bugzilla.org/download/][1]
**Extracting and renaming the downloaded bugzilla tarball:**
# tar zxvf bugzilla-4.5.2.tar.gz -C /var/www/html/
# cd /var/www/html/
# mv -v bugzilla-4.5.2 bugzilla
**Note**: Here, **/var/www/html/bugzilla/** is the directory where we're gonna **host Bugzilla**.
Now, we'll configure buzilla:
# cd /var/www/html/bugzilla/
# ./checksetup.pl --check-modules
![bugzilla-check-module](http://blog.linoxide.com/wp-content/uploads/2014/12/bugzilla2-300x198.png)
After the check is done, we will see some missing modules that needs to be installed And that can be installed by the command below:
# cd /var/www/html/bugzilla
# perl install-module.pl --all
This will take a bit time to download and install all dependencies. Run the **checksetup.pl check-modules** command again to verify there are nothing left to install.
Now we'll need to run the below command which will automatically generate a file called “localconfig” in the /var/www/html/bugzilla directory.
# ./checksetup.pl
Make sure you input the correct database name, user, and password we created earlier in the localconfig file
# nano ./localconfig
# checksetup.pl
![bugzilla-success](http://blog.linoxide.com/wp-content/uploads/2014/12/bugzilla-success.png)
If all is well, checksetup.pl should now successfully configure Bugzilla.
Now we need to add Bugzilla to our Apache config file. so, we'll need to open /etc/httpd/conf/httpd.conf (For CentOS) or etc/apache2/apache2.conf (For Ubuntu) with a text editor:
For CentOS:
# nano /etc/httpd/conf/httpd.conf
For Ubuntu:
# nano etc/apache2/apache2.conf
Now, we'll need to configure Apache server we'll need to add the below configuration in the config file:
<VirtualHost *:80>
DocumentRoot /var/www/html/bugzilla/
</VirtualHost>
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes
</Directory>
Lastly, we need to edit .htaccess file and comment out “Options -Indexes” line at the top by adding “#”
Lets restart our apache server and test our installation.
For CentOS:
# service httpd restart
For Ubuntu:
# service apache2 restart
![bugzilla-install-success](http://blog.linoxide.com/wp-content/uploads/2014/12/bugzilla_apache.png)
Finally, our Bugzilla is ready to get bug reports now in our Ubuntu 14.04 LTS and CentOS 6.5 and you can browse to bugzilla by going to the localhost page ie 127.0.0.1 or to your IP address in your web browser .
--------------------------------------------------------------------------------
via: http://linoxide.com/tools/install-bugzilla-ubuntu-centos/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://www.bugzilla.org/download/

View File

@ -0,0 +1,45 @@
Linus Torvalds发布了Linux 3.19 RC1目前为止最大的更新
================================================================================
> 新的内核开发周期开始了
![](http://i1-news.softpedia-static.com/images/news2/Linus-Torvalds-Launches-Linux-kernel-3-19-RC1-One-of-the-Biggest-So-Far-468043-2.jpg)
**首个内核候选版本在3.19分支上发布了,它看上去像目前最大的更新。这个早先发布让众人惊喜,但是很容易理解为什么。**
内核开发周期被新的3.19的发布而刷新了。事实是3.18分支才几周前才发布今天的发布并不是完全在预期中。假期要来了很多开发者和维护任何可能会休息。一般来说RC版本每周发布一次但是用户可能会看到轻微的延误。
这个版本没有提到在Linux 3.18中确认的回归问题但是可以确定的是开发人员仍在努力修复中。另一方面Linus说这是一个很大的更新事实上这是目前为止最大的更新。很有可能是许多开发者想要在节日之前推送他们的补丁因此下一个RC版本会小一些。
### Linux 3.19 RC1 标志着新的一个周期的开始 ###
发布版本的大小随着更新的频率正在增加。内核的开发周期通常大约8到10周并且很少多于这个这给项目一个很好的预测。
[阅读][1] Linus Torvalds的发布声明中说“也就是说也许没有真正的落后者并且从rc1的大小来看真的已经不多了。我不仅觉得下一个版本有更多的提交并且比历史上的rc1更多知道在提交数量上。我们已经有比较大的版本3.10和3.15的都有很大的很并窗口导致的),但是这明显不是一个小的合并窗口。”
“在这个在蓝图下这看上去只是一个常规发布。大约三分之二的驱动更新这剩下的一半是架构的更新新的nios2补丁还没有优势它只有ARM一半的性能新的niso2支持小于整体架构更新的10%)。”
具体关于这个RC的细节可以在官方邮件列表中找到。
#### 下载 Linux 3.19 RC1 源码包: ####
- [tar.xz (3.18.1 Stable)][3]文件大小 77.2 MB
- [tar.xz (3.19 RC1 Unstable)][4]
如果你想要测试,需要自己编译。并不建议在生产机器上测试。
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Linus-Torvalds-Launches-Linux-kernel-3-19-RC1-One-of-the-Biggest-So-Far-468043.shtml
作者:[Silviu Stahie ][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://news.softpedia.com/editors/browse/silviu-stahie
[1]:http://lkml.iu.edu/hypermail/linux/kernel/1412.2/02480.html
[2]:http://linux.softpedia.com/get/System/Operating-Systems/Kernels/Linux-Kernel-Development-8069.shtml
[3]:https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.1.tar.xz
[4]:https://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-3.19-rc1.tar.xz

View File

@ -0,0 +1,75 @@
Calife —— 一个轻量级的sudo替代方案
================================================================================
Calife要求用户用户以自己的密码登录或者root如果没有提供登录在验证具有正确的权限后就会切换到该用户以及组身份然后就会执行一个shell。如果calife是由root执行的不需要密码一个具有恰当用户ID的shell就会被执行。
唤醒的shell是用户自身的除非在calife.auth配置文件中指定了某个shell。
如果在命令行指定了“-”选项就会读取该用户的环境文件该shell就像是一个登陆shell。
这不是su的惯用操作。
只有在calife.auth中指定的用户才能使用此方法通过calife成为另外一个用户。
calife.auth安装位置处于/etc/calife.auth。
### Calife特性 ###
这里给出了一个关于calife特性的扩展列表
你可以完整保留环境变量和shell别名
它可以全程记录会话开始到结束
你可以为每个calife用户许可的登录制作列表那样你就可以用户赋予主管权限而不必提供root密码
你可以在配置文件中指定一个组来取代所有管理员登录:只要使用@staff或者%staff那么所有staff组中的成员都将具有访问calife的权限
calife也可以成为那些没有家目录或甚至没有shell的用户。如果你想要成为uucp或者甚至是bin那会很实用
你可以让calife在会话结束时运行一个指定的系统范围的脚本例如发送一封邮件告知以root身份做了哪些事
### ubuntu中安装calife ###
打开终端,然后运行以下命令
sudo apt-get install calife
### 使用Calife ###
### 语法 ###
calife [-] [login]
详情请参与calife手册页
--------------------------------------------------------------------------------
via: http://www.ubuntugeek.com/calife-a-lightweight-alternative-to-sudo.html
作者:[ruchi][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.ubuntugeek.com/author/ubuntufix
[1]:
[2]:
[3]:
[4]:
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]:

View File

@ -0,0 +1,88 @@
Windows和Ubuntu双系统修复UEFI引导的两种办法
=======================================================================
读者在读过我的[安装Ubuntu和Windows 8双系统教程][1]以后碰到的主要的问题是电脑直接启动到Windows 8而没有出现启动Ubuntu的选项。
这里有两种修复EFI启动引导的方法使Ubuntu可以正常启动
![](http://0.tqn.com/y/linux/1/L/E/J/1/grub2.JPG) "将GRUB2设置为启动引导"
### 1. 启用GRUB引导 ###
在安装时,有些地方可能会出问题。
理论上来说如果你首先安装Ubuntu那么你需要[关闭快速启动][2]。
希望你[按照这个指南创建一个UEFI Ubuntu 启动优盘][3]安装正确的UEFI引导程序。
如果你在安装时已经完成了这些事情那么可能出错的地方就是将GRUB2设置为启动管理器。
可以按照以下几个步骤将GRUB2设置为默认的引导程序
1.登录Windows 8
2.转到桌面
3.右击开始按钮,选择管理员命令行
4.输入 mountvol g: (将你的EFI目录结构映射到G盘)
5.输入 cd g:\EFI
6.当你输入 dir 列出文件夹内容时你可以看到一个Ubuntu的文件夹
7.这里的参数可以是grubx64.efi或者shimx64.efi
8.运行下列命令将grub64.efi设置为启动引导程序
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
9.重启你的电脑
10.你将会看到一个包含Ubuntu和Windows选项的GRUB菜单
11.如果你的电脑仍然直接启动到Windows重复步骤1到7但是这次输入
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
12.重启你的电脑
这里你做的事情是登录Windows管理员命令行将EFI引导区映射到磁盘上来查看Ubuntu的引导程序是否安装成功然后选择grubx64.efi或者shimx64.efi作为引导程序。
那么[grubx64.efi和shimx64.efi有什么区别呢][4]在安全启动serureboot关闭的情况下你可以使用grubx64.efi。如果安全启动打开则需要选择shimx64.efi。
在我上面的步骤里面我建议先试一个然后再试试另外一个。另外一种方法是选择一个然后根据你选择的引导程序在BIOS中启用或者禁用安全启动。
### 2.使用rEFInd引导Ubuntu和Windows双系统 ###
[rEFInd引导程序][5]会以图标的方式列出你所有的操作系统。因此你可以通过点击相应的图标来启动Windows、Ubuntu或者优盘中的操作系统。
[点击这里][6]下载rEFInd for Windows 8。
下载和解压以后按照以下的步骤安装rEFInd。
1.返回桌面
2.右击开始按钮,选择管理员命令行
3.输入 mountvol g: (将你的EFI目录结构映射到G盘)
4.进入解压的rEFInd目录。例如
cd c:\users\gary\downloads\refind-bin-0.8.4\refind-bin-0.8.4
当你输入 dir 命令你可以看到一个refind目录
5.输入如下命令将refind拷贝到EFI引导区
xcopy /E refind g:\EFI\refind\
6.输入如下命令进入refind文件夹
cd g:\EFI\refind
7.重命名示例配置文件
rename refind.conf-sample refind.conf
8.运行如下命令将rEFind设置为引导程序
bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi
9.重启你的电脑
10.你将会看到一个包含Ubuntu和Windows的图形菜单
这个过程和选择GRUB引导程序十分相似。
简单的说主要是下载rEFind解压文件。拷贝文件到EFI引导区重命名配置文件然后将rEFind设置为引导程序。
### 概要 ###
希望这篇文章可以解决有些人在安装Ubuntu和Windows 8.1双系统时出现的问题。如果你仍然有问题,可以通过上面的电邮和我进行交流。
作者:[Gary Newell][a]
译者:[zhouj-sh](https://github.com/zhouj-sh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
via:http://linux.about.com/od/LinuxNewbieDesktopGuide/tp/3-Ways-To-Fix-The-UEFI-Bootloader-When-Dual-Booting-Windows-And-Ubuntu.htm
[a]:http://linux.about.com/bio/Gary-Newell-132058.htm
[1]:http://linux.about.com/od/LinuxNewbieDesktopGuide/ss/The-Ultimate-Windows-81-And-Ubuntu-
[2]:http://linux.about.com/od/howtos/ss/How-To-Create-A-UEFI-Bootable-Ubuntu-USB-Drive-Using-Windows_3.htm#step-heading
[3]:http://linux.about.com/od/howtos/ss/How-To-Create-A-UEFI-Bootable-Ubuntu-USB-Drive-Using-Windows.htm
[4]:https://wiki.ubuntu.com/SecurityTeam/SecureBoot
[5]:http://www.rodsbooks.com/refind/installing.html#windows
[6]:http://sourceforge.net/projects/refind/files/0.8.4/refind-bin-0.8.4.zip/download

View File

@ -0,0 +1,60 @@
Linux有问必答时间--怎样解决“XXX is not in the sudoers file”错误
================================================================================
> **问题**:我想在我的Linux系统上使用sudo来运行一些特权命令然而当我试图这么做时我却得到了"[我的用户ID] is not in the sudoers file. This incident will be reported."的错误信息。我该怎么处理这种sudo错误呢
sudo是一个允许特定的用户组用另一个用户(典型的代表是root)的特权来运行一个命令。sudo有详细的日志功能并且提供了细粒度控制来覆盖用户通过sudo敲入的命令。
### Sudo vs. Su ###
su命令也提供了同样的特权升级功能两者不同的是它们认证过程和特权变化的粒度。su允许你从你的登录会话切换到另一个用户的会话然后你可以随心所欲地用该用户的特权来运行任何程序但是你需要知道目标用户的密码才能切换这个用户。另一方面sudo能在每个命令的基础上工作允许你用root的特权来运行单个命令。用sudo你不必一定要知道root的密码但是在提示输入sudo密码的时候要输入你的密码。
### 在Sudoers列表里添加用户 ###
作为一个新用户的你如果试图运行sudo命令你会碰到以下错误。意思是你不在这个包含经过认证可以使用sudo特权的这么一个用户组的sudoers列表里。
[my-user-id] is not in the sudoers file. This incident will be reported.
有两个方法可以把你加入到sudoers列表中去。
### 方法一 ###
第一个方法是把你添加到名为sudo的Linux用户组里。这个特殊的Linux用户组是预配置来使用sudo的。因此一旦你在这个组里面那你就可以运行sudo命令了。
以下命令会把你加入到Linux的sudo组里来确保让你能作为root用户来运行命令。
# adduser <用户名> sudo
现在来确认你的组员资格有没有更新使用groups命令来看看你当前属于哪个组的列表里。这个列表必定是包含sudo组的。
$ groups
----------
alice adm cdrom sudo dip plugdev fuse lpadmin netdev sambashare davfs2 libvirtd docker promiscuous
组员资格变动和sudo访问会在你登出登录后生效。
### 方法二 ###
第二个能让你使用sudo的方法是直接把你自己添加到路径为 /etc/sudoers 这个配置文件中去。
要修改 /etc/sudoers 文件你可以使用一个名为visudo的特殊sudo编辑器命令。用root身份简单调用以下命令。
# visudo
这条命令能打开并编辑 /etc/sudoers 文件将以下这行文字添加至文件末尾并按Ctrl+X。提示出现时保存修改退出。
<username> ALL=(ALL) ALL
这个修改会立即生效你就能马上使用sudo了。
![](https://farm8.staticflickr.com/7511/15866443418_e147329e1b_c.jpg)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/fix-is-not-in-the-sudoers-file.html
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,83 @@
Linux有问必答 - linux如何安装WPS
================================================================================
> **问题**: 我听说一个好东西Kingsoft Office译注就是WPS所以我想在我的Linux上试试。我怎样才能安装Kingsoft Office呢
Kingsoft Office 一套办公套件支持多个平台包括Windows, Linux, iOS 和 Android。它包含三个组件WriterWPS文字用来文字处理PresentationWPS演示支持幻灯片SpereadsheetsWPS表格为电子表格。使用免费增值模式其中基础版本是免费使用。比较其他的linux办公套件如LibreOffice、 OpenOffice最大优势在于Kingsoft Office能最好的兼容微软的Office译注版权问题了解下wps和Office的历史问题可以得到一些结论。因此如果你需要在windowns和linux平台间交互Kingsoft office是一个很好的选择。
### CentOS, Fedora 或 RHEL中安装Kingsoft Office ###
在[官方页面][1]下载RPM文件.官方RPM包只支持32位版本linux但是你可以在64位中安装。
需要使用yum命令并用"localinstall"选项来本地安装这个RPM包
$ sudo yum localinstall kingsoft-office-9.1.0.4244-0.1.a12p3.i686.rpm
注意不要使用rpm命令安装。否者你会得到依赖错误而且很难解决
错误: 依赖失败:
libICE.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libSM.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libX11.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libXext.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libXrender.so.1 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
libc.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
基于Red Hat的发行版有多重库支持。如果你要想安装的RPM包是32位的并有32位库依赖你的系统是64位的一个很好的解决方法就是使用yum来安装。只要RPM在构建时候已经添加所有依赖关系yum就可以自动使用yum库解决依赖关系。
![](https://farm9.staticflickr.com/8626/16040291445_ca62275064_c.jpg)
### Debian, Ubuntu 和 Linux Mint 中安装Kingsoft Office###
在[官方页面][1]下载DEB包。官方RPM包同样只支持32位版本linux但是你可以在64位中安装。
DEB包同样遇到一堆依赖。因此使用[gdebi][3]命令来代替dpkg来自动解决依赖。
$ sudo apt-get install gdebi-core
$ sudo gdebi kingsoft-office_9.1.0.4244~a12p3_i386.deb
### 启动 Kingsoft Office ###
安装完成后你就可以在桌面管理器轻松启动WiterWPS文字, PresentationWPS演示, and SpreadsheetsWPS表格如下图
Ubuntu Unity中:
![](https://farm9.staticflickr.com/8591/16039583702_632a49779f_z.jpg)
GNOME桌面中:
![](https://farm9.staticflickr.com/8617/16039583622_4e7c1d8545_b.jpg)
不但如此你也可以在命令行中启动Kingsoft Office
启动WirterWPS文字使用这个命令
$ wps (译注:原文丢失此命令)
![](https://farm8.staticflickr.com/7525/16039583642_7202457899_c.jpg)
启动PresentationWPS演示使用这个命令
$ wpp
![](https://farm8.staticflickr.com/7570/15420632223_4243cc99d9_c.jpg)
启动SpreadsheetsWPS表格使用这个命令
$ et
![](https://farm9.staticflickr.com/8682/15852842558_97edda4afd_c.jpg)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/install-kingsoft-office-linux.html
译者:[Vic020/VicYu](http://www.vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://ksosoft.com/product/office-2013-linux.html
[2]:http://ksosoft.com/product/office-2013-linux.html
[3]:http://xmodulo.com/how-to-install-deb-file-with-dependencies.html

View File

@ -0,0 +1,84 @@
Btrfs文件系统在Linux中的创建及其特性
================================================================================
**Btrfs**B-tree file systemB-tree文件系统是针对Linux开发的一个新的CoWcopy-on-write写时复制文件系统。它最初是由[甲骨文公司][1]在2007年着手开始开发的并在2014年8月正式发布其稳定版。开发Btrfs的目的在于解决Linux文件系统中缺少池、快照、校验和以及集成的跨多设备访问等问题目标在于实现Linux的规模化存储。规模化不仅仅是指解决存储问题也意味着通过简洁的界面提供对存储的管控和管理能力让大家能看到已使用的内容并使它更可靠。
你应该注意到Btrfs才刚刚发布稳定版所以强烈推荐你使用最新版的内核以避免可能出现的问题和漏洞。
### Btrfs特性 ###
新文件系统的最重要的特性有:
- 基于扩展的文件存储
- 文件大小上限16EiB
- 小文件和索引目录的高效空间利用
- 动态索引节点分配
- 支持快照可写和快照只读
- 子卷(分离内部文件系统的根)
- 支持数据和元数据的校验和
- 压缩 gzip和LZO
- 整合的多设备支持
- 支持文件条块化、文件镜像和文件条块化+镜像三种部署方案
- 高效的增量备份
- 后台消除进程支持查找和修复冗余副本上的文件错误
- 支持在线文件系统碎片整理和离线文件系统检查
- Btrfs文件系统对RAID 5/RAID 6加强支持[在linux 3.19中添加了许多漏洞修补][2]
你可以在此关于本主题的维基文章中[阅读关于新特性的内容][3]。
### 转换到Btrfs ###
**警告:在尝试转换文件系统前,请务必备份数据。虽然此操作很稳定,也很安全,但它仍然可能导致数据丢失,而防止此情况发生的唯一途径就是进行数据备份。**
将现存的ext4文件系统转换到btrfs是相当简单而易懂的。你首先需要使用fsck来检查你现存分区上是否存在错误然后使用btrfs-convert命令进行转换。如果你想要对/dev/sda3分区进行转换你可以进行以下操作
# fsck.ext4 /dev/sda4
# btrfs-convert /dev/sda4
然后你就可以使用mount命令将它挂载到你想要的任何位置。
![btrfs-convert](http://blog.linoxide.com/wp-content/uploads/2014/11/btrfs-convert.jpg)
### 转换根分区 ###
如果你想要对你系统上的根分区进行转换你首先需要使用Live CD启动。对于Ubuntu你可以使用Ubuntu安装CD来完成此操作在启动后第一个屏幕选择“尝试Ubuntu”。对于其它系统你同样可以使用Live CD镜像操作类似。
在启动后,打开终端,使用下面的命令来转换文件系统。
# fsck.ext4 /dev/sda1
# btrfs-convert /dev/sda1
接下来chroot到文件系统这样你就可以修改fstab并重新安装grub了。
# mount /dev/sda1 /mnt
# for i in dev dev/pts proc sys ; do mount --bind /$i /mnt/$i ; done
# chroot /mnt
# blkid | grep sda1
![btrfs-root-convert](http://blog.linoxide.com/wp-content/uploads/2014/11/btrfs-root-convert.jpg)
现在来编辑fstab并根据blkid输出的结果来修改当前/文件系统的UUID并将它的文件系统类型修改为btrfs修改后的行如下
UUID=8e7e80aa-337e-4179-966d-d60128bd3714 / btrfs defaults 0 1
然后重新安装Grub
# grub-install /dev/sda
# update-grub
现在,你可以把启动光盘丢到一边了,重启机器后,你就可以使用新的文件系统了。
--------------------------------------------------------------------------------
via: http://linoxide.com/file-system/create-btrfs-features/
作者:[Adrian Dinu][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/adriand/
[1]:http://www.oracle.com/index.html
[2]:http://lkml.iu.edu/hypermail/linux/kernel/1412.1/03583.html
[3]:https://btrfs.wiki.kernel.org/index.php/Main_Page#Features