mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-21 02:10:11 +08:00
commit
cd55bf3b06
@ -0,0 +1,401 @@
|
||||
想找点激烈的游戏?那就试试这 13 款 Roguelike 游戏吧!
|
||||
================================================================================
|
||||
Roguelike 是角色扮演游戏的一个子类。从字面上看,它的意思是 “像 Rogue 的游戏”。Rogue 是一个关于地下城冒险的视频游戏,于 1980 年第一次发行,以极其上瘾而著称。这个游戏的目标是取得深藏于第 26 层的 "Amulet of Yendor",再返回到顶层逃出生天。
|
||||
|
||||
Roguelike 的准确定义并不存在,但这类游戏通常具有下面的特点:
|
||||
|
||||
- 奇幻的叙事背景;
|
||||
- 用程序产生关卡。游戏中的绝大多数场景在开始新的游戏时由游戏自动创建。这样做是为了鼓励玩家不断重玩;
|
||||
- 回合制的地下城探险和战斗;
|
||||
- 随机生成的基于贴片的图形环境;
|
||||
- 随机发生战斗;
|
||||
- 永久死亡 :在游戏中,死亡真的存在,一旦你的角色死了,那就真的结束了;
|
||||
- 高难度。
|
||||
|
||||
这篇文章精心挑选了一些可运行在 Linux 平台下的 roguelike 游戏。假如你喜欢激烈、易上瘾的游戏,可以尝试这 13 款游戏。不要因它们原始的画质而退缩,一旦你沉浸其中,你将很快忘记画面的简陋。所有的这些都可以免费下载,并且几乎所有的游戏都是在开源协议下发行的。
|
||||
|
||||
----------
|
||||
|
||||
###Dungeon Crawl Stone Soup
|
||||
|
||||

|
||||
|
||||
Dungeon Crawl Stone Soup 是一个开源的,单用户角色扮演类的 roguelike 游戏,玩家要在遍布危险而充满敌意的怪兽的地下城中进行探险和寻找宝藏,并在任务中拯救传说中的神秘 Zot 宝珠。
|
||||
|
||||
Dungeon Crawl Stone Soup 是 Linley 开发的 Dungeon Crawl 游戏的延续。它是公开开发的,并邀请 Crawl 社区的人员来参与其中。
|
||||
|
||||
Dungeon Crawl 有着超棒且深层次的战术游戏环节,创新的魔法和信仰系统,以及数量宏大的和你战斗的怪兽。Crawl 也是最难以攻陷的 roguelike 游戏之一。当你最终在游戏中通关,将胜利宣言张贴在 rec.games.roguelike.misc 时,你才会知道这有多么令人骄傲!
|
||||
|
||||
特点包括:
|
||||
|
||||
- 丰富多彩的、富含深层次战术的 roguelike 游戏;
|
||||
- 手绘地图;
|
||||
- 无数的金库;
|
||||
- 漂亮的界面;
|
||||
- 创新的魔法和信仰系统;
|
||||
- 各种神灵,角色,物品和聪明的怪兽;
|
||||
|
||||
- 网站: [crawl.develz.org][1]
|
||||
- 开发者: Stone Soup 开发小组
|
||||
- 协议: Crawl General Public License
|
||||
- 版本号: 0.15.2
|
||||
|
||||
----------
|
||||
|
||||
###Dwarf Fortress
|
||||
|
||||

|
||||
|
||||
Dwarf Fortress 是一个单人魔幻游戏,与 NetHack 类似。你可以在一个随机生成的持久的世界中,控制一个矮人哨兵或一个冒险者。
|
||||
|
||||
这个游戏的特色有:三种游戏模式(矮人要塞,冒险者,传说模式),一个独特的随机生成的世界(由地形,野生生物和传奇生物等组成), 阴森的战斗机制以及各种邪恶鱼群。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 在这个世界里,你想玩多久都可以。可以经历许多次游戏,记录历史事件,对更改进行跟踪等;
|
||||
- 当你扮演的矮人在山群中寻找宝藏时,你可以对他们下达命令
|
||||
- 用各种材料来手工制作珍宝、物品,并可以用贵重金属、宝石等来改进它们;
|
||||
- 通过各种手段保护你自己,防御来自敌对文明的袭击;
|
||||
- 支持贵族,他们会管理你的民众
|
||||
- 让你的矮人高兴起来,了解他们工作和休闲时的想法;
|
||||
- 不同的 Z 坐标可以使你在多个层级上建造你的堡垒。建立塔台或征服地下深处;
|
||||
- 建立水闸来灌溉作物或用水淹没你的对手;
|
||||
- 扮演一个探险者并进行探索,为荣誉而战或复仇
|
||||
- 与以前的游戏中的对手相遇;
|
||||
- 在你经过的旅途中营救小城里的人们;
|
||||
- 没有繁琐的情节,只需要探索;
|
||||
- 无缝连接的漫游游戏世界-总共达到 197376 x 197376 平方 -可以在区域地图上更快速地穿行;
|
||||
- 接受小镇或文明社会的领导所委托的任务;
|
||||
- 可以找到你以前的角色,以一个新的角色带上他们来一场新的冒险,或者直接重新激活并使用他们;
|
||||
- 通过 Z 轴使得你可以在各个地下城的不同层级间和结构间平滑的上下移动来和对手战斗;
|
||||
- 战斗模式是通过技巧、身体部位、搏斗、在不同区域间蓄势和躲避,体验流血、疼痛,恶心及其他感受;
|
||||
- 一个动态的天气模型跟踪风,湿度及空气流动,以创造冷暖气流锋面、风、暴风雨雪;
|
||||
- 超过 200 种岩石和矿物类型被引入到了游戏世界,它们被放置在合适的地理环境中;
|
||||
- 通过可更改的文本文件来添加生物,武器,植物,金属和其他对象;
|
||||
- 以 16 色(包括黑色)渲染的扩展 ASCII 字符集,以及 8 种背景颜色(包括黑色);
|
||||
|
||||
- 网站: [www.bay12games.com/dwarves/][2]
|
||||
- 开发者: Tarn Adams
|
||||
- 协议: 免费软件
|
||||
- 版本号: 0.40.19
|
||||
|
||||
----------
|
||||
|
||||
###Ancient Domains of Mystery
|
||||
|
||||

|
||||
|
||||
Ancient Domains of Mystery (ADOM) 是一个 rogue-like 游戏,从 1994 年至今一直在不断开发。
|
||||
|
||||
它是一个包含复杂地下城的单用户游戏。你控制一个用种族、类别、属性、技巧和装备等描述的虚构角色。这个虚构角色正尝试着达到一个特定的目标(参考下面的介绍)并在一个困难的任务中取胜。为了完成任务,你必须在以前没有发现的隧道和地下城中探险,和丑陋的怪兽战斗,解开一系列遗忘的秘密,并找到宝藏。
|
||||
|
||||
在游戏期间,你在每次游戏时随机生成的各层地下城中探索。你也可能遇到某个特定的关卡,其中有着特定的挑战或者围绕某个特定主题而生成。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 拥有上百个地点的巨大游戏世界,例如城堡、随机生成的地下城、主题寺庙、墓地、古代遗迹、塔台和其他名胜;
|
||||
- 各种各样的种族(矮人、drakeling、雾精灵、hurthling、兽人、巨魔、ratling 等等)(LCTT注:种族信息可以参考[这里](http://ancardia.wikia.com/wiki/Race) 和丰富的职业(战士、 元素法师、 刺客、 混沌骑士,决斗士等等)带来无限的游戏乐趣;
|
||||
- 上百个怪兽和物品,其中的许多带有随机的增强特性;
|
||||
- 迫使你在对力量的欲望和对诅咒的恐惧之间进行权衡的腐败体系;
|
||||
- 法术、祈祷、思想技艺、炼金术、手工艺和更多;
|
||||
- 多样的任务和分支故事主线;
|
||||
- 许多完全不同的结局,可能改变现实本身。
|
||||
|
||||
- 网站: [www.adom.de][3]
|
||||
- 开发者: Thomas Biskup
|
||||
- 协议: Postcardware
|
||||
- 版本号: 1.20 Prelease 20
|
||||
|
||||
----------
|
||||
|
||||
###Tales of Maj’Eyal (ToME)
|
||||
|
||||

|
||||
|
||||
Tales of Maj’Eyal (ToME) (注:中文译名为 马基埃亚尔的传说) 是一个免费、开源的 roguelike 角色扮演游戏,包含特色的战术回合制战役和先进角色构建。它作为运行在 T-Engine 4.0 中的一个模块而被创造。
|
||||
|
||||
现在处于王权世纪(Age of Ascendancy),在长达一万年的冲突痛苦和混乱之后,我们所知的世界终于进入了一个相对和平的时期。 “魔法大爆裂(Spellblaze)” 留下的影响已经大为减缓, 大地的伤痕也慢慢地开始愈合。在薪火世纪(Age of Pyre)之后,各个文明也纷纷开始重建家园。(注:翻译来源于 [这里](http://www.qiyun.org/zhuanti/majiaiyaerdechuanshuo.htm))
|
||||
|
||||
特点包括:
|
||||
|
||||
- 适合于那些没有 rogueline 体验的玩家;
|
||||
- 同时支持图形界面和 ASCII 模式;
|
||||
- 某些角色拥有多达 40 种的能力;
|
||||
- 天赋系统;
|
||||
- 战役引擎;
|
||||
- 在线的持久状态/成就追踪;
|
||||
- IRC 聊天客户端;
|
||||
- 可扩展,可修改;
|
||||
- 充满激情的音乐;
|
||||
- 可解锁新的种族,类别,起始点,游戏模式和特点等;
|
||||
|
||||
- 网站: [te4.org][4]
|
||||
- 开发者: ToME 开发团队
|
||||
- 协议: GNU GPL v3.0
|
||||
- 版本号: 1.2.5
|
||||
|
||||
----------
|
||||
|
||||
###Cataclysm Dark Days Ahead
|
||||
|
||||

|
||||
|
||||
Cataclysm 是一个开源的 “后末世” roguelike 游戏,背景设定在由怪兽和僵尸带来的毁灭性的瘟疫后虚构的新英格兰(New England) 乡村。它是 Whale 开发的原有 Cataclysm 的继续,拓展了更多新的生物,建筑,游戏机制和其他特点。
|
||||
|
||||
尽管有些人描述它为一个 “僵尸游戏”,但 Cataclysm 远比一个“僵尸游戏”包含更多内容。玩家要在一个由程序生成的严酷、持久的世界中艰难生存下去。在一个死寂的文明世界中搜寻剩下的食物和装备,或者假如你足够幸运,搞到一辆装满汽油的汽车逃离 Dodge --这个如地狱一般的地方。从僵尸到巨型昆虫或机器人杀手以及更加奇怪和致命的东西,你要通过战斗来击败它们或逃离,以及和那些想要抢夺你的东西的那些同你一样的人战斗。
|
||||
|
||||
在许多方面上, Cataclysm 与大多数的 roguelike 游戏不同。它被设定在一个没有边界的三维世界里,而不是设定在一个垂直、线性的地下城中。这意味着相比于大多数的 roguel 游戏,探险将占一个更大的比重,而且这个游戏将具有更大的自由度。由于地图是如此的巨大,在每次游戏之间,它可以完全保持原样。假如你死了,并以一个新的角色开始,你的新游戏将会设定在同你最近呆过的游戏世界相同的世界里。同许多 roguelike 游戏一样,你可以获得先前角色的战利品;而与大多数 roguelike 不同的是,你也可以重新踏上先前角色的轨迹,并且对世界做出的任何戏剧性改变将会维持到你的下一次游戏。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 详细的角色创建,提供了数量众多的特性来选择;
|
||||
- 防御模式,这是一个有着快节奏作战的休息模式;
|
||||
- Bionics;类似于在许多其他游戏里的魔法系统;
|
||||
- 基因突变, 有好的和坏的变化;
|
||||
- 无界的,完全随机的世界地图,可以在角色交替时保持不变;
|
||||
- 创造物品
|
||||
- 新的制作方法可能需要通过练习或从书本中获得来磨练你的知识;
|
||||
- 逼真的火、烟和其他动态的地图特效;
|
||||
- 昼/夜循环,需要睡觉。假如你必须的话,可以使用咖啡因来保持更长时间的清醒,但这不健康;
|
||||
- 超过 300 种物品类型,包括众多的现实世界的枪支,药品和工具;
|
||||
- 许多药品是上瘾的,并需要持续使用来避免负面效果;
|
||||
- 通过修补门、窗、建造陷阱和巩固你的家的基石来防止一个僵尸的突然造访;
|
||||
- 能够构建你自己的木屋,包括墙和屋顶;
|
||||
- 可以驾驶在“后末世”发现的汽车兜风;
|
||||
- 这个可以根据你的需求来修改,或甚至你可以自己制造一辆;
|
||||
- 温度系统,太冷或太热都非常危险;
|
||||
- 初步支持贴片界面;
|
||||
- 根据选项生成世界,以及各种编辑方式;
|
||||
|
||||
- 网站: [en.cataclysmdda.com][5]
|
||||
- 作者: Kevin Granade 及其他
|
||||
- 协议: Creative Commons Attribution-ShareAlike 3.0 Unported License
|
||||
- 版本号: 0.B
|
||||
|
||||
----------
|
||||
|
||||
###Goblin Hack
|
||||
|
||||

|
||||
|
||||
Goblin Hack 是一个开源 roguelike 游戏,基于 OpenGL 的平滑滚动的ASCII 图形界面。这个游戏受 NetHack 外观的启发,但更加快速且使用更少的按键。
|
||||
|
||||
Goblin Hack 有一个简洁的界面,在今天这个过度强调渲染的游戏世界中,似乎它对所有年龄段的玩家都有吸引力,并启发了这些玩家的想象力。
|
||||
|
||||
在被投进一个随机的正在生成的地下城之前,玩家可以从几个角色类别中选择一个角色。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 令人印象深刻的界面(相比于许多其他的 roguelike 游戏);
|
||||
- 简洁的界面;
|
||||
- 在被投进一个随机的正在生成的第一层地下城之前,玩家可以从几个角色类别中选择一个角色;
|
||||
- 手动保存游戏;
|
||||
|
||||
- 网站: [goblinhack.sourceforge.net][6], [github.com/goblinhack/goblinhack][7]
|
||||
- 作者: Neil McGill
|
||||
- 协议: GNU GPL v2
|
||||
- 版本号: 1.19
|
||||
|
||||
----------
|
||||
|
||||
###SLASH'EM
|
||||
|
||||

|
||||
|
||||
Super Lotsa Added Stuff Hack - Extended Magic (SLASH'EM) 是一个角色扮演游戏,在其中你控制一个单独的角色。SLASH'EM 是 NetHack 的一个变种。它拥有一个和 Rogue、ADOM、Anghand 及 NetHack 相似的界面和游戏玩法。你通过键盘来控制角色的动作,以一个俯视的视角来查看这个世界。
|
||||
|
||||
背景: Amulet of Yendor 已被偷走,不仅如此,偷走 amulet 的 Wizard of Yendor(坏蛋)似乎深藏于 Dungeons of Doom(危险的地方)。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 提供额外的特色、怪兽和项目;
|
||||
- 新颖的特点包括僧人职业和类似推箱子的关卡;
|
||||
- 主地下城比在 NetHack 中的要大很多;
|
||||
|
||||
- 网站: [www.slashem.org][8]
|
||||
- 开发者: Slash'EM 开发团队
|
||||
- 协议: MIT License, NetHack General Public License
|
||||
- 版本号: 0.0.7E7F3
|
||||
|
||||
----------
|
||||
|
||||
###NetHack
|
||||
|
||||

|
||||
|
||||
NetHack 是一个极简,但又非常吸引人的具有地下城与龙风格的冒险游戏。“net”元素指的是它的发展已经根据网络进行了调整,“hack”元素指的是角色扮演游戏的一种类型,以乱砍、猛砍著称,着眼于战斗。
|
||||
|
||||
在 NetHack 中,你扮演凶猛的战士、巫师或许多其他职业中的一种,一路战斗着,为你的神灵获取 Amulet of Yendor(可以说这是一个倒退!)。在这个过程中,你可能会遇到一个或两个 quantum mechanic(LCTT 译注:从[这里](http://nethack.wikia.com/wiki/Quantum_mechanic)得知,这指的是一种怪兽),或者可能遇到一个小型的太空舰队,抑或是 —— 假如你*足够*幸运会遇到 —— Ravenous Bugblatter Beast of Traal。(LCTT 译注:我参考了[这里](http://nethack.wikia.com/wiki/Douglas_Adams))。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 45-50 个关卡, 其中的大多数随机生成;
|
||||
- 各种各样的物品:武器、盔甲、卷轴、药水、戒指、宝石和各种各样的工具,如钥匙和灯;
|
||||
- 祝福和诅咒;
|
||||
- 永久死亡: 若没有对当前的保存文件进行备份,失效的角色就找不回来了;
|
||||
- 界面:
|
||||
- 文本模式;
|
||||
- 图形化界面, 使用 X、Qt 工具集或 GNOME 库;
|
||||
|
||||
- 网站: [www.nethack.org][9]
|
||||
- 开发者: NetHack 开发团队
|
||||
- 协议: NetHack 通用公共许可证
|
||||
- 版本号: 3.4.3
|
||||
|
||||
----------
|
||||
|
||||
###Ascii Sector
|
||||
|
||||

|
||||
|
||||
Ascii Sector 是一个免费的太空战斗/探险/交易游戏,它基于经典的电脑游戏 `Wing Commander: Privateer`,后者由 Origine Systems 公司于 1993 年发布。
|
||||
|
||||
在 Ascii Sector 中,刚开始你将驾驶一艘简易的飞船,然后可以通过接受任务或者贩卖物品来挣得足够多的钱以升级你的飞船或重新再买一艘。不管是在太空中,还是在地面上,抑或是在飞船上,你可以专注于致命的战斗;并且通过使用 Ascii Sector 的脚本语言,你还可以为游戏创造自己的任务或享受其他玩家创造的任务。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 使用 ANSI 字符集生成图形界面;
|
||||
- 真正的深入到游戏中;
|
||||
- 提供各种基地,任务,商品和飞船;
|
||||
- 飞船型号包括: Broadsword, Centurion, Demon, Dralthi, Drayman, Galaxy, Gladius, Gothri, Kamekh, Nexus, Orion, Paradign, Stileto, Talon, Tarsus 和 Ulysses;
|
||||
- 四个象限: Alizarin, Crimson, Mauve, 和 Viridian;
|
||||
- 可下载的任务;
|
||||
- 任务可用脚本编辑;
|
||||
- Ascii Sector 任务语言,在 Ascii Sector 宇宙中创造你自己的故事;
|
||||
- 可以袭击或抢劫星球上的 NPC(非玩家控制角色);
|
||||
- 可以到处移动的持久性舰队、可以改变系统的控制、引来敌人的舰队、回基地修复或重建;
|
||||
- 可以登录系统受损的飞船;
|
||||
- 可下载高质量的音乐文件;
|
||||
|
||||
- 网站: [www.asciisector.net][10]
|
||||
- 开发者: Christian Knudsen
|
||||
- 协议: 免费软件
|
||||
- 版本号: 0.7.1.4
|
||||
|
||||
----------
|
||||
|
||||
###Angband
|
||||
|
||||

|
||||
|
||||
Angband 是一个免费、单用户、使用 ASCII 字符图形化的地下城探险游戏,在其中你将以一个冒险者的角色探索一个深深的地下城,与怪兽战斗,获得你能取得的最好武器,准备着与黑暗之主 Morgoth 的最后决战。从上世纪九十年代开始,它一直在持续地开发着。
|
||||
|
||||
Angband 沿袭了 Rogue 和 NetHack 的风格路线。它由 Moria 和 Umoria 游戏衍生而来,基于 Rogue 回合制。它经常被描述为一个 “roguelike”游戏,因为它的外观和游戏体验与 Rogue 非常相似。很多游戏中的新生物、物品都来自 J.R.R Tolkien 的画作,尽管有些野兽直接来源于经典的神话、龙与地下城、Rolemaster,或 Angband 的原开发者的脑海中。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 100 层地下城;
|
||||
- 随机产生的新关卡;
|
||||
- 可以选择成为人类、半精灵、精灵、霍比特人、地精、矮人,半兽人,半巨魔, 登丹人 ,高等精灵,或者狗头人;
|
||||
- 神器;
|
||||
- 施法;
|
||||
- 怪物;
|
||||
- 怪物坑;
|
||||
- 怪物巢穴;
|
||||
|
||||
- 网站: [rephial.org][11]
|
||||
- 开发者: Angband 开发小组
|
||||
- 协议: GNU GPL v2
|
||||
- 版本号: 3.5.0
|
||||
|
||||
----------
|
||||
|
||||
###UnNetHack
|
||||
|
||||

|
||||
|
||||
UnNetHack 是 NetHack 的一个分支版本。NetHack 最开始于 1987 年发行,并且许多游戏玩家认为它是计算机世界所能提供的最好游戏体验的游戏之一。
|
||||
|
||||
特点包括:
|
||||
|
||||
- 增加了许多针对 NetHack 的增强,如额外的怪兽、更多的关卡、许多新的元素、更多的危险、更具挑战性的游戏,以及最重要的,相比普通的 NetHack,它更具娱乐性;
|
||||
- 帮助新手开始的教程;
|
||||
|
||||
- 网站: [sourceforge.net/apps/trac/unnethack][12]
|
||||
- 作者: Patric Mueller
|
||||
- 协议: Nethack General Public License
|
||||
- 版本号: 5.1.0
|
||||
|
||||
----------
|
||||
|
||||
###Hydra Slayer
|
||||
|
||||

|
||||
|
||||
Hydra Slayer 是一个专注于杀死九头蛇的开源 Roguelike 游戏。它受到了希腊神话、地下城探险、MathRL seven day roguelike ,和一些关于勇者杀死多头野兽的数字谜题等启发。
|
||||
|
||||
特点如下:
|
||||
|
||||
- 独特的游戏机制;
|
||||
- 混合希腊神话和数字迷宫的主题;
|
||||
- 传统的 roguelike ASCII 字符界面或贴片/3D 界面;
|
||||
- 5 种人物角色,具有极为不同的战术、力量及弱点;
|
||||
- 28 种敌人类型:
|
||||
- 10 种基本的九头蛇类型(每种类型都有两种变种);
|
||||
- 8 种特殊类型的敌人;
|
||||
- 可用作战术工具的无害蘑菇;
|
||||
- 28 种装备(并包括材料和装备的大小/力量的变种);
|
||||
- 15 种武器材料;
|
||||
- 18 种非装备物品;
|
||||
- 3 种可供选择的地图;
|
||||
- 8 种关卡拓扑结构(包括莫比乌斯带和克莱因瓶);
|
||||
- 11 个关卡生成器;
|
||||
- 2 种结局;
|
||||
|
||||
- 网站: [www.roguetemple.com/z/hydra][13]
|
||||
- 开发者: Zeno Rogue
|
||||
- 协议: GNU GPL v2
|
||||
- 版本号: 16.1
|
||||
|
||||
----------
|
||||
|
||||
###Brogue
|
||||
|
||||

|
||||
|
||||
Brogue 是一个开源的 Roguelike 游戏,它可以运行在 Mac OS X, Windows, Linux, iOS 和 Android 等平台下。
|
||||
|
||||
Brogue 是 Rogue 的一个直系分支,后者是一个最早由 Michael Toy 和 Glenn Wichman 于 1980 年左右开发的地下城探险视频游戏。与其他受欢迎的现代 Roguelike 游戏不同, Brogue 追求简单而不是复杂性,同时尽力确保游戏的不同组成之间的联系是有趣且纷繁多彩。
|
||||
|
||||
这个游戏的目标是取得深藏于地下第 26 层的 "Amulet of Yendor",再返回到地面逃出生天。对于那些技术娴熟且想进一步探险的人来说,位于 26 层之下的每层均包含 3 颗 lumenstone (流明石)(LCTT 译注:此处与我在[这里](http://brogue.wikia.com/wiki/Lumenstone)看到的有些出入),获得它们,将在胜利的基础上被授予额外的得分。
|
||||
|
||||
Brogue 是一个富有挑战性的游戏,但玩起来非常有趣。尽量不要因游戏的高难度而灰心;试玩一段时间之后,你会发现它变得非常吸引人。
|
||||
|
||||
特点如下:
|
||||
|
||||
- 追求简单而非复杂;
|
||||
- 对用户友好;
|
||||
- 相比于 Rogue, Brogue 关卡生成更加复杂;
|
||||
- 移除了 XP 和 水平系统 ;
|
||||
- 陷阱,防护性物品;
|
||||
- 额外的怪兽类型和魔法物品;
|
||||
|
||||
- 网站: [sites.google.com/site/broguegame][14]
|
||||
- 作者: Brian Walker
|
||||
- 协议: GNU Affero GPL
|
||||
- 版本号: 1.7.3
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/201412031524381/RoguelikeGames.html
|
||||
|
||||
作者:Frazer Kline
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://crawl.develz.org/
|
||||
[2]:http://www.bay12games.com/dwarves/index.html
|
||||
[3]:http://www.adom.de/
|
||||
[4]:http://te4.org/
|
||||
[5]:http://en.cataclysmdda.com/
|
||||
[6]:http://goblinhack.sourceforge.net/
|
||||
[7]:https://github.com/goblinhack/goblinhack
|
||||
[8]:http://www.slashem.org/
|
||||
[9]:http://www.nethack.org/
|
||||
[10]:http://www.asciisector.net/
|
||||
[11]:http://rephial.org/
|
||||
[12]:http://sourceforge.net/apps/trac/unnethack/
|
||||
[13]:http://www.roguetemple.com/z/hydra/
|
||||
[14]:lhttps://sites.google.com/site/broguegame/
|
@ -0,0 +1,83 @@
|
||||
如何在Ubuntu 14.04上安装轻量级web服务器Cherokee
|
||||
================================================================================
|
||||
**Cherokee** 是一个免费,开源,高性能轻量级的全功能web服务器,支持大部分主流操作系统(Linux、 Mac OS X、 Solaris 和 BSD)。它支持TLS/SSL、FastCGI、 SCGI、 PHP、 uWSGI、 SSI、 CGI、 LDAP、 HTTP代理、 视频流处理、 内容缓存、 流量控制、 虚拟主机、Apache兼容的日志文件,以及负载均衡等功能。
|
||||
|
||||
今天我们介绍一下怎样在Ubuntu Server 14.04 LTS安装和配置轻量级的web服务器Cherokee,只需要注意修改软件源列表,同样适用于Ubuntu12.04,12.10和13.04。
|
||||
|
||||
在Ubuntu Server上逐步安装和配置Cherokee
|
||||
|
||||
### 1. 更新Ubuntu软件包索引 ###
|
||||
|
||||
首先登陆Ubuntu Server,执行以下命令,更新Ubuntu Server的软件源并安装可用的更新。
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get upgrade
|
||||
|
||||
### 2. 加入 PPA ###
|
||||
|
||||
通过运行以下命令增加Cherokee的PPA
|
||||
|
||||
sudo add-apt-repository ppa:cherokee-webserver
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
对于运行14.04版本的服务器还需要执行以下步骤
|
||||
|
||||
cd /etc/apt/sources.list.d
|
||||
|
||||
nano cherokee-webserver-ppa-trusty.list
|
||||
|
||||
用`deb http://ppa.launchpad.net/cherokee-webserver/ppa/ubuntu saucy main` 替换 `deb http://ppa.launchpad.net/cherokee-webserver/ppa/ubuntu trusty main`
|
||||
|
||||
**再次运行命令:**
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
### 3. 使用apt-get安装Cherokee ###
|
||||
|
||||
使用如下命令安装Cherokee和SSL模块
|
||||
|
||||
sudo apt-get install cherokee cherokee-admin cherokee-doc libcherokee-mod-libssl libcherokee-mod-streaming libcherokee-mod-rrd
|
||||
|
||||
### 4. 配置Cherokee ###
|
||||
|
||||
重启Cherokee服务:
|
||||
|
||||
sudo service cherokee start
|
||||
|
||||
使用Cherokee最大的好处就是能通过一个简单易用的web界面 cherokee-admin 来管理所有的配置选项。推荐通过浏览器来管理Cherokee。使用如下命令启动cherokee-admin
|
||||
|
||||
sudo cherokee-admin
|
||||
|
||||
**注意: cherokee-admin 会显示用户名,一次性密码和web管理界面地址。**
|
||||
|
||||
**请记录下这个一次性密码,登录到管理界面时需要它。**
|
||||
|
||||
默认情况下,只能通过localhost访问Cherokee-admin,如果需要通过其它网络地址来访问,可以使用‘**-b**’参数。如果不指定任何IP地址,Cherokee-admin会自动监听所有网络端口。然后就可以通过网络访问Cherokee-admin
|
||||
|
||||
sudo cherokee-admin -b
|
||||
|
||||
通过指定IP地址访问Cherokee-admin
|
||||
|
||||
sudo cherokee-admin -b 192.168.1.102
|
||||
|
||||
### 5. 浏览cherokee-admin面板 ###
|
||||
|
||||
在你喜欢的浏览器中输入地址`http://主机名或 IP 地址:9090/`就可以进入控制面板了。例如我的是http://127.0.0.1:9090/,在浏览器中显示如下图
|
||||
|
||||

|
||||
|
||||
好了,到这里我们已经成功地在Ubuntu Server上安装和配置了Cherokee。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/ubuntu-how-to/install-cherokee-lightweight-web-server-ubuntu-14-04/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[ictlyh](https://github.com/ictlyh)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
@ -1,15 +1,15 @@
|
||||
C语言数据类型是如何被大多数计算机系统所支持?
|
||||
---------
|
||||
========================
|
||||
|
||||
#问题:
|
||||
###问题:
|
||||
|
||||
在读K&R版的*The C Programming Language*一书时,我在[介绍,第3页]看到这样一条说明:
|
||||
在读K&R版的*The C Programming Language*一书时,我在[介绍,第3页]看到这样一条说明:
|
||||
|
||||
>因为C语言提供的数据类型和控制结构可以直接被大部分计算机系统所支持,所以在实现自包含程序时所需要的运行库文件一般很小。
|
||||
>**因为C语言提供的数据类型和控制结构可以直接被大部分计算机系统所支持,所以在实现自包含程序时所需要的运行库文件一般很小。**
|
||||
|
||||
这段黑体说明了什么?能找到一个例子来说明C语言中的某种数据类型或控制结构并不能被一种计算机系统所支持呢?
|
||||
这段黑体说明了什么?能否找到一个例子来说明C语言中的某种数据类型或控制结构不被某种计算机系统直接支持呢?
|
||||
|
||||
#回答:
|
||||
###回答:
|
||||
|
||||
事实上,C语言中确实有不被直接支持的数据类型。
|
||||
|
||||
@ -31,13 +31,13 @@ return _float_add(x, y);
|
||||
|
||||
另一个常见的例子是64位整型数(C语言标准中'long long'类型是1999年之后才出现的),这种类型在32位系统上也不能直接使用。古董级的SPARC系统则不支持整型乘法,所以在运行时必须提供乘法的实现。当然,还有一些其它例子。
|
||||
|
||||
##其它语言
|
||||
####其它语言
|
||||
|
||||
相比起来,其它编程语言有更加复杂的基本类型。
|
||||
|
||||
比如,Lisp中的symbol需要大量的运行时实现支持,就像Lua中的tables、Python中的strings、Fortran中的arrays,等等。在C语言中等价的类型通常要么不属于标准库(C语言没有标准symbols或tables),要么更加简单,而且并不需要那么多的运行时支持(C语言中的array基本上就是指针,以NULL结尾的字符串实现起来也很简单)。
|
||||
比如,Lisp中的symbol需要大量的运行时实现支持,就像Lua中的table、Python中的string、Fortran中的array,等等。在C语言中等价的类型通常要么不属于标准库(C语言没有标准symbol或table),要么更加简单,而且并不需要那么多的运行时支持(C语言中的array基本上就是指针,以NULL结尾的字符串实现起来也很简单)。
|
||||
|
||||
##控制结构
|
||||
####控制结构
|
||||
|
||||
异常处理是C语言中没有的一种控制结构。非局部的退出只有'setjmp()'和'longjmp()'两种,只能提供保存和恢复某些部分的处理器状态。相比之下,C++运行时环境必须先遍历函数调用栈,然后调用析构函数和异常处理函数。
|
||||
|
||||
@ -46,7 +46,7 @@ via:[stackoverflow](http://stackoverflow.com/questions/27977522/how-are-c-data-t
|
||||
|
||||
作者:[Dietrich Epp][a]
|
||||
译者:[KayGuoWhu](https://github.com/KayGuoWhu)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,13 +1,13 @@
|
||||
如何在CentOS/RHEL中安装机遇Web监控的Linux-dash
|
||||
如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash
|
||||
================================================================================
|
||||
**Linux-dash**是一款为Linux设计的基于web的轻量级监控面板。这个程序会显示实时时间、不同的系统属性,比如CPU负载、RAM使用率、磁盘使用率、网速、网络连接、RX/TX带宽、登录用户、运行的进程等等。它不会存储长期的统计。因为它没有后端数据库。
|
||||
**Linux-dash**是一款为Linux设计的基于web的轻量级监控面板。这个程序会实时显示各种不同的系统属性,比如CPU负载、RAM使用率、磁盘使用率、网速、网络连接、RX/TX带宽、登录用户、运行的进程等等。它不会存储长期的统计。因为它没有后端数据库。
|
||||
|
||||
本篇文章将会向你展示如何安装和设置Linux dash,这里的web服务器是**Nginx**.
|
||||
本篇文章将会向你展示如何安装和设置Linux dash,这里所使用的web服务器是**Nginx**.
|
||||
|
||||
### 安装 ###
|
||||
|
||||
首先我们要启用[EPEL 仓库][1]。
|
||||
|
||||
|
||||
**接下来,我们需要用下面的命令安装nginx。**
|
||||
|
||||
sudo yum install nginx
|
||||
@ -59,7 +59,7 @@
|
||||
|
||||
sudo vim /etc/php-fpm.d/www.conf
|
||||
|
||||
**确保设置了“listn”,“user”和“group”字段。你可以保留下面的配置不变。**
|
||||
**确保设置了如下的“listen”,“user”和“group”字段。你可以保留其它的配置不变。**
|
||||
|
||||
. . .
|
||||
listen = /var/run/php-fpm.sock
|
||||
@ -73,25 +73,25 @@
|
||||
sudo cp -r linux-dash/ /var/www/
|
||||
sudo chown -R nginx:nginx /var/www
|
||||
|
||||
**接下来,重启 Nginx和php-fpm**
|
||||
**接下来,重启 Nginx和php-fpm。**
|
||||
|
||||
sudo service nginx restart
|
||||
sudo service php-fpm restart
|
||||
|
||||
**设置nginx和php-fpm开机自动启动**
|
||||
**设置nginx和php-fpm开机自动启动。**
|
||||
|
||||
sudo chkconfig nginx on
|
||||
sudo chkconfig php-fpm on
|
||||
|
||||
在本例中,我们使用TCP端口8080配置linux-dash。因此确保防火墙没有阻止8080 TCP端口。
|
||||
在本例中,我们使用TCP端口8080配置linux-dash。因此需确保防火墙没有阻止8080 TCP端口。
|
||||
|
||||
### 用linux-dash监控Linux服务器 ###
|
||||
|
||||
你现在可以在浏览器中输入**http://<linux-IP-address>:8080/linux-dash/**来访问Linux-dash。
|
||||
你现在可以在浏览器中输入**http://\<IP地址>:8080/linux-dash/**来访问Linux-dash。
|
||||
|
||||
web面板包含了不同的组件,每个都显示独特的系统属性。你可以自定义web面板的外观也可以关闭一些组件。
|
||||
|
||||

|
||||

|
||||
|
||||
美好的一天!
|
||||
|
||||
@ -104,9 +104,9 @@ via: http://www.unixmen.com/install-linux-dash-web-based-monitoring-system-cento
|
||||
|
||||
作者:[Jijo][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.unixmen.com/author/jijo/
|
||||
[1]:http://www.unixmen.com/install-epel-repository-centos-rhel-7/
|
||||
[1]:http://linux.cn/article-2324-1.html
|
@ -1,10 +1,10 @@
|
||||
在Ubuntu 14.04 中修复无法修复回收站[快速提示]
|
||||
在Ubuntu 14.04 中修复无法清空回收站的问题
|
||||
================================================================================
|
||||

|
||||
|
||||
### 问题 ###
|
||||
|
||||
**无法在Ubuntu 14.04中清空回收站的问题**。我右键回收站图标并选择清空回收站,就像我一直做的那样。我看到进度条显示删除文件中过了一段时间。但是它停止了,并且Nautilus文件管理也停止了。我不得不在终端中停止了它。
|
||||
**我遇到了无法在Ubuntu 14.04中清空回收站的问题**。我右键回收站图标并选择清空回收站,就像我一直做的那样。我看到进度条显示删除文件中过了一段时间。但是它停止了,并且Nautilus文件管理也停止了。我不得不在终端中停止了它。
|
||||
|
||||
但是这很痛苦因为文件还在垃圾箱中。并且我反复尝试清空后窗口都冻结了。
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
这里注意你的输入。你使用超级管理员权限来运行删除命令。我相信你不会删除其他文件或者目录。
|
||||
|
||||
上面的命令会删除回收站目录下的所有文件。换句话说,这是用命令清空垃圾箱。使用玩上面的命令后,你会看到垃圾箱已经清空了。如果你删除了所有文件,你不应该在看到Nautilus崩溃的问题了。
|
||||
上面的命令会删除回收站目录下的所有文件。换句话说,这是用命令清空垃圾箱。使用完上面的命令后,你会看到垃圾箱已经清空了。如果你清空了所有文件,你不应该在看到Nautilus崩溃的问题了。
|
||||
|
||||
### 对你有用么? ###
|
||||
|
||||
@ -30,7 +30,7 @@ via: http://itsfoss.com/fix-empty-trash-ubuntu/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -8,7 +8,7 @@ Linux 有问必答:如何在Linux 中修复“fatal error: x264.h: No such fil
|
||||
|
||||
[x264][1]是GNU GPL授权的H.264/MPEG-4 AVC编码库。x264库被广泛用于视频编码/转码程序比如Avidemux、[FFmpeg][2]、 [HandBrake][3]、 OpenShot、 MEncode等等。
|
||||
|
||||
要解决这个问题,你需要安装x264的开发库文件。你可以这么做。
|
||||
要解决这个问题,你需要安装x264的开发库文件。你可以如下做。
|
||||
|
||||
###在 Debian、 Ubuntu 或者 Linux Mint 中安装像x264库和开发文件 ###
|
||||
|
||||
@ -24,7 +24,7 @@ RPM Fusion设置完成后,你可以使用下面的命令安装x264开发文件
|
||||
|
||||
$ sudo yum --enablerepo=rpmfusion-free install x264-devel
|
||||
|
||||
注意RPM Fusion仓库在CentOS 7中还没有,因此上面的方法在CentOS 7中还不可行。万一是CentOS 7 ,你可以从源码编译并安装x264,下面会解释的。
|
||||
注意RPM Fusion仓库在CentOS 7中还没有,因此上面的方法在CentOS 7中还不可行。万一是CentOS 7 ,你可以从源码编译并安装x264,下面会解释的。
|
||||
|
||||
### 在Debian、 Ubuntu 或者 Linux Mint中源码编译x264库 ###
|
||||
|
||||
@ -81,7 +81,7 @@ x264库将会安装在/usr/local/lib。要让其他程序可以使用这个库
|
||||
via: http://ask.xmodulo.com/fatal-error-x264-h-no-such-file-or-directory.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -15,13 +15,13 @@ MariaDB是MySQL社区开发的分支,也是一个增强型的替代品。它
|
||||
|
||||
现在,让我们迁移到MariaDB吧!
|
||||
|
||||
**以测试为目的**让我们创建一个叫**linoxidedb**的示例数据库。
|
||||
让我们创建一个叫**linoxidedb**的**用于测试的**示例数据库。
|
||||
|
||||
使用以下命令用root账户登陆MySQL:
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
输入mysql root用户的密码后,你将进入**mysql的命令行**
|
||||
输入mysql 的 root 用户密码后,你将进入**mysql的命令行**
|
||||
|
||||
**创建测试数据库:**
|
||||
|
||||
@ -54,7 +54,8 @@ MariaDB是MySQL社区开发的分支,也是一个增强型的替代品。它
|
||||
$ mysqldump: Error: Binlogging on server not active
|
||||
|
||||

|
||||
mysqldump error
|
||||
|
||||
*mysqldump error*
|
||||
|
||||
为了修复这个错误,我们需要对**my.cnf**文件做一些小改动。
|
||||
|
||||
@ -68,7 +69,7 @@ mysqldump error
|
||||
|
||||

|
||||
|
||||
好了在保存并关闭文件后,我们需要重启一下mysql服务。运行以下命令重启:
|
||||
好了,在保存并关闭文件后,我们需要重启一下mysql服务。运行以下命令重启:
|
||||
|
||||
$ sudo /etc/init.d/mysql restart
|
||||
|
||||
@ -77,17 +78,18 @@ mysqldump error
|
||||
$ mysqldump --all-databases --user=root --password --master-data > backupdatabase.sql
|
||||
|
||||

|
||||
dumping databases
|
||||
|
||||
*dumping databases*
|
||||
|
||||
上面的命令将会备份所有的数据库,把它们存储在当前目录下的**backupdatabase.sql**文件中。
|
||||
|
||||
### 2. 卸载MySQL ###
|
||||
|
||||
首先,我们得把**my.cnt文件挪到安全的地方去**。
|
||||
首先,我们得把**my.cnf文件挪到安全的地方去**。
|
||||
|
||||
**注**:my.cnf文件将不会在你卸载MySQL包的时候被删除,我们这样做只是以防万一。在MariaDB安装时,它会询问我们是保持现存的my.cnf文件,还是使用包中自带的版本(即新my.cnf文件)。
|
||||
**注**:在你卸载MySQL包的时候不会自动删除my.cnf文件,我们这样做只是以防万一。在MariaDB安装时,它会询问我们是保持现存的my.cnf文件,还是使用包中自带的版本(即新my.cnf文件)。
|
||||
|
||||
在shell或终端中输入如下命令来备份my.cnt文件:
|
||||
在shell或终端中输入如下命令来备份my.cnf文件:
|
||||
|
||||
$ sudo cp /etc/mysql/my.cnf my.cnf.bak
|
||||
|
||||
@ -111,7 +113,7 @@ dumping databases
|
||||
|
||||

|
||||
|
||||
键值导入并且添加完仓库后你就可以用以下命令安装MariaDB了:
|
||||
键值导入并且添加完仓库后,你就可以用以下命令安装MariaDB了:
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install mariadb-server
|
||||
@ -120,7 +122,7 @@ dumping databases
|
||||
|
||||

|
||||
|
||||
我们应该还没忘记在MariaDB安装时,它会问你是使用现有的my.cnf文件,还是包中自带的版本。你可以使用以前的my.cnf也可以用包中自带的。即使你想直接使用新的my.cnf文件,你依然可以晚点将以前的备份内容还原进去(别忘了我们已经将它复制到安全的地方那个去了)。所以,我们直接选择了默认的选项“N”。如果需要安装其他版本,请参考[MariaDB官方仓库][2]。
|
||||
我们应该还没忘记在MariaDB安装时,它会问你是使用现有的my.cnf文件,还是包中自带的版本。你可以使用以前的my.cnf也可以用包中自带的。即使你想直接使用新的my.cnf文件,你依然可以晚点时候将以前的备份内容还原进去(别忘了我们已经将它复制到安全的地方了)。所以,我们直接选择了默认的选项“N”。如果需要安装其他版本,请参考[MariaDB官方仓库][2]。
|
||||
|
||||
### 4. 恢复配置文件 ###
|
||||
|
||||
@ -136,7 +138,7 @@ dumping databases
|
||||
|
||||
就这样,我们已成功将之前的数据库导入了进来。
|
||||
|
||||
来,让我们登陆一下mysql命令行,检查一下数据库是否真的已经导入了:
|
||||
来,让我们登录一下mysql命令行,检查一下数据库是否真的已经导入了:
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
@ -152,15 +154,15 @@ dumping databases
|
||||
|
||||
### 总结 ###
|
||||
|
||||
最后,我们已经成功地从MySQL迁移到了MariaDB数据库管理系统。MariaDB比MySQL好,虽然在性能方面MySQL还是比它更快,但是MariaDB的优点在于它额外的特性与支持的许可证。这能够确保它自由开源(FOSS),并永久自由开源,相比之下MySQL还有许多额外的插件,有些不能自由使用代码、有些没有公开的开发进程、有些在不久的将来会变的不再自由开源。如果你有任何的问题、评论、反馈给我们,不要犹豫直接在评论区留下你的看法。谢谢观看本教程,希望那你能喜欢MariaDB。
|
||||
最后,我们已经成功地从MySQL迁移到了MariaDB数据库管理系统。MariaDB比MySQL好,虽然在性能方面MySQL还是比它更快,但是MariaDB的优点在于它额外的特性与支持的许可证。这能够确保它自由开源(FOSS),并永久自由开源,相比之下MySQL还有许多额外的插件,有些不能自由使用代码、有些没有公开的开发进程、有些在不久的将来会变的不再自由开源。如果你有任何的问题、评论、反馈给我们,不要犹豫直接在评论区留下你的看法。谢谢观看本教程,希望你能喜欢MariaDB。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-how-to/migrate-mysql-mariadb-linux/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[martin2011qi](https://github.com/martin2011qi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,10 +1,10 @@
|
||||
如何使用btsync通过网络实现电脑间文件共享
|
||||
如何使用btsync通过网络实现计算机间的文件共享
|
||||
================================================================================
|
||||
如果你是使用各式设备在网上工作的这类人,我相信你肯定需要一个在不同设备间同步文件及目录的方法,至少是非常渴望有这种功能。
|
||||
如果你是那种使用各式设备在网上工作的人,我相信你肯定需要一个在不同设备间同步文件及目录的方法,至少是非常渴望有这种功能。
|
||||
|
||||
BitTorrent Sync简称btsync,是一个基于BitTorrent(著名P2P文件分享协议)的免费跨平台同步工具。与传统BitTorrent客户端不同的是btsync用于传输加密和访问授权的是不同操作系统及设备中自动生成的键。
|
||||
BitTorrent Sync简称btsync,是一个基于BitTorrent(著名P2P文件分享协议)的免费跨平台同步工具。与传统BitTorrent客户端不同的是,btsync可以在不同操作系统及设备之间加密数据传输和基于自动生成的密钥来授予访问共享文件的权限。
|
||||
|
||||
更具体点,当你想要通过btsync共享一些文件或文件夹,相应的读/写键(所谓的秘密编码)已经创建。这些键将会通过不同的途径例如HTTPS链接,电子邮件,二维码等被分享。一旦两台设备通过一个键配对成功,链接内容将会直接在其间同步。如果没有事先设置,传输将不会有文件大小和速度的限制。你可以在btsync中创建账号,以此来创建和管理通过网络分享的键和文件。
|
||||
更具体点,当你想要通过btsync共享一些文件或文件夹,相应的读/写密钥(所谓的密码)就创建好了。这些密钥可以通过HTTPS链接,电子邮件,二维码等在不同的设备间共享传递。一旦两台设备通过一个密钥配对成功,其所对应的内容将会直接在其间同步。如果没有事先设置,传输将不会有文件大小和速度的限制。你可以在btsync中创建账号,这样你可以通过 web 界面来创建和管理通过网络分享的密钥和文件。
|
||||
|
||||
BitTorrent Sync可以在许多的操作系统上运行,包括Linux,MacOS X,Windows,在 [Android][1]和[iOS][2]上也可以使用。在这里,我们将教你在Linux环境(一台家用服务器)与Windows环境(一台笔记本电脑)之间如何使用BitTorrent Sync来同步文件。
|
||||
|
||||
@ -12,7 +12,7 @@ BitTorrent Sync可以在许多的操作系统上运行,包括Linux,MacOS X
|
||||
|
||||
BitTorrent Sync可以在[项目主页][3]直接下载。由于Windows版本的BitTorrent Syn安装起来十分简单,所以我们假设笔记本上已经安装了。我们把焦点放到Linux服务器上的安装和配置。
|
||||
|
||||
在下载页面中选择你的系统架构,右键相应链接,选择复制连接地址(或者简单的依靠浏览器判断),将链接粘贴到在终端中用wget下载,如下:
|
||||
在下载页面中选择你的系统架构,右键相应链接,复制连接地址(或者类似的功能,不同浏览器可能不同),将链接粘贴到在终端中用wget下载,如下:
|
||||
|
||||
**64位Linux:**
|
||||
|
||||
@ -36,11 +36,11 @@ BitTorrent Sync可以在[项目主页][3]直接下载。由于Windows版本的Bi
|
||||
|
||||
export PATH=$PATH:/usr/local/bin/btsync
|
||||
|
||||
或者在在该文件夹中运行btsync的二进制文件。我们推荐使用第一种方式,虽需要少量的输入但更容易记忆。
|
||||
或者在该文件夹中运行btsync的二进制文件。我们推荐使用第一种方式,虽需要少量的输入但更容易记忆。
|
||||
|
||||
### 配置Btsync ###
|
||||
### 配置btsync ###
|
||||
|
||||
Btsync带有一个内置的网络服务器被用作其管理接口。想要使用这个接口你需要创建一个配置文件。你可以使用以下命令来创建:
|
||||
btsync带有一个内置的网络服务器,用作其管理接口。想要使用这个接口你需要创建一个配置文件。你可以使用以下命令来创建:
|
||||
|
||||
# btsync --dump-sample-config > btsync.config
|
||||
|
||||
@ -54,19 +54,21 @@ Btsync带有一个内置的网络服务器被用作其管理接口。想要使
|
||||
|
||||

|
||||
|
||||
如果你将来想要优化一下它的配置,可以看一下 /usr/local/bin/btsync 目录下的 README 文件,不过现在我们先继续下面的步骤。
|
||||
|
||||
### 第一次运行btsync ###
|
||||
|
||||
作为一个系统的最高执行者我们需要依赖日志文件!所以在我们启动btsync之前,我们将先为btsync创建一个日志文件。
|
||||
|
||||
# touch /var/log/btsync.log
|
||||
|
||||
最后,让我们开启btsync:
|
||||
最后,让我们启动btsync:
|
||||
|
||||
# btsync --config /usr/local/bin/btsync/btsync.config --log /var/log/btsync.log
|
||||
|
||||

|
||||
|
||||
现在在你的浏览器中输入正在运行btsync监听的服务器IP地址和端口(我这是192.168.0.15:8888),同意隐私政策,条款和最终用户许可协议:
|
||||
现在在你的浏览器中输入正在运行的btsync所监听的服务器IP地址和端口(我这是192.168.0.15:8888),同意其隐私政策,条款和最终用户许可协议:
|
||||
|
||||

|
||||
|
||||
@ -80,33 +82,29 @@ Btsync带有一个内置的网络服务器被用作其管理接口。想要使
|
||||
|
||||
现在这样就够了。在运行接下来的步骤之前,请先在Windows主机(或你想使用的其他Linux设备)上安装BitTorrent Sync。
|
||||
|
||||
### Btsync分享文件 ###
|
||||
### btsync分享文件 ###
|
||||
|
||||
下方的视频将会展示如何在安装Windows8的电脑[192.168.0.106]上分享现有的文件夹。在添加好想要同步的文件夹后,你会得到它的键,通过“Enter a key or link”菜单(上面的图已经展示过了)添加到你安装到的Linux机器上,并开始同步:
|
||||
这个[视频][5](需要翻墙)展示了如何在安装Windows8的电脑[192.168.0.106]上分享现有的文件夹。在添加好想要同步的文件夹后,你会得到它的密钥,通过“Enter a key or link”菜单(上面的图已经展示过了)添加到你安装到的Linux机器上,并开始同步。
|
||||
|
||||
注释:youtube视频
|
||||
<iframe width="615" height="346" frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/f7kLM0lAqF4?feature=oembed"></iframe>
|
||||
现在用别的设备试试吧;找一个想要分享的文件夹或是一些文件,并通过Linux服务器的网络接口将密钥导入到你安装的“中央”btsync中。
|
||||
|
||||
现在用别的设备试试吧;找一个想要分享的文件夹或是一些文件,并通过Linux服务器的网络接口将键导入到你安装的“核心”btsync中。
|
||||
|
||||
### 使用常规用户开机自动运行btsync ###
|
||||
### 以常规用户开机自动运行btsync ###
|
||||
|
||||
你们可能注意到了,视频中在同步文件时是使用'root'组的用户创建/btsync目录的。那是因为我们使用超级用户手动启动BitTorrent Sync的原因。在通常情况下,你会希望它开机自动使用无权限用户(www_data或是专门为此创建的账户,例如btsync)启动。
|
||||
|
||||
所以,我们创建了一个叫做btsync的用户,并在/etc/rc.local文件(exit 0行前)添加如下字段:
|
||||
所以,我们创建了一个叫做btsync的用户,并在/etc/rc.local文件(exit 0 这一行前)添加如下字段:
|
||||
|
||||
sudo -u btsync /usr/local/bin/btsync/btsync --config /usr/local/bin/btsync/btsync.config --log /var/log/btsync.log
|
||||
|
||||
最后,创建pid文件:
|
||||
|
||||
# touch /usr/local/bin/btsync/.sync//sync.pid
|
||||
# touch /usr/local/bin/btsync/.sync/sync.pid
|
||||
|
||||
并递归更改/usr/local/bin/btsync的所属用户:
|
||||
并递归更改 /usr/local/bin/btsync的所属用户:
|
||||
|
||||
# chown -R btsync:root /usr/local/bin/btsync
|
||||
|
||||
现在重启试试,看看btsync是否正在由预期中的用户运行:
|
||||
Now reboot and verify that btsync is running as the intended user:
|
||||
|
||||

|
||||
|
||||
@ -114,7 +112,7 @@ Now reboot and verify that btsync is running as the intended user:
|
||||
|
||||
### 尾注 ###
|
||||
|
||||
如你所见,BitTorrent Sync对你几乎就像一个无服务器的Dropbox。我说“几乎”的原因是:当你在局域网内同步数据时,同步在两个设备之间直接进行。然而如果你想要跨网段同步数据,并且你的设备可能要穿过防火墙的限制来配对,那就只能通过一个提供BitTorrent的第三方中继服务器来完成同步传输。虽然声称传输经过 [AES加密][4],你还是可能遇到不想放生的状况。为了你的隐私着想,务必在你共享的每个文件夹中关掉中继/跟踪选项。
|
||||
如你所见,BitTorrent Sync对你而言几乎就像一个无服务器的Dropbox。我说“几乎”的原因是:当你在局域网内同步数据时,同步在两个设备之间直接进行。然而如果你想要跨网段同步数据,并且你的设备可能要穿过防火墙的限制来配对,那就只能通过一个提供BitTorrent的第三方中继服务器来完成同步传输。虽然声称传输经过 [AES加密][4],你还是可能会遇到不想发生的状况。为了你的隐私着想,务必在你共享的每个文件夹中关掉中继/跟踪选项。
|
||||
|
||||
希望这些对你有用!分享愉快!
|
||||
|
||||
@ -123,8 +121,8 @@ Now reboot and verify that btsync is running as the intended user:
|
||||
via: http://xmodulo.com/share-files-between-computers-over-network.html
|
||||
|
||||
作者:[Gabriel Cánepa][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[martin2011qi](https://github.com/martin2011qi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
@ -133,3 +131,4 @@ via: http://xmodulo.com/share-files-between-computers-over-network.html
|
||||
[2]:https://itunes.apple.com/us/app/bittorrent-sync/id665156116
|
||||
[3]:http://www.getsync.com/
|
||||
[4]:http://www.getsync.com/tech-specs
|
||||
[5]:https://youtu.be/f7kLM0lAqF4
|
@ -0,0 +1,170 @@
|
||||
如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击
|
||||
================
|
||||
|
||||
对于SSH服务的常见的攻击就是暴力破解攻击——远程攻击者通过不同的密码来无限次地进行登录尝试。当然SSH可以设置使用非密码验证验证方式来对抗这种攻击,例如[公钥验证][1]或者[双重验证][2]。将不同的验证方法的优劣处先放在一边,如果我们必须使用密码验证方式怎么办?你是如何保护你的 SSH 服务器免遭暴力破解攻击的呢?
|
||||
|
||||
[fail2ban][3] 是 Linux 上的一个著名的入侵保护的开源框架,它会监控多个系统的日志文件(例如:/var/log/auth.log 或者 /var/log/secure)并根据检测到的任何可疑的行为自动触发不同的防御动作。事实上,fail2ban 在防御对SSH服务器的暴力密码破解上非常有用。
|
||||
|
||||
在这篇指导教程中,我会演示**如何安装并配置 fail2ban 来保护 SSH 服务器以避免来自远程IP地址的暴力攻击**。
|
||||
|
||||
###在linux上安装Fail2ban
|
||||
|
||||
为了在CentOS 或 RHEL上安装fail2ban,首先[设置EPEL仓库][4],然后运行以下命令。
|
||||
|
||||
$ sudo yum install fail2ban
|
||||
|
||||
在Fedora上安装fail2ban,简单地运行以下命令:
|
||||
|
||||
$ sudo yum install fail2ban
|
||||
|
||||
在ubuntu,Debian 或 Linux Mint上安装fail2ban:
|
||||
|
||||
$ sudo apt-get install fail2ban
|
||||
|
||||
### 为SSH服务器配置Fail2ban
|
||||
|
||||
现在你已经准备好了通过配置 fail2ban 来加强你的SSH服务器。你需要编辑其配置文件 /etc/fail2ban/jail.conf。 在配置文件的“[DEFAULT]”区,你可以在此定义所有受监控的服务的默认参数,另外在特定服务的配置部分,你可以为每个服务(例如SSH,Apache等)设置特定的配置来覆盖默认的参数配置。
|
||||
|
||||
在针对服务的监狱区(在[DEFAULT]区后面的地方),你需要定义一个[ssh-iptables]区,这里用来定义SSH相关的监狱配置。真正的禁止IP地址的操作是通过iptables完成的。
|
||||
|
||||
下面是一个包含“ssh-iptables”监狱配置的/etc/fail2ban/jail.conf的文件样例。当然根据你的需要,你也可以指定其他的应用监狱。
|
||||
|
||||
$ sudo vi /etc/fail2ban/jail.local
|
||||
|
||||
```
|
||||
[DEFAULT]
|
||||
# 以空格分隔的列表,可以是 IP 地址、CIDR 前缀或者 DNS 主机名
|
||||
# 用于指定哪些地址可以忽略 fail2ban 防御
|
||||
ignoreip = 127.0.0.1 172.31.0.0/24 10.10.0.0/24 192.168.0.0/24
|
||||
|
||||
# 客户端主机被禁止的时长(秒)
|
||||
bantime = 86400
|
||||
|
||||
# 客户端主机被禁止前允许失败的次数
|
||||
maxretry = 5
|
||||
|
||||
# 查找失败次数的时长(秒)
|
||||
findtime = 600
|
||||
|
||||
mta = sendmail
|
||||
|
||||
[ssh-iptables]
|
||||
enabled = true
|
||||
filter = sshd
|
||||
action = iptables[name=SSH, port=ssh, protocol=tcp]
|
||||
sendmail-whois[name=SSH, dest=your@email.com, sender=fail2ban@email.com]
|
||||
# Debian 系的发行版
|
||||
logpath = /var/log/auth.log
|
||||
# Red Hat 系的发行版
|
||||
logpath = /var/log/secure
|
||||
# ssh 服务的最大尝试次数
|
||||
maxretry = 3
|
||||
```
|
||||
|
||||
根据上述配置,fail2ban会自动禁止在最近10分钟内有超过3次访问尝试失败的任意IP地址。一旦被禁,这个IP地址将会在24小时内一直被禁止访问 SSH 服务。这个事件也会通过sendemail发送邮件通知。
|
||||
|
||||
一旦配置文件准备就绪,按照以下方式重启fail2ban服务。
|
||||
|
||||
在 Debian, Ubuntu 或 CentOS/RHEL 6:
|
||||
|
||||
$ sudo service fail2ban restart
|
||||
|
||||
在 Fedora 或 CentOS/RHEL 7:
|
||||
|
||||
$ sudo systemctl restart fail2ban
|
||||
|
||||
为了验证fail2ban成功运行,使用参数'ping'来运行fail2ban-client 命令。 如果fail2ban服务正常运行,你可以看到“pong(嘭)”作为响应。
|
||||
|
||||
$ sudo fail2ban-client ping
|
||||
Server replied: pong
|
||||
|
||||
### 测试 fail2ban 保护SSH免遭暴力破解攻击
|
||||
|
||||
为了测试fail2ban是否能正常工作,尝试通过使用错误的密码来用SSH连接到服务器模拟一个暴力破解攻击。与此同时,监控 /var/log/fail2ban.log,该文件记录在fail2ban中发生的任何敏感事件。
|
||||
|
||||
$ sudo tail -f /var/log/fail2ban.log
|
||||
|
||||

|
||||
|
||||
根据上述的日志文件,Fail2ban通过检测IP地址的多次失败登录尝试,禁止了一个IP地址192.168.1.8。
|
||||
|
||||
###检查fail2ban状态并解禁被锁住的IP地址
|
||||
|
||||
由于fail2ban的“ssh-iptables”监狱使用iptables来阻塞问题IP地址,你可以通过以下方式来检测当前iptables来验证禁止规则。
|
||||
|
||||
$ sudo iptables --list -n
|
||||
|
||||
```
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
|
||||
|
||||
Chain FORWARD (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain fail2ban-SSH (1 references)
|
||||
target prot opt source destination
|
||||
DROP all -- 192.168.1.8 0.0.0.0/0
|
||||
RETURN all -- 0.0.0.0/0 0.0.0.0/0
|
||||
```
|
||||
|
||||
如果你想要从fail2ban中解锁某个IP地址,你可以使用iptables命令:
|
||||
|
||||
$ sudo iptables -D fail2ban-SSH -s 192.168.1.8 -j DROP
|
||||
|
||||
当然你可以使用上述的iptables命令手动地检验和管理fail2ban的IP阻塞列表,但实际上有一个适当的方法就是使用fail2ban-client命令行工具。这个命令不仅允许你对"ssh-iptables"监狱进行管理,同时也是一个标准的命令行接口,可以管理其他类型的fail2ban监狱。
|
||||
|
||||
为了检验fail2ban状态(会显示出当前活动的监狱列表):
|
||||
|
||||
$ sudo fail2ban-client status
|
||||
|
||||
为了检验一个特定监狱的状态(例如ssh-iptables):
|
||||
|
||||
$ sudo fail2ban-client status ssh-iptables
|
||||
|
||||
上面的命令会显示出被禁止IP地址列表。
|
||||
|
||||

|
||||
|
||||
为了解锁特定的IP地址:
|
||||
|
||||
$ sudo fail2ban-client set ssh-iptables unbanip 192.168.1.8
|
||||
|
||||

|
||||
|
||||
注意,如果你停止了Fail2ban 服务,那么所有的IP地址都会被解锁。当你重启 Fail2ban,它会从/etc/log/secure(或 /var/log/auth.log)中找到异常的IP地址列表,如果这些异常地址的发生时间仍然在禁止时间内,那么Fail2ban会重新将这些IP地址禁止。
|
||||
|
||||
### 设置 Fail2ban 自动启动
|
||||
|
||||
一旦你成功地测试了fail2ban之后,最后一个步骤就是在你的服务器上让其在开机时自动启动。在基于Debian的发行版中,fail2ban已经默认让自动启动生效。在基于Red-Hat的发行版中,按照下面的方式让自动启动生效。
|
||||
|
||||
在 CentOS/RHEL 6中:
|
||||
|
||||
$ sudo chkconfig fail2ban on
|
||||
|
||||
在 Fedora 或 CentOS/RHEL 7:
|
||||
|
||||
$ sudo systemctl enable fail2ban
|
||||
|
||||
### 总结
|
||||
|
||||
在该教程中,我演示了如何安装并配置fail2ban来保护一个SSH服务器。当然fail2ban可以缓解暴力密码攻击,但是请注意,这并不能保护SSH服务器避免来自复杂的分布式暴力破解组织,这些攻击者通过使用成千上万个机器控制的IP地址来绕过fail2ban的防御机制。
|
||||
|
||||
-----------
|
||||
|
||||
via: http://xmodulo.com/how-to-protect-ssh-server-from-brute-force-attacks-using-fail2ban.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:http://xmodulo.com/how-to-force-ssh-login-via-public-key-authentication.html
|
||||
[2]:http://xmodulo.com/two-factor-authentication-ssh-login-linux.html
|
||||
[3]:http://www.fail2ban.org/
|
||||
[4]:http://linux.cn/article-2324-1.html
|
@ -1,10 +1,10 @@
|
||||
Flow 'N Play视频播放器有着独具风格的界面[在Ubuntu上安装]
|
||||
在Ubuntu上安装Flow 'N Play—界面独具风格的视频播放器
|
||||
================================================================================
|
||||
**Flow ‘N Play**是个用Qt编写的新视频播放器。它有着漂亮又简洁的界面,只提供基本播放功能。
|
||||
|
||||

|
||||
|
||||
[Flow ‘N Play][1]是个比较新的视频播放器,它有着漂亮的界面和简单的操作(今年三月份第一次发行)。其中一个功能就是能通过拖动鼠标滑动视频列表。播放器带有基本功能,一个搜索功能,支持彩色主题。
|
||||
[Flow ‘N Play][1]是个比较新的视频播放器,它有着漂亮的界面和简单的操作(2014年3月份第一次发行)。其中一个功能就是能通过拖动鼠标滑动视频列表。播放器带有基本功能,一个搜索功能,支持彩色主题。
|
||||
|
||||
打开一个新的视频——你还可以在同一个对话框下自定义一个封面:
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
Tomahawk音乐播放器带着新形象、新功能回来了
|
||||
新面孔、新功能的 Tomahawk 音乐播放器
|
||||
================================================================================
|
||||
**在悄无声息得过了一年之后,Tomahawk——音乐播放器中的瑞士军刀——带着值得歌颂的全新发行版回归了。 **
|
||||
|
||||
@ -9,35 +8,35 @@ Tomahawk音乐播放器带着新形象、新功能回来了
|
||||
|
||||
### Tomahawk——两个世界的极品 ###
|
||||
|
||||
Tomahawk嫁给了一个带有我们的“即时”现代文化的传统应用结构。它可以浏览和播放本地的音乐和Spotify、Grooveshark以及SoundCloud这类的线上音乐。在最新的发行版中,它把Google Play Music和Beats Music列入了它的名册。
|
||||
Tomahawk 将一个传统的应用结构与我们的“即时”现代文化相结合。它可以浏览和播放本地的音乐和Spotify、Grooveshark以及SoundCloud这类的线上音乐。在最新的发行版中,它把Google Play Music和Beats Music列入了它的名册。
|
||||
|
||||
这可能听着很繁复或令人困惑,但实际上它表现得出奇的好。
|
||||
|
||||
若你想要播放一首歌,而且不介意它是从哪里来的,你只需告诉Tomahawk音乐的标题和作者,它就会自动从可获取的源里找出高品质版本的音乐——你不需要做任何事。
|
||||
若你想要播放一首歌,而且不介意它是从哪里来的,你只需告诉Tomahawk这个音乐的标题和作者,它就会自动从可获取的源里找出高品质版本的音乐——你不需要做任何事。
|
||||
|
||||

|
||||
|
||||
这个应用还弄了一些附加的功能,比如EchoNest剖析,Last.fm建议,还有对Jabber的支持,这样你就能‘播放’朋友的音乐。它还有一个内置的信息服务,以便于你能和其他人快速的分享播放列表和音乐。
|
||||
这个应用还弄了一些附加的功能,比如EchoNest剖析,Last.fm建议,还有对Jabber的支持,这样你就能“播放”朋友的音乐。它还有一个内置的信息服务,以便于你能和其他人快速的分享播放列表和音乐。
|
||||
|
||||
>“这种从根本上就与众不同的听音乐的方式,开启了前所未有的音乐的消费和分享体验”,项目的网站上这样写道。而且即便它如此独特,这也没有错。
|
||||
>“这种从根本上就与众不同的听音乐的方式,开启了前所未有的音乐的消费和分享体验”,该项目的网站上这样写道。而且即便它如此独特,这也没有错。
|
||||
|
||||

|
||||
|
||||
支持声音菜单
|
||||
*支持声音菜单*
|
||||
|
||||
### Tomahawk0.8发行版的亮点 ###
|
||||
|
||||
- 新的交互界面
|
||||
- 对Beats Music的支持
|
||||
- 对Google Play Music的支持(保存的和播放全部链接)
|
||||
- 对拖拽iTunes,Spotify这类网站的链接的支持
|
||||
- 支持拖拽iTunes,Spotify这类网站的链接
|
||||
- 正在播放的提示
|
||||
- Android应用(测试版)
|
||||
- 收件箱的改进
|
||||
|
||||
### 在Ubuntu上安装Tomahawk0.8 ###
|
||||
|
||||
作为一个流媒体音乐的大用户,我会在接下来的几天里体验一下这个应用软件,然后提供一个关于他的改变的更全面的赏析。与此同时,你也可以尝尝鲜。
|
||||
作为一个流媒体音乐的粉丝,我会在接下来的几天里体验一下这个应用软件,然后提供一个关于他的改变的更全面的赏析。与此同时,你也可以尝尝鲜。
|
||||
|
||||
在Ubuntu 14.04 LTS和Ubuntu 14.10上可以通过官方PPA获得Tomahawk。
|
||||
|
||||
@ -47,7 +46,7 @@ Tomahawk嫁给了一个带有我们的“即时”现代文化的传统应用结
|
||||
|
||||
在官方项目网站上可以找的独立安装程序和更详细的信息。
|
||||
|
||||
- [Visit the Official Tomahawk Website][1]
|
||||
- [访问 Tomahawk 官网][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -55,7 +54,7 @@ via: http://www.omgubuntu.co.uk/2014/11/tomahawk-media-player-returns-new-look-f
|
||||
|
||||
作者:[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/) 荣誉推出
|
||||
|
@ -0,0 +1,158 @@
|
||||
让你玩转 Ubuntu 桌面的十一件武器
|
||||
================================================================================
|
||||
**无论你是一个相对的新手还是经验丰富的专家,我们都想从我们的操作系统中得到更多的东西。正如大多数现代的操作系统,相比于乍一看呈现出的内容,Ubuntu 还有更多东西可以向我们提供。**
|
||||
|
||||
从调整和优化 Unity 桌面的外观、行为、性能到执行系统维护,这里有大量的实用工具和应用可以帮助你**调整 Ubuntu ,随时满足你的需求**。
|
||||
|
||||
注意: Ubuntu 总是配备了‘合理的默认设置’(即工作良好的选项),以达到开箱即用,这些默认设置适合大多数人,并且它们都是经过了测试、采用及推荐等过程的。
|
||||
|
||||
但一个尺码并不适合所有人。对于我们当中的能工巧匠和实验主义者来说,默认设置只是他们定制系统的起点。
|
||||
|
||||
所以,无需更多的唠叨, 这里有 11 个极好的实用工具可以帮助你增强 Ubuntu 使用体验。
|
||||
|
||||
### Unity Tweak Tool ###
|
||||
|
||||

|
||||
|
||||
我将以这个列表中最重要的一个工具: **Unity Tweak Tool** 来开始这次的介绍。融汇了各种定制选项,Unity Tweak Tool 提供了一系列针对 Ubuntu 和 Unity 桌面的系统综合调整功能。
|
||||
|
||||
它被各种开关、切换和控制器塞得满满的,使得你可以任意设置从 Unity 桌面的外观到 Unity 的行为之类的任何东西。你可以使用它**快速简便地改变 GTK 主题和图标集**、设置热区、调整启动器图标尺寸、增加或移除工作区,以及 ---特别地---开启 Unity 桌面中被巧妙隐藏的“通过点击最小化”的功能。
|
||||
|
||||
它是免费的,可直接从 Ubuntu 软件中心里找到, Unity Tweak Tool 是非常值得保留在你的口袋里的工具之一。
|
||||
|
||||
### Unity 隐私指示器 ###
|
||||
|
||||

|
||||
|
||||
隐私是一个非常、非常重要的事,事实也恰恰如此,但这个话题要比二进制还难以说明白。让一些数据或习惯,比如说你经常打开的应用,在本地被记录下来,这或许会让你感到高兴,但对于你在 Dash 中的搜索数据被发送到第三方服务机构(尽管这些数据或许是匿名的)这类事情,你就高兴不起来了。
|
||||
|
||||
[隐私指示器][1] 是一个帮助你时刻跟踪 Ubuntu桌面系统中有哪些文件、目录和服务正被获取、记录及搜索的实用工具。
|
||||
|
||||
通过快速的点击被添加到桌面面板上的‘眼睛’图标,你可以:
|
||||
|
||||
- 开启或关闭在线搜索结果,使用 Zeitgeist 记录系统活动,存储 HUD 使用记录和启用 Ubuntu GeoIP 服务
|
||||
- 快速清理 Zeitgeist 日志、 ALT-F2 历史、最近访问文件等等的记录数据
|
||||
- 展示或隐藏桌面图标及面板上显示的用户名
|
||||
|
||||
上述的最后一条的功能似乎不应该出现在这个应用程序中,但对于那些要分享截图或截屏的人来说,这将会泄露更少的隐私。
|
||||
|
||||
- [从这里下载隐私指示器 (.deb)][2]
|
||||
|
||||
### Unity 橱窗 ###
|
||||
|
||||

|
||||
|
||||
**Android, iOS, OS X, Chrome OS, 和 GNOME Shell 都有应用橱窗, 借助一个极好的第三方应用,Unity 也可以实现类似功能。**
|
||||
|
||||
“Unity 橱窗” 允许你将 Unity 启动器中的应用分组到实用的橱窗中,--- 如游戏,办公,社交等。不必打开 Dash,你就可以快速启动你喜爱的应用,这非常适合你的工作流。
|
||||
|
||||
每一个 ‘橱窗’其实上是一个打开在图标附近的应用窗口,但总体效果看上去就像是一个 OS X 风格的“堆栈”或 Android 的分组框。
|
||||
|
||||
橱窗的图标可以自定义或根据橱窗内的应用来自动生成。已有的橱窗可以修改和重新组织、重命名以及如下的更多选择:
|
||||
|
||||
- 根据你的喜好创建任意多的橱窗
|
||||
- 选择自定义或自动生成橱窗图标
|
||||
- 可选择 3 种橱窗样式
|
||||
- 为添加到橱窗中的应用设定自定义图标
|
||||
- 编辑现有橱窗
|
||||
|
||||
[Unity 橱窗的网址](http://unity-folders.exceptionfound.com/)
|
||||
|
||||
### 咖啡因(Caffeine) ###
|
||||
|
||||
对于我们中的许多人来说,咖啡因是必需品,而不仅仅是饮料。而这里的“咖啡因”则提供了一个快速,温和的方式来避免屏保/锁屏占据屏幕。它的有用程度将取决于你的环境(即你系统的怪癖),并且尽管它不像以前那样好用,它仍然值得你[尝试一下][3]。
|
||||
|
||||
[下载咖啡因(Caffeine) ](https://launchpad.net/~caffeine-developers/+archive/ppa/+files/caffeine_2.7_all.deb)
|
||||
|
||||
### 系统监控指示器 ###
|
||||
|
||||

|
||||
|
||||
假如你是一个状态迷,即一个喜欢密切关注程序,进程和硬件的状态的人, Linux 很容易满足你的需求。从 Conky 的配置到终端命令,并不缺少监视你的 CPU 使用情况、网络流量或 GPU 温度的方法。
|
||||
|
||||
但至今为止,我最喜爱的应用是**系统监控指示器**(也被叫做多负载指示器),它可从 Ubuntu 软件中心获得。它也有着大量的配置选项。
|
||||
|
||||
- [点击这个链接,在 Ubuntu 中下载 ‘系统监控指示器’][4]
|
||||
|
||||
### 针对 Linux 笔记本电脑的省电工具 ###
|
||||
|
||||

|
||||
|
||||
#### TLP ####
|
||||
|
||||
当提到便携式设备上的电池使用效率时,Linux 发行版的声誉并不算好。
|
||||
|
||||
如果你的 Linux 笔记本在重新充电前,电池只够让你从沙发走到厨房的话,那么这里有几个你可以试试的工具。
|
||||
|
||||
TLP 是最受欢迎的确保延长 Linux 笔记本的电池寿命的自动化后台工具之一,它是通过调整系统进程和硬件的设置及行为来达成省电的,例如 启动 Wi-Fi 省电模式, PCI 总线设备的实时电量管理和处理器的降频调整。
|
||||
|
||||
在 Ubuntu 14.04 LTS 以及后续发行版本中可以[使用 TLP 专用的 PPA 来安装它][11],通过它的‘一下搞定’的设置就能用起来。在我们之中的高级用户可以潜心研究并根据你自己的硬件来调整设置,一个[关于 TLP 的完整指导 wiki][6] 使得设置更加容易。
|
||||
|
||||
#### Laptop Mode Tools ####
|
||||
|
||||
假如 TLP 听起来有一点复杂,这也并没有什么可羞耻的,这里有一个更简单的替代品: **Laptop Mode Tools**。 这个软件包可从 Ubuntu 软件中心直接安装,且本身设置好了一系列合理的默认设置(Wi-Fi,蓝牙等等)。
|
||||
|
||||
切记,Laptop Mode Tools 不能和 TLP 同时被安装在电脑中。
|
||||
|
||||
- [Ubuntu 软件中心里的 Laptop Mode Tools ][7]
|
||||
|
||||
### Intel 显卡驱动安装工具 ###
|
||||
|
||||

|
||||
|
||||
对于那些运行 Intel 显卡硬件,并想使得这些硬件发挥出最佳性能的人来说,Intel 显卡安装工具是必须拥有的。 它使得查找并安装最新的 Intel GPU 驱动变得不再是一件痛苦和大费周折的事,因为这无需 PPA 或任何的终端使用知识。
|
||||
|
||||
- [下载针对 Linux平台的 Intel 显卡驱动安装器 0.7 版本][8]
|
||||
|
||||
### 硬件信息 ###
|
||||
|
||||

|
||||
|
||||
假如你计划升级你的 PC 或想替换一个坏掉的零部件,你需要知道一些特定的硬件信息,例如 RAM 类型,CPU插座类型 或查看哪个 PCI 槽是可用的等信息。
|
||||
|
||||
**I-Nex**可以使得找出这些以及其他的系统具体配置变得更加容易。使用它来查找你的主板型号、S.M.A.R.T.(注:为 Self-Monitoring, Analysis and Reporting Technology 的缩写,经常写为 SMART ) 状态,以及你想的出的很多东西!
|
||||
|
||||
- [可从 Launchpad 了解到更多关于 I-Nex 的信息][9]
|
||||
|
||||
### 磁盘空间可视化程序 ###
|
||||
|
||||

|
||||
|
||||
在这个硬盘以 TB 计数的时代,我们或许不必同以前一样对硬盘空间的使用三思而后行。但对于那些使用小容量的 SSD,分成多个分区或在一个拥有固定大小的虚拟磁盘的虚拟机上工作的人来说,总有“应该释放一些额外空间是必要的”这种想法的时候。
|
||||
|
||||
GNOME Disks,在 Ubuntu 中被默认安装,使得查找占用最大磁盘空间的罪魁祸首变得容易。对于定位隐藏的日志、缓存和视频文件,它是非常完美的工具。
|
||||
|
||||
### BleachBit (Cruft Cleaner) ###
|
||||
|
||||

|
||||
|
||||
Windows 用户可能对像 CCleaner 之类的应用很熟悉,它可以扫描并清理垃圾文件、空白文件夹、臃肿的缓存以及陈旧的软件包。在 Ubuntu 上,一个相似的快速且毫不费力的一键式清理方法可以试试 **BleachBit** 。
|
||||
|
||||
它是一个强大的工具,所以一定要注意你正在清理什么。不要漫无目的地确认每个选项框;不是所有的东西它都可以清理。所以请合理地使用它,当你对某个选项有疑问时,就跳过它。
|
||||
|
||||
- [从 Ubuntu 软件中心里安装 BleachBit][10]
|
||||
|
||||
你已经有了自己最喜欢的系统实用工具了吗?可以在下面的评论中让其他人知晓它。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/11/useful-tools-for-ubuntu-do-you-use-them
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.florian-diesch.de/software/indicator-privacy/index.html
|
||||
[2]:http://www.florian-diesch.de/software/indicator-privacy/dist/indicator-privacy_0.04-1_all.deb
|
||||
[3]:http://www.omgubuntu.co.uk/2014/05/stop-ubuntu-sleeping-caffeine
|
||||
[4]:apt://indicator-mulitload
|
||||
[5]:https://launchpad.net/~linrunner/+archive/ubuntu/tlp/+packages
|
||||
[6]:http://linrunner.de/en/tlp/docs/tlp-configuration.html
|
||||
[7]:https://apps.ubuntu.com/cat/applications/laptop-mode-tools/
|
||||
[8]:https://01.org/linuxgraphics/downloads/2014/intelr-graphics-installer-linux-1.0.7
|
||||
[9]:https://launchpad.net/i-nex
|
||||
[10]:https://apps.ubuntu.com/cat/applications/bleachbit/
|
||||
[11]:https://launchpad.net/~linrunner/+archive/ubuntu/tlp/+packages
|
@ -1,32 +1,36 @@
|
||||
Linux 命名空间
|
||||
介绍 Linux 的命名空间
|
||||
================================================================================
|
||||
### 背景 ###
|
||||
|
||||
从2.6.24版的内核开始,Linux 就支持6种不同类型的命名空间。它们的出现,使用户创建的进程能够与系统分离得更加彻底,从而不需要考虑太多底层的虚拟化技术。
|
||||
从Linux 2.6.24版的内核开始,Linux 就支持6种不同类型的命名空间。它们的出现,使用户创建的进程能够与系统分离得更加彻底,从而不需要使用更多的底层虚拟化技术。
|
||||
|
||||
- **CLONE_NEWIPC**: 进程间通信(IPC)的命名空间,可以将 SystemV 的 IPC 和 POSIX 的消息队列独立出来。
|
||||
- **CLONE_NEWPID**: 进程 ID 的命名空间,进程 ID 独立,意思就是命名空间内的进程 ID 可能会与命名空间外的进程 ID 冲突,于是命名空间内的进程 ID 映射到命名空间外时会使用另外一个进程 ID。比如说,命名空间内 ID 为1的进程,在命名空间外就是指 init 进程。
|
||||
- **CLONE_NEWPID**: PID 命名空间。空间内的PID 是独立分配的,意思就是命名空间内的虚拟 PID 可能会与命名空间外的 PID 相冲突,于是命名空间内的 PID 映射到命名空间外时会使用另外一个 PID。比如说,命名空间内第一个 PID 为1,而在命名空间外就是该 PID 已被 init 进程所使用。
|
||||
- **CLONE_NEWNET**: 网络命名空间,用于隔离网络资源(/proc/net、IP 地址、网卡、路由等)。后台进程可以运行在不同命名空间内的相同端口上,用户还可以虚拟出一块网卡。
|
||||
- **CLONE_NEWNS**: 挂载命名空间,进程运行时可以将挂载点与系统分离,使用这个功能时,我们可以达到 chroot 的功能,而在安全性方面比 chroot 更高。
|
||||
- **CLONE_NEWUTS**: UTS 命名空间,主要目的是独立出主机名和网络信息服务(NIS)。
|
||||
- **CLONE_NEWUSER**: 用户命名空间,同进程 ID 一样,用户 ID 和组 ID 在命名空间内外是不一样的,并且在不同命名空间内可以存在相同的 ID。
|
||||
|
||||
下面我们介绍一下进程命名空间和网络命名空间。
|
||||
|
||||
### 进程命名空间
|
||||
|
||||
本文用 C 语言介绍上述概念,因为演示进程命名空间的时候需要用到 C 语言。下面的测试过程在 Debian 6 和 Debian 7 上执行。首先,在栈内分配一页内存空间,并将指针指向内存页的末尾。这里我们使用 **alloca()** 函数来分配内存,不要用 malloc() 函数,它会把内存分配在堆上。
|
||||
|
||||
void *mem = alloca(sysconf(_SC_PAGESIZE)) + sysconf(_SC_PAGESIZE);
|
||||
|
||||
然后使用 **clone()** 函数创建子进程,传入栈空间的地址 "mem",以及指定命名空间的标记。同时我们还指定“callee”作为子进程运行的函数。
|
||||
然后使用 **clone()** 函数创建子进程,传入我们的子栈空间地址 "mem",并指定命名空间的标记。同时我们还指定“callee”作为子进程运行的函数。
|
||||
|
||||
mypid = clone(callee, mem, SIGCHLD | CLONE_NEWIPC | CLONE_NEWPID | CLONE_NEWNS | CLONE_FILES, NULL);
|
||||
|
||||
**clone** 之后我们要在父进程中等待子进程先退出,否则的话,父进程会继续运行下去,直到进程结束,留下子进程变成孤儿进程:
|
||||
**clone** 之后我们要在父进程中等待子进程先退出,否则的话,父进程会继续运行下去,并马上进程结束,留下子进程变成孤儿进程:
|
||||
|
||||
while (waitpid(mypid, &r, 0) < 0 && errno == EINTR)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
最后当子进程退出后,我们会回到 shell 界面。
|
||||
最后当子进程退出后,我们会回到 shell 界面,并返回子进程的退出码。
|
||||
|
||||
if (WIFEXITED(r))
|
||||
{
|
||||
@ -47,7 +51,7 @@ Linux 命名空间
|
||||
return ret;
|
||||
}
|
||||
|
||||
程序挂载 **/proc** 文件系统,设置用户 ID 和组 ID,值都为“u”,然后运行 **/bin/bash** 程序,[LXC][1] 是操作系统级的虚拟化工具,使用 cgroups 和命名空间来完成资源的分离。现在我们把所有代码放在一起,变量“u”的值设为65534,在 Debian 系统中,这是“nobody”和“nogroup”:
|
||||
程序挂载了 **/proc** 文件系统,设置用户 ID 和组 ID,值都为“u”,然后运行 **/bin/bash** 程序,[LXC][1] 是一个操作系统级的虚拟化工具,使用 cgroups 和命名空间来完成资源的分离。现在我们把所有代码放在一起,变量“u”的值设为65534,在 Debian 系统中,这是“nobody”和“nogroup”:
|
||||
|
||||
#define _GNU_SOURCE
|
||||
#include <unistd.h>
|
||||
@ -101,12 +105,16 @@ Linux 命名空间
|
||||
nobody 5 0.0 0.0 2784 1064 pts/1 R+ 21:21 0:00 ps auxw
|
||||
nobody@w:~/pen/tmp$
|
||||
|
||||
注意上面的结果,UID 和 GID 被设置成 nobody 和 nogroup 了,特别是 ps 工具只输出两个进程,它们的 ID 分别是1和5(LCTT注:这就是上文介绍 CLONE_NEWPID 时提到的功能,在线程所在的命名空间内,进程 ID 可以为1,映射到命名空间外就是65534;而命名空间外的 ID 为1的进程一直是 init)。接下来轮到使用 ip netns 来设置网络的命名空间。第一步先确定当前系统没有命名空间:
|
||||
注意上面的结果,UID 和 GID 被设置成 nobody 和 nogroup 了,特别是 ps 工具只输出两个进程,它们的 ID 分别是1和5(LCTT注:这就是上文介绍 CLONE_NEWPID 时提到的功能,在线程所在的命名空间内,进程 ID 可以为1,映射到命名空间外是另外一个 PID;而命名空间外的 ID 为1的进程一直是 init)。
|
||||
|
||||
### 网络命名空间
|
||||
|
||||
接下来轮到使用 ip netns 来设置网络的命名空间。第一步先确定当前系统没有命名空间:
|
||||
|
||||
root@w:~# ip netns list
|
||||
Object "netns" is unknown, try "ip help".
|
||||
|
||||
这种情况下,你需要更新你的系统内核,以及 ip 工具。这里假设你的内核版高于2.6.24,ip 工具版本也差不多,高于2.6.24(LCTT注:ip 工具由 iproute 安装包提供,此安装包版本与内核版本相近)。更新好后,**ip netns list** 在没有命名空间存在的情况下不会输出任务信息。加个名为“ns1”的命名空间看看:
|
||||
如果报了上述错误,你需要更新你的系统内核,以及 ip 工具程序。这里假设你的内核版高于2.6.24,ip 工具版本也差不多,高于2.6.24(LCTT注:ip 工具由 iproute 安装包提供,此安装包版本与内核版本相近)。更新好后,**ip netns list** 在没有命名空间存在的情况下不会输出任务信息。加个名为“ns1”的命名空间看看:
|
||||
|
||||
root@w:~# ip netns add ns1
|
||||
root@w:~# ip netns list
|
||||
@ -120,7 +128,7 @@ Linux 命名空间
|
||||
2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000
|
||||
link/ether 00:0c:29:65:25:9e brd ff:ff:ff:ff:ff:ff
|
||||
|
||||
创建新的虚拟网卡,加到命名空间。虚拟网卡需要成对创建,互相关联——想想交叉电缆吧:
|
||||
创建新的虚拟网卡,并加到命名空间。虚拟网卡需要成对创建,互相关联——就像交叉电缆一样:
|
||||
|
||||
root@w:~# ip link add veth0 type veth peer name veth1
|
||||
root@w:~# ip link list
|
||||
@ -146,11 +154,11 @@ Linux 命名空间
|
||||
|
||||
这个时候 **ifconfig** -a 命令只能显示 veth0,不能显示 veth1,因为后者现在在 ns1 命名空间中。
|
||||
|
||||
如果想删除 veth1,可以执行下面的命令:
|
||||
如果想删除 veth0/veth1,可以执行下面的命令:
|
||||
|
||||
ip netns exec ns1 ip link del veth1
|
||||
|
||||
为 veth0 分配 IP 地址:
|
||||
我们可以为 veth0 分配 IP 地址:
|
||||
|
||||
ifconfig veth0 192.168.5.5/24
|
||||
|
||||
@ -229,7 +237,7 @@ via: http://www.howtoforge.com/linux-namespaces
|
||||
|
||||
作者:[aziods][a]
|
||||
译者:[bazz2](https://github.com/bazz2)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,9 +1,8 @@
|
||||
如何在linux上通过rsyslog来配置一个syslog服务器
|
||||
在 Linux 上配置一个 syslog 服务器
|
||||
========================================================================
|
||||
syslog服务器表示一个用来监控一个网络中的端点--所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)--的中央日志。 通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息。
|
||||
|
||||
**rsyslog** 被作为标准的syslog守护进程预装在了大多数的Linux发行版中。在客户端/服务器架构的配置下,**rsyslog**同时扮演了两种角色:1.作为一个syslog服务器,**rsyslog**可以收集来自其他设施的日志信息;2.作为一个syslog客户端,**rsyslog**可以将其内部的日志信息传输到远程的syslog服务器。
|
||||
syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。 通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息。
|
||||
|
||||
**rsyslog** 作为标准的syslog守护进程,预装在了大多数的Linux发行版中。在客户端/服务器架构的配置下,**rsyslog**同时扮演了两种角色:1.作为一个syslog服务器,**rsyslog**可以收集来自其他设施的日志信息;2.作为一个syslog客户端,**rsyslog**可以将其内部的日志信息传输到远程的syslog服务器。
|
||||
|
||||
在此,我们演示了在linux上如何通过**rsyslog**来配置一个中心化syslog服务器。 在进入详解之前,先温习一下syslog标准。
|
||||
|
||||
@ -12,12 +11,11 @@ syslog服务器表示一个用来监控一个网络中的端点--所有能够通
|
||||
当通过syslog机制来收集日志时,有3个必须要考虑到的重要事情:
|
||||
|
||||
- **设施层级**: 监听何种类型的进程
|
||||
- **严重性 (优先) 级别**: 收集何种类型的日志消息
|
||||
- **严重性 (优先) 级别**: 收集何种级别的日志消息
|
||||
- **目标**: 发送或记录日志消息到何处
|
||||
|
||||
现在我们更加深入地了解一下配置是如何定义的。
|
||||
|
||||
|
||||
设施层级定义了一种用来对内部系统进程进行分类的方法,linux中的一些常见的设施包括:
|
||||
|
||||
- **auth**: 身份验证相关的消息(登录时)
|
||||
@ -29,7 +27,7 @@ syslog服务器表示一个用来监控一个网络中的端点--所有能够通
|
||||
- **lpr**: 打印服务相关的消息
|
||||
- **local0 - local7**: 用户自定义的消息 (local7 通常被Cisco 和 Windows 服务器 使用)
|
||||
|
||||
严重性(优先)级别是通过标准的缩写和赋予的数字来进行定义和标准化的,其中的数字7具有最高的级别,这些级别包含了:
|
||||
严重性(优先)级别有固定的标准缩写和指代的值,其中的数字7具有最高的级别,这些级别包含了:
|
||||
|
||||
- emerg: Emergency(紧急)- 0
|
||||
- alert: Alerts (报警)- 1
|
||||
@ -40,79 +38,75 @@ syslog服务器表示一个用来监控一个网络中的端点--所有能够通
|
||||
- info: Information (消息)- 6
|
||||
- debug: Debugging (调试)- 7
|
||||
|
||||
最后,目标语句迫使一个syslog客户端来执行以下3个任务中的一个:1.保存日志消息到一个本地文件;2. 通过TCP/UDP将消息路由到远程的syslog服务器中
|
||||
;3.将其发送到一个标准输出中,例如控制台。
|
||||
最后,目标语句会让一个syslog客户端来执行以下三个任务之一:
|
||||
|
||||
在rsyslog, syslog配置是基于以下模式进行结构化的。
|
||||
1. 保存日志消息到一个本地文件;
|
||||
2. 通过TCP/UDP将消息路由到远程的syslog服务器中;
|
||||
3. 将其发送到一个标准输出中,例如控制台。
|
||||
|
||||
在 rsyslog里, syslog的配置是基于以下模式进行结构化的。
|
||||
|
||||
[facility-level].[severity-level] [destination]
|
||||
|
||||
### Configure Rsyslog on Linux ###
|
||||
### 在Linux中配置Rsyslog###
|
||||
|
||||
在我们理解syslog之后,现在是时候来通过rsyslog来将一个Linux服务器配置为一个中心syslog服务器了,另外我们也将看到如何将基于Windows的系统配置为一个syslog客户端来发送内部日志到该syslog服务器中。
|
||||
在我们理解syslog之后,现在可以通过rsyslog来将一个Linux服务器配置为一个中心syslog服务器了,另外我们也将看到如何在一个Windows的系统上配置一个syslog客户端来发送内部日志到该syslog服务器中。
|
||||
|
||||
### 第1步: 初始化系统需求 ###
|
||||
|
||||
为了将linux主机设置为一个中央日志服务器, 我们需要创建一个隔离的/var 分区,并分配足够大的磁盘空间或者创建一个特殊的LVM卷组。这样就会使得syslog服务器能够承担在日积月累收集日志所带来的潜在增长。
|
||||
|
||||
要将linux主机设置为一个中央日志服务器, 我们需要创建一个分离的 /var 分区,并分配足够大的磁盘空间或者创建一个特殊的LVM卷组。这样就会使得syslog服务器能够承担在日积月累收集日志所带来的潜在增长。
|
||||
|
||||
### 第2步: 让rsyslog 后台进程生效 ###
|
||||
|
||||
rsyslog守护进程来自于当前的linux发布版本的预装模块,但是默认并没有启动。为了能够让rsyslog守护进程能够接受外部的消息,需要编辑其配置文件/etc/rsyslog.conf.
|
||||
|
||||
如果已经准备好打开文件进行编辑,查找到下面的两行所在的位置,通过删除其行首的#字符来取消其注释。
|
||||
打开文件进行编辑,查找到下面的两行所在的位置,通过删除其行首的#字符来取消注释。
|
||||
|
||||
$ModLoad imudp
|
||||
$UDPServerRun 514
|
||||
|
||||
这会使得rsysolog守护进程能够在UDP端口514上接受日志消息了---UDP是一种比TCP速度快,但是并不具有TCP一样的数据流程的可靠性。所以如果你需要使用可靠的传送机制,就可以通过取消以下行的注释。
|
||||
这会使得rsysolog守护进程能够在UDP端口514上接受日志消息了---UDP是一种比TCP速度快,但是并不具有TCP一样的数据流的可靠性。所以如果你需要使用可靠的传送机制,就可以通过取消以下行的注释。
|
||||
|
||||
$ModLoad imtcp
|
||||
$InputTCPServerRun 514
|
||||
|
||||
需要注意的是,TCP和UDP可以被同时生效来监听TCP/UDP 连接。
|
||||
|
||||
### 第3步:创建日志接受模板###
|
||||
### 第3步:创建日志接收模板###
|
||||
|
||||
接下来的这步,需要我们来为远程消息创建模板,并告知rsyslog守护进程如何记录从其他客户端机器所接受到的消息。
|
||||
|
||||
|
||||
使用文本编辑器来打开 /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE块前追加以下的模板。
|
||||
|
||||
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *
|
||||
*.* ?RemoteLogs
|
||||
& ~
|
||||
|
||||
在此对该模板进行简单解释,$template RemoteLogs(“RemoteLogs” 字符串可以为任何其他的指令名称)指令强制rsyslog后台进程将日志消息写道/var/log下的分开的本地日志文件中,其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。其中第二行暗示了我们将RemoteLogs模板应用到所有接受到的日志上。
|
||||
|
||||
|
||||
符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果该重定向规则没有使用,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。
|
||||
在此对该模板进行简单解释,$template RemoteLogs(这里“RemoteLogs” 字符串可以为任何其他的描述性的名称)指令使rsyslog后台进程将日志消息写到/var/log下的单独的本地日志文件中,其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。其中第二行暗示了我们将RemoteLogs模板应用到所有接收到的日志上。
|
||||
|
||||
符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。
|
||||
|
||||
如果你想要的话,也可以使用下面的模式对特定的设备或严重性级别使用新的模板直接来记录日志消息。
|
||||
|
||||
|
||||
[facility-level].[severity-level] ?RemoteLogs
|
||||
|
||||
例如:
|
||||
|
||||
将所有内部的所有优先级别的用户验证消息指定为RemoteLogs模板:
|
||||
将全部优先级别的所有内部用户验证消息指定为RemoteLogs模板:
|
||||
|
||||
authpriv.* ?RemoteLogs
|
||||
|
||||
将所有系统进程中除开mail,用户验证和cron消息之外的进程产生的消息级别的日志指定为RemoteLogs模板:
|
||||
|
||||
将所有系统进程中除开mail、用户验证和cron消息之外的进程产生的消息级别的日志指定为RemoteLogs模板:
|
||||
|
||||
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
|
||||
|
||||
如果我们想要将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中,可以使用以下的模板。在此我们为该模板赋予了“IPTemplate”名称。
|
||||
如果我们想要将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中,可以使用以下的模板。在此我们为该模板赋予了“IpTemplate”名称。
|
||||
|
||||
$template IpTemplate,"/var/log/%FROMHOST-IP%.log"
|
||||
*.* ?IpTemplate
|
||||
& ~
|
||||
|
||||
在我们生效rsyslog守护进程以及编辑其配置文件之后,需要重启该守护进程。
|
||||
在我们启用rsyslog守护进程并编辑好配置文件之后,需要重启该守护进程。
|
||||
|
||||
在 Debian,Ubuntu 或 CentOS/RHEL 6中:
|
||||
|
||||
@ -138,19 +132,17 @@ rsyslog守护进程来自于当前的linux发布版本的预装模块,但是
|
||||
|
||||
### 发送Windows日志到一个远程的rsyslog服务器###
|
||||
|
||||
为了将一个Windows客户端的日志消息转发到我们的rsyslog服务器,需要一个Windows syslog 代理。当然,有许多的syslog代理可以在windows上运行,在此我们可以使用一个自由软件程序 [Datagram SyslogAgent][1].
|
||||
|
||||
|
||||
要将一个Windows客户端的日志消息转发到我们的rsyslog服务器,需要一个安装 Windows syslog 代理。当然,有许多的syslog代理可以在windows上运行,在此我们可以使用一个自由软件程序 [Datagram SyslogAgent][1].
|
||||
|
||||
在下载安装该syslog代理后,需要将其配置为作为服务运行。指定使用何种协议来发送数据,以及远程rsyslog服务器的IP地址和端口,最后指定应该传输的事件日志类型,如下所示。
|
||||
|
||||

|
||||
|
||||
在我们完成所有的这些配置之后,我们就可以启动该服务并且在中央rsyslog服务器中使用命令行工具tailf来查看日志文件了。
|
||||
在我们完成所有的这些配置之后,我们就可以启动该服务并且在中央rsyslog服务器中使用命令行工具tail -f来查看日志文件了。
|
||||
|
||||
### 总结###
|
||||
|
||||
通过创建一个可以收集本地和远程主机的中央rsyslog服务器,我们可以更好地了解在这些系统内部究竟发生着什么,而且可以更加容易地调试他们的问题,是否在他们之间有任何缓慢或崩溃存在。
|
||||
通过创建一个可以收集本地和远程主机的中央rsyslog服务器,我们可以更好地了解在这些系统内部究竟发生着什么,而且可以更加容易地调试它们的问题,是否在它们之间有任何延迟或崩溃存在。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -158,7 +150,7 @@ via: http://xmodulo.com/configure-syslog-server-linux.html
|
||||
|
||||
作者:[Caezsar M][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -2,29 +2,28 @@
|
||||
================================================================================
|
||||

|
||||
|
||||
无论你在linux上娱乐还是工作,这对你而言都是一个很好的机会使用python来编程。回到大学我希望他们教我的是Python而不是Java,这学起来很有趣且在实际的应用如yum包管理器中很有用。
|
||||
无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会。回到大学我希望他们教我的是Python而不是Java,这学起来很有趣且在实际的应用如yum包管理器中很有用。
|
||||
|
||||
本篇教程中我会带你使用python和一个称为flask的微型框架来构建一个简单的应用来显示诸如[每个进程的内存使用][1],CPU百分比之类有用的信息。
|
||||
本篇教程中我会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如[每个进程的内存使用][1],CPU百分比之类有用的信息。
|
||||
|
||||
### 前提 ###
|
||||
### 前置需求 ###
|
||||
|
||||
Python基础、列表、类、函数、模块。
|
||||
HTML/CSS (基础)
|
||||
Python基础、列表、类、函数、模块。HTML/CSS (基础)。
|
||||
|
||||
学习这篇教程你不必是一个python高级开发者,但是首先我建议你阅读https://wiki.python.org/moin/BeginnersGuide/NonProgrammers。
|
||||
学习这篇教程你不必是一个python高级开发者,但是首先我建议你阅读 https://wiki.python.org/moin/BeginnersGuide/NonProgrammers 。
|
||||
|
||||
### I在Linux上安装Python 3 ###
|
||||
### 在Linux上安装Python 3 ###
|
||||
|
||||
在大多数Linux发行版上Python是默认安装的。下面的你命令可以让你看到安装的版本。
|
||||
|
||||
[root@linux-vps ~]# python -V
|
||||
Python 2.7.5
|
||||
|
||||
我们会使用3.x的版本来构建我们的app。根据[Python.org][2]所说,这版本上面所有的改进都不向后兼容Python 2。
|
||||
我们会使用3.x的版本来构建我们的app。根据[Python.org][2]所说,现在只对这个版本进行改进,而且不向后兼容Python 2。
|
||||
|
||||
**注意**: 在开始之前,我强烈建议你在虚拟机中尝试这个教程,因为Python许多Linux发行版的核心组建,任何意外都可能会损坏你的系统。
|
||||
**注意**: 在开始之前,我强烈建议你在虚拟机中尝试这个教程,因为Python是许多Linux发行版的核心组件,任何意外都可能会损坏你的系统。
|
||||
|
||||
这步是基于红帽的版本如CentOS(6和7),基于Debian的版本如UbuntuMint和Resbian可以跳过这步,Pythonn 3应该默认已经安装了。如果没有安装,请用apt-get而不是yum来安装下面相应的包。
|
||||
以下步骤是基于红帽的版本如CentOS(6和7),基于Debian的版本如UbuntuMint和Resbian可以跳过这步,Pythonn 3应该默认已经安装了。如果没有安装,请用apt-get而不是yum来安装下面相应的包。
|
||||
|
||||
[leo@linux-vps] yum groupinstall 'Development Tools'
|
||||
[leo@linux-vps] yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel
|
||||
@ -33,7 +32,7 @@ HTML/CSS (基础)
|
||||
[leo@linux-vps] cd Python-3.4.2
|
||||
[leo@linux-vps] ./configure
|
||||
[leo@linux-vps] make
|
||||
# make altinstall is recommended as make install can overwrite the current python binary,
|
||||
# 推荐使用 make altinstall 以覆盖当前的 python 库
|
||||
[leo@linux-vps] make altinstall
|
||||
|
||||
成功安装后,你应该可以用下面的命令进入Python3.4的shell了。
|
||||
@ -48,21 +47,19 @@ HTML/CSS (基础)
|
||||
|
||||
Python有它自己的包管理去,与yum和apt-get相似。你将需要它来下载、安装和卸载包。
|
||||
|
||||
[leo@linux-vps] pip3.4 install "packagename"
|
||||
|
||||
[leo@linux-vps] pip3.4 install "packagename"
|
||||
[leo@linux-vps] pip3.4 list
|
||||
|
||||
[leo@linux-vps] pip3.4 uninstall "packagename"
|
||||
|
||||
### Python虚拟环境 ###
|
||||
|
||||
在Python中虚拟环境是一个你项目依赖的目录。隔离项目的一个好主意是使用不同的依赖。这可以让你不用sudo命令就能安装包。
|
||||
在Python中虚拟环境是一个放置你的项目的依赖环境的目录。这是一个将带有不同的依赖环境的项目隔离的好办法。它可以让你不用sudo命令就能安装包。
|
||||
|
||||
[leo@linux-vps] mkdir python3.4-flask
|
||||
[leo@linux-vps] cd python3.4-flask
|
||||
[leo@linux-vps python3.4-flask] pyvenv-3.4 venv
|
||||
|
||||
要创建虚拟环境你需要使用“pyvenv-3.4”命令。这会在venv文件夹的内部创建一个名为lib的目录,这里会安装项目所依赖的包。这里同样会创建一个bin文件夹容纳该环境下的pip和python可执行文件。
|
||||
要创建虚拟环境你需要使用“pyvenv-3.4”命令。上述命令会在venv文件夹的内部创建一个名为lib的目录,这里会安装项目所依赖的包。这里同样会创建一个bin文件夹容纳该环境下的pip和python可执行文件。
|
||||
|
||||
### 为我们的Linux系统信息项目激活虚拟环境 ###
|
||||
|
||||
@ -74,21 +71,21 @@ Python有它自己的包管理去,与yum和apt-get相似。你将需要它来
|
||||
|
||||
### 使用pip安装flask ###
|
||||
|
||||
让我们继续安装第一个模块flask框架,它可以处理路由和渲染我们app的模板。
|
||||
让我们继续安装第一个模块flask框架,它可以处理访问路由和渲染显示我们app的模板。
|
||||
|
||||
[leo@linux-vps python3.4-flask]pip3.4 install flask
|
||||
|
||||
### 在flask中创建第一个应用 ###
|
||||
|
||||
第一步:创建你app的目录
|
||||
####第一步:创建你app的目录
|
||||
|
||||
[leo@linux-vps python3.4-flask] mkdir app
|
||||
[leo@linux-vps python3.4-flask]mkdir app/static
|
||||
[leo@linux-vps python3.4-flask]mkdir app/templates
|
||||
[leo@linux-vps python3.4-flask] mkdir app
|
||||
[leo@linux-vps python3.4-flask] mkdir app/static
|
||||
[leo@linux-vps python3.4-flask] mkdir app/templates
|
||||
|
||||
在python3.4-flask文件家中创建一个一个名为app的文件夹,它包含了两个子文件夹“static”和“templates”。我们的Python脚本会在app文件夹,像css/js这类文件会在static文件夹,template文件夹会包含我们的html模板。
|
||||
在python3.4-flask文件夹中创建一个名为app的文件夹,它包含了两个子文件夹“static”和“templates”。我们的Python脚本会放在app文件夹,像css/js这类文件会在static文件夹,template文件夹会包含我们的html模板。
|
||||
|
||||
第二步:在app文件夹内部创建一个初始化文件。
|
||||
####第二步:在app文件夹内部创建一个初始化文件
|
||||
|
||||
[leo@linux-vps python3.4-flask] vim app/_init_.py
|
||||
from flask import Flask
|
||||
@ -96,7 +93,7 @@ Python有它自己的包管理去,与yum和apt-get相似。你将需要它来
|
||||
app = Flask(__name__)
|
||||
from app import index
|
||||
|
||||
这个文件创建一个Flask的新的实例并加载我们存储在index.py文件中的python程序,这个文件我们之后会创建。
|
||||
这个文件会创建一个Flask的新的实例,并加载我们存储在index.py文件中的python程序——这个文件我们之后会创建。
|
||||
|
||||
[leo@linux-vps python3.4-flask]vim app/index.py
|
||||
from app import app
|
||||
@ -110,7 +107,7 @@ Python有它自己的包管理去,与yum和apt-get相似。你将需要它来
|
||||
|
||||
return
|
||||
|
||||
flask中的路由由路由装饰器处理。这用于给函数绑定URL。
|
||||
flask中的访问路由通过“路由装饰器”处理。它用于将一个 URL 绑定到函数。
|
||||
|
||||
@app.route('/')
|
||||
@app.route('/index')
|
||||
@ -123,7 +120,7 @@ flask中的路由由路由装饰器处理。这用于给函数绑定URL。
|
||||
|
||||
subprocess.Popen(['ls', ‘-l’],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
||||
|
||||
stdout和stderr会相应地存储命令的输出和错误。你可以使用Popen的communicate方法来访问输出了。
|
||||
stdout和stderr会相应地存储命令的输出和错误。你可以使用Popen的communicate方法来访问输出。
|
||||
|
||||
out,error = cmd.communicate()
|
||||
|
||||
@ -133,7 +130,7 @@ stdout和stderr会相应地存储命令的输出和错误。你可以使用Popen
|
||||
|
||||
关于subprocess模块更多的信息会在教程的最后给出。
|
||||
|
||||
第三步:创建一个html模板来显示我们命令的输出。
|
||||
####第三步:创建一个html模板来显示我们命令的输出。
|
||||
|
||||
要做到这个我们使用flask中的Jinja2模板引擎来为我们渲染。
|
||||
|
||||
@ -162,31 +159,31 @@ stdout和stderr会相应地存储命令的输出和错误。你可以使用Popen
|
||||
|
||||
{% endfor %}
|
||||
|
||||
Jinja2模板引擎允许你使用“{{ … }}”分隔符来打印结果,{% … %}来做循环和赋值。我使用“decode()”方法来格式化。
|
||||
Jinja2模板引擎允许你使用“{{ … }}”分隔符来输出结果,{% … %}来做循环和赋值。我使用“decode()”方法来格式化。
|
||||
|
||||
第四步:运行app
|
||||
####第四步:运行app
|
||||
|
||||
[leo@linux-vps python3.4-flask]vim run.py
|
||||
from app import app
|
||||
app.debug = True
|
||||
app.run(host='174.140.165.231', port=80)
|
||||
|
||||
上面的代码会在debug模式下运行app。如果你不写IP地址和端口,默认则是localhost:5000。
|
||||
上面的代码会在debug模式下运行app。如果你不指定 IP 地址和端口,默认则是localhost:5000。
|
||||
|
||||
[leo@linux-vps python3.4-flask] chmod +x run.py
|
||||
[leo@linux-vps python3.4-flask] python3.4 run.py
|
||||
|
||||

|
||||
|
||||
我已经加了更多的带来来显示CPU、I/O和平均负载。
|
||||
我已经加了更多的代码来显示CPU、I/O和平均负载。
|
||||
|
||||

|
||||
|
||||
你可以在[这里][3]浏览代码。
|
||||
你可以在[这里][3]浏览完整的代码。
|
||||
|
||||
这是一个对flask的简短教程,我建议你阅读下面的教程和文档来更深入地了解。
|
||||
|
||||
http://flask.pocoo.org/docs/0.10/quickstart/#
|
||||
http://flask.pocoo.org/docs/0.10/quickstart/
|
||||
|
||||
https://docs.python.org/3.4/library/subprocess.html#popen-constructor
|
||||
|
||||
@ -198,7 +195,7 @@ via: http://techarena51.com/index.php/how-to-install-python-3-and-flask-on-linux
|
||||
|
||||
作者:[Leo G][a]
|
||||
译者:[geekpi](https://github.com/gekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,37 @@
|
||||
Google云服务为Docker应用提供简化版Ubuntu
|
||||
================================================================================
|
||||
> Ubuntu Core为运行容器提供了最小的轻量级Linux环境
|
||||
|
||||
Google为自己的云服务采用了一个简化版的Canonical Ubuntu Linux发行版,以优化运行Docker和其他容器。
|
||||
|
||||
Ubuntu Core被设计成仅提供在云上运行Linux所必需的组件。它发布了一个[早期预览版][1],Canonical命名其为“Snappy”。这个新版本裁减了大量在普通Linux发行版中常见而在云应用中不实用的库和应用程序。
|
||||
|
||||
Google计算引擎(GCE)和Microsoft Azure[加入了][4]支持这个新的发行版的行列。
|
||||
|
||||
从Canonical了解到,Ubuntu Core将为用户提供一个部署Docker的简单方式,一个[日益精简的虚拟容器][4]允许用户快速启动工作负载并轻松地转移,甚至可以跨越不同的云服务提供商。
|
||||
|
||||
Google是Docker和基于容器的虚拟化的热心支持者。在去年六月份,这家公司[用开源的方式发布了一个容器管理软件][5]:Kubernetes。
|
||||
|
||||
Ubuntu Core在设计上类似于另一个[发布于一年前][7]的 Linux发行版 CoreOS。CoreOS 主要由两名前Rackspace工程师开发,[CoreOS][8]是一个轻量级Linux发行版,设计运行在集群中,被那些在网页上完成他们大部分或所有业务的公司所喜好的大规模环境。CoreOS很快被许多云服务提供商采用,包括Microsoft Azure,Amazon网站服务,DigitalOcean以及Google计算引擎。
|
||||
|
||||
如同CoreOS一样,Ubuntu Core提供了一个快速引擎来更新组件,减少系统管理员去手动处理的时间。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.infoworld.com/article/2860401/cloud-computing/google-cloud-offers-streamlined-ubuntu-for-docker-use.html
|
||||
|
||||
作者:[Joab Jackson][a]
|
||||
译者:[zpl1025](https://github.com/zpl1025)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.infoworld.com/author/Joab-Jackson/
|
||||
[1]:http://www.ubuntu.com/cloud/tools/snappy
|
||||
[2]:http://www.infoworld.com/article/2607941/linux/how-to--get-started-with-docker.html
|
||||
[3]:http://www.infoworld.com/blog/infoworld-tech-watch/
|
||||
[4]:http://www.ubuntu.com/cloud/tools/snappy
|
||||
[5]:http://www.itworld.com/article/2695383/open-source-tools/docker-all-geared-up-for-the-enterprise.html
|
||||
[6]:http://www.itworld.com/article/2695501/cloud-computing/google-unleashes-docker-management-tools.html
|
||||
[7]:http://www.itworld.com/article/2696116/open-source-tools/coreos-linux-does-away-with-the-upgrade-cycle.html
|
||||
[8]:https://coreos.com/using-coreos/
|
@ -1,16 +1,16 @@
|
||||
Linux有问必答时间--怎样解决“XXX is not in the sudoers file”错误
|
||||
Linux有问必答时间:怎样解决“XXX is not in the sudoers file”错误
|
||||
================================================================================
|
||||
> **问题**:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户ID] is not in the sudoers file. This incident will be reported."的错误信息。我该怎么处理这种sudo错误呢?
|
||||
> **问题**:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户名] is not in the sudoers file. This incident will be reported."的错误信息。我该怎么处理这种sudo错误呢?
|
||||
|
||||
sudo是一个允许特定的用户组用另一个用户(典型的代表是root)的特权来运行一个命令。sudo有详细的日志功能并且提供了细粒度控制来覆盖用户通过sudo敲入的命令。
|
||||
sudo是一个允许特定的用户组用另一个用户(典型的是root)的特权来运行一个命令。sudo有详细的日志功能,并且提供了对用户可通过sudo来运行哪些命令的细粒度控制。
|
||||
|
||||
### Sudo vs. Su ###
|
||||
|
||||
su命令也提供了同样的特权升级功能,两者不同的是它们认证过程和特权变化的粒度。su允许你从你的登录会话切换到另一个用户的会话,然后你可以随心所欲地用该用户的特权来运行任何程序,但是你需要知道目标用户的密码才能切换这个用户。另一方面,sudo能在每个命令的基础上工作,允许你用root的特权来运行单个命令。用sudo你不必一定要知道root的密码,但是在提示输入sudo密码的时候要输入你的密码。
|
||||
su命令也提供了同样的特权提升功能,两者不同的是它们认证过程和特权变化的粒度。su允许你从你的登录会话切换到另一个用户的会话,然后你可以随心所欲地用该用户的特权来运行任何程序,但是你需要知道目标用户的密码才能切换这个用户。而另一方面,sudo能在单个命令的基础上工作,允许你用root的特权来运行单个命令。用sudo你不必一定要知道root的密码,但是在提示输入sudo密码的时候要输入你的密码。
|
||||
|
||||
### 在Sudoers列表里添加用户 ###
|
||||
|
||||
作为一个新用户的你如果试图运行sudo命令,你会碰到以下错误。意思是你不在这个包含经过认证可以使用sudo特权的这么一个用户组的sudoers列表里。
|
||||
作为一个新用户的你如果试图运行sudo命令,你会碰到以下错误。意思是你不在这个包含经过认证就可以使用sudo特权的这么一个用户组的sudoers列表里。
|
||||
|
||||
[my-user-id] is not in the sudoers file. This incident will be reported.
|
||||
|
||||
@ -32,11 +32,11 @@ su命令也提供了同样的特权升级功能,两者不同的是它们认证
|
||||
|
||||
alice adm cdrom sudo dip plugdev fuse lpadmin netdev sambashare davfs2 libvirtd docker promiscuous
|
||||
|
||||
组员资格变动(和sudo访问)会在你登出登录后生效。
|
||||
组员资格变动(和sudo访问)会在你登出后重新登录后生效。
|
||||
|
||||
### 方法二 ###
|
||||
|
||||
第二个能让你使用sudo的方法是直接把你自己添加到路径为 /etc/sudoers 这个配置文件中去。
|
||||
第二个能让你使用sudo的方法是直接把你自己添加到 /etc/sudoers 这个配置文件中去。
|
||||
|
||||
要修改 /etc/sudoers 文件,你可以使用一个名为visudo的特殊sudo编辑器命令。用root身份简单调用以下命令。
|
||||
|
||||
@ -55,6 +55,6 @@ su命令也提供了同样的特权升级功能,两者不同的是它们认证
|
||||
via: http://ask.xmodulo.com/fix-is-not-in-the-sudoers-file.html
|
||||
|
||||
译者:[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/) 荣誉推出
|
@ -1,9 +1,11 @@
|
||||
5 Linux下用户空间调试工具
|
||||
五个 Linux 下用户空间的调试工具
|
||||
================================================================================
|
||||
根据定义,调试工具是那些那些使我们能够监测、控制和纠正其他程序的程序。我们为什么应该用调试工具呢? 在有些情况下,运行一些程序的时候我们会被卡住,我们需要明白究竟发生了什么。 例如, 我们正在运行应用程序,它产生了一些错误消息。要修复这些错误,我们应该先找出为什么产生这些错误的消息和这些错误消息从哪里产生的。 一个应用程序可能突然挂起,我们必须了解其他什么进程同时在运行。我们可能还必须弄清楚进程'x'挂起的时候在做什么。为了剖析这些细节, 我们需要调试工具的帮助。有几个Linux下的用户空间调试工具和技术,他们用来分析用户空间问题相当有用。他们是:
|
||||
根据定义,调试工具是那些那些使我们能够监测、控制和纠正其他程序的程序。我们为什么应该用调试工具呢? 在有些情况下,运行一些程序的时候我们会被卡住,我们需要明白究竟发生了什么。 例如,我们正在运行应用程序,它产生了一些错误消息。要修复这些错误,我们应该先找出为什么产生这些错误的消息和这些错误消息从哪里产生的。 一个应用程序可能突然挂起,我们必须了解其他什么进程同时在运行。我们可能还必须弄清楚某个进程挂起的时候在做什么。为了剖析这些细节, 我们需要调试工具的帮助。
|
||||
|
||||
有几个Linux下的用户空间调试工具和技术,它们用来分析用户空间的问题相当有用。它们是:
|
||||
|
||||
- **'print' 语句**
|
||||
- **查询 (/proc, /sys etc)**
|
||||
- **查询 (/proc, /sys 等)**
|
||||
- **跟踪 (strace/ltrace)**
|
||||
- **Valgrind (memwatch)**
|
||||
- **GDB**
|
||||
@ -12,42 +14,44 @@
|
||||
|
||||
### 1.'print' 语句 ###
|
||||
|
||||
这是一个基本的原始的调试问题的方法。 我们可以在程序中插入print语句来了解控制流和变量值。 虽然这是一个简单的技术, 但它有一些缺点的。 程序需要进行编辑以添加'print'语句,然后不得不重新编译,重新运行来获得输出。 如果要调试的程序相当大,这是一个耗时的方法。
|
||||
这是一个基本的原始的调试问题的方法。 我们可以在程序中插入print语句来了解控制流和变量值。 虽然这是一个简单的技术, 但它有一些缺点。 程序需要进行编辑以添加'print'语句,然后必须重新编译,重新运行来获得输出。 如果要调试的程序相当大,这是一个耗时的方法。
|
||||
|
||||
### 2. 查询 ###
|
||||
|
||||
在某些情况下,我们需要弄清楚在一个运行在内核中的进程的状态和内存映射。为了获得这些信息,我们不需要在内核中插入任何代码。 相反,可以用 /proc 文件系统。
|
||||
|
||||
/proc 是一个伪文件系统,系统一起启动运行就收集着运行时系统的信息 (cpu信息, 内存容量 等)。
|
||||
/proc 是一个伪文件系统,系统一启动运行就收集着运行时系统的信息 (cpu信息, 内存容量等)。
|
||||
|
||||

|
||||
'ls /proc'的输出
|
||||
|
||||
*'ls /proc'的输出*
|
||||
|
||||
正如你看到的, 系统中运行的每一个进程在/proc文件系统中有一个以进程id命名的项。每个进程的细节信息可以在进程id对应的目录下的文件中获得。
|
||||
|
||||

|
||||
'ls /proc/pid'的输出
|
||||
|
||||
*'ls /proc/pid'的输出*
|
||||
|
||||
解释/proc文件系统内的所有条目超出了本文的范围。一些有用的列举如下:
|
||||
|
||||
- /proc/cmdline -> 内核命令行
|
||||
- /proc/cpuinfo -> 关于处理器的品牌,型号信息等
|
||||
- /proc/filesystems -> 文件系统的内核支持的信息
|
||||
- /proc//cmdline -> 命令行参数传递到当前进程
|
||||
- /proc//mem -> 当前进程持有的内存
|
||||
- /proc//status -> 当前进程的状态
|
||||
- /proc/\<pid>/cmdline -> 命令行参数传递到当前进程
|
||||
- /proc/\<pid>/mem -> 当前进程持有的内存
|
||||
- /proc/\<pid>/status -> 当前进程的状态
|
||||
|
||||
### 3. 跟踪 ###
|
||||
|
||||
strace的和ltrace是两个在Linux中用来追踪程序的执行细节的跟踪工具
|
||||
strace的和ltrace是两个在Linux中用来追踪程序的执行细节的跟踪工具。
|
||||
|
||||
#### strace: ####
|
||||
|
||||
strace拦截和记录系统调用并且由它来接收的信号。对于用户,它显示了系统调用,传递给它们的参数和返回值。 strace的可以附着到已在运行的进程中,或到一个新的进程。它作为一个针对开发者和系统管理员的诊断,调试工具是很有用的。它也可以用来当为一个通过跟踪不同的程序调用来了解系统的工具。这个工具的好处是不需要源代码和程序不需要重新编译。
|
||||
strace拦截和记录系统调用及其接收的信号。对于用户,它显示了系统调用、传递给它们的参数和返回值。strace的可以附着到已在运行的进程或一个新的进程。它作为一个针对开发者和系统管理员的诊断、调试工具是很有用的。它也可以用来当做一个通过跟踪不同的程序调用来了解系统的工具。这个工具的好处是不需要源代码,程序也不需要重新编译。
|
||||
|
||||
使用strace的基本语法是:
|
||||
|
||||
**strace command**
|
||||
**strace 命令**
|
||||
|
||||
strace有各种各样的参数。可以检查看strace的手册页来获得更多的细节。
|
||||
|
||||
@ -58,11 +62,12 @@ strace的输出非常长,我们通常不会对显示的每一行都感兴趣
|
||||
用'-o'选项,命令的输出可以被重定向到文件。
|
||||
|
||||

|
||||
strace过滤成只有系统调用的输出
|
||||
|
||||
*strace过滤成只有系统调用的输出*
|
||||
|
||||
#### ltrace: ####
|
||||
|
||||
ltrace跟踪和记录一个进程的动态(运行时)库的调用和收到的信号。它也可以跟踪一个进程所作的系统调用。它的用法是类似与strace。
|
||||
ltrace跟踪和记录一个进程的动态(运行时)库的调用及其收到的信号。它也可以跟踪一个进程所作的系统调用。它的用法是类似与strace。
|
||||
|
||||
**ltrace command**
|
||||
|
||||
@ -73,25 +78,26 @@ ltrace跟踪和记录一个进程的动态(运行时)库的调用和收到
|
||||
所有可用的选项请参阅ltrace手册。
|
||||
|
||||

|
||||
ltrace捕捉'STRCMP'库调用的输出
|
||||
|
||||
*ltrace捕捉'STRCMP'库调用的输出*
|
||||
|
||||
### 4. Valgrind ###
|
||||
|
||||
Valgrind是一套调试和分析工具。一个被广泛使用的工具,默认的工具被称为'Memcheck'的拦截malloc(),new(),free()和delete()调用的内存检测工具。换句话说,它在检测下面这些问题非常有用:
|
||||
Valgrind是一套调试和分析工具。它的一个被广泛使用的默认工具——'Memcheck'——可以拦截malloc(),new(),free()和delete()调用。换句话说,它在检测下面这些问题非常有用:
|
||||
|
||||
- 内存泄露
|
||||
- 重释放
|
||||
- 访问越界
|
||||
- 使用未初始化的内存
|
||||
- 使用的内存已经被释放 等。
|
||||
- 使用已经被释放的内存等。
|
||||
|
||||
它直接通过可执行文件运行。
|
||||
|
||||
Valgrind带有一些缺点。因为它增加了内存占用,可以减慢你的程序。它有时会造成误报和漏报。它不能检测出静态分配的数组的访问越界问题。
|
||||
Valgrind也有一些缺点,因为它增加了内存占用,会减慢你的程序。它有时会造成误报和漏报。它不能检测出静态分配的数组的访问越界问题。
|
||||
|
||||
为了用他, 首先下载并安装在你的系统上。 ([Valgrind下载页面][1]). 可以使用操作系统上的包管理起来安装。
|
||||
为了使用它,首先请[下载][1]并安装在你的系统上。可以使用操作系统上的包管理器来安装。
|
||||
|
||||
使用命令行安装涉及解压缩,解包下载的文件。
|
||||
使用命令行安装需要解压缩和解包下载的文件。
|
||||
|
||||
tar -xjvf valgring-x.y.z.tar.bz2 (where x.y.z is the version number you are trying to install)
|
||||
|
||||
@ -130,9 +136,10 @@ Valgrind带有一些缺点。因为它增加了内存占用,可以减慢你的
|
||||
这是valgrind呈现错误的输出:
|
||||
|
||||

|
||||
valgrind显示堆溢出和内存泄漏的输出
|
||||
|
||||
正如我们在上面看到的消息,我们正在试图访问超出函数f分配的内存和分配的内存没有释放。
|
||||
*valgrind显示堆溢出和内存泄漏的输出*
|
||||
|
||||
正如我们在上面看到的消息,我们正在试图访问函数f未分配的内存以及分配尚未释放的内存。
|
||||
|
||||
### 5. GDB ###
|
||||
|
||||
@ -144,15 +151,15 @@ GDB是来自自由软件基金会的调试器。它对定位和修复代码中
|
||||
- 检查所需信息
|
||||
- 改变程序中的数据 等。
|
||||
|
||||
你也可以附加一个崩溃的程序coredump到GDB并分析故障的原因。
|
||||
你也可以将一个崩溃的程序coredump附着到GDB并分析故障的原因。
|
||||
|
||||
GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的选择,来感受如何开始使用GDB。
|
||||
|
||||
如果你还没有安装GDB,可以在这里下载 [GDB官方网站][2].
|
||||
如果你还没有安装GDB,可以在这里下载:[GDB官方网站][2]。
|
||||
|
||||
#### 编译程序: ####
|
||||
|
||||
为了用GDB调试程序,必须使用gcc的'-g'选项进行编译。将以操作系统的本地格式产生调试信息,GDB利用这些信息来工作。
|
||||
为了用GDB调试程序,必须使用gcc的'-g'选项进行编译。这将以操作系统的本地格式产生调试信息,GDB利用这些信息来工作。
|
||||
|
||||
下面是一个简单的程序(example1.c)执行被零除用来显示GDB的用法:
|
||||
|
||||
@ -169,18 +176,20 @@ GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的
|
||||
}
|
||||
|
||||

|
||||
展示GDB用法的例子
|
||||
|
||||
*展示GDB用法的例子*
|
||||
|
||||
#### 调用 GDB: ####
|
||||
|
||||
通过在命令行中执行'gdb'来启动gdb:
|
||||
|
||||

|
||||
调用 gdb
|
||||
|
||||
一旦调用, 它将等待终端命令并执行,直到退出。
|
||||
*调用 gdb*
|
||||
|
||||
如果一个进程已经在运行,你需要将GDB连接到它上面,可以通过指定进程ID来实现。假设程序已经崩溃,要分析问题的原因,则连接GDB到core文件。
|
||||
调用后, 它将等待终端命令并执行,直到退出。
|
||||
|
||||
如果一个进程已经在运行,你需要将GDB连接到它上面,可以通过指定进程ID来实现。假设程序已经崩溃,要分析问题的原因,则用GDB分析core文件。
|
||||
|
||||
#### 启动程序: ####
|
||||
|
||||
@ -188,7 +197,7 @@ GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的
|
||||
|
||||
#### 给程序传参数: ####
|
||||
|
||||
使用'set args'给你的程序传参数,当程序下次运行时将获得参数。'show args'将显示传递给程序的参数。
|
||||
使用'set args'给你的程序传参数,当程序下次运行时将获得该参数。'show args'将显示传递给程序的参数。
|
||||
|
||||
#### 检查堆栈: ####
|
||||
|
||||
@ -202,13 +211,13 @@ GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的
|
||||
|
||||
#### 检查数据: ####
|
||||
|
||||
程序的数据可以在里面GDB使用'print'命令进行检查。例如,如果'X'是调试程序内的变量,'print x'会打印x的值。
|
||||
程序的数据可以在里面GDB使用'print'命令进行检查。例如,如果'x'是调试程序内的变量,'print x'会打印x的值。
|
||||
|
||||
#### 检查源码: ####
|
||||
|
||||
源码可以在GDB中打印。默认情况下,'list'命令会打印10行代码。
|
||||
|
||||
- **list <linenum>**: 列出'linenum'行周外的源码
|
||||
- **list <linenum>**: 列出'linenum'行周围的源码
|
||||
- **list <function>**: 从'function'开始列出源码
|
||||
- **disas <function>**: 显示该函数机器代码
|
||||
|
||||
@ -217,11 +226,11 @@ GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的
|
||||
使用GDB,我们可以在必要的地方设置断点,观察点等来停止程序。
|
||||
|
||||
- **break <location>**: 在'location'设置一个断点。当在程序执行到这里时断点将被击中,控制权被交给用户。
|
||||
- **watch <expr>**: 当'expr'被程序写而且它的值发生变化时GDB将停止
|
||||
- **catch <event>**: 当'event'发生时GDB停止。
|
||||
- **watch <expr>**: 当'expr'被程序写入而且它的值发生变化时GDB将停止
|
||||
- **catch <event>**: 当'event'发生时GDB停止
|
||||
- **disable <breakpoint>**: 禁用指定断点
|
||||
- **enable <breakpoint>**: 启用指定断点
|
||||
- **delete <breakpoint>**: 删除 断点/观察点/捕获点。 如果没有传递参数默认操作是在所有的断点。
|
||||
- **delete <breakpoint>**: 删除 断点/观察点/捕获点。 如果没有传递参数默认操作是在所有的断点
|
||||
- **step**: 一步一步执行程序
|
||||
- **continue**: 继续执行程序,直到执行完毕
|
||||
|
||||
@ -232,21 +241,18 @@ GDB提供很多选项来调试程序。 然而,我们将介绍一些重要的
|
||||
GDB还有更多的可用选项。里面GDB使用help选项了解更多详情。
|
||||
|
||||

|
||||
在GDB种获得帮助
|
||||
|
||||
*在GDB中获得帮助*
|
||||
|
||||
### 总结 ###
|
||||
|
||||
在这篇文章中,我们已经看到不同类型的Linux用户空间的调试工具。总结以上所有内容,这是些什么时候使用该什么的快速指南:
|
||||
在这篇文章中,我们已经看到不同类型的Linux用户空间的调试工具。总结以上所有内容,如下是什么时候使用该什么的快速指南:
|
||||
|
||||
基本调试,获得关键变量 - print 语句
|
||||
|
||||
获取有关文件系统支持,可用内存,CPU,运行程序的内核状态等信息 - 查询 /proc 文件系统
|
||||
|
||||
最初的问题诊断,系统调用或库调用的相关问题,了解程序流程 – strace / ltrace
|
||||
|
||||
应用程序内存空间的问题 – valgrind
|
||||
|
||||
检查应用程序运行时的行为,分析应用程序崩溃 – gdb。
|
||||
- 基本调试,获得关键变量 - print 语句
|
||||
- 获取有关文件系统支持,可用内存,CPU,运行程序的内核状态等信息 - 查询 /proc 文件系统
|
||||
- 最初的问题诊断,系统调用或库调用的相关问题,了解程序流程 – strace / ltrace
|
||||
- 应用程序内存空间的问题 – valgrind
|
||||
- 检查应用程序运行时的行为,分析应用程序崩溃 – gdb
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -254,7 +260,7 @@ 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)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,16 +1,16 @@
|
||||
如何配置fail2ban来保护Apache服务器
|
||||
如何配置 fail2ban 来保护 Apache 服务器
|
||||
================================================================================
|
||||
生产环境中的Apache服务器可能会受到不同的攻击。攻击者或许试图通过暴力攻击或者执行恶意脚本来获取未经授权或者禁止访问的目录。一些恶意爬虫或许会扫描你网站下的任意安全漏洞,或者手机email地址或者web表格来发送垃圾邮件。
|
||||
生产环境中的 Apache 服务器可能会受到不同的攻击。攻击者或许试图通过暴力攻击或者执行恶意脚本来获取未经授权或者禁止访问的目录。一些恶意爬虫或许会扫描你网站下的各种安全漏洞,或者通过收集email地址和web表单来发送垃圾邮件。
|
||||
|
||||
Apache服务器具有综合的日志功能来捕捉不同表明是攻击的异常事件。然而,它还不能系统地解析具体的apache日志并迅速地反应到潜在的攻击(比如,禁止/解禁IP地址)。这时候`fail2ban`可以解救这一切,解放了系统管理员的工作。
|
||||
Apache服务器具有全面的日志功能,可以捕捉到各种攻击所反映的异常事件。然而,它还不能系统地解析具体的apache 日志并迅速地对潜在的攻击进行反应(比如,禁止/解禁IP地址)。这时候`fail2ban`可以解救这一切,解放了系统管理员的工作。
|
||||
|
||||
`fail2ban`是一款入侵防御工具,可以基于系统日志检测不同的工具并且可以自动采取保护措施比如:通过`iptables`禁止ip、阻止/etc/hosts.deny中的连接、或者通过邮件通知事件。fail2ban具有一系列预定义的“监狱”,它使用特定程序日志过滤器来检测通常的攻击。你也可以编写自定义的规则来检测来自任意程序的攻击。
|
||||
`fail2ban`是一款入侵防御工具,可以基于系统日志检测不同的工具并且可以自动采取保护措施比如:通过`iptables`禁止ip、通过 /etc/hosts.deny 阻止连接、或者通过邮件发送通知。fail2ban具有一系列预定义的“监狱”,它使用特定程序日志过滤器来检测通常的攻击。你也可以编写自定义的规则来检测来自任意程序的攻击。
|
||||
|
||||
在本教程中,我会演示如何配置fail2ban来保护你的apache服务器。我假设你已经安装了apache和fail2ban。对于安装,请参考[另外一篇教程][1]。
|
||||
|
||||
### 什么是 Fail2ban 监狱 ###
|
||||
|
||||
让我们更深入地了解fail2ban监狱。监狱定义了具体的应用策略,它会为指定的程序触发一个保护措施。fail2ban在/etc/fail2ban/jail.conf 下为一些流行程序如Apache、Dovecot、Lighttpd、MySQL、Postfix、[SSH][2]等预定义了一些监狱。每个依赖于特定的程序日志过滤器(在/etc/fail2ban/fileter.d 下面)来检测通常的攻击。让我看一个例子监狱:SSH监狱。
|
||||
让我们更深入地了解 fail2ban 监狱。监狱定义了具体的应用策略,它会为指定的程序触发一个保护措施。fail2ban在 /etc/fail2ban/jail.conf 下为一些流行程序如Apache、Dovecot、Lighttpd、MySQL、Postfix、[SSH][2] 等预定义了一些监狱。每个监狱都通过特定的程序日志过滤器(在/etc/fail2ban/fileter.d 下面)来检测通常的攻击。让我看一个例子监狱:SSH监狱。
|
||||
|
||||
[ssh]
|
||||
enabled = true
|
||||
@ -24,15 +24,15 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||
- **[ssh]**: 方括号内是监狱的名字。
|
||||
- **enabled**:是否启用监狱
|
||||
- **port**: 端口的数字 (或者数字对应的名称).
|
||||
- **filter**: 检测攻击的检测规则
|
||||
- **logpath**: 检测的日志文件
|
||||
- **maxretry**: 禁止前失败的最大数字
|
||||
- **banaction**: 禁止操作
|
||||
- **port**: 端口号(或者对应的服务名称)
|
||||
- **filter**: 检测攻击的日志解析规则
|
||||
- **logpath**: 所检测的日志文件
|
||||
- **maxretry**: 最大失败次数
|
||||
- **banaction**: 所进行的禁止操作
|
||||
|
||||
定义配置文件中的任意参数都会覆盖相应的默认配置`fail2ban-wide` 中的参数。相反,任意缺少的参数都会使用定义在[DEFAULT]字段的值。
|
||||
定义在监狱配置中的任意参数都会覆盖`fail2ban-wide` 中相应的默认配置参数。相反,任何缺少的参数都会使用定义在[DEFAULT] 字段的默认值。
|
||||
|
||||
预定义日志过滤器都必须在/etc/fail2ban/filter.d,可以采取的操作在/etc/fail2ban/action.d。
|
||||
预定义的日志过滤器都放在/etc/fail2ban/filter.d,而可以采取的禁止操作放在 /etc/fail2ban/action.d。
|
||||
|
||||

|
||||
|
||||
@ -40,7 +40,7 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||
### 启用预定义的apache监狱 ###
|
||||
|
||||
`fail2ban`的默认安装为Apache服务提供了一些预定义监狱以及过滤器。我要启用这些内建的Apache监狱。由于Debian和红买配置的稍微不同,我会分别它们的配置文件。
|
||||
`fail2ban`的默认安装为Apache服务提供了一些预定义监狱和过滤器。我要启用这些内建的Apache监狱。由于Debian和RedHat配置的稍微不同,我会分别提供它们的配置文件。
|
||||
|
||||
#### 在Debian 或者 Ubuntu启用Apache监狱 ####
|
||||
|
||||
@ -50,7 +50,7 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||
----------
|
||||
|
||||
# detect password authentication failures
|
||||
# 检测密码认证失败
|
||||
[apache]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -58,7 +58,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/apache*/*error.log
|
||||
maxretry = 6
|
||||
|
||||
# detect potential search for exploits and php vulnerabilities
|
||||
# 检测漏洞和 PHP 脆弱性扫描
|
||||
[apache-noscript]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -66,7 +66,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/apache*/*error.log
|
||||
maxretry = 6
|
||||
|
||||
# detect Apache overflow attempts
|
||||
# 检测 Apache 溢出攻击
|
||||
[apache-overflows]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -74,7 +74,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/apache*/*error.log
|
||||
maxretry = 2
|
||||
|
||||
# detect failures to find a home directory on a server
|
||||
# 检测在服务器寻找主目录的尝试
|
||||
[apache-nohome]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -100,7 +100,7 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||
----------
|
||||
|
||||
# detect password authentication failures
|
||||
# 检测密码认证失败
|
||||
[apache]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -108,7 +108,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/httpd/*error_log
|
||||
maxretry = 6
|
||||
|
||||
# detect spammer robots crawling email addresses
|
||||
# 检测抓取邮件地址的爬虫
|
||||
[apache-badbots]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -117,7 +117,7 @@ SSH监狱的配置定义了这些参数:
|
||||
bantime = 172800
|
||||
maxretry = 1
|
||||
|
||||
# detect potential search for exploits and php <a href="http://xmodulo.com/recommend/penetrationbook" style="" target="_blank" rel="nofollow" >vulnerabilities</a>
|
||||
# 检测漏洞和 PHP 脆弱性扫描
|
||||
[apache-noscript]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -125,7 +125,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/httpd/*error_log
|
||||
maxretry = 6
|
||||
|
||||
# detect Apache overflow attempts
|
||||
# 检测 Apache 溢出攻击
|
||||
[apache-overflows]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -133,7 +133,7 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/httpd/*error_log
|
||||
maxretry = 2
|
||||
|
||||
# detect failures to find a home directory on a server
|
||||
# 检测在服务器寻找主目录的尝试
|
||||
[apache-nohome]
|
||||
enabled = true
|
||||
port = http,https
|
||||
@ -141,9 +141,9 @@ SSH监狱的配置定义了这些参数:
|
||||
logpath = /var/log/httpd/*error_log
|
||||
maxretry = 2
|
||||
|
||||
# detect failures to execute non-existing scripts that
|
||||
# are associated with several popular web services
|
||||
# e.g. webmail, phpMyAdmin, WordPress
|
||||
# 检测执行不存在的脚本的企图
|
||||
# 这些都是流行的网站服务程序
|
||||
# 如:webmail, phpMyAdmin,WordPress
|
||||
port = http,https
|
||||
filter = apache-botsearch
|
||||
logpath = /var/log/httpd/*error_log
|
||||
@ -175,7 +175,7 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||

|
||||
|
||||
你也可以手动禁止或者解禁IP地址
|
||||
你也可以手动禁止或者解禁IP地址:
|
||||
|
||||
要用制定监狱禁止IP:
|
||||
|
||||
@ -187,7 +187,7 @@ SSH监狱的配置定义了这些参数:
|
||||
|
||||
### 总结 ###
|
||||
|
||||
本篇教程解释了fail2ban监狱如何工作以及如何使用内置的监狱来保护Apache服务器。依赖于你的环境以及要保护的web服务器类型,你或许要适配已存在的监狱或者编写自定义监狱和日志过滤器。查看outfail2ban的[官方Github页面][3]来获取最新的监狱和过滤器示例。
|
||||
本篇教程解释了fail2ban监狱如何工作以及如何使用内置的监狱来保护Apache服务器。依赖于你的环境以及要保护的web服务器类型,你或许要调整已有的监狱或者编写自定义监狱和日志过滤器。查看outfail2ban的[官方Github页面][3]来获取最新的监狱和过滤器示例。
|
||||
|
||||
你有在生产环境中使用fail2ban么?分享一下你的经验吧。
|
||||
|
||||
@ -197,11 +197,11 @@ via: http://xmodulo.com/configure-fail2ban-apache-http-server.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:http://xmodulo.com/how-to-protect-ssh-server-from-brute-force-attacks-using-fail2ban.html
|
||||
[2]:http://xmodulo.com/how-to-protect-ssh-server-from-brute-force-attacks-using-fail2ban.html
|
||||
[1]:http://linux.cn/article-5067-1.html
|
||||
[2]:http://linux.cn/article-5067-1.html
|
||||
[3]:https://github.com/fail2ban/fail2ban
|
@ -0,0 +1,110 @@
|
||||
使用Nemiver调试器来调试 C/C++ 程序
|
||||
================================================================================
|
||||
|
||||
如果你读过我写的[使用GDB命令行调试器调试C/C++程序][1],你就会明白一个调试器对一段C/C++程序来说有多么的重要和有用。然而,如果一个像GDB这样的命令行对你而言听起来更像一个问题而不是一个解决方案的话,那么你也许会对Nemiver更感兴趣。[Nemiver][2] 是一款基于 GTK+ 的用于C/C++程序的图形化的独立调试器,它以GDB作为其后端。最令人赞赏的是其速度和稳定性,Nemiver是一个非常可靠,具备许多优点的调试工具。
|
||||
|
||||
### Nemiver的安装 ###
|
||||
|
||||
基于Debian发行版,它的安装时非常直接简单,如下:
|
||||
|
||||
$ sudo apt-get install nemiver
|
||||
|
||||
在Arch Linux中安装如下:
|
||||
|
||||
$ sudo pacman -S nemiver
|
||||
|
||||
在Fedora中安装如下:
|
||||
|
||||
$ sudo yum install nemiver
|
||||
|
||||
如果你选择自己编译,[GNOME 网站][3]上有最新源码包。
|
||||
|
||||
最令人欣慰的是,它能够很好地与GNOME环境像结合。
|
||||
|
||||
### Nemiver的基本用法 ###
|
||||
|
||||
启动Nemiver的命令:
|
||||
|
||||
$ nemiver
|
||||
|
||||
你也可以通过执行一下命令来启动:
|
||||
|
||||
$ nemiver [需要调试的可执行程序的路径]
|
||||
|
||||
注意,如果在调试模式下编译程序(在 GCC 中使用 -g 选项)将会对 nemiver 更有帮助。
|
||||
|
||||
还有一个优点是Nemiver的加载很快,所以你马上就可以看到主屏幕的默认布局。
|
||||
|
||||

|
||||
|
||||
默认情况下,断点通常位于主函数的第一行。这样就可以空出时间让你去认识调试器的基本功能:
|
||||
|
||||

|
||||
|
||||
- 执行到下一行 (按键是F6)
|
||||
- 执行到函数内部即停止(F7)
|
||||
- 执行到函数外部即停止(Shift+F7)
|
||||
|
||||
不过我个人喜欢“Run to cursor(运行至光标所在行)”,该选项使你的程序准确的运行至你光标所在行,它的默认按键是F11。
|
||||
|
||||
断点是很容易使用的。最快捷的方式是在一行代码上按下F8来设置一个断点。但是Nemiver在“Debug”菜单下也有一个更复杂的菜单,它允许你在一个特定的函数,某一行,二进制文件中的位置,或者类似异常、分支或者exec的事件上设置断点。
|
||||
|
||||

|
||||
|
||||
你也可以通过追踪来查看一个变量。在“Debug”中,你可以用一个表达式的名字来检查它的值,然后也可以通过将其添加到列表中以方便访问。这可能是最有用的一个功能,虽然我从未有兴趣将鼠标悬停在一个变量来获取它的值。值得注意的是,虽然鼠标悬停可以取到值,如果想要让它更好地工作,Nemiver是可以看到结构并给出所有成员的变量的赋值。
|
||||
|
||||

|
||||
|
||||
谈到方便地访问信息,我也非常欣赏这个程序的布局。默认情况下,代码在上半部分,功能区标签在下半部分。这可以让你访问终端的输出、上下文追踪器、断点列表、注册器地址、内存映射和变量控制。但是请注意在“Edit”-“Preferences”-“Layout”下你可以选择不同的布局,包括一个可以修改的动态布局。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
自然,当你设置了全部断点,观察点和布局,您可以在“File”菜单下很方便地保存该会话,以便你下次打开时恢复。
|
||||
|
||||
### Nemiver的高级用法 ###
|
||||
|
||||
到目前为止,我们讨论的都是Nemiver的基本特征,例如,你马上开始调试一个简单的程序需要了解什么。如果你有更高的需求,特别是对于一些更加复杂的程序,你应该会对接下来提到的这些特征更感兴趣。
|
||||
|
||||
#### 调试一个正在运行的进程 ####
|
||||
|
||||
Nemiver允许你驳接到一个正在运行的进程进行调试。在“File”菜单,你可以筛选出正在运行的进程,并驳接到某个进程。
|
||||
|
||||

|
||||
|
||||
#### 通过TCP连接远程调试一个程序 ####
|
||||
|
||||
Nemiver支持远程调试,你可以在一台远程机器上设置一个轻量级调试服务器,然后你在另外一台机器上启动 nemiver 去调试运行在调试服务器上的程序。如果出于某些原因,你不能在远程机器上很好地驾驭 Nemiver或者GDB,那么远程调试对于你来说将非常有用。在“File”菜单下,指定二进制文件、共享库位置、远程地址和端口。
|
||||
|
||||

|
||||
|
||||
#### 使用你的GDB二进制程序进行调试 ####
|
||||
|
||||
如果你的Nemiver是自行编译的,你可以在“Edit(编辑)”-“Preferences(首选项)”-“Debug(调试)”下给GDB指定一个新的位置。如果你想在Nemiver下使用定制版本的GDB,那么这个选项对你来说是非常实用的。
|
||||
|
||||
#### 跟随一个子进程或者父进程 ####
|
||||
|
||||
当你的程序分支时,Nemiver是可以设置为跟随子进程或者父进程的。想激活这个功能,请到“Debugger”下面的“Preferences(首选项)”。
|
||||
|
||||

|
||||
|
||||
总而言之,Nemiver大概是我最喜欢的不在IDE里面的调试程序。在我看来,它甚至可以击败GDB,它和命令行程序一样深深吸引了我。所以,如果你从未使用过的话,我会强烈推荐你使用。我十分感谢它背后的开发团队给了我这么一个可靠、稳定的程序。
|
||||
|
||||
你对Nemiver有什么见解?你是否也考虑它作为独立的调试工具?或者仍然坚持使用IDE?让我们在评论中探讨吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/debug-program-nemiver-debugger.html
|
||||
|
||||
作者:[Adrien Brochard][a]
|
||||
译者:[disylee](https://github.com/disylee)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:http://linux.cn/article-4302-1.html
|
||||
[2]:https://wiki.gnome.org/Apps/Nemiver
|
||||
[3]:https://download.gnome.org/sources/nemiver/0.9/
|
||||
[4]:http://xmodulo.com/recommend/linuxclibook
|
@ -1,12 +1,12 @@
|
||||
如何在 Linux 上使用 BackupPC 来设置一个跨平台的备份服务器
|
||||
如何在 Linux 上使用 BackupPC 来架设跨平台的备份服务器
|
||||
================================================================================
|
||||
为了防止你不能分辨这篇教程和我先前关于[backupninja][1] 和 [backup-manager][2] 的帖子,=== 我是一个积极的备份迷。当提到备份,我宁愿备份的太多而不希望备份不足,因为如果我们有需要的话,你将会感激你花费了时间和精力来为你的重要数据生成额外的拷贝。
|
||||
也许你没有从我先前关于 [backupninja][1] 和 [backup-manager][2] 的两篇文章中发现,我是一个超级备“粉”。当提到备份,我宁愿备份的太多而不希望备份不足,因为如果我们有需要的话,你将会感激你为重要数据生成额外的拷贝所付出的时间和精力。
|
||||
|
||||
在这篇帖子中,我将向你介绍 [BackupPC][3],一个跨平台的备份服务器软件,它可以通过网络为 Linux,Windows 和 MacOS 等系统上的客户端主机拉取备份。BackupPC 添加了一系列的特点使得管理备份变为一件快乐的事。
|
||||
在这篇文章中,我将向你介绍 [BackupPC][3],一个跨平台的备份服务器软件,它可以通过网络为 Linux,Windows 和 MacOS 等系统上的客户端主机拉取备份。BackupPC 添加了一系列的特点使得管理备份变为一件快乐的事。
|
||||
|
||||
### BackupPC 的特点 ###
|
||||
|
||||
BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收集和管理其他远程客户端主机上的备份。通过使用它的 Web 界面,你可以检查日志和配置文件、为其他远程主机启动/取消/安排备份任务以及可视化备份任务的当前状态。你也可以非常容易地浏览归档的文件以及从备份的归档中恢复个人文件或整个作业。为了恢复单一的个人文件,你可以直接通过 Web 界面来下载任何先前备份的文件。若如这还不够,针对客户端主机,没有特别的客户端软件需要安装。在 Windows 客户端上, 本机 SMB 协议将被使用,而对于 *nix 客户端,你将使用 `rsync` 或 通过 SSH, RSH 或 NFS 来使用 `tar` 。
|
||||
BackupPC 自带有一个健壮的 Web 界面,允许你以集中化的方式来收集和管理其他远程客户端主机上的备份。通过使用它的 Web 界面,你可以检查日志和配置文件、为其他远程主机启动/取消/安排备份任务以及可视化备份任务的当前状态。你也可以非常容易地浏览归档的文件以及从备份的归档中恢复单个文件或整个备份。要恢复单个文件,你可以直接通过 Web 界面来下载任何先前备份的文件。不仅如此,客户端主机并不需要安装特别的客户端软件。在 Windows 客户端上, 使用的是原生的 SMB 协议,而对于 *nix 客户端,你将使用 `rsync` 或 通过 SSH, RSH 或 NFS 来使用 `tar` 。
|
||||
|
||||
### 安装 BackupPC ###
|
||||
|
||||
@ -20,13 +20,13 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
|
||||
# yum install BackupPC
|
||||
|
||||
同往常一样,这两种包管理系统都会自动地对依赖问题进行解决。另外,作为安装过程中的一部分,你可能会被要求去配置或重新配置用于图形用户界面的 Web 服务器。下面的截图来自于 Debian 系统:
|
||||
同往常一样,这两种包管理系统都会自动解决依赖问题。另外,作为安装过程中的一部分,你可能需要新配置或修改配置用于图形用户界面的 Web 服务器。下面的截图来自于 Debian 系统:
|
||||
|
||||

|
||||
|
||||
通过空格键来确定你的选择,然后使用 tab 键移动到 Ok 选项并敲回车键。
|
||||
|
||||
接着类似于下面的截屏将会呈现在你眼前,通知你一个用来管理 BackupPC 的名为 ‘backuppc’的管理员用户以及相应的密码(这个密码可以在以后被更改,如果你希望的话)已经被创建。这里需要注意的是:同样名为 ‘backuppc’的一个 HTTP 账户和一个常规的 Linux 账户将会被创建,它们使用同一个密码。需要前者的目的是来访问受保护的 BackupPC 的 Web 界面,而后者则是为了通过 SSH 来使用 `rsync` 来执行备份任务。
|
||||
接着类似于下面的截屏将会呈现在你眼前,通知你创建了一个用来管理 BackupPC 的名为 ‘backuppc’的管理员用户以及相应的密码(如果你需要,这个密码以后可以更改)。这里需要注意的是:这里创建了同样名为 ‘backuppc’的 HTTP 账户和常规的 Linux 账户,它们使用相同的密码。需要前者的目的是来访问受保护的 BackupPC 的 Web 界面,而后者则是为了通过 SSH 来使用 `rsync` 来执行备份任务。
|
||||
|
||||

|
||||
|
||||
@ -42,7 +42,7 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
|
||||
### 启动 BackupPC 并设置备份 ###
|
||||
|
||||
首先,打开一个浏览器窗口并指向 http://<server's FQDN or IP address>/backuppc/ 。当弹出提示框时,输入先前向你提供的默认 HTTP 用户凭据(注:即用户名 backuppc 和相应的默认密码)。假如认证成功,你就会被带入到 Web 界面的主页:
|
||||
首先,打开一个浏览器窗口并指向 http://\<服务器名称或 IP 地址>/backuppc/ 。当弹出提示框时,输入先前向你创建的默认 HTTP 用户凭据(注:即用户名 backuppc 和相应的默认密码)。假如认证成功,你就会被带入到 Web 界面的主页:
|
||||
|
||||

|
||||
|
||||
@ -51,9 +51,9 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
- Host #1: CentOS 7 [IP 192.168.0.17]
|
||||
- Host #2: Windows 7 [IP 192.168.0.103]
|
||||
|
||||
我们将通过 SSH 使用 `rsync`来备份 CentOS 主机,使用 SMB 来备份 Windows 主机。在执行备份之前,我们需要向我们的 CentOS 主机设置 [基于密码认证][7](注:这里我不知如何翻译,根据链接,感觉是无需密码来连接主机)以及在我们的 Windows 主机中设置一个共享目录。
|
||||
我们将通过 SSH 使用 `rsync`来备份 CentOS 主机,使用 SMB 来备份 Windows 主机。在执行备份之前,我们需要向我们的 CentOS 主机设置 [基于密钥认证][7] 以及在我们的 Windows 主机中设置一个共享目录。
|
||||
|
||||
下面是关于如何为一个远程 CentOS 主机设置 key-based authentication 的指导。我们创建 ‘backuppc’ 用户的 RSA 密钥对,并向 CentOS 主机上的 root 账户传递它的公共密钥。
|
||||
下面是关于如何为一个远程 CentOS 主机设置基于密钥认证的指导。我们创建 ‘backuppc’ 用户的 RSA 密钥对,并将其公钥传输给 CentOS 主机上的 root 账户。
|
||||
|
||||
# usermod -s /bin/bash backuppc
|
||||
# su - backuppc
|
||||
@ -64,13 +64,13 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
|
||||

|
||||
|
||||
你需要一个远程的 CentOS 主机的 root 权限来在该主机中的文件系统中发放写权限,以防要恢复的备份文件或目录的所有者为 root 账户。
|
||||
你需要一个远程的 CentOS 主机的 root 权限,以获得在该主机中的文件系统中写权限,以防要恢复的备份文件或目录的所有者为 root 账户。
|
||||
|
||||
一旦 CentOS 和 Windows 主机都准备完毕,使用 Web 界面将它们添加到 BackupPC:
|
||||
|
||||

|
||||
|
||||
下一步的内容由更改每个主机的备份设置组成:
|
||||
下一步更改每个主机的备份设置:
|
||||
|
||||

|
||||
|
||||
@ -88,7 +88,7 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
|
||||

|
||||
|
||||
在任何时候,你都可以通过点击如上图展示的每个主机的备份主页来查看备份任务的状态。假如因为某些原因备份失败,在主机菜单中将会出现一个指向包含错误信息的网页的链接。当一个备份任务被成功地完成,一个被命名为主机名或 IP 地址的目录将会在服务器的 /var/lib/backuppc/pc 目录下被创建。
|
||||
在任何时候,你都可以通过点击如上图展示的每个主机的备份主页来查看备份任务的状态。假如因为某些原因备份失败,在主机菜单中将会出现一个指向包含错误信息的网页的链接。当一个备份任务成功完成后,在服务器的 /var/lib/backuppc/pc 目录下会创建一个命名为主机名或 IP 地址的目录。
|
||||
|
||||

|
||||
|
||||
@ -96,7 +96,7 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
|
||||
### 恢复备份 ###
|
||||
|
||||
为了浏览已经保存过的文件。进入每个主机的主菜单下的 “浏览备份”选项,你可以一目了然地看到目录和文件,并选择那些你想恢复的文件。另外,你还可以通过点击文件来使用默认程序打开文件或右击文件并选择“另存为”来下载该文件到你正在工作的机器上:
|
||||
要浏览这些保存的文件,进入每个主机的主菜单下的 “浏览备份”选项,你可以一目了然地看到目录和文件,并选择那些你想恢复的文件。另外,你还可以通过点击文件来使用默认程序打开文件或右击文件并选择“另存为”来下载该文件到你当前的机器上:
|
||||
|
||||

|
||||
|
||||
@ -113,21 +113,22 @@ BackupPC 自带有一个健壮的 Web 界面,允许你以集中的方式来收
|
||||
有句俗话说,"越简单,越好",而这正是 BackupPC 所提供的东西。在 BackupPC 中,你将不仅找到了一个备份工具,而且还找到了一个无需任何客户端应用来在几个不同的操作系统中管理你的备份的方法。我相信这就有足够的理由让你去尝试一下。
|
||||
|
||||
欢迎使用下面的评论框来留下你的评论和问题,假如你有的话。我总是乐于听取读者想说的话!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/backuppc-cross-platform-backup-server-linux.html
|
||||
|
||||
作者:[Gabriel Cánepa][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/gabriel
|
||||
[1]:http://xmodulo.com/backup-debian-system-backupninja.html
|
||||
[2]:http://xmodulo.com/linux-backup-manager.html
|
||||
[1]:http://linux.cn/article-5096-1.html
|
||||
[2]:http://linux.cn/article-4586-1.html
|
||||
[3]:http://backuppc.sourceforge.net/
|
||||
[4]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
|
||||
[5]:http://ask.xmodulo.com/enable-nux-dextop-repository-centos-rhel.html
|
||||
[4]:http://linux.cn/article-2324-1.html
|
||||
[5]:http://linux.cn/article-3889-1.html
|
||||
[6]:http://xmodulo.com/recommend/linuxguide
|
||||
[7]:http://xmodulo.com/how-to-enable-ssh-login-without.html
|
@ -1,20 +1,20 @@
|
||||
支持同时把单个 ISO 文件写入 20 个 USB 驱动盘的应用程序
|
||||
MultiWriter:同时将 ISO 镜像并发写入 20 个 USB 启动盘
|
||||
================================================================================
|
||||
**我的问题是如何把一个Linux ISO 文件烧录到 17 个 USB 拇指驱动盘?**
|
||||
**我的问题是如何把一个Linux ISO 文件烧录到 17 个 USB 启动盘?**
|
||||
|
||||
精通代码的会写一个 bash 脚本来自动化处理,而大部分的人会使用像 USB 启动盘创建器这样的图形用户界面工具来把 ISO 文件一个一个的烧录到驱动盘中。但剩下的还有一些人会很快得出结论,两种方法都不太理想。
|
||||
精通代码的人会写一个 bash 脚本来自动化处理,而大部分的人会使用像 USB 启动盘创建器这样的图形用户界面工具来把 ISO 文件一个、一个的烧录到驱动盘中。但剩下的还有一些人也许会很快得出结论,两种方法都不太理想。
|
||||
|
||||
### 问题 > 解决 ###
|
||||
|
||||

|
||||
|
||||
GNOME MultiWriter 在运行当中
|
||||
*GNOME MultiWriter 在运行当中*
|
||||
|
||||
Richard Hughes,一个 GNOME 开发者,也面临着类似的困境。他要创建一批预装操作系统的 USB 驱动盘,需要一个足够简单的工具,使得像他父亲这样的用户也能使用。
|
||||
Richard Hughes,一个 GNOME 开发者,也面临着类似的困境。他要创建一批预装操作系统的 USB 启动盘,需要一个足够简单的工具,使得像他父亲这样的用户也能使用。
|
||||
|
||||
他的反应是开发**品牌性的新应用程序**,使上面的两种方法合二为一,创造出易用的一款工具。
|
||||
|
||||
它的名字就叫 “[GNOME MultiWriter][1]”。同时可以把单个的 ISO 或 IMG 文件写入多个 USB 驱动盘。
|
||||
它的名字就叫 “[GNOME MultiWriter][1]”,可以同时把单个的 ISO 或 IMG 文件写入多个 USB 驱动盘。
|
||||
|
||||
它不支持个性化自定义或命令行执行的功能,使用它就可以省掉浪费一下午的时间来对相同的操作的重复动作。
|
||||
|
||||
@ -24,25 +24,25 @@ Richard Hughes,一个 GNOME 开发者,也面临着类似的困境。他要
|
||||
|
||||

|
||||
|
||||
该应用程序可以在 Ubuntu 上安装
|
||||
*该应用程序可以在 Ubuntu 上安装*
|
||||
|
||||
这款应用程序的定义使用场景很不错,正适合使用于预装正要发布的操作系统或 live 映像的 USB 棒上。
|
||||
这款应用程序的定义使用场景很不错,正适合使用于预装正要发布的操作系统或 live 映像的 USB 启动盘上。
|
||||
|
||||
那就是说,任何人想要创建一个单独可启动的 USB 棒的话,也是一样的适用 - 因我用 Ubuntu 的内置磁盘创建工具来创建可引导的映像从来没有一次成功过的,所以这方案对我来说是个好消息!
|
||||
那就是说,任何人想要创建一个单独可启动的 USB 启动盘的话,也是一样的适用 - 因我用 Ubuntu 的内置磁盘创建工具来创建可引导的映像从来没有一次成功过的,所以这方案对我来说是个好消息!
|
||||
|
||||
它的开发者 Hughes 说它**最高能支持20个 USB驱动盘**,每个盘的大小在 1GB 到 32GB之间。
|
||||
它的开发者 Hughes 说它**最高能支持20个 USB 启动盘**,每个盘的大小在 1GB 到 32GB之间。
|
||||
|
||||
GNOME MultiWriter 不好的地方(到现在为止)就是它还没有一个完结、稳定的成品。它是能工作,但在早期的时候,还没有可安装的二进制版本或可添加到你庞大软件源的 PPA。
|
||||
GNOME MultiWriter 也有不好的地方(到现在为止)就是它还没有一个完结、稳定的成品。它是能工作,但在早期的时候,还没有可安装的二进制版本或可添加到你庞大软件源的 PPA。
|
||||
|
||||
如果您知道通常的 configure/make 的操作流程的话,可以获取其源码并随时都可以编译运行。在 Ubuntu14.10 系统上,你可能还需要首先安装以下软件包:
|
||||
|
||||
sudo apt-get install gnome-common yelp-tools libcanberra-gtk3-dev libudisks2-dev gobject-introspection
|
||||
|
||||
如果您得到并运行起来,已经玩转的话,给我们分享下您的感受!
|
||||
如果您可以运行起来,已经玩转的话,给我们分享下您的感受!
|
||||
|
||||
此项目托管在 GitHub 上,盼望对其提出问题缺陷和发起 pull 请求,在上面也可以找到压缩包下载,进行手动安装。
|
||||
|
||||
- [Github 上的 GNOME MultiWriter][2]
|
||||
- [Github 上的 GNOME MultiWriter][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -50,10 +50,9 @@ via: http://www.omgubuntu.co.uk/2015/01/gnome-multiwriter-iso-usb-utility
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[runningwater](https://github.com/runningwater)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[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://github.com/hughsie/gnome-multi-writer/
|
||||
[2]:https://github.com/hughsie/gnome-multi-writer/
|
@ -1,4 +1,4 @@
|
||||
如何在Ubuntu 14.04 LTS安装网络爬虫工具
|
||||
如何在Ubuntu 14.04 LTS安装网络爬虫工具:Scrapy
|
||||
================================================================================
|
||||
这是一款提取网站数据的开源工具。Scrapy框架用Python开发而成,它使抓取工作又快又简单,且可扩展。我们已经在virtual box中创建一台虚拟机(VM)并且在上面安装了Ubuntu 14.04 LTS。
|
||||
|
||||
@ -6,13 +6,13 @@
|
||||
|
||||
Scrapy依赖于Python、开发库和pip。Python最新的版本已经在Ubuntu上预装了。因此我们在安装Scrapy之前只需安装pip和python开发库就可以了。
|
||||
|
||||
pip是作为python包索引器easy_install的替代品。用于安装和管理Python包。pip包的安装可见图 1。
|
||||
pip是作为python包索引器easy_install的替代品,用于安装和管理Python包。pip包的安装可见图 1。
|
||||
|
||||
sudo apt-get install python-pip
|
||||
|
||||

|
||||
|
||||
图:1 pip安装
|
||||
*图:1 pip安装*
|
||||
|
||||
我们必须要用下面的命令安装python开发库。如果包没有安装那么就会在安装scrapy框架的时候报关于python.h头文件的错误。
|
||||
|
||||
@ -20,42 +20,41 @@ pip是作为python包索引器easy_install的替代品。用于安装和管理Py
|
||||
|
||||

|
||||
|
||||
图:2 Python 开发库
|
||||
*图:2 Python 开发库*
|
||||
|
||||
scrapy框架即可从deb包安装也可以从源码安装。然而在图3中我们已经用pip(Python 包管理器)安装了deb包了。
|
||||
scrapy框架既可从deb包安装也可以从源码安装。在图3中我们用pip(Python 包管理器)安装了deb包了。
|
||||
|
||||
sudo pip install scrapy
|
||||
|
||||

|
||||
|
||||
图:3 Scrapy 安装
|
||||
*图:3 Scrapy 安装*
|
||||
|
||||
图4中scrapy的成功安装需要一些时间。
|
||||
|
||||

|
||||
|
||||
图:4 成功安装Scrapy框架
|
||||
*图:4 成功安装Scrapy框架*
|
||||
|
||||
### 使用scrapy框架提取数据 ###
|
||||
|
||||
**(基础教程)**
|
||||
####基础教程####
|
||||
|
||||
我们将用scrapy从fatwallet.com上提取店名(提供卡的店)。首先,我们使用下面的命令新建一个scrapy项目“store name”, 见图5。
|
||||
我们将用scrapy从fatwallet.com上提取商店名称(卖卡的店)。首先,我们使用下面的命令新建一个scrapy项目“store name”, 见图5。
|
||||
|
||||
$sudo scrapy startproject store_name
|
||||
|
||||

|
||||
|
||||
图:5 Scrapy框架新建项目
|
||||
*图:5 Scrapy框架新建项目*
|
||||
|
||||
Above command creates a directory with title “store_name” at current path. This main directory of the project contains files/folders which are shown in the following Figure 6.
|
||||
上面的命令在当前路径创建了一个“store_name”的目录。项目主目录下包含的文件/文件夹见图6。
|
||||
|
||||
$sudo ls –lR store_name
|
||||
|
||||

|
||||
|
||||
图:6 store_name项目的内容
|
||||
*图:6 store_name项目的内容*
|
||||
|
||||
每个文件/文件夹的概要如下:
|
||||
|
||||
@ -66,13 +65,13 @@ Above command creates a directory with title “store_name” at current path. T
|
||||
- store_name/settings.py 是项目的配置文件
|
||||
- store_name/spiders/, 包含了用于爬取的蜘蛛
|
||||
|
||||
由于我们要从fatwallet.com上如提取店名,因此我们如下修改文件。
|
||||
由于我们要从fatwallet.com上如提取店名,因此我们如下修改文件(LCTT 译注:这里没说明是哪个文件,译者认为应该是 items.py)。
|
||||
|
||||
import scrapy
|
||||
|
||||
class StoreNameItem(scrapy.Item):
|
||||
|
||||
name = scrapy.Field() # extract the names of Cards store
|
||||
name = scrapy.Field() # 取出卡片商店的名称
|
||||
|
||||
之后我们要在项目的store_name/spiders/文件夹下写一个新的蜘蛛。蜘蛛是一个python类,它包含了下面几个必须的属性:
|
||||
|
||||
@ -80,7 +79,7 @@ Above command creates a directory with title “store_name” at current path. T
|
||||
2. 爬取起点url (start_urls)
|
||||
3. 包含了从响应中提取需要内容相应的正则表达式的解析方法。解析方法对爬虫而言很重要。
|
||||
|
||||
我们在store_name/spiders/目录下创建了“store_name.py”爬虫,并添加如下的代码来从fatwallet.com上提取点名。爬虫的输出到文件(**StoreName.txt**)中,见图7。
|
||||
我们在store_name/spiders/目录下创建了“store_name.py”爬虫,并添加如下的代码来从fatwallet.com上提取店名。爬虫的输出写到文件(**StoreName.txt**)中,见图7。
|
||||
|
||||
from scrapy.selector import Selector
|
||||
from scrapy.spider import BaseSpider
|
||||
@ -113,7 +112,7 @@ Above command creates a directory with title “store_name” at current path. T
|
||||
|
||||

|
||||
|
||||
图:7 爬虫的输出
|
||||
*图:7 爬虫的输出*
|
||||
|
||||
*注意: 本教程的目的仅用于理解scrapy框架*
|
||||
|
||||
@ -123,7 +122,7 @@ via: http://linoxide.com/ubuntu-how-to/scrapy-install-ubuntu/
|
||||
|
||||
作者:[nido][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -2,13 +2,13 @@
|
||||
================================================================================
|
||||
大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件。这里有一款工具你可以工具自己的需要使用。
|
||||
|
||||
无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能一帮你扫描系统中的重复文件并删除它们来释放空间。图形界面和命令行界面的都有。重复文件是磁盘空间不必要的浪费。毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以这样就可以在磁盘的一处地方存储数据了。
|
||||
无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重复文件并删除它们来释放空间。图形界面和命令行界面的都有。重复文件是磁盘空间不必要的浪费。毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以在磁盘的一个地方存储数据了。
|
||||
|
||||
### FSlint ###
|
||||
|
||||
[FSlint][1] 在不同的Linux发行办二进制仓库中都有,包括Ubuntu、Debian、Fedora和Red Hat。只需你运行你的包管理器并安装“fslint”包就行。这个工具默认提供了一个简单的图形化界面,同样也有包含各种功能的命令行版本。
|
||||
[FSlint][1] 在不同的Linux发行版二进制仓库中都有,包括Ubuntu、Debian、Fedora和Red Hat。只需你运行你的包管理器并安装“fslint”包就行。这个工具默认提供了一个简单的图形化界面,同样也有包含各种功能的命令行版本。
|
||||
|
||||
不要让它让你害怕使用FSlint的图形化界面。默认情况下,它会自动选中Duplicate窗格,并以你的家目录作为搜索路径。
|
||||
不要担心FSlint的图形化界面太复杂。默认情况下,它会自动选中Duplicate窗格,并以你的家目录作为搜索路径。
|
||||
|
||||
要安装fslint,若像我这样运行的是Ubuntu,这里是默认的命令:
|
||||
|
||||
@ -27,7 +27,7 @@ Fedora:
|
||||
|
||||
sudo yum install fslint
|
||||
|
||||
For OpenSuse:
|
||||
OpenSuse:
|
||||
|
||||
[ -f /etc/mandrake-release ] && pkg=rpm
|
||||
[ -f /etc/SuSE-release ] && pkg=packages
|
||||
@ -51,11 +51,11 @@ For OpenSuse:
|
||||
|
||||

|
||||
|
||||
使用按钮来删除任何你要删除的文件,并且可以双击预览。
|
||||
点击按钮来删除任何你要删除的文件,并且可以双击预览。
|
||||
|
||||
完成这一切后,我们就成功地删除你系统中的重复文件了。
|
||||
|
||||
**注意** 的是命令行工具默认不在环境的路径中,你不能像典型的命令那样运行它。在Ubuntu中,你可以在/usr/share/fslint/fslint下找到它。因此,如果你要在一个单独的目录运行fslint完整扫描,下面是Ubuntu中的运行命令:
|
||||
**注意** ,命令行工具默认不在环境的路径中,你不能像典型的命令那样运行它。在Ubuntu中,你可以在/usr/share/fslint/fslint下找到它。因此,如果你要在一个单独的目录运行fslint完整扫描,下面是Ubuntu中的运行命令:
|
||||
|
||||
cd /usr/share/fslint/fslint
|
||||
|
||||
@ -84,7 +84,7 @@ via: http://linoxide.com/file-system/find-remove-duplicate-files-linux/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -2,13 +2,13 @@
|
||||
================================================================================
|
||||
**Git**是一款注重速度、数据完整性、分布式支持和非线性工作流的分布式版本控制工具。Git最初由Linus Torvalds在2005年为Linux内核开发而设计,如今已经成为被广泛接受的版本控制系统。
|
||||
|
||||
和其他大多数分布式版本控制系统比起来,不像大多数客户端-服务端的系统,每个Git工作目录是一个完整的仓库,带有完整的历史记录和完整的版本跟踪能力,不需要依赖网络或者中心服务器。像Linux内核一样,Git意识在GPLv2许可证下的免费软件。
|
||||
和其他大多数分布式版本控制系统比起来,不像大多数客户端-服务端的系统,每个Git工作目录是一个完整的仓库,带有完整的历史记录和完整的版本跟踪能力,不需要依赖网络或者中心服务器。像Linux内核一样,Git也是在GPLv2许可证下分发的自由软件。
|
||||
|
||||
本篇教程我会演示如何安装gitlit服务器。gitlit的最新稳定版是1.6.2。[Gitblit][1]是一款开源、纯Java开发的用于管理浏览和服务的[Git][2]仓库。它被设计成一款为希望托管中心仓库的小工作组服务的工具。
|
||||
本篇教程我会演示如何安装 gitlit 服务器。gitlit的最新稳定版是1.6.2。[Gitblit][1]是一款开源、纯Java开发的用于管理、浏览和提供[Git][2]仓库服务的软件。它被设计成一款为希望托管中心仓库的小型工作组服务的工具。
|
||||
|
||||
mkdir -p /opt/gitblit; cd /opt/gitblit; wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
|
||||
|
||||
### 列出目录: ###
|
||||
### 列出解压后目录内容: ###
|
||||
|
||||
root@vps124229 [/opt/gitblit]# ls
|
||||
./ docs/ gitblit-stop.sh* LICENSE service-ubuntu.sh*
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
### 启动gitlit服务: ###
|
||||
|
||||
### 通过service命令: ###
|
||||
**通过service命令:**
|
||||
|
||||
root@vps124229 [/opt/gitblit]# cp service-centos.sh /etc/init.d/gitblit
|
||||
root@vps124229 [/opt/gitblit]# chkconfig --add gitblit
|
||||
@ -29,7 +29,7 @@
|
||||
Starting gitblit server
|
||||
.
|
||||
|
||||
### 手动启动: ###
|
||||
**手动启动:**
|
||||
|
||||
root@vps124229 [/opt/gitblit]# java -jar gitblit.jar --baseFolder data
|
||||
2015-01-10 09:16:53 [INFO ] *****************************************************************
|
||||
@ -108,15 +108,15 @@
|
||||
|
||||
打开浏览器,依据你的配置进入**http://localhost:8080** 或者 **https://localhost:8443**。 输入默认的管理员授权:**admin / admin** 并点击**Login** 按钮
|
||||
|
||||

|
||||

|
||||
|
||||
### 添加用户: ###
|
||||
|
||||

|
||||

|
||||
|
||||
添加仓库:
|
||||
###添加仓库:###
|
||||
|
||||

|
||||

|
||||
|
||||
### 用命令行创建新的仓库: ###
|
||||
|
||||
@ -140,7 +140,7 @@ via: http://www.unixmen.com/install-gitblit-ubuntu-fedora-centos/
|
||||
|
||||
作者:[M.el Khamlichi][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,83 @@
|
||||
Linux 上的最佳 C/C++ IDE
|
||||
================================================================================
|
||||
"一个真正的程序员是不用IDE(译者注:集成开发环境)的,他们都是用带着某某插件的文本编辑器来写代码。"我们总能在某些地方听到此类观点。然而,尽管越来越多的人同意这样的观点,但是一个IDE仍然非常有用,它设置简单,使用起来也很方便,因此不能比这样更合适编写一个项目了。所以鉴于这点,在这里我想给大家列一份在Linux平台上比较好的C/C++ IDE清单。为什么特地说C/C++呢?因为C语言是我最喜欢的编程语言,而且我们总要找个切入点来开始。另外要注意的是,通常有很多种编写C代码的方法,所以为了消减清单的篇幅,我只选择了"真正好用的IDE",而不是诸如Gedit或Vim这种注入[插件][1]的文本编辑器。并不是说这些编辑器不好,只是如果我将文本编辑器包含进去那这份清单就将永无止境了。
|
||||
|
||||
### 1. Code::Blocks ###
|
||||
|
||||

|
||||
|
||||
用我个人的最爱来开篇,[Code::Blocks][2]是一款简单快速的专有C/C++ IDE。就像任何一款强大的IDE一样, 它集成了语法高亮、书签功能、自动补全功能、项目管理和一个调试器。它最闪亮的地方在于它简单的插件系统,里面添加了不可缺少的工具,像Valgrind和CppCheck,还有不太重要的比如像俄罗斯方块这样的小游戏。但是我特别喜欢它的理由是它连贯方便的快捷键设定和大量的却感受不到拥挤的选项设置。
|
||||
|
||||
### 2. Eclipse ###
|
||||
|
||||

|
||||
|
||||
我知道我只说"真正好用的IDE"而不是带着插件的文本编辑器,但是,[Eclipse][3]的确是一款"真正好用的IDE",只是Eclipse需要一些[插件][4](或经过一些改装)来编写C程序,所以严格来说我无法反驳我自己。而且,做一份IDE清单不提到Eclipse这个“巨人”是不可能的事情。无论喜欢它与否,Eclipse仍然是一款强大的Java编程工具。这里要感谢[CDT 项目][5],让Eclipse编写C程序变得可能。你同样可以体验到Eclipse的强大功能,包括它的一些传统功能特点比如自动补全、代码大纲、代码生成器和先进的重构功能。照我话说,它的不足之处在于它不如Code::Blocks那么轻量级,它仍然很臃肿,要花费很多时间去载入。但是如果你的电脑可以驾驭它,或者你是个忠实的Eclipse粉,那么它一定是你的不二选择。
|
||||
|
||||
### 3. Geany ###
|
||||
|
||||

|
||||
|
||||
牺牲了很多特色功能但是增加了很多灵活性,[Geany][6]就是这样一款与Eclipse对立的软件。但是对于它所缺乏的地方(比如说没有调试器), Geany用一些漂亮小巧的特色功能弥补了它们:一个可以做笔记的区域、基于模板创作、代码大纲、自定义快捷键和插件管理。相比于现在的IDE,Geany仍然是一款作用广泛的文本编辑器,然而,因为它的功能亮点和它的界面设计,所以我把它放在这份列表里。
|
||||
|
||||
### 4. MonoDevelop ###
|
||||
|
||||

|
||||
|
||||
这又是这份列表里的一个“巨人级”工具,[MonoDevelop][7]那无与伦比的体验来源于它的外表和界面。我个人非常喜爱它的项目管理体系和它的一体化版本控制系统。插件系统同样漂亮地让人震惊。但是由于一些原因,所有的设置和对所有编程语言的支持对于我来说让我感觉有点“资源过剩”了。它仍然是我在过去经常使用的伟大工具,但不是我在单单处理C语言时的第一选择。
|
||||
|
||||
### 5. Anjuta ###
|
||||
|
||||

|
||||
|
||||
它身上有着强烈的“GNOME即视感”,[Anjuta][8]的外观很具争议。我倾向于把它看作是带着调试器的Geany升级版,但是它的界面实际上要复杂得多。我确实很享受能在项目、文件夹和代码大纲视图之间来回切换的标签系统,我本想用诸如更多的快捷方法来移动文件,然而,这是一个很好的提供了显著编译功能和构建选项的工具,它能够支持哪些很有特点的需求。
|
||||
|
||||
### 6. Komodo Edit ###
|
||||
|
||||

|
||||
|
||||
我不是非常熟悉[Komodo Edit][9],但是在试用了一段时间之后,我被它很多很多的优点给惊喜到了。首先,基于标签的导航功能有很强的可预见性。其次它奇特的代码大纲让我想到了Sublime Text。此外,它的宏系统和文件比较器使得Komodo Edit非常实用。它的插件库让它几乎是完美的,说“几乎”是因为在其它IDE里我的确找不到能与之相媲美的快捷方法了。而且我们能享受到更多特别的C/C++工具,这往往是普通IDE的不足之处。然而,Komodo Edit就能做到。
|
||||
|
||||
### 7. NetBeans ###
|
||||
|
||||

|
||||
|
||||
就好像Eclipse一样,这又是一款不得不提的“巨人级”软件。拥有的功能包括通过标签进行导航、项目管理、代码大纲、更改历史追踪和大量工具,[NetBeans][10]可能是最完整的IDE了,我能用半页来列出它所有让人震惊的特色功能。但是这同时也很容易地向你透露了它的主要缺点,它太臃肿了。比起它的强大,我更喜欢基于插件的软件,因为我觉得不太会有人为了一个同样的项目同时需要Git和Mercurial相结合来工作,我是不是很疯狂?但是如果你有耐心去掌握它所有的选项,那你差不多无论到哪里都是IDE大师了。
|
||||
|
||||
### 8. KDevelop ###
|
||||
|
||||

|
||||
|
||||
说到这,肯定照顾到所有的KDE粉丝,[KDevelop][11]会是你希望的答案。它拥有许多配置选项,如果你设法去征服KDevelop,那它就是你的。你们说我肤浅,但是我真的从来没有深入过除它界面以外的层次了,对于我来说编辑器本身就携带着大量的导航选项和可定制的快捷键简直是一个再糟糕不过的事了。它的调试器也是相当高级,要去练习掌握。然而,这样的耐心是有回报的,就是能领会到这款灵活的IDE的全部能力,并且由于它令人吃惊的嵌入式文件编制,你会给予它一种特殊的信任。
|
||||
|
||||
### 9. CodeLite ###
|
||||
|
||||

|
||||
|
||||
留在最后的不代表是最差的,[CodeLite][12]展现给你一种传统的编程规则却仍然能让你从它身上那特有的感觉上有所收获,即使它的界面一开始的确让我想到了Code::Blocks和Anjuta,只是不包括大量的插件库。无论你想要比较文件、插入一条版权块、定义缩略语或者用Git来工作,总有一款插件适合你。如果我不得不挑点毛病,我想说它缺乏一些符合我口味的导航快捷键,但这是真的。
|
||||
|
||||
最后,我希望这份清单能让你给自己最喜欢的语言探索到更多新的IDE。虽然Code::Blocks仍然是我的最爱,不过它有一些很强大的对手。当然我们也可以远离Linux上的IDE,而用文本编辑器去编写C/C++代码。所以如果你有什么其它的建议想法,在评论中让我们获悉。或者如果你想要我再说说关于一些其它语言的IDE,也可以评论里提出。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/good-ide-for-c-cpp-linux.html
|
||||
|
||||
作者:[Adrien Brochard][a]
|
||||
译者:[ZTinoZ](https://github.com/ZTinoZ)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:http://xmodulo.com/turn-vim-full-fledged-ide.html
|
||||
[2]:http://www.codeblocks.org/
|
||||
[3]:https://eclipse.org/
|
||||
[4]:http://xmodulo.com/how-to-set-up-c-cpp-development-environment-in-eclipse.html
|
||||
[5]:https://eclipse.org/cdt/
|
||||
[6]:http://www.geany.org/
|
||||
[7]:http://www.monodevelop.com/
|
||||
[8]:http://anjuta.org/
|
||||
[9]:http://komodoide.com/komodo-edit/
|
||||
[10]:https://netbeans.org/
|
||||
[11]:https://www.kdevelop.org/
|
||||
[12]:http://codelite.org/
|
@ -1,6 +1,6 @@
|
||||
20个Unix命令技巧 - 第一部分
|
||||
20个 Unix/Linux 命令技巧(一)
|
||||
================================================================================
|
||||
让我们用**这些Unix命令技巧**开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。
|
||||
让我们用**这些Unix/Linux命令技巧**开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。
|
||||
|
||||

|
||||
|
||||
@ -9,16 +9,15 @@
|
||||
我在生产服务器上有一个很大的200GB的日志文件需要删除。我的rm和ls命令已经崩溃,我担心这是由于巨大的磁盘IO造成的,要删除这个大文件,输入:
|
||||
|
||||
> /path/to/file.log
|
||||
# or use the following syntax
|
||||
# 或使用如下格式
|
||||
: > /path/to/file.log
|
||||
|
||||
# finally delete it
|
||||
# 然后删除它
|
||||
rm /path/to/file.log
|
||||
|
||||
### 如何缓存终端输出? ###
|
||||
|
||||
尝试使用script命令行工具来为你的终端输出创建typescript。
|
||||
### 如何记录终端输出? ###
|
||||
|
||||
试试使用script命令行工具来为你的终端输出创建输出记录。
|
||||
|
||||
script my.terminal.sessio
|
||||
|
||||
@ -28,7 +27,7 @@
|
||||
date
|
||||
sudo service foo stop
|
||||
|
||||
要退出(结束script绘画),输入*exit* 或者 *logout* 或者按下 *control-D*
|
||||
要退出(结束script会话),输入 *exit* 或者 *logout* 或者按下 *control-D*。
|
||||
|
||||
exit
|
||||
|
||||
@ -38,11 +37,10 @@
|
||||
less my.terminal.session
|
||||
cat my.terminal.session
|
||||
|
||||
### 还原删除的 /tmp 文件夹 ###
|
||||
### 还原被删除的 /tmp 文件夹 ###
|
||||
|
||||
我在文章[Linux和Unix shell,我犯了一些错误][1]。我意外地删除了/tmp文件夹。要还原它,我需要这么做:
|
||||
|
||||
|
||||
mkdir /tmp
|
||||
chmod 1777 /tmp
|
||||
chown root:root /tmp
|
||||
@ -50,11 +48,11 @@
|
||||
|
||||
### 锁定一个文件夹 ###
|
||||
|
||||
为了我的数据隐私,我想要锁定我文件服务器下的/downloads文件夹。因此我运行:
|
||||
为了我的数据隐私,我想要锁定我文件服务器下的/downloads文件夹。因此我运行了:
|
||||
|
||||
chmod 0000 /downloads
|
||||
|
||||
root用户仍旧可以访问,但是ls和cd命令还不可用。要还原它用:
|
||||
root用户仍旧可以访问,而ls和cd命令则不工作。要还原它用:
|
||||
|
||||
chmod 0755 /downloads
|
||||
|
||||
@ -66,40 +64,40 @@ root用户仍旧可以访问,但是ls和cd命令还不可用。要还原它用
|
||||
|
||||
或者,在退出vim之前使用:X 命令来加密你的文件,vim会提示你输入一个密码。
|
||||
|
||||
### 清除屏幕上的输出 ###
|
||||
### 清除屏幕上的乱码 ###
|
||||
|
||||
只要输入:
|
||||
|
||||
reset
|
||||
|
||||
### 成为人类 ###
|
||||
### 易读格式 ###
|
||||
|
||||
传递*-h*或者*-H*(和其他选项)选项给GNU或者BSD工具来获取像ls、df、du等命令以人类可读的格式输出:
|
||||
传递*-h*或者*-H*(和其他选项)选项给GNU或者BSD工具来获取像ls、df、du等命令以易读的格式输出:
|
||||
|
||||
ls -lh
|
||||
# 以人类可读的格式 (比如: 1K 234M 2G)
|
||||
# 以易读的格式 (比如: 1K 234M 2G)
|
||||
df -h
|
||||
df -k
|
||||
# 已字节输出如: KB, MB, or GB
|
||||
# 以字节、KB、MB 或 GB 输出:
|
||||
free -b
|
||||
free -k
|
||||
free -m
|
||||
free -g
|
||||
# 以人类可读的格式打印 (比如 1K 234M 2G)
|
||||
# 以易读的格式输出 (比如 1K 234M 2G)
|
||||
du -h
|
||||
# 以人类可读的格式获取系统perms
|
||||
# 以易读的格式显示文件系统权限
|
||||
stat -c %A /boot
|
||||
# 比较人类可读的数字
|
||||
# 比较易读的数字
|
||||
sort -h -a file
|
||||
# 在Linux上以人类可读的形式显示cpu信息
|
||||
# 在Linux上以易读的形式显示cpu信息
|
||||
lscpu
|
||||
lscpu -e
|
||||
lscpu -e=cpu,node
|
||||
# 以人类可读的形式显示每个文件的大小
|
||||
# 以易读的形式显示每个文件的大小
|
||||
tree -h
|
||||
tree -h /boot
|
||||
|
||||
### 在Linux系统中显示已知用户的信息 ###
|
||||
### 在Linux系统中显示已知的用户信息 ###
|
||||
|
||||
只要输入:
|
||||
|
||||
@ -143,7 +141,7 @@ root用户仍旧可以访问,但是ls和cd命令还不可用。要还原它用
|
||||
|
||||
### 我如何删除意外在当前文件夹下解压的文件? ###
|
||||
|
||||
我意外在/var/www/html/而不是/home/projects/www/current下解压了一个tarball。它混乱了/var/www/html下的文件。最简单修复这个问题的方法是:
|
||||
我意外在/var/www/html/而不是/home/projects/www/current下解压了一个tarball。它搞乱了/var/www/html下的文件,你甚至不知道哪些是误解压出来的。最简单修复这个问题的方法是:
|
||||
|
||||
cd /var/www/html/
|
||||
/bin/rm -f "$(tar ztf /path/to/file.tar.gz)"
|
||||
@ -166,7 +164,7 @@ root用户仍旧可以访问,但是ls和cd命令还不可用。要还原它用
|
||||
## 以root用户运行最后运行的命令
|
||||
sudo !!
|
||||
|
||||
!!会运行最近使用的命令。要运行最近运行的“foo”命令:
|
||||
!!会运行最近使用的命令。要运行最近运行的以“foo”开头命令:
|
||||
|
||||
!foo
|
||||
# 以root用户运行上一次以“service”开头的命令
|
||||
@ -180,12 +178,11 @@ root用户仍旧可以访问,但是ls和cd命令还不可用。要还原它用
|
||||
# 测试 nginx.conf
|
||||
/sbin/nginx -t -c /etc/nginx/nginx.conf
|
||||
|
||||
# 测试完 "/sbin/nginx -t -c /etc/nginx/nginx.conf"你可以用vi编辑了
|
||||
# 测试完 "/sbin/nginx -t -c /etc/nginx/nginx.conf"你可以用vi再次编辑这个文件了
|
||||
sudo vi !$
|
||||
|
||||
### 在你要离开的时候留下一个提醒 ###
|
||||
### 在终端上提醒你必须得走了 ###
|
||||
|
||||
If you need a reminder to leave your terminal, type the following command:
|
||||
如果你需要提醒离开你的终端,输入下面的命令:
|
||||
|
||||
leave +hhmm
|
||||
@ -200,26 +197,26 @@ If you need a reminder to leave your terminal, type the following command:
|
||||
|
||||
cd -
|
||||
|
||||
需要快速地回到家目录?输入:
|
||||
需要快速地回到你的家目录?输入:
|
||||
|
||||
cd
|
||||
|
||||
变量*CDPATH*定义了含有这个目录的搜索目录路径:
|
||||
变量*CDPATH*定义了目录的搜索路径:
|
||||
|
||||
export CDPATH=/var/www:/nas10
|
||||
|
||||
现在,不用输入cd */var/www/html/ ,我可以直接输入下面的命令进入/var/www/html:
|
||||
现在,不用输入cd */var/www/html/ 这样长了,我可以直接输入下面的命令进入 /var/www/html:
|
||||
|
||||
cd html
|
||||
|
||||
### 编辑一个用less浏览的文件 ###
|
||||
### 在less浏览时编辑文件 ###
|
||||
|
||||
要编辑一个用less浏览的文件,按下v。你就可以用变量$EDITOR下的编辑器来编辑了:
|
||||
要编辑一个正在用less浏览的文件,可以按下v。你就可以用变量$EDITOR所指定的编辑器来编辑了:
|
||||
|
||||
less *.c
|
||||
less foo.html
|
||||
## 下载v编辑文件 ##
|
||||
## 退出编辑器,你可以继续用less浏览了 ##
|
||||
## 按下v键来编辑文件 ##
|
||||
## 退出编辑器后,你可以继续用less浏览了 ##
|
||||
|
||||
### 列出你系统中的所有文件和目录 ###
|
||||
|
||||
@ -237,14 +234,14 @@ If you need a reminder to leave your terminal, type the following command:
|
||||
# 列出 $HOME 中所有的文件
|
||||
find $HOME -type f -ls | less
|
||||
|
||||
### 用一条命令构造命令树 ###
|
||||
### 用一条命令构造目录树 ###
|
||||
|
||||
你可以用mkdir加上-p选项一次创建目录树:
|
||||
你可以用mkdir加上-p选项一次创建一颗目录树:
|
||||
|
||||
mkdir -p /jail/{dev,bin,sbin,etc,usr,lib,lib64}
|
||||
ls -l /jail/
|
||||
|
||||
### 复制文件到多个目录中 ###
|
||||
### 将文件复制到多个目录中 ###
|
||||
|
||||
不必运行:
|
||||
|
||||
@ -260,16 +257,16 @@ If you need a reminder to leave your terminal, type the following command:
|
||||
|
||||
### 快速找出两个目录的不同 ###
|
||||
|
||||
diff命令会按行比较文件。它也可以比较两个目录:
|
||||
diff命令会按行比较文件。但是它也可以比较两个目录:
|
||||
|
||||
ls -l /tmp/r
|
||||
ls -l /tmp/s
|
||||
# Compare two folders using diff ##
|
||||
# 使用 diff 比较两个文件夹
|
||||
diff /tmp/r/ /tmp/s/
|
||||
|
||||
[][3]
|
||||
|
||||
图片: 找出目录之间的不同
|
||||
*图片: 找出目录之间的不同*
|
||||
|
||||
### 文本格式化 ###
|
||||
|
||||
@ -281,13 +278,13 @@ diff命令会按行比较文件。它也可以比较两个目录:
|
||||
|
||||
fmt -s file.txt
|
||||
|
||||
### 看见输出并写入到一个文件中 ###
|
||||
### 可以看见输出并将其写入到一个文件中 ###
|
||||
|
||||
如下使用tee命令在屏幕上看见输出并同样写入到日志文件my.log中:
|
||||
|
||||
mycoolapp arg1 arg2 input.file | tee my.log
|
||||
|
||||
tee可以保证你同时在屏幕上看到mycoolapp的输出和写入文件。
|
||||
tee可以保证你同时在屏幕上看到mycoolapp的输出并写入文件 my.log。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -295,7 +292,7 @@ via: http://www.cyberciti.biz/open-source/command-line-hacks/20-unix-command-lin
|
||||
|
||||
作者:[nixCraft][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,42 +1,42 @@
|
||||
在短短几个小时里拿回自己数据的隐私和控制权:为自己和朋友们搭建私有云
|
||||
权威指南:构建个人私有云,拿回你的数据隐私的控制权!
|
||||
================================================================================
|
||||
8年里40'000多次搜索!这是我的Google搜索历史。你的呢?(可以在[这里][1]自己找一下)有经过这么长时间积累下来的这么多数据点,Google已经能非常精确的推测你对什么感兴趣,曾经的想法,担忧过的事情,以及从你第一次获得Google帐号后这些年里所有这些的变化。
|
||||
8年里40000多次搜索!这是我的Google搜索历史。你的呢?(可以在[这里][1]自己找一下)有经过这么长时间积累下来的这么多数据点,Google已经能非常精确的推测你对什么感兴趣、曾经的想法、担忧过的事情,以及从你第一次获得Google帐号后这些年里所有这些的变化!
|
||||
|
||||
### 很多非常私人的信息不受自己控制地存储在世界范围内的服务器上 ###
|
||||
## 很多非常私人的信息不受自己控制地存储在世界范围内的服务器上 ##
|
||||
|
||||
比如说你也像我一样从2006年到2013年都是Gmail用户,意味着你收到了30'000+的电子邮件以及在这7年里写了差不多5000封电子邮件。这些发送或收到的电子邮件里有很多是非常私人的,私人到你甚至不希望自己的家人或好友能系统地查看。也许你还写过一些草稿邮件,因为最后一分钟改变主意而从没发出去。但是尽管你从未发出去,这些邮件仍然保存在服务器上的某个地方。结论是,说Google服务器比你最亲密的朋友或家人都更了解你的个人生活一点也不过分。
|
||||
比如说你也像我一样从2006年到2013年都是Gmail用户,意味着你收到了30000封以上的电子邮件,以及在这7年里写了差不多5000封电子邮件。这些发送或收到的电子邮件里有很多是非常私人的,私人到你甚至不希望自己的家人或好友可以系统地查看。也许你还写过一些草稿邮件,因为最后一分钟改变主意而从没发出去。但是尽管你从未发出去,这些邮件仍然保存在服务器上的某个地方。结论是,说Google服务器比你最亲密的朋友或家人都更了解你的个人生活一点也不过分。
|
||||
|
||||
从统计数据来看,可以很安全地赌你拥有一部智能手机。如果不使用联系人应用的话手机将基本没法用,而它默认会将你的联系人信息保存到Google服务器上的Google联系人里。所以,现在Google不仅知道了你的电子邮件,还有了你的离线联系人:你喜欢打给谁,谁来过电话,你发过短信给谁,以及发了些什么。你也不需要听我的片面之词,可以自己检查一下,看看你开放给类似Google Play服务的一些应用的权限,用来读取来电信息以及收到的短信。你是否还会用到手机里自带的日历应用?除非你在设置日程的时候明确地去掉,那么Google将精确地知道你将要做什么,一天里的每个时段,每一天,每一年。用iPhone代替Android手机也是一样的,只是Apple会代替Google来掌握你的往来邮件,联系人和日程计划。
|
||||
从统计数据来看,我可以很保险地打赌你拥有一部智能手机。如果不使用联系人应用的话手机将基本没法用,而它默认会将你的联系人信息保存到Google服务器上的Google联系人里。所以,现在Google不仅知道了你的电子邮件,还有了你的离线联系人:你喜欢打给谁、谁来过电话、你发过短信给谁,以及发了些什么。你也不需要听我的片面之词,可以自己检查一下,看看你开放给类似Google Play服务的一些应用的权限,用来读取来电信息以及收到的短信。你是否还会用到手机里自带的日历应用?除非你在设置日程的时候明确地去掉同步,那么Google将精确地知道你将要做什么,一天里的每个时段、每一天、每一年。用iPhone代替Android手机也是一样的,只是Apple会代替Google来掌握你的往来邮件、联系人和日程计划。
|
||||
|
||||
你是否还会非常小心地同步自己的联系人信息,在你朋友,同事或家人换工作或换服务商的时候更新他们的电子邮件地址和手机号?这给Google提供了一副你社交网络的非常精确的,最新的图片。还有你非常喜欢手机的GPS功能,经常配合Google地图使用。这意味着Google不仅能从日程里知道你在干什么,还知道你在哪儿,住在哪儿,在哪儿工作。然后再关联用户之间的GPS位置信息,GOogle还能知道你现在可能正在和哪些人来往。
|
||||
你是否还会非常小心地同步自己的联系人信息,在你朋友,同事或家人换工作或换服务商的时候更新他们的电子邮件地址和手机号?这给Google提供了一副你的社交网络的非常精确的、最新的描绘。还有你非常喜欢手机的GPS功能,经常配合Google地图使用。这意味着Google不仅能从日程里知道你在干什么,还知道你在哪儿、住在哪儿、在哪儿工作。然后再关联用户之间的GPS位置信息,Google还能知道你现在可能正在和哪些人来往。
|
||||
|
||||
### 这种泄漏自己私人信息的日常爱好会以一种甚至没人能够预测的方式影响你的生活 ###
|
||||
## 这种泄漏自己私人信息的日常爱好会以一种甚至没人能够预测的方式影响你的生活 ##
|
||||
|
||||
总结一下,如果你是一个普通的因特网用户,Google拥有过去差不多10年里你最新的,深度的信息,关于你的兴趣,忧虑,热情,疑问。它还收集了一些你很私人的信息(电子邮件,短信),精确到小时的你的日常活动和位置,一副你社交网络的高品质图片。关于你的如此私密的数据,很可能已经超越了你最亲密的朋友,家人或爱人对你的了解。
|
||||
总结一下,如果你是一个普通的因特网用户,Google拥有过去差不多10年里你最新的、深度的信息,关于你的兴趣、忧虑、热情、疑问。它还收集了一些你很私人的信息(电子邮件、短信),精确到小时的你的日常活动和位置,一副你社交网络的高精度的描绘。关于你的如此私密的数据,很可能已经超越了你最亲密的朋友,家人或爱人对你的了解。
|
||||
|
||||
不敢想象把这些深度的个人信息交给完全陌生的人,就好像把这些信息拷到一个U盘里,然后随便放到某个咖啡厅的桌上,留张纸条说“Olivier Martin的个人数据,请随便”。谁知道什么人会拿到它以及用来干嘛?然而,我们毫不犹豫地把自己的主要信息交给那些对我们的数据很感兴趣的IT公司的陌生人(这是他们制造面包的材料)以及[世界级的数据分析专家][2]手里,也许只是因为我们在点击那个绿色的'接受'按钮时根本没有想这么多。
|
||||
|
||||
有这么多的高质量信息,这么多年里,Google可能会比你希望自我了解的更了解你自己:尼玛,回想我过去的数字生活,我已经不记得5年前发出的邮件里的一半了。我很高兴能重新发现早在2005年对马克思主义的兴趣以及第二年加入了[ATTAC][3](一个致力于通过征收金融交易税来限制投机和改善社会公平的组织)。天知道为什么我竟然在2007年这么喜欢跳舞。这些都是无关紧要的信息(你不要指望我能爆出什么猛料,不会吧?;-)。但是,连接起这些高质量数据点,关于你生活的方方面面(做什么,什么时候,和谁一起,在哪里,...),并跨越这么长时间间隔,应该能推测出你的未来状态。比如说,根据一个17岁女孩的购物习惯,超市甚至可以在他父亲听说之前断定这个女孩怀孕了([真实故事][4])。谁知道通过像Google所掌握的这些远远超出购物习惯的高质量数据能做些什么?连接起这些点,也许有人能预测你未来几年里口味或政治观点的变化。如今,[你从未听过的公司声称拥有你500项数据点][5],包括宗教信仰,性取向和政治观点。提到政治,如果说你决定今后10年内进入政坛会怎么样?你的生活会改变,你的观点也一样,甚至你有时候会有所遗忘,但是Google不会。那你会不会担心你的对手会接触一些可以从Google访问你数据的人并会从你过去这些年里积累的个人数据深渊里挖出一些猛料呢?[就像最近Sony被黑][6]一样,多久以后会轮到Google或Facebook,以致让你的个人信息最终永远暴露?
|
||||
有这么多的高质量信息,这么多年里,Google可能会比你希望自我了解的更了解你自己:尼玛,回想我过去的数字生活,5年前发出的邮件里有一半我已经不记得了。我很高兴能重新发现早在2005年对xxx主义的兴趣以及第二年加入了[ATTAC][3](一个致力于通过征收金融交易税来限制投机和改善社会公平的组织)。天知道为什么我竟然在2007年这么喜欢跳舞。这些都是无关紧要的信息(你不指望我能爆出什么猛料,是吧?;-)。但是,连接起这些高质量数据点,关于你生活的方方面面(做什么、什么时候、和谁一起、在哪里,...),并跨越这么长时间间隔,应该能推测出你的未来状态。比如说,根据一个17岁女孩的购物习惯,超市甚至可以在他父亲听说之前断定这个女孩怀孕了(这是一个[真实的故事][4])。谁知道通过像Google所掌握的这些远远超出购物习惯的高质量数据能做些什么?连接起这些点,也许有人能预测你未来几年里口味或观点的变化。如今,[你从未听过的公司声称拥有你500项数据点][5],包括宗教信仰、性取向和政治观点。提到政治,如果说你决定今后10年内进入政坛会怎么样?你的生活会改变,你的观点也一样,甚至你有时候会有所遗忘,但是Google不会。那你会不会担心你的对手会接触一些可以从Google访问你数据的人并会从你过去这些年里积累的个人数据深渊里挖出一些猛料呢?[就像最近Sony被黑][6]一样,多久以后会轮到Google或Facebook,以致让你的个人信息最终永远暴露?
|
||||
|
||||
我们大多数人把自己的个人数据托付给这些公司的一个原因就是它们提供免费服务。但是真的免费吗?一般的Google帐号的价值根据评估方式不同会有些差别:你花在写邮件上的时间占到[1000美元/年][7],你的帐号对于广告产业的价值差不多在[220美元/年][8]到[500美元/年][9]之间。所以这些服务并不是真的免费:会通过广告和我们的数据在未来的一些未知使用来间接付费。
|
||||
|
||||
我写的最多的是Google,这是因为这是我托付个人数字信息的,以及目前我所知道做的最好的公司。但是我也提到过Apple或Facebook。这些公司通过它们在设计,工程和我们(曾经)喜欢每天使用的服务方面的神奇进步实实在在地改变了世界。但是这并不是说我们应该把所有我们最私人的个人数据堆积到它们的服务器上并把我们的数字生活托付给它们:潜在的危害实在太大了。
|
||||
我写的最多的是Google,这是因为这是我托付个人数字信息的,以及目前我所知道做的最好的公司。但是我也提到过Apple或Facebook。这些公司通过它们在设计、工程和我们(曾经)喜欢每天使用的服务方面的神奇进步实实在在地改变了世界。但是这并不是说我们应该把所有我们最私人的个人数据堆积到它们的服务器上并把我们的数字生活托付给它们:潜在的危害实在太大了。
|
||||
|
||||
### 只要5小时,拿回自己以及关心的人的隐私权 ###
|
||||
## 只要5小时,拿回自己以及关心的人的隐私权 ##
|
||||
|
||||
并不是一定要这样做。你可以生活在21世纪,拿着智能手机,每天都用电子邮件和GPS,却仍然可以保留自己的隐私。你所需要的就是拿回自己个人数据的控制权:邮件、日程、联系人、文件,等等。[Prism-Break.org][10]网站上列出了一些能帮你掌握个人数据命运的软件。除此以外,控制自己个人数据的最安全和最有效的方式是架设自己的服务器并搭建自己的云。不过你也许只是没有时间或精力去研究具体该怎么做以及如何让它能流畅工作。
|
||||
但是事实并不是一定必须这样的。你可以生活在21世纪,拿着智能手机,每天都用电子邮件和GPS,却仍然可以保留自己的隐私。你所需要的就是拿回自己个人数据的控制权:邮件、日程、联系人、文件,等等。[Prism-Break.org][10]网站上列出了一些能帮你掌握个人数据命运的软件。除此以外,控制自己个人数据的最安全和最有效的方式是架设自己的服务器并搭建自己的云。不过你也许只是没有时间或精力去研究具体该怎么做以及如何让它能流畅工作。
|
||||
|
||||
这也是这篇文章的意义所在。仅仅5个小时内,我们将配置出一台服务器来支撑你的邮件、联系人、日程表和各种文件,为你、你的朋友和你的家人。这个服务器将设计成一个个人数据中心或云,所以你能时刻保留它的完整控制。数据将自动在你的台式机/笔记本、手机和平板之间同步。从根本上来说,**我们将建立一个系统来代替Gmail、Google文件/Dropbox、Google联系人、Google日历和Picasa**。
|
||||
|
||||
为自己做这件事情已经是迈出很大一步了。但是,你个人信息的很大一部分将仍然泄漏出去并保存到硅谷的一些主机上,只是因为和你日常来往的太多人在用Gmail和使用智能手机。所以最好是带上你一些比较亲近的人加入这次探险。
|
||||
为自己做这件事情已经是迈出很大一步了。但是,你个人信息的很大一部分将仍然泄漏出去并保存到硅谷的一些主机上,只是因为和你日常来往的太多人在用Gmail和使用智能手机,所以最好是带上你一些比较亲近的人加入这次探险。
|
||||
|
||||
我们将构建的系统能够
|
||||
我们将构建的系统能够:
|
||||
|
||||
- **支持任意数目的域名和用户**。这样就能轻易地和你的家人朋友共享这台服务器,所以他们也能掌控自己的个人数据,并且还能和你一起分摊服务费用。和你一起共享服务器的人可以使用他们自己的域名或者共享你的。
|
||||
- **允许你从任意网络发送和接收电子邮件**,需要成功登录服务器之后。这样,你可以通过任意的邮件地址,任意设备(台式机、手机、平板),任意网络(家里、公司、公共网络、...)来发送电子邮件。
|
||||
- **允许你从任意网络发送和接收电子邮件**,需要成功登录服务器之后。这样,你可以通过任意的邮件地址、任意设备(台式机、手机、平板)、任意网络(家里、公司、公共网络、...)来发送电子邮件。
|
||||
- **在发送和接收邮件的时候加密网络数据**,这样,你不信任的人不能钓出你的密码,也不能看到你的私人邮件。
|
||||
- **提供最先进的反垃圾邮件技术**,结合了已知垃圾邮件黑名单,自动灰名单,和自适应垃圾邮件过滤。如果邮件被误判了只需要简单地把它拖入或拖出垃圾目录就可以重新配置垃圾邮件过滤器。而且,服务器还会为基于社区的反垃圾邮件努力做出贡献。
|
||||
- **一段时间里只需要几分钟的维护**,基本上只是安装安全更新和简单地检查一下服务器日志。添加一个新的邮件地址只需要在数据库中插入一条记录。除此之外,你可以忘记它的存在过自己的生活。我在14个月之前搭建了本文描述的这个系统,从那以后就一直顺利运行。所以我完全把它给忘了,直到我最近觉得随便按下手机上的‘检查邮件’会导致电子一路跑到冰岛(我放置服务器的地方)再回来的想法有点好笑才想起来。
|
||||
- **提供最先进的反垃圾邮件技术**,结合了已知垃圾邮件黑名单、自动灰名单、和自适应垃圾邮件过滤。如果邮件被误判了只需要简单地把它拖入或拖出垃圾目录就可以重新调校垃圾邮件过滤器。而且,服务器还会为基于社区的反垃圾邮件努力做出贡献。
|
||||
- **一段时间里只需要几分钟的维护**,基本上只是安装安全更新和简单地检查一下服务器日志。添加一个新的邮件地址只需要在数据库中插入一条记录。除此之外,你可以忘记它的存在过自己的生活。我在14个月之前搭建了本文描述的这个系统,从那以后就一直顺利运行。所以我完全把它给忘了,直到我最近觉得随便按下手机上的‘检查邮件’会导致电子信号一路跑到冰岛(我放置服务器的地方)再回来的想法有点好笑才想起来。
|
||||
|
||||
要完成这篇文章里的工作,你需要一点基本的技术能力。如果你知道SMTP和IMAP的区别,什么是DNS,以及对TCP/IP有基本了解的话,就够了。你还将需要一点基本的Unix知识(在命令行下和文件一起工作,基本的系统管理)。然后你需要花总共5小时时间来搭建。
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
- [使用Owncloud提供日历,联系人,文件服务并配置webmail][15]
|
||||
- [在云上同步你的设备][16]
|
||||
|
||||
### 这篇文章是受之前工作的启发并以之为基础 ###
|
||||
## 这篇文章是受之前工作的启发并以之为基础 ##
|
||||
|
||||
本文很大程度参考了两篇文章,由[Xavier Claude][17]和[Drew Crawford][18]写的关于架设私有邮件服务器的介绍。
|
||||
|
||||
@ -62,13 +62,13 @@
|
||||
- 我增加了webmail。
|
||||
- 我增加了设定云服务器的部分,不仅能收发邮件还能管理文件,地址本/联系人(邮件地址,电话号码,生日,等等等),日程表和图片,供所有设备访问使用。
|
||||
|
||||
### 申请一个虚拟私人服务器,一个域名,并把它们配置好 ###
|
||||
## 申请一个虚拟私人服务器,一个域名,并把它们配置好 ##
|
||||
|
||||
让我们从设置基础设施开始:我们的虚拟私人主机和我们的域名。
|
||||
|
||||
我用过[1984.is][19]和[Linode][20]提供的虚拟私人主机(VPS),体验非常好。在本文中,我们将使用**Debian Wheezy**,这个在1984和Linode都提供了已经做好的映像文件可以直接布置到你的VPS上。我喜欢1984是因为它的服务器在冰岛,也是唯一使用可再生能源(地热和水力发电)的地方,目前还没有影响过气候变化,不像[大多数美国数据中心目前大多数依赖于烧煤的火力发电站][21]。而且,他们注重[民权,透明,自由][22]以及[免费软件][23]。
|
||||
|
||||
最好是在服务器上创建一个文件用来保存后面要用到的各种密码(用户账号,邮件账号,云帐号,数据库帐号)。当然最好是加密一下(可以用[GnuPG][24]),这样就算用来设定服务器的电脑被偷了或被入侵了,你的服务器就不会那么容易被攻击。
|
||||
最好是在服务器上创建一个文件用来保存后面要用到的各种密码(用户账号、邮件账号、云帐号、数据库帐号)。当然最好是加密一下(可以用[GnuPG][24]),这样就算用来设定服务器的电脑被偷了或被入侵了,你的服务器就不会那么容易被攻击。
|
||||
|
||||
关于注册域名,我已经使用[grandi][25]的服务超过10年了,也很满意。在本文中,我们将开辟一个叫**jhausse.net**的域名。然后在上面增加一个叫**cloud.jhausse.net**的二级域名,并绑定MX纪录。在完成之后,设置比较短的纪录生存时间(TTL)比如300秒,这样你在设置服务器的时候,可以修改你的域并很快测试到结果。
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
|
||||
adduser roudy
|
||||
|
||||
然后,在文件**/etc/ssh/sshd_config**中设置
|
||||
然后,在文件**/etc/ssh/sshd\_config**中设置
|
||||
|
||||
PermitRootLogin no
|
||||
|
||||
@ -90,7 +90,7 @@
|
||||
|
||||
cloud
|
||||
|
||||
然后,编辑ssh服务的公钥文件**/etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key.pub**,这样文件末尾可以反映你的主机名,比如**root@cloud**。然后重启系统保证主机名在系统的每个需要它的角落都生效了。
|
||||
然后,编辑ssh服务的公钥文件**/etc/ssh/ssh\_host\_rsa\_key.pub, /etc/ssh/ssh\_host\_dsa\_key.pub, /etc/ssh/ssh\_host\_ecdsa\_key.pub**,这样文件末尾可以反映你的主机名,比如**root@cloud**。然后重启系统保证主机名在系统的每个需要它的角落都生效了。
|
||||
|
||||
reboot
|
||||
|
||||
@ -103,15 +103,15 @@
|
||||
apt-get autoremove
|
||||
apt-get install vim
|
||||
|
||||
我喜欢使用vim远程编辑配置文件。打开自动语法高亮会很有帮助。添加下面这一行到**~/.vimrc**文件中。
|
||||
我喜欢使用vim远程编辑配置文件。打开vim 的自动语法高亮会很有帮助。添加下面这一行到**~/.vimrc**文件中。
|
||||
|
||||
syn on
|
||||
|
||||
### 设置postfix和dovecot来收发电子邮件 ###
|
||||
## 设置postfix和dovecot来收发电子邮件 ##
|
||||
|
||||
apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-mysql mysql-server dovecot-lmtpd postgrey
|
||||
|
||||
在[Postfix][27]的配置菜单里,选择**因特网站点**,把系统邮件名设为**jhausse.net**。
|
||||
在[Postfix][27]的配置菜单里,选择`Internet Site`,设置这个系统的邮件名称为**jhausse.net**。
|
||||
|
||||
现在开始添加一个数据库用于保存主机上管理的域名列表,和每个域名下的用户列表(同时也包括他们各自的密码),以及邮件别名列表(用于从一个地址往另一个地址转发邮件)。
|
||||
|
||||
@ -142,14 +142,14 @@
|
||||
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
我们将承载**jhausse.net**域名。如果还需要加入其他域名,也没问题。我们也会为每个域名设置一个邮件管理地址,转寄给**roudy@jhausse.net**。
|
||||
这里我们为**jhausse.net**域名提供邮件服务。如果还需要加入其他域名,也没问题。我们也会为每个域名设置一个邮件管理地址(postmaster),转寄给**roudy@jhausse.net**。
|
||||
|
||||
mysql> INSERT INTO virtual_domains (`name`) VALUES ('jhausse.net');
|
||||
mysql> INSERT INTO virtual_domains (`name`) VALUES ('otherdomain.net');
|
||||
mysql> INSERT INTO virtual_aliases (`domain_id`, `source`, `destination`) VALUES ('1', 'postmaster', 'roudy@jhausse.net');
|
||||
mysql> INSERT INTO virtual_aliases (`domain_id`, `source`, `destination`) VALUES ('2', 'postmaster', 'roudy@jhausse.net');
|
||||
|
||||
现在已经添加了一个本地邮件账号**roudy@jhausse.net**。首先,为它生成一个哈希密码:
|
||||
现在已经添加了一个本地邮件账号**roudy@jhausse.net**。首先,为它生成一个密码的哈希串:
|
||||
|
||||
doveadm pw -s SHA512-CRYPT
|
||||
|
||||
@ -157,7 +157,7 @@
|
||||
|
||||
mysql> INSERT INTO `mailserver`.`virtual_users` (`domain_id`, `password`, `email`) VALUES ('1', '$6$YOURPASSWORDHASH', 'roudy@jhausse.net');
|
||||
|
||||
现在我们的域名,别名和用户列表都设置好了,然后开始设置postfix(SMTP服务器,用来发送邮件)。把文件**/etc/postfix/main.cf**替换为下面的内容:
|
||||
现在我们的域名、别名和用户列表都设置好了,然后开始设置postfix(这是一个SMTP服务器,用来发送邮件)。把文件**/etc/postfix/main.cf**替换为下面的内容:
|
||||
|
||||
myhostname = cloud.jhausse.net
|
||||
myorigin = /etc/mailname
|
||||
@ -239,7 +239,7 @@
|
||||
|
||||
如果一切都正常配置了的话,头两个查询应该输出1,第3个查询应该输出**roudy@jhausse.net**,而最后一个应该什么都不输出。
|
||||
|
||||
现在,让我们设置一下dovecot(一个IMAP服务程序,用来在我们的设备上从服务器获取收件箱里的邮件)。编辑文件**/etc/dovecot/dovecot.conf**设置以下参数:
|
||||
现在,让我们设置一下dovecot(一个IMAP服务程序,用来在我们的设备上从服务器获取收到的邮件)。编辑文件**/etc/dovecot/dovecot.conf**设置以下参数:
|
||||
|
||||
# Enable installed protocol
|
||||
# !include_try /usr/share/dovecot/protocols.d/*.protocol
|
||||
@ -253,7 +253,7 @@
|
||||
[...]
|
||||
first_valid_uid = 0
|
||||
|
||||
这样邮件将被保存到目录/var/mail/domainname/username下。注意下这几个选项散布在配置文件的不同位置,有时已经在那里写好了:我们只需要取消注释。文件里的其他设定选项,可以维持原样。在本文后面还有很多文件需要用同样的方式更新设置。在文件**/etc/dovecot/conf.d/10-auth.conf**里,设置以下参数:
|
||||
这样邮件将被保存到目录 /var/mail/domainname/username 下。注意下这几个选项散布在配置文件的不同位置,有时已经在那里写好了:我们只需要取消注释即可。文件里的其他设定选项,可以维持原样。在本文后面还有很多文件需要用同样的方式更新设置。在文件**/etc/dovecot/conf.d/10-auth.conf**里,设置以下参数:
|
||||
|
||||
disable_plaintext_auth = yes
|
||||
auth_mechanisms = plain
|
||||
@ -366,9 +366,10 @@
|
||||
在服务器上,尝试发送邮件给本地用户:
|
||||
|
||||
telnet localhost 25
|
||||
|
||||
EHLO cloud.jhausse.net
|
||||
MAIL FROM:youremail@domain.com
|
||||
rcpt to:roudy@jhausse.net
|
||||
RCPT TO:roudy@jhausse.net
|
||||
data
|
||||
Subject: Hallo!
|
||||
|
||||
@ -397,18 +398,18 @@
|
||||
|
||||
554 5.7.1 <bob@gmail.com>: Relay access denied
|
||||
|
||||
这个没问题:如果服务器能接受这封邮件,那意味着我们架设的postfix是一个对全世界所有垃圾邮件都开放的中继,将完全没法使用。除了'Relay access denied'消息,你也可能会收到这样的响应:
|
||||
这个没问题:如果服务器能接受这封邮件而不是返回如上的拒绝消息,那意味着我们架设的postfix是一个对全世界所有垃圾邮件都开放的中继,这将完全没法使用。除了'Relay access denied'消息,你也可能会收到这样的响应:
|
||||
|
||||
554 5.7.1 Service unavailable; Client host [87.68.61.119] blocked using zen.spamhaus.org; http://www.spamhaus.org/query/bl?ip=87.68.61.119
|
||||
|
||||
意思是你正尝试从一个被标记成垃圾邮件发送者的IP地址连接服务器。我在通过普通的因特网服务提供商(ISP)连接服务器时曾收到过这样的消息。要解决这个问题,可以试着从另一个主机发起连接,比如另外一个你可以SSH登录的主机。另外一种方式是,你可以修改postfix的**main.cf**配置文件,不要使用Spamhous的RBL,重启postfix服务,然后再检查上面的测试是否正常。不管用哪种方式,最重要的是你要确定一个能工作的,因为我们后面马上要测试其他功能。如果你选择了重新配置postfix不使用RBL,别忘了在完成本文后重新开启RBL并重启postfix,以避免收到一些不必要的垃圾邮件。
|
||||
意思是你正尝试从一个被标记成垃圾邮件发送者的IP地址连接服务器。我在通过普通的因特网服务提供商(ISP)连接服务器时曾收到过这样的消息。要解决这个问题,可以试着从另一个主机发起连接,比如另外一个你可以SSH登录的主机。另外一种方式是,你可以修改postfix的**main.cf**配置文件,不要使用Spamhous的RBL,重启postfix服务,然后再检查上面的测试是否正常。不管用哪种方式,最重要的是你要确定一个能工作的,因为我们后面马上要测试其他功能。如果你选择了重新配置postfix不使用RBL,别忘了在完成本文后重新开启RBL并重启postfix,以避免收到一些不必要的垃圾邮件。(LCTT 译者注:在国内可以使用 CASA 的 RBL:cblplus.anti-spam.org.cn,参见:http://www.anti-spam.org.cn/ 。)
|
||||
|
||||
现在,我们试一下往SMTP端口25发送一封有效的邮件,这是一般正常的邮件服务器用来彼此对话的方式:
|
||||
|
||||
openssl s_client -connect cloud.jhausse.net:25 -starttls smtp
|
||||
EHLO cloud.jhausse.net
|
||||
MAIL FROM:youremail@domain.com
|
||||
rcpt to:roudy@jhausse.net
|
||||
RCPT TO:roudy@jhausse.net
|
||||
|
||||
服务器应该有这样的响应
|
||||
|
||||
@ -425,7 +426,7 @@
|
||||
4 UID fetch 1:1 (UID RFC822.SIZE FLAGS BODY.PEEK[])
|
||||
5 LOGOUT
|
||||
|
||||
这里,你应该把mypassword替换为你自己为这个邮件账号设定的密码。如果能正常工作,基本上我们已经拥有一个能接收邮件的邮件服务器了,通过它我们可以在各种设备(PC/笔记本,平板,手机,...)上收取邮件了。但是我们不能把邮件给它发送出去,除非我们自己从服务器发送。现在我们将让postfix为我们转发邮件,但是这个只有成功登录才可以,这是为了保证邮件是由服务器上的某个有效帐号发出来的。要做到这个,我们要打开一个特殊的,全程SSL连接的,SASL鉴权的邮件提交服务。在文件**/etc/postfix/master.cf**里设置下面的参数:
|
||||
这里,你应该把*mypassword*替换为你自己为这个邮件账号设定的密码。如果能正常工作,基本上我们已经拥有一个能接收邮件的邮件服务器了,通过它我们可以在各种设备(PC/笔记本、平板、手机...)上收取邮件了。但是我们不能把邮件给它发送出去,除非我们自己从服务器发送。现在我们将让postfix为我们转发邮件,但是这个只有成功登录才可以,这是为了保证邮件是由服务器上的某个有效帐号发出来的。要做到这个,我们要打开一个特殊的,全程SSL连接的,SASL鉴权的邮件提交服务。在文件**/etc/postfix/master.cf**里设置下面的参数:
|
||||
|
||||
submission inet n - - - - smtpd
|
||||
-o syslog_name=postfix/submission
|
||||
@ -437,7 +438,7 @@
|
||||
-o smtpd_sasl_security_options=noanonymous
|
||||
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_non_fqdn_recipient,reject_unauth_destination
|
||||
|
||||
然后重启postfix服务
|
||||
然后重启postfix服务:
|
||||
|
||||
service postfix reload
|
||||
|
||||
@ -446,7 +447,7 @@
|
||||
openssl s_client -connect cloud.jhausse.net:587 -starttls smtp
|
||||
EHLO cloud.jhausse.net
|
||||
|
||||
注意一下服务器建议的'250-AUTH PLAIN'功能,在从端口25连接的时候不会生效。
|
||||
注意一下服务器建议的'250-AUTH PLAIN'功能,在从端口25连接的时候不会出现。
|
||||
|
||||
MAIL FROM:asdf@jkl.net
|
||||
rcpt to:bob@gmail.com
|
||||
@ -494,13 +495,13 @@
|
||||
|
||||
PS:不要忘记再次[试试通过端口25往自己架设的服务器上的帐号发送邮件][29],来验证你已经没有被postgrey阻挡了。
|
||||
|
||||
### 阻止垃圾邮件进入你的收件箱 ###
|
||||
## 阻止垃圾邮件进入你的收件箱 ##
|
||||
|
||||
为了过滤垃圾邮件,我们已经使用了实时黑名单(RBLs)和灰名单(postgrey)。现在我们将增加自适应垃圾邮件过滤来让我们的垃圾邮件过滤能力提高一个等级。这意味着我们将为我们的邮件服务器增加人工智能,这样它就能从经验中学习哪些有件是垃圾哪些不是。我们将使用[dspam][30]来实现这个功能。
|
||||
为了过滤垃圾邮件,我们已经使用了实时黑名单(RBL)和灰名单(postgrey)。现在我们将增加自适应垃圾邮件过滤来让我们的垃圾邮件过滤能力提高一个等级。这意味着我们将为我们的邮件服务器增加人工智能,这样它就能从经验中学习哪些邮件是垃圾哪些不是。我们将使用[dspam][30]来实现这个功能。
|
||||
|
||||
apt-get install dspam dovecot-antispam postfix-pcre dovecot-sieve
|
||||
|
||||
dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误分类了之后让dovecot重新更新垃圾邮件过滤器。基本上,我们所需要做的就只是把邮件放进或拿出垃圾箱。dovecot-antispam将负责调用dspam来更新过滤器。至于postfix-pcre和dovecot-sieve,我们将分别用它们来把接收的邮件递给垃圾邮件过滤器以及自动把垃圾邮件放入用户的垃圾箱。
|
||||
dovecot-antispam是一个安装包,可以在我们发现有邮件被dspam误分类了之后让dovecot重新更新垃圾邮件过滤器。基本上,我们所需要做的就只是把邮件放进或拿出垃圾箱。dovecot-antispam将负责调用dspam来更新过滤器。至于postfix-pcre和dovecot-sieve,我们将分别用它们来把接收的邮件传递给垃圾邮件过滤器以及自动把垃圾邮件放入用户的垃圾箱。
|
||||
|
||||
在配置文件**/etc/dspam/dspam.conf**里,为以下参数设置相应的值:
|
||||
|
||||
@ -535,7 +536,7 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
dovecot unix - n n - - pipe
|
||||
flags=DRhu user=mail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
|
||||
|
||||
现在我们将告诉postfix通过dspam来过滤所有提交给服务器端口25(一般的SMTP通信)的新邮件,除非该邮件是从服务器本身发出(permit_mynetworks)。注意下我们通过SASL鉴权提交给postfix的邮件不会通过dspam过滤,因为我们在前面部分里为这种方式设定了独立的提交服务。编辑文件**/etc/postfix/main.cf**将选项**smtpd_client_restrictions**改为如下内容:
|
||||
现在我们将告诉postfix通过dspam来过滤所有提交给服务器端口25(一般的SMTP通信)的新邮件,除非该邮件是从服务器本身发出(permit\_mynetworks)。注意下我们通过SASL鉴权提交给postfix的邮件不会通过dspam过滤,因为我们在前面部分里为这种方式设定了独立的提交服务。编辑文件**/etc/postfix/main.cf**将选项**smtpd\_client\_restrictions**改为如下内容:
|
||||
|
||||
smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org, check_policy_service inet:127.0.0.1:10023, check_client_access pcre:/etc/postfix/dspam_filter_access
|
||||
|
||||
@ -544,11 +545,11 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
# For DSPAM, only scan one mail at a time
|
||||
dspam_destination_recipient_limit = 1
|
||||
|
||||
现在我们需要指定我们定义的过滤器。基本上,我们将告诉postfix把所有邮件(/./)通过unix套接字发给dspam。创建一个新文件**/etc/postfix/dspam_filter_access**并把下面一行写进去:
|
||||
现在我们需要指定我们定义的过滤器。基本上,我们将告诉postfix把所有邮件(如下用 /./ 代表)通过unix套接字发给dspam。创建一个新文件**/etc/postfix/dspam\_filter\_access**并把下面一行写进去:
|
||||
|
||||
/./ FILTER dspam:unix:/run/dspam/dspam.sock
|
||||
|
||||
这是postfix部分的配置。现在让我们为dovecot设置垃圾过滤。在文件**/etc/dovecot/conf.d/20-imap.conf**里,修改**imap mail_plugin**插件参数为下面的方式:
|
||||
这是postfix部分的配置。现在让我们为dovecot设置垃圾过滤。在文件**/etc/dovecot/conf.d/20-imap.conf**里,修改**imap mail\_plugin**插件参数为下面的方式:
|
||||
|
||||
mail_plugins = $mail_plugins antispam
|
||||
|
||||
@ -581,7 +582,7 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
|
||||
sieve_default = /etc/dovecot/default.sieve
|
||||
|
||||
什么是sieve以及为什么我们需要为所有用户设置一个默认脚本?sieve可以在IMAP服务器上为我们自动处理任务。在我们的例子里,我们想让所有被确定为垃圾的邮件会被移到垃圾箱而不是收件箱里。我们希望这是服务器上所有用户的默认行为;这是为什么我们把这个脚本设为默认脚本。现在让我们来创建这个脚本,建立一个新文件**/etc/dovecot/default.sieve**并写入以下内容:
|
||||
什么是sieve以及为什么我们需要为所有用户设置一个默认脚本?sieve可以在IMAP服务器上为我们自动处理任务。在我们的例子里,我们想让所有被确定为垃圾的邮件移到垃圾箱而不是收件箱里。我们希望这是服务器上所有用户的默认行为;这是为什么我们把这个脚本设为默认脚本。现在让我们来创建这个脚本,建立一个新文件**/etc/dovecot/default.sieve**并写入以下内容:
|
||||
|
||||
require ["regex", "fileinto", "imap4flags"];
|
||||
# Catch mail tagged as Spam, except Spam retrained and delivered to the mailbox
|
||||
@ -603,7 +604,7 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
chmod 0640 default.sieve
|
||||
chmod 0750 default.svbin
|
||||
|
||||
最后,我们需要修改dspam要读取的两个postfix配置文件的权限:
|
||||
最后,我们需要修改dspam需要读取的两个postfix配置文件的权限:
|
||||
|
||||
chmod 0644 /etc/postfix/dynamicmaps.cf /etc/postfix/main.cf
|
||||
|
||||
@ -669,21 +670,21 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
|
||||
很好!你现在已经为你服务器上的用户配置好自适应垃圾邮件过滤。当然,每个用户将需要在开始的几周里培训过滤器。要标记一则信息为垃圾,只需要在你的任意设备(电脑,平板,手机)上将它移动到叫“垃圾箱”或“废纸篓”的目录里。否则它将被标记为有用。
|
||||
|
||||
### 确保你发出的邮件能通过垃圾邮件过滤器 ###
|
||||
## 确保你发出的邮件能通过垃圾邮件过滤器 ##
|
||||
|
||||
这个部分我们的目标是让我们的邮件服务器能尽量干净地出现在世界上,并让垃圾邮件发送者们更难以我们的名义发邮件。作为附加效果,这也有助于让我们的邮件能通过其他邮件服务器的垃圾邮件过滤器。
|
||||
|
||||
#### 发送者策略框架 ####
|
||||
### 发送者策略框架(SPF) ###
|
||||
|
||||
发送者策略框架(SPF)是你添加到自己服务器区域里的一份记录,声明了整个因特网上哪些邮件服务器能以你的域名发邮件。设置非常简单,使用[microsoft.com][31]上的SPF向导来生成你的SPF记录,然后作为一个TXT记录添加到自己的服务器区域里。看上去像这样:
|
||||
|
||||
jhausse.net. 300 IN TXT v=spf1 mx mx:cloud.jhausse.net -all
|
||||
|
||||
#### 反向PTR ####
|
||||
### 反向PTR ###
|
||||
|
||||
我们[之前][32]在本文里讨论过这个问题,建议你为自己的服务器正确地设置反向DNS,这样对服务器IP地址的反向查询能返回你服务器的实际名字。
|
||||
|
||||
#### OpenDKIM ####
|
||||
### OpenDKIM ###
|
||||
|
||||
当我们激活[OpenDKIM][33]后,postfix会用密钥为每封发出去的邮件签名。然后我们将把这个密钥存储在DNS域中。这样的话,世界上任意一个邮件服务器都能够检验邮件是否真的是我们发出的,或是由垃圾邮件发送者伪造的。让我们先安装opendkim:
|
||||
|
||||
@ -710,7 +711,7 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
UMask 022
|
||||
UserID opendkim:opendkim
|
||||
|
||||
我们还需要几个额外的文件,将保存在目录**/etc/opendkim**里:
|
||||
我们还需要几个额外的文件,需保存在目录**/etc/opendkim**里:
|
||||
|
||||
mkdir -pv /etc/opendkim/
|
||||
cd /etc/opendkim/
|
||||
@ -740,7 +741,7 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
|
||||
cat mail.txt
|
||||
|
||||
然后把它作为一个TXT记录添加到区域文件里,应该是这样的
|
||||
然后把它作为一个TXT记录添加到区域文件里,应该是类似这样的
|
||||
|
||||
mail._domainkey.cloud1984.net. 300 IN TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqG...
|
||||
|
||||
@ -751,30 +752,30 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
non_smtpd_milters = $smtpd_milters
|
||||
milter_default_action = accept
|
||||
|
||||
然后重启相关服务
|
||||
然后重启相关服务:
|
||||
|
||||
service postfix reload
|
||||
service opendkim restart
|
||||
|
||||
现在让我们测试一下能找到我们的OpenDKIM公钥并和私钥匹配:
|
||||
现在让我们测试一下是否能找到我们的OpenDKIM公钥并和私钥匹配:
|
||||
|
||||
opendkim-testkey -d jhausse.net -s mail -k mail.private -vvv
|
||||
|
||||
这个应该返回
|
||||
这个应该返回:
|
||||
|
||||
opendkim-testkey: key OK
|
||||
|
||||
这个你可能需要等一会直到域名服务器重新加载该区域(对于Linode,每15分钟会更新一次)。你可以用**dig**来检查区域是否已经重新加载。
|
||||
|
||||
如果这个没问题,让我们测试一下其他服务器能验证我们的OpenDKIM签名和SPF记录。要做这个,我们可以用[Brandon Checkett的邮件测试][34]。发送一封邮件到[Brandon的网页][34]上提供的测试地址,我们可以在服务器上运行下面的命令
|
||||
如果这个没问题,让我们测试一下其他服务器能验证我们的OpenDKIM签名和SPF记录。要做这个,我们可以用[Brandon Checkett的邮件测试系统][34]。发送一封邮件到[Brandon的网页][34]上提供的测试地址,我们可以在服务器上运行下面的命令
|
||||
|
||||
mail -s CloudCheck ihAdmTBmUH@www.brandonchecketts.com
|
||||
|
||||
在Brandon的网页上,我们应该可以在'DKIM Signature'部分里看到**result = pass**的文字,以及在'SPF Information'部分看到**Result: pass**的文字。如果我们的邮件通过这个测试,只要不加-t开关重新生成OpenDKIM密钥,上传新的密钥到区域文件里,然后重新测试检查是否仍然可以通过这些测试。如果可以的话,恭喜!你已经在你的服务器上成功配置好OpenDKIM和SPF了!
|
||||
|
||||
### 使用Owncloud提供日历,联系人,文件服务并通过Roundcube配置网页邮件 ###
|
||||
## 使用Owncloud提供日历,联系人,文件服务并通过Roundcube配置网页邮件 ##
|
||||
|
||||
既然我们已经拥有了一流的邮件服务器,让我们再为它增加在云上保存通讯录,日程表和文件的能力。这些是[Owncloud][35]所提供的非常赞的服务。在这个弄好后,我们还会设置一个网页邮件,这样就算你没带任何电子设备出去旅行时,或者说在你的手机或笔记本没电的情况下,也可以检查邮件。
|
||||
既然我们已经拥有了一流的邮件服务器,让我们再为它增加在云上保存通讯录,日程表和文件的能力。这些是[Owncloud][35]所提供的非常赞的服务。在这个弄好后,我们还会设置一个网页邮件,这样就算你没带任何电子设备出去旅行时,或者说在你的手机或笔记本没电的情况下,也可以通过网吧来检查邮件。
|
||||
|
||||
安装Owncloud非常直观,而且在[这里][36]有非常好的介绍。在Debian系统里,归根结底就是把owncloud的仓库添加到apt源里,下载Owncloud的发行密钥并安装到apt钥匙链中,然后通过apt-get安装Owncloud:
|
||||
|
||||
@ -784,20 +785,20 @@ dovecot-antispam是一个安装包,可以在我们发现有邮件被dspan误
|
||||
apt-get update
|
||||
apt-get install apache2 owncloud roundcube
|
||||
|
||||
在有提示的时候,选择**dbconfig**然后说你希望**roundcube**使用**mysql**。然后,提供一下mysql的root密码并为roundcube的mysql用户设置一个漂亮的密码。然后,按如下方式编辑roundcube的配置文件**/etc/roundcube/main.inc.php**,这样登录roundcube默认会使用你的IMAP服务器:
|
||||
在有提示的时候,选择**dbconfig**并设置**roundcube**使用**mysql**。然后,提供一下mysql的root密码并为roundcube的mysql用户设置一个漂亮的密码。然后,按如下方式编辑roundcube的配置文件**/etc/roundcube/main.inc.php**,这样登录roundcube默认会使用你的IMAP服务器:
|
||||
|
||||
$rcmail_config['default_host'] = 'ssl://localhost';
|
||||
$rcmail_config['default_port'] = 993;
|
||||
|
||||
现在我们来配置一下apache2网页服务器增加SSL支持,这样我们可以和Owncloud和Roundcube对话时使用加密的方式传输我们的密码和数据。让我们打开Apache的ssl模块:
|
||||
现在我们来配置一下apache2网页服务器增加SSL支持,这样我们可以和Owncloud和Roundcube对话时使用加密的方式传输我们的密码和数据。让我们打开Apache的SSL模块:
|
||||
|
||||
a2enmod ssl
|
||||
|
||||
然后编辑文件**/etc/apache2/ports.conf**并设定以下参数:
|
||||
|
||||
NameVirtualHost *:80
|
||||
Listen 80
|
||||
ServerName www.jhausse.net
|
||||
NameVirtualHost *:80
|
||||
Listen 80
|
||||
ServerName www.jhausse.net
|
||||
|
||||
<IfModule mod_ssl.c>
|
||||
# If you add NameVirtualHost *:443 here, you will also have to change
|
||||
@ -969,9 +970,9 @@ ServerName www.jhausse.net
|
||||
a2ensite default default-ssl roundcube
|
||||
service apache2 restart
|
||||
|
||||
关于网页邮件,可以通过网址**https://webmail.jhausse.net**来访问,基本上能工作。之后使用邮箱全名(例如roudy@jhausse.net)和在本文一开始在邮件服务器数据库里设定的密码登录。第一次连接成功,浏览器会警告说证书没有可靠机构的签名。这个没什么关系,只要添加一个例外。
|
||||
关于网页邮件,可以通过网址**https://webmail.jhausse.net**来访问,基本上能工作。之后使用邮箱全名(例如roudy@jhausse.net)和在本文一开始在邮件服务器数据库里设定的密码登录。第一次连接成功,浏览器会警告说证书没有可靠机构的签名。这个没什么关系,只要添加一个例外即可。
|
||||
|
||||
最后但很重要的是,我们将通过把以下内容你哦个写入**/etc/apache2/sites-available/owncloud**来为Owncloud创建一个虚拟主机。
|
||||
最后但很重要的是,我们将通过把以下内容写入到**/etc/apache2/sites-available/owncloud**来为Owncloud创建一个虚拟主机。
|
||||
|
||||
<IfModule mod_ssl.c>
|
||||
<VirtualHost *:443>
|
||||
@ -1040,33 +1041,33 @@ ServerName www.jhausse.net
|
||||
|
||||
就这些了!现在你已经拥有自己的Google Drive,日程表,联系人,Dropbox,以及Gmail!好好享受下新鲜恢复保护的隐私吧!:-)
|
||||
|
||||
### 在云上同步你的设备 ###
|
||||
## 在云上同步你的设备 ##
|
||||
|
||||
要同步你的邮件,你可以只是用你喜欢的邮件客户端:Android或iOS自带的默认邮件应用,[k9mail][37],或者电脑上的Thunderbird。或者你也可以使用我们设置好的网页邮件。
|
||||
要同步你的邮件,你只需用你喜欢的邮件客户端即可:Android或iOS自带的默认邮件应用,[k9mail][37],或者电脑上的Thunderbird。或者你也可以使用我们设置好的网页邮件。
|
||||
|
||||
在Owncloud的文档里描述了如何与云端同步你的日程表和联系人。在Android系统中,我用的是CalDAV-Sync,CardDAV-Sync应用桥接了手机上Android自带日历以及联系人应用和Owncloud服务器。
|
||||
|
||||
对于文件,有一个叫Owncloud的Android应用可以访问你手机上的文件,然后自动把你拍的图片和视频上传到云中。在你的Mac/PC上访问云端文件也很容易,在[Owncloud文档里有很好的描述][38]。
|
||||
|
||||
### 最后一点提示 ###
|
||||
## 最后一点提示 ##
|
||||
|
||||
在上线后的前几个星期里,最好每天检查一下日志**/var/log/syslog**和**/var/log/mail.log**以保证一切都在顺利运行。在你邀请其他人(朋友,家人,等等)加入你的服务器之前这很重要。他们信任你能很好地架设个人服务器维护他们的数据,但是如果服务器突然崩溃会让他们很失望。
|
||||
|
||||
要添加另一个邮件用户,只要在数据库**mailserver**的**virtual_users**表中增加一行。
|
||||
要添加另一个邮件用户,只要在数据库**mailserver**的**virtual\_users**表中增加一行。
|
||||
|
||||
要添加一个域名,只要在**virtual_domains**表中增加一行。然后更新**/etc/opendkim/SigningTable**为发出的邮件签名,上传OpenDKIM密钥到服务器区域,然后吃哦更年期OpenDKIM服务。
|
||||
要添加一个域名,只要在**virtual_domains**表中增加一行。然后更新**/etc/opendkim/SigningTable**为发出的邮件签名,上传OpenDKIM密钥到服务器区域,然后重启OpenDKIM服务。
|
||||
|
||||
Owncloud有自己的用户数据库,在用管理员帐号登录后可以修改。
|
||||
|
||||
最后,万一在服务器临时崩溃的时候想办法找解决方案很重要。比如说,在服务器恢复之前你的邮件应该送往哪儿?一种方式是找个能帮你做备份MX的朋友,同时你也可以当他的备份MX(看下postfix的配置文件**main.cf**里**relay_domains**和**relay_recipient_maps**里的设定)。与此类似,如果你的服务器被破解然后一个坏蛋把你所有文件删了怎么办?对于这个,考虑增加一个常规备份系统就很重要了。Linode提供了备份选项。在1984.is里,我用crontabs和scp做了一个基本但管用的自动备份系统。
|
||||
最后,万一在服务器临时崩溃的时候想办法找解决方案很重要。比如说,在服务器恢复之前你的邮件应该送往哪儿?一种方式是找个能帮你做备份MX的朋友,同时你也可以当他的备份MX(看下postfix的配置文件**main.cf**里**relay\_domains**和**relay\_recipient\_maps**里的设定)。与此类似,如果你的服务器被破解然后一个坏蛋把你所有文件删了怎么办?对于这个,考虑增加一个常规备份系统就很重要了。Linode提供了备份选项。在1984.is里,我用crontabs和scp做了一个基本但管用的自动备份系统。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.howtoforge.com/tutorial/build-your-own-cloud-on-debian-wheezy/
|
||||
|
||||
作者:[Roudy Jhausse ][a]
|
||||
作者:[Roudy Jhausse][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/) 荣誉推出
|
||||
|
@ -0,0 +1,41 @@
|
||||
Ubuntu 15.04 终于可以让你将菜单设置为 ‘始终可见’
|
||||
================================================================================
|
||||
**如果你不喜欢 Unity 的全局菜单在你的鼠标离开后就淡出你的视野,在 Ubuntu 15.04 稍微做点工作就可以留住菜单。**
|
||||
|
||||

|
||||
|
||||
最新的Ubuntu 15.04的Unity界面通过在“提议(Proposed)”通道提供了一个选项,**使应用程序菜单在Ubuntu中始终可见**。
|
||||
|
||||
这是个不会淡出,也不会过段时间就消失的菜单。
|
||||
|
||||
最大的缺点是它目前只能通过`dconf`来控制,而不是常规的面向用户的选项设置。
|
||||
|
||||
我希望(如果预计没有的话)在之后的开发中,能有一个设置这个特性的选项被加入到Ubuntu的【系统设置】>【外观】部分。
|
||||
|
||||
现在,如果你使用的是 Ubuntu 15.04,并启用了“提议(Proposed)”的更新通道后,你可以在dconf 的com>canonical>Unity>‘always show menus’ 中找到这个开关。
|
||||
|
||||
### 迟到总比没有要好? ###
|
||||
|
||||
开发者们计划在Ubuntu 14.04 LTS的下一个SRU中反向移植这个选项(假设在测试阶段没有任何意外发生)。
|
||||
|
||||
本地集成菜单(LIM)在Ubuntu 14.04 LTS 中的首次亮相就赢得了赞誉,其被广泛认为在那些喜欢隐藏方式的与那些不喜欢必须使用鼠标和触摸板的人之间的最佳的折衷方案。
|
||||
|
||||
虽然在Unity方面本地集成菜单减少了不少批评,不过默认的“淡入/淡出”行为总是还让人不爽。
|
||||
|
||||
在Ubuntu 过去的几个版本中已经能够看到他们在积极解决早期的用户体验中的几个痛点。经过了几年,在TODO列表中[我们去年终于看到了本地集成菜单][1],以及通过[点击应用图标来实现Unity 启动器中应用的最小化及恢复的选项][2]。
|
||||
|
||||
一年以来我们终于看到了一个使应用程序菜单始终显示的选项,无论我们的鼠标在哪里。迟来总比没有好,对不对?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2015/01/ubuntu-15-04-always-show-menu-bar-option
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[JeffDing](https://github.com/JeffDing)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2014/02/locally-integrated-menus-ubuntu-14-04
|
||||
[2]:http://www.omgubuntu.co.uk/2014/03/minimize-click-launcher-option-ubuntu-14-04
|
@ -1,7 +1,8 @@
|
||||
Ubuntu With XFCE vs Xubuntu Linux
|
||||
Ubuntu & XFCE vs Xubuntu
|
||||
=========================================================
|
||||
|
||||
Ubuntu vs Xubuntu。Ubuntu拥有漂亮的桌面体验以及强大的应用程序。Xubuntu轻量、快速并且可定制,哪个更适合你?
|
||||
Ubuntu拥有漂亮的桌面体验以及强大的应用程序。Xubuntu轻量、快速并且可定制,哪个更适合你?
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||

|
||||
@ -10,11 +11,11 @@ Ubuntu vs Xubuntu。Ubuntu拥有漂亮的桌面体验以及强大的应用程序
|
||||
|
||||
并且,我同时也会在这篇文章中介绍Ubuntu用户如何获取基本的XFCE桌面,以及如何安装完整的Xubuntu桌面。
|
||||
|
||||
[Ubuntu][1]以及[Xubuntu][2]是针对不同目的开发的操作系统,为什么我会强调这一点,是为了说明什么时候或者为什么你应该使用Ubuntu以及什么时候应该使用Xubuntu。
|
||||
[Ubuntu][1]以及[Xubuntu][2]是针对不同目的开发的操作系统,为什么我会强调这一点,是为了说明什么时候或者为什么你应该使用Ubuntu或Xubuntu。
|
||||
|
||||
比较这两个操作系统就像比较[劳斯莱斯][3]与[保时捷][4]。这两个都是很棒的车,但是如果把劳斯莱斯给一个赛车迷,他们也许会卖掉它买个其他的车,同样,如果把保时捷给舒格勋爵或者休·海夫纳这类人可能也不那么合适。
|
||||
|
||||
Ubuntu拥有一个适用性很强的桌面环境,叫做Unity,并且默认会安装一些很棒的Linux应用程序,包括Rhythmbox以及[LibreOffic][5]。Ubuntu就像是劳斯莱斯。它为舒适而生,并且尽可能的提供从A到B的最时髦的方法。
|
||||
Ubuntu拥有一个适用性很强的桌面环境,叫做Unity,并且默认会安装一些很棒的Linux应用程序,包括Rhythmbox以及[LibreOffic][5]。Ubuntu就像是劳斯莱斯。它为舒适而生,并且尽可能的提供满足需要的漂亮的解决方案。
|
||||
|
||||
作为一个Ubuntu用户,就像汽车里面的乘客。你在到达目的地的过程中就可以同时把事情搞定,并且所有的事看起来都很漂亮并且很简单。
|
||||
|
||||
@ -92,7 +93,7 @@ Xubuntu就像一个改装过的跑车。你可以把它改装成任何你想要
|
||||
|
||||
接下来,我会使用命令行工具[apt-get][7]介绍在Ubuntu安装XFCE桌面的方法。
|
||||
|
||||
打开一个终端窗口,在Unity环境,你可以在[Dash][8]中搜索“TERM”,或者使用组合键 CTRL+ALT+T。
|
||||
打开一个终端窗口,在Unity环境,你可以在[Dash][8]中搜索“TERM”,或者使用组合键 `CTRL+ALT+T`。
|
||||
|
||||
安装XFCE桌面十分简单,输入下列命令就可以了:
|
||||
|
||||
@ -105,7 +106,7 @@ Xubuntu就像一个改装过的跑车。你可以把它改装成任何你想要
|
||||
|
||||
系统会显示一个消息,提示你是否使用默认的面板布局或者使用单独的面板。
|
||||
|
||||
[最新版本的Xubuntu][10]在顶部包含一个单独的面板,不过我更喜欢两个面板,顶部一个标准面板,底部一个常用程序的停靠面板。
|
||||
[最新版本的Xubuntu][10]在顶部包含一个单独的面板,不过我更喜欢双面板,顶部一个标准面板,底部一个常用程序的停靠面板。
|
||||
|
||||
需要注意的是,XFCE桌面菜单系统和Xubuntu的菜单有些差异,除非你安装[一个更好的菜单系统][11],设置两个面板或许是个更好的选择。
|
||||
|
||||
@ -117,7 +118,7 @@ Xubuntu就像一个改装过的跑车。你可以把它改装成任何你想要
|
||||
|
||||
如果你想全都使用Xubuntu的东西,但是又不想按照那些介绍重新安装系统的话,看看下面的东西。
|
||||
|
||||
通过搜索“TERM”,或者组合键CTRL+ALT+T,打开一个终端窗口。
|
||||
通过搜索“TERM”,或者组合键`CTRL+ALT+T`,打开一个终端窗口。
|
||||
|
||||
在终端输入如下命令:
|
||||
|
||||
@ -132,16 +133,17 @@ Xubuntu就像一个改装过的跑车。你可以把它改装成任何你想要
|
||||
|
||||
Xubuntu桌面就会显示出来啦。
|
||||
|
||||
这里会有一些差异。菜单仍然是XFCE菜单,而不是Xubuntu菜单。某些图标也不会出现在顶部面板中。但是这些问题都不足以让我们花时间卸载Ubuntu然后重装Xubuntu。
|
||||
这里会有一些差异。菜单仍然是XFCE菜单,而不是Xubuntu菜单。某些图标也不会出现在顶部面板中。但是这些小问题都不足以让我们花时间卸载Ubuntu然后重装Xubuntu。
|
||||
|
||||
下一篇文章中,我会介绍如何自定义Xubuntu以及XFCE桌面。
|
||||
|
||||
-----
|
||||
|
||||
via : http://linux.about.com/od/dist/fl/Ubuntu-With-XFCE-vs-Xubuntu-Linux.htm
|
||||
|
||||
作者:[Gary Newell][a]
|
||||
译者:[zhouj-sh](https://github.com/Zhouj-sh)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,202 @@
|
||||
在linux中如何通过nload来监控网络使用情况
|
||||
================================================================================
|
||||
nload 是一个 linux 自由软件工具,通过提供两个简单的图形来帮助linux用户和系统管理员来实时监控网络流量以及宽带使用情况:一个是进入流量,一个是流出流量。
|
||||
|
||||
我真的很喜欢用**nload**来在屏幕上显示当前的下载速度、总的流入量和平均下载速度等信息。nload工具的报告图非常容易理解,最重要的是这些信息真的非常有用。
|
||||
|
||||
在其使用手册上说到,在默认情况下它会监控所有网络设备。但是你可以轻松地指定你想要监控的设备,而且可以通过方向键在不同的网络设备之间进行转换。另外还有很多的选项可用,例如 ‘-t’选项以毫秒来设定刷新显示时间间隔(默认时间间隔值是500毫秒),‘-m’选项用来同时显示多个设备(在使用该选项时不会显示流量图),‘-u’选项用来设置显示流量数字的单位,另外还有许多其他的选项将会在本教程中探索和练习。
|
||||
|
||||
### 如何将 nload安装到你的linux机器上 ###
|
||||
|
||||
**Ubuntu** 和 **Fedora** 用户可以从默认的软件仓库中容易地安装。
|
||||
|
||||
在Ubuntu上使用以下命令进行安装。
|
||||
|
||||
sudo apt-get install nload
|
||||
|
||||
在Fedora上使用以下命令进行安装。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
**CentOS**用户该怎么办呢? 只需要在你的机器上输入以下命令就可以安装成功。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
以下的命令会帮助你在OpenBSD系统中安装nload。
|
||||
|
||||
sudo pkg_add -i nload
|
||||
|
||||
在 linux 机器上的另外一个非常有效的安装软件的方式就是编译源代码,下载并安装最新的版本意味着能够获得更好地性能、更酷的特性以及更少的bug。
|
||||
|
||||
### 如何通过源代码安装nload ###
|
||||
|
||||
在从源代码安装nload之前,你需要首先下载源代码。 我通常使用wget工具来进行下载--该工具在许多linux机器上默认可用。该免费工具帮助用户以非交互式的方式从网络上下载文件,并支持以下协议:
|
||||
|
||||
- HTTP
|
||||
- HTTPS
|
||||
- FTP
|
||||
|
||||
通过以下命令来进入到**/tmp**目录中。
|
||||
|
||||
cd /tmp
|
||||
|
||||
然后在你的终端中输入以下命令就可以将最新版本的nload下载到你的linux机器上了。
|
||||
|
||||
wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
||||
|
||||
如果你不喜欢使用wget工具,也可以通过简单的一个鼠标点击轻松地从[官网][1]上下载其源代码。
|
||||
|
||||
由于该软件非常轻巧,其下载过程几乎在瞬间就会完成。接下来的步骤就是通过**tar**工具来将下载的源代码包进行解压。
|
||||
|
||||
tar归档工具可以用来从磁带或硬盘文档中存储或解压文件,该工具有许多可用的选项,但是我们只需要下面的几个选项来执行我们的操作。
|
||||
|
||||
1. **-x** 从归档中解压文件
|
||||
1. **-v** 使用繁琐模式运行--用来显示详细信息
|
||||
1. **-f** 用来指定归档文件
|
||||
|
||||
例如(LCTT 译注:tar 命令的参数前的“-”可以省略):
|
||||
|
||||
tar xvf example.tar
|
||||
|
||||
现在你学会了如何使用tar工具,我可以非常肯定你知道了如何从命令行中解压这个.tar文档。
|
||||
|
||||
tar xvf nload-0.7.4.tar.gz
|
||||
|
||||
之后使用cd命令来进入到nload*目录中:
|
||||
|
||||
cd nload*
|
||||
|
||||
在我的系统上看起来是这样的:
|
||||
|
||||
oltjano@baby:/tmp/nload-0.7.4$
|
||||
|
||||
然后运行下面这个命令来为你的系统配置该软件包:
|
||||
|
||||
./configure
|
||||
|
||||
此时会有“一大波僵尸”会在你的屏幕上显示出来,下面的一个屏幕截图描述了它的样子。
|
||||
|
||||

|
||||
|
||||
在上述命令完成之后,通过下面的命令来编译nload。
|
||||
|
||||
make
|
||||
|
||||

|
||||
|
||||
好了,终于....,通过以下命令可以将nload安装在你的机器上了。
|
||||
|
||||
sudo make install
|
||||
|
||||

|
||||
|
||||
安装好nload之后就是让你学习如何使用它的时间了。
|
||||
|
||||
###如何使用nload###
|
||||
|
||||
我喜欢探索,所以在你的终端输入以下命令.
|
||||
|
||||
nload
|
||||
|
||||
看到了什么?
|
||||
|
||||
我得到了下面的结果。
|
||||
|
||||

|
||||
|
||||
如上述截图可以看到,我得到了以下信息:
|
||||
|
||||
#### 流入量####
|
||||
|
||||
**当前下载速度**
|
||||
|
||||

|
||||
|
||||
**平均下载速度**
|
||||
|
||||

|
||||
|
||||
**最小下载速度**
|
||||
|
||||

|
||||
|
||||
**最大下载速度**
|
||||
|
||||

|
||||
|
||||
**总的流入量按字节进行显示**
|
||||
|
||||

|
||||
|
||||
#### 流出量 ####
|
||||
|
||||
类似的同样适用于流出量
|
||||
|
||||
#### 一些nload有用的选项####
|
||||
|
||||
使用选项
|
||||
|
||||
-u
|
||||
|
||||
用来设置显示流量单位。
|
||||
|
||||
下面的命令会帮助你使用MBit/s显示单元
|
||||
|
||||
nload -u m
|
||||
|
||||
下面的屏幕截图显示了上述命令的结果。
|
||||
|
||||

|
||||
|
||||
尝试以下命令然后看看有什么结果。
|
||||
|
||||
nload -u g
|
||||
|
||||

|
||||
|
||||
同时还有一个**-U**选项。根据手册描述,该选项基本上与-u选项类似,只是用在合计数据。 我测试了这个命令,老实说,当你需要检查总的流入与流出量时非常有用。
|
||||
|
||||
nload -U G
|
||||
|
||||

|
||||
|
||||
从上面的截图中可以看到,**nload -U G** 使用Gbyte来显示数据总量。
|
||||
|
||||
另外一个我喜欢使用的有用选项是 **-t**。 该选项用来设置刷新显示事件间隔,单位为毫秒,默认值为500毫秒。
|
||||
|
||||
我会通过下面的命令做一些小的实验。
|
||||
|
||||
nload -t 130
|
||||
|
||||
那么上述命令做了什么呢?它将刷新显示时间间隔设置为130毫秒。 通常推荐不要将该时间间隔值设置为小于100毫秒,因为nload在生成报告时计算错误。
|
||||
|
||||
另外的一个选项为 **-a**, 在你想要设置计算平均值的时间窗口的秒数时使用,默认该值为300秒。
|
||||
|
||||
那么当你想要监控指定的网络设备该如何呢? 非常容易, 像下面这样简单地指定设备或者列出想要监控的设备列表即可。
|
||||
|
||||
nload wlan0
|
||||
|
||||

|
||||
|
||||
下面的语法可帮助你监控指定的多个设备。
|
||||
|
||||
nload [options] device1 device2 devicen
|
||||
|
||||
例如,使用下面的命令来监控eth0和eth1。
|
||||
|
||||
nload wlan0 eth0
|
||||
|
||||
如果不带选项来运行nload,那么它会监控所有自动检测到的设备,你可以通过左右方向键来显示其中的任何一个设备的信息。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/monitoring-2/monitor-network-usage-nload/
|
||||
|
||||
作者:[Oltjano Terpollari][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/oltjano/
|
||||
[1]:http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
@ -2,7 +2,7 @@
|
||||
================================================================================
|
||||
现在使用[树莓派摄像头模组][1]("raspi cam"),也可以像使用卡片相机那样,给拍摄的照片增加各种各样的图片特效。 raspistill命令行工具,为您的树莓派提供了丰富的图片特效选项,来美化处理你的图片。
|
||||
|
||||
你可以用[这3个命令行工具][2]来[抓取raspicam拍摄的照片或者视频][3],在这文章中将重点介绍其中的raspstill工具。raspstill工具提供了丰富的控制选项来处理图片,比如说:锐度(sharpness)、对比度(contrast)、亮度(brightness)、饱和度(saturation)、ISO、自动白平衡(AWB)、以及图片特效(image effect)等。
|
||||
有[三个命令行工具][2]可以用于[抓取raspicam拍摄的照片或者视频][3],在这文章中将重点介绍其中的raspstill工具。raspstill工具提供了丰富的控制选项来处理图片,比如说:锐度(sharpness)、对比度(contrast)、亮度(brightness)、饱和度(saturation)、ISO、自动白平衡(AWB)、以及图片特效(image effect)等。
|
||||
|
||||
在这篇文章中,将介绍如何使用raspstill工具以及raspicam摄像头模组来控制照片的曝光、AWB以及其他的图片效果。我写了一个简单的python脚本来自动拍摄照片并在这些照片上自动应用各种图片特效。raspicam的帮助文档中介绍了该摄像头模组所支持的曝光模式、AWB和图片特效。总的来说,raspicam一共支持16种图片特效、12种曝光模式以及10种AWB选项。
|
||||
|
||||
@ -27,7 +27,6 @@ Python脚本很简单,如下所示 。
|
||||
time.sleep(0.25)
|
||||
print "End of image capture"
|
||||
|
||||
The Python script operates as follows. First, create three array/list variable for the exposure, AWB and image effects. In the example, we use 2 types of exposure, 3 types of AWB, and 13 types of image effects values. Then make nested loops for applying the value of the three variables that we have. Inside the nested loop, execute the raspistill application. We specify (1) the output filename; (2) exposure value; (3) AWB value; (4) image effect value; (5) the time to take a photo, which is set to 1 second; and (6) the size of the photo, which is set to 640x480px. This Python script will create 78 different versions of a captured photo with a combination of 2 types of exposure, 3 types of AWB, and 13 types of image effects.
|
||||
|
||||
这个脚本完成了以下几个工作。首先,脚本中定义了3个列表,分别用于枚举曝光模式、AWB模式以及图片特效。在这个实例中,我们将使用到2种曝光模式、3种AWB模式以及13种图片特效。脚本会遍历上述3种选项的各种组合,并使用这些参数组合来运行raspistill工具。传入的参数共6个,分别为:(1)输出文件名;(2)曝光模式;(3)AWB模式;(4)图片特效模式;(5)拍照时间,设为1秒;(6)图片尺寸,设为640x480。脚本会自动拍摄78张照片,每张照片会应用不同的特效参数。
|
||||
|
||||
@ -41,7 +40,7 @@ The Python script operates as follows. First, create three array/list variable f
|
||||
|
||||
### 小福利 ###
|
||||
|
||||
除了使用raspistill命令行工具来操控raspicam摄像模组以外,还有其他的方法可以用哦。[Picamera][4]是一个python库,它提供了操控raspicam摄像模组的的API接口,这样就可以便捷地构建更加复杂的应用程序。如果你精通python,那么picamera一定是你项目的好伙伴。picamera已经被默认集成到Raspbian最新版本的的镜像中。当然,如果你用的不是最新的Raspbian或者是使用其他的操作系统版本,你可以通过下面的方法来进行手动安装。
|
||||
除了使用raspistill命令行工具来操控raspicam摄像模组以外,还有其他的方法可以用哦。[Picamera][4]是一个python库,它提供了操控raspicam摄像模组的的API接口,这样就可以便捷地构建更加复杂的应用程序。如果你精通python,那么picamera一定是你的 hack 项目的好伙伴。picamera已经被默认集成到Raspbian最新版本的的镜像中。当然,如果你用的不是最新的Raspbian或者是使用其他的操作系统版本,你可以通过下面的方法来进行手动安装。
|
||||
|
||||
首先,先在你的系统上安装pip,详见[指导][6]。
|
||||
|
||||
@ -57,7 +56,7 @@ via: http://xmodulo.com/apply-image-effects-pictures-raspberrypi.html
|
||||
|
||||
作者:[Kristophorus Hadiono][a]
|
||||
译者:[coloka](https://github.com/coloka)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,8 +1,8 @@
|
||||
Linux有问必答时间--如何查看Linux系统的CPU信息
|
||||
Linux有问必答:如何查看Linux系统的CPU信息
|
||||
================================================================================
|
||||
> **问题**: 我想要了解我的电脑关于CPU处理器的详细信息,查看CPU信息比较有效地方法是什么?
|
||||
|
||||
根据你的需要,有各种各样的关于你的CPU处理器信息你需要了解,比如CPU供应商名、模型名、时钟频率、套接字/内核的数量, L1/L2/L3缓存配置、可用的处理器能力(比如:硬件虚拟化、AES, MMX, SSE)等等。在Linux中,有许多命令行或基于GUI的工具就能来展示你的CPU硬件的相关具体信息。
|
||||
根据你的需要,有各种各样的关于你的CPU处理器信息你需要了解,比如CPU供应商名、模型名、时钟频率、插槽/内核的数量, L1/L2/L3缓存配置、可用的处理器能力(比如:硬件虚拟化、AES, MMX, SSE)等等。在Linux中,有许多命令行或基于GUI的工具就能来展示你的CPU硬件的相关具体信息。
|
||||
|
||||
### 1. /proc/cpuinfo ###
|
||||
|
||||
@ -12,7 +12,7 @@ Linux有问必答时间--如何查看Linux系统的CPU信息
|
||||
|
||||

|
||||
|
||||
通过查看这个文件,你能[识别出][1]物理处理器数、每个CPU核心数、可用的CPU标志寄存器以及其它东西的数量。
|
||||
通过查看这个文件,你能[识别出][1]物理处理器数(插槽)、每个CPU核心数、可用的CPU标志寄存器以及其它东西的数量。
|
||||
|
||||
### 2. cpufreq-info ###
|
||||
|
||||
@ -32,7 +32,7 @@ cpuid命令的功能就相当于一个专用的CPU信息工具,它能通过使
|
||||
|
||||
### 4. dmidecode ###
|
||||
|
||||
dmidecode命令直接从BIOS的DMI(译者注:桌面管理接口)数据收集关于系统硬件的具体信息。CPU信息报告包括CPU供应商、版本、CPU标志寄存器、最大/最近的时钟速度、(所允许的)核心总数、L1/L2/L3缓存配置等等。
|
||||
dmidecode命令直接从BIOS的DMI(桌面管理接口)数据收集关于系统硬件的具体信息。CPU信息报告包括CPU供应商、版本、CPU标志寄存器、最大/当前的时钟速度、(启用的)核心总数、L1/L2/L3缓存配置等等。
|
||||
|
||||
$ sudo dmidecode
|
||||
|
||||
@ -54,7 +54,7 @@ i7z是一个专供英特尔酷睿i3、i5和i7 CPU的实时CPU报告工具。它
|
||||
|
||||

|
||||
|
||||
### 8. likwid-topology ###
|
||||
### 8. likwid拓扑 ###
|
||||
|
||||
[likwid][3] (Like I Knew What I'm Doing) 是一个用来测量、配置并显示硬件相关特性的命令行收集工具。其中的likwid拓扑结构能显示CPU硬件(线程/缓存/NUMA)的拓扑结构信息,还能识别处理器家族(比如:Intel Core 2, AMD Shanghai)。
|
||||
|
||||
@ -70,7 +70,7 @@ lscpu命令用一个更加用户友好的格式统计了 /etc/cpuinfo 的内容
|
||||
|
||||
### 10. lshw ###
|
||||
|
||||
**lshw**命令是一个综合性硬件查询工具。不同于其它工具,lshw需要root特权才能运行因为它是在BIOS系统里查询DMI(译者注:桌面管理接口)信息。它能报告总核心数和可用核心数,但是会遗漏掉一些信息比如L1/L2/L3缓存配置。GTK版本的lshw-gtk也是可用的。
|
||||
**lshw**命令是一个综合性硬件查询工具。不同于其它工具,lshw需要root特权才能运行,因为它是在BIOS系统里查询DMI(桌面管理接口)信息。它能报告总核心数和可用核心数,但是会遗漏掉一些信息比如L1/L2/L3缓存配置。GTK版本的lshw-gtk也是可用的。
|
||||
|
||||
$ sudo lshw -class processor
|
||||
|
||||
@ -78,7 +78,7 @@ lscpu命令用一个更加用户友好的格式统计了 /etc/cpuinfo 的内容
|
||||
|
||||
### 11. lstopo ###
|
||||
|
||||
lstopo命令 (包括 [hwloc][4] 包) 使由CPU、缓存、内存和I/O设备组成的拓扑结构可见。这个命令用来识别处理器结构和系统的NUMA拓扑结构。
|
||||
lstopo命令 (包括在 [hwloc][4] 包中) 以可视化的方式组成 CPU、缓存、内存和I/O设备的拓扑结构。这个命令用来识别处理器结构和系统的NUMA拓扑结构。
|
||||
|
||||
$ lstopo
|
||||
|
||||
@ -86,7 +86,7 @@ lstopo命令 (包括 [hwloc][4] 包) 使由CPU、缓存、内存和I/O设备组
|
||||
|
||||
### 12. numactl ###
|
||||
|
||||
其被开发的起初是为了设置NUMA的时序安排和Linux处理器的内存布局策略,numactl命令也能通过命令行来展示关于CPU硬件的NUMA拓扑结构信息。
|
||||
最初其被开发的目的是为了设置NUMA的时序安排和Linux处理器的内存布局策略,numactl命令也能通过命令行来展示关于CPU硬件的NUMA拓扑结构信息。
|
||||
|
||||
$ numactl --hardware
|
||||
|
||||
@ -94,7 +94,7 @@ lstopo命令 (包括 [hwloc][4] 包) 使由CPU、缓存、内存和I/O设备组
|
||||
|
||||
### 13. x86info ###
|
||||
|
||||
x86info是一个为了展示基于x86架构的CPU信息的命令行工具。信息报告包括CPU型号、线程/核心数、时钟速度、TLB(译者注:传输后备缓冲器)缓存配置、支持的特征标志寄存器等等。
|
||||
x86info是一个为了展示基于x86架构的CPU信息的命令行工具。信息报告包括CPU型号、线程/核心数、时钟速度、TLB(传输后备缓冲器)缓存配置、支持的特征标志寄存器等等。
|
||||
|
||||
$ x86info --all
|
||||
|
||||
@ -105,7 +105,7 @@ x86info是一个为了展示基于x86架构的CPU信息的命令行工具。信
|
||||
via: http://ask.xmodulo.com/check-cpu-info-linux.html
|
||||
|
||||
译者:[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/) 荣誉推出
|
||||
|
@ -1,4 +1,4 @@
|
||||
如何通过简单的3步恢复Windows7同时删除Ubuntu
|
||||
如何通过简单的3步恢复Windows 7同时删除Ubuntu
|
||||
================================================================================
|
||||
### 说明 ###
|
||||
|
||||
@ -8,11 +8,11 @@
|
||||
|
||||
那么为什么我现在要写这篇文章呢?
|
||||
|
||||
到目前为止我曾经在很多场合被问到如何从一个装有Windows7或Windows8的双系统中删除Unbuntu系统,因此写这篇文章就变得有意义了。
|
||||
到目前为止我曾经在很多场合被问到如何从一个装有Windows7或Windows8的双系统中删除Ubuntu系统,因此写这篇文章就变得有意义了。
|
||||
|
||||
我在圣诞节期间浏览了人们在我文章中的留言,感觉是时候把缺失的文章写完同时更新一下那些比较老的又需要关注的文章了。
|
||||
|
||||
我打算把一月份剩下的时间都用在这上面。这是第一步。如果你的电脑上安装了Windown7和Ubuntu双系统,同时你不想通过恢复出厂设置的方式恢复Windows7系统,那么请参考该教程。(注意:对于Windows8系统,有一个独立的教程)
|
||||
我打算把一月份剩下的时间都用在这上面。这是第一步。如果你的电脑上安装了Windows7和Ubuntu双系统,同时你不想通过恢复出厂设置的方式恢复Windows7系统,那么请参考该教程。(注意:对于Windows8系统,有一个独立的教程)
|
||||
|
||||
### 删除Ubuntu系统需要的步骤 ###
|
||||
|
||||
@ -24,11 +24,10 @@
|
||||
|
||||
在你开始之前,我建议为你的系统保留一个备份。
|
||||
|
||||
我也建议不要放弃这样的机会也不要使用微软自带的工具。
|
||||
我建议你不要放弃备份的机会,但也不要使用微软自带的工具。
|
||||
|
||||
[点击查看如何使用Macrinum Reflect备份你的驱动][1]
|
||||
|
||||
|
||||
如果Ubuntu中有你希望保存的数据,现在就登录进去然后将数据保存到外部硬盘驱动器,USB驱动器或者DVD中。
|
||||
|
||||
### 步骤1 - 删除Grub启动菜单 ###
|
||||
@ -57,7 +56,7 @@
|
||||
|
||||
点击“创建光盘”。
|
||||
|
||||
将光盘留在电脑中重启电脑,当出现从CD中启动的消息的时候按下键盘上的“回车”键。
|
||||
将光盘留在电脑中并重启电脑,当出现从CD中启动的消息的时候按下键盘上的“回车”键。
|
||||
|
||||

|
||||
|
||||
@ -111,13 +110,13 @@
|
||||
|
||||
对于Windows系统来说,我们真正需要的只有驱动器C,所以剩下的是可以删掉的。
|
||||
|
||||
**注意: 注意一下.你的磁盘上可能有恢复分区。 不要删除恢复分区.。它们应该会被标记,将文件系统设置为NTFS或FAT32**
|
||||
**注意: 注意一下.你的磁盘上可能有恢复分区。 不要删除恢复分区。它们应该有专门的卷标,文件系统也许是NTFS或FAT32**
|
||||
|
||||

|
||||
|
||||
在你希望删除的分区上单击右键(例如:root,home和swap分区),然后从弹出的菜单中点击“删除卷”。
|
||||
|
||||
**(不要删除任何NTFS或者FAT32文件系统的分区)**
|
||||
**(不要删除任何NTFS或者FAT32文件系统的分区!)**
|
||||
|
||||
对于剩下的两个分区重复执行上面的操作。
|
||||
|
||||
@ -134,11 +133,12 @@
|
||||

|
||||
|
||||
最后一步是扩展Windows以便于将它再变成一个大的分区。
|
||||
|
||||
右键点击Windows分区(C盘),然后选择“扩展卷”。
|
||||
|
||||

|
||||
|
||||
当出现左面的窗口的时候点击“下一步”,
|
||||
当出现左面的窗口的时候点击“下一步”。
|
||||
|
||||

|
||||
|
||||
@ -165,13 +165,14 @@
|
||||
这就是全部内容。一个致力于Linux的网站刚刚向你展示了如何移除Linux然后用Windows7取而代之。
|
||||
|
||||
有任何疑问可以在下面评论区留言。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.everydaylinuxuser.com/2015/01/how-to-recover-windows-7-and-delete.html
|
||||
|
||||
作者:Gary Newell
|
||||
译者:[Medusar](https://github.com/Medusar)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,4 +1,4 @@
|
||||
Linux有问必答: 如何通过命令行创建和设置一个MySQL用户
|
||||
Linux有问必答:如何通过命令行创建和设置一个MySQL用户
|
||||
================================================================================
|
||||
|
||||
> **问题**:我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制。如何通过命令行的方式来创建并且设置一个MySQL用户呢?
|
||||
@ -21,7 +21,7 @@ Linux有问必答: 如何通过命令行创建和设置一个MySQL用户
|
||||
|
||||
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
|
||||
|
||||
一旦用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在一个名为**user**的表中,这个表则存在与**mysql**这个特殊的数据库里。
|
||||
一旦用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在一个名为**user**的表中,这个表则存在于**mysql**这个特殊的数据库里。
|
||||
|
||||
运行下列命令,验证帐号是否创建成功
|
||||
|
||||
@ -33,14 +33,14 @@ Linux有问必答: 如何通过命令行创建和设置一个MySQL用户
|
||||
|
||||
- **ALL**: 所有可用的权限
|
||||
- **CREATE**: 创建库、表和索引
|
||||
- **LOCK_TABLES**: 锁定表.
|
||||
- **ALTER**: 修改表.
|
||||
- **DELETE**: 删除表.
|
||||
- **INSERT**: 插入表或列.
|
||||
- **SELECT**: 选择表或列.
|
||||
- **CREATE_VIEW**: 创建视图.
|
||||
- **SHOW_DATABASES**: 展示数据库.
|
||||
- **DROP**: 删除库、表和视图.
|
||||
- **LOCK_TABLES**: 锁定表
|
||||
- **ALTER**: 修改表
|
||||
- **DELETE**: 删除表
|
||||
- **INSERT**: 插入表或列
|
||||
- **SELECT**: 检索表或列的数据
|
||||
- **CREATE_VIEW**: 创建视图
|
||||
- **SHOW_DATABASES**: 列出数据库
|
||||
- **DROP**: 删除库、表和视图
|
||||
|
||||
运行以下命令赋予"myuser"用户特定权限。
|
||||
|
||||
@ -70,10 +70,10 @@ Linux有问必答: 如何通过命令行创建和设置一个MySQL用户
|
||||
|
||||
在MySQL中,你可以为单独的用户设置MySQL的资源使用限制。可用的资源限制如下:
|
||||
|
||||
- **MAX_QUERIES_PER_HOUR**: 允许的每小时最大请求数量.
|
||||
- **MAX_UPDATES_PER_HOUR**: 允许的每小时最大更新数量.
|
||||
- **MAX_CONNECTIONS_PER_HOUR**: 允许的每小时最大连接(译者注:[其与 MySQL全局变量: max_user_connections 共同决定用户到数据库的同时连接数量](http://dev.mysql.com/doc/refman/5.0/en/user-resources.html))数量.
|
||||
- **MAX_USER_CONNECTIONS**: 对服务器的同时连接量.
|
||||
- **MAX\_QUERIES\_PER\_HOUR**: 允许的每小时最大请求数量
|
||||
- **MAX\_UPDATES\_PER\_HOUR**: 允许的每小时最大更新数量
|
||||
- **MAX\_CONNECTIONS\_PER\_HOUR**: 允许的每小时最大连接(译者注:[其与 MySQL全局变量: max\_user\_connections 共同决定用户到数据库的同时连接数量](http://dev.mysql.com/doc/refman/5.0/en/user-resources.html))数量
|
||||
- **MAX\_USER\_CONNECTIONS**: 对服务器的同时连接量
|
||||
|
||||
使用以下命令为"myuser"帐号增加一个资源限制:
|
||||
|
||||
@ -102,6 +102,6 @@ Linux有问必答: 如何通过命令行创建和设置一个MySQL用户
|
||||
via: http://ask.xmodulo.com/create-configure-mysql-user-command-line.html
|
||||
|
||||
译者:[Ping](http://weibo.com/370321376)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,10 +1,10 @@
|
||||
Linux 有问必答: 如何在Ubuntu或者Debian中下载和安装ixgbe驱动
|
||||
Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动
|
||||
================================================================================
|
||||
> **提问**: 我想为我的Intel 10G网卡下载安装最新的ixgbe。我该如何在Ubuntu(或者Debian)中安装ixgbe驱动?
|
||||
> **提问**: 我想为我的Intel 10G网卡下载安装最新的ixgbe驱动。我该如何在Ubuntu(或者Debian)中安装ixgbe驱动?
|
||||
|
||||
Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。现代的Linux发版已经将ixgbe作为一个可加载模块。然而,有些情况你不想要你机器上的已经编译和安装的ixgbe驱动。比如,你想要体验ixbge驱动的最新特性。同样,自带内核中的ixgbe中的一个默认问题是不允许你自定义旭东内核参数。如果你想要完全自动一ixgbe驱动(比如 RSS、多队列、中断阈值等等),你需要手动从源码编译ixgbe驱动。
|
||||
Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。现代的Linux发行版已经带有了ixgbe驱动,通过可加载模块的方式使用。然而,有些情况你希望在你机器上的自己编译安装ixgbe驱动,比如,你想要体验ixbge驱动的最新特性时。同样,内核默认自带的ixgbe驱动中的一个问题是不允许你自定义驱动的参数。如果你想要一个完全定制的ixgbe驱动(比如 RSS、多队列、中断阈值等等),你需要手动从源码编译ixgbe驱动。
|
||||
|
||||
这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动。
|
||||
这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动的教程。
|
||||
|
||||
### 第一步: 安装前提 ###
|
||||
|
||||
@ -29,7 +29,7 @@ Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。现
|
||||
|
||||
编译之后,你会看到在ixgbe-3.23.2/src目录下创建了**ixgbe.ko**。这就是会加载到内核之中的ixgbe驱动。
|
||||
|
||||
用modinfo命令检查内核模块的信息。注意你需要指定模块的绝对路径(比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko)。输出中会显示ixgbe内核的版本。
|
||||
用modinfo命令检查内核模块的信息。注意你需要指定模块文件的绝对路径(比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko)。输出中会显示ixgbe内核的版本。
|
||||
|
||||
$ modinfo ./ixgbe.ko
|
||||
|
||||
@ -120,24 +120,24 @@ Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。现
|
||||
|
||||
### 第五步: 安装Ixgbe驱动 ###
|
||||
|
||||
一旦你验证新的ixgbe驱动已经成功家在,最后一步是在你的系统中安装驱动。
|
||||
一旦你验证新的ixgbe驱动可以成功加载,最后一步是在你的系统中安装驱动。
|
||||
|
||||
$ sudo make install
|
||||
|
||||
**ixgbe.ko** 接着会安装在/lib/modules/<kernel-version>/kernel/drivers/net/ethernet/intel/ixgbe 下。
|
||||
**ixgbe.ko** 会安装在/lib/modules/<kernel-version>/kernel/drivers/net/ethernet/intel/ixgbe 下。
|
||||
|
||||
这一步起,你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。
|
||||
从这一步起,你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。
|
||||
|
||||
$ sudo modprobe ixgbe
|
||||
|
||||
如果你希望在启动时家在ixgbe驱动,你可以在/etc/modules的最后加入“ixgbe”。
|
||||
如果你希望在启动时加载ixgbe驱动,你可以在/etc/modules的最后加入“ixgbe”。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/download-install-ixgbe-driver-ubuntu-debian.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,56 @@
|
||||
Linux 有问必答:如何使用yum来下载RPM包而不进行安装
|
||||
================================================================================
|
||||
> **问题**:我想从Red Hat 的标准仓库中下载一个RPM包,我能使用yum命令来下载一个RPM包但是不进行安装吗?
|
||||
|
||||
yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢? 例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。
|
||||
|
||||
这里说明了如何从yum仓库上下载一个RPM包。
|
||||
|
||||
### 方法一:yum###
|
||||
|
||||
yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了`--downloadonly(只下载)`的选项来达到这个目的。
|
||||
|
||||
$ sudo yum install --downloadonly <package-name>
|
||||
|
||||
默认情况下,一个下载的RPM包会保存在下面的目录中:
|
||||
|
||||
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
|
||||
|
||||
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)
|
||||
|
||||
如果你想要将一个包下载到一个指定的目录(如/tmp):
|
||||
|
||||
$ sudo yum install --downloadonly --downloaddir=/tmp <package-name>
|
||||
|
||||
注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。
|
||||
|
||||
另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用`--downloadonly`命令选项:
|
||||
|
||||
$ sudo yum install yum-plugin-downloadonly
|
||||
|
||||
如果没有该插件,你会在使用yum时得到以下错误:
|
||||
|
||||
Command line error: no such option: --downloadonly
|
||||
|
||||

|
||||
|
||||
### 方法二: Yumdownloader###
|
||||
|
||||
另外一个下载RPM包的方法就是通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。
|
||||
|
||||
$ sudo yum install yum-utils
|
||||
|
||||
下载一个RPM包:
|
||||
|
||||
$ sudo yumdownloader <package-name>
|
||||
|
||||
下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/yum-download-rpm-package.html
|
||||
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,12 +1,12 @@
|
||||
使用最近通知工具保持通知历史
|
||||
使用“最近通知工具”保持桌面通知历史
|
||||
================================================================================
|
||||

|
||||
|
||||
大多数桌面环境像Unity和Gnome都有通知特性。我很喜欢其中一些。它尤其当我[在Ubuntu上收听流媒体][1]时帮到我。默认上通知会在桌面的顶部显示几秒接着就会小时。如果你听见了通知的声音但是没有看到内容怎么办?你该如何知道通知的内容?
|
||||
大多数桌面环境像Unity和Gnome都有通知特性。我很喜欢其中一些。它尤其当我[在Ubuntu上收听流媒体][1]时帮到我。默认上通知会在桌面的顶部显示几秒接着就会消失。如果你听见了通知的声音但是没有看到内容怎么办?你该如何知道通知的内容?
|
||||
|
||||
如果你可以看到最近所有通知的历史会很棒吧?是的,我知道这很棒。你可以在Ubuntu Unity或者Gnome中使用最近**通知小工具**来追踪所有的最近通知。
|
||||
|
||||
最近通知位于顶部面板,并且有最近所有通知的历史。当它捕获到新的通知后,它就会变绿来表明你有未读的通知。
|
||||
最近通知位于顶部面板,并且记录了最近所有通知的历史。当它捕获到新的通知后,它就会变绿来表明你有未读的通知。
|
||||
|
||||

|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
sudo apt-get update
|
||||
sudo apt-get install indicator-notifications
|
||||
|
||||
安装完成后,重新登录后你就可以用了。现在它是没有通知的状态。很方便的小工具,不是么?
|
||||
安装完成后,重新登录后你就可以用了。现在妈妈再也不用担心我的通知没看到了。很方便的小工具,不是么?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -32,7 +32,7 @@ via: http://itsfoss.com/notifications-appindicator/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,6 +1,6 @@
|
||||
Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
================================================================================
|
||||
在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中。这个环境包含了变量,设置,别名,函数以及更多的。下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率。
|
||||
在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中。这个环境包含了变量、设置、别名、函数以及更多的东西。下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率。
|
||||
|
||||

|
||||
|
||||
@ -18,7 +18,8 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
输出范例:
|
||||
|
||||
[][1]
|
||||
图1:找出当前的shell
|
||||
|
||||
*图1:找出当前的shell*
|
||||
|
||||
### 找出所有已安装的shell ###
|
||||
|
||||
@ -32,9 +33,10 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
输出范例:
|
||||
|
||||
[][2]
|
||||
图2:找出shell的路径
|
||||
|
||||
文件/etc/shells里包含了系统支持的shell列表。每一行代表一个shell,是相对根目录的完整路径。用这个[cat命令][3]来查看这些数据:
|
||||
*图2:找出shell的路径*
|
||||
|
||||
文件/etc/shells里包含了系统所支持的shell列表。每一行代表一个shell,是相对根目录的完整路径。用这个[cat命令][3]来查看这些数据:
|
||||
|
||||
cat /etc/shells
|
||||
|
||||
@ -71,7 +73,8 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
示例输出:
|
||||
|
||||
[][4]
|
||||
图3:Bash shell嵌套层级(子shell数目)
|
||||
|
||||
*图3:Bash shell嵌套层级(子shell数目)*
|
||||
|
||||
### 通过chsh命令永久变更系统shell ###
|
||||
|
||||
@ -83,9 +86,9 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
|
||||
sudo chsh -s /bin/ksh userNameHere
|
||||
|
||||
### 查看当前的环境 ###
|
||||
### 查看当前的环境变量 ###
|
||||
|
||||
你需要用到
|
||||
你需要用到:
|
||||
|
||||
env
|
||||
env | more
|
||||
@ -118,7 +121,8 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
下面是bash shell里一些常见变量的列表:
|
||||
|
||||

|
||||
图4:常见bash环境变量
|
||||
|
||||
*图4:常见bash环境变量*
|
||||
|
||||
> **注意**:下面这些环境变量没事不要乱改。很可能会造成不稳定的shell会话:
|
||||
>
|
||||
@ -157,7 +161,7 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
|
||||
/home/vivek
|
||||
|
||||
### 增加或设定一个新变量 ###
|
||||
### 增加或设定一个新环境变量 ###
|
||||
|
||||
下面是bash,zsh,sh和ksh的语法:
|
||||
|
||||
@ -225,7 +229,8 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
示例输出:
|
||||
|
||||
[][5]
|
||||
图5:列出bash的所有配置文件
|
||||
|
||||
*图5:列出bash的所有配置文件*
|
||||
|
||||
要查看所有的bash配置文件,输入:
|
||||
|
||||
@ -241,7 +246,7 @@ Shell入门:掌握Linux,OS X,Unix的Shell环境
|
||||
sudo cp -v /etc/bashrc /etc/bashrc.bak.22_jan_15
|
||||
|
||||
########################################################################
|
||||
## 然后,随心所欲随便改吧,好好玩玩shell环境或者提高一下效率:) ##
|
||||
## 然后,随心所欲随便改吧,好好玩玩shell环境或者提高一下效率:) ##
|
||||
########################################################################
|
||||
sudo vim /etc/bashrc
|
||||
|
||||
@ -326,14 +331,15 @@ zsh的[wiki][6]中建议用下面的命令:
|
||||
示例输出:
|
||||
|
||||
[][7]
|
||||
图6:在bash shell中使用history命令查看会话历史
|
||||
|
||||
你可以重复使用命令。简单地按下[上]或[下]方向键就可以查看之前的命令。在shell提示符下按下[CTRL-R]可以向后搜索历史缓存或文件来查找命令。重复最后一次命令,只需要在shell提示符下输入!!就好了:
|
||||
*图6:在bash shell中使用history命令查看会话历史*
|
||||
|
||||
你可以重复使用之前的命令。简单地按下[上]或[下]方向键就可以查看之前的命令。在shell提示符下按下[CTRL-R]可以向后搜索历史缓存或文件来查找命令。重复最后一次命令,只需要在shell提示符下输入!!就好了:
|
||||
|
||||
ls -l /foo/bar
|
||||
!!
|
||||
|
||||
在以上的历史记录中查看命令#93 (hddtemp /dev/sda),输入:
|
||||
在以上的历史记录中找到命令#93 (hddtemp /dev/sda),输入:
|
||||
|
||||
!93
|
||||
|
||||
@ -483,7 +489,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
|
||||
|
||||
最后,[打开bash命令补齐][12]
|
||||
|
||||
source /etc/bash_completio
|
||||
source /etc/bash_completion
|
||||
|
||||
#### #2: 设定bash命令提示符 ####
|
||||
|
||||
@ -511,7 +517,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
|
||||
# 为命令历史文件增加时间戳
|
||||
export HISTTIMEFORMAT="%F %T "
|
||||
|
||||
# 附加到命令历史文件,俄不是覆盖
|
||||
# 附加到命令历史文件,而不是覆盖
|
||||
shopt -s histappend
|
||||
|
||||
#### #5: 设定shell会话的时区 ####
|
||||
@ -561,7 +567,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
|
||||
# 清理那些.DS_Store文件
|
||||
alias dsclean='find . -type f -name .DS_Store -delete'
|
||||
|
||||
#### #8: 让世界充满色彩 ####
|
||||
#### #8: 寡人好色 ####
|
||||
|
||||
# 彩色的grep输出
|
||||
alias grep='grep --color=auto'
|
||||
@ -669,7 +675,7 @@ via: http://www.cyberciti.biz/howto/shell-primer-configuring-your-linux-unix-osx
|
||||
|
||||
作者:[nixCraft][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/) 荣誉推出
|
||||
|
@ -1,39 +1,38 @@
|
||||
在linux中4个lvcreate命令例子
|
||||
4 个 lvcreate 常用命令举例
|
||||
================================================================================
|
||||
逻辑卷管理(LVM)是广泛使用的技术,并拥有极其灵活磁盘管理方案。主要包含3个基础命令:
|
||||
|
||||
a. 创建物理卷使用**pvcreate**
|
||||
b. 创建卷组并给卷组增加分区**vgcreate**
|
||||
c. 创建新的逻辑卷使用**lvcreate**
|
||||
1. 创建物理卷使用**pvcreate**
|
||||
2. 创建卷组并给卷组增加分区**vgcreate**
|
||||
3. 创建新的逻辑卷使用**lvcreate**
|
||||
|
||||

|
||||
|
||||
随后的例子着重在已经存在的卷组上使用**lvcreate**创建逻辑卷。**lvcreate**命令可以在来自自由物理扩展池的卷组分配逻辑扩展。通常,逻辑卷可以随意使用底层逻辑卷上的任意空间。修改逻辑卷将释放或重新分配在物理卷空间。这些例子已经在CentOS 5, CentOS 6, CentOS 7, RHEL 5, RHEl 6 和 RHEL 7 版本中测试通过。
|
||||
下列例子主要讲述在已经存在的卷组上使用**lvcreate**创建逻辑卷。**lvcreate**命令可以在卷组的可用物理扩展池中分配逻辑扩展。通常,逻辑卷可以随意使用底层逻辑卷上的任意空间。修改逻辑卷将释放或重新分配物理卷的空间。这些例子已经在CentOS 5, CentOS 6, CentOS 7, RHEL 5, RHEl 6 和 RHEL 7 版本中测试通过。
|
||||
|
||||
### 4个lvcreate命令例子 ###
|
||||
|
||||
1. 在名为vg_newlvm卷组中创建15G大小的逻辑卷:
|
||||
1. 在名为vg_newlvm的卷组中创建15G大小的逻辑卷:
|
||||
|
||||
[root@centos7 ~]# lvcreate -L 15G vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -L 15G vg_newlvm
|
||||
|
||||
2. 在名为vg_newlvm中创建大小为2500MB的逻辑卷并命名centos7_newvol,创建块设备/dev/vg_newlvm/centos7_newvol:
|
||||
2. 在名为vg_newlvm的卷组中创建大小为2500MB的逻辑卷,并命名为centos7_newvol,这样就创建了块设备/dev/vg_newlvm/centos7_newvol:
|
||||
|
||||
[root@centos7 ~]# lvcreate -L 2500 -n centos7_newvol vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -L 2500 -n centos7_newvol vg_newlvm
|
||||
|
||||
3.可以使用**lvcreate**命令的参数-l,能指定一些特别的逻辑卷扩展大小。也可以使用这个参数以卷组的大小百分比来扩展逻辑卷。这下列的命令创建了centos7_newvol卷组的50%大小的逻辑卷vg_newlvm:
|
||||
3. 可以使用**lvcreate**命令的参数-l来指定逻辑卷扩展的大小。也可以使用这个参数以卷组的大小百分比来扩展逻辑卷。这下列的命令创建了centos7_newvol卷组的50%大小的逻辑卷vg_newlvm:
|
||||
|
||||
[root@centos7 ~]# lvcreate -l 50%VG -n centos7_newvol vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -l 50%VG -n centos7_newvol vg_newlvm
|
||||
|
||||
4. 使用卷组剩下的所有空间创建逻辑卷
|
||||
|
||||
[root@centos7 ~]# lvcreate --name centos7_newvol -l 100%FREE vg_newlvm
|
||||
[root@centos7 ~]# lvcreate --name centos7_newvol -l 100%FREE vg_newlvm
|
||||
|
||||
更多帮助,使用**lvcreate**命令--help选项来查看:
|
||||
|
||||
[root@centos7 ~]# lvcreate --help
|
||||
|
||||
----------
|
||||
以下空号中是帮助字面翻译
|
||||
|
||||
lvcreate: Create a logical volume(创建逻辑卷)
|
||||
|
||||
@ -46,8 +45,8 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[-C|--contiguous {y|n}]
|
||||
[-d|--debug]
|
||||
[-h|-?|--help]
|
||||
[--ignoremonitoring](忽略监听)
|
||||
[--monitor {y|n}](监听)
|
||||
[--ignoremonitoring](忽略监控)
|
||||
[--monitor {y|n}](监控)
|
||||
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
|
||||
[-k|--setactivationskip {y|n}]
|
||||
[-K|--ignoreactivationskip]
|
||||
@ -66,7 +65,7 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[--discards {ignore|nopassdown|passdown}]
|
||||
[--poolmetadatasize MetadataSize[bBsSkKmMgG]]]
|
||||
[--poolmetadataspare {y|n}]
|
||||
[--thinpool ThinPoolLogicalVolume{Name|Path}]精简池逻辑卷
|
||||
[--thinpool ThinPoolLogicalVolume{Name|Path}] (精简池逻辑卷)
|
||||
[-t|--test]
|
||||
[--type VolumeType](卷类型)
|
||||
[-v|--verbose]
|
||||
@ -75,18 +74,14 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[--version]
|
||||
VolumeGroupName [PhysicalVolumePath...]
|
||||
|
||||
lvcreate
|
||||
{ {-s|--snapshot} OriginalLogicalVolume[Path] |
|
||||
[-s|--snapshot] VolumeGroupName[Path] -V|--virtualsize VirtualSize}
|
||||
{-T|--thin} VolumeGroupName[Path][/PoolLogicalVolume]
|
||||
-V|--virtualsize VirtualSize}(
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ehowstuff.com/4-lvcreate-command-examples-on-linux/
|
||||
|
||||
作者:[skytech][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Vic020](https://github.com/Vic020)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
121
published/201503/20150126 CD Audio Grabbers--Graphical Based.md
Normal file
121
published/201503/20150126 CD Audio Grabbers--Graphical Based.md
Normal file
@ -0,0 +1,121 @@
|
||||
4 个图形界面的 CD 音频抓取器
|
||||
================================================================================
|
||||
CD音频抓取器设计用来从光盘中提取(“RIP”)原始数字音频(通常被称为 CDDA 格式)并把它保存成文件或以其他形式输出。这类软件使用户能把数字音频编码成各种格式,并可以从在线光盘数据库 freedb 中下载或上传光盘信息。
|
||||
|
||||
复制CD合法吗?在美国版权法中,把一个原始CD转换成数字文件用于个人使用等同于‘合理使用’。然而,美国版权法并没有明确的允许或禁止拷贝私人音频CD,而且判例法还没有确立出在具体的哪种情况下可以视为合理使用。而在英国,其版权的定位则更清晰一些。从2014年开始,英国公民制造CD,MP3,DVD,蓝光和电子书的行为成为合法行为。当然,这仅适用于这个人拥有被采集的媒体的实体,并且复制品仅用于他们个人使用。对于欧盟的其他国家,成员国也允许私人复制这种特例。
|
||||
|
||||
如果你不确定在你生活的国家里这种版权是如何界定的,在你使用这篇文章中所列举的软件前请查询本地的版权法以确定你处在合法的一边。
|
||||
|
||||
在某种程度上,提取CD音轨看起来有点多余。如[Spotify][5]和Google Play Music这类流媒体服务提供了一个巨大的以通用格式的音乐的库,无需采集你的CD集。但是,如果你已将收藏了一个数量巨大的CD集。能把你的CD转换成可以在便携设备如智能手机、平板和便携式MP3播放器上播放的格式仍然是个诱人的选择。
|
||||
|
||||
这篇文章推荐了我最喜欢的音频CD抓取器。我挑了四个最好的图形界面的音频抓取器。所有这些应用程序都是在开源许可下发行的。
|
||||
|
||||
###fre:ac
|
||||
|
||||

|
||||
|
||||
fre:ac是个开源的音频转换器和CD提取器,支持很多种流行格式和编码器。目前这个应用可以在MA3、MP4/M4A、WMA、Ogg Vorbis、FLAC、AAC、WAV和Bonk格式间转换。这来源于几种不同形式的LAME编码器。
|
||||
|
||||
#### 功能包括: ####
|
||||
|
||||
- 易学易用
|
||||
- MP3、MP4/M4A、WMA、Ogg Vorbis、FLAC、AAC、WAV和Bonk格式转换器
|
||||
- 集成了CDDB/freedb标题数据库支持的CD提取器
|
||||
- 多核优化的编码器加速了现代PC上的转换速度
|
||||
- 对于标签和文件名称的全Unicode支持
|
||||
- 易学易用,而当你需要时还提供专家级选项
|
||||
- 任务列表
|
||||
- 可以使用Winamp 2输入插件
|
||||
- 多语言用户界面支持41种语言
|
||||
|
||||
- 网址: [freac.org][1]
|
||||
- 开发人员:Robert Kausch
|
||||
- 许可证: GNU GPL v2
|
||||
- 版本号: 20141005
|
||||
|
||||
###Audex
|
||||
|
||||

|
||||
|
||||
Audex是个简单易用的开源的音频CD提取应用。虽然它还处于早期开发阶段,但这个KDE桌面工具足够稳定、智能和简单易用。
|
||||
|
||||
它的助手可以为LAME、OGG Vorbis(oggenc)、FLAC、FAAC(AAC/MP4)和RIFF WAVE等格式创建配置文件。除了这个助手,你也可以定义你自己的配置文件,这意味着,Audex适用于大部分的命令行编码器。
|
||||
|
||||
#### 功能包括: ####
|
||||
|
||||
- 可提取CDDA Paranoia
|
||||
- 提取和编码同时进行
|
||||
- 文件名采用本地和远程的CDDB/FreeDB数据库
|
||||
- 可以提交到CDDB/FreeDB数据库
|
||||
- 类似capitalize的元数据纠正工具
|
||||
- 多配置文件提取(每个配置文件文件有一个命令行编码器)
|
||||
- 从互联网上抓取封面并将他们存在数据库中
|
||||
- 在目标目录中创建播放列表、封面和基于模板的信息文件
|
||||
- 创建提取和编码协议
|
||||
- 将文件传送到FTP服务器
|
||||
- 支持国际化
|
||||
|
||||
- 网址: [kde.maniatek.com/audex][2]
|
||||
- 开发人员: Marco Nelles
|
||||
- 许可证: GNU GPL v3
|
||||
- 版本号: 0.79
|
||||
|
||||
###Sound Juicer
|
||||
|
||||

|
||||
|
||||
Sound Juicer是个使用GTK+和GStreamer开发的轻量级CD提取器。它从CD中提取音频并把它转换成音频文件。Sound Juicer还可以直接播放CD中的音轨,在提取前提供预览。
|
||||
|
||||
它支持任何GStreamer插件所支持的音频编码,包括 MP3、Ogg Vorbis、FLAC和未压缩的PCM格式。
|
||||
|
||||
它是GNOME桌面环境内建的一部分。
|
||||
|
||||
#### 功能包括: ####
|
||||
|
||||
- 自动通过CDDB给音轨加标签
|
||||
- 可编码成ogg/vorbis、FLAC和原始WAV
|
||||
- 编码路径的设置很简单
|
||||
- 多种风格流派
|
||||
- 国际化支持
|
||||
|
||||
- 网址:[burtonini.com][3]
|
||||
- 开发人员: Ross Burton
|
||||
- 许可证:GNU GPL v2
|
||||
- 版本号:3.14
|
||||
|
||||
###ripperX
|
||||
|
||||

|
||||
|
||||
ripperX是个开源的图形界面的程序,用于提取CD音轨并把他们编码成Ogg、MP2、MP3或FLAC格式。它的目的是容易使用,只需要点几下鼠标就能转换整张专辑。它支持在CDDB寻找专辑和音轨信息。
|
||||
|
||||
他使用cdparanoia把CD音轨转换(也就是“提取”)成WAV文件,然后调用Vorbis/Ogg编码器oggenc把WAV文件转换成OGG文件。它还可以调用flac让WAV文件生成无损压缩的FLAC文件。
|
||||
|
||||
#### 功能包括: ####
|
||||
|
||||
- 非常简单易用
|
||||
- 可以把CD音轨提取成WAV、MP3、OGG或FLAC文件
|
||||
- 支持CDDB查找
|
||||
- 支持ID3v2标签
|
||||
- 可暂停提取进程
|
||||
|
||||
- 网址:[sourceforge.net/projects/ripperx][4]
|
||||
- 开发人员:Marc André Tanner
|
||||
- 许可证:MIT/X Consortium License
|
||||
- 版本号:2.8.0
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
转自:http://www.linuxlinks.com/article/20150125043738417/AudioGrabbersGraphical.html
|
||||
|
||||
作者:Frazer Kline
|
||||
译者:[H-mudcup](https://github.com/H-mudcup)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.freac.org/
|
||||
[2]:http://kde.maniatek.com/audex/
|
||||
[3]:http://burtonini.com/blog/computers/sound-juicer
|
||||
[4]:http://sourceforge.net/projects/ripperx/
|
||||
[5]:http://linux.cn/article-3130-1.html
|
@ -1,10 +1,10 @@
|
||||
清理 Ubuntu 14.10,14.04,13.10 系统
|
||||
如何清理你的 Ubuntu 14.10/14.04/13.10 系统
|
||||
================================================================================
|
||||
前面我们已经讨论了[如何清理 Ubuntu GNU/Linux 系统][1],这篇教程将在原有教程的基础上,增加对新的 Ubuntu 发行版本的支持,并介绍更多的工具。
|
||||
|
||||
假如你想清理你的 Ubuntu 主机,你可以按照以下的一些简单步骤来移除所有不需要的垃圾文件。
|
||||
|
||||
### 移除多余软件包 ###
|
||||
## 移除多余软件包 ##
|
||||
|
||||
这又是一个内置功能,但这次我们不必使用新得立包管理软件(Synaptic Package Manager),而是在终端中达到目的。
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
sudo apt-get autoclean
|
||||
```
|
||||
|
||||
这便激活了包清除命令。这个命令所做的工作是: 自动清除那些当你安装或升级程序时系统所缓存的 `.deb` 包(即清除 `/var/cache/apt/archives` 目录,不过只清理过时的包)。如果需要使用 清除命令,只需在终端窗口中键入以下命令:
|
||||
这便激活了包清除命令。这个命令所做的工作是: 自动清除那些当你安装或升级程序时系统所缓存的 `.deb` 包(即清除 `/var/cache/apt/archives` 目录,不过只清理过时的包)。如果需要使用清除命令,只需在终端窗口中键入以下命令:
|
||||
|
||||
```
|
||||
sudo apt-get clean
|
||||
@ -26,9 +26,9 @@ sudo apt-get clean
|
||||
sudo apt-get autoremove
|
||||
```
|
||||
|
||||
### 移除不需要的本地数据 ###
|
||||
## 移除不需要的本地化数据 ##
|
||||
|
||||
为达到此目的,我们需要安装 `localepurge` 软件,它将自动移除一些不需要的本地数据。这个软件是一个简单的脚本,它将从那些 不再需要的本地文件和本地联机手册( man pages ) 所占用的空间中回收磁盘空间。这个软件将在任何 apt 安装命令运行时 被自动激活。
|
||||
为达到此目的,我们需要安装 `localepurge` 软件,它将自动移除一些不需要的本地化数据(LCTT 译注:即各种语言翻译)。这个软件是一个简单的脚本,它将从那些不再需要的本地化文件和本地化联机手册( man pages ) 所占用的空间中回收磁盘空间。这个软件将在任何 apt 安装命令运行时 被自动激活。
|
||||
|
||||
在 Ubuntu 中安装 `localepurge`
|
||||
|
||||
@ -36,7 +36,7 @@ sudo apt-get autoremove
|
||||
sudo apt-get install localepurge
|
||||
```
|
||||
|
||||
在通过 `apt-get install` 安装任意软件后, localepurge 将移除所有 不是使用你系统中所设定语言的 翻译文件和翻译的联机手册。
|
||||
在通过 `apt-get install` 安装任意软件后, localepurge 将移除所有不是使用你系统中所设定语言的翻译文件和翻译的联机手册。
|
||||
|
||||
假如你想设置 `localepurge`,你需要编辑 `/ect/locale.nopurge` 文件。
|
||||
|
||||
@ -54,9 +54,9 @@ sudo apt-get install discus
|
||||
|
||||
> localepurge: Disk space freed in /usr/share/locale: 41860K
|
||||
|
||||
### 移除 孤包 ###
|
||||
## 移除孤包 ##
|
||||
|
||||
假如你想移除孤包,你需要安装 `deborphan` 软件:
|
||||
假如你想移除孤包,你需要安装 `deborphan` 软件:
|
||||
|
||||
在 Ubuntu 中安装 `deborphan` :
|
||||
|
||||
@ -72,11 +72,11 @@ sudo apt-get install deborphan
|
||||
sudo deborphan | xargs sudo apt-get -y remove --purge
|
||||
```
|
||||
|
||||
### 使用 GtkOrphan 来移除 孤包 ###
|
||||
### 使用 GtkOrphan 来移除孤包 ###
|
||||
|
||||
`GtkOrphan` (一个针对 debian 系发行版本的 Perl/Gtk2 应用) 是一个分析 用户安装过程状态并查找孤立库文件的图形化工具, 它为 `deborphan` 提供了一个 GUI 前端,并具备移除软件包的功能。
|
||||
`GtkOrphan` (一个针对 debian 系发行版本的 Perl/Gtk2 应用) 是一个分析用户安装过程状态并查找孤立库文件的图形化工具,它为 `deborphan` 提供了一个 GUI 前端,并具备移除软件包的功能。
|
||||
|
||||
### 在 Ubuntu 中安装 GtkOrphan ###
|
||||
#### 在 Ubuntu 中安装 GtkOrphan ####
|
||||
|
||||
打开终端并运行如下命令:
|
||||
|
||||
@ -90,11 +90,11 @@ sudo apt-get install gtkorphan
|
||||
|
||||
### 使用 Wajig 移除孤包 ###
|
||||
|
||||
`Wajig`是 Debian 包管理系统中一个简单的软件包管理前端。它将 apt、apt-cache、 dpkg、 /etc/init.d 中的脚本等 通过一个单一命令集成在一起,它的设计初衷是 使用简单 和 为它所包含的函数提供丰富的文档。
|
||||
`Wajig`是 Debian 包管理系统中一个简单的软件包管理前端。它将 apt、apt-cache、 dpkg、 /etc/init.d 中的脚本等 通过一个单一命令集成在一起,它的设计初衷是使用简单和为它的所有功能提供丰富的文档。
|
||||
|
||||
通过适当的 `sudo`配置,大多数(如果不是全部)的软件包安装和创建等任务可以通过 一个用户 shell 来完成。`Wajig` 也适用于一般的系统管理。另外,一个 Gnome GUI 命令 `gjig`也被囊括在这个软件包之中。
|
||||
通过适当的 `sudo`配置,大多数(如果不是全部)的软件包安装和创建等任务可以通过一个用户 shell 来完成。`Wajig` 也适用于一般的系统管理。另外,一个 Gnome GUI 命令 `gjig`也被囊括在这个软件包之中。
|
||||
|
||||
### 在 Ubuntu 中安装 Wajig ###
|
||||
#### 在 Ubuntu 中安装 Wajig ####
|
||||
|
||||
打开终端并运行如下命令:
|
||||
|
||||
@ -102,13 +102,13 @@ sudo apt-get install gtkorphan
|
||||
sudo apt-get install wajig
|
||||
```
|
||||
|
||||
### Debfoster --- 跟踪你在安装过程中的操作 ###
|
||||
## Debfoster --- 跟踪你在安装过程中的操作 ##
|
||||
|
||||
debfoster 将会维护一个列有 被明确要求安装的软件包的列表,但不包括那些作为某个软件的依赖而被安装的软件包。参数是完全可选的,你甚至可以使得 在 dpkg 和/或 apt-get 每次运行之后的每一秒内 激活 debfoster 。
|
||||
debfoster 将会维护一个列有被明确需要安装的软件包的列表,但不包括那些作为某个软件的依赖而被安装的软件包。参数是完全可选的,你甚至可以使得在 dpkg 和/或 apt-get 每次运行之后马上激活 debfoster 。
|
||||
|
||||
另外,你还可以在命令行中使用 debfoster 来安装或移除某些特定的软件包。那些后缀为 `---` 的软件包将会被移除,而没有后缀的软件包将会被安装。
|
||||
|
||||
假如一个新的软件包或 debfoster 注意到 作为某个软件包的依赖的软件包 是一个孤包,则 debfoster 将会询问你下一步如何操作。若你决定保留这个孤包, debfoster 将只会进行记录并继续安装过程;若你觉得这个软件包不足以引起你的兴趣,在 debfoster 询问这个问题后,它将移除这个软件包。进一步的,如果你的决定使得其他的软件包变为孤包,更多的提问将会接踵而来。
|
||||
假如一个新的软件包或 debfoster 注意到作为某个软件包的依赖的软件包是一个孤包,则 debfoster 将会询问你下一步如何操作。若你决定保留这个孤包, debfoster 将只会进行记录并继续安装过程;若你觉得这个软件包不足以引起你的兴趣,在 debfoster 询问这个问题后,它将移除这个软件包。进一步的,如果你的决定使得其他的软件包变为孤包,更多的提问将会接踵而来。
|
||||
|
||||
### 在 Ubuntu 中安装 debfoster ###
|
||||
|
||||
@ -120,13 +120,13 @@ sudo apt-get install debfoster
|
||||
|
||||
### 使用 debfoster ###
|
||||
|
||||
为了创建一个 初始跟踪文件,可以使用如下命令:
|
||||
为了创建一个初始跟踪文件,可以使用如下命令:
|
||||
|
||||
```
|
||||
sudo debfoster -q
|
||||
```
|
||||
|
||||
你总可以编辑 `/var/lib/debfoster/keepers` 文件,来定义那些 你想留在系统中的软件包。
|
||||
你总可以编辑 `/var/lib/debfoster/keepers` 文件,来定义那些你想留在系统中的软件包。
|
||||
|
||||
为了编辑这个文件,可以键入:
|
||||
|
||||
@ -134,7 +134,7 @@ sudo debfoster -q
|
||||
sudo vi /var/lib/debfoster/keepers
|
||||
```
|
||||
|
||||
强制使 debfoster 去移除 所有没有被列在上面这个文件的软件包 或 安装作为某些列在这个文件中的软件包的依赖, 它也会添加所有在这个列表中没有被安装的软件包。若要根据这个列表来执行相关操作,只需执行
|
||||
要强制使 debfoster 去移除所有没有被列在上面这个文件的软件包,或安装作为某些列在这个文件中的软件包的依赖,它也同时会添加所有在这个列表中没有被安装的软件包。若要根据这个列表来执行相关操作,只需执行:
|
||||
|
||||
```
|
||||
sudo debfoster -f
|
||||
@ -146,9 +146,9 @@ sudo debfoster -f
|
||||
sudo debfoster
|
||||
```
|
||||
|
||||
### xdiskusage -- 查看你的硬盘空间都去哪儿了 ###
|
||||
## xdiskusage -- 查看你的硬盘空间都去哪儿了 ##
|
||||
|
||||
图形化地展示磁盘使用情况的 du.xdiskusage 是一个用户友好型程序,它将为你展示你所有磁盘的使用情况。 它是在 Phillip C. Dykstra 所写的 “xdu” 程序的基础上设计的。一些改变使得它可以为你运行 “du”命令,并显示磁盘的剩余空间,并且假如你想清晰地了解你的磁盘空间都去哪儿了,它还可以生成一个 PostScript 格式的名为 display.xdiskusage 的文件。
|
||||
图形化地展示磁盘使用情况的 du。xdiskusage 是一个用户友好型的程序,它将为你展示你所有磁盘的使用情况。 它是在 Phillip C. Dykstra 所写的 “xdu” 程序的基础上设计的。做了一些修改以使得它可以为你运行 “du”命令,并显示磁盘的剩余空间,并且假如你想清晰地了解你的磁盘空间都去哪儿了,它还可以生成一个 PostScript 格式的名为 display.xdiskusage 的文件。
|
||||
|
||||
### 在 Ubuntu 中安装 xdiskusage ###
|
||||
|
||||
@ -169,9 +169,9 @@ sudo xdiskusage
|
||||

|
||||
|
||||
|
||||
### Bleachbit ###
|
||||
## Bleachbit ##
|
||||
|
||||
BleachBit 能快速地释放磁盘空间并不知疲倦地保护你的隐私。它可以 释放缓存,删除 cookie,清除 Internet 上网历史,粉碎临时文件,删除日志,丢弃你所不知道存在何处的垃圾。为 Linux 和 Windows 系统设计,它支持擦除清理数以千计的应用程序,如 Firefox, Internet Explorer, Adobe Flash, Google Chrome, Opera, Safari 等等。除了简单地删除文件,BleachBit 还包括许多高级功能,诸如 粉碎文件以防止恢复,擦除磁盘空间 来隐藏被其他应用程序所删除文件的痕迹,为火狐“除尘”,使其速度更快等。比免费更好,BleachBit 是一个开源软件。
|
||||
BleachBit 能快速地释放磁盘空间并不知疲倦地保护你的隐私。它可以释放缓存,删除 cookie,清除 Internet 上网历史,粉碎临时文件,删除日志,丢弃你所不知道存在何处的垃圾。为 Linux 和 Windows 系统而设计,它支持擦除清理数以千计的应用程序,如 Firefox, Internet Explorer, Adobe Flash, Google Chrome, Opera, Safari 等等。除了简单地删除文件,BleachBit 还包括许多高级功能,诸如粉碎文件以防止恢复,擦除磁盘空间来隐藏被其他应用程序所删除文件的痕迹,为火狐“除尘”,使其速度更快等。比免费更好,BleachBit 是一个开源软件。
|
||||
|
||||
### 在 Ubuntu 中安装 Bleachbit ###
|
||||
|
||||
@ -195,10 +195,10 @@ via: http://www.ubuntugeek.com/cleaning-up-a-ubuntu-gnulinux-system-updated-with
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ubuntugeek.com/author/ubuntufix
|
||||
[1]:http://www.ubuntugeek.com/cleaning-up-all-unnecessary-junk-files-in-ubuntu.html
|
||||
[2]:http://www.ubuntugeek.com/www.ubuntugeek.com/install-ubuntu-tweak-on-ubuntu-14-10.html
|
||||
[2]:http://linux.cn/article-3335-1.html
|
@ -1,4 +1,4 @@
|
||||
如何用‘slay’杀掉指定用户的所有进程
|
||||
用‘slay’干掉某个用户的所有进程
|
||||
================================================================================
|
||||
**slay** 是**Chris Ausbrooks**写的一款用于杀掉指定用户所有运行进程的命令行工具。slay对系统管理员而言在找出那些不应该运行进程的用户是很有用的。
|
||||
|
||||
@ -31,19 +31,19 @@ slay在大多数发行版中都有官方仓库。
|
||||
~ sudo slay amitooo
|
||||
slay: Done.
|
||||
|
||||

|
||||

|
||||
|
||||
当slay运行完成后,你应该就可以看到反馈了。
|
||||
|
||||
享受吧。
|
||||
爽吧?!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/kill-processes-specific-user-slay/
|
||||
|
||||
作者:[ Enock Seth Nyamador][a]
|
||||
作者:[Enock Seth Nyamador][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,17 +1,18 @@
|
||||
如何不用重启在CentOS 7/ RHEL 7中添加一块新硬盘
|
||||
如何不用重启在CentOS 7/ RHEL 7虚拟机中添加一块新硬盘
|
||||
================================================================================
|
||||
通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载。这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可见。这里有一个简单的命令来重新扫描SCSI总线和SCSI设备。下面这几步在CentOS 7 和RHEL 7 中测试过。
|
||||
|
||||
1. 在ESXi或者vCenter中添加一块新的20G硬盘:
|
||||
|
||||

|
||||

|
||||
|
||||
2. 显示当前磁盘分区:
|
||||
|
||||
[root@centos7 ~]# fdisk -l
|
||||
[root@centos7 ~]# fdisk -l
|
||||
|
||||
----------
|
||||
----------
|
||||
|
||||
```
|
||||
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
|
||||
Units = sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
@ -33,20 +34,22 @@
|
||||
Units = sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
```
|
||||
|
||||
3. 确定主机总线号
|
||||
|
||||
[root@centos7 ~]# ls /sys/class/scsi_host/
|
||||
host0 host1 host2
|
||||
[root@centos7 ~]# ls /sys/class/scsi_host/
|
||||
host0 host1 host2
|
||||
|
||||
4. 重新扫描SCSI总线来添加设备
|
||||
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
|
||||
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
|
||||
|
||||
5. 验证磁盘和分区并确保20GB硬盘已经添加了。在本例中,出现了下面这行 “Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors” 并且确认新盘添加后没有重启服务器:
|
||||
5. 验证磁盘和分区并确保20GB硬盘已经添加了。在本例中,出现了下面这行 “`Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors`” 并且可以确认没有重启服务器就添加了新盘:
|
||||
|
||||
```
|
||||
[root@centos7 ~]# fdisk -l
|
||||
|
||||
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
|
||||
@ -76,14 +79,14 @@
|
||||
Units = sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
```
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ehowstuff.com/how-to-add-a-new-hard-disk-without-rebooting-on-centos-7-rhel-7/
|
||||
|
||||
作者:[skytech][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,107 @@
|
||||
性能优化:使用ramlog将日志文件转移到内存中
|
||||
================================================================================
|
||||
Ramlog 以系统守护进程的形式运行。在系统启动时它创建虚拟磁盘(ramdisk),将 /var/log 下的文件复制到虚拟磁盘中,同时把虚拟磁盘挂载为/var/log。然后所有的日志就会更新到虚拟磁盘上。而当 ramlog 重启或停止时,需要记录到硬盘上的日志就会保留在目录/var/log.hdd中。而关机的时候,(ramdisk上的)日志文件会重新保存到硬盘上,以确保日志一致性。Ramlog 2.x默认使用tmpfs文件系统,同时也可以支持ramfs和内核ramdisk。使用rsync(译注:Linux数据镜像备份工具)这个工具来同步日志。
|
||||
|
||||
注意:如果突然断电或者内核崩溃(kernel panic)时,没有保存进硬盘的日志将会丢失。
|
||||
|
||||
如果你拥有够多的可用内存,而又想把日志放进虚拟磁盘,就安装ramlog吧。它是笔记本用户、带有UPS的系统或是直接在flash中运行的系统的优良选择,可以节省日志的写入时间。
|
||||
|
||||
Ramlog的运行机制以及步骤如下:
|
||||
|
||||
1. Ramlog 由第一个守护进程(这取决于你所安装过的其它守护进程)启动。
|
||||
|
||||
2. 然后创建目录/var/log.hdd并将其硬链至/var/log。
|
||||
|
||||
3. 如果使用的是tmpfs(默认)或者ramfs 文件系统,将其挂载到/var/log上。
|
||||
|
||||
4. 而如果使用的是内核ramdisk,ramdisk会在/dev/ram9中创建,并将其挂载至/var/log。默认情况下ramlog会占用所有ramdisk的内存,其大小由内核参数"ramdisk_size"指定。
|
||||
|
||||
5. 接着其它的守护进程被启动,并在ramdisk中更新日志。Logrotate(译注:Linux日志轮替工具)和 ramdisk 配合的也很好。
|
||||
|
||||
6. 重启(默认一天一次)ramlog时,目录/var/log.hdd将借助rsync与/var/log保持同步。日志自动保存的频率可以通过cron(译注:Linux例行性工作调度)来控制。默认情况下,ramlog 的调度任务放置在目录/etc/cron.daily下。
|
||||
|
||||
7. 系统关机时,ramlog在最后一个守护进程关闭之前关闭。
|
||||
|
||||
8. 在ramlog关闭期间,/var/log.hdd中的文件将被同步至/var/log,接着/var/log和/var/log.hdd都被卸载,然后删除空目录/var/log.hdd。
|
||||
|
||||
**注意:- 此文仅面向高级用户**
|
||||
|
||||
### 在Ubuntu中安装Ramlog ###
|
||||
|
||||
首先需要用以下命令,从[这里][1]下载.deb安装包:
|
||||
|
||||
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
||||
|
||||
下载ramlog\_2.0.0\_all.deb安装包完毕,使用以下命令进行安装:
|
||||
|
||||
sudo dpkg -i ramlog_2.0.0_all.deb
|
||||
|
||||
这一步会完成整个安装,现在你需要运行以下命令:
|
||||
|
||||
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6 .
|
||||
|
||||
现在,在更新sysklogd的初始化顺序,使之能在ramlog停止运行前正确关闭:
|
||||
|
||||
sudo update-rc.d -f sysklogd remove
|
||||
|
||||
sudo update-rc.d sysklogd start 10 2 3 4 5 . stop 90 0 1 6 .
|
||||
|
||||
然后重启系统:
|
||||
|
||||
sudo reboot
|
||||
|
||||
系统重启完毕,运行'ramlog getlogsize'来获取你当前的/var/log的空间大小。在此基础之上多分配40%的空间,确保ramdisk有足够的空间(这整个都将作为ramdisk的空间大小)。
|
||||
|
||||
编辑引导配置文件,如/etc/grub.conf,、/boot/grub/menu.lst 或/etc/lilo.conf(译注:具体哪个配置文件视不同引导加载程序而定),给你的当前内核的新增选项 'ramdisk_size=xxx' ,其中xxx是ramdisk的空间大小。
|
||||
|
||||
### 配置Ramlog ###
|
||||
|
||||
基于deb的系统中,Ramlog的配置文件位于/etc/default/ramlog,你可以在该配置文件中设置以下变量:
|
||||
|
||||
RAMDISKTYPE=0
|
||||
# 取值:
|
||||
# 0 -- tmpfs (可被交换到交换分区) -- 默认
|
||||
# 1 -- ramfs (旧内核不能设置最大空间大小,
|
||||
# 不能被交换到交换分区,和 SELinux 不兼容)
|
||||
# 2 -- 老式的内核 ramdisk
|
||||
TMPFS_RAMFS_SIZE=
|
||||
# 可以用于 tmpfs 或 ramfs 的最大内存大小
|
||||
# 这个值可以是百分比或数值(单位是 Mb),例如:
|
||||
# TMPFS_RAMFS_SIZE=40%
|
||||
# TMPFS_RAMFS_SIZE=100m
|
||||
# 该值为空表示 tmpfs/ramfs 的大小是全部内存的 50%
|
||||
# 更多选项可以参考 ‘man mount' 中的‘Mount options for tmpfs' 一节
|
||||
# (补充,在较新的内核中,ramfs 支持大小限制,
|
||||
# 虽然 man 中说没有这个挂载选项)
|
||||
# 该选项仅用于 RAMDISKTYPE=0 或 1 时
|
||||
KERNEL_RAMDISK_SIZE=MAX
|
||||
#以 kb 为单位指定的内核 ramdisk 大小,或者使用 MAX 来使用整个 ramdisk。
|
||||
#该选项仅用于 RAMDISKTYPE=2 时
|
||||
LOGGING=1
|
||||
# 0=关闭, 1=打开 。记录自身的日志到 /var/log/ramdisk
|
||||
LOGNAME=ramlog
|
||||
# 自身的日志文件名 (用于 LOGGING=1时)
|
||||
VERBOSE=1
|
||||
# 0=关闭, 1=打开 (设置为 1时,启动或停止失败时会调用 teststartstop 将细节
|
||||
# 写到日志中)
|
||||
|
||||
### 在Ubuntu中卸载ramlog ###
|
||||
|
||||
打开终端运行以下命令:
|
||||
|
||||
sudo dpkg -P ramlog
|
||||
|
||||
注意:如果ramlog卸载之前仍在运行,需要重启系统完成整个卸载工作。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ubuntugeek.com/improve-system-performance-by-moving-your-log-files-to-ram-using-ramlog.html
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[soooogreen](https://github.com/soooogreen)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ubuntugeek.com/author/ubuntufix
|
||||
[1]:http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
@ -1,12 +1,12 @@
|
||||
怎样在 Linux 中限制网络带宽
|
||||
怎样在 Linux 中限制网络带宽使用
|
||||
================================================================================
|
||||
假如你经常在 Linux 桌面上运行多个网络应用,或在家中让多台电脑共享带宽;(这时,)你可能想更好地控制带宽的使用。否则,当你使用下载器下载一个大文件时,交互式 SSH 会话可能会变得缓慢以至不可用;或者当你通过 Dropbox 来同步一个大文件夹时,你的室友可能会抱怨在她的电脑上,视频流变得断断续续。
|
||||
假如你经常在 Linux 桌面上运行多个网络应用,或在家中让多台电脑共享带宽;那么你可能想更好地控制带宽的使用。否则,当你使用下载器下载一个大文件时,交互式 SSH 会话可能会变得缓慢以至不可用;或者当你通过 Dropbox 来同步一个大文件夹时,你的室友可能会抱怨在她的电脑上,视频流变得断断续续。
|
||||
|
||||
在本教程中,我将为你描述两种 在 Linux 中限制网络流量速率的不同方法。
|
||||
在本教程中,我将为你描述两种在 Linux 中限制网络流量速率的不同方法。
|
||||
|
||||
### 在 Linux 中限制一个应用的速率 ###
|
||||
|
||||
限制网络流量速率的一种方法是通过一个名为[trickle][1]的命令行工具。通过在程序运行时,预先加载一个 速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 关于 trickle 命令的一个很好的特征是 它仅在用户空间中运行,这意味着,你不必需要 root 权限来达到限制一个程序的带宽使用的目的。为了与 trickle 程序兼容,这个特定程序必须使用没有静态链接库的套接字接口。当你想对一个不具有内置带宽控制功能的程序进行速率限制时,trickle 可以帮得上忙。
|
||||
限制网络流量速率的一种方法是通过一个名为[trickle][1]的命令行工具。通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root 权限就可以限制一个程序的带宽使用。要能使用 trickle 程序控制程序的带宽,这个程序就必须使用非静态链接库的套接字接口。当你想对一个不具有内置带宽控制功能的程序进行速率限制时,trickle 可以帮得上忙。
|
||||
|
||||
在 Ubuntu,Debian 及其衍生发行版中安装 trickle :
|
||||
|
||||
@ -20,10 +20,10 @@ $ sudo apt-get install trickle
|
||||
$ sudo yum install trickle
|
||||
```
|
||||
|
||||
trickle 的基本使用方法如下。仅需简单地把 trickle 命令(带有速率参数)放在你想运行的命令之前。
|
||||
trickle 的基本使用方法如下。仅需简单地把 trickle 命令(及速率参数)放在你想运行的命令之前。
|
||||
|
||||
```
|
||||
$ trickle -d <download-rate> -u <upload-rate> <command>
|
||||
$ trickle -d <download-rate> -u <upload-rate> <command>
|
||||
```
|
||||
|
||||
这就可以将 `<command>` 的下载和上传速率限定为特定值(单位 KBytes/s)。
|
||||
@ -34,27 +34,27 @@ $ trickle -d <download-rate> -u <upload-rate> <command>
|
||||
$ trickle -u 100 scp backup.tgz alice@remote_host.com:
|
||||
```
|
||||
|
||||
如若你想,你可以使用下面的命令为你的 Firefox 浏览器设定最大下载速率(e.g. , 300 KB/s),通过产生一个[自定义启动器][3]的方式。
|
||||
如若你想,你可以通过创建一个[自定义启动器][3]的方式,使用下面的命令为你的 Firefox 浏览器设定最大下载速率(例如, 300 KB/s)。
|
||||
|
||||
```
|
||||
trickle -d 300 firefox %u
|
||||
```
|
||||
|
||||
最后, trickle 也可以 以守护进程模式运行,在该模式下,它将会限制所有通过 trickle 启动且正在运行的程序的总的带宽和。 启动 trickle 使其作为一个守护进程(i.e., trickled):
|
||||
最后, trickle 也可以以守护进程模式运行,在该模式下,它将会限制所有通过 trickle 启动且正在运行的程序的总带宽之和。 启动 trickle 使其作为一个守护进程(例如, trickled):
|
||||
|
||||
```
|
||||
$ sudo trickled -d 1000
|
||||
```
|
||||
|
||||
一旦 trickled 守护进程在后台运行,你便可以通过 trickle 命令来启动其他程序。假如你通过 trickle 启动一个程序,那么这个程序的最大下载速率将是 1000 KB/s, 假如你再通过 trickle 启动了另一个程序,则每个程序的(下载)速率极限将会被限制为 500 KB/s, 等等。
|
||||
一旦 trickled 守护进程在后台运行,你便可以通过 trickle 命令来启动其他程序。假如你通过 trickle 启动一个程序,那么这个程序的最大下载速率将是 1000 KB/s, 假如你再通过 trickle 启动了另一个程序,则每个程序的(下载)速率极限将会被限制为 500 KB/s,等等。
|
||||
|
||||
### 在 Linux 中限制一个网络接口的速率 ###
|
||||
|
||||
另一种控制你的带宽资源的方式是在每一个接口上限制带宽。这在你与其他人分享你的网络连接的上行带宽时尤为实用。同其他一样,Linux 有一个工具来为你做这件事。[wondershaper][4]恰好执行限制网络接口速率的任务。
|
||||
另一种控制你的带宽资源的方式是在每一个接口上限制带宽。这在你与其他人分享你的网络连接的上行带宽时尤为实用。同其他一样,Linux 有一个工具来为你做这件事。[wondershaper][4]就是干这个的。
|
||||
|
||||
wondershaper 实际上是一个 shell 脚本,它使用 [tc][5] 来定义流量调整命令,使用 QoS 来处理特定的网络接口。通过放置被赋予不同的优先级的传出流量在一个队列中,达到限制传出流量速率的目的, 而传入流量通过丢包的方式来达到速率限制的目的。
|
||||
wondershaper 实际上是一个 shell 脚本,它使用 [tc][5] 来定义流量调整命令,使用 QoS 来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
|
||||
|
||||
事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量下载或上传正在进行时,wondershaper 还试图去保持互动性会话如SSH 的低延迟。同样的,它还确保批量上传(e.g. , Dropbox 的同步)不会使得下载“窒息”,反之亦然。
|
||||
事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量下载或上传正在进行时,wondershaper 还试图去保持互动性会话如 SSH 的低延迟。同样的,它还会控制批量上传(例如, Dropbox 的同步)不会使得下载“窒息”,反之亦然。
|
||||
|
||||
在 Ubuntu Debian 及其衍生发行版本 中安装 wondershaper:
|
||||
|
||||
@ -62,9 +62,9 @@ wondershaper 实际上是一个 shell 脚本,它使用 [tc][5] 来定义流量
|
||||
$ sudo apt-get install wondershaper
|
||||
```
|
||||
|
||||
在 Fdora 或 CentOS/RHEL (带有 [EPEL 软件仓库][2]) 中安装 wondershaper:(注:这里 链接 2 和 6 一样,可以删除其中之一)
|
||||
在 Fdora 或 CentOS/RHEL (带有 [EPEL 软件仓库][2]) 中安装 wondershaper:
|
||||
|
||||
``
|
||||
```
|
||||
$ sudo yum install wondershaper
|
||||
```
|
||||
|
||||
@ -90,7 +90,7 @@ $ sudo wondershaper clear eth0
|
||||
|
||||
### 总结 ###
|
||||
|
||||
在本教程中,我介绍了两种不同的方法,来达到如何在 Linux 桌面环境中,控制每个应用或每个接口的带宽使用的目的。 这些工具对用户都及其友好,都为用户提供了一个快速且容易的方式来调整或限制流量。 对于那些想更多地了解如何在 Linux 中进行速率控制的读者,请参考 [the Linux bible][7].
|
||||
在本教程中,我介绍了两种不同的方法,来达到如何在 Linux 桌面环境中,控制每个应用或每个接口的带宽使用的目的。 这些工具的使用都很简单,都为用户提供了一个快速且容易的方式来调整或限制流量。 对于那些想更多地了解如何在 Linux 中进行速率控制的读者,请参考 [the Linux bible][7].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -98,15 +98,15 @@ via: http://xmodulo.com/limit-network-bandwidth-linux.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:http://monkey.org/~marius/trickle
|
||||
[2]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
|
||||
[2]:http://linux.cn/article-2324-1.html
|
||||
[3]:http://xmodulo.com/create-desktop-shortcut-launcher-linux.html
|
||||
[4]:http://lartc.org/wondershaper/
|
||||
[5]:http://lartc.org/manpages/tc.txt
|
||||
[6]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
|
||||
[6]:http://linux.cn/article-2324-1.html
|
||||
[7]:http://www.lartc.org/lartc.html
|
@ -1,14 +1,14 @@
|
||||
LinSSID - 一款Linux下的图形化Wi-Fi扫描器
|
||||
LinSSID:一款Linux下的图形化Wi-Fi扫描器
|
||||
================================================================================
|
||||
### 介绍 ###
|
||||
|
||||
如你所知,**LinSSID** 是一款可以用于寻找可用无线网络的图形化软件。它完全开源,用C++写成,使用了Linux无线工具、Qt5、Qwt6.1,它在外观和功能上与**Inssider** (MS Windows)相近。
|
||||
你可能知道,**LinSSID** 是一款可以用于寻找可用无线网络的图形化软件。它完全开源,用C++写成,使用了Linux wireless tools、Qt5、Qwt6.1,它在外观和功能上与**Inssider** (MS Windows 下的)相近。
|
||||
|
||||
### 安装 ###
|
||||
|
||||
你可以使用源码安装,如果你使用的是基于DEB的系统比如Ubuntu和LinuxMint等等,你也可以使用PPA安装。
|
||||
|
||||
你可用从[this link][1]这个链接下载并安装LinSSID。
|
||||
你可用从[这个][1]下载并安装LinSSID。
|
||||
|
||||
这里我门将使用PPA来安装并测试这个软件。
|
||||
|
||||
@ -22,22 +22,21 @@ LinSSID - 一款Linux下的图形化Wi-Fi扫描器
|
||||
|
||||
安装完成之后,你可以从菜单或者unity中启动。
|
||||
|
||||
你将被要求输入管理员密码。
|
||||
你需要输入管理员密码。
|
||||
|
||||

|
||||

|
||||
|
||||
这就是LinSSID的界面。
|
||||
|
||||

|
||||

|
||||
|
||||
现在选择你想要连接无线网络的网卡,比如这里是wlan0.点击Play按钮来搜寻wi-fi网络列表。
|
||||
现在选择你想要连接无线网络的网卡,比如这里是wlan0,点击Play按钮来搜寻wi-fi网络列表。
|
||||
|
||||
几秒钟之后,LinSSID就会显示wi-fi网络了。
|
||||
|
||||

|
||||
|
||||
如你在上面的截屏中所见,LinSSID显示SSID名、MAC ID、通道、隐私、加密方式、信号和协议等等信息。当然,你可以让LinSSID显示更多的选项,比如安全、带宽等等。要显示这些,进入**View**菜单并选择需要的选项。同样,它显示了不同通道中的信号随着时间信号强度的变化。最后,它可以工作在2.4Ghz和5Ghz通道上。
|
||||

|
||||
|
||||
如你在上面的截屏中所见,LinSSID显示SSID名、MAC ID、通道、隐私、加密方式、信号和协议等等信息。当然,你可以让LinSSID显示更多的选项,比如安全设置、带宽等等。要显示这些,进入**View**菜单并选择需要的选项。同样,它显示了不同的通道中的信号随着时间信号强度的变化。最后,它可以工作在2.4Ghz和5Ghz通道上。
|
||||
|
||||
就是这样。希望这个工具对你有用。
|
||||
|
||||
@ -53,7 +52,7 @@ via: http://www.unixmen.com/linssid-graphical-wi-fi-scanner-linux/
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
31
published/201503/20150127 Windows 10 versus Linux.md
Normal file
31
published/201503/20150127 Windows 10 versus Linux.md
Normal file
@ -0,0 +1,31 @@
|
||||
Windows 10 VS Linux
|
||||
================================================================================
|
||||

|
||||
|
||||
前阵子 Windows 10 好像占据了绝大部分头条,甚至在一些Linux圈里也是一样。最具代表性的是 betanews.com 的 Brian Fagioli 说 Windows 10 已经为 Linux 桌面系统敲响了丧钟,Microsoft 如今宣布将为忠实的 Windows 用户免费提供 Windows 10,Steven J. Vaughan-Nichols 说这是一个最新的开源公司,然后 Matt Hartley 比较了 Windows 10 和 Ubuntu,Jesse Smith 从 Linux 用户的视角对 Windows 10 做出评估。
|
||||
|
||||
**Windows 10**,在 Microsoft [声明][1]说将免费提供给 Windows 7 及以上用户,这件事成为如今大家闲聊的热门话题。在 Linuxland 这里,也没有被忽视。betanews.com 的 Brian Fagioli,一个自封的 Linux 粉丝,如今这样说,“ Windows 10 把门彻底关上了。Linux 桌面元年将永远不会到来,歇歇吧。”[Fagioli解释][2]说 Microsoft 倾听了用户的抱怨而且并不只是记录一下,还更好地解决了这些问题。他说 Linux 错失了由 Windows 8 不受欢迎以及巨大失败带来的机会。然后他总结,拜 Windows 10 所赐,处于边缘地带的我们只能接受一个“破碎的梦”。
|
||||
|
||||
不过,来自闻名的 Distrowatch.com 的 Jesse Smith 说 Microsoft 并没有提供一个很明显的下载方式,不过确实可行而且它也升级了。安装程序非常简单,除了分区功能很有限甚至有点吓人。在最终启动进入 Windows 10 后,Smith说界面布局很“松散”,没有 Win7 里被很多人讨厌的大量分散注意的元素,开始菜单又回来了,取消了欢迎屏幕。据Smith所说,还有一个很类似 Ubuntu 和 Android 的新的包管理程序,不过需要 Microsoft 在线账户才可以使用。[Smith的总结][3]里有这样一条,“感觉 Windows 10 像是 Android 的早期 beta 版本,一个设计成时刻保持在线的消费者操作系统。而不像是一个我能用来完成工作的操作系统。”
|
||||
|
||||
**S**mith的[完整文章][4]里比较了 Windows 10 和 Linux 的大量细节,不过 Matt Hartley 发表了一份实在的 Windows 10 vs Linux 的报告。[他说][5]两者的安装程序都很直观和简单,Windows 的双启动仍然没那么容易,Windows 默认提供了加密而 Ubuntu 只提供了配置选项。在桌面方面 Hartley 说 Windows 10 “纠结地丢弃了它 Windows 8 的根。”他觉得 Windows 10 的 Windows 商店比 Ubuntu 的漂亮很多,但是实在不喜欢通过“一切都是卡片”的方式来查看新安装的应用。Hartley这样总结,“首先是它将为大量 Windows 用户提供免费升级。这意味着大大降低了进入和升级门槛。第二,看起来 Microsoft 这次真的在全力以赴地倾听他们的用户需求了。”
|
||||
|
||||
**S**teven J. Vaughan-Nichols 如今声称 Microsoft 是最新的开源公司;不仅因为它将发布 Windows 10 的免费升级,而且 Microsoft 正在从一个软件公司转型为一个软件服务公司。然后,据 Vaughan-Nichols 所说,Microsoft 需要开源来完成这次转型。从Novell/SUSE开始,他们已经致力于这一块儿好多年了。不仅如此,他们也发布过开源软件(不管什么目的)。[Vaughan-Nichols总结][6],“很多人不这么认为,但是Microsoft——就是Microsoft——已经成为一家开源公司。”
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/windows-10-versus-linux
|
||||
|
||||
作者:[Susan Linton][a]
|
||||
译者:[zpl1025](https://github.com/zpl1025)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://ostatic.com/member/susan-linton
|
||||
[1]:https://news.google.com/news/section?q=microsoft+windows+10+free&ie=UTF-8&oe=UTF-8
|
||||
[2]:http://betanews.com/2015/01/25/windows-10-is-the-final-nail-in-the-coffin-for-the-linux-desktop/
|
||||
[3]:http://blowingupbits.com/2015/01/an-outsiders-perspective-on-windows-10-preview/
|
||||
[4]:http://blowingupbits.com/2015/01/an-outsiders-perspective-on-windows-10-preview/
|
||||
[5]:http://www.datamation.com/open-source/windows-vs-linux-the-2015-version-1.html
|
||||
[6]:http://www.zdnet.com/article/microsoft-the-open-source-company/
|
@ -1,14 +1,14 @@
|
||||
如何用wifi-linux检测AP信号强度
|
||||
================================================================================
|
||||
作为一名python极客,我喜欢在github上发现新的针对linux用户的python工具。今天我发现了一款用python写成的用于检测AP信号强度的工具。
|
||||
作为一名python极客,我喜欢在github上挖掘新的用于linux用户的python工具。今天我发现了一款用python写成的用于检测AP信号强度的工具:wifi-linux。
|
||||
|
||||
我已经在**wifi-linux**上实验了大约两个小时,并且它工作的很好但是我希望在不久的将来在作者那里看到一些单元测试,因为命令**plot**无法在我的电脑上工作,并且会导致一些问题。
|
||||
|
||||
### 什么是wifi-linux ###
|
||||
|
||||
根据github作者账号的官方的offical readme.md文件, wifi-linux是一个简单的收集你周围AP的RSSI信息的python脚本,它还会画出RSSI活动图形。
|
||||
根据github上作者账号的官方的 readme.md文件, wifi-linux是一个简单的收集你周围AP的RSSI信息的python脚本,它还会画出RSSI活动图形。
|
||||
|
||||
,这同样可以用命令plot生成,但是不幸的是,这对我不可行。wifi-linux支持其他的命令,比如**bp** 来加入一个断点,**print**会打印一些统计和**启动开关**。
|
||||
作者说可以在该程序中可以使用plot命令绘制RSSI 活动图形,但是不幸的是,这对我不可行。wifi-linux也支持其他的命令,比如**bp** 来加入一个断点,**print**会打印一些统计和**启动开关**。
|
||||
|
||||
wifi-linux程序有下面这些依赖:
|
||||
|
||||
@ -19,15 +19,15 @@ wifi-linux程序有下面这些依赖:
|
||||
|
||||
### 安装wifi-linux需要的包 ###
|
||||
|
||||
我怕尝试使用python包管理工具pip安装python-dbus但是失败了,因为pip会查找setup.py,但是python-dbus中没有。因此下面的命令不工作。
|
||||
我尝试使用python包管理工具pip安装python-dbus但是失败了,因为pip会查找setup.py,但是python-dbus中没有。因此下面的命令不工作。
|
||||
|
||||
pip install dbus-python
|
||||
|
||||
你可以试一下但是很有可能会在终端中下面的错误。
|
||||
你可以试一下但是很有可能会在终端中出现下面的错误。
|
||||
|
||||
IOError: [Errno 2] No such file or directory: '/tmp/pip_build_oltjano/dbus-python/setup.py'
|
||||
|
||||
我该怎么解决这个问题呢?很简单,用下面命令中的系统包管理工具安装Python DBUS。
|
||||
我该怎么解决这个问题呢?很简单,用下面命令中的系统包管理工具来安装Python DBUS。
|
||||
|
||||
sudo apt-get install python-dbus
|
||||
|
||||
@ -69,7 +69,7 @@ wifi-linux程序有下面这些依赖:
|
||||
|
||||

|
||||
|
||||
命令**print**可以用于显示你机器的状态。下面就是一个例子。
|
||||
命令**print**可以用于在终端上显示你机器的状态。下面就是一个例子。
|
||||
|
||||

|
||||
|
||||
@ -79,7 +79,7 @@ via: http://linoxide.com/linux-how-to/monitor-access-point-signal-strength-wifi-
|
||||
|
||||
作者:[Oltjano Terpollari][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,6 +1,6 @@
|
||||
Linux 基础:如何在Ubuntu上检查是否已经安装了一个包
|
||||
Linux 基础:如何在Ubuntu上检查一个软件包是否安装
|
||||
================================================================================
|
||||

|
||||

|
||||
|
||||
如果你正在管理Debian或者Ubuntu服务器,你也许会经常使用**dpkg** 或者 **apt-get**命令。这两个命令用来安装、卸载和更新包。
|
||||
|
||||
@ -51,7 +51,7 @@ Linux 基础:如何在Ubuntu上检查是否已经安装了一个包
|
||||
+++-====================================-=======================-=======================-=============================================================================
|
||||
ii firefox 35.0+build3-0ubuntu0.14 amd64 Safe and easy web browser from Mozilla
|
||||
|
||||
要列出你系统中安装的包,输入下面的命令:
|
||||
要列出你系统中安装的所有包,输入下面的命令:
|
||||
|
||||
dpkg --get-selections
|
||||
|
||||
@ -97,7 +97,7 @@ Linux 基础:如何在Ubuntu上检查是否已经安装了一个包
|
||||
libgcc1:amd64 install
|
||||
libgcc1:i386 install
|
||||
|
||||
额外的,你可以使用“**-L**”参数来找出包中文件的位置。
|
||||
此外,你可以使用“**-L**”参数来找出包中文件的位置。
|
||||
|
||||
dpkg -L gcc-4.8
|
||||
|
||||
@ -130,7 +130,7 @@ via: http://www.unixmen.com/linux-basics-check-package-installed-not-ubuntu/
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,47 @@
|
||||
WordPress 可以触发 Linux 上的 Ghost 缺陷
|
||||
-----
|
||||
*建议用户马上更新可用的补丁*
|
||||
|
||||

|
||||
|
||||
**这个漏洞之前由Qualys的安全研究员发现,并取了绰号叫[Ghost](1),可以利用WordPress或其他PHP应用来攻击网站服务器。**
|
||||
|
||||
这个瑕疵是一个缓冲区溢出问题,可以被攻击者触发用来获取Linux主机的命令行执行权限。发生在glibc的“`__nss_hostname_digits_dots()`”函数中,它会被“gethostbyname()”函数用到。
|
||||
|
||||
###PHP应用可以用来利用这个瑕疵
|
||||
|
||||
Sucuri的Marc-Alexandre Montpas说之所以这个问题很重要是因为这些函数在大量软件和服务器系统使用。
|
||||
|
||||
“说这是个严重问题的一个例子是WordPress本身:它使用一个叫`wp_http_validate_url()`的函数来验证每个pingback的发送URL,它是通过PHP应用的“gethostbyname()”函数替代来执行的”,他在周三的一篇博客文章里写到。
|
||||
|
||||
攻击者可以用这种方式来引入一个设计用来触发服务器端漏洞的恶意URL,从而获得系统访问权限。
|
||||
|
||||
实际上,Trustwave的安全研究人员提供了[验证][2]代码,可以使用WordPress的pingback功能引起缓冲区溢出。
|
||||
|
||||
###多个Linux发行版受到影响
|
||||
|
||||
ghost漏洞存在于glibc 2.17以上版本中,发布于2013年5月21日。glibc当前版本是2.20,发布于2014年9月。
|
||||
|
||||
不过,当时并没有升级为一个安全补丁,许多发行版并没有包含进去,特别是提供长期支持(LTS)的发行版。
|
||||
|
||||
受影响的系统包括Debian 7(wheezy),Red Hat企业版Linux 6和7,CentOS 6和7,Ubuntu 12.04。幸运的是,Linux供应商已经开始发布可以减轻风险的升级补丁。建议用户马上下载并更新。
|
||||
|
||||
为了展示这个漏洞,Qualys建立了一个利用它通过Exim邮件服务器运行远程代码的试验页面。这家安全公司声称在这个漏洞丢掉半条命之前不会关闭这个页面,意思是受影响的系统的数量降到50%的水平。
|
||||
|
||||
Linux上存在漏洞的应用包括clockdiff,ping和arping(在某些特定情况下),procmail,pppd,和Exim邮件服务器。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/WordPress-Can-Be-Used-to-Leverage-Critical-Ghost-Flaw-in-Linux-471730.shtml
|
||||
|
||||
本文发布时间:30 Jan 2015, 17:36 GMT
|
||||
|
||||
作者:[Ionut Ilascu][a]
|
||||
译者:[zpl1025](https://github.com/zpl1025)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://news.softpedia.com/editors/browse/ionut-ilascu
|
||||
[1]:http://news.softpedia.com/news/Linux-Systems-Affected-by-14-year-old-Vulnerability-in-Core-Component-471428.shtml
|
||||
[2]:http://blog.spiderlabs.com/2015/01/ghost-gethostbyname-heap-overflow-in-glibc-cve-2015-0235.html
|
@ -1,9 +1,8 @@
|
||||
如何在CentOS 7.0上为Subverison安装Websvn
|
||||
如何在CentOS 7.0 安装 Websvn
|
||||
================================================================================
|
||||
大家好,今天我们会在CentOS 7.0 上为subversion安装WebSVN。
|
||||
|
||||
WebSVN提供了Svbverion中的各种方法来查看你的仓库。我们可以看到任何给定版本的任何文件或者目录的日志并且看到所有文件改动、添加、删除的列表。我们同样可以看到两个版本间的不同来知道特定版本改动了什么。
|
||||
大家好,今天我们会在CentOS 7.0 上为 subversion(SVN)安装Web 界面 WebSVN。(subverion 是 apache 的顶级项目,也称为 Apache SVN 或 SVN)
|
||||
|
||||
WebSVN 将 Svbverion 的操作你的仓库的各种功能通过 Web 界面提供出来。通过它,我们可以看到任何给定版本的任何文件或者目录的日志,并且可看到所有文件改动、添加、删除的列表。我们同样可以查看两个版本间的差异来知道特定版本改动了什么。
|
||||
|
||||
### 特性 ###
|
||||
|
||||
@ -12,20 +11,20 @@ WebSVN提供了下面这些特性:
|
||||
- 易于使用的用户界面
|
||||
- 可定制的模板系统
|
||||
- 色彩化的文件列表
|
||||
- blame 视图
|
||||
- 追溯视图
|
||||
- 日志信息查询
|
||||
- RSS支持
|
||||
- [更多][1]
|
||||
|
||||
由于使用PHP写成,WebSVN同样易于移植和安装。
|
||||
由于其使用PHP写成,WebSVN同样易于移植和安装。
|
||||
|
||||
现在我们将为Subverison(Apache SVN)安装WebSVN。请确保你的服务器上已经安装了Apache SVN。如果你还没有安装,你可以在本教程中安装。
|
||||
现在我们将为Subverison安装WebSVN。请确保你的服务器上已经安装了 SVN。如果你还没有安装,你可以按[本教程][2]安装。
|
||||
|
||||
After you installed Apache SVN(Subversion), you'll need to follow the easy steps below.安装完Apache SVN(Subversion)后,你需要以下几步。
|
||||
安装完SVN后,你需要以下几步。
|
||||
|
||||
### 1. 下载 WebSVN ###
|
||||
|
||||
你可以从官方网站http://www.websvn.info/download/中下载WebSVN。我们首先进入/var/www/html/并在这里下载安装包。
|
||||
你可以从官方网站 http://www.websvn.info/download/ 中下载 WebSVN。我们首先进入 /var/www/html/ 并在这里下载安装包。
|
||||
|
||||
$ sudo -s
|
||||
|
||||
@ -36,7 +35,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
|
||||
|
||||

|
||||
|
||||
这里,我下载的是最新的2.3.3版本的websvn。你可以从这个网站得到链接。你可以用你要安装的包的链接来替换上面的链接。
|
||||
这里,我下载的是最新的2.3.3版本的 websvn。你可以从上面这个网站找到下载链接,用适合你的包的链接来替换上面的链接。
|
||||
|
||||
### 2. 解压下载的zip ###
|
||||
|
||||
@ -54,7 +53,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
|
||||
|
||||
### 4. 编辑WebSVN配置 ###
|
||||
|
||||
现在,我们需要拷贝位于/var/www/html/websvn/include的distconfig.php为config.php,并且接着编辑配置文件。
|
||||
现在,我们需要拷贝位于 /var/www/html/websvn/include 的 distconfig.php 为 config.php,并且接着编辑该配置文件。
|
||||
|
||||
# cd /var/www/html/websvn/include
|
||||
|
||||
@ -62,7 +61,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
|
||||
|
||||
# nano config.php
|
||||
|
||||
现在我们需要按如下改变文件。这完成之后,请保存病退出。
|
||||
现在我们需要按如下改变文件。完成之后,请保存并退出。
|
||||
|
||||
// Configure these lines if your commands aren't on your path.
|
||||
//
|
||||
@ -100,7 +99,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
|
||||
|
||||
# systemctl restart httpd.service
|
||||
|
||||
接着我们在浏览器中打开WebSVN,输入http://Ip-address/websvn,或者你在本地的话,你可以输入http://localhost/websvn。
|
||||
接着我们在浏览器中打开WebSVN,输入 http:// IP地址/websvn ,或者你在本地的话,你可以输入 http://localhost/websvn 。
|
||||
|
||||

|
||||
|
||||
@ -108,7 +107,9 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
|
||||
|
||||
### 总结 ###
|
||||
|
||||
好了,我们已经在CentOS 7上哇安城WebSVN的安装了。这个教程同样适用于RHEL 7。WebSVN提供了Svbverion中的各种方法来查看你的仓库。你可以看到任何给定版本的任何文件或者目录的日志并且看到所有文件改动、添加、删除的列表。如果你有任何问题、评论、反馈请在下面的评论栏中留下,来让我们知道该添加什么和改进。谢谢!享受WebSVN吧。:-)
|
||||
好了,我们已经在CentOS 7上完成WebSVN的安装了。这个教程同样适用于RHEL 7。WebSVN 提供了 Subverion 中的各种功能来查看你的仓库。你可以看到任何给定版本的任何文件或者目录的日志,并且看到所有文件改动、添加、删除的列表。
|
||||
|
||||
如果你有任何问题、评论、反馈请在下面的评论栏中留下,来让我们知道该添加什么和改进。谢谢! 用用看吧。:-)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -116,9 +117,10 @@ via: http://linoxide.com/linux-how-to/install-websvn-subversion-centos-7/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
||||
[1]:http://www.websvn.info/features/
|
||||
[2]:http://linoxide.com/linux-how-to/install-apache-svn-subversion-centos-7/
|
@ -0,0 +1,82 @@
|
||||
9款最好的 Javacript 用户的 IDE 和代码编辑器。
|
||||
================================================================================
|
||||
网络应用设计和开发是最近一段时间的发展趋势,也有越来越多的人开始在此寻找他们的职业机会。但是,作为网络开发人员或图形设计人员来说,一个好的机会并不是每个人都能够轻易获得到的,它需要很好的思维展现,以及对于工作的熟练技巧。现在有许多可用的网站来根据你的知识帮助你找到正确的职位描述。但是如果你想要在这个领域有所成就,你仍然需要具有一些出色的技能,例如可以在不同的平台、IDE以及其他的工具上开展工作。
|
||||
|
||||
说到根据不同目的和不同语言所用到的不同平台以及IDE,只靠学习一个IDE来轻松获取项目设计最佳方案的惯例已经属于过去时了。今天我们活在一个竞争日益激烈的现代生活节奏中,对于IDE们也是相同的处境,IDE是一个用来创建和部署应用的强大的客户端应用。今天我们打算为网络设计者和开发人员分享一些最好的Javacript IDE。
|
||||
|
||||
请访问这个 javascript 用户最好的代码编辑器列表,并将你的想法与我们一起分享。
|
||||
|
||||
### 1) [Spket][1] ###
|
||||
|
||||
**Spket IDE** 是 JavaScript 和 XML 开发的强大工具包。这个功能强大的编辑器可以用来进行开发 JavaScript,XUL/XBL 和 Yahoo!小组件。JavaScript 编辑器提供了例如代码补全、语法高亮以及代码内容大纲等特性,可以帮助开发者提高创建高效 JavaScript 代码的生产率。
|
||||
|
||||
|
||||

|
||||
|
||||
### 2) [Ixedit][2] ###
|
||||
|
||||
IxEdit 是一个基于 Javascript 交互的网络设计工具。通过 IxEdit,设计者可以在不需要通过代码改变,添加,删除或变换页面元素的情况下,在网页上进行动态进行 DOM 脚本编写。
|
||||
|
||||

|
||||
|
||||
### 3) [Komodo Edit][3] ###
|
||||
|
||||
Komodo是一款免费而强大的编辑器,可以用来编辑JavaScript和其他的编程语言。
|
||||

|
||||
|
||||
### 4) [EpicEditor][4] ###
|
||||
|
||||
EpicEditor是一个可嵌入的 JavaScript Markdown 编辑器,具有分割全屏进行编辑,实时预览,自动草稿保存,离线支持等特性。对于开发人员,它提供了健壮的API,可以容易地设置主题,并允许你以任何其他的事物来替换绑定的 Markdown 解析器。
|
||||
|
||||

|
||||
|
||||
### 5) [codepress][5] ###
|
||||
|
||||
CodePress是一个基于网络的源代码编辑器,它用 JavaScript 编写,具有语法高亮,并且是在你将代码输入到浏览器后实时进行文本颜色渲染。
|
||||
|
||||

|
||||
|
||||
### 6) [ACe][6] ###
|
||||
|
||||
Ace 是一个使用JavaScript编写的嵌入式代码编辑器,它能够匹配宿主编辑器的特性和性能,例如Sublime,Vim和Textate。它能够容易地嵌入到任何的网页和JavaScript应用中。
|
||||
|
||||

|
||||
|
||||
### 7) [scripted][7] ###
|
||||
|
||||
Scripted是一个快速的轻量级代码编辑器,最初是为了JavaScript编写实现的。 Scripted是一个基于浏览器的编辑器,而编辑器本身有本地运行的Node.js服务器实例来提供服务支持。
|
||||
|
||||

|
||||
|
||||
### 8) [Netbeans][8] ###
|
||||
|
||||
这是另外的一个更加震撼而且有用的编辑器,可以用来编写javascript和其他的编程语言。
|
||||
|
||||

|
||||
|
||||
### 9) [Webstorm][9] ###
|
||||
|
||||
这是最智能的JavaScript IDE。 它是为使用Node.js进行复杂的客户端开发和服务器端开发而装备的一个轻巧而强大的完美IDE。
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://devzum.com/2015/01/31/9-best-ides-and-code-editors-for-javascript-users/
|
||||
|
||||
作者:[vikas][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://devzum.com/author/vikas/
|
||||
[1]:http://spket.com/
|
||||
[2]:http://www.ixedit.com/
|
||||
[3]:http://komodoide.com/komodo-edit/
|
||||
[4]:http://oscargodson.github.io/EpicEditor/
|
||||
[5]:http://codepress.sourceforge.net/
|
||||
[6]:http://ace.c9.io/#nav=about
|
||||
[7]:https://github.com/scripted-editor/scripted
|
||||
[8]:https://netbeans.org/
|
||||
[9]:http://www.jetbrains.com/webstorm/
|
@ -2,11 +2,11 @@
|
||||
================================================================================
|
||||

|
||||
|
||||
[KDE][1] Plasma 5.2已经[发布][2],在本篇中我们将看到如何在Ubuntu 14.10 上安装KDE Plasma 5.2。
|
||||
[KDE][1] Plasma 5.2已经[发布][2]一段时间了,在本篇中我们将看到如何在Ubuntu 14.10 上安装KDE Plasma 5.2。
|
||||
|
||||
Ubuntu的默认桌面环境Unity很漂亮还有很多特性。但是如果你问任何有经验的Linux用户关于桌面自定义,他的回答将是KDE。KDE在定制上是王者并且它得到流行大概是由于Ubuntu有官方的KDE版本,也就是Kubuntu[3]。
|
||||
Ubuntu的默认桌面环境Unity很漂亮还有很多特性,但是如果你问任何有经验的Linux用户关于桌面定制能力,他的回答将是KDE。KDE在定制上是王者并且它得到流行大概是由于Ubuntu有官方的KDE版本,也就是Kubuntu[3]。
|
||||
|
||||
对于Ubuntu(或者任何其他的Linux系统而言)的一个好消息是它没有绑定任何特定的桌面环境。你可以安装额外的桌面环境并且可以在不同的桌面环境间切换。早先我们已经了解了桌面环境的安装。
|
||||
对于Ubuntu(或者任何其他的Linux系统)而言的一个好消息是它们没有绑定在任何特定的桌面环境上,你可以安装额外的桌面环境并在不同的桌面环境间切换。早先我们已经了解如下的桌面环境的安装。
|
||||
|
||||
- [如何在Ubuntu 14.04中安装Mate桌面][4]
|
||||
- [如何在Ubuntu 14.04中安装Cinnamon桌面][5]
|
||||
@ -17,25 +17,24 @@ Ubuntu的默认桌面环境Unity很漂亮还有很多特性。但是如果你问
|
||||
|
||||
### 如何在Ubuntu 14.10 上安装KDE Plasma 5.2 ###
|
||||
|
||||
在Ubuntu 14.10上安装Plasma之前,你要知道这会下载大概1GB的内容。因此在安装KDE之前要考虑速度和数据包。我们下载所使用的PPA是KDEs社区官方提供的。在终端中使用下面的命令:
|
||||
在Ubuntu 14.10上安装Plasma之前,你要知道这会下载大概1GB的内容。因此在安装KDE之前要考虑速度和数据存放空间。我们下载所使用的PPA是KDE社区官方提供的。在终端中使用下面的命令:
|
||||
|
||||
sudo apt-add-repository ppa:kubuntu-ppa/next-backports
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
sudo apt-get install kubuntu-plasma5-desktop plasma-workspace-wallpapers
|
||||
|
||||
During the installation, it will as you to choose the default display manager. I chose the default LightDM. Once installed, restart the system. At the login, click on the Ubuntu symbol beside the login field. In here, select Plasma.
|
||||
在安装中,我们要选择默认的显示管理器。我选择的是默认的LightDM。安装完成后,重启系统。在登录时,点击登录区域旁边的Ubuntu图标。这里选择Plasma。
|
||||
|
||||

|
||||
|
||||
你现在就登录到KDE Plasma了。这里有一个KDE Plasma 5.2在Ubuntu 14.10下的截图
|
||||
你现在就登录到KDE Plasma了。这里有一个KDE Plasma 5.2在Ubuntu 14.10下的截图:
|
||||
|
||||

|
||||
|
||||
### 从Ubuntu卸载KDE Plasma ###
|
||||
### 从Ubuntu中卸载KDE Plasma ###
|
||||
|
||||
如果你想要还原更改,使用下面的命令从Ubuntu 14.10中卸载KDE Plasma。
|
||||
如果你想要卸载它,使用下面的命令从Ubuntu 14.10中卸载KDE Plasma。
|
||||
|
||||
sudo apt-get install ppa-purge
|
||||
sudo apt-get remove kubuntu-plasma5-desktop
|
||||
@ -47,7 +46,7 @@ via: http://itsfoss.com/install-kde-plasma-ubuntu-1410/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,106 @@
|
||||
如何在 Linux 中使用类似智能手机外观的 Conky 天气插件
|
||||
================================================================================
|
||||

|
||||
|
||||
智能手机都拥有一些平滑地融入手机外观的天气小插件,现在幸亏有了 Flair Weather Conky,你便可以**在你的 Linux 桌面中拥有像智能手机一样的天气外观**。我们将使用一个 GUI 工具[Conky Manager 在 Linux 中轻松地管理 Conky][1]。那就先让我们看看如何在 Ubuntu 14.10,14.04、Linux Mint 17 及其他 Linux 发行版本中安装 Conky Manager 吧。
|
||||
|
||||
### 安装 Conky Manager ###
|
||||
|
||||
打开一个终端并使用下面的命令:
|
||||
|
||||
sudo add-apt-repository ppa:teejee2008/ppa
|
||||
sudo apt-get update
|
||||
sudo apt-get install conky-manager
|
||||
|
||||
你可以阅读这篇关于[如何在 Linux 中使用 Conky Manager][1] 的文章。
|
||||
|
||||
### 确保 `curl` 已被安装 ###
|
||||
|
||||
请确保 [curl][2] 已被安装。如果没有安装它,可以使用下面的命令来安装:
|
||||
|
||||
sudo apt-get install curl
|
||||
|
||||
### 下载 Flair Weather Conky ###
|
||||
|
||||
从下面的链接下载 Flair Weather Conky 的脚本:
|
||||
|
||||
- [下载 Flair Weather Conky 的脚本][3]
|
||||
|
||||
### 在 Conky Manager 中使用 Flair Weather Conky 脚本 ###
|
||||
|
||||
#### 步骤 1: ####
|
||||
|
||||
同你在 Ubuntu 14.04 中安装主题一样,在你的家目录中应该有一个 `.conky` 目录。假如你使用命令行,我想我不需要告诉你如何找到这个目录。对于新手,请用文件管理器切换到你的家目录下,并按 `Ctrl+H` 来 [在 Ubuntu 中显示隐藏文件][4]。在这里查找 `.conky` 文件夹,假如没有这个文件夹,则创建一个。
|
||||
|
||||
#### 步骤 2: ####
|
||||
|
||||
在 `.conky` 目录中,解压下载到的 Flair Weather 文件。请注意在默认情况下它会自动解压到一个名为 `.conky` 目录下。所以请进入这个目录,将其中的 Flair Weather 文件夹从中取出,然后将它粘贴到真正的 `.conky` 目录下。
|
||||
|
||||
#### 步骤 3: ####
|
||||
|
||||
Flair Weather 使用 Yahoo 的天气服务,但它不能自动地识别你的位置。你需要手动地编辑它。到[Yahoo 天气][5] 网页,然后通过键入你的城市/Pin 码来得到你所在城市的位置 ID号。你可以从网页地址栏中取得位置 ID 号。
|
||||
|
||||

|
||||
|
||||
#### 步骤 4: ####
|
||||
|
||||
打开 Conky Manager,它应该能够读取新安装的 Conky 脚本。这里有两款样式可用,黑色主题或亮丽主题。你可以选择你偏爱的那一款。当你选择后,你就可以在桌面上看到 conky 的显示了。
|
||||
|
||||
在 Flair Weather 中,默认位置被设定为 Melbourne。你必须手动编辑 conky 文件来修改。
|
||||
|
||||

|
||||
|
||||
#### 步骤 5: ####
|
||||
|
||||
在上面的截图中,你可以看到有一个编辑选定 conky 脚本的选项,在打开的编辑器中,查找 location 或 WOEID ,更换它为你在 `步骤 3` 中得到的位置 ID 号。然后重启 Conky。
|
||||
|
||||

|
||||
|
||||
在上面查找的相同位置,假如你将`u=c` 替换为`u=f`,则温度的单位将从摄氏温标改为华氏温标 。不要忘了重启 Conky 来查看已经做出的修改。
|
||||
|
||||
#### 可能的故障排除 ####
|
||||
|
||||
在 Ubuntu 14.04 和 Ubuntu 14.10 中,假如你发现 Conky 展示的时间有重叠现象,则请编辑 conky 脚本。查找下面的这些行:
|
||||
|
||||
```
|
||||
## cairo-compmgr
|
||||
own_window_type override
|
||||
own_window_argb_visual no
|
||||
```
|
||||
|
||||
然后将内容更换为下面的这些行:
|
||||
|
||||
|
||||
```
|
||||
## cairo-compmgr
|
||||
own_window_type dock
|
||||
own_window_argb_visual no
|
||||
```
|
||||
|
||||
保存更改并重启 conky。这就应该解决了这个问题。感谢 Jesse(这个 Conky 脚本的开发者)给我们提供了这个解决方法和为其他相关问题给予的支持。
|
||||
|
||||
### 尝试一下 ###
|
||||
|
||||
在这篇文章中,我们实际上学到了不少东西。我们见证了如何轻松地使用任何 Conky 脚本,如何编辑脚本以及如何使用 Conky Manager 来达到不同的目的。我希望这些对你有用。
|
||||
|
||||
需要留心的是,Ubuntu 14.10 用户可能会看到重叠的时间数字。请在开发者 Jesse 绝妙的[Google + 主页][6] 中报告任何相关的问题。
|
||||
|
||||
我已经向你展示了在我的系统上 Flair Weather conky 外观的截图。现在是该你尝试它并炫耀你的桌面的时间了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/weather-conky-linux/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/Abhishek/
|
||||
[1]:http://www.linux.cn/article-3434-1.html
|
||||
[2]:http://www.computerhope.com/unix/curl.htm
|
||||
[3]:http://speedracker.deviantart.com/art/Flair-Weather-Conky-Made-for-Conky-Manager-510130311
|
||||
[4]:http://itsfoss.com/hide-folders-and-show-hidden-files-in-ubuntu-beginner-trick/
|
||||
[5]:https://weather.yahoo.com/
|
||||
[6]:https://plus.google.com/communities/104794997718869399105
|
@ -1,6 +1,6 @@
|
||||
Linux 基础:在CentOS 7上给一个网卡分配多个IP地址
|
||||
在CentOS 7上给一个网卡分配多个IP地址
|
||||
================================================================================
|
||||
有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?不用这么做(只要在小型网络中)。我们现在可以再CentOS/RHEL 7中给一个网卡分配多个ip地址。想知道怎么做么?好的,跟随我,这并不难。
|
||||
有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做。我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址。想知道怎么做么?好的,跟随我,这并不难。
|
||||
|
||||
首先,让我们找到网卡的IP地址。在我的CentOS 7服务器中,我只使用了一个网卡。
|
||||
|
||||
@ -83,7 +83,6 @@ Linux 基础:在CentOS 7上给一个网卡分配多个IP地址
|
||||
|
||||
类似地,你可以加入更多的ip地址。
|
||||
|
||||
Finally, save and close the file. Restart network service to take effect the changes.
|
||||
最后,保存并退出文件。重启网络服务来使更改生效。
|
||||
|
||||
systemctl restart network
|
||||
@ -172,11 +171,9 @@ Finally, save and close the file. Restart network service to take effect the cha
|
||||
IPV6_PEERDNS="yes"
|
||||
IPV6_PEERROUTES="yes"
|
||||
|
||||
你可以看到我已经添加一个A类地址(10.0.0.1)并且前缀是16
|
||||
你可以看到我已经添加一个A类地址(10.0.0.1)并且前缀是16。
|
||||
|
||||
保存并退出文件。重启网络服务,
|
||||
|
||||
接着,ping新增的地址:
|
||||
保存并退出文件。重启网络服务,接着,ping新增的地址:
|
||||
|
||||
ping -c 4 10.0.0.1
|
||||
|
||||
@ -202,7 +199,7 @@ via: http://www.unixmen.com/linux-basics-assign-multiple-ip-addresses-single-net
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,10 +1,10 @@
|
||||
如何使用 backupninja 来备份一个 Debian 系统
|
||||
如何使用 backupninja 来备份 Debian 系统
|
||||
================================================================================
|
||||
面临灾难时的小心谨慎或体验可以教会每一个系统管理采取频繁的系统备份的重要性。你可以通过编写存在已久的管用的 shell 脚本,或使用一个(或多个) 适合这项工作的备份工具来完成备份任务。因此,当你要实施一个备份解决方案时,你了解的备份工具越多,你做出的决策就会越明智。
|
||||
小心谨慎或灾难体验会让每一个系统管理都认识到频繁的系统备份的重要性。你可以通过编写管用的旧式 shell 脚本,或使用一个(或几个)适合这项工作的备份工具来完成备份任务。因此,当你要实施一个备份解决方案时,你了解的备份工具越多,你做出的决策就会越明智。
|
||||
|
||||
在这篇文章中,我们将为你介绍 [backupninja][2] ,一个轻量且易于配置的系统备份工具。在诸如 **rdiff-backup**, **duplicity**, **mysqlhotcopy** 和 **mysqldump** 等程序的帮助下, Backupninja 可以提供常用的备份功能,如执行远程的、安全的和增量式的文件系统备份,加密备份以及 MySQL/MariaDB 数据库备份。你可以选择性地开启使用 email 进行状态报告功能,也可以对一般的硬件和系统的信息进行备份。 backupninja 的一个关键功能是它拥有一个内建的基于控制台的向导程序(被称为 **ninjahelper**),而后者允许你为不同的备份情景轻松地创建配置文件。
|
||||
在这篇文章中,我们将为你介绍 [backupninja][2] ,这是一个轻量且易于配置的系统备份工具。在诸如 **rdiff-backup**, **duplicity**, **mysqlhotcopy** 和 **mysqldump** 等程序的帮助下, Backupninja 可以提供常用的备份功能,如执行远程的、安全的和增量式的文件系统备份,加密备份以及 MySQL/MariaDB 数据库备份。你可以选择性地开启使用 Email 状态报告功能,也可以对一般的硬件和系统的信息进行备份。 backupninja 的一个关键功能是它拥有一个内建的基于控制台的向导程序(被称为 **ninjahelper**),而后者允许你为不同的备份情景轻松地创建配置文件。
|
||||
|
||||
如果非要说的话,backupninja 的缺点是:为了充分使用其所有的功能,它要求一些其他“助手”程序已经被安装在了计算机中。尽管 backupninja 有针对基于 Red Hat(红帽) 的发行版本的 RPM 安装包,但 backupninja 针对 Debian 和它的衍生发行版本的依赖进行了优化。所以不建议在基于 Red Hat 的系统上尝试 backupninja 。
|
||||
如果非要说的话,backupninja 的缺点是:为了充分使用其所有的功能,它要求安装一些其他“助手”程序。尽管 backupninja 有针对基于 Red Hat(红帽)的发行版本的 RPM 安装包,但 backupninja 针对 Debian 及其衍生发行版本的依赖进行了优化。所以不建议在基于 Red Hat 的系统上尝试 backupninja 。
|
||||
|
||||
在这篇教程中,我们将介绍如何在基于 Debian 的发行版本上安装 backupninja 。
|
||||
|
||||
@ -16,17 +16,17 @@
|
||||
|
||||
在安装的过程中,有几个文件和目录将被创建:
|
||||
|
||||
- **/usr/sbin/backupninja** 是 bash shell 主脚本;
|
||||
- **/etc/cron.d/backupninja**, 默认情况下,构建 cron 任务来每隔一个小时运行上面的主脚本;
|
||||
- **/etc/logrotate.d/backupninja** 处理由 backupninja 程序产生的日志;(注:我不知道这里的 rotate 该如何翻译)
|
||||
- **/usr/sbin/backupninja** 是个 bash shell 的主脚本;
|
||||
- **/etc/cron.d/backupninja**, 默认情况下,设置 cron 任务来每隔一个小时运行上面的主脚本;
|
||||
- **/etc/logrotate.d/backupninja** 截断由 backupninja 程序产生的日志;
|
||||
- **/etc/backup.d/** 是备份操作的配置文件驻留的目录;
|
||||
- **/etc/backupninja.conf** 是包含一般选项的主配置文件。这个文件带有良好的注释且详细解释了每个选项的含义;
|
||||
- **/usr/share/backupninja** 是那些被 backupninja 使用的脚本所处的目录。这些脚本文件负责执行实际的工作。在这个目录中,你还可以找到 `.helper` 文件,它们可以被用来配置和设定 ninjahelper 的菜单;
|
||||
- **/usr/share/doc/backupninja/examples** 含有操作配置文件(即通过 ninjahelper 产生的文件)的模板。
|
||||
- **/usr/share/backupninja** 是那些 backupninja 所使用的脚本所处的目录。这些脚本文件负责执行实际的工作。在这个目录中,你还可以找到 `.helper` 文件,它们可以被用来配置和设定 ninjahelper 的菜单;
|
||||
- **/usr/share/doc/backupninja/examples** 含有操作配置文件(即通过 ninjahelper 产生的文件)的模板。
|
||||
|
||||
### 首次运行 Ninjahelper ###
|
||||
|
||||
当我们尝试启动 ninjahelper 时,我们可以看到一个内部依赖可能会被需要。假如系统进行了提示,请输入 “yes” 并敲下回车键来安装 dialog(一个用于从 shell 脚本中显示友好对话框的工具)。
|
||||
当我们尝试启动 ninjahelper 时,我们可以看到可能需要一个内部依赖程序。假如系统进行了提示,请输入 “yes” 并敲下回车键来安装 dialog(一个用于从 shell 脚本中显示友好对话框的工具)。
|
||||
|
||||

|
||||
|
||||
@ -44,11 +44,11 @@
|
||||
|
||||

|
||||
|
||||
接下来的一步需要你选取相关条目来作为此次备份任务的一部分。前四个条目已经默认被选上了,但你可以通过按空格键来撤消选择。
|
||||
接下来的一步需要你选取相关条目来作为此次备份任务的一部分。前四个条目已经默认被选上了,但你可以通过在条目上按空格键来撤消选择。
|
||||
|
||||

|
||||
|
||||
一旦你完成了上面的步骤,按 OK 选项来继续。接着你将能够选择 是愿意使用默认的配置文件(/etc/backup.d/10.sys)来完成这次备份操作,还是创建一个新的配置文件。若为后者,一个含有与默认配置文件内容相同的文件将会在相同的目录下被创建,但它被命名为 11.sys,后续的备份操作将会创建类似的文件(注:只不过命名的序号不同)。需要说明的是一旦这个新的配置文件被创建,你便可以使用你喜爱的文本编辑器来编辑该文件。
|
||||
一旦你完成了上面的步骤,按 OK 选项来继续。接着你将能够选择是愿意使用默认的配置文件(/etc/backup.d/10.sys)来完成这次备份操作,还是创建一个新的配置文件。若为后者,一个含有与默认配置文件内容相同的文件将会在相同的目录下被创建,但它被命名为 11.sys,后续的备份操作将会创建类似的文件(注:只不过命名的序号不同)。需要说明的是一旦这个新的配置文件被创建,你便可以使用你喜爱的文本编辑器来编辑该文件。
|
||||
|
||||

|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
|
||||
正如你最有可能知道的那样, rsync 被广泛地用于通过网络同步文件或文件夹。在接下来的例子中,我们将讨论一个使用硬链接来为一个远程目录做增量式拉取备份的方法,它被用来保存历史数据以及在我们本地的文件服务器中恢复这些历史数据。这个方法将帮助我们节省空间并增强位于服务器端的安全性。
|
||||
|
||||
**步骤 1**:编写一个位于 `/etc/backup.d`的带有如下内容的自定义脚本,并将它的权限设置为 600 。需要说明的是,除了一般的配置文件,这个目录可能还包含当 backupninja 被执行时你想运行的一些脚本文件,它们可以发挥出位于主配置文件中的变量的优势。
|
||||
**步骤 1**:编写一个带有如下内容的自定义脚本,放在 `/etc/backup.d`,并将它的权限设置为 600 。需要说明的是,除了一般的配置文件,这个目录可能还包含当 backupninja 执行时你想运行的一些脚本文件,它们可以发挥出位于主配置文件中的变量的优势。
|
||||
|
||||
# REMOTE USER
|
||||
user=root
|
||||
@ -72,36 +72,37 @@
|
||||
# RSYNC
|
||||
rsync -av --delete --recursive --link-dest=$localdirold $user@$host:$remotedir $localdir
|
||||
|
||||
在上面的配置中, rsync 的 ‘--link-dest’ 选项的作用是为位于 $localdir-old 目录中那些没有改变的文件(包含所有属性) 硬链接到目标目录 ($localdir)。
|
||||
在上面的配置中, rsync 的 ‘--link-dest’ 选项的作用是为位于 $localdir-old 目录中那些没有改变的文件(包含所有属性) 硬链接到目标目录($localdir)。
|
||||
|
||||
**步骤 2**:在 backupninja 第一次运行之前,上层目录(这个例子中指的是 /home/gacanepa) 是空的。第一次我们执行下面的命令:
|
||||
**步骤 2**:在 backupninja 第一次运行之前,上层目录(这个例子中指的是 /home/gacanepa) 是空的。第一次我们执行下面的命令:
|
||||
|
||||
# backupninja -n
|
||||
|
||||
backup.0 目录就被创建了,并在接下来的过程中,它的名称将会被更改为 backup.1。
|
||||
|
||||
当我们第二次运行 backupninja 时, backup.0 将会被重新创建,而 backup.1 被保留。
|
||||
当我们第二次运行 backupninja 时, backup.0 将会被重新创建,而 backup.1 保持不动。
|
||||
|
||||

|
||||
|
||||
**步骤 3**: 确保 backup.1 里面的文件硬链接到 backup.0 里的文件,我们可以通过比较文件的 inode( i 节点) 数和目录的大小来达到此目的。
|
||||
**步骤 3**: 确保 backup.1 里面的文件硬链接到 backup.0 里的文件,我们可以通过比较文件的 inode(i 节点)数和目录的大小来达到此目的。
|
||||
|
||||

|
||||
|
||||
### 总结 ###
|
||||
|
||||
Backupninja 不仅是一个经典的备份工具,它也是一个易于配置的实用程序。你可以通过编写你自己的 handler(注:我不知道该如何翻译 handler 这个单词) 来运行 backupninja 并将它们作为位于 `/etc.backup.d` 的个人配置文件。甚至你还可以为 ninjahelper 编写助手程序,以达到将它们包括在 ninjahelper 的主界面上。
|
||||
Backupninja 不仅是一个经典的备份工具,它也是一个易于配置的实用程序。你可以通过编写你自己的控制脚本,用放在 `/etc.backup.d` 中的不同的配置文件来运行 backupninja 。甚至你还可以为 ninjahelper 编写助手程序,并将其包括在 ninjahelper 的主界面上。
|
||||
|
||||
例如,假如你在 `/usr/share/backupninja`目录中创建了一个名为 modulo 的 handler,它将自动运行那些位于 `/etc/backup.d` 目录中以 .xmodulo 为后缀的每个文件。如果你决定添加你的 xmodulo handler 到 ninjahelper 中, 你可以编写相应的助手程序,即 xmodulo.helper 。另外,假如你想 让 backupninja 运行任意一个脚本,只需把它添加到 `/etc/backup.d` 目录中,这样你的目的便可以达到了。
|
||||
例如,假如你在 `/usr/share/backupninja`目录中创建了一个名为 xmodulo 的控制脚本,它将自动运行那些位于 `/etc/backup.d` 目录中以 .xmodulo 为后缀的每个文件。如果你决定添加你的 xmodulo 控制脚本到 ninjahelper 中, 你可以编写相应的助手程序,即 xmodulo.helper 。另外,假如你想 让 backupninja 运行其它的脚本,只需把它添加到 `/etc/backup.d` 目录中就可以了。
|
||||
|
||||
欢迎使用下面的评论框来留下你的评论、问题或建议。听到你的回应将会使我们很高兴。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/backup-debian-system-backupninja.html
|
||||
|
||||
作者:[Gabriel Cánepa][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,12 +1,12 @@
|
||||
Linux有问必答:如何在脚本中获取进程ID(PID)
|
||||
Linux有问必答:如何在脚本中获取进程ID(PID)
|
||||
================================================================================
|
||||
> **提问**: 我想要知道运行中脚本subshell的进程id。我该如何在shell脚本中得到PID。
|
||||
> **提问**: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。
|
||||
|
||||
当我在执行shell脚本时,它会启动一个叫subshell的进程。作为主shell的子进程,subshell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。
|
||||
当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。
|
||||
|
||||
在某些情况下,你也许想要知道运行中的subshell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的subshell。
|
||||
在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。
|
||||
|
||||
在bash中,**subshell进程的PID**存储在一个特殊的变量‘$$’中。这个变量只读,你不可以在脚本中修改它。比如:
|
||||
在bash中,**子shell进程的PID**存储在一个特殊的变量‘$$’中。这个变量只读,你不可以在脚本中修改它。比如:
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
@ -16,7 +16,7 @@ Linux有问必答:如何在脚本中获取进程ID(PID)
|
||||
|
||||
PID of this script: 6583
|
||||
|
||||
除了$$, bash shell还会导出其他的只读变量。比如,PPID存储subshell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:
|
||||
除了$$, bash shell还会导出其他的只读变量。比如,PPID存储子shell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
@ -43,6 +43,6 @@ Linux有问必答:如何在脚本中获取进程ID(PID)
|
||||
via: http://ask.xmodulo.com/process-id-pid-shell-script.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -2,16 +2,11 @@ Linux 下最为人熟知的归档/压缩工具
|
||||
================================================================================
|
||||
很多时候,通过互联网发送或接收大文件和图片是一件令人头疼的事。压缩及解压缩工具正好可以应对这个问题。下面让我们快速浏览一些可以使得我们的工作更加轻松的开源工具。
|
||||
|
||||
Tar
|
||||
gzip, gunzip
|
||||
bzip2, bunzip2
|
||||
7-Zip
|
||||
|
||||
### Tar ###
|
||||
|
||||
Tar 由 'Tape archiver' 衍生而来,最初被用来在磁带上归档和存储文件。Tar 是一个 GNU 软件,它可以压缩一组文件(归档),或提取它们以及对已经存在的压缩文件进行相关操作。在存储、备份以及转移文件方面,它是很有帮助的。在创建归档文件时,Tar 可以保持原有文件和目录结构不变。通过 Tar 归档的文件的后缀名为 ‘.tar’。
|
||||
Tar 由 'Tape archiver(磁带归档器)' 衍生而来,最初被用来在磁带上归档和存储文件。Tar 是一个 GNU 软件,它可以压缩一组文件(归档),或提取它们以及对已有的归档文件进行相关操作。在存储、备份以及传输文件方面,它是很有用的。在创建归档文件时,Tar 可以保持原有文件和目录结构不变。通过 Tar 归档的文件的后缀名为 ‘.tar’。
|
||||
|
||||
基本用法
|
||||
**基本用法如下:**
|
||||
|
||||
#### a) 创建归档 (c / --create) ####
|
||||
|
||||
@ -23,7 +18,7 @@ Tar 由 'Tape archiver' 衍生而来,最初被用来在磁带上归档和存
|
||||
|
||||

|
||||
|
||||
创建一个归档
|
||||
*创建一个归档*
|
||||
|
||||
#### b) 列出归档文件内容 ( t / --list) ####
|
||||
|
||||
@ -31,7 +26,7 @@ Tar 由 'Tape archiver' 衍生而来,最初被用来在磁带上归档和存
|
||||
|
||||

|
||||
|
||||
列出归档中包含的文件
|
||||
*列出归档中包含的文件*
|
||||
|
||||
#### c) 提取归档 (x / --extract) ####
|
||||
|
||||
@ -41,45 +36,45 @@ Tar 由 'Tape archiver' 衍生而来,最初被用来在磁带上归档和存
|
||||
|
||||

|
||||
|
||||
提取文件
|
||||
*提取文件*
|
||||
|
||||

|
||||
|
||||
只提取需要的文件
|
||||
*只提取需要的文件*
|
||||
|
||||
#### d) 对归档进行更新 ( u / --update) ####
|
||||
#### d) 对归档文件进行更新 ( u / --update) ####
|
||||
|
||||
tar uvf archive.tar newfile.c - 假如归档的版本比先前存在的版本新,通过添加文件 newfile.c 来更新归档.
|
||||
tar uvf archive.tar newfile.c - 假如归档的newfile.c 要比先前已经归档的新,则添加更新的 newfile.c 到归档里面.
|
||||
|
||||

|
||||
|
||||
更新一个归档
|
||||
*更新一个归档*
|
||||
|
||||
#### e) 从归档中删除文件 (--delete) ####
|
||||
|
||||
tar--delete -f archive.tar file1.c - 从压缩包'archive.tar' 中删除文件'file1.c'
|
||||
tar --delete -f archive.tar file1.c - 从压缩包'archive.tar' 中删除文件'file1.c'
|
||||
|
||||

|
||||
|
||||
删除文件
|
||||
*删除文件*
|
||||
|
||||
更加具体的使用方法请参考[tar 主页][1]。
|
||||
|
||||
### Gzip / Gunzip ###
|
||||
|
||||
Gzip 代表 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩应用,被其压缩的文件的后缀名为'*.gz' 。
|
||||
Gzip 即 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩应用,被其压缩的文件的后缀名为'*.gz' 。
|
||||
|
||||
** 基本用法 **
|
||||
**基本用法如下:**
|
||||
|
||||
#### a) 压缩文件 ####
|
||||
|
||||
gzip file(s)
|
||||
|
||||
每个文件将被单独压缩。
|
||||
每个文件将被**单独压缩**。
|
||||
|
||||

|
||||
|
||||
压缩文件
|
||||
*压缩文件*
|
||||
|
||||
通常在压缩完成后,它会将原来的文件删除。我们可以使用 `-c` 选项来保留原来的文件。
|
||||
|
||||
@ -87,7 +82,7 @@ Gzip 代表 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩
|
||||
|
||||

|
||||
|
||||
压缩后保留原有文件
|
||||
*压缩后保留原有文件*
|
||||
|
||||
我们也可以将一组文件压缩到一个单独的文件中
|
||||
|
||||
@ -95,7 +90,7 @@ Gzip 代表 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩
|
||||
|
||||

|
||||
|
||||
压缩一组文件
|
||||
*压缩一组文件*
|
||||
|
||||
#### b) 检查压缩比 ####
|
||||
|
||||
@ -105,17 +100,17 @@ Gzip 代表 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩
|
||||
|
||||

|
||||
|
||||
检查压缩率
|
||||
*检查压缩率*
|
||||
|
||||
#### c) 解压文件 ####
|
||||
|
||||
Gunzip 被用来解压文件,在这里,原有文件在被解压后同样会被删除。使用 `-c`选项来保留原始文件。
|
||||
Gunzip 用来解压文件,在这里,原有的(压缩)文件在被解压后同样会被删除。使用 `-c`选项来保留原始文件。
|
||||
|
||||
gunzip -c archieve.gz
|
||||
|
||||

|
||||
|
||||
解压文件
|
||||
*解压文件*
|
||||
|
||||
gzip 加上'-d'选项 和 gunzip 对压缩文件有同样的效果。
|
||||
|
||||
@ -125,47 +120,50 @@ gzip 加上'-d'选项 和 gunzip 对压缩文件有同样的效果。
|
||||
|
||||
同 gzip 一样,[Bzip2][3] 也是一个压缩工具,与其他传统的工具相比,它可以将文件压缩到更小,但其缺点为:运行速度比 gzip 慢。
|
||||
|
||||
** 基本用法 **
|
||||
**基本用法如下:**
|
||||
|
||||
#### a) 压缩文件 ####
|
||||
|
||||
一般情况下,针对压缩而言,Bzip2 没有选项可供选择,将被压缩的文件被传递为它的参数。每个文件被单独压缩,且压缩文件以 'bz2' 为后缀名。
|
||||
一般情况下,针对压缩而言,Bzip2 不用什么选项,将被压缩的文件被传递为它的参数。每个文件被单独压缩,且压缩文件以 'bz2' 为后缀名。
|
||||
|
||||
bzip2 file1 file2 file3
|
||||
|
||||

|
||||
|
||||
文件压缩
|
||||
*文件压缩*
|
||||
|
||||
使用 '-k' 选项可以使得 在压缩或解压缩之后保留原有的文件。
|
||||
使用 '-k' 选项可以使得在压缩或解压缩之后保留原有的文件。
|
||||
|
||||

|
||||
|
||||
在压缩后保留原有文件。
|
||||
*在压缩后保留原有文件*
|
||||
|
||||
'-d' 选项被用来强制解压缩。
|
||||
|
||||
#### b) 解压 ####
|
||||
|
||||
'-d' 选项被用来解压缩。
|
||||
|
||||

|
||||
|
||||
使用 -d 选项删除文件 (!! 注:我(FSSlc)认为 这里的图片说明有误,可以参考 manpage或bzip 的官网来校对一下。)
|
||||
*使用 -d 选项解压缩文件*
|
||||
|
||||
#### b) 解压 ####
|
||||
也可以使用 bunzip2 来解压缩。
|
||||
|
||||
bunzip2 filename
|
||||
|
||||

|
||||
|
||||
解压文件
|
||||
*解压文件*
|
||||
|
||||
bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2 和 tbz 的文件在压缩后,后缀名将变为'.tar' 。
|
||||
|
||||
bzip2 -dc 执行解压文件到标准输出的功能。
|
||||
bzip2 -dc - 执行解压文件到标准输出的功能。
|
||||
|
||||
### 7-zip ###
|
||||
|
||||
[7-zip][4] 是另一个开源压缩软件。它使用 7z 这种新的压缩格式,并支持高压缩比。因此,它被认为是比先前提及的压缩工具更好的软件。在 Linux 下,可以通过 p7zip 软件包得到,该软件包里包含 3 个二进制文件 – 7z, 7za 和 7zr,读者可以参考 [p7zip wiki][5] 来了解这三个二进制文件之间的不同。在本篇中,我们将使用 7zr 来解释 7-zip 的用法。归档文件以 '.7z' 为后缀名。
|
||||
[7-zip][4] 是另一个开源压缩软件。它使用 7z 这种新的压缩格式,并支持高压缩比。因此,它被认为是比先前提及的压缩工具更好的软件。在 Linux 下,可以通过 p7zip 软件包得到,该软件包里包含 3 个二进制文件: 7z, 7za 和 7zr,读者可以参考 [p7zip wiki][5] 来了解这三个二进制文件之间的不同。在本篇中,我们将使用 7zr 来解释 7-zip 的用法。归档文件以 '.7z' 为后缀名。
|
||||
|
||||
** 基本用法 **
|
||||
**基本用法如下:**
|
||||
|
||||
#### a) 创建归档 ####
|
||||
|
||||
@ -173,7 +171,7 @@ bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2
|
||||
|
||||

|
||||
|
||||
创建一个归档文件
|
||||
*创建一个归档文件*
|
||||
|
||||
#### b) 列出归档包含文件 ####
|
||||
|
||||
@ -181,7 +179,7 @@ bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2
|
||||
|
||||

|
||||
|
||||
列出归档中包含的文件
|
||||
*列出归档中包含的文件*
|
||||
|
||||
#### c) 提取归档文件 ####
|
||||
|
||||
@ -189,7 +187,7 @@ bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2
|
||||
|
||||

|
||||
|
||||
提取归档
|
||||
*提取归档*
|
||||
|
||||
#### d) 更新归档文件 ####
|
||||
|
||||
@ -197,7 +195,7 @@ bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2
|
||||
|
||||

|
||||
|
||||
更新一个归档文件
|
||||
*更新一个归档文件*
|
||||
|
||||
#### e) 从归档文件中删除文件 ####
|
||||
|
||||
@ -205,11 +203,11 @@ bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2
|
||||
|
||||

|
||||
|
||||
删除文件
|
||||
*删除文件*
|
||||
|
||||

|
||||
|
||||
确认文件删除
|
||||
*确认文件删除*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -217,7 +215,7 @@ via: http://linoxide.com/tools/linux-compress-decompress-tools/
|
||||
|
||||
作者:[B N Poornima][a]
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -36,7 +36,7 @@ via: http://www.ubuntugeek.com/how-to-protect-ubuntu-server-against-the-ghost-vu
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,158 @@
|
||||
Linux 游戏之 2015 动向
|
||||
================================================================================
|
||||
他们说Linux游戏开发已经死了,已经变得毫无意义…… 随他们说去吧。一起看看2015甚至以后会为我们带来什么Linux游戏。
|
||||
|
||||
真的很难跟得上扑面而来的各种形形色色的新事物,但是可以快速浏览一下我们将会看到的变化。
|
||||
|
||||
### 已确认的游戏 ###
|
||||
|
||||
#### 冒险游戏 ####
|
||||
|
||||
- [看火人(Firewatch)][1]
|
||||
- [失落的天堂:初探(Paradise Lost: First Contact)][2]
|
||||
- [时空英豪 1.1(Outcast 1.1)][42]
|
||||
- [蒸汽世界:浩劫(SteamWorld Heist)][3]
|
||||
|
||||
#### 动作游戏 ####
|
||||
|
||||
- [暗黑血统(Darksiders)][4]
|
||||
- [暗黑血统 2(Darksiders 2)][5]
|
||||
- [尸人的世界(Ray's The Dead)][6]
|
||||
- [骷髅女孩(Skullgirls)][7]
|
||||
|
||||
#### 第一人称游戏 ####
|
||||
|
||||
- [生化奇兵:永恒(Bioshock Infinite)][8]
|
||||
- 半条命 3 /troll (Half Life 3 /troll)
|
||||
- [烽火家园:革命(Homefront: The Revolution)][9]
|
||||
- [叛变(Insurgency)][43]
|
||||
- [杀戮空间 2(Killing Floor 2)][10]
|
||||
- 英雄萨姆 4(Serious Sam 4)(目前无官方站点)
|
||||
- [联合风暴(Storm United)][11]
|
||||
- [烈火击杀(SUPERHOT)][12]
|
||||
|
||||
#### 平台游戏 ####
|
||||
|
||||
- [武装原型(Broforce)][13]
|
||||
- [峡谷(Chasm)][14] #此处游戏中文名尚不确定
|
||||
- [吉安娜姐妹(Giana Sisters)][15]
|
||||
- [心之所向:Alicia(Heart Forth, Alicia)][16]
|
||||
- [热铁皮屋顶(Hot Tin Roof)][17]
|
||||
- [无限工厂(Infinifactory)][18]
|
||||
- [无敌9号(Mighty No. 9)][19]
|
||||
- [林中之夜(Night in the Woods)][20]
|
||||
- [夜(Noct)][21]
|
||||
- [奇异的世界:新鲜可口(Oddworld: New 'N' Tasty)][22]
|
||||
- [真红女神(Red Goddess)][23]
|
||||
|
||||
#### 赛车游戏 ####
|
||||
|
||||
- [赛车计划(Project Cars)][44]
|
||||
- [死亡赛车:再生(Carmageddon: Reincarnation)][45]
|
||||
|
||||
#### 角色扮演游戏 ####
|
||||
|
||||
- [神界:原罪(Divinity: Original Sin)][24]
|
||||
- [永恒之柱(Pillars Of Eternity)][25]
|
||||
- [暗影狂奔:香港(Shadowrun: Hong Kong)][26]
|
||||
- [旗帜的传说(The Banner Saga)][27]
|
||||
- [镇魂曲:遗器之潮(Torment: Tides of Numenera)][46]
|
||||
|
||||
#### 策略游戏 ####
|
||||
|
||||
- [奇迹时代3(Age of Wonders III)][28]
|
||||
- [At The Gates][47] # 尚无中文名
|
||||
- [放逐之城(Banished)][29]
|
||||
- [城:天际(Cities: Skylines)][30]
|
||||
- [发条帝国(Clockwork Empires)][31]
|
||||
- [Parkitect][32] # 尚无中文名
|
||||
- [卷轴(Scrolls)][33]
|
||||
- [太空海盗和僵尸 2(Space Pirates And Zombies 2)][34]
|
||||
|
||||
#### 沙盒游戏 ####
|
||||
|
||||
- [泰拉瑞亚(Terraria)][35]
|
||||
- [X 重生(X Rebirth)][36]
|
||||
|
||||
#### 体育游戏 ####
|
||||
|
||||
- [惊爆美国棒球16(Out of the Park Baseball 16)][48]
|
||||
|
||||
### 不太确认,不过可能性高 ###
|
||||
|
||||
- [英雄连 2(Company of Heroes 2)][37]
|
||||
- [逃生(Outlast)][38]
|
||||
- [影子武士(Shadow Warrior)][39]
|
||||
- 无光之海 - 其开发商试验性地构建 Linux 版本,不过这要取决于他们的 Windows 版本的销售情况(据邮件沟通信息)
|
||||
- [火炬之光 2(Torchlight II)][40]
|
||||
|
||||
然而有[两个来自Feral Interactive的移植大作][49],由于不知道他们是什么,所以没有列举出来。
|
||||
|
||||
我们猜测Aspyr也在准备新的大制作,但是他们仅仅发布了他们最新的游戏,所以可能要等上几个月我们才能看到些什么。
|
||||
|
||||
当然,** 这不是完整的列表 **,我们会轻易忘记如此多的游戏正在走向我们,哇,如此丰富的列表。
|
||||
|
||||
我们也期待 GDC 2015 上有一些改变,然而,我们没有什么确切的东西,对于Valve与Steam Machines的合作,我们期待至少会增加一些Linux游戏,否则,如我们担心,炫耀一些过时的游戏会让Valve脸上无光。
|
||||
|
||||
希望我们没有错过那些 Linux 中让你感到兴奋的东西!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.gamingonlinux.com/articles/a-look-at-what-linux-games-we-will-see-in-2015-and-beyond.4963
|
||||
|
||||
作者:[liamdawe][a]
|
||||
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.gamingonlinux.com/profiles/1
|
||||
[1]:https://www.gamingonlinux.com/articles/category/17/articles/firewatch-a-first-person-mystery-game-finally-reveals-itself-in-a-trailer.4231
|
||||
[2]:http://www.asthreeworks.com/games/
|
||||
[3]:https://www.gamingonlinux.com/articles/category/17/articles/image-form-announces-steamworld-heist.4304
|
||||
[4]:https://www.gamingonlinux.com/articles/darksiders-linux-port-looks-like-it-is-still-happening.4893
|
||||
[5]:https://www.gamingonlinux.com/articles/darksiders-2-confirmed-for-linux.4154
|
||||
[6]:http://ragtagstudio.com/?page_id=457
|
||||
[7]:https://www.gamingonlinux.com/articles/editorial-skullgirls-on-linux-finally-shows-some-progress.4789
|
||||
[8]:https://www.gamingonlinux.com/articles/bioshock-infinite-looks-set-for-a-linux-release-confirmed.4668
|
||||
[9]:http://www.homefront-game.com/
|
||||
[10]:https://www.gamingonlinux.com/articles/category/17/articles/killing-floor-2-fps-has-a-new-trailer.4676
|
||||
[11]:https://www.gamingonlinux.com/articles/storm-united-online-fps-shows-first-real-gameplay-video-first-alpha-due-soon.4872
|
||||
[12]:http://superhotgame.com/
|
||||
[13]:http://steamcommunity.com/app/274190/discussions/0/540738051503306548/#c540738051518330743
|
||||
[14]:https://www.gamingonlinux.com/articles/category/17/articles/chasm-rpg-platformer-will-have-a-same-day-linux-release.4266
|
||||
[15]:https://www.gamingonlinux.com/articles/linux-port-of-platformer-giana-sisters-brought-inhouse-sequel-might-get-sameday-release.4913
|
||||
[16]:http://www.alonsomartin.mx/hfa/
|
||||
[17]:http://www.hottinroofgame.com/
|
||||
[18]:https://twitter.com/zachtronics/status/566016742825005057
|
||||
[19]:http://www.mightyno9.com/
|
||||
[20]:http://www.nightinthewoods.com/
|
||||
[21]:https://www.gamingonlinux.com/articles/category/17/articles/noct-a-fantastic-top-down-thermal-image-survival-horror-game.4783
|
||||
[22]:https://www.gamingonlinux.com/articles/puzzle-platformer-oddworld-new-n-tasty-will-release-for-linux-next-month.4836
|
||||
[23]:https://www.gamingonlinux.com/articles/new-trailer-for-platformer-red-goddesss-looks-really-good.4939
|
||||
[24]:https://www.gamingonlinux.com/articles/divinity-original-sin-is-pushing-ahead-for-the-linux-release.4938
|
||||
[25]:https://www.gamingonlinux.com/articles/pillars-of-eternity-the-rpg-aims-for-a-sameday-linux-release-on-march-26th.4834
|
||||
[26]:https://www.kickstarter.com/projects/webeharebrained/shadowrun-hong-kong
|
||||
[27]:https://www.gamingonlinux.com/articles/the-banner-saga-rpg-looks-close-to-a-linux-version.4862
|
||||
[28]:https://www.gamingonlinux.com/articles/the-linux-port-of-age-of-wonders-iii-is-progressing-a-bit-too-explosive-right-now.4857
|
||||
[29]:https://www.gamingonlinux.com/articles/banished-survival-city-building-sim-is-being-ported-to-linux.4813
|
||||
[30]:https://www.gamingonlinux.com/articles/city-builder-game-cities-skylines-now-has-a-release-date.4954
|
||||
[31]:https://www.gamingonlinux.com/articles/clockwork-empires-still-pushing-towards-a-linux-version-suffering-delays.4734
|
||||
[32]:https://www.gamingonlinux.com/articles/category/17/articles/parkitect-what-roller-coaster-tycoon-should-have-grown-into.4528
|
||||
[33]:https://www.gamingonlinux.com/articles/mojangs-scrolls-now-has-an-experimental-linux-build.4450
|
||||
[34]:https://www.gamingonlinux.com/articles/space-pirates-and-zombies-2-reveals-the-zombies-in-a-brand-new-video.4759
|
||||
[35]:https://www.gamingonlinux.com/articles/terraria-officially-confirmed-to-be-in-development-for-linux-finally.4299
|
||||
[36]:https://www.gamingonlinux.com/articles/egosofts-x-rebirth-actively-being-ported-to-linux.4822
|
||||
[37]:https://www.gamingonlinux.com/articles/company-of-heroes-2-looks-like-it-is-heading-to-linux.4199
|
||||
[38]:https://www.gamingonlinux.com/articles/outlast-that-really-scary-game-looks-like-its-still-heading-to-linux.4896
|
||||
[39]:https://www.gamingonlinux.com/articles/shadow-warrior-looks-like-it-will-come-to-linux.4859
|
||||
[40]:https://www.gamingonlinux.com/articles/torchlight-ii-has-even-more-positive-signs-for-linux.4817
|
||||
[41]:https://www.gamingonlinux.com/articles/feralinteractive.com/en/upcoming/
|
||||
[42]:https://www.gamingonlinux.com/articles/outcast-a-real-classic-has-been-revamped-and-linux-is-planned.4736
|
||||
[43]:https://www.gamingonlinux.com/articles/insurgency-fps-is-waiting-on-valve-so-it-can-come-to-linux-updated.4564
|
||||
[44]:http://projectcarsgame.com/
|
||||
[45]:https://www.gamingonlinux.com/articles/carmageddon-reincarnations-jason-garber-answers-our-questions-on-their-linux-support.3380
|
||||
[46]:https://www.gamingonlinux.com/articles/torment-tides-of-numenera-new-video-looks-absolutely-stunning.4320
|
||||
[47]:http://www.atthegatesgame.com/info
|
||||
[48]:http://www.ootpdevelopments.com/newsletters/nl0154/
|
||||
[49]:http://feralinteractive.com/en/upcoming/
|
@ -1,41 +1,40 @@
|
||||
linux中创建和解压文档的10个快速tar命令样例
|
||||
在linux中创建和解压文档的11个 tar 命令例子
|
||||
================================================================================
|
||||
### linux中的tar命令###
|
||||
|
||||
tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令。
|
||||
|
||||
常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过gzip或bzip算法进一步压缩的磁带归档文件扩展。
|
||||
其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或bzip算法进一步进行了压缩。
|
||||
|
||||
在本教程中我们会管中窥豹一下在linux桌面或服务器版本中使用tar命令来处理一些创建和解压归档文件的日常工作的例子。
|
||||
|
||||
在该教程中我们会窥探一下在linux桌面或服务器版本中使用tar命令来处理一些日常创建和解压归档文件的工作样例。
|
||||
### 使用tar命令###
|
||||
|
||||
tar命令在大部分linux系统默认情况下都是可用的,所以你不用单独安装该软件。
|
||||
|
||||
> tar命令具有两个压缩格式,gzip和bzip,该命令的“z”选项用来指定gzip,“j”选项用来指定bzip。同时也可哟用来创建非压缩归档文件。
|
||||
> tar命令具有两个压缩格式,gzip和bzip,该命令的“z”选项用来指定gzip,“j”选项用来指定bzip。同时也可以创建非压缩归档文件。
|
||||
|
||||
#### 1.解压一个tar.gz归档 ####
|
||||
#### 1.解压一个tar.gz归档 ####
|
||||
|
||||
一般常见的用法是用来解压归档文件,下面的命令将会把文件从一个tar.gz归档文件中解压出来。
|
||||
|
||||
|
||||
$ tar -xvzf tarfile.tar.gz
|
||||
|
||||
这里对这些参数做一个简单解释-
|
||||
|
||||
> x - 解压文件
|
||||
|
||||
> v - 繁琐,在解压每个文件时打印出文件的名称。
|
||||
> v - 冗长模式,在解压每个文件时打印出文件的名称。
|
||||
|
||||
> z - 该文件是一个使用 gzip压缩的文件。
|
||||
> z - 该文件是一个使用 gzip 压缩的文件。
|
||||
|
||||
> f - 使用接下来的tar归档来进行操作。
|
||||
|
||||
这些就是一些需要记住的重要选项。
|
||||
|
||||
**解压 tar.bz2/bzip 归档文件 **
|
||||
**解压 tar.bz2/bzip 归档文件**
|
||||
|
||||
具有bz2扩展名的文件是使用bzip算法进行压缩的,但是tar命令也可以对其进行处理,但是是通过使用“j”选项来替换“z”选项。
|
||||
具有bz2扩展名的文件是使用bzip算法进行压缩的,但是tar命令也可以对其进行处理,但是需要通过使用“j”选项来替换“z”选项。
|
||||
|
||||
$ tar -xvjf archivefile.tar.bz2
|
||||
|
||||
@ -47,25 +46,25 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
|
||||
然后,首先需要确认目标目录是否存在,毕竟tar命令并不会为你创建目录,所以如果目标目录不存在的情况下该命令会失败。
|
||||
|
||||
####3. 解压出单个文件 ####
|
||||
####3. 提取出单个文件 ####
|
||||
|
||||
为了从一个归档文件中解压出单个文件,只需要将文件名按照以下方式将其放置在命令后面。
|
||||
为了从一个归档文件中提取出单个文件,只需要将文件名按照以下方式将其放置在命令后面。
|
||||
|
||||
$ tar -xz -f abc.tar.gz "./new/abc.txt"
|
||||
|
||||
在上述命令中,可以按照以下方式来指定多个文件。
|
||||
|
||||
$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"
|
||||
$ tar -xz -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"
|
||||
|
||||
#### 4.使用通配符来解压多个文件 ####
|
||||
|
||||
通配符可以用来解压于给定通配符匹配的一批文件,例如所有以".txt"作为扩展名的文件。
|
||||
|
||||
$ tar -xv -f abc.tar.gz --wildcards "*.txt"
|
||||
$ tar -xz -f abc.tar.gz --wildcards "*.txt"
|
||||
|
||||
#### 5. 列出并检索tar归档文件中的内容 ####
|
||||
#### 5. 列出并检索tar归档文件中的内容 ####
|
||||
|
||||
如果你仅仅想要列出而不是解压tar归档文件的中的内容,使用“-t”选项, 下面的命令用来打印一个使用gzip压缩过的tar归档文件中的内容。
|
||||
如果你仅仅想要列出而不是解压tar归档文件的中的内容,使用“-t”(test)选项, 下面的命令用来打印一个使用gzip压缩过的tar归档文件中的内容。
|
||||
|
||||
$ tar -tz -f abc.tar.gz
|
||||
./new/
|
||||
@ -75,7 +74,7 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
./new/abc.txt
|
||||
...
|
||||
|
||||
将输出通过管道定向到grep来搜索一个文件或者定向到less命令来浏览内容列表。 使用"v"繁琐选项将会打印出每个文件的额外详细信息。
|
||||
可以将输出通过管道定向到grep来搜索一个文件,或者定向到less命令来浏览内容列表。 使用"v"冗长选项将会打印出每个文件的额外详细信息。
|
||||
|
||||
对于 tar.bz2/bzip文件,需要使用"j"选项。
|
||||
|
||||
@ -84,11 +83,10 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
$ tar -tvz -f abc.tar.gz | grep abc.txt
|
||||
-rw-rw-r-- enlightened/enlightened 0 2015-01-13 11:40 ./new/abc.txt
|
||||
|
||||
#### 6.创建一个tar/tar.gz归档文件 ####
|
||||
#### 6.创建一个tar/tar.gz归档文件 ####
|
||||
|
||||
现在我们已经学过了如何解压一个tar归档文件,是时候开始创建一个新的tar归档文件了。tar命令可以用来将所选的文件或整个目录放入到一个归档文件中,以下是相应的样例。
|
||||
|
||||
|
||||
下面的命令使用一个目录来创建一个tar归档文件,它会将该目录中所有的文件和子目录都加入到归档文件中。
|
||||
|
||||
$ tar -cvf abc.tar ./new/
|
||||
@ -102,14 +100,13 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
|
||||
$ tar -cvzf abc.tar.gz ./new/
|
||||
|
||||
> 文件的扩展名其实并不真正有什么影响。“tar.gz” 和tgz是gzip压缩算法压缩文件的常见扩展名。 “tar.bz2”和“tbz”是bzip压缩算法压缩文件的常见扩展名。
|
||||
|
||||
> 文件的扩展名其实并不真正有什么影响。“tar.gz” 和“tgz”是gzip压缩算法压缩文件的常见扩展名。 “tar.bz2”和“tbz”是bzip压缩算法压缩文件的常见扩展名(LCTT 译注:归档是否是压缩的和采用哪种压缩方式并不取决于其扩展名,扩展名只是为了便于辨识。)。
|
||||
|
||||
#### 7. 在添加文件之前进行确认 ####
|
||||
|
||||
一个有用的选项是“w”,该选项使得tar命令在添加每个文件到归档文件之前来让用户进行确认,有时候这会很有用。
|
||||
|
||||
使用该选项时,只有用户输入yes时的文件才会被加入到归档文件中,如果你输入任何东西,默认的回答是一个“No”。
|
||||
使用该选项时,只有用户输入“y”时的文件才会被加入到归档文件中,如果你不输入任何东西,其默认表示是一个“n”。
|
||||
|
||||
# 添加指定文件
|
||||
|
||||
@ -137,7 +134,7 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
|
||||
#### 9. 将文件加入到压缩的归档文件中(tar.gz/tar.bz2) ####
|
||||
|
||||
之前已经提到了不可能将文件加入到已压缩的归档文件中,然和依然可以通过简单的一些把戏来完成。使用gunzip命令来解压缩归档文件,然后将文件加入到归档文件中后重新进行压缩。
|
||||
之前已经提到了不可能将文件加入到已压缩的归档文件中,然而依然可以通过简单的一些把戏来完成。使用gunzip命令来解压缩归档文件,然后将文件加入到归档文件中后重新进行压缩。
|
||||
|
||||
$ gunzip archive.tar.gz
|
||||
$ tar -rf archive.tar ./path/to/file
|
||||
@ -147,16 +144,15 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
|
||||
#### 10.通过tar来进行备份 ####
|
||||
|
||||
一个真实的场景是在规则的间隔内来备份目录,tar命令可以通过cron调度来实现这样的一个备份,以下是一个样例 -
|
||||
一个真实的场景是在固定的时间间隔内来备份目录,tar命令可以通过cron调度来实现这样的一个备份,以下是一个样例 :
|
||||
|
||||
$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/
|
||||
|
||||
使用cron来运行上述的命令会保持创建类似以下名称的备份文件 -
|
||||
'archive-20150218.tar.gz'.
|
||||
使用cron来运行上述的命令会保持创建类似以下名称的备份文件 :'archive-20150218.tar.gz'。
|
||||
|
||||
当然,需要确保日益增长的归档文件不会导致磁盘空间的溢出。
|
||||
|
||||
#### 11. 在创建归档文件是进行验证 ####
|
||||
#### 11. 在创建归档文件时进行验证 ####
|
||||
|
||||
"W"选项可以用来在创建归档文件之后进行验证,以下是一个简单例子。
|
||||
|
||||
@ -174,9 +170,9 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
||||
Verify ./new/newfile.txt
|
||||
Verify ./new/abc.txt
|
||||
|
||||
需要注意的是验证动作不能呢该在压缩过的归档文件上进行,只能在非压缩的tar归档文件上执行。
|
||||
需要注意的是验证动作不能在压缩过的归档文件上进行,只能在非压缩的tar归档文件上执行。
|
||||
|
||||
现在就先到此为止,可以通过“man tar”命令来查看tar命令的的手册。
|
||||
这次就先到此为止,可以通过“man tar”命令来查看tar命令的的手册。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -184,7 +180,7 @@ via: http://www.binarytides.com/linux-tar-command/
|
||||
|
||||
作者:[Silver Moon][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,8 +1,8 @@
|
||||
如何在Linux中隐藏PHP版本
|
||||
如何在Linux服务器中隐藏PHP版本
|
||||
================================================================================
|
||||
通常上,大多数默认设置安装的web服务器存在信息泄露。这其中之一是PHP。PHP(超文本预处理器)是如今流行的服务端html嵌入式语言。在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞。因此,我会简单描述如何在Linux服务器中隐藏PHP信息。
|
||||
通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP。PHP 是如今流行的服务端html嵌入式语言(之一?)。在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞。因此,我会简单描述如何在Linux服务器中隐藏PHP信息。
|
||||
|
||||
默认上**exposr_php**默认是开的。关闭“expose_php”参数可以使php隐藏它的版本信息。
|
||||
默认上**expose_php**默认是开的。关闭“expose_php”参数可以使php隐藏它的版本信息。
|
||||
|
||||
[root@centos66 ~]# vi /etc/php.ini
|
||||
|
||||
@ -26,9 +26,9 @@
|
||||
X-Page-Speed: 1.9.32.2-4321
|
||||
Cache-Control: max-age=0, no-cache
|
||||
|
||||
更改之后,php就不会在web服务头中显示版本了:
|
||||
更改并重启 Web 服务后,php就不会在web服务头中显示版本了:
|
||||
|
||||
[root@centos66 ~]# curl -I http://www.ehowstuff.com/
|
||||
```[root@centos66 ~]# curl -I http://www.ehowstuff.com/
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Server: nginx
|
||||
@ -39,8 +39,9 @@ X-Pingback: http://www.ehowstuff.com/xmlrpc.php
|
||||
Date: Wed, 11 Feb 2015 14:10:43 GMT
|
||||
X-Page-Speed: 1.9.32.2-4321
|
||||
Cache-Control: max-age=0, no-cache
|
||||
```
|
||||
|
||||
有任何需要帮助的请到twiiter @ehowstuff,或在下面留下你的评论。[点此获取更多历史文章][1]
|
||||
LCTT译注:除了 PHP 的版本之外,Web 服务器也会默认泄露版本号。如果使用 Apache 服务器,请[参照此文章关闭Apache 版本显示][2];如果使用 Nginx 服务器,请在 http 段内加入`server_tokens off;` 配置。以上修改请记得重启相关服务。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -48,9 +49,10 @@ via: http://www.ehowstuff.com/how-to-hide-php-version-in-linux/
|
||||
|
||||
作者:[skytech][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ehowstuff.com/author/mhstar/
|
||||
[1]:http://www.ehowstuff.com/archives/
|
||||
[2]:http://linux.cn/article-3642-1.html
|
@ -0,0 +1,39 @@
|
||||
意大利艾米利亚-罗马涅大区正在切换到OpenOffice
|
||||
================================================================================
|
||||

|
||||
|
||||
在拥抱开源的道路上,意大利似乎走在了最前面。我们已经知道,很多意大利的城市如[乌迪内][1],[都灵][2],[Todi和都灵][3]过去已经选择了[开源办公套件以取代微软的Office][4]。现在,位于意大利北部的[艾米利亚-罗马涅大区][5](位于意大利北部,是意大利20个大区之一)也将在下个月完成向[Apache OpenOffice][6]的过渡。
|
||||
|
||||
### 切换到 OpenOffice ###
|
||||
|
||||
这次向OpenOffice的迁移将会在下个月完成,而且将会覆盖4200个计算机工作站,涉及到10个部门和5个代理机构。 而且,开源文档格式(ODF)也将成为默认的文档格式。向OpenOffice的过渡最初在2013年底被提出来,原本打算在2014年底完成。这次从商业办公产品改用OpenOffice,从授权费用来说,据信会[节约大概2 000 000欧元][7]。
|
||||
|
||||
为了使这次顺利搬家和方便内部操作,负责这次搬家的团队正在开发许多定制工具和插件。
|
||||
|
||||
本次项目的负责人,Giovanni Grazia对本次“搬家”充满激情,但同时他也做好了应对批评的准备:
|
||||
|
||||
> “改用新的办公套件并不是一件容易完成的工作,我们借这次机会来拥护免费和开源的软件。一些地区的公务员表示高度支持,而另一些则感到厌烦,因为他们已经使用商业产品二十年了。为了处理任何在迁移中发生的问题,一个有着三个IT专家的五人支持团队正在一个部门接一个部门,逐渐地完成这次迁移。”
|
||||
|
||||
### 祝愿 ###
|
||||
|
||||
我希望其他的国家也能使用OpenOffice套件,祝愿所有迁移到开源软件的人或国家都顺利完成。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/emiliaromagna-completes-switch-openoffice/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://linux.cn/article-3853-1.html
|
||||
[2]:http://linux.cn/article-3602-1.html
|
||||
[3]:http://itsfoss.com/italian-cities-switch-libreoffice/
|
||||
[4]:http://itsfoss.com/best-free-open-source-alternatives-microsoft-office/
|
||||
[5]:http://en.wikipedia.org/wiki/Emilia-Romagna
|
||||
[6]:https://www.openoffice.org/
|
||||
[7]:http://www.slwoods.co.uk/?p=2886
|
||||
[8]:http://itsfoss.com/french-city-toulouse-saved-1-million-euro-libreoffice/
|
@ -6,7 +6,7 @@ Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
|
||||
|
||||
只有在你需要生成一个定制的内核,而且内核源码中的一些内核默认设置要被你调整了的情况下,你才需要完整的内核源码树。
|
||||
|
||||
这里将会解答如何**在Debian或Ubuntu的库中下载并安装完整树结构的内核源码**。虽然你可以在这个网站[https://www.kernel.org/pub/linux/kernel/][2]下载官方的内核源码,但是发行版软件仓库可以允许你下载包含补丁的内核源码。
|
||||
这里将会解答如何**在Debian或Ubuntu的库中下载并安装完整树结构的内核源码**。你可以在[https://www.kernel.org/pub/linux/kernel/][2]下载官方的内核源码,不过使用发行版软件仓库可以允许你下载包含补丁的内核源码。
|
||||
|
||||
### 在Debian上安装完整的内核源码 ###
|
||||
|
||||
@ -20,7 +20,7 @@ Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
|
||||
|
||||
伴随着完整内核源码(linux_X.X.XX.orig.tar.xz)的还有一些可用的内核补丁(linux_X.X.X+XXX.debian.tar.xz)和源码控制文件(linux_XXXX.dsc),这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。
|
||||
|
||||
当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时更具.dsc文件来下补丁。
|
||||
当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。
|
||||
|
||||
最终完整的内核源码树将会以"linux-X.X.XX"的形式呈现在当前目录中。
|
||||
|
||||
@ -35,7 +35,7 @@ Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
|
||||
$ sudo apt-get install git
|
||||
$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release --codename | cut -f2).git
|
||||
|
||||
举个例子,如果你使用的是Ubuntu14.04,以上的命令将会查看Git的"ubuntu-trusty"仓库中的代码。
|
||||
举个例子,如果你使用的是Ubuntu 14.04,以上的命令将会查看Git的"ubuntu-trusty"仓库中的代码。
|
||||
|
||||

|
||||
|
||||
@ -48,8 +48,8 @@ Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
|
||||
via: http://ask.xmodulo.com/install-full-kernel-source-debian-ubuntu.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[martin qi](https://github.com/martin2011qi)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,34 +1,34 @@
|
||||
Linux Basics: How To Find Maximum Supported RAM By Your System
|
||||
Linux基础:如何找出你的系统所支持的最大内存
|
||||
================================================================================
|
||||

|
||||
|
||||
Mostly, you will find maximum supported RAM by your system from the BIOS, Product catalog, or manuals. Here is the simple, yet useful trick, to find out maximum supported RAM using Dmidecode without opening the system chassis or referring the BIOS, product catalogs.
|
||||
大多数情况下你可以从BIOS、产品目录或者干脆手动找出你的系统所持的最大内存。这里,我们介绍一种简单有用的技巧——使用Dmidecode来找出系统支持的最大内存,这样你就无需打开机箱或者参照BIOS和产品目录了。
|
||||
|
||||
### What is Dmidecode? ###
|
||||
### 什么是 Dmidecode? ###
|
||||
|
||||
As you may know, **Dmidecode** is a tool for dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Using Dmidecode, you can retrieve this information without having to probe for the actual hardware.
|
||||
就像你可能知道的一样, **Dmidecode**是一个将计算机DMI(又名SMBIOS)表的内容转换为可读格式的工具。这个表包含了系统硬件组件的介绍以及其他一些如序列号和IOS版本等有用的信息。使用Dmidecode你能够获取此项信息,而无需去探测真实的硬件。
|
||||
|
||||
### Find out the maximum RAM supported by your system ###
|
||||
### 找出你的系统所支持的最大内存 ###
|
||||
|
||||
Make sure you have installed dmidecode on your system. I think it will be automatically installed while installing your OS, but I am not sure though.
|
||||
请确定你已经在系统中安装了dmidecode,我觉得你的操作系统应该已经自动安装过了,不过并不非常确定。
|
||||
|
||||
**On Deb based system:**
|
||||
**在基于Deb的系统中安装**
|
||||
|
||||
sudo apt-get install dmidecode
|
||||
|
||||
**On RPM based system:**
|
||||
**在基于RPM的系统中安装**
|
||||
|
||||
sudo yum install dmidecode
|
||||
|
||||
**On SUSE/openSUSE:**
|
||||
**在SUSE/openSUSE中安装**
|
||||
|
||||
sudo zypper in dmidecode
|
||||
|
||||
Well, we installed dmidecode. Let us find out the maximum RAM supported. To do that, enter the following command:
|
||||
好了,我们已经安装了dmidecode,接下来让我们找出支持的最大内存。输入以下命令:
|
||||
|
||||
sudo dmidecode -t 16
|
||||
|
||||
**Sample output:**
|
||||
**输出样本**
|
||||
|
||||
# dmidecode 2.12
|
||||
SMBIOS 2.6 present.
|
||||
@ -42,13 +42,13 @@ Well, we installed dmidecode. Let us find out the maximum RAM supported. To do t
|
||||
Error Information Handle: Not Provided
|
||||
Number Of Devices: 2
|
||||
|
||||
As you see in the above output, my system will support RAM upto 16GB, and it has two RAM slots. Pretty easy, isn’t it?
|
||||
就像你看到的,我的系统支持最大内存到16G,并且有两个内存插槽,简单吧?
|
||||
|
||||
Well, let us find out the currently installed RAM details.
|
||||
接下来,让我们找出现在已经安装的内存的详细信息。
|
||||
|
||||
sudo dmidecode -t 17
|
||||
|
||||
**Sample output:**
|
||||
**输出样本**
|
||||
|
||||
# dmidecode 2.12
|
||||
SMBIOS 2.6 present.
|
||||
@ -93,15 +93,15 @@ Well, let us find out the currently installed RAM details.
|
||||
Part Number: JM1066KSN-4G
|
||||
Rank: Unknown
|
||||
|
||||
As per the above output, I have installed one RAM in DIMM slot 1. The RAM size is **4GB**, and it’s type and speed is **DDR3** and **1067 MHz** respectively.
|
||||
就像上边输出的一样,我在插槽1里边安装了一个内存条。内存大小为**4G**,类型为**DDR3**,速度为**1067 MHz**。
|
||||
|
||||
Also, we can have the complete RAM details using the following commands.
|
||||
同样的,我们可以通过下边命令得到完整的内存信息。
|
||||
|
||||
sudo dmidecode -t memory
|
||||
sudo dmidecode -t memory | less
|
||||
sudo dmidecode -t memory | more
|
||||
|
||||
**Sample output:**
|
||||
**输出样本**
|
||||
|
||||
# dmidecode 2.12
|
||||
SMBIOS 2.6 present.
|
||||
@ -155,11 +155,11 @@ Also, we can have the complete RAM details using the following commands.
|
||||
Part Number: JM1066KSN-4G
|
||||
Rank: Unknown
|
||||
|
||||
Curious to know the complete system details such as Motherboard, Memory, Bios etc? Well, enter the following command to get all details.
|
||||
如果你好奇想要知道整个系统的详细信息,例如主板、内存、BIOS等,那么可以输入以下命令来获取。
|
||||
|
||||
sudo dmidecode
|
||||
|
||||
**Sample output:**
|
||||
**输出样本**
|
||||
|
||||
# dmidecode 2.12
|
||||
SMBIOS 2.6 present.
|
||||
@ -681,16 +681,16 @@ Curious to know the complete system details such as Motherboard, Memory, Bios et
|
||||
Handle 0x0031, DMI type 127, 4 bytes
|
||||
End Of Table
|
||||
|
||||
That’s it. Happy weekend. Stay happy!
|
||||
好了,就是这样。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.unixmen.com/linux-basics-how-to-find-maximum-supported-ram-by-your-system/
|
||||
via: http://www.unixmen.com/linux-basics-how-to-find-maximum-supported-ram-by-your-system/
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
作者:[SK][0]
|
||||
译者:[mr-ping](https://github.com/mr-ping)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.unixmen.com/author/sk/
|
||||
[0]:https://www.unixmen.com/author/sk/
|
@ -0,0 +1,50 @@
|
||||
Pinta 1.6发布了!在 Ubuntu 和 Linux Mint 上安装Pinta
|
||||
================================================================================
|
||||

|
||||
|
||||
|
||||
[Pinta][1] 是一款免费的开源绘图应用软件,它在Linux用户中很受欢迎。你也可以把它看作是**微软画图软件的开源替代品**。Pinta 可以在很多平台上使用,如 Linux、Windows 以及 Mac OS X。
|
||||
|
||||
Gimp 作为一款功能齐全的图像编辑软件而流行,相比Pinta则单纯是一种绘图工具。我常用它在我的截图上画箭头和曲线,而且我可以说这是我在 Linux 上最喜欢的绘图应用软件。
|
||||
|
||||
### Pinta 1.6 的新功能###
|
||||
|
||||
经过一年多的时间,Pinta发布了1.6版本,修复了50多个漏洞并且增加了一些新功能。增加的新功能如下:
|
||||
|
||||
- 线条工具现在支持绘制曲线和箭头
|
||||
- 绘制好的图形可以编辑形状
|
||||
- 所有的图形工具现在支持绘制虚线
|
||||
- 所有的选择工具现在支持并集、排除,异或和交集模式
|
||||
- 插件可通过插件管理器安装
|
||||
- 命令行中加入新选项
|
||||
|
||||
新版本同时也修复了一个很烦人的漏洞——右键菜单选项,[在打开方式中使用Pinta不能打开文件][2]。你可以在[发布说明][3]阅读所有的改变。
|
||||
|
||||
### 在 Ubuntu 和 Linux Mint 中安装 Pinta 1.6###
|
||||
|
||||
Pinta 1.5 可以在 Ubuntu 14.04,14.10,Linux Mint 17 和 elementary OS 中使用。如果你想安装最新的 1.6 版本,你可以使用 Pinta 团队的官方PPA源。如果你已经安装了 Pinta 1.5 也不必担心。再安装一次将会使版本升级。
|
||||
|
||||
打开终端并使用以下命令:
|
||||
|
||||
sudo add-apt-repository ppa:pinta-maintainers/pinta-stable
|
||||
sudo apt-get update
|
||||
sudo apt-get install pinta
|
||||
|
||||
下载源代码或者获取 Windows 和 Mac OS X 的安装文件,请点击[Pinta下载页面][4]。在如下这篇相关文章中,你也可以选出[Linux中最好的照片应用软件][5]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/pinta-1-6-ubuntu-linux-mint/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[linuhap](https://github.com/linuhap)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://pinta-project.com/
|
||||
[2]:http://itsfoss.com/add-application-list-open-applications-ubuntu-1310/
|
||||
[3]:http://pinta-project.com/releases/1-6
|
||||
[4]:http://pinta-project.com/releases
|
||||
[5]:http://itsfoss.com/image-applications-ubuntu-linux/
|
@ -0,0 +1,85 @@
|
||||
10种将开源用于商业的最佳途径
|
||||
===============================================================================
|
||||
> 开源为大大小小的商业带来了一些显著的效益 -- 但是你可能会对某些用途感到惊讶。
|
||||
|
||||

|
||||
|
||||
技术上已经发生了一些必然性的改变。举个例子,开源软件以它的方式进入到了你的工作之中。10 年前,这也许还能称为一个问题。现在呢?则已经无法避免开源技术的使用 -- 也没有理由要去避免。有如此多强大(和必需的)的方方面面技术,开源在许多方面已经成为了技术的救世主。但是你哪一块的工作最适合开源软件呢?当然,这个问题的答案会因公司而异。然而许多的应用几乎可以适用于每个场景中。
|
||||
|
||||
让我们来看看这10种可能是最佳的使用方法,它们可以帮助你的公司成长,带给你从未体验过的灵活性与可靠性,或者仅仅是帮你节省一笔可观的预算。
|
||||
|
||||
### 1: 服务器软件 ###
|
||||
|
||||
如果你还在微软的 IIS 平台苦苦挣扎,那么你需要体验一下 Apache。这款旗舰级开源软件是这个星球上使用最广泛的网页服务器软件之一。Apache 免费、极其可靠、易于管理,而且不像 IIS 一样需要大量的资源。然而,开源并不局限于网页服务器。如果你需要在公司内使用 SMB 来共享资源,可以试试 Samba, Samba 4甚至集成了活动目录(AD),所以你不需要担心在Samba服务器上建立单独的用户账号。
|
||||
|
||||
### 2: 开发 ###
|
||||
|
||||
用开源开发是很简单的事。PHP,Rails,Perl -- 开源上面的开发语言和开发的工具(从集成开发环境到调试)都很多。为开源或者开源工具做开发可以有很多种选择(如同使用商业软件开发一样)。开源软件与商业软件最大的不同之处在于开源可以接触到软件源代码。在自由开源软件(FOSS,free open source software)的世界里,代码都是公开的。对许多开发者来说,Linux操作系统有他们开发和构建所需要的一切(特别那些没有一个成熟环境来写代码的人而言)。如果你需要图形用户界面(GUI)的开发工具,开源也能满足你。
|
||||
|
||||
### 3: 安全 ###
|
||||
|
||||
通往安全的道路是充满挑战的,但还是很多途径可以达到。你可以选择“安全盒子”的解决方案,跟随Cisco(一个可靠的解决方案)的节奏,或者你可以借助iptables打造最适合你需求的安全。是的,开源的安全之路会需要更多的时间去配置(有很高的学习壁垒),但是结果通常是不错的。这里甚至不强调一种观点,就一般来说,在桌面上使用开源比起大多数封闭的系统而言是一个更安全的平台。在桌面上部署Linux,你的安全痛点会大大降低。
|
||||
|
||||
### 4: 桌面 ###
|
||||
|
||||
Linux 桌面是大多数人不认可的地方。尽管如此,你必须考虑一个事实,那就是你每天的工作流程已经经历了一个主要的思维模式的转换。我们现在做的大部分事情都是通过网络浏览器。那么为什么不将Linux部署到桌面上呢?不但可以能做如今要做的许多工作,而且不用遭受病毒,恶意软件和能破坏系统的更新。它不完美 -- 但哪个平台敢说完美?但是它很强大,最后,还可以节省你的开支。这是一个双赢的结局。
|
||||
|
||||
### 5: 工作流程 ###
|
||||
|
||||
每一种工作都依赖于工作流程。对于某些工作来说,一个流畅的工作流程又取决于所用的工具。开源已经登上这个舞台了。CRM(客户关系管理),HRM(人力资源管理),ERP(企业资源计划),BI(商业智能),BPM(业务流程管理) …… 只要你叫得出名字,开源就可以做到几乎你能想到的每一种可能 -- 并且干得不错。借助于[Pentaho][1], [Collabtive][2]和[SugarCRM][3], 开源可以在任何时候与最新的源工具保持同步。
|
||||
|
||||
### 6: 协作 ###
|
||||
|
||||
没有一起合作项目的能力,你的员工就不能干好工作。所以你选择的协作工具是十分重要的。你会在开源的世界里发现大量的优质协作工具。[Cyn.in 社区版][4], [Zimbra 开源版][5]和[Kolab][6]都是不错的协作工具,但这仅仅是开源世界里的三个代表而已。
|
||||
|
||||
### 7: 大数据 ###
|
||||
|
||||
以前说到大数据的时候,往往不会想到开源。多亏了[SUSE][7]的努力,大数据和开源现在可以携手共进了。许多如内存数据和内核热补丁的发明创建,使得开源成为大数据一个理想的解决方案。它可以完美地满足大数据在平台上所需的大量要求,而封闭的软件则达不到如此灵活的水平。
|
||||
|
||||
### 8: 云 ###
|
||||
|
||||
云的主要玩家都是开源的。[Red Hat][8], [Ubuntu][9], [SUSE][10], [Amazon][11], [Rackspace][12] -- 他们都提供云服务,而且认为开源是云配置的最好解决方案。但是,如果你不想用大公司的服务,仍然有很多后起之秀如[OwnCloud][13],你可以选择OwnCloud的托管云方案,或者建立自己的一套。
|
||||
|
||||
### 9: 多媒体 ###
|
||||
|
||||
如果你的公司做播客或为产品发布制作视频,开源可以为你提供服务。借助像[Audacity][14]和[OpenShot][15]这样的工具,你可以对音频和视频做你需要的任何处理 -- 而且十分的廉价。实际上,你会感觉到很难再去找到比Audacity更好的播客工具,或者比OpenShot更易用的视频编辑器。没有太大的学习壁垒,或者闭源软件工具所要求的高额费用,开源的软件在帮助你创造专业水准的作品方面已经做得很好了。
|
||||
|
||||
### 10: 电子商务 ###
|
||||
|
||||
如果你做在线销售,如果不尝试一下像[PrestaShop][16]之类的工具,你就太懈怠了。PrestaShop是最强大的电子商务解决方案之一,易于获取 -- 不需要许可证。 PrestaShop有你可能想要的所有功能(而且有些你可能都没有想过),这个开源平台已经在任何水平上超出了电子商务的范畴。
|
||||
|
||||
### FOSS 之于商业 ###
|
||||
|
||||
开源已经不再局限于商业交流的范围了。在许多情况下,FOSS已经主导这种交流。如果你已经在寻找将开源解决方案运用的领域,看上面的10条就行了。
|
||||
|
||||
### 该你了 ###
|
||||
|
||||
你已经将开源用到你的工作中了吗?如果是,属于哪一条方法呢?
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.techrepublic.com/blog/10-things/10-best-uses-for-open-source-software-in-the-business-world/
|
||||
|
||||
作者:[Jack Wallen][a]
|
||||
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.techrepublic.com/search/?a=jack+wallen
|
||||
[1]:http://community.pentaho.com/
|
||||
[2]:http://collabtive.o-dyn.de/
|
||||
[3]:http://www.sugarcrm.com/
|
||||
[4]:http://cynapse.com/cyn-in/
|
||||
[5]:https://www.zimbra.com/open-source
|
||||
[6]:http://kolab.org/
|
||||
[7]:http://www.suse.org/
|
||||
[8]:http://www.redhat.com/
|
||||
[9]:http://www.ubuntu.com/
|
||||
[10]:http://www.suse.com/
|
||||
[11]:http://aws.amazon.com/ec2/
|
||||
[12]:http://www.rackspace.com/cloud
|
||||
[13]:https://owncloud.org/
|
||||
[14]:http://audacity.sourceforge.net/
|
||||
[15]:http://www.openshot.org/
|
||||
[16]:https://www.prestashop.com/
|
@ -0,0 +1,263 @@
|
||||
Linux中的15个基本‘ls’命令示例
|
||||
================================================================================
|
||||
ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令。我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所有可用的选项。本文中,我们将讨论下一些基本的ls命令并且覆盖尽可能多的有关参数来讲解。
|
||||
|
||||

|
||||
|
||||
*Linux的ls命令*
|
||||
|
||||
### 1. 不带任何选项列出文件 ###
|
||||
|
||||
不带选项的ls命令来光秃秃地列出文件和目录,我们是不能看到像文件类型、大小、修改日期和时间、权限以及链接这样具体的信息的。
|
||||
|
||||
# ls
|
||||
|
||||
0001.pcap Desktop Downloads index.html install.log.syslog Pictures Templates
|
||||
anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos
|
||||
|
||||
### 2 带 –l 选项列出文件列表 ###
|
||||
|
||||
你看,ls -l(-l是字母不是“1”)就能展示出是文件还是目录,它的大小、修改日期和时间、文件或目录的名字以及文件的属主和它的权限。
|
||||
|
||||
# ls -l
|
||||
|
||||
total 176
|
||||
-rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
|
||||
-rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
|
||||
drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
|
||||
-rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
|
||||
-rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
|
||||
-rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
|
||||
-rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
|
||||
|
||||
### 3. 浏览隐藏文件 ###
|
||||
|
||||
列出所有文件包括以‘.’开头的隐藏文件。
|
||||
|
||||
# ls -a
|
||||
|
||||
. .bashrc Documents .gconfd install.log .nautilus .pulse-cookie
|
||||
.. .cache Downloads .gnome2 install.log.syslog .netstat.swp .recently-used.xbel
|
||||
0001.pcap .config .elinks .gnome2_private .kde .opera .spice-vdagent
|
||||
anaconda-ks.cfg .cshrc .esd_auth .gtk-bookmarks .libreoffice Pictures .tcshrc
|
||||
.bash_history .dbus .fbcmd .gvfs .local .pki Templates
|
||||
.bash_logout Desktop fbcmd_update.php .ICEauthority .mozilla Public Videos
|
||||
.bash_profile .digrc .gconf index.html Music .pulse .wireshark
|
||||
|
||||
### 4. 用 -lh 选项来以易读方式列出文件 ###
|
||||
|
||||
用-lh组合选项,以易读方式来显示大小。
|
||||
|
||||
# ls -lh
|
||||
|
||||
total 176K
|
||||
-rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
|
||||
-rw-------. 1 root root 1.6K Jul 31 02:17 anaconda-ks.cfg
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Desktop
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Documents
|
||||
drwxr-xr-x. 4 root root 4.0K Aug 16 02:55 Downloads
|
||||
-rw-r--r--. 1 root root 21K Aug 12 12:42 fbcmd_update.php
|
||||
-rw-r--r--. 1 root root 46K Jul 31 09:58 index.html
|
||||
-rw-r--r--. 1 root root 48K Jul 31 02:17 install.log
|
||||
-rw-r--r--. 1 root root 12K Jul 31 02:13 install.log.syslog
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Music
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Pictures
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Public
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Templates
|
||||
drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Videos
|
||||
|
||||
### 5. 以尾部以‘/’字符结尾的方式列出文件和目录 ###
|
||||
|
||||
使用 ls 命令的 -F 选项,会在每个目录的末尾添加“/”字符显示。
|
||||
|
||||
# ls -F
|
||||
|
||||
0001.pcap Desktop/ Downloads/ index.html install.log.syslog Pictures/ Templates/
|
||||
anaconda-ks.cfg Documents/ fbcmd_update.php install.log Music/ Public/ Videos/
|
||||
|
||||
### 6. 倒序列出文件 ###
|
||||
|
||||
ls -r 选项能以倒序方式显示文件和目录。
|
||||
|
||||
# ls -r
|
||||
|
||||
Videos Public Music install.log fbcmd_update.php Documents anaconda-ks.cfg
|
||||
Templates Pictures install.log.syslog index.html Downloads Desktop 0001.pcap
|
||||
|
||||
### 7. 递归列出子目录 ###
|
||||
|
||||
ls -R 选项能列出非常长的目录树,来看看示例输出:
|
||||
|
||||
# ls -R
|
||||
|
||||
total 1384
|
||||
-rw-------. 1 root root 33408 Aug 8 17:25 anaconda.log
|
||||
-rw-------. 1 root root 30508 Aug 8 17:25 anaconda.program.log
|
||||
|
||||
./httpd:
|
||||
total 132
|
||||
-rw-r--r-- 1 root root 0 Aug 19 03:14 access_log
|
||||
-rw-r--r--. 1 root root 61916 Aug 10 17:55 access_log-20120812
|
||||
|
||||
./lighttpd:
|
||||
total 68
|
||||
-rw-r--r-- 1 lighttpd lighttpd 7858 Aug 21 15:26 access.log
|
||||
-rw-r--r--. 1 lighttpd lighttpd 37531 Aug 17 18:21 access.log-20120819
|
||||
|
||||
./nginx:
|
||||
total 12
|
||||
-rw-r--r--. 1 root root 0 Aug 12 03:17 access.log
|
||||
-rw-r--r--. 1 root root 390 Aug 12 03:17 access.log-20120812.gz
|
||||
|
||||
### 8. 以修改时间倒序列出 ###
|
||||
|
||||
带-ltr组合选项能以文件或目录的最新修改时间的次序来显示它们。
|
||||
|
||||
# ls -ltr
|
||||
|
||||
total 176
|
||||
-rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
|
||||
-rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
|
||||
-rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
|
||||
-rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
|
||||
-rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
|
||||
drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
|
||||
-rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
|
||||
|
||||
### 9. 按文件大小排序 ###
|
||||
|
||||
带-lS组合选项能按文件从大到小的次序显示。
|
||||
|
||||
# ls -lS
|
||||
|
||||
total 176
|
||||
-rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
|
||||
-rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
|
||||
-rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
|
||||
-rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
|
||||
drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
|
||||
drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
|
||||
-rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
|
||||
-rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
|
||||
|
||||
### 10. 显示文件或目录的索引节点号 ###
|
||||
|
||||
我们有时候可以看到一些数字打印在文件或目录名之前,带-i选项就能列出文件或目录的索引节点号。
|
||||
|
||||
# ls -i
|
||||
|
||||
20112 0001.pcap 23610 Documents 23793 index.html 23611 Music 23597 Templates
|
||||
23564 anaconda-ks.cfg 23595 Downloads 22 install.log 23612 Pictures 23613 Videos
|
||||
23594 Desktop 23585 fbcmd_update.php 35 install.log.syslog 23601 Public
|
||||
|
||||
### 11. 显示ls命令的版本 ###
|
||||
|
||||
查看ls命令的版本。
|
||||
|
||||
# ls --version
|
||||
|
||||
ls (GNU coreutils) 8.4
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
Written by Richard M. Stallman and David MacKenzie.
|
||||
|
||||
### 12. 显示帮助页面 ###
|
||||
|
||||
列出ls命令的选项帮助页面。
|
||||
|
||||
# ls --help
|
||||
|
||||
Usage: ls [OPTION]... [FILE]...
|
||||
|
||||
### 13. 列出目录信息 ###
|
||||
|
||||
用ls -l命令列出/tmp目录下的文件,其中-ld参数可以只显示/tmp目录的信息。
|
||||
|
||||
# ls -l /tmp
|
||||
total 408
|
||||
drwx------. 2 narad narad 4096 Aug 2 02:00 CRX_75DAF8CB7768
|
||||
-r--------. 1 root root 384683 Aug 4 12:28 htop-1.0.1.tar.gz
|
||||
drwx------. 2 root root 4096 Aug 4 11:20 keyring-6Mfjnk
|
||||
drwx------. 2 root root 4096 Aug 16 01:33 keyring-pioZJr
|
||||
drwx------. 2 gdm gdm 4096 Aug 21 11:26 orbit-gdm
|
||||
drwx------. 2 root root 4096 Aug 19 08:41 pulse-gl6o4ZdxQVrX
|
||||
drwx------. 2 narad narad 4096 Aug 4 08:16 pulse-UDH76ExwUVoU
|
||||
drwx------. 2 gdm gdm 4096 Aug 21 11:26 pulse-wJtcweUCtvhn
|
||||
-rw-------. 1 root root 300 Aug 16 03:34 yum_save_tx-2012-08-16-03-34LJTAa1.yumtx
|
||||
|
||||
----------
|
||||
|
||||
# ls -ld /tmp/
|
||||
|
||||
drwxrwxrwt. 13 root root 4096 Aug 21 12:48 /tmp/
|
||||
|
||||
### 14. 显示文件的UID和GID ###
|
||||
|
||||
用ls -n命令来显示文件和目录的UID(译者注:userid,用户ID)和GID(译者注:groupid,组ID)。
|
||||
|
||||
# ls -n
|
||||
|
||||
total 36
|
||||
drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Downloads
|
||||
drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Music
|
||||
drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Pictures
|
||||
-rw-rw-r--. 1 500 500 12 Aug 21 13:06 tmp.txt
|
||||
drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Videos
|
||||
|
||||
### 15. ls命令和它的别名 ###
|
||||
|
||||
我们给ls命令设置如下别名之后,当我们执行ls命令的时候它会默认执行-l选项并且像上文提到的那样显示长列表。
|
||||
|
||||
# alias ls="ls -l"
|
||||
|
||||
注意:我们可以通过不加任何参数的alias命令来看到目前系统中可用的所有alias设置,当然它们同时也可以unalias来取消。
|
||||
|
||||
# alias
|
||||
|
||||
alias cp='cp -i'
|
||||
alias l.='ls -d .* --color=auto'
|
||||
alias ll='ls -l --color=auto'
|
||||
alias ls='ls --color=auto'
|
||||
alias mv='mv -i'
|
||||
alias rm='rm -i'
|
||||
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||
|
||||
删除一项之前定义的alias设置,只需用unalias命令即可。
|
||||
|
||||
# unalias ls
|
||||
|
||||
下篇文章我们将讨论更多更高级的ls命令以及示例,如果我们在本文有遗漏了任何东西,请通过评论让我们获悉。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/15-basic-ls-command-examples-in-linux/
|
||||
|
||||
作者:[Ravi Saive][a]
|
||||
译者:[ZTinoZ](https://github.com/ZTinoZ)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/admin/
|
@ -0,0 +1,39 @@
|
||||
一款在Gnome桌面中显示Andorid通知的程序
|
||||
================================================================================
|
||||
|
||||
**你很快就可以在GNOME桌面中看到Andorid通知了,这都要归功于一个正在开发中的新程序。**
|
||||
|
||||

|
||||
在这里看到Android通知是不是很棒?就可以了~
|
||||
|
||||
这个新的项目叫“Nuntius”,这可以让在Andorid手机上收到的通知显示在GNOME桌面上。它会集成在GNOME 3.16中,并且它[重新设计了通知系统][1],这个app和特性会用在其他更多的地方。
|
||||
|
||||
这个app的开发者希望在这个月GNOME 3.16发布之前可以完成,它将通过蓝牙工作来保证不会传给外部的系统或者使用在线存储。这意味着你的电话必须接近GNOME桌面来保证这个功能可用。
|
||||
|
||||
他现在还不能回复短消息或者对提醒采取操作。
|
||||
|
||||
开发团队警告说**这是一个早期发布版本**,那些打算期望很高人要有暂时只能提供部分功能的心理准备。
|
||||
|
||||
这个用来配合在GNOME桌面上看Android通知的移动端app现在已经在[Google Play商店][2]找到了,而GNOME程序已经放在Fedora的仓库中了。
|
||||
|
||||
开发者已经在Gituhb上开源了Android和GNOME接收端的程序。
|
||||
|
||||
在一两年前,[KDE桌面上已经有了][3]一个相似的工具 - ‘KDE Connect,它通过Pushbullet来为使用Chrome的iOS和Android提供相似的功能,支持Windows、MAC和Linux桌面。
|
||||
|
||||
- [Nuntius for Android & GNOME on GitHub][4]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2015/03/new-app-brings-android-notifications-to-the-gnome-desktop
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2015/02/4-reason-why-gnome-3-16-might-be-the-best-version-yet-gallery
|
||||
[2]:https://play.google.com/store/apps/details?id=org.holylobster.nuntius
|
||||
[3]:http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop
|
||||
[4]:https://github.com/holylobster
|
@ -0,0 +1,26 @@
|
||||
经过 systemd 争执后,辞职的 Debian TC 席位已被增补
|
||||
================================================================================
|
||||
|
||||
去年随着Debian 以 systemd 作为 init 管理器的决议,以及随后的 [init 系统投票][1],有三个人从 Debian 技术委员会退出:Colin Watson, [Ian Jackson][2], 以及 [Russ Allbery][3]。现在,这些空缺席位现已由现有的技术委员会成员任命。
|
||||
|
||||
新任命的技术委员会成员是 Sam Hartman, Tollef Fog Heen 以及 Didier Raboud。这些新成员加上Bdale Garbee, Don Armstrong, Andreas Barth, Steve Langasek 以及 Keith Packard 组成了现在的Debian技术委员会。由Debian章程确定的 Debian 技术委员会(TC)负责对 Debian 项目中的技术争端做出最后的决定,他们在去年所有的关于 init 系统的讨论中变得十分重要。
|
||||
|
||||

|
||||
|
||||
新技术委员会成员的委任公告可以从 [debian-devel-announce列表][4] 中获悉。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.phoronix.com/scan.php?page=news_item&px=Debian-TC-Three-Appointments
|
||||
|
||||
作者:[Michael Larabel][a]
|
||||
译者:[alim0x](https://github.com/alim0x)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.michaellarabel.com/
|
||||
[1]:http://www.phoronix.com/scan.php?page=news_item&px=MTg0MzY
|
||||
[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTg0NDA
|
||||
[3]:http://www.phoronix.com/scan.php?page=news_item&px=MTg0MjM
|
||||
[4]:https://lists.debian.org/debian-devel-announce/2015/03/msg00003.html
|
@ -0,0 +1,85 @@
|
||||
如何设置Ubuntu14.04 的 SSH 无密码登录
|
||||
================================================================================
|
||||
大家好,今天我来向大家介绍如何在 Ubuntu12.04 上设置 SSH 的无密码登录功能。仅在工作站上有正确的(公私)密钥对以供匹配时SSH服务端才会允许你登录,反之访问将不会被允许。
|
||||
|
||||
正常情况下,我们需要连上SSH的控制台输入用户名及其密码才行。如果两者全部正确,我们就可以访问,反之访问被服务端拒绝。不过相比而言还有一种比用密码更安全的登录方式,我们可以在登录SSH时通过加密密钥进行无密码登录。
|
||||
|
||||
如果你想启用这个安全的方式,我们只需简单的禁用密码登录并只允许加密密钥登录即可。使用这种方式时,客户端计算机上会产生一对私钥和公钥。接着客户端得把公钥上传到SSH服务端的authorized_key文件中去。在授予访问前,服务器及客户端电脑会校验这个密钥对。如果服务器上的公钥与客服端提交的私钥匹配则授予访问权限,否则访问被拒绝。
|
||||
|
||||
这是认证到SSH服务器的非常安全的一种做法,如果你想为单一的SSH用户登录实现安全登录,这也是备受推崇的方式。这里快速的过一遍如何启用无密码登录SSH的配置过程。
|
||||
|
||||
### 1.安装Openssh服务端 ###
|
||||
|
||||
首先,我们需要更新我们的本地库索引。所以如下所见,我们需要先输入“apt-get update”
|
||||
|
||||
$ sudo apt-get update
|
||||
|
||||

|
||||
|
||||
现在我们可以通过以下命令安装openssh-server:
|
||||
|
||||
$ sudo apt-get install openssh-server
|
||||
|
||||

|
||||
|
||||
### 2. 开启openssh服务 ###
|
||||
|
||||
在OpenSSH已经成功安装在Ubuntu14.04操作系统上了之后,我们要启动OpenSSH的服务。以下命令让你启动/开启服务。
|
||||
|
||||
$ sudo service ssh start
|
||||
|
||||
或
|
||||
|
||||
$ sudo /etc/init.d/ssh start
|
||||
|
||||
### 3. 配置密钥对 ###
|
||||
|
||||
在我们安装并启动了OpenSSH服务以后。现在终于到了要我们搞定公私钥对的时候了,在终端中运行以下命令:
|
||||
|
||||
$ ssh-keygen -t rsa
|
||||
|
||||
在运行完以上命令了以后,我们需要回答一系列的问题。首先选择保存密钥的路径,按回车将会选择默认路径即家目录的一个隐藏的.ssh文件夹。下一个提示是请输入口令提醒。我个人将此留空(直接回车)。之后密钥对就会创建,大功告成。
|
||||
|
||||

|
||||
|
||||
在密钥对生成以后,我们需要将**客户端上的公钥复制到SSH服务端**或者主机,来创建对客户端的信任关系。运行以下命令复制客户端的公钥到服务端。
|
||||
|
||||
$ ssh-copy-id user@ip_address
|
||||
|
||||
在公钥上传之后,我们现在可以禁用通过密码登陆SSH的方式了。为此,我们需要通过以下命令用文本编辑器打开**/etc/ssh/ssh_config**。
|
||||
|
||||
$ sudo nano /etc/ssh/sshd_config
|
||||
|
||||
现在,我们需要按照下图所示去掉几行注释并进行一些赋值。
|
||||
|
||||

|
||||
|
||||
### 4. 重启SSH服务 ###
|
||||
|
||||
最后,在我们配置完SSH服务端后,为了使改动生效我们需要重启SSH服务。在终端或控制台运行以下命令重启。
|
||||
|
||||
$ sudo service ssh restart
|
||||
|
||||
或
|
||||
|
||||
$ sudo /etc/init.d/ssh restart
|
||||
|
||||

|
||||
|
||||
现在,我们可以试试不用密码仅用密钥对的方式登录ssh服务端了。
|
||||
|
||||
### 总结 ###
|
||||
|
||||
太好了!我们成功的配置了无密码登录SSH。使用加密密钥对进行SSH服务器认证是非常安全的一种做法,如果你想为SSH的单一用户登录实施安全的认证这也是备受推崇的方式。所以,如果你还有什么问题或建议,请在意见框中向我们反馈。很欣慰你能读完,希望你能喜欢加密的SSH安全登录 :-)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/ubuntu-how-to/setup-passwordless-ssh-logon-ubuntu-14-04/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[martin2011qi](https://github.com/martin2011qi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
41
published/20150306 Nmap--Not Just for Evil.md
Normal file
41
published/20150306 Nmap--Not Just for Evil.md
Normal file
@ -0,0 +1,41 @@
|
||||
Nmap--不是只能用于做坏事!
|
||||
================================================================================
|
||||
如果SSH是系统管理员世界的"瑞士军刀"的话,那么Nmap就是一盒炸药。炸药很容易被误用然后将你的双脚崩掉,但是也是一个很有威力的工具,能够胜任一些看似无法完成的任务。
|
||||
|
||||
大多数人想到Nmap时,他们想到的是扫描服务器,查找开放端口来实施攻击。然而,在过去的这些年中,这样的超能力在当你管理服务器或计算机遇到问题时也是非常的有用。无论是你试图找出在你的网络上有哪些类型的服务器使用了指定的IP地址,或者尝试锁定一个新的NAS设备,以及扫描网络等,都会非常有用。
|
||||
|
||||
下图显示了我的QNAP NAS的网络扫描结果。我使用该设备的唯一目的是为了NFS和SMB文件共享,但是你可以看到,它包含了一大堆大开大敞的端口。如果没有Nmap,很难发现机器到底在运行着什么玩意儿。
|
||||
|
||||

|
||||
|
||||
*网络扫描*
|
||||
|
||||
另外一个可能你没想到的用途是用它来扫描一个网络。你甚至根本不需要root的访问权限,而且你也可以非常容易地来指定你想要扫描的网络地址块,例如输入:
|
||||
|
||||
nmap 192.168.1.0/24
|
||||
|
||||
上述命令会扫描我的局域网中全部的254个可用的IP地址,让我可以知道那个是可以Ping的,以及那些端口是开放的。如果你刚刚在网络上添加一个新的硬件,但是不知道它通过DHCP获取的IP地址是什么,那么此时Nmap就是无价之宝。例如,上述命令在我的网络中揭示了这个问题:
|
||||
|
||||
Nmap scan report for TIVO-8480001903CCDDB.brainofshawn.com (192.168.1.220)
|
||||
Host is up (0.0083s latency).
|
||||
Not shown: 995 filtered ports
|
||||
PORT STATE SERVICE
|
||||
80/tcp open http
|
||||
443/tcp open https
|
||||
2190/tcp open tivoconnect
|
||||
2191/tcp open tvbus
|
||||
9080/tcp closed glrpc
|
||||
|
||||
它不仅显示了新的Tivo 设备,而且还告诉我那些端口是开放的。由于它的可靠性、可用性以及“黑边帽子”的能力,Nmap获得了本月的 <<编辑推荐>>奖。这不是一个新的程序,但是如果你是一个linux用户的话,你应该玩玩它。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxjournal.com/content/nmap%E2%80%94not-just-evil
|
||||
|
||||
作者:[Shawn Powers][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.linuxjournal.com/users/shawn-powers
|
140
published/20150310 4 Linux Based Mini PC You Can Buy In 2015.md
Normal file
140
published/20150310 4 Linux Based Mini PC You Can Buy In 2015.md
Normal file
@ -0,0 +1,140 @@
|
||||
2015年你可以买的四款基于Linux的迷你PC
|
||||
================================================================================
|
||||

|
||||
|
||||
在我看来迷你PC将在不久的将来会替代传统桌面电脑。传统桌面的有一个像吹风机那样占据大量空间的风扇。迷你PC,在另一方面说很小巧和紧凑。通常是4″或者5″大小,可以轻易地放在桌子上。
|
||||
|
||||
不仅如此,这些迷你PC的无风扇设计是一个优点。当然,你可以购买无风扇的常规电脑,但是空间占用仍然是一个问题。对我个人来说,我觉得迷你PC外观上看着很可爱。如果你不是一个游戏玩家也不想买新的桌面PC,我强烈建议你**购买一款基于Linux的迷你PC**。
|
||||
|
||||
如果你考虑我的建议,那么你或许想知道该买哪款。不要担心,这篇文章我们会介绍**2015年你可以购买的四款基于Linux的迷你PC**。
|
||||
|
||||
### 基于Linux的迷你PC ###
|
||||
|
||||
需要注意的是,这其中的一些PC可能还不能下单。它们中有些还刚刚公布,在不久的将来才会面向公众出售。
|
||||
|
||||
|
||||
#### 1. System76出品的Meerkat ####
|
||||
|
||||

|
||||
|
||||
[System76][1] 是一家仅出品基于Ubuntu电脑、笔记本、服务器的电脑生产商。[System76在上周公布了一款基于Ubuntu的迷你PC][2]。让我看一下它的规格:
|
||||
|
||||
**规格**
|
||||
|
||||
- Intel第五代处理器,共有两种选择 i3-5010U 和 i5-5250U
|
||||
- 最高2TB存储 (M.2 SATA SSD)
|
||||
- 16 GB DDR3 内存
|
||||
- i3和i5处理器下相应的Intel HD 5500 和 Intel HD 6000显卡
|
||||
- 4″ x 4″ 大小
|
||||
- WiFi
|
||||
- 1 Gb 网卡
|
||||
- 2个USB 3.0端口
|
||||
|
||||
**价格**
|
||||
|
||||
在$500之内(还没确定)。
|
||||
|
||||
**发售日期**
|
||||
|
||||
美国地区在2015年3月底
|
||||
|
||||
#### 2.Compulab出品的Mintbox Mini ####
|
||||
|
||||

|
||||
|
||||
[Compulab][3]将它基于Linux Mint的期间PC设备压缩,从Mintbox变为[Mintbox Mini][4]。这个紧凑的版本大小在4″左右。更多的细节如下:
|
||||
|
||||
**规格**
|
||||
|
||||
- AMD A4-6400T 处理器
|
||||
- Radeon R3 显卡
|
||||
- 4 GB 内存
|
||||
- 64 GB SSD
|
||||
- 2个USB 3.0端口, 3个USB 2.0端口
|
||||
- 2个HDMI输出端
|
||||
- 802.11 b/g/n Wifi
|
||||
- 千兆网卡
|
||||
- MicroSD读卡器
|
||||
|
||||
**价格**
|
||||
|
||||
$300左右起售
|
||||
|
||||
**发售日期**
|
||||
|
||||
2015年第二季度
|
||||
|
||||
#### 3. Compulab出品的Utilite2 ####
|
||||
|
||||

|
||||
|
||||
Compulab并不仅仅被Linux Mint所限制。它在去年12月公布了一款运行Ubuntu的ARM桌面PC。大小是3.4″x2.3″,[Utilite2][5]有最适合的性价比。
|
||||
|
||||
**规格**
|
||||
|
||||
- 高通Snapdragon 600 (APQ8064) 四核 CPU 1.7GHz
|
||||
- 2GB 内存, 可选32 GB的eMMC mSATA 存储
|
||||
- 高通 Adreno™ GPU显卡
|
||||
- 1080p 视频回放和捕捉
|
||||
- 双天线 WiFi 802.11 和 Bluetooth 4.0
|
||||
- 千兆网卡, 4个USB2端口和USB OTG
|
||||
- 蜂窝调制解调器支持
|
||||
|
||||
**价格**
|
||||
|
||||
常规版售价$192、带硬盘售价$229。运费另付。
|
||||
|
||||
**发售日期**
|
||||
|
||||
现在就可购买。运送将花费4周。
|
||||
|
||||
#### 4. Think Penguin出品的Penguin Pocket Wee ####
|
||||
|
||||

|
||||
|
||||
[Think Penguin][6]是一家开源硬件生产商。在迷你PC领域,它提供了[Penguin Pocket Wee][7]。大小是4.6″x 4.4″x 1.4″ ,, Penguin Pocket Wee为你提供了大量的配置。你可以选择处理器、存储、网卡等。你可以选择购买预装你喜欢的Linux发行版,默认系统是Ubuntu。
|
||||
|
||||
下面是默认的配置:
|
||||
|
||||
- Intel Core i3 或者 i5处理器,最高支持1080p视频
|
||||
- 最高扩展至 16GB 的 DDR3内存
|
||||
- Intel HD 显卡
|
||||
- Wireless N
|
||||
- 最大250GB的SSD
|
||||
- 4个USB 3.0接口
|
||||
- Intel 10/100/1000 千兆网卡
|
||||
|
||||
**价格**
|
||||
|
||||
基础版本$499起售,根据你选择的配置最高价格是$1000。
|
||||
|
||||
**发售日期**
|
||||
|
||||
现在就可下订单。该公司在美国和英国也有办公地点,所以应也可以运送到南美和欧洲。
|
||||
|
||||
### 你会选哪种? ###
|
||||
|
||||
我故意没有介绍[Raspberry Pi 2][8]或者其他Linux微电脑如[Intel的电脑棒][9]。原因是我不认为这些微电脑属于迷你PC的范畴。
|
||||
|
||||
你怎么看?你想用迷你PC代替你的桌面PC么?是不是还有我没有在**基于Linux的最好的迷你PC**列表里列出的PC?在评论区分享你们的观点吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/4-linux-based-mini-pc-buy-2015/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:https://system76.com/
|
||||
[2]:http://itsfoss.com/system76-unveils-ubuntu-based-mini-pc-meerkat/
|
||||
[3]:http://www.compulab.co.il/
|
||||
[4]:http://itsfoss.com/mintbox-mini-compact-linux-mint-powered-pc-unveiled/
|
||||
[5]:http://www.compulab.co.il/utilite-computer/web/utilite2-overview
|
||||
[6]:https://www.thinkpenguin.com/
|
||||
[7]:https://www.thinkpenguin.com/gnu-linux/penguin-pocket-wee-gnu-linux-desktop
|
||||
[8]:http://itsfoss.com/raspberry-pi-2-specs/
|
||||
[9]:http://itsfoss.com/intels-compute-stick/
|
220
published/20150318 Fedora GNOME Keyboard Shortcuts.md
Normal file
220
published/20150318 Fedora GNOME Keyboard Shortcuts.md
Normal file
@ -0,0 +1,220 @@
|
||||
Fedora GNOME 的常用快捷键
|
||||
================================================================================
|
||||
在Fedora中,为了获得最好的[GNOME桌面][1]体验,你需要了解并掌握一些驾驭系统的快捷键。
|
||||
|
||||
这篇文章将列举我们日常使用中使用频率最高的快捷键。
|
||||
|
||||
#### 1. Super键 ####
|
||||
|
||||

|
||||
|
||||
*GNOME 快捷键 - super键*
|
||||
|
||||
[“super”键][2]是如今驾驭操作系统的好朋友。
|
||||
|
||||
在传统的笔记本电脑中“super”键坐落于最后一列就在“alt”键的旁边(就是徽标键)。
|
||||
|
||||
当你按下“super”键后“activities”总览图就会出现,你就能看见所有打开应用的缩略图。
|
||||
|
||||
同时按下 "ALT" 和"F1"一样可以达到这样的效果。
|
||||
|
||||
### 2. 如何快速执行一条命令 ###
|
||||
|
||||

|
||||
|
||||
*GNOME 运行某命令*
|
||||
|
||||
如果你需要快速的执行一条指令,你可以按下"ALT"+"F2",这样就会出现指令运行对话框了。
|
||||
|
||||
现在你就可以在窗口中输入你想要执行的指令了,回车执行。
|
||||
|
||||
### 3. 快速切换到另一个打开的应用 ###
|
||||
|
||||

|
||||
|
||||
*使用TAB在应用中切换*
|
||||
|
||||
就像在微软的Windows下一样你可以使用"ALT"和"TAB" 的组合键在应用程序之间切换。
|
||||
|
||||
在一些键盘上tab键上画的是这样的**|<- ->|**,而有些则是简单的"TAB"字母。
|
||||
|
||||
GNOME应用切换器随着你的切换,显示简单的图标和应用的名字。
|
||||
|
||||
如果你按下"shift"+"tab"将以反序切换应用。
|
||||
|
||||
### 4. 在同一应用中快速切换不同的窗口 ###
|
||||
|
||||

|
||||
|
||||
*在应用中切换不同窗口*
|
||||
|
||||
如果你像我一样经常打开五六个Firefox。
|
||||
|
||||
你已经知道通过"Alt"+"Tab"实现应用间的切换。有两种方法可以在同一个应用中所有打开的窗口中切换。
|
||||
|
||||
第一种是按"Alt"+"Tab"让选框停留在你所要切换窗口的应用图标上。短暂的停留等到下拉窗口出现你就能用鼠标选择窗口了。
|
||||
|
||||
第二种也是比较推荐的方式是按"Alt"+"Tab"让选框停留在你所要切换窗口的应用图标上,然后按"super"+"`"在此应用打开的窗口间切换。
|
||||
|
||||
**注释:"\`"就是tab键上面的那个键。无论你使用的那种键盘排布,用于切换的键一直都是tab上面的那个键,所以也有可能不是"\`"键。**
|
||||
|
||||
如果你的手很灵活(或者是我称之为忍者手的)那你也可以同时按"shift", "\`"和"super"键来反向切换窗口。
|
||||
|
||||
### 5. 切换键盘焦点 ###
|
||||
|
||||

|
||||
|
||||
*切换键盘焦点*
|
||||
|
||||
这个键盘快捷键并不是必须掌握的,但是还是最好掌握。
|
||||
|
||||
如若你想将输入的焦点放到搜索栏或者一个应用窗口上,你可以同时按下"CTRL", "ALT"和"TAB",这样就会出现一个让你选择切换区域的列表。
|
||||
|
||||
然后就可以按方向键做出选择了。
|
||||
|
||||
### 6. 显示所有应用程序列表 ###
|
||||
|
||||

|
||||
|
||||
*显示所有应用程序*
|
||||
|
||||
如果恰巧最后一个应用就是你想要找的,那么这样做真的会帮你省很多时间。
|
||||
|
||||
按"super"和"A"键来快速切换到这个包含你系统上所有应用的列表上。
|
||||
|
||||
### 7. 切换工作区 ###
|
||||
|
||||

|
||||
|
||||
*切换工作区*
|
||||
|
||||
如果你已经使用linux有一段时间了,那么这种[多工作区切换][3]的工作方式一定深得你心了吧。
|
||||
|
||||
举个例子,你在第一个工作区里做开发,第二个之中浏览网页,而把你邮件的客户端开在第三个工作区中。
|
||||
|
||||
工作区切换你可以使用"super"+"Page Up" (向上翻页)键朝一个方向切,也可以按"super"+"Page Down" (向下翻页)键朝另一个方向切。
|
||||
|
||||
还有一个比较麻烦的备选方案就是按"super"显示打开的应用,然后在屏幕的右侧选择你所要切换的工作区。
|
||||
|
||||
### 8. 将一些项目移至一个新的工作区 ###
|
||||
|
||||

|
||||
|
||||
*将应用移至另一个工作区*
|
||||
|
||||
如果这个工作区已经被搞得杂乱无章了,没准你会想将手头的应用转到一个全新的工作区,请按组合键"super", "shift"和"page up"或"super", "shift"和"page down" 键。
|
||||
|
||||
备选方案按"super"键,然后在应用列表中找到你想要移动的应用拖到屏幕右侧的工作区。
|
||||
|
||||
### 9. 显示信息托盘 ###
|
||||
|
||||

|
||||
|
||||
*显示信息托盘*
|
||||
|
||||
消息托盘会提供一个通知列表。按"super"+"M"呼出消息托盘。
|
||||
|
||||
备选方法是鼠标移动到屏幕右下角。
|
||||
|
||||
### 10. 锁屏 ###
|
||||
|
||||

|
||||
|
||||
*锁屏*
|
||||
|
||||
想要休息一会喝杯咖啡?不想误触键盘?
|
||||
|
||||
无论何时只要离开你的电脑应该习惯性的按下"super"+"L"锁屏。
|
||||
|
||||
解锁方法是从屏幕的下方向上拽,输入密码即可。
|
||||
|
||||
### 11. 关机 ###
|
||||
|
||||

|
||||
|
||||
*Fedora中Control+Alt+Delete*
|
||||
|
||||
如果你曾是windows的用户,你一定记得著名的三指快捷操作CTRL+ALT+DELETE。
|
||||
|
||||
如果在键盘上同时按下CTRL+ALT+DELETE,Fedora就会弹出一则消息,提示你的电脑将在60秒后关闭。
|
||||
|
||||
### 12. 编辑快捷键 ###
|
||||
|
||||
在各类操作系统中编辑快捷键都大同小异。
|
||||
|
||||
- CTRL + A - 全选
|
||||
- CTRL + X - 剪切
|
||||
- CTRL + C - 复制
|
||||
- CTRL + V - 粘贴
|
||||
- CTRL + Z - 撤销
|
||||
|
||||
### 13. 截屏 ###
|
||||
|
||||
和编辑快捷键一样,截屏键也就那么基础的几个。
|
||||
|
||||
- PRTSC (Print Screen) - 截屏
|
||||
|
||||
- Alt + PRTSC - 当前窗口截图
|
||||
|
||||
- Shift + PRTSC - 所选区域截图
|
||||
|
||||
这里还有一个比较特殊的按键,主要是为了大家可以更容易的制作视频教程的。
|
||||
|
||||
- CTRL + ALT + SHIFT + R - 录制视频
|
||||
- CTRL + ALT + SHIFT + R 第二次按下时 - 停止录制
|
||||
|
||||
[录制的内容][4]将以[webm][5]格式保存于当前用户家目录下的录像文件夹中。
|
||||
|
||||
### 14. 并排显示窗口 ###
|
||||
|
||||

|
||||
|
||||
*并排显示窗口*
|
||||
|
||||
你可以将一个窗口靠左占满左半屏,另一个窗口靠右占满右半屏,让两个窗口并排显示。
|
||||
|
||||
也可以按"Super"+"←"(左箭头)让当前应用占满左半屏。按"Super"+"→"(右箭头)让当前应用占满右半屏。
|
||||
|
||||
### 15. 窗口的最大化,最小化和恢复 ###
|
||||
|
||||
双击标题栏可以最大化窗口。
|
||||
|
||||
最大化后的窗口再双击就会还原至原大小。
|
||||
|
||||
右键菜单选择"最小化"就可以最小化了。
|
||||
|
||||
### 16. 总结 ###
|
||||
|
||||

|
||||
|
||||
*GNOME快捷键速查表*
|
||||
|
||||
我做了一份快捷键速查表,你可以打印出来贴在墙上,这样一定能够更快上手。
|
||||
|
||||
当你掌握了这些快捷键后,你一定会感慨这个桌面环境使用起来是如此的顺手。
|
||||
|
||||
- [戳这里查看Fedora GNOME桌面的速查表][6]
|
||||
- [查看GNOME WIKI请戳这里][7]
|
||||
- [另外的一个GNOME WIKI][8]
|
||||
- [GNOME 3备用速查表][9]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linux.about.com/od/howtos/tp/Fedora-GNOME-Keyboard-Shortcuts.htm
|
||||
|
||||
作者:[Gary Newell][a]
|
||||
译者:[martin2011qi](https://github.com/martin2011qi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linux.about.com/bio/Gary-Newell-132058.htm
|
||||
[1]:https://www.gnome.org/gnome-3/
|
||||
[2]:http://en.wikipedia.org/wiki/Super_key_%28keyboard_button%29
|
||||
[3]:http://linux.about.com/library/gnome/blgnome2n4.htm
|
||||
[4]:http://en.wikipedia.org/wiki/Screencast
|
||||
[5]:http://en.wikipedia.org/wiki/WebM
|
||||
[6]:https://s-media-cache-ak0.pinimg.com/originals/d5/f4/a4/d5f4a42c0940fae6653ee9a17294d450.jpg
|
||||
[7]:http://en.wikipedia.org/wiki/GNOME
|
||||
[8]:https://wiki.gnome.org/
|
||||
[9]:https://wiki.gnome.org/Gnome3CheatSheet
|
@ -1,43 +0,0 @@
|
||||
Google Cloud offers streamlined Ubuntu for Docker use
|
||||
================================================================================
|
||||
> Ubuntu Core provides a minimal Lightweight Linux environment for running containers
|
||||
|
||||
Google has adopted for use in its cloud a streamlined version of the Canonical Ubuntu Linux distribution tweaked to run Docker and other containers.
|
||||
|
||||
Ubuntu Core was designed to provide only the essential components for running Linux workloads in the cloud. An [early preview edition][1] of it, which Canonical calls "Snappy," was released last week. The new edition jettisoned many of the libraries and programs usually found in general use Linux distributions that were unnecessary for cloud use.
|
||||
|
||||
[ [Get started with Docker][2] using this step-by-step guide to the red-hot open source framework. | Get the latest insight on the tech news that matters from [InfoWorld's Tech Watch blog][3]. ]
|
||||
|
||||
The Google Compute Engine (GCE) [joins Microsoft Azure][4] in supporting the fresh distribution.
|
||||
|
||||
According to Canonical, Ubuntu Core should provide users with an easy way to deploy Docker, an [increasingly lightweight virtualization container][4] that allows users to quickly spin up workloads and easily move them around, even across different cloud providers.
|
||||
|
||||
Google has been an ardent supporter of Docker and container-based virtualization itself. In June, the company [released as open source its software for managing containers][5], called Kubernetes.
|
||||
|
||||
The design of Ubuntu Core is similar to another Linux distribution, CoreOS, [first released a year ago][7].
|
||||
|
||||
Developed in part by two ex-Rackspace engineers, [CoreOS][8] is a lightweight Linux distribution designed to work in clustered, highly scalable environments favored by companies that do much or all of their business on the Web.
|
||||
|
||||
CoreOS was quickly adopted by many cloud providers, including Microsoft Azure, Amazon Web Services, DigitalOcean and Google Compute Engine.
|
||||
|
||||
Like CoreOS, Ubuntu Core offers an expedited process for updating components, reducing the amount of time that an administrator would need to manually manage them.
|
||||
如同Coreos一样,Ubuntu内核提供了一个快速引擎来更新组件
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.infoworld.com/article/2860401/cloud-computing/google-cloud-offers-streamlined-ubuntu-for-docker-use.html
|
||||
|
||||
作者:[Joab Jackson][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.infoworld.com/author/Joab-Jackson/
|
||||
[1]:http://www.ubuntu.com/cloud/tools/snappy
|
||||
[2]:http://www.infoworld.com/article/2607941/linux/how-to--get-started-with-docker.html
|
||||
[3]:http://www.infoworld.com/blog/infoworld-tech-watch/
|
||||
[4]:http://www.ubuntu.com/cloud/tools/snappy
|
||||
[5]:http://www.itworld.com/article/2695383/open-source-tools/docker-all-geared-up-for-the-enterprise.html
|
||||
[6]:http://www.itworld.com/article/2695501/cloud-computing/google-unleashes-docker-management-tools.html
|
||||
[7]:http://www.itworld.com/article/2696116/open-source-tools/coreos-linux-does-away-with-the-upgrade-cycle.html
|
||||
[8]:https://coreos.com/using-coreos/
|
@ -1,49 +0,0 @@
|
||||
WordPress Can Be Used to Leverage Critical Ghost Flaw in Linux
|
||||
-----
|
||||
*Users are advised to apply available patches immediately*
|
||||
|
||||

|
||||
|
||||
**The vulnerability revealed this week by security researchers at Qualys, who dubbed it [Ghost](1), could be taken advantage of through WordPress or other PHP applications to compromise web servers.**
|
||||
|
||||
The glitch is a buffer overflow that can be triggered by an attacker to gain command execution privileges on a Linux machine. It is present in the glibc’s “__nss_hostname_digits_dots()” function that can be used by the “gethostbyname()” function.
|
||||
|
||||
##PHP applications can be used to exploit the glitch
|
||||
|
||||
Marc-Alexandre Montpas at Sucuri says that the problem is significant because these functions are used in plenty of software and server-level mechanism.
|
||||
|
||||
“An example of where this could be a big issue is within WordPress itself: it uses a function named wp_http_validate_url() to validate every pingback’s post URL,” which is carried out through the “gethostbyname()” function wrapper used by PHP applications, he writes in a blog post on Wednesday.
|
||||
|
||||
An attacker could use this method to introduce a malicious URL designed to trigger the vulnerability on the server side and thus obtain access to the machine.
|
||||
|
||||
In fact, security researchers at Trustwave created [proof-of-concept](2) code that would cause the buffer overflow using the pingback feature in WordPress.
|
||||
|
||||
##Multiple Linux distributions are affected
|
||||
|
||||
Ghost is present in glibc versions up to 2.17, which was made available in May 21, 2013. The latest version of glibc is 2.20, available since September 2014.
|
||||
|
||||
However, at that time it was not promoted as a security fix and was not included in many Linux distributions, those offering long-term support (LTS) in particular.
|
||||
|
||||
Among the impacted operating systems are Debian 7 (wheezy), Red Hat Enterprise Linux 6 and 7, CentOS 6 and 7, Ubuntu 12.04. Luckily, Linux vendors have started to distribute updates with the fix that mitigates the risk. Users are advised to waste no time downloading and applying them.
|
||||
|
||||
In order to demonstrate the flaw, Qualys has created an exploit that allowed them remote code execution through the Exim email server. The security company said that it would not release the exploit until the glitch reached its half-life, meaning that the number of the affected systems has been reduced by 50%.
|
||||
|
||||
Vulnerable application in Linux are clockdiff, ping and arping (under certain conditions), procmail, pppd, and Exim mail server.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via:http://news.softpedia.com/news/WordPress-Can-Be-Used-to-Leverage-Critical-Ghost-Flaw-in-Linux-471730.shtml
|
||||
|
||||
本文发布时间:30 Jan 2015, 17:36 GMT
|
||||
|
||||
作者:[Ionut Ilascu][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/ionut-ilascu
|
||||
[1]:http://news.softpedia.com/news/Linux-Systems-Affected-by-14-year-old-Vulnerability-in-Core-Component-471428.shtml
|
||||
[2]:http://blog.spiderlabs.com/2015/01/ghost-gethostbyname-heap-overflow-in-glibc-cve-2015-0235.html
|
@ -1,40 +0,0 @@
|
||||
Italian Region Emilia-Romagna Is Switching To OpenOffice
|
||||
================================================================================
|
||||

|
||||
|
||||
Italy seems to be winning the race to Open Source adoption, it seems. We have learned about how various Italian cities like [Udine][1], [Turin][2], [Todi and Turni][3] opted for [open source alternatives of Microsoft office][4] in the past. Now the news comes that [Emilia-Romagna][5] region in northern Italy is about to complete its switch to [Apache OpenOffice][6] next month.
|
||||
|
||||
### Switching to OpenOffice ###
|
||||
|
||||
The migration to OpenOffice will be complete by next month and will cover 4200 workstations, across 10 departments and 5 agencies. In addition, Open Document Format (ODF) will be the default document format. The initiative to switch to OpenOffice was approved in late 2013 and was originally planned to be completed by end of 2014. The move to OpenOffice from proprietary office product is believed to [save around 2 million euro][8] in licensing fee.
|
||||
|
||||
To ease this migration and improve interoperability, several custom tools and plugins are also being developed by the team in charge of the migration.
|
||||
|
||||
Head of the project, Giovanni Grazia is enthusiastic about the migration but he is prepared for the brickbats as well.
|
||||
|
||||
> “Changing office suite is hard work, and we use the occasion to advocate for free and open source software. Some of the region’s civil servants are keen to switch, and some are very annoyed, as they have been using the proprietary alternative for 20 years. To deal with any issues during the transition, a team of five support staffers is backed up by three IT specialists. Department by department, one at a time, we’re completing the switch. Step by step, change is coming.”
|
||||
|
||||
#### Best wishes ####
|
||||
|
||||
I wish good luck to Grazia and hope that other administrative regions in Italy will follow the suit. I also hope that neighboring countries like [France will also speed up the open source adoption process][8].
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/emiliaromagna-completes-switch-openoffice/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://itsfoss.com/udine-open-source/
|
||||
[2]:http://itsfoss.com/italian-city-turin-open-source/
|
||||
[3]:http://itsfoss.com/italian-cities-switch-libreoffice/
|
||||
[4]:http://itsfoss.com/best-free-open-source-alternatives-microsoft-office/
|
||||
[5]:http://en.wikipedia.org/wiki/Emilia-Romagna
|
||||
[6]:https://www.openoffice.org/
|
||||
[7]:http://www.slwoods.co.uk/?p=2886
|
||||
[8]:http://itsfoss.com/french-city-toulouse-saved-1-million-euro-libreoffice/
|
@ -1,3 +1,4 @@
|
||||
Love-xuan Translating
|
||||
Group Test: Linux Text Editors
|
||||
================================================================================
|
||||
> Mayank Sharma tests five supercharged text editors that can crunch more than just words.
|
||||
@ -315,4 +316,4 @@ via: http://www.linuxvoice.com/text-editors/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.linuxvoice.com/author/ben_everard/
|
||||
[a]:http://www.linuxvoice.com/author/ben_everard/
|
||||
|
@ -1,404 +0,0 @@
|
||||
Intense Gameplay? Try these 13 Roguelike games
|
||||
================================================================================
|
||||
Roguelike is a sub-genre of role-playing games. It literally means "a game like Rogue". Rogue is a dungeon crawling video game first released in 1980, standing out for being fiendishly addictive. Its goal was to retrieve the Amulet of Yendor, hidden deep in the 26th level, and ascend back to the top.
|
||||
|
||||
There is no exact definition of a roguelike, but this type of game typically has the following characteristics:
|
||||
|
||||
- High fantasy narrative background
|
||||
- Procedural level generation. Most of the game world is generated by the game for every new gameplay session. This is meant to encourage replayability
|
||||
- Turn-based dungeon exploration and combat
|
||||
- Tile-based graphics that are randomly generated
|
||||
- Random conflict outcomes
|
||||
- Permanent death death works realistically, once you're gone, you're gone
|
||||
- High difficulty
|
||||
|
||||
This article compiles a good selection of roguelike games available for Linux. If you enjoy intense, addictive gameplay, try these 13 games. Don't be put off by the primitive graphics, you'll soon forget the visuals once you get immersed. All of them are available to download without charge, and almost all are released under an open source license.
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Dungeon Crawl Stone Soup is an open-source, single-player, role-playing roguelike game of exploration and treasure-hunting in dungeons filled with dangerous and unfriendly monsters in a quest to rescue the mystifyingly fabulous Orb of Zot.
|
||||
|
||||
Dungeon Crawl Stone Soup is a continuation of Linley's Dungeon Crawl. It is openly developed and invites participation from the Crawl community.
|
||||
|
||||
Dungeon Crawl has superb, deep tactical gameplay, innovative magic and religion systems, and a grand variety of monsters to fight. Crawl is also one of the hardest roguelikes to beat. When you finally beat the game and write your victory post on rec.games.roguelike.misc, you know you have achieved something.
|
||||
|
||||
Features include:
|
||||
|
||||
- Well-rounded, deep tactically rich roguelike
|
||||
- Hand-drawn maps
|
||||
- Numerous portal vaults
|
||||
- Slick interface
|
||||
- Innovative magic and religion systems
|
||||
- Wide range of Gods, Characters, Items, and Smart Monsters
|
||||
|
||||
- Website: [crawl.develz.org][1]
|
||||
- Developer: Stone Soup devteam
|
||||
- License: Crawl General Public License
|
||||
- Version Number: 0.15.2
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Dwarf Fortress is a single-player fantasy game, similar to NetHack. You can control a dwarven outpost or an adventurer in a randomly generated, persistent world.
|
||||
|
||||
The game features three modes of play (Dwarf Fortress, Adventurer and Legends modes), a distinct, randomly-generated world (complete with terrain, wildlife and legends), gruesome combat mechanics and vicious schools of carp.
|
||||
|
||||
Features include:
|
||||
|
||||
|
||||
- The world persists as long as you like, over many games, recording historical events and tracking changes
|
||||
- Command your dwarves as they search for wealth in the mountain
|
||||
- Craft treasures and furniture from many materials and improve these objects with precious metals, jewels and more
|
||||
- Defend yourself against attacks from hostile civilizations, the wilderness and the depths
|
||||
- Support the nobility as they make demands of your populace
|
||||
- Keep your dwarves happy and read their thoughts as they work and relax
|
||||
- Z coordinate allows you to dig out fortresses with multiple levels. Build towers or conquer the depths
|
||||
- Build floodgates to divert water for farming or to drown your adversaries
|
||||
- Play an adventurer and explore, quest for glory or seek vengeance
|
||||
- Meet adversaries from previous games
|
||||
- Recruit people in towns to come with you on your journey
|
||||
- Explore without cumbersome plot restrictions
|
||||
- Seamlessly wander the world -up to 197376 x 197376 squares total -or travel more rapidly on the region map
|
||||
- Accept quests from the town and civilization leaders
|
||||
- Retire and meet your old characters. Bring them along on an adventure with a new character or reactivate them and play directly
|
||||
- Z coordinate allows you to move seamlessly between dungeon levels and scale structures fighting adversaries above and below
|
||||
- The combat model uses skills, body parts, wrestling, charging and dodging between squares, bleeding, pain, nausea, and much more
|
||||
- A dynamic weather model tracks wind, humidity and air masses to create fronts, clouds, rain storms and blizzards
|
||||
- Over two hundred rock and mineral types are incorporated into the world, placed in their proper geological environments
|
||||
- Add new creatures, weapons, plants, metals and other objects via modifiable text files
|
||||
- Extended ASCII character set rendered in 16 colors (including black) as well as 8 background colors (including black)
|
||||
|
||||
- Website: [www.bay12games.com/dwarves/][2]
|
||||
- Developer: Tarn Adams
|
||||
- License: Freeware
|
||||
- Version Number: 0.40.19
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Ancient Domains of Mystery (ADOM) is a rogue-like game which has been in development since 1994.
|
||||
|
||||
It is a single-user game featuring the exploration of a dungeon complex. You control a fictional character described by race, class, attributes, skills, and equipment. This fictional character is trying to achieve a specific goal (see below) and succeed in a difficult quest. To fulfill the quest, you have to explore previously undiscovered tunnels and dungeons, fight hideous monsters, uncover long forgotten secrets, and find treasures of all kind.
|
||||
|
||||
During the game, you explore dungeon levels which are randomly generated each game. You might also encounter certain special levels, which present a particular challenge or are built around a certain theme.
|
||||
|
||||
Features include:
|
||||
|
||||
- Huge game world with hundreds of locations such as towns, randomized dungeons, elemental temples, graveyards, ancient ruins, towers and other secrets
|
||||
- Loads of races (dwarves, drakelings, mist elves, hurthlings, orcs, trolls, ratlings and many others) and even more classes (fighters, elementalists, assassins, chaos knights, duelists and much more) allowing for infinite play styles
|
||||
- Hundreds of monsters and items, many with enhanced random features
|
||||
- A corruption system forcing you to balance lust for power with fear of damnation
|
||||
- Spells, prayers, mindcraft, alchemy, crafting and more
|
||||
- Dozens of quests and branching story lines
|
||||
- Numerous wildly different endings that might alter reality itself
|
||||
|
||||
- Website: [www.adom.de][3]
|
||||
- Developer: Thomas Biskup
|
||||
- License: Postcardware
|
||||
- Version Number: 1.20 Prelease 20
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Tales of Maj’Eyal (ToME) is a free, open source roguelike RPG, featuring tactical turn-based combat and advanced character building. It is written as a module that runs in T-Engine 4.0.
|
||||
|
||||
This is the Age of Ascendancy, after over ten thousand years of strife, pain and chaos the known world is at last at relative peace. The Spellblaze last effects are now tamed, the land slowly heals itself and the civilisations rebuild themselves after the Age of Pyre.
|
||||
|
||||
Features include:
|
||||
|
||||
- Suitable for gamers without any rogueline experience
|
||||
- Supports both graphical tiles and ASCII mode
|
||||
- Over 40 abilities available on some characters
|
||||
- Talent system
|
||||
- Combat engine
|
||||
- Online persistent stat/achievement tracking
|
||||
- IRC chat client
|
||||
- Expandable and moddable
|
||||
- Atmospheric music
|
||||
- Unlock new races, classes, starting points, playmodes and features
|
||||
|
||||
- Website: [te4.org][4]
|
||||
- Developer: ToME Development Team
|
||||
- License: GNU GPL v3.0
|
||||
- Version Number: 1.2.5
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Cataclysm is an open source post-apocalyptic roguelike, set in the countryside of fictional New England after a devastating plague of monsters and zombies. It is a continuation of Whale's original Cataclysm, which expands it with numerous new creatures, buildings, gameplay mechanics and many other features.
|
||||
|
||||
While some have described it as a "zombie game", there's far more to Cataclysm than that. Struggle to survive in a harsh, persistent, procedurally generated world. Scavenge the remnants of a dead civilization for for food, equipment, or, if you're lucky, a vehicle with a full tank of gas to get you the hell out of Dodge. Fight to defeat or escape from a wide variety of powerful monstrosities, from zombies to giant insects to killer robots and things far stranger and deadlier, and against the others like yourself, that want what you have...
|
||||
|
||||
Cataclysm is very different from most roguelikes in many ways. Rather than being set in a vertical, linear dungeon, it is set in an unbounded, 3D world. This means that exploration plays a much bigger role than in most roguelikes, and the game is much less linear. As the map is so huge, it is actually completely persistant between games. If you die, and start a new character, your new game will be set in the same game world as your last. Like in many roguelikes, you will be able to loot the dead bodies of previous characters; unlike most roguelikes, you will also be able to retrace their steps completely, and any dramatic changes made to the world will persist into your next game.
|
||||
|
||||
Features include:
|
||||
|
||||
|
||||
- Detailed character creation, with a plethora of traits to choose
|
||||
- Defense mode, a coffeebreak mode with fast-paced combat
|
||||
- Bionics; Similar to the magic system in many games
|
||||
- Mutations, both positive and negative
|
||||
- Unbounded, fully randomized world map that is persistent between characters
|
||||
- Item crafting
|
||||
- New recipes may be acquired by honing your knowledge through practice or learning from books
|
||||
- Realistic fire, smoke, and other dynamic map effects
|
||||
- A day/night cycle with the need to sleep. Use caffeine to stay awake longer if you must but be aware this is not healthy
|
||||
- Over 300 item types, including a multitude of real-world guns, drugs, and tools
|
||||
- Many drugs are addictive, and will require continuous use to avoid withdrawal effects.
|
||||
- Ability to board doors and windows, construct traps and fortify your home base to prevent a rude awakening by a zombie
|
||||
- Ability to construct your own wooden constructions, including walls and a roof
|
||||
- Ability to drive around in vehicles found in the post-apocalyptic landscape
|
||||
- These can be modified to your needs, or you could even build one from scratch
|
||||
- A temperature system, being too cold or too hot is quite hazardous
|
||||
- Preliminary tile support
|
||||
- WorldGen options, and versatile editing methods
|
||||
-
|
||||
- Website: [en.cataclysmdda.com][5]
|
||||
- Authors: Kevin Granade and others
|
||||
- License: Creative Commons Attribution-ShareAlike 3.0 Unported License
|
||||
- Version Number: 0.B
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Goblin Hack is an open source roguelike OpenGL-based smooth-scrolling ASCII graphics game. The game is inspired by the likes of NetHack, but faster with fewer keys.
|
||||
|
||||
Goblin Hack has a simple interface that appears to appeal to players of all ages, and fires their imagination in today's world of over-rendered games.
|
||||
|
||||
Players can choose one of several classes before being thrown into the first floor of a randomized, ongoing dungeon.
|
||||
|
||||
Features include:
|
||||
|
||||
- Impressive graphics (compared with many other roguelike games)
|
||||
- Simple interface
|
||||
- Choose one of several classes before being thrown into the first floor of a randomized, ongoing dungeon
|
||||
- Manually save the game
|
||||
|
||||
- Website: [goblinhack.sourceforge.net][6], [github.com/goblinhack/goblinhack][7]
|
||||
- Authors: Neil McGill
|
||||
- License: GNU GPL v2
|
||||
- Version Number: 1.19
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Super Lotsa Added Stuff Hack - Extended Magic (SLASH'EM) is a role-playing game where you control a single character. SLASH'EM is a variant of NetHack. It also has an interface and gameplay similar to Rogue, ADOM, Anghand and NetHack. You control the actions through the keyboard and view the world from an overhead perspective.
|
||||
|
||||
The problem: The Amulet of Yendor has been stolen. Not only that but it appears that the Wizard of Yendor (not a nice person), who took the amulet, is hiding in the Dungeons of Doom (not a friendly place).
|
||||
|
||||
Features include:
|
||||
|
||||
- Offers extra features, monsters, and items
|
||||
- Novel features inlude the Monk class and Sokoban levels
|
||||
- The main dungeon is much larger than in NetHack
|
||||
|
||||
- Website: [www.slashem.org][8]
|
||||
- Developer: The Slash'EM development team
|
||||
- License: MIT License, NetHack General Public License
|
||||
- Version Number: 0.0.7E7F3
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
NetHack is a wonderfully silly, yet quite addictive Dungeons and Dragons-style adventure game. The "net" element references that its development has been coordinated through the Internet. The "hack" element refers to a genre of role-playing games known as hack and slash for their focus on combat.
|
||||
|
||||
In NetHack you play the part of a fierce fighter, wizard, or any of many other classes, fighting your way down to retrieve the Amulet of Yendor (try saying THAT one backwards!) for your god. On the way, you might encounter a quantum mechanic or two, or perhaps a microscopic space fleet, or -- if you're REALLY lucky -- the Ravenous Bugblatter Beast of Traal.
|
||||
|
||||
Features include:
|
||||
|
||||
- 45-50 levels, most of which are randomly generated
|
||||
- Variety of items: weapons, armour, scrolls, potions, rings, gems, and an assortment of tools such as keys and lamps
|
||||
- Blessings and curses
|
||||
- Permadeath: expired characters cannot be revived without having made backup copies of the actual save files
|
||||
- Interfaces:
|
||||
- Console
|
||||
- Graphical, using X, Qt toolkit or GNOME libraries
|
||||
|
||||
- Website: [www.nethack.org][9]
|
||||
- Developer: The NetHack DevTeam
|
||||
- License: NetHack General Public License
|
||||
- Version Number: 3.4.3
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Ascii Sector is a free space combat/exploration/trading game which is based on the classic computer game Wing Commander: Privateer released by Origin Systems in 1993.
|
||||
|
||||
In Ascii Sector, you start with a simple spaceship and can then accept missions or trade goods to earn enough money to upgrade your ship or buy a new one. You can engage in deadly fights both in space, on the ground and on board spaceships, and using the Ascii Sector scripting language, you can create your own quests for the game or have fun with other players' quests.
|
||||
|
||||
Features include:
|
||||
|
||||
- Uses the ANSI character set for the graphics
|
||||
- Real depth to the gameplay
|
||||
- Offers a wide variety of bases, missions, commodities and ships
|
||||
- Ships include: Broadsword, Centurion, Demon, Dralthi, Drayman, Galaxy, Gladius, Gothri, Kamekh, Nexus, Orion, Paradign, Stileto, Talon, Tarsus, and Ulysses
|
||||
- Four quadrants: Alizarin, Crimson, Mauve, and Viridian
|
||||
- Downloadable quests
|
||||
- Scripting of quests
|
||||
- Ascii Sector quest language, create your own stories in the Ascii Sector universe
|
||||
- NPCs on planets can be attacked and robbed
|
||||
- Persistent fleets that can move around, change control of systems, engage enemy fleets, head back for repairs and rebuilds
|
||||
- Ships whose systems have been disabled can be boarded
|
||||
- Download high quality music files
|
||||
|
||||
- Website: [www.asciisector.net][10]
|
||||
- Developer: Christian Knudsen
|
||||
- License: Freeware
|
||||
- Version Number: 0.7.1.4
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Angband is a free, single-player graphical dungeon exploration game that uses ASCII characters where you take the role of an adventurer, exploring a deep dungeon, fighting monsters, and acquiring the best weaponry you can, in preparation for a final battle with Morgoth, the Lord of Darkness. It has been in development since the 1990s.
|
||||
|
||||
Angband is along the lines of Rogue and NetHack. It is derived from the games Moria and Umoria, which were in turn based on Rogue. It is often described as a "roguelike" game because the look and feel of the game is still quite similar to Rogue. Many of these new creatures and objects are drawn from the writings of J.R.R Tolkien, although some of the monsters come straight from classical mythology, Dungeons & Dragons, Rolemaster, or the minds of the orginal Angband coders.
|
||||
|
||||
Features include:
|
||||
|
||||
- 100 level dungeon
|
||||
- New levels are randomly generated
|
||||
- Choose to be a human, half-elf, elf, hobbit, gnome, dwarf, half-orc, half-troll, dunadan, high-elf, or kobold
|
||||
- Artifacts
|
||||
- Spellcasting
|
||||
- Monsters
|
||||
- Monster pits
|
||||
- Monster nests
|
||||
|
||||
- Website: [rephial.org][11]
|
||||
- Developer: Angband Development Team
|
||||
- License: GNU GPL v2
|
||||
- Version Number: 3.5.0
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
UnNetHack is a fork of NetHack. NetHack was first released in 1987, and is considered by many gamers to be one of the best gaming experiences the computing world offers.
|
||||
|
||||
Features include:
|
||||
|
||||
|
||||
- Adds a number of enhancements to NetHack such as additional monsters, more levels, a few new objects, additional dangers, more challenging gameplay, and most importantly more entertainment than vanilla NetHack
|
||||
- Tutorial to help new players get started
|
||||
|
||||
- Website: [sourceforge.net/apps/trac/unnethack][12]
|
||||
- Authors: Patric Mueller
|
||||
- License: Nethack General Public License
|
||||
- Version Number: 5.1.0
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Hydra Slayer is an open source Roguelike game focused on slaying Hydras. It is inspired by Greek mythology, Dungeon Crawl, MathRL seven day roguelike, and some mathematical puzzles about brave heroes slaying many headed beasts.
|
||||
|
||||
Features include:
|
||||
|
||||
- Unique gameplay mechanics
|
||||
- A theme which mixes Greek mythology and mathematics
|
||||
- Traditional roguelike ASCII graphics, or tiles/3D display
|
||||
- 5 player character races with very distinct tactics, strengths and weaknesses
|
||||
- 28 enemy types:
|
||||
- 10 basic types of elemental hydras (each of them has two special variations)
|
||||
- 8 types of special enemies
|
||||
- Harmless mushrooms for strategic advantage
|
||||
- 28 types of equipment (not counting material and size/power variations)
|
||||
- 15 weapon materials
|
||||
- 18 types of non-equipment items
|
||||
- 3 game geometries to choose
|
||||
- 8 level topologies (including the Mobius strip and Klein bottle)
|
||||
- 11 level generators
|
||||
- 2 endings
|
||||
|
||||
- Website: [www.roguetemple.com/z/hydra][13]
|
||||
- Developer: Zeno Rogue
|
||||
- License: GNU GPL v2
|
||||
- Version Number: 16.1
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Brogue is an open source Roguelike game for Mac OS X, Windows, Linux, iOS and Android.
|
||||
|
||||
Brogue is a direct descendant of Rogue, a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. Unlike other popular modern roguelikes, Brogue favors simplicity over complexity, while trying to ensure that the interactions between components are interesting and varied.
|
||||
|
||||
The goal of the game is to travel to the 26th subterranean floor of the dungeon, retrieve the Amulet of Yendor and return with it to the surface. For the truly skillful who desire further challenge, depths below 26 contain three lumenstones each, items which confer an increased score upon victory.
|
||||
|
||||
Brogue is a challenging game, but still great fun to play. Try not to be disheartened by the difficulty of the game; with some application, Brogue will become very addictive.
|
||||
|
||||
Features include:
|
||||
|
||||
- Favors simplicity over complexity
|
||||
- User-friendly features
|
||||
- Compared with Rogue, Brogue has a more sophisticated level generation
|
||||
- XP and levelling system removed
|
||||
- Traps, protecting items
|
||||
- Additional monster types and magical items
|
||||
|
||||
- Website: [sites.google.com/site/broguegame][14]
|
||||
- Authors: Brian Walker
|
||||
- License: GNU Affero GPL
|
||||
- Version Number: 1.7.3
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/201412031524381/RoguelikeGames.html
|
||||
|
||||
作者:Frazer Kline
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://crawl.develz.org/
|
||||
[2]:http://www.bay12games.com/dwarves/index.html
|
||||
[3]:http://www.adom.de/
|
||||
[4]:http://te4.org/
|
||||
[5]:http://en.cataclysmdda.com/
|
||||
[6]:http://goblinhack.sourceforge.net/
|
||||
[7]:https://github.com/goblinhack/goblinhack
|
||||
[8]:http://www.slashem.org/
|
||||
[9]:http://www.nethack.org/
|
||||
[10]:http://www.asciisector.net/
|
||||
[11]:http://rephial.org/
|
||||
[12]:http://sourceforge.net/apps/trac/unnethack/
|
||||
[13]:http://www.roguetemple.com/z/hydra/
|
||||
[14]:https://sites.google.com/site/broguegame/
|
@ -1,84 +0,0 @@
|
||||
Translating by ZTinoZ
|
||||
What is a good IDE for C/C++ on Linux
|
||||
================================================================================
|
||||
"A real coder doesn't use an IDE, a real coder uses [insert a text editor name here] with such and such plugins." We all heard that somewhere. Yet, as much as one can agree with that statement, an IDE remains quite useful. An IDE is easy to set up and use out of the box. Hence there is no better way to start coding a project from scratch. So for this post, let me present you with my list of good IDEs for C/C++ on Linux. Why is C/C++ specifically? Because C is my favorite language, and we need to start somewhere. Also note that there are in general a lot of ways to code in C, so in order to trim down the list, I only selected "real out-of-the-box IDE", not text editors like Gedit or Vim pumped with [plugins][1]. Not that this alternative is bad in any way, just that the list will go on forever if I include text editors.
|
||||
|
||||
### 1. Code::Blocks ###
|
||||
|
||||

|
||||
|
||||
Starting all out with my personal favorite, [Code::Blocks][2] is a simple and fast IDE for C/C++ exclusively. Like any respectable IDE, it integrates syntax highlighting, bookmarking, word completion, project management, and a debugger. Where it shines is via its simple plugin system which adds indispensable tools like Valgrind and CppCheck, and less indispensable like a Tetris mini-game. But my reason for liking it particularly is for its coherent set of handy shortcuts, and the large number of options that never feel too overwhelming.
|
||||
|
||||
### 2. Eclipse ###
|
||||
|
||||

|
||||
|
||||
I know that I said only "real out-of-the-box IDE" and not a text editor pumped with plugins, but [Eclipse][3] is a "real out-of-the-box IDE." It's just that Eclipse needs a little [plugin][4] (or a variant) to code in C. So I technically did not contradict myself. And it would have been impossible to make an IDE list without mentioning the behemoth that is Eclipse. Like it or not, Eclipse remains a great tool to code in Java. And thanks to the [CDT Project][5], it is possible to program in C/C++ too. You will benefit from all the power of Eclipse and its traditional features like word completion, code outline, code generator, and advanced refactoring. What it lacks in my opinion is the lightness of Code::Blocks. It is still very heavy and takes time to load. But if your machine can take it, or if you are a hardcore Eclipse fan, it is a very safe option.
|
||||
|
||||
### 3. Geany ###
|
||||
|
||||

|
||||
|
||||
With a lot less features but a lot more flexibility, [Geany][6] is at the opposite of Eclipse. But what it lacks (like a debugger for example), Geany makes it up with nice little features: a space for note taking, creation from template, code outline, customizable shortcuts, and plugins management. Geany is still closer to an extensive text editor than an IDE here. However I keep it in the list for its lightness and its well designed interface.
|
||||
|
||||
### 4. MonoDevelop ###
|
||||
|
||||

|
||||
|
||||
Another monster to add to the list, [MonoDevelop][7] has a very unique feel derived from its look and interface. I personally love its project management and its integrated version control system. The plugin system is also pretty amazing. But for some reason, all the options and the support for all kind of programming languages make it feel a bit overwhelming to me. It remains a great tool that I used many times in the past, but just not my number one when dealing with "simplistic" C.
|
||||
|
||||
### 5. Anjuta ###
|
||||
|
||||

|
||||
|
||||
With a very strong "GNOME feeling" attached to it, [Anjuta][8]'s appearance is a hit or miss. I tend to see it as an advanced version of Geany with a debugger included, but the interface is actually a lot more elaborate. I do enjoy the tab system to switch between the project, folders, and code outline view. I would have liked maybe a bit more shortcuts to move around in a file. However, it is a good tool, and offers outstanding compilation and build options, which can support the most specific needs.
|
||||
|
||||
### 6. Komodo Edit ###
|
||||
|
||||

|
||||
|
||||
I was not very familiar with [Komodo Edit][9], but after trying it a few days, it surprised me with many many good things. First, the tab-based navigation is always appreciable. Then the fancy looking code outline reminds me a lot of Sublime Text. Furthermore, the macro system and the file comparator make Komodo Edit very practical. Its plugin library makes it almost perfect. "Almost" because I do not find the shortcuts as nice as in other IDEs. Also, I would enjoy more specific C/C++ tools, and this is typically the flaw of general IDEs. Yet, very enjoyable software.
|
||||
|
||||
### 7. NetBeans ###
|
||||
|
||||

|
||||
|
||||
Just like Eclipse, impossible to avoid this beast. With navigation via tabs, project management, code outline, change history tracking, and a plethora of tools, [NetBeans][10] might be the most complete IDE out there. I could list for half a page all of its amazing features. But that will tip you off too easily about its main disadvantage, it might be too big. As great as it is, I prefer plugin based software because I doubt that anyone will need both Git and Mercurial integration for the same project. Call me crazy. But if you have the patience to master all of its options, you will be pretty much become the master of IDEs everywhere.
|
||||
|
||||
### 8. KDevelop ###
|
||||
|
||||

|
||||
|
||||
For all KDE fans out there, [KDevelop][11] might be the answer to your prayers. With a lot of configuration options, KDevelop is yours if you manage to seize it. Call me superficial but I never really got past the interface. But it's too bad for me as the editor itself packs quite a punch with a lot of navigation options and customizable shortcuts. The debugger is also very advanced and will take a bit of practice to master. However, this patience will be rewarded with this very flexible IDE's full power. And it gets special credits for its amazing embedded documentation.
|
||||
|
||||
### 9. CodeLite ###
|
||||
|
||||

|
||||
|
||||
Finally, last for not least, [CodeLite][12] shows that you can take a traditional formula and still get something with its own feeling attached to it. If the interface really reminded me of Code::Blocks and Anjuta at first, I was just blown away by the extensive plugin library. Whether you want to diff a file, insert a copyright block, define an abbreviation, or push your work on Git, there is a plugin for you. If I had to nitpick, I would say that it lacks a few navigation shortcuts for my taste, but that's really it.
|
||||
|
||||
To conclude, I hope that this list had you discover new IDEs for coding in your favorite language. While Code::Blocks remains my favorite, it has some serious challengers. Also we are far from covering all the ways to code in C/C++ using an IDE on Linux. So if you have another one to propose, let us know in the comments. Also if you would like me to cover IDEs for a different language next, also let us know in the comment section.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/good-ide-for-c-cpp-linux.html
|
||||
|
||||
作者:[Adrien Brochard][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:http://xmodulo.com/turn-vim-full-fledged-ide.html
|
||||
[2]:http://www.codeblocks.org/
|
||||
[3]:https://eclipse.org/
|
||||
[4]:http://xmodulo.com/how-to-set-up-c-cpp-development-environment-in-eclipse.html
|
||||
[5]:https://eclipse.org/cdt/
|
||||
[6]:http://www.geany.org/
|
||||
[7]:http://www.monodevelop.com/
|
||||
[8]:http://anjuta.org/
|
||||
[9]:http://komodoide.com/komodo-edit/
|
||||
[10]:https://netbeans.org/
|
||||
[11]:https://www.kdevelop.org/
|
||||
[12]:http://codelite.org/
|
@ -1,114 +0,0 @@
|
||||
Chess in a Few Bytes
|
||||
================================================================================
|
||||
I am showing my age by mentioning that my introduction to computing was a ZX81, a home computer produced by a UK developer (Sinclair Research) which had a whopping 1KB of RAM. The 1KB is not a typographical error, the home computer really shipped with a mere 1KB of onboard memory. But this memory limitation did not prevent enthusiasts producing a huge variety of software. In fact the machine sparked a generation of programming wizards who were forced to get to grips with its workings. The machine was upgradable with a 16KB RAM pack which offered so many more coding possibilities. But the unexpanded 1KB machine still inspired programmers to release remarkable software.
|
||||
|
||||

|
||||
|
||||
My favourite ZX81 games were Flight Simulation, 3D Monster Maze, Galaxians, and above all 1K ZX Chess. Only the latter was written for the unexpanded ZX81. In fact, David Horne's 1K ZX Chess was coded in a mere 672 bytes of RAM. However, the game managed to implement most chess rules, and offer a computer opponent. While some important rules were omitted (castling, pawn promotion, and en passant capture), it was still amazing to be able to play against artificial intelligence. The game took up a fair chunk of my misspent youth.
|
||||
|
||||
1K ZX Chess remained the smallest implementation of chess on any computer for 33 years until the record was broken by BootChess this year, and subsequently by Toledo AtomChess. These three games do not implement all of the chess rules, so for completeness I have included my favourite small implementation of chess that implements a complete set of chess rules.
|
||||
|
||||
Linux has a good range of extremely strong chess engines such as Stockfish, Critter, Togo II, Crafty, GNU Chess, and Komodo. The chess engines featured in this article offer no match to a good chess engine, but they show how much can be achieved with a minuscule codebase.
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
You may have seen a considerable amount of press coverage about BootChess, a chess program written in 487 bytes of code, smashing the record of the then smallest chess program, 1K ZX Chess. Óscar Toledo Gutiérrez took up the mantle and decided to code an even more compact chess game. Toledo Atomchess is a mere 481 bytes of x86 assembly code which fits in a boot sector. The engine plays a reasonable game of chess given the limitations of its incredibly small codebase.
|
||||
|
||||
Features include:
|
||||
|
||||
- Basic chess movements
|
||||
- ASCII text representation of chess board
|
||||
- Moves are entered in algebraic form
|
||||
- Search depth of 3-ply
|
||||
|
||||
Obviously, to fit the chess of game into 481 bytes, the author had to make some sacrifices. These limitations include:
|
||||
|
||||
- No promotion of pawns
|
||||
- No castling
|
||||
- No en passant
|
||||
- No move validation
|
||||
|
||||
The author has also written chess programs in C, JavaScript and Java; each are very small implementations of chess.
|
||||
|
||||
- Website: [nanochess.org/chess6.html][1]
|
||||
- Developer: Óscar Toledo Gutiérrez
|
||||
- License: Free for non-commercial use
|
||||
- Version Number: -
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
BootChess is an extremely small computer implementation of chess. The game is crammed into a mere 487 bytes and runs on Windows, Mac OS X and Linux operating systems. The board and pieces of BootChess are represented by text alone, with P representing pawns, Q used for the queens and full stops entered for empty squares.
|
||||
|
||||
Features include:
|
||||
|
||||
- Graphic text representation of chess board and use input
|
||||
- Bootsector sized (512 bytes) with a playable chess game
|
||||
- x86 bios hardware only bootstrap (no software dependencies)
|
||||
- All main legal moves including double square pawn start
|
||||
- Pawn promotion to queen (contrary to 1k ZX Chess)
|
||||
- CPU artificial intelligence called taxiMax > minMax half-ply
|
||||
- Hard-coded Spanish white pieces opening
|
||||
|
||||
Again, there are some important limitations. Omissions include:
|
||||
|
||||
- Under-promotion
|
||||
- En passant pawn capture
|
||||
- No castling
|
||||
- 3-repetition rule
|
||||
- 50 move draw rule
|
||||
- No opening or closing books
|
||||
- One or more minMax/negaMax full plies for artificial intelligence
|
||||
|
||||
- Website: [www.pouet.net/prod.php?which=64962][2]
|
||||
- Developer: Olivier "Baudsurfer/RSi" Poudade
|
||||
- License: WTFPL v2
|
||||
- Version Number: .02
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Micro-Max is a 133-line chess source which is written in C
|
||||
|
||||
The author has implemented a (hash) transposition table, the engine checks the legality of the input moves, and full FIDE rules except for for under-promotions.
|
||||
|
||||
Features include:
|
||||
|
||||
- Recursive negamax search
|
||||
- Quiescence search with recaptures
|
||||
- Recapture extensions
|
||||
- Iterative deepening
|
||||
- Best-move-first 'sorting'
|
||||
- Hash table storing score and best move
|
||||
- Full FIDE rules (except under promotion) and move-legality checking
|
||||
|
||||
There is also a stripped-down 1433-character version, but allowing you to play under-promotions for full FIDE-rule compliance.
|
||||
|
||||
- Website: [home.hccnet.nl/h.g.muller/max-src2.html][3]
|
||||
- Developer: Harm Geert Muller
|
||||
- License: The MIT License
|
||||
- Version Number: 3.2
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/20150222033906262/ChessBytes.html
|
||||
|
||||
作者:Frazer Kline
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://nanochess.org/chess6.html
|
||||
[2]:http://www.pouet.net/prod.php?which=64962
|
||||
[3]:http://home.hccnet.nl/h.g.muller/max-src2.html
|
@ -0,0 +1,52 @@
|
||||
Red Hat Developer Toolset 3.1 beta arrives
|
||||
================================================================================
|
||||
> **Summary**:Want the newest developer tools for Red Hat Enterprise Linux 6 or 7? The beta's ready for you now.
|
||||
|
||||
It's one of those eternal problems between developers and operators that even [DevOps][1] can't entirely solve. System administrators want the most stable operating system possible, while programmers want the latest and greatest development tools. [Red Hat][2]'s solution for this dilemma has been to take those brand spanking-new tools, test them out on the latest stable [Red Hat Enterprise Linux (RHEL)][3], and then release them to developers.
|
||||
|
||||

|
||||
Red Hat Developer Toolset
|
||||
|
||||
So it is that Red Hat has just announced its latest toys for developers, [Red Hat Developer Toolset 3.1][4]. This packaging of the hottest new tools is now available in beta.
|
||||
|
||||
This update includes:
|
||||
|
||||
[GNUCompiler Collection (GCC) 4.9][5]: the latest stable upstream version of GCC, which provides numerous improvements and bug fixes
|
||||
|
||||
[Eclipse 4.4.1][6]: with support for Java 8 and updated versions of Eclipse CDT (8.5), Eclipse Linux Tools (3.1), Eclipse Mylyn (3.14), and Eclipse Egit/Jgit (3.6.1)
|
||||
|
||||
Numerous additional updated packages: These include GDB 7.8.2, elfutils 0.161, memstomp 0.1.5, SystemTap 2.6, Valgrind 3.10.1, Dyninst 8.2.1, and ltrace 0.7.91.
|
||||
|
||||
With these development programs, you'll be able to create applications for RHEL 6 and 7.x. These apps will then run on RHEL regardless of whether you're running it on a physical, virtual or cloud environments. They will also run on Red Hat's [OpenShift][7], its Platform-as-a-Service (PaaS) offering.
|
||||
|
||||
This new set of developer programs includes packages for both RHEL 7 and 7 running on [AMD64 and Intel 64 architectures][8]. Although the tools are 64-bit you can use them to create and modify 32-bit binaries.
|
||||
|
||||
Before you try running any of these programs, you should patch RHEL with all the latest updates. To install the beta Toolset, your systems need to be subscribed to the Optional channel to access all the required Red Hat Developer Toolset tool-chain packages.
|
||||
|
||||
In addition, if you've installed earlier Toolkits you may run into some [problems while installing Toolkit 3.1][9]. While these difficulties are easy enough to fix, you should go over these possible hiccups before trying to install the new Toolkit.
|
||||
|
||||
Finally, you may notice that some of the most exciting of the new tools, such as Docker, Kubernetes, and other container tools aren't here. That's because they're in the newly released [RHEL 7.1][10] and [Red Hat Enterprise Linux 7 Atomic Host (RHELAH)][11]. [Red Hat has partnered with Docker][12], but you'll need to move to a Docker-friendly version of RHEL to get at these container-friendly programs.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.zdnet.com/article/red-hat-developer-toolset-3-1-beta-arrives/
|
||||
|
||||
作者:[Steven J. Vaughan-Nichols][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.zdnet.com/meet-the-team/us/sjvn/
|
||||
[1]:http://blogs.csc.com/2015/02/03/devops-theory-for-beginners/
|
||||
[2]:http://www.redhat.com/en
|
||||
[3]:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
|
||||
[4]:http://www.redhat.com/en/about/blog/red-hat-developer-toolset-31-beta-now-available
|
||||
[5]:https://gcc.gnu.org/gcc-4.9/
|
||||
[6]:https://projects.eclipse.org/projects/eclipse/releases/4.4.1
|
||||
[7]:https://www.openshift.com/
|
||||
[8]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/System_Requirements.html
|
||||
[9]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/DTS3.1_Release.html#Known_Issues
|
||||
[10]:http://www.zdnet.com/article/red-hat-7-1-is-here-centos-7-1-is-coming-soon/
|
||||
[11]:http://www.zdnet.com/article/red-hat-buys-into-docker-containers-with-atomic-host/
|
||||
[12]:http://www.zdnet.com/article/red-hat-partners-with-docker-to-create-linuxdocker-software-stack/
|
@ -0,0 +1,56 @@
|
||||
Square 2.0 Icon Pack Is Twice More Beautiful
|
||||
================================================================================
|
||||

|
||||
|
||||
Elegant, modern looking [Square icon theme][1] has recently been upgraded to version 2.0, which makes it more beautiful than ever. Square icon packs are compatible with all major desktop environments such as **Unity, GNOME, KDE, MATE** etc. Which means that you can use them for all popular Linux distributions such as Ubuntu, Fedora, Linux Mint, elementary OS etc. The vastness of this icon pack can be estimated from the fact it contains over 15,000 icons.
|
||||
|
||||
### Install and use Square icon pack 2.0 in Linux ###
|
||||
|
||||
There are two variants of Square icons, dark and light. Based on your preference, you can choose either of the two. For experimentation sake, I would advise you to download both variants of the icon theme.
|
||||
|
||||
You can download the icon pack from the link below. The files are stored in Google Drive, so don’t be suspicious if you don’t see a standard website like [SourceForge][2].
|
||||
|
||||
- [Square Dark Icons][3]
|
||||
- [Square Light Icons][4]
|
||||
|
||||
To use the icon theme, extract the downloaded files in ~/.icons directory. If this doesn’t exist, create it. Once you have the files in the right place, based on your desktop environment, use a tool to change the icon theme. I have written some small tutorials in the past on this topic. Feel free to refer to them if you need further help:
|
||||
|
||||
- [How to change themes in Ubuntu Unity][5]
|
||||
- [How to change themes in GNOME Shell][6]
|
||||
- [How to change themes in Linux Mint][7]
|
||||
- [How to change theme in Elementary OS Freya][8]
|
||||
|
||||
### Give it a try ###
|
||||
|
||||
Here is what my Ubuntu 14.04 looks like with Square icons. I am using [Ubuntu 15.04 default wallpaper][9] in the background.
|
||||
|
||||

|
||||
|
||||
A quick look at several icons in the Square theme:
|
||||
|
||||

|
||||
|
||||
How do you find it? Do you think it can be considered as one of the [best icon themes for Ubuntu 14.04][10]? Do share your thoughts and stay tuned for more articles on customizing your Linux desktop.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/square-2-0-icon-pack-linux/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://gnome-look.org/content/show.php/Square?content=163513
|
||||
[2]:http://sourceforge.net/
|
||||
[3]:http://gnome-look.org/content/download.php?content=163513&id=1&tan=62806435
|
||||
[4]:http://gnome-look.org/content/download.php?content=163513&id=2&tan=19789941
|
||||
[5]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/
|
||||
[6]:http://itsfoss.com/install-switch-themes-gnome-shell/
|
||||
[7]:http://itsfoss.com/install-icon-linux-mint/
|
||||
[8]:http://itsfoss.com/install-themes-icons-elementary-os-freya/
|
||||
[9]:http://itsfoss.com/default-wallpapers-ubuntu-1504/
|
||||
[10]:http://itsfoss.com/best-icon-themes-ubuntu-1404/
|
@ -0,0 +1,132 @@
|
||||
How to Install Telegram Messenger Application on Linux
|
||||
================================================================================
|
||||
Telegram is an Instant Messaging (IM) application similar to whatsapp. It has a very large user base. It has a lot of features that differentiate it from other messaging application.
|
||||
|
||||

|
||||
Telegram Messenger for Linux
|
||||
|
||||
This article aims at making you aware of telegram application followed by detailed installation instructions on Linux Box.
|
||||
|
||||
#### Features of Telegram ####
|
||||
|
||||
- Implementation for mobile devices
|
||||
- Available for Desktop.
|
||||
- Application Program Interface (API) of Telegram can be Accessed by third party developers.
|
||||
- Available for Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac and Linux
|
||||
- The above application provides Heavily Encrypted and self destruct messages.
|
||||
- Lets you access your message from multiple devices and platform.
|
||||
- The overall processing and message delivery is lightening fast.
|
||||
- Distributed server across the globe for security and speed.
|
||||
- Open API and Free Protocol
|
||||
- NoAds, No Subscription charge. – Free forever.
|
||||
- Powerful – No limit to media and chats
|
||||
- Several security measures that make it safe from Hackers.
|
||||
- Reply to Specific message in group. Mention @username to notify multiple users in group.
|
||||
|
||||
#### Why Telegram? ####
|
||||
|
||||
When Applications like whatsapp and other IM are providing almost same things in bag, why should someone opt for Telegram?
|
||||
|
||||
Well Availability of API to third party developer is enough to say. Moreover availability for PC which means you won’t have to struggle typing message using your mobile, but you can use your PC and that is pretty more than sufficient.
|
||||
|
||||
Also The option to connect on remote locations, Co-ordinate – Group of upto 200 Members, Sync all your devices, Send – Documents of all kind, Encrypt message, Self destruction of message, Storage of Media in Cloud, Build own tool on freely available API and what not.
|
||||
|
||||
**Testing Environment**
|
||||
|
||||
We have used Debian GNU/Linux, x86_64 architecture to test it and the overall process went very smooth for us. Here what we did stepwise.
|
||||
|
||||
### Installation of Telegram Messenger in Linux ###
|
||||
|
||||
First go to the official Telegram site, and download Telegram source package ([tsetup.0.7.23.tar.xz][1]) for Linux system or you may use following wget command to download directly.
|
||||
|
||||
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
|
||||
|
||||
Once package has been downloaded, unpack the tarball and switch from current working directory to the extracted directory.
|
||||
|
||||
# tar -xf tsetup.0.7.23.tar.xz
|
||||
# cd Telegram/
|
||||
|
||||
Next, execute the binary file ‘Telegram’ from the command line as shown below.
|
||||
|
||||
# ./Telegram
|
||||
|
||||
1. The first Impression. Click “START MESSAGING”.
|
||||
|
||||

|
||||
Start Messaging
|
||||
|
||||
2. Enter Your phone Number. Click “NEXT”. If you have not registered for telegram before this, using the same number as entered above you will get a warning that you don’t have a telegram account yet. Click “Register Here”.
|
||||
|
||||

|
||||
Signup for Telegram
|
||||
|
||||
3. After submitting your phone number, telegram will send you a verification code, shortly. You need to Enter it.
|
||||
|
||||

|
||||
Telegram Verification Code
|
||||
|
||||
4. Enter your First_Name, Last_name and pics and click “SIGNUP”.
|
||||
|
||||

|
||||
Enter Account Details
|
||||
|
||||
5. After account creation, I got this interface. Everything seems at its place, even when I am new to telegram Application. The interface is really simple.
|
||||
|
||||

|
||||
Telegram Interface
|
||||
|
||||
6. Click Add a contact and Enter Their first_name, last_name and Phone number. Click create when done!.
|
||||
|
||||

|
||||
Add New Telegram Contact
|
||||
|
||||
7. If the contact you added is not on telegram already, You get a warning message and telegram will acknowledge you when your contact joins telegram.
|
||||
|
||||

|
||||
Telegram Contact Notification
|
||||
|
||||
8. As soon as the contact joins telegram you get a message (pop-out like) that reads [YOUR_CONTACT] joined telegram.
|
||||
|
||||
9. A formal chat window on Linux Machine. Nice experience…
|
||||
|
||||

|
||||
Telegram Contact Join Message
|
||||
|
||||
10. At the same time, I’ve tried messaging from my android mobile device, the interface looks similar on both.
|
||||
|
||||

|
||||
Telegram Mobile Interface
|
||||
|
||||
11. Telegram settings page. You have a lot of options to configure.
|
||||
|
||||

|
||||
Telegram Settings
|
||||
|
||||
12. About Telegram.
|
||||
|
||||

|
||||
About Telegram
|
||||
|
||||
#### Less Interesting Points ####
|
||||
|
||||
- Telegram usage protocol MTProto Mobile protocol.
|
||||
- Released Initially for iPhone in the year 2013 (August 14)..
|
||||
- People Behind this Amazing Project: Pavel and Nikolai Durov..
|
||||
|
||||
That’s all for now. I’ll be here again with another interesting article you will love to read. I take the pleasure on behalf of Tecmint to thank all our valuable readers and critics who made us stand where we are now through continuous self evolving process. Keep Connected! Keep Commenting. Share if you care for us.
|
||||
|
||||
- [https://telegram.org/][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/install-telegram-in-linux/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
[1]:https://tdesktop.com/linux
|
||||
[2]:https://telegram.org/
|
110
sources/share/20150326 Mydumper--Mysql Database Backup tool.md
Normal file
110
sources/share/20150326 Mydumper--Mysql Database Backup tool.md
Normal file
@ -0,0 +1,110 @@
|
||||
Mydumper – Mysql Database Backup tool
|
||||
================================================================================
|
||||
Mydumper is a tool used for backing up MySQL database servers much faster than the mysqldump tool distributed with MySQL. It also has the capability to retrieve the binary logs from the remote server at the same time as the dump itself.
|
||||
|
||||
### Mydumper advantages ###
|
||||
|
||||
o Parallelism (hence, speed) and performance (avoids expensive character set conversion routines, efficient code overall)
|
||||
|
||||
o Easier to manage output (separate files for tables, dump metadata,etc, easy to view/parse data)
|
||||
|
||||
o Consistency -- maintains snapshot across all threads, provides accurate master and slave log positions, etc
|
||||
|
||||
o Manageability -- supports PCRE for specifying database and tables inclusions and exclusions
|
||||
|
||||
### Install mydumper on ubuntu ###
|
||||
|
||||
Open the terminal and run the following command
|
||||
|
||||
sudo apt-get install mydumper
|
||||
|
||||
### Using Mydumper ###
|
||||
|
||||
#### Syntax ####
|
||||
|
||||
mydumper [options]
|
||||
|
||||
Application Options:
|
||||
|
||||
- -B, --database Database to dump
|
||||
- -T, --tables-list Comma delimited table list to dump (does not exclude regex option)
|
||||
- -o, --outputdir Directory to output files to
|
||||
- -s, --statement-size Attempted size of INSERT statement in bytes, default 1000000
|
||||
- -r, --rows Try to split tables into chunks of this many rows
|
||||
- -c, --compress Compress output files
|
||||
- -e, --build-empty-files Build dump files even if no data available from table
|
||||
- -x, --regex Regular expression for ‘db.table' matching
|
||||
- -i, --ignore-engines Comma delimited list of storage engines to ignore
|
||||
- -m, --no-schemas Do not dump table schemas with the data
|
||||
- -k, --no-locks Do not execute the temporary shared read lock. WARNING: This will cause inconsistent backups
|
||||
- -l, --long-query-guard Set long query timer in seconds, default 60
|
||||
- --kill-long-queries Kill long running queries (instead of aborting)
|
||||
- -b, --binlogs Get a snapshot of the binary logs as well as dump data
|
||||
- -D, --daemon Enable daemon mode
|
||||
- -I, --snapshot-interval Interval between each dump snapshot (in minutes), requires --daemon, default 60
|
||||
- -L, --logfile Log file name to use, by default stdout is used
|
||||
- -h, --host The host to connect to
|
||||
- -u, --user Username with privileges to run the dump
|
||||
- -p, --password User password
|
||||
- -P, --port TCP/IP port to connect to
|
||||
- -S, --socket UNIX domain socket file to use for connection
|
||||
- -t, --threads Number of threads to use, default 4
|
||||
- -C, --compress-protocol Use compression on the MySQL connection
|
||||
- -V, --version Show the program version and exit
|
||||
- -v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
|
||||
|
||||
#### Mydumper Example ####
|
||||
|
||||
mydumper \
|
||||
--database=$DB_NAME \
|
||||
--host=$DB_HOST \
|
||||
--user=$DB_USER \
|
||||
--password=$DB_PASS \
|
||||
--outputdir=$DB_DUMP \
|
||||
--rows=500000 \
|
||||
--compress \
|
||||
--build-empty-files \
|
||||
--threads=2 \
|
||||
--compress-protocol
|
||||
|
||||
Description of Mydumper's output data
|
||||
|
||||
Mydumper does not output to files, but rather to files in a directory. The --outputdir option specifies the name of the directory to use.
|
||||
|
||||
The output is two parts
|
||||
|
||||
Schema
|
||||
|
||||
For each table in the database, a file containing the CREATE TABLE statement will be created. It will be named:
|
||||
|
||||
dbname.tablename-schema.sql.gz
|
||||
|
||||
Data
|
||||
|
||||
For each table with number of rows above the --rows parameter, you will have a file called:
|
||||
|
||||
dbname.tablename.0000n.sql.gz
|
||||
|
||||
Where "n" starts with 0 up to the number of.
|
||||
|
||||
If you want to restore these backup you can use Myloader
|
||||
|
||||
myloader \
|
||||
--database=$DB_NAME \
|
||||
--directory=$DB_DUMP \
|
||||
--queries-per-transaction=50000 \
|
||||
--threads=10 \
|
||||
--compress-protocol \
|
||||
--verbose=3
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ubuntugeek.com/mydumper-mysql-database-backup-tool.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
|
102
sources/share/20150330 Picty--Managing Photos Made Easy.md
Normal file
102
sources/share/20150330 Picty--Managing Photos Made Easy.md
Normal file
@ -0,0 +1,102 @@
|
||||
Picty: Managing Photos Made Easy
|
||||
================================================================================
|
||||

|
||||
|
||||
### About Picty ###
|
||||
|
||||
**Picty** is a free, simple, yet powerful photo collection manager that will help you to manage your photos. It is designed around managing **metadata** and a **lossless** approach to image handling. Picty currently supports both online(web-based) and offline(local) collections. In local collections, the images will be stored in a local folder and it’s sub-folders. A database will be maintained to speed up the image queries in the user’s home folder. In online(web-based) collections, you can upload and share images through a web browser. Ant user with proper rights can share photos to any persons, and each user can have multiple collections open at once and collections can be shared by multiple users. There is a simple interface for transferring images between collections using a transfer plugin.
|
||||
|
||||
You can download any number of photos from your Camera or any devices. Also, Picty allows you to browse photo collections from your Camera before downloading it. Picty is lightweight application, and has snappy interface. It supports Linux, and Windows platforms.
|
||||
|
||||
### Features ###
|
||||
|
||||
- Supports big photo collections (20,000 plus images).
|
||||
- Open more than one collection at a time and transfer images between them.
|
||||
- Collections are:
|
||||
- Folders of images in your local file system.
|
||||
- Images on cameras, phones and other media devices.
|
||||
- Photo hosting services (Flickr currently supported).
|
||||
- picty does not “Import” photos into its own database, it simply provides an interface for accessing them wherever they are. To keep things snappy and to allow you to browse even if you are offline, picty maintains a cache of thumbnails and metadata.
|
||||
- Reads and writes metadata in industry standard formats Exif, IPTC and Xmp
|
||||
- Lossless approach:
|
||||
- picty writes all changes including image edits as metadata. e.g. an image crop is stored as any instruction, the original pixels remain in the file
|
||||
- Changes are stored in picty’s collection cache until you save your metadata changes to the images. You can easily revert unsaved changes that you don’t like.
|
||||
- Basic image editing:
|
||||
- Current support for basic image enhancements such as brightness, contrast, color, cropping, and straightening.
|
||||
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)
|
||||
- Image tagging:
|
||||
- Use standard IPTC and Xmp keywords for image tags
|
||||
- A tag tree view lets you easily manage your tags and navigate your collection
|
||||
- Folder view:
|
||||
- Navigate the directory heirarchy of your image collection
|
||||
- Multi-monitor support
|
||||
- picty can be configured to let you browse your collection on one screen and view full screen images on another.
|
||||
- Customizable
|
||||
- Create launchers for external tools
|
||||
- Supports plugins – many of the current features (tagging and folder views, and all of the image editing tools) are provided by plugins
|
||||
- Written in python – batteries included!
|
||||
|
||||
### Installation ###
|
||||
|
||||
#### 1. Install from PPA ####
|
||||
|
||||
Picty developers has a PPA for Debian based distributions, like Ubuntu, to make the installation much easier.
|
||||
|
||||
To install in Ubuntu and derivatives, run:
|
||||
|
||||
sudo add-apt-repository ppa:damien-moore/ppa
|
||||
sudo apt-get update
|
||||
sudo apt-get install picty
|
||||
|
||||
#### 2. Install from Source ####
|
||||
|
||||
Also, you can install it from Source files. First, install the following dependencies.
|
||||
|
||||
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
|
||||
|
||||
Then, get the latest version using command:
|
||||
|
||||
bzr branch lp:picty
|
||||
|
||||
To run picty, change to the picty directory, and enter:
|
||||
|
||||
cd picty
|
||||
bin/picty
|
||||
|
||||
To update to the latest version, run:
|
||||
|
||||
cd picty
|
||||
bzr pull
|
||||
|
||||
### Usage ###
|
||||
|
||||
Launch Picty either from Menu or Unity Dash.
|
||||
|
||||

|
||||
|
||||
You can either choose existing collection, device or directory. Let us create a **new collection**. To do that, create New Collection button. Enter the collection, and browse to the path where you have the images stored. Finally, click **Create** button.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
You can modify, rotate, add/remove tags, set descriptive info of each images. To do that, just right click any image and do the actions of your choice.
|
||||
|
||||
Visit the following Google group to get more information and support about Picty Photo manager.
|
||||
|
||||
- [http://groups.google.com/group/pictyphotomanager][1]
|
||||
|
||||
Cheers!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/picty-managing-photos-made-easy/
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.unixmen.com/author/sk/
|
||||
[1]:http://groups.google.com/group/pictyphotomanager
|
@ -1,3 +1,4 @@
|
||||
[raywang]
|
||||
Open source all over the world
|
||||
================================================================================
|
||||

|
||||
|
@ -1,8 +1,12 @@
|
||||
theol-l translating
|
||||
|
||||
The Curious Case of the Disappearing Distros
|
||||
关于消失的发行版的古怪情形。
|
||||
================================================================================
|
||||

|
||||
|
||||
"Linux is a big game now, with billions of dollars of profit, and it's the best thing since sliced bread, but corporations are taking control, and slowly but systematically, community distros are being killed," said Google+ blogger Alessandro Ebersol. "Linux is slowly becoming just like BSD, where companies use and abuse it and give very little in return."
|
||||
"Linux现在成为了一个大型的游戏,同时具有巨额的利润,这是有史以来最好的事情。但是公司企业进行了控制,于是缓慢而系统的社区发行版就逐渐被干掉了,",Google+的一个博主 Alessandro Ebersol说到。"Linux开始变得像BSD--一些公司使用和滥用但是没有任何回报--一样缓慢。"
|
||||
|
||||
Well the holidays are pretty much upon us at last here in the Linux blogosphere, and there's nowhere left to hide. The next two weeks or so promise little more than a blur of forced social occasions and too-large meals, punctuated only -- for the luckier ones among us -- by occasional respite down at the Broken Windows Lounge.
|
||||
|
||||
@ -117,4 +121,4 @@ via: http://www.linuxinsider.com/story/The-Curious-Case-of-the-Disappearing-Dist
|
||||
[5]:http://ledgersmbdev.blogspot.com/
|
||||
[6]:http://www.ledgersmb.org/
|
||||
[7]:http://www.novell.com/linux
|
||||
[8]:http://www.redhat.com/
|
||||
[8]:http://www.redhat.com/
|
||||
|
@ -1,41 +0,0 @@
|
||||
Ubuntu 15.04 Finally Lets You Set Menus To ‘Always Show’
|
||||
================================================================================
|
||||
**If you hate the way that Unity’s global menus fade out of view after you mouse away, Ubuntu 15.04 has a little extra to win you around.**
|
||||
|
||||

|
||||
|
||||
The latest build of Unity for Ubuntu 15.04, currently sitting in the ‘proposed’ channel, offers an option to **make app menus visible in Ubuntu**.
|
||||
|
||||
No fading, no timeout, no missing menus.
|
||||
|
||||
The drawback for now is that it can currently only be enabled through a dconf switch and not a regular user-facing option.
|
||||
|
||||
I’d hope (if not expect) that an option to set the feature is added to the Ubuntu System Settings > Appearance section as development continues.
|
||||
|
||||
Right now, if you’re on Ubuntu 15.04 and have the “Proposed” update channel enabled, you should find this switch waiting in **com > canonical > unity >** ‘always show menus’.
|
||||
|
||||
### Better Late Than Never? ###
|
||||
|
||||
Developers plan to backport the option to Ubuntu 14.04 LTS in the next SRU (assuming nothing unexpected crops up during testing).
|
||||
|
||||
Locally Integrated Menus (LIM) debuted in Ubuntu 14.04 LTS to much appreciation, being widely seen as the best compromise between those who liked the simplicity of the “hidden” approach and those who disliked the mouse and trackpad aerobics using it required.
|
||||
|
||||
While locally integrated menus brought us half way to silencing the criticisms levelled at this aspect of Unity, the default “fade in/fade out” behaviour left an itch unscratched.
|
||||
|
||||
The past few releases of Ubuntu has seen proactive addressing of concerns and issues experienced by its earlier UX decisions. After several years on the ‘to do’ list [we finally got Locally Integrated Menus last year][1], as well as an unsupported [option to minimise and restore apps to the Unity Launcher][2] by clicking on their icon.
|
||||
|
||||
A year on from that we finally get an option to make application menus always show, no matter where our mouse is. Better late than never, right?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2015/01/ubuntu-15-04-always-show-menu-bar-option
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2014/02/locally-integrated-menus-ubuntu-14-04
|
||||
[2]:http://www.omgubuntu.co.uk/2014/03/minimize-click-launcher-option-ubuntu-14-04
|
@ -1,44 +0,0 @@
|
||||
translating by KayGuoWhu
|
||||
Why does C++ promote an int to a float when a float cannot represent all int values?
|
||||
---------
|
||||
|
||||
#Q:
|
||||
|
||||
Say I have the following:
|
||||
|
||||
```C
|
||||
int i = 23;
|
||||
float f = 3.14;
|
||||
if (i == f) // do something
|
||||
```
|
||||
|
||||
The i will be promoted to a float and the two float numbers will be compared, but can a float represent all int values? Why not promote both the int and the float to a double?
|
||||
|
||||
#A:
|
||||
|
||||
When `int` is promoted to `unsigned` in the integral promotions, negative values are also lost (which leads to such fun as `0u < -1` being true).
|
||||
|
||||
Like most mechanisms in C (that are inherited in C++), the usual arithmetic conversions should be understood in terms of hardware operations. The makers of C were very familiar with the assembly language of the machines with which they worked, and they wrote C to make immediate sense to themselves and people like themselves when writing things that would until then have been written in assembly (such as the UNIX kernel).
|
||||
|
||||
Now, processors, as a rule, do not have mixed-type instructions (add float to double, compare int to float, etc.) because it would be a huge waste of real estate on the wafer -- you'd have to implement as many times more opcodes as you want to support different types. That you only have instructions for "add int to int," "compare float to float", "multiply unsigned with unsigned" etc. makes the usual arithmetic conversions necessary in the first place -- they are a mapping of two types to the instruction family that makes most sense to use with them.
|
||||
|
||||
From the point of view of someone who's used to writing low-level machine code, if you have mixed types, the assembler instructions you're most likely to consider in the general case are those that require the least conversions. This is particularly the case with floating points, where conversions are runtime-expensive, and particularly back in the early 1970s, when C was developed, computers were slow, and when floating point calculations were done in software. This shows in the usual arithmetic conversions -- only one operand is ever converted (with the single exception of `long/unsigned int`, where the `long` may be converted to `unsigned long`, which does not require anything to be done on most machines. Perhaps not on any where the exception applies).
|
||||
|
||||
So, the usual arithmetic conversions are written to do what an assembly coder would do most of the time: you have two types that don't fit, convert one to the other so that it does. This is what you'd do in assembler code unless you had a specific reason to do otherwise, and to people who are used to writing assembler code and do have a specific reason to force a different conversion, explicitly requesting that conversion is natural. After all, you can simply write
|
||||
|
||||
```C
|
||||
if((double) i < (double) f)
|
||||
```
|
||||
|
||||
It is interesting to note in this context, by the way, that `unsigned` is higher in the hierarchy than `int`, so that comparing `int` with `unsigned` will end in an unsigned comparison (hence the `0u < -1` bit from the beginning). I suspect this to be an indicator that people in olden times considered `unsigned` less as a restriction on `int` than as an extension of its value range: We don't need the sign right now, so let's use the extra bit for a larger value range. You'd use it if you had reason to expect that an `int` would overflow -- a much bigger worry in a world of 16-bit ints.
|
||||
|
||||
----
|
||||
via:[stackoverflow](http://stackoverflow.com/questions/28010565/why-does-c-promote-an-int-to-a-float-when-a-float-cannot-represent-all-int-val/28011249#28011249)
|
||||
|
||||
作者:[wintermute][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://stackoverflow.com/users/4301306/wintermute
|
@ -1,31 +0,0 @@
|
||||
Windows 10 versus Linux
|
||||
================================================================================
|
||||

|
||||
|
||||
Windows 10 seemed to dominate the headlines today, even in many Linux circles. Leading the pack is Brian Fagioli at betanews.com saying Windows 10 is ringing the death knell for Linux desktops. Microsoft announced today that Windows 10 will be free for loyal Windows users and Steven J. Vaughan-Nichols said it's the newest Open Source company. Then Matt Hartley compares Windows 10 to Ubuntu and Jesse Smith reviews Windows 10 from a Linux user's perspective.
|
||||
|
||||
**Windows 10** was the talk around water coolers today with Microsoft's [announcement][1] that it would be free for Windows 7 and up users. Here in Linuxland, that didn't go unnoticed. Brian Fagioli at betanews.com, a self-proclaimed Linux fan, said today, "Windows 10 closes the door entirely. The year of the Linux desktop will never happen. Rest in peace." [Fagioli explained][2] that Microsoft listened to user complaints and not only addressed them but improved way beyond that. He said Linux missed the boat by failing to capitalize on the Windows 8 unpopularity and ultimate failure. Then he concluded that we on the fringe must accept our "shattered dreams" thanks to Windows 10.
|
||||
|
||||
**H**owever, Jesse Smith, of Distrowatch.com fame, said Microsoft isn't making it easy to find the download, but it is possible and he did it. The installer was simple enough except for the partitioner, which was quite limited and almost scary. After finally getting into Windows 10, Smith said the layout was "sparce" without a lot of the distractions folks hated about 7. The menu is back and the start screen is gone. A new package manager looks a lot like Ubuntu's and Android's according to Smith, but requires an online Microsoft account to use. [Smith concludes][3] in part, "Windows 10 feels like a beta for an early version of Android, a consumer operating system that is designed to be on-line all the time. It does not feel like an operating system I would use to get work done."
|
||||
|
||||
**S**mith's [full article][4] compares Windows 10 to Linux quite a bit, but Matt Hartley today posted an actual Windows 10 vs Linux report. [He said][5] both installers were straightforward and easy Windows still doesn't dual boot easily and Windows provides encryption by default but Ubuntu offers it as an option. At the desktop Hartley said Windows 10 "is struggling to let go of its Windows 8 roots." He thought the Windows Store looks more polished than Ubuntu's but didn't really like the "tile everything" approach to newly installed apps. In conclusion, Hartley said, "The first issue is that it's going to be a free upgrade for a lot of Windows users. This means the barrier to entry and upgrade is largely removed. Second, it seems this time Microsoft has really buckled down on listening to what their users want."
|
||||
|
||||
**S**teven J. Vaughan-Nichols today said that Microsoft is the newest Open Source company; not because it's going to be releasing Windows 10 as a free upgrade but because Microsoft is changing itself from a software company to a software as a service company. And, according to Vaughan-Nichols, Microsoft needs Open Source to do it. They've been working on it for years beginning with Novell/SUSE. Not only that, they've been releasing software as Open Source as well (whatever the motives). [Vaughan-Nichols concluded][6], "Most people won't see it, but Microsoft -- yes Microsoft -- has become an open-source company."
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/windows-10-versus-linux
|
||||
|
||||
作者:[Susan Linton][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://ostatic.com/member/susan-linton
|
||||
[1]:https://news.google.com/news/section?q=microsoft+windows+10+free&ie=UTF-8&oe=UTF-8
|
||||
[2]:http://betanews.com/2015/01/25/windows-10-is-the-final-nail-in-the-coffin-for-the-linux-desktop/
|
||||
[3]:http://blowingupbits.com/2015/01/an-outsiders-perspective-on-windows-10-preview/
|
||||
[4]:http://blowingupbits.com/2015/01/an-outsiders-perspective-on-windows-10-preview/
|
||||
[5]:http://www.datamation.com/open-source/windows-vs-linux-the-2015-version-1.html
|
||||
[6]:http://www.zdnet.com/article/microsoft-the-open-source-company/
|
@ -1,82 +0,0 @@
|
||||
9 Best IDEs and Code Editors for JavaScript Users
|
||||
================================================================================
|
||||
Web designing and developing is one of the trending sectors in the recent times, where more and more peoples started to search for their career opportunities. But, Getting the right opportunity as a web developer or graphic designer is not just a piece of cake for everyone, It certainly requires a strong mind presence as well as right skills to find the find the right job. There are a lot of websites available today which can help you to get the right job description according to your knowledge. But still if you want to achieve something in this sector you must have some excellent skills like working with different platforms, IDEs and various other tools too.
|
||||
|
||||
Talking about the different platforms and IDEs used for various languages for different purposes, gone is the time when we learn just one IDE and get the optimum solutions for our web design projects easily. Today we are living in the modern lifestyle where competition is getting more and more tough on every single day. Same is the case with the IDEs, IDE is basically a powerful client application for creating and deploying applications. Today we are going to share some best javascript IDE for web designers and developers.
|
||||
|
||||
Please visit this list of best code editors for javascript user and share your thought with us.
|
||||
|
||||
### 1) [Spket][1] ###
|
||||
|
||||
**Spket IDE** is powerful toolkit for JavaScript and XML development. The powerful editor for JavaScript, XUL/XBL and Yahoo! Widget development. The JavaScript editor provides features like code completion, syntax highlighting and content outline that helps developers productively create efficient JavaScript code.
|
||||
|
||||

|
||||
|
||||
### 2) [Ixedit][2] ###
|
||||
|
||||
IxEdit is a JavaScript-based interaction design tool for the web. With IxEdit, designers can practice DOM-scripting without coding to change, add, move, or transform elements dynamically on your web pages.
|
||||
|
||||

|
||||
|
||||
### 3) [Komodo Edit][3] ###
|
||||
|
||||
Komode is free and powerful code editor for Javascript and other programming languages.
|
||||
|
||||

|
||||
|
||||
### 4) [EpicEditor][4] ###
|
||||
|
||||
EpicEditor is an embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more. For developers, it offers a robust API, can be easily themed, and allows you to swap out the bundled Markdown parser with anything you throw at it.
|
||||
|
||||

|
||||
|
||||
### 5) [codepress][5] ###
|
||||
|
||||
CodePress is web-based source code editor with syntax highlighting written in JavaScript that colors text in real time while it’s being typed in the browser.
|
||||
|
||||

|
||||
|
||||
### 6) [ACe][6] ###
|
||||
|
||||
Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate. It can be easily embedded in any web page and JavaScript application.
|
||||
|
||||

|
||||
|
||||
### 7) [scripted][7] ###
|
||||
|
||||
Scripted is a fast and lightweight code editor with an initial focus on JavaScript editing. Scripted is a browser based editor and the editor itself is served from a locally running Node.js server instance.
|
||||
|
||||

|
||||
|
||||
### 8) [Netbeans][8] ###
|
||||
|
||||
This is another more impressive and useful code editors for javascript and other programming languages.
|
||||
|
||||

|
||||
|
||||
### 9) [Webstorm][9] ###
|
||||
|
||||
This is the smartest ID for javascript. WebStorm is a lightweight yet powerful IDE, perfectly equipped for complex client-side development and server-side development with Node.js.
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://devzum.com/2015/01/31/9-best-ides-and-code-editors-for-javascript-users/
|
||||
|
||||
作者:[vikas][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://devzum.com/author/vikas/
|
||||
[1]:http://spket.com/
|
||||
[2]:http://www.ixedit.com/
|
||||
[3]:http://komodoide.com/komodo-edit/
|
||||
[4]:http://oscargodson.github.io/EpicEditor/
|
||||
[5]:http://codepress.sourceforge.net/
|
||||
[6]:http://ace.c9.io/#nav=about
|
||||
[7]:https://github.com/scripted-editor/scripted
|
||||
[8]:https://netbeans.org/
|
||||
[9]:http://www.jetbrains.com/webstorm/
|
@ -1,136 +0,0 @@
|
||||
A Look At What Linux Games We Will See In 2015 And Beyond
|
||||
================================================================================
|
||||
Linux Gaming is dead they said, Linux Gaming is pointless they said...ah whatever. Here’s a look at what’s to come for us in 2015 and beyond.
|
||||
|
||||
It's pretty hard to keep up with everything that's going on for us, but here's a quick look at what we could see soon.
|
||||
|
||||
### Confirmed Games ###
|
||||
|
||||
#### Adventure Games ####
|
||||
|
||||
- [Firewatch][1]
|
||||
- [Paradise Lost: First Contact][2]
|
||||
- [SteamWorld Heist][3]
|
||||
|
||||
#### Action Games ####
|
||||
|
||||
- [Darksiders][4]
|
||||
- [Darksiders II][5]
|
||||
- [Ray's The Dead][6]
|
||||
- [Skullgirls][7]
|
||||
|
||||
#### FPS Games ####
|
||||
|
||||
- [Bioshock Infinite][8]
|
||||
- Half Life 3 /troll
|
||||
- [Homefront: The Revolution][9]
|
||||
- [Killing Floor 2][10]
|
||||
- Serious Sam 4 (No official site for it yet)
|
||||
- [Storm United][11]
|
||||
- [SUPERHOT][12]
|
||||
|
||||
#### Platformers ####
|
||||
|
||||
- [Broforce][13]
|
||||
- [Chasm][14]
|
||||
- [Giana Sisters][15]
|
||||
- [Heart Forth, Alicia][16]
|
||||
- [Hot Tin Roof][17]
|
||||
- [Infinifactory][18]
|
||||
- [Mighty No. 9][19]
|
||||
- [Night in the Woods][20]
|
||||
- [Noct][21]
|
||||
- [Oddworld: New 'N' Tasty][22]
|
||||
- [Red Goddess][23]
|
||||
|
||||
#### RPG Games ####
|
||||
|
||||
- [Divinity: Original Sin][24]
|
||||
- [Pillars Of Eternity][25]
|
||||
- [Shadowrun: Hong Kong][26]
|
||||
- [The Banner Saga][27]
|
||||
|
||||
#### Strategy Games ####
|
||||
|
||||
- [Age of Wonders III][28]
|
||||
- [Banished][29]
|
||||
- [Cities: Skylines][30]
|
||||
- [Clockwork Empires][31]
|
||||
- [Parkitect][32]
|
||||
- [Scrolls][33]
|
||||
- [Space Pirates And Zombies 2][34]
|
||||
|
||||
#### Sandbox Games ####
|
||||
|
||||
- [Terraria][35]
|
||||
- [X Rebirth][36]
|
||||
|
||||
#### Unconfirmed, but highly likely ####
|
||||
|
||||
- [Company of Heroes 2][37]
|
||||
- [Outlast][38]
|
||||
- [Shadow Warrior][39]
|
||||
- [Torchlight II][40]
|
||||
|
||||
Then there’s the [two ports teased from Feral Interactive][41], we can’t let them be left out just because we don’t know what they are.
|
||||
|
||||
We imagine Aspyr Media are also working on new bigger ports, but they have only just released their latest game, so it may be a few months until we see anything.
|
||||
|
||||
**This isn't a complete list** of course, as we can easily forget with the sheer amount of games heading our way, and wow what a list!
|
||||
|
||||
We have GDC next month, and we are expecting a few announcements too. While we don't have anything solid, with Valve's big presence with Steam Machines we are expecting at least some more Linux games, otherwise it we fear it may be a little lacklustre for Valve to only show off older existing games for Linux.
|
||||
|
||||
What did we miss that you’re excited about for Linux?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.gamingonlinux.com/articles/a-look-at-what-linux-games-we-will-see-in-2015-and-beyond.4963
|
||||
|
||||
作者:[liamdawe][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.gamingonlinux.com/profiles/1
|
||||
[1]:https://www.gamingonlinux.com/articles/category/17/articles/firewatch-a-first-person-mystery-game-finally-reveals-itself-in-a-trailer.4231
|
||||
[2]:http://www.asthreeworks.com/games/
|
||||
[3]:https://www.gamingonlinux.com/articles/category/17/articles/image-form-announces-steamworld-heist.4304
|
||||
[4]:https://www.gamingonlinux.com/articles/darksiders-linux-port-looks-like-it-is-still-happening.4893
|
||||
[5]:https://www.gamingonlinux.com/articles/darksiders-2-confirmed-for-linux.4154
|
||||
[6]:http://ragtagstudio.com/?page_id=457
|
||||
[7]:https://www.gamingonlinux.com/articles/editorial-skullgirls-on-linux-finally-shows-some-progress.4789
|
||||
[8]:https://www.gamingonlinux.com/articles/bioshock-infinite-looks-set-for-a-linux-release-confirmed.4668
|
||||
[9]:http://www.homefront-game.com/
|
||||
[10]:https://www.gamingonlinux.com/articles/category/17/articles/killing-floor-2-fps-has-a-new-trailer.4676
|
||||
[11]:https://www.gamingonlinux.com/articles/storm-united-online-fps-shows-first-real-gameplay-video-first-alpha-due-soon.4872
|
||||
[12]:http://superhotgame.com/
|
||||
[13]:http://steamcommunity.com/app/274190/discussions/0/540738051503306548/#c540738051518330743
|
||||
[14]:https://www.gamingonlinux.com/articles/category/17/articles/chasm-rpg-platformer-will-have-a-same-day-linux-release.4266
|
||||
[15]:https://www.gamingonlinux.com/articles/linux-port-of-platformer-giana-sisters-brought-inhouse-sequel-might-get-sameday-release.4913
|
||||
[16]:http://www.alonsomartin.mx/hfa/
|
||||
[17]:http://www.hottinroofgame.com/
|
||||
[18]:https://twitter.com/zachtronics/status/566016742825005057
|
||||
[19]:http://www.mightyno9.com/
|
||||
[20]:http://www.nightinthewoods.com/
|
||||
[21]:https://www.gamingonlinux.com/articles/category/17/articles/noct-a-fantastic-top-down-thermal-image-survival-horror-game.4783
|
||||
[22]:https://www.gamingonlinux.com/articles/puzzle-platformer-oddworld-new-n-tasty-will-release-for-linux-next-month.4836
|
||||
[23]:https://www.gamingonlinux.com/articles/new-trailer-for-platformer-red-goddesss-looks-really-good.4939
|
||||
[24]:https://www.gamingonlinux.com/articles/divinity-original-sin-is-pushing-ahead-for-the-linux-release.4938
|
||||
[25]:https://www.gamingonlinux.com/articles/pillars-of-eternity-the-rpg-aims-for-a-sameday-linux-release-on-march-26th.4834
|
||||
[26]:https://www.kickstarter.com/projects/webeharebrained/shadowrun-hong-kong
|
||||
[27]:https://www.gamingonlinux.com/articles/the-banner-saga-rpg-looks-close-to-a-linux-version.4862
|
||||
[28]:https://www.gamingonlinux.com/articles/the-linux-port-of-age-of-wonders-iii-is-progressing-a-bit-too-explosive-right-now.4857
|
||||
[29]:https://www.gamingonlinux.com/articles/banished-survival-city-building-sim-is-being-ported-to-linux.4813
|
||||
[30]:https://www.gamingonlinux.com/articles/city-builder-game-cities-skylines-now-has-a-release-date.4954
|
||||
[31]:https://www.gamingonlinux.com/articles/clockwork-empires-still-pushing-towards-a-linux-version-suffering-delays.4734
|
||||
[32]:https://www.gamingonlinux.com/articles/category/17/articles/parkitect-what-roller-coaster-tycoon-should-have-grown-into.4528
|
||||
[33]:https://www.gamingonlinux.com/articles/mojangs-scrolls-now-has-an-experimental-linux-build.4450
|
||||
[34]:https://www.gamingonlinux.com/articles/space-pirates-and-zombies-2-reveals-the-zombies-in-a-brand-new-video.4759
|
||||
[35]:https://www.gamingonlinux.com/articles/terraria-officially-confirmed-to-be-in-development-for-linux-finally.4299
|
||||
[36]:https://www.gamingonlinux.com/articles/egosofts-x-rebirth-actively-being-ported-to-linux.4822
|
||||
[37]:https://www.gamingonlinux.com/articles/company-of-heroes-2-looks-like-it-is-heading-to-linux.4199
|
||||
[38]:https://www.gamingonlinux.com/articles/outlast-that-really-scary-game-looks-like-its-still-heading-to-linux.4896
|
||||
[39]:https://www.gamingonlinux.com/articles/shadow-warrior-looks-like-it-will-come-to-linux.4859
|
||||
[40]:https://www.gamingonlinux.com/articles/torchlight-ii-has-even-more-positive-signs-for-linux.4817
|
||||
[41]:http://www.gamingonlinux.com/articles/feralinteractive.com/en/upcoming/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user