diff --git a/README.md b/README.md index 02fc5a8227..26ea32fd81 100644 --- a/README.md +++ b/README.md @@ -49,93 +49,125 @@ LCTT的组成 * 2014/10/08 提升bazz2为Core Translators成员。 * 2014/11/04 提升zpl1025为Core Translators成员。 * 2014/12/25 提升runningwater为Core Translators成员。 +* 2015/04/19 发起 LFS-BOOK-7.7-systemd 项目。 活跃成员 ------------------------------- -目前活跃成员有: -- CORE [wxy](https://github.com/wxy), -- CORE [carolinewuyan](https://github.com/carolinewuyan), -- CORE [DeadFire](https://github.com/DeadFire), -- CORE [geekpi](https://github.com/geekpi), -- CORE [GOLinux](https://github.com/GOLinux), -- CORE [reinoir](https://github.com/reinoir), -- CORE [bazz2](https://github.com/bazz2), -- CORE [zpl1025](https://github.com/zpl1025), -- Senior [tinyeyeser](https://github.com/tinyeyeser), -- Senior [vito-L](https://github.com/vito-L), -- Senior [jasminepeng](https://github.com/jasminepeng), -- Senior [willqian](https://github.com/willqian), -- Senior [vizv](https://github.com/vizv), -- [runningwater](https://github.com/runningwater), -- [luoxcat](https://github.com/Luoxcat), -- [Vic020](https://github.com/Vic020), -- [KayGuoWhu](https://github.com/KayGuoWhu), -- [alim0x](https://github.com/alim0x), -- [ZTinoZ](https://github.com/ZTinoZ), -- [2q1w2007](https://github.com/2q1w2007), -- [flsf](https://github.com/flsf), -- [blueabysm](https://github.com/blueabysm), -- [barney-ro](https://github.com/barney-ro), -- [su-kaiyao](https://github.com/su-kaiyao), -- [crowner](https://github.com/crowner), -- [Linchenguang](https://github.com/Linchenguang), -- [Linux-pdz](https://github.com/Linux-pdz), -- [linuhap](https://github.com/linuhap), -- [yechunxiao19](https://github.com/yechunxiao19), -- [woodboow](https://github.com/woodboow), -- [SPccman](https://github.com/SPccman), -- [disylee](https://github.com/disylee), -- [cvsher](https://github.com/cvsher), -- [ThomazL](https://github.com/ThomazL), -- [Stevearzh](https://github.com/Stevearzh), -- [felixonmars](https://github.com/felixonmars), -- [scusjs](https://github.com/scusjs), -- [johnhoow](https://github.com/johnhoow), -- [hyaocuk](https://github.com/hyaocuk), -- [MikeCoder](https://github.com/MikeCoder), -- [theo-l](https://github.com/theo-l), -- [wangjiezhe](https://github.com/wangjiezhe), -- [jiajia9linuxer](https://github.com/jiajia9linuxer), -- [NearTan](https://github.com/NearTan), -- [l3b2w1](https://github.com/l3b2w1), -- [shipsw](https://github.com/shipsw), -- [boredivan](https://github.com/boredivan), -- [Love-xuan](https://github.com/Love-xuan), -- [JonathanKang](https://github.com/JonathanKang), -- [luoyutiantang](https://github.com/luoyutiantang), -- [owen-carter](https://github.com/owen-carter), -- [icybreaker](https://github.com/icybreaker), -- [tenght](https://github.com/tenght), -- [rogetfan](https://github.com/rogetfan), -- [liuaiping](https://github.com/liuaiping), -- [nd0104](https://github.com/nd0104), -- [szrlee](https://github.com/szrlee), -- [lfzark](https://github.com/lfzark), -- [ggaaooppeenngg](https://github.com/ggaaooppeenngg), -- [CNprober](https://github.com/CNprober), -- [coloka](https://github.com/coloka), -- [213edu](https://github.com/213edu), -- [guodongxiaren](https://github.com/guodongxiaren), -- [Tanete](https://github.com/Tanete), -- [zzlyzq](https://github.com/zzlyzq), -- [yujianxuechuan](https://github.com/yujianxuechuan), -- [ailurus1991](https://github.com/ailurus1991), -- [FineFan](https://github.com/FineFan), -- [shaohaolin](https://github.com/shaohaolin), -- [tomatoKiller](https://github.com/tomatoKiller), -- [CHINAANSHE](https://github.com/CHINAANSHE), -- [stduolc](https://github.com/stduolc), -- [Maclauring](https://github.com/Maclauring), -- [Hao-Ding](https://github.com/Hao-Ding), -- [zsJacky](https://github.com/zsJacky), -- [small-Wood](https://github.com/small-Wood), -- [cereuz](https://github.com/cereuz), -- [lijhg](https://github.com/lijhg), -- [fbigun](https://github.com/fbigun), +目前 TP 活跃成员有: +- CORE @wxy, +- CORE @carolinewuyan, +- CORE @DeadFire, +- CORE @geekpi, +- CORE @GOLinux, +- CORE @reinoir, +- CORE @bazz2, +- CORE @zpl1025, +- Senior @tinyeyeser, +- Senior @vito-L, +- Senior @jasminepeng, +- Senior @willqian, +- Senior @vizv, +- @ZTinoZ, +- @Vic020, +- @runningwater, +- @KayGuoWhu, +- @luoxcat, +- @alim0x, +- @2q1w2007, +- @theo-l, +- @ictlyh, +- @FSSlc, +- @su-kaiyao, +- @blueabysm, +- @flsf, +- @martin2011qi, +- @SPccman, +- @wi-cuckoo, +- @Linchenguang, +- @linuhap, +- @crowner, +- @Linux-pdz, +- @H-mudcup, +- @yechunxiao19, +- @woodboow, +- @Stevearzh, +- @disylee, +- @cvsher, +- @wwy-hust, +- @johnhoow, +- @felixonmars, +- @TxmszLou, +- @shipsw, +- @scusjs, +- @wangjiezhe, +- @hyaocuk, +- @MikeCoder, +- @ZhouJ-sh, +- @boredivan, +- @goreliu, +- @l3b2w1, +- @JonathanKang, +- @NearTan, +- @jiajia9linuxer, +- @Love-xuan, +- @coloka, +- @owen-carter, +- @luoyutiantang, +- @JeffDing, +- @icybreaker, +- @tenght, +- @liuaiping, +- @mtunique, +- @rogetfan, +- @nd0104, +- @mr-ping, +- @szrlee, +- @lfzark, +- @CNprober, +- @DongShuaike, +- @ggaaooppeenngg, +- @haimingfg, +- @213edu, +- @Tanete, +- @guodongxiaren, +- @zzlyzq, +- @FineFan, +- @yujianxuechuan, +- @Medusar, +- @shaohaolin, +- @ailurus1991, +- @liaoishere, +- @CHINAANSHE, +- @stduolc, +- @yupmoon, +- @tomatoKiller, +- @zhangboyue, +- @kingname, +- @KevinSJ, +- @zsJacky, +- @willqian, +- @Hao-Ding, +- @JygjHappy, +- @Maclauring, +- @small-Wood, +- @cereuz, +- @fbigun, +- @lijhg, +- @soooogreen, -(更新于2014/12/02,以Github contributors列表排名) +LFS 项目活跃成员有: + +- @ictlyh +- @dongfengweixiao +- @wxy +- @H-mudcup +- @zpl1025 +- @KevinSJ +- @Yuking-net + +(更新于2015/05/31,以Github contributors列表排名) 谢谢大家的支持! diff --git a/published/20150126 Installing Cisco Packet tracer in Linux.md b/published/20150126 Installing Cisco Packet tracer in Linux.md new file mode 100644 index 0000000000..578f65f756 --- /dev/null +++ b/published/20150126 Installing Cisco Packet tracer in Linux.md @@ -0,0 +1,187 @@ +Linux中安装Cisco Packet Tracer +================================================================================ +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/Main_picture.png) + +### Cisco Packet tracer是什么? ### + +**Cisco Packet Tracer**是一个强大的网络模拟工具,用于进行Cisco认证时的培训。它为我们提供了各个路由器和网络设备的良好的接口视图,这些模拟设备带有很多选项,跟使用物理机一样,我们可以在网络中使用无限的设备。我们能在单个工程中创建多个网络,以获得专业化的训练。Packet Tracer将提供给我们模拟的应用层协议,如**HTTP**,**DNS**,以及像**RIP**,**OSPF**,**EIGRP**等路由协议。 + +现在,它发布了包含有**ASA 5505防火墙**命令行配置的版本。Packet Tracer通常用于Windows版本,但没有Linux版本。这里,我们可以下载并安装Cisco Packet Tracer。 + +#### 新发布的Cisco Packet Tracer版本: #### + +下一代Cisco Packet Tracer版本将会是Cisco Packet Tracer 6.2,当前还处于开发中。 + +### 我的环境设置: ### + +**主机名** : desktop1.unixmen.com + +**IP地址** : 192.168.0.167 + +**操作系统** : Ubuntu 14.04 LTS Desktop + + # hostname + + # ifconfig | grep inet + + # lsb_release -a + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_001.png) + +### 步骤 1: 首先,我们需要下载Cisco Packet Tracer。 ### + +要从官方网站下载Packet Tracer,我们需要持有一个令牌,登入Cisco NetSpace,然后从Offering菜单选择CCNA > Cisco Packet Tracer来开始下载。如果我们没有令牌,可以从下面的链接中获得,我已经将它上传到了Droppox。 + +官方站点: [https://www.netacad.com/][1] + +大多数人没有下载Packet Tracer的令牌,出于该原因,我已经将它上传到了dropbox,你可以从下面的URL获得Packet Tracer。 + +[下载Cisco Packet Tracer 6.1.1][2] + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_002.png) + +### 步骤 2: 安装Java: ### + +要安装Packet Tracer,我们需要安装java。我们可以使用默认的仓库安装java;或者添加PPA仓库,然后更新包缓存来安装java。 + +使用以下命令来安装默认的jre + + # sudo apt-get install default-jre + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_003.png) + +(或者) + +使用下面的步骤来安装Java Run-time并设置环境。 + +从官方站点下载Java:[下载Java][3] + + # tar -zxvf jre-8u31-linux-x64.tar.gz + # sudo mkdir -p /usr/lib/jvm + # sudo mv -v jre1.8.0_31 /usr/lib/jvm/ + # cd /usr/lib/jvm/ + # sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_31/bin/java" 1 + # sudo update-alternatives --set "java" "/usr/lib/jvm/jre1.8.0_31/bin/java" + +通过编辑用户参数文件来设置Java环境,并添加路径相关的参数。当我们添加进用户参数文件后,我们机器上的每个用户都可以用java了。 + + # sudo vi /etc/profile + +将以下条目添加到/etc/profile文件中: + + export JAVA_HOME=/usr/lib/jvm/jre1.8.0_31 + export PATH=$PATH:/usr/java/jre1.8.0_31/bin + +运行以下命令来立即激活java路径。 + + # . /etc/profile + +检查Java版本和环境: + + # echo $JAVA_HOME + # java -version + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_004.png) + +### 步骤 3: 启用32位架构支持: ### + +对于Packet Tracer,我们需要一些32位包。要安装32位包,我们需要使用以下命令来安装一些依赖。 + + # sudo dpkg --add-architecture i386 + # sudo apt-get update + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_005.png) + + # sudo apt-get install libc6:i386 + # sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 + # sudo apt-get install libnss3-1d:i386 libqt4-qt3support:i386 libssl1.0.0:i386 libqtwebkit4:i386 libqt4-scripttools:i386 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_006.png) + +### 步骤 4: 解压并安装软件包: ### + +使用tar命令来解压下载的包。 + + # mv Cisco\ Packet\ Tracer\ 6.1.1\ Linux.tar.gz\?dl\=0 Cisco_Packet_tracer.tar.gz + + # tar -zxvf Cisco_Packet_tracer.tar.gz + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_007.png) + +导航到解压后的目录 + + # cd PacketTracer611Student + +现在,该开始安装了。安装过程很简单,只需几秒钟即可搞定。 + + # sudo ./install + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_008.png) + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_009.png) + +要使用Packet Tracer工作,我们需要设置环境,Cisco已经提供了环境脚本,我们需要以root用户来运行该脚本以设置环境变量。 + + # sudo ./set_ptenv.sh + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_010.png) + +安装到此结束。接下来,我们需要为Packet Tracer创建桌面图标。 + +通过创建下面的桌面文件来创建桌面图标。 + + # sudo su + # cd /usr/share/applications + # sudo vim packettracer.desktop + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_011.png) + +使用vim编辑器或你喜爱的那个编辑器来添加以下内容到文件。 + + [Desktop Entry] + Name= Packettracer + Comment=Networking + GenericName=Cisco Packettracer + Exec=/opt/packettracer/packettracer + Icon=/usr/share/icons/packettracer.jpeg + StartupNotify=true + Terminal=false + Type=Application + +使用wq!来保存并退出vim。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_012.png) + +### 步骤 5: 运行Packet Tracer ### + + # sudo packettracer + +好了,我们已经成功将Packet Tracer安装到Linux中。上述安装步骤适用于所有基于Debian的Linux发行版。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_013.png) + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/pkt_014.png) + +### 资源 ### + +主页:[Netacad][4] + +### 尾声: ### + +这里,我们展示了如何安装Packet Tracer到Linux发行版中。希望你们找到了将你们所钟爱的模拟器安装到Linux中的方法。 + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/installing-cisco-packet-tracer-linux/ + +作者:[babin][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.unixmen.com/author/babin/ +[1]:https://www.netacad.com/ +[2]:https://www.dropbox.com/s/5evz8gyqqvq3o3v/Cisco%20Packet%20Tracer%206.1.1%20Linux.tar.gz?dl=0 +[3]:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html +[4]:https://www.netacad.com/ diff --git a/published/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md b/published/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md index 1fa38d9079..31d432f445 100644 --- a/published/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md +++ b/published/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md @@ -1,62 +1,61 @@ -iptraf:一个实用的TCP/UDP网络监控工具 +iptraf:TCP/UDP网络监控工具 ================================================================================ +[iptraf][1]是一个基于ncurses开发的IP局域网监控工具,它可以生成各种网络统计数据,包括TCP信息、UDP统计、ICMP和OSPF信息、以太网负载信息、节点统计、IP校验和错误和其它一些信息。 -[iptraf][1]是一个基于ncurses的IP局域网监控器,用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据。 +它基于ncurses的用户界面也会把使用者从命令行选项的梦靥中拯救出来。 -它基于ncurses的用户界面可以使用户免于记忆繁琐的命令行开关。 +### 功能 ### -### 特征 ### +- 一个用于显示通过网络的IP流量信息的IP流量监控器,包括TCP标识信息、包和字节统计、ICMP详情、OSPF包类型 +- 显示IP、TCP、UDP、ICMP、非IP和其它IP包计数、IP校验和错误、接口活动、包大小计数的综合详细的接口统计数据 +- 一个用于计数常用TCP和UDP应用端口的流入和流出包的TCP和UDP服务监控器 +- 一个用于发现活动主机和显示这些活动主机的数据活动的局域网统计模块 +- TCP、UDP和其它协议的显示过滤器,允许你查看你做感兴趣的流量 +- 日志记录 +- 支持以太网、FDDI、ISDN、SLIP、PPP和回环接口类型 +- 利用Linux内核内建的原生套接口界面,可以用于大范围支持的网卡 +- 全屏、菜单驱动操作 -- IP流量监控器,用来显示你的网络中的IP流量变化信息。包括TCP标识信息、包以及字节计数,ICMP细节,OSPF包类型。 -- 简单的和详细的接口统计数据,包括IP、TCP、UDP、ICMP、非IP以及其他的IP包计数、IP校验和错误,接口活动、包大小计数。 -- TCP和UDP服务监控器,能够显示常见的TCP和UDP应用端口上发送的和接收的包的数量。 -- 局域网数据统计模块,能够发现在线的主机,并显示其上的数据活动统计信息。 -- TCP、UDP、及其他协议的显示过滤器,允许你只查看感兴趣的流量。 -- 日志功能。 -- 支持以太网、FDDI、ISDN、SLIP、PPP以及本地回环接口类型。 -- 利用Linux内核内置的原始套接字接口,允许它(指iptraf)能够用于各种支持的网卡上 -- 全屏,菜单式驱动的操作。 +###要安装### -###安装方法### - -**Ubuntu以及其衍生版本** +**Ubuntu及其衍生版** sudo apt-get install iptraf -**Arch Linux以及其衍生版本** +**Arch Linux及其衍生版** sudo pacman -S iptra -**Fedora以及其衍生版本** +**Fedora及其衍生版** sudo yum install iptraf ### 用法 ### -如果不加任何命令行选项地运行**iptraf**命令,程序将进入一种交互模式,通过主菜单可以访问多种功能。 +如果**iptraf**命令不带任何命令行选项执行,该程序就会以交互模式显现,可以通过主菜单获得各种各样的工具。 ![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_1.png) -简易的上手导航菜单。 +易于导航的菜单。 ![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_2.png) -选择要监控的接口。 +选择监控的接口。 ![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_3.png) -接口**ppp0**处的流量。 +来自**ppp0**接口的流量 ![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_4.png) -试试吧! +希望你喜欢。 -------------------------------------------------------------------------------- via: http://www.unixmen.com/iptraf-tcpudp-network-monitoring-utility/ 作者:[Enock Seth Nyamador][a] -译者:[DongShuaike](https://github.com/DongShuaike) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md b/published/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md new file mode 100644 index 0000000000..a4ca97ed5a --- /dev/null +++ b/published/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md @@ -0,0 +1,70 @@ +在 Linux 下体验谷歌 Material风格的GTK和图标主题Paper +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Paper_theme_Material_Design.jpg) + +[Paper][1]是一款即将与广大朋友们见面的一个图形工具包和图标主题,它的设计灵感来自于谷歌的设计语言[Material风格][2]。Paper由Sam Hewitt发起,Sam是[Moka项目][3]的一员,Moka总会设计出[让人满意的Ubuntu主题][4]。对于Paper,我敢说只要它一经推出,它必将是[最好的GTK主题开发包][5]之一。 + +对的,你没有听错,Paper主题还在开发阶段。因此我建议,如果你想在你的Ubuntu或者它的衍生版本上安装Paper,最好抱着试一试的实验心态。因为你多多少少会发现一些破损的图标,但这并不影响整体体验非常棒! + +### 通过PPA在Ubuntu及其衍生版本上安装Paper主题 ### + +Sam为Ubuntu和它的衍生版本设置了一个专用的PPA(Presonal Package Archives,个人软件包档案)。我推荐你通过PPA安装而不是下载Paper主题,因为你将会定期更新主题。这个PPA可供使用的系统有Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04, Elementary OS Freya, Elementary OS Luna, Linux Mint 17, Linux Mint 16 和其它的Ubuntu衍生版本。 + +打开终端,输入下列命令: + + sudo add-apt-repository ppa:snwh/pulp + sudo apt-get update + sudo apt-get install paper-gtk-theme paper-icon-theme + +### 下载Paper GTK和图标主题 ### + + +如果你不想用PPA,你可以手动下载主题和图标。但是就像刚才所说,这样你就无法自动更新。 + +- [下载Paper图标主题][6] +- [下载Paper的GTK主题][7] + +#### 把它们用起来吧 #### + +我希望你知道怎么在你的Ubuntu中安装或者更改主题。如果你不知道,下面几个教程将帮助你安装一个新的主题。 + +- [如何在标准Ubuntu中更改主题][8] +- [如何在GNOME Shell中更改主题][9] +- [如何在Ubuntu Mint中更改主题][10] +- [如何在Elementary OS Freya中更改主题][11] + +#### 就是这样! #### + +因为我用过[Elementary OS Freya][12]一段时间,这里有一些看起来像Elementary OS Freya的Paper主题和图标的截图。我使用了一张Material Design风格的墙纸,这样可以更好的匹配主题和图标。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Material_Design_Paper_Theme_Elementary_OS_Freya_1.jpeg) + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Material_Design_Paper_Theme_Elementary_OS_Freya.jpeg) + +How do you find this Material design inspired theme? If you did use it, do share the screenshot of your desktop with rest of us here. + +你觉得这个Material风格的主题怎么样?如果你使用它的话,在评论里和我们分享你的桌面截图吧! + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/install-paper-theme-linux/ + +作者:[Abhishek][a] +译者:[sevenot](https://github.com/sevenot) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/abhishek/ +[1]:http://snwh.org/paper/ +[2]:http://www.google.fr/design/spec/material-design/introduction.html +[3]:http://mokaproject.com/moka-icon-theme/ +[4]:http://itsfoss.com/best-icon-themes-ubuntu-1404/ +[5]:http://itsfoss.com/gnome-shell-themes-ubuntu-1404/ +[6]:https://github.com/snwh/paper-icon-theme +[7]:https://github.com/snwh/paper-gtk-theme +[8]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/ +[9]:http://itsfoss.com/install-switch-themes-gnome-shell/ +[10]:http://itsfoss.com/install-icon-linux-mint/ +[11]:http://itsfoss.com/install-themes-icons-elementary-os-freya/ +[12]:http://itsfoss.com/tag/elementary-os-freya/ diff --git a/published/20150310 FAQ--BSD.md b/published/20150310 FAQ--BSD.md new file mode 100644 index 0000000000..e9f3d8fedb --- /dev/null +++ b/published/20150310 FAQ--BSD.md @@ -0,0 +1,78 @@ +BSD 的那些事 +================================================================================ +![](http://www.linuxvoice.com/wp-content/uploads/2015/02/faq1-large1.png) + +### 假如历史稍有不同,今天你将听到的是“FreeBSD之声”... ### +(LCTT 译注:本文来自“Linux之声(LinuxVoice)”。) + +#### 那么,这个Birsa Seva Dal是怎么回事呢?难道不是一个印度的政治组织么? #### + +真有趣,您查阅了维基百科上“BSD”的消除分歧页面是为了讲上面这个笑话,对么?这里我们在讨论伯克利软件发行版(Berkeley Software Distribution),一个比您想象中用的更广泛的操作系统家族。 + +#### 抱歉,我有点 Hold 不住自己。那么,这些操作系统是怎么回事呢? #### + +今天,主要使用的BSD操作系统有三种。他们都基于Unix,他们都开源,并且大多担任服务器的角色,但也能当作优秀的桌面和工作站。他们运行KDE,Firefox,LibreOffice,Apache,MySQL和许多你能说得出名字的开源软件。它们都很稳定、安全、支持许多不同的硬件。 + +#### 真棒!你刚才在描述GNU/Linux吧 #### + +是的,Linux拥有我刚才提到的所有东西,这也是为什么很多人从来不讨论BSD。在日常的使用中,Linux和BSD并没有太多的不同,这主要是因为他们都以Unix为基础,并共用很多软件。您可以登录进远程主机,在Vim中写一些Python代码,使用Mutt检查您的email,您可能并未意识到您在使用BSD。或许您在咖啡馆里正通过网络终端使用它,但不知道他是BSD。 + +两者最大的区别在于开发模式和许可证,为了解这些,我们需要回到过去。在BSD中,B代表着加利福尼亚大学伯克利分校(University of California, Berkeley),在1980年代,那里是开源的Unix软件的发源地。到了90年代,基于x86的PC变得流行,许多人对在他们的家庭电脑中安装Unix类操作系统产生了兴趣。1992年,一个叫做386BSD的项目在那时发布,提供了上述功能。 + +#### 那么,所有的Linux发行版那个时候在哪里呢? #### + +问得好!您也许知道这一年的前一年(1991),Linus Torvalds已经发布了他的内核,当它与GNU项目结合时,变成了完整的开源操作系统。Linus那时也在关注GNU的内核(Hurd)和386BSD,并且他说过,如果那时两个内核有一个可以正常使用,他可能就不会创造Linux了。所以,90年代的头几年,开源操作系统生机勃勃,没有人知道哪个系统会最终胜出。 + +接下来,BSD遇到了一些麻烦。Unix最初的开发方AT&T试图从他们在操作系统方面的付出中获得一些利益,他们声称BSD侵犯了他们的知识产权。此事最终以1992年的一桩诉讼结束,它极大的抑制了BSD的开发进程。其结果就是,许多BSD源码必须重写,与此同时,GNU/Linux已经丰富了功能,变得稳定和流行了。 + +在90年代早期,BSD被认为比GNU/Linux更加成熟,如果没有那些法律麻烦,他可能已经成为了x86 PC的标准了。今天,我们可能都在使用它而不是Linux。 + +#### 但你提到BSD仍然被广泛的使用,所以它后来有提升么? #### + +是的。386BSD的开发停滞了,但有两只开发团队通过互联网协作并创造了两个独立的成功的项目。FreeBSD成为了使用最广泛的BSD版本,它目前是和Linux最相似的系统,包括桌面和服务器版本。而NetBSD则聚焦于可移植性(今天它可以运行在超过50种不同平台上,均基于同样的代码版本)。另一个版本是OpenBSD,它在NetBSD开始不久就因为开发者的口角而作为NetBSD的分支诞生了,今天,它以专注于安全闻名。多年以来,OpenBSD创建了许多程序,它们都成了Linux的标准部分,比如说OpenSSH - 甚至,现在我们还有了LibreSSL。 + +#### 所以,这三种版本的BSD和Linux发行版相似么? #### + +也是也不是,每个BSD版本都有自己的代码库、不同的开发团队。尽管他们间有许多共用的代码(尤其是硬件驱动)。但他们是各自拥有其特色、优点和缺点的相互独立的操作系统。 + +我们提到过,BSD的开发模式是他们真正和GNU/Linux区别的重要特点。在GNU/Linux中没有人对其整体进行掌控:一些团队在GNU组件方面工作,一些团队在开发内核,一些在开发启动脚本,一些在写手册,一些在写库等等。这样的开发模式通常被称作缺少中央权利的“荒蛮的美国西部”,由发行版负责将所有的东西各自锲合。 + +而BSD则相反,它们从中央化的源代码树中开发并作为一个整体。内核、库、系统组件和文档页都存在一个地方,且以同样的方式使用。许多BSD粉丝声称,这个特点给了操作系统更多的一致性和稳定性。通过我这些年使用BSD的经验来看,我们可以证明手册页已经变得非常完备。 + +![](http://www.linuxvoice.com/wp-content/uploads/2015/02/faq2-large1.png) + +#### 难道BSD没有使用GNU/Linux的任何东西么? #### + +是的,但除了GCC。几十年来,GNU Compiler Collection已经成为了实际上的Unix系统标准编译器,但FreeBSD最近已经转而使用LLVM/Clang了。值得注意的是BSD还是用了一些其他的开源项目,但它们并属于GNU或者Linux,比如说X Window System(XFree86和X.org)、Perl等等。并且幸亏有像POSIX一样的标准,许多运行在Linux上的程序可以在BSD的许多版本上编译和运行。 + +因此,您可以把LAMP(Linux、Apache、MySQL和PHP)中的L改成FreeBSD,这样可以获得几乎同样的环境,以及一些不同的特性(例如,在文件系统和驱动支持方面)。FreeBSD有一些大型、海量的用户,例如Netflix,每天提供海量的数据。尽管FreeBSD可以做为一个不错的桌面环境,但它的长处在于服务器方面,它拥有超乎寻常的可靠性和网络性能。 + +OpenBSD更倾向用于安全性十分必要的场合,如小型Web服务、文件托管、防火墙和网关。NetBSD是BSD主要发行版中最不流行的一个,它能运行在几乎所有平台上,包括古老的Amigas和Acorn boxes,有时您可以在闭源的网络设备中找到它的身影。 + +#### 等等,怎么会有人将开源代码闭源呢?那在Linux中是不合适的 #### + +对的,这里我们谈到了它与GNU/Linux的主要不同。BSD版本的许可证(很有趣,就叫做BSD许可证)非常不同于我们所知的GPL。对于新手来说,BSD更简短。BSD许可证主要内容是:对这份代码做你想做的事,但要保留它的初始开发者的荣誉,并且如果它搞坏你的电脑时不要提出诉讼。 + +因此,该许可证中没有任何条款强制代码开源,不像GPL,它要求使用这份代码的用户将他们的修改也开源。这一重要的不同引起了互联网上无数的激烈讨论,BSD的粉丝们说他们的许可证更加自由(因为它不那么严格),而GNU/GPL的粉丝说他们的证书才更自由(因为它保留了真正的自由) + +#### 啊呀,不管怎么说,你已经引起了我的兴趣,我在哪里能尝试这些可爱的BSD版本呢? #### + +您大概已经可以猜到这些网站了 – [www.openbsd.org][1]、[www.freebsd.org][2]、[www.netbsd.org][3]。在那里,您可以下载ISO镜像,在VirtualBox中启动它们,然后开始玩耍。如果您已经用了一段时间的Linux,你就会发现这并不难,虽然您需要了解命令行。如果您在寻找一些对新手更加友好的东西,可以试试PC-BSD,PC-BSD([www.pcbsd.org][4])是一个基于FreeBSD的个性化定制版本,它专注于桌面,有美观的图形化安装器和超级简单的软件管理器。 + +祝你玩的愉快! + +-------------------------------------------------------------------------------- + +via: http://www.linuxvoice.com/faq-bsd-2/ + +作者:[Mike Saunders][a] +译者:[wwy-hust](https://github.com/wwy-hust) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.linuxvoice.com/author/mike/ +[1]:http://www.openbsd.org/ +[2]:http://www.freebsd.org/ +[3]:http://www.netbsd.org/ +[4]:http://www.pcbsd.org/ diff --git a/translated/tech/20150323 How to set up networking between Docker containers.md b/published/20150323 How to set up networking between Docker containers.md similarity index 76% rename from translated/tech/20150323 How to set up networking between Docker containers.md rename to published/20150323 How to set up networking between Docker containers.md index 3481dd8faa..6d8434041e 100644 --- a/translated/tech/20150323 How to set up networking between Docker containers.md +++ b/published/20150323 How to set up networking between Docker containers.md @@ -12,13 +12,13 @@ ![](https://farm8.staticflickr.com/7288/16662287067_27888684a7_b.jpg) -让我们先来看看 weave 怎么工作:先创建一个由多个 peer 组成的对等网络,每个 peer 是一个虚拟路由器容器,叫做“weave 路由器”,它们分布在不同的宿主机上。这个对等网络的每个 peer 之间会维持一个 TCP 链接,用于互相交换拓扑信息,它们也会建立 UDP 链接用于容器间通信。一个 weave 路由器通过桥接技术连接到其他本宿主机上的其他容器。当处于不同宿主机上的两个容器想要通信,一台宿主机上的 weave 路由器通过网桥截获数据包,使用 UDP 协议封装后发给另一台宿主机上的 weave 路由器。 +让我们先来看看 weave 怎么工作:先创建一个由多个 peer 组成的对等网络,每个 peer 是一个虚拟路由器容器,叫做“weave 路由器”,它们分布在不同的宿主机上。这个对等网络的每个 peer 之间会维持一个 TCP 链接,用于互相交换拓扑信息,它们也会建立 UDP 链接用于容器间通信。一个 weave 路由器通过桥接技术连接到本宿主机上的其他容器。当处于不同宿主机上的两个容器想要通信,一台宿主机上的 weave 路由器通过网桥截获数据包,使用 UDP 协议封装后发给另一台宿主机上的 weave 路由器。 -每个 weave 路由器会刷新整个对等网络的拓扑信息,像容器的 MAC 地址(就像交换机的 MAC 地址学习一样获取其他容器的 MAC 地址),因此它可以决定数据包的下一跳是往哪个容器的。weave 能让两个处于不同宿主机的容器进行通信,只要这两台宿主机在 weave 拓扑结构内连到同一个 weave 路由器。另外,weave 路由器还能使用公钥加密技术将 TCP 和 UDP 数据包进行加密。 +每个 weave 路由器会刷新整个对等网络的拓扑信息,可以称作容器的 MAC 地址(如同交换机的 MAC 地址学习一样获取其他容器的 MAC 地址),因此它可以决定数据包的下一跳是往哪个容器的。weave 能让两个处于不同宿主机的容器进行通信,只要这两台宿主机在 weave 拓扑结构内连到同一个 weave 路由器。另外,weave 路由器还能使用公钥加密技术将 TCP 和 UDP 数据包进行加密。 ### 准备工作 ### -在使用 weave 之前,你需要在所有宿主机上安装 Docker[2] 环境,参考[这些][3][教程][4],在 Ubuntu 或 CentOS/Fedora 发行版中安装 Docker。 +在使用 weave 之前,你需要在所有宿主机上安装 [Docker][2] 环境,参考[这些][3][教程][4],在 Ubuntu 或 CentOS/Fedora 发行版中安装 Docker。 Docker 环境部署完成后,使用下面的命令安装 weave: @@ -26,7 +26,7 @@ Docker 环境部署完成后,使用下面的命令安装 weave: $ chmod a+x weave $ sudo cp weave /usr/local/bin -注意你的 PATH 环境变量要包含 /usr/local/bin 这个路径,请在 /etc/profile 文件中加入一行(LCTT 注:要使环境变量生效,你需要执行这个命令: src /etc/profile): +注意你的 PATH 环境变量要包含 /usr/local/bin 这个路径,请在 /etc/profile 文件中加入一行(LCTT 译注:要使环境变量生效,你需要执行这个命令: source /etc/profile): export PATH="$PATH:/usr/local/bin" @@ -34,15 +34,15 @@ Docker 环境部署完成后,使用下面的命令安装 weave: Weave 在 TCP 和 UDP 上都使用 6783 端口,如果你的系统开启了防火墙,请确保这两个端口不会被防火墙挡住。 -### 在每台宿主机上开启 Weave 路由器 ### +### 在每台宿主机上启动 Weave 路由器 ### -当你想要让处于在不同宿主机上的容器能够互相通信,第一步要做的就是在每台宿主机上开启 weave 路由器。 +当你想要让处于在不同宿主机上的容器能够互相通信,第一步要做的就是在每台宿主机上启动 weave 路由器。 -第一台宿主机,运行下面的命令,就会创建并开启一个 weave 路由器容器(LCTT 注:前面说过了,weave 路由器也是一个容器): +第一台宿主机,运行下面的命令,就会创建并开启一个 weave 路由器容器(LCTT 译注:前面说过了,weave 路由器也是一个容器): $ sudo weave launch -第一次运行这个命令的时候,它会下载一个 weave 镜像,这会花一些时间。下载完成后就会自动运行这个镜像。成功启动后,终端会打印这个 weave 路由器的 ID 号。 +第一次运行这个命令的时候,它会下载一个 weave 镜像,这会花一些时间。下载完成后就会自动运行这个镜像。成功启动后,终端会输出这个 weave 路由器的 ID 号。 下面的命令用于查看路由器状态: @@ -52,7 +52,7 @@ Weave 在 TCP 和 UDP 上都使用 6783 端口,如果你的系统开启了防 第一个 weave 路由器就绪了,目前为止整个 peer 对等网络中只有一个 peer 成员。 -你也可以使用 doceker 的命令来查看 weave 路由器的状态: +你也可以使用 docker 的命令来查看 weave 路由器的状态: $ docker ps @@ -66,7 +66,7 @@ Weave 在 TCP 和 UDP 上都使用 6783 端口,如果你的系统开启了防 ![](https://farm8.staticflickr.com/7608/16868571891_e66d4b8841_c.jpg) -当你开启更多路由器,这个 peer 成员列表会更长。当你新开一个路由器时,要指定前一个宿主机的 IP 地址,请注意不是第一个宿主机的 IP 地址。 +当你开启更多路由器,这个 peer 成员列表会更长。当你新开一个路由器时,要指定前一个宿主机的 IP 地址,请注意不是第一个宿主机的 IP 地址(LCTT 译注:链状结构)。 现在你已经有了一个 weave 网络了,它由位于不同宿主机的 weave 路由器组成。 @@ -82,7 +82,7 @@ Weave 在 TCP 和 UDP 上都使用 6783 端口,如果你的系统开启了防 hostA:~$ sudo weave run 10.0.0.1/24 -t -i ubuntu -成功运行后,终端会打印出容器的 ID 号。你可以使用这个 ID 来访问这个容器: +成功运行后,终端会显示出容器的 ID 号。你可以使用这个 ID 来访问这个容器: hostA:~$ docker attach @@ -124,7 +124,7 @@ weave 提供了一些非常巧妙的特性,我在这里作下简单的介绍 ![](https://farm8.staticflickr.com/7639/16247212144_c31a49714d_c.jpg) -现在这个容器可以与 10.10.0.0/24 网络上的其它容器进行通信了。当你要把容器加入一个网络,而这个网络暂时不可用时,上面的步骤就很有帮助了。 +现在这个容器可以与 10.10.0.0/24 网络上的其它容器进行通信了。这在当你创建一个容器而网络信息还不确定时就很有帮助了。 #### 将 weave 网络与宿主机网络整合起来 #### @@ -134,13 +134,13 @@ weave 提供了一些非常巧妙的特性,我在这里作下简单的介绍 hostA:~$ sudo weave expose 10.0.0.100/24 -这个命令把 IP 地址 10.0.0.100 分配给宿主机 hostA,这样一来 hostA 也连到了 10.0.0.0/24 网络上了。很明显,你在为宿主机选择 IP 地址的时候,需要选一个没有被其他容器使用的地址。 +这个命令把 IP 地址 10.0.0.100 分配给宿主机 hostA,这样一来宿主机 hostA 也连到了 10.0.0.0/24 网络上了。显然,你在为宿主机选择 IP 地址的时候,需要选一个没有被其他容器使用的地址。 现在 hostA 就可以访问 10.0.0.0/24 上的所有容器了,不管这些容器是否位于 hostA 上。好巧妙的设定啊,32 个赞! ### 总结 ### -如你所见,weave 是一个很有用的 docker 网络配置工具。这个教程只是[它强悍功能][5]的冰山一角。如果你想进一步玩玩,你可以试试它的以下功能:多跳路由功能,这个在 multi-cloud 环境(LCTT 注:多云,企业使用多个不同的云服务提供商的产品,比如 IaaS 和 SaaS,来承载不同的业务)下还是很有用的;动态重路由功能是一个很巧妙的容错技术;或者它的分布式 DNS 服务,它允许你为你的容器命名。如果你决定使用这个好东西,欢迎分享你的使用心得。 +如你所见,weave 是一个很有用的 docker 网络配置工具。这个教程只是它[强悍功能][5]的冰山一角。如果你想进一步玩玩,你可以试试它的以下功能:多跳路由功能,这个在 multi-cloud 环境(LCTT 译注:多云,企业使用多个不同的云服务提供商的产品,比如 IaaS 和 SaaS,来承载不同的业务)下还是很有用的;动态重路由功能是一个很巧妙的容错技术;或者它的分布式 DNS 服务,它允许你为你的容器命名。如果你决定使用这个好东西,欢迎分享你的使用心得。 -------------------------------------------------------------------------------- diff --git a/translated/tech/20150326 A Peep into Process Management Commands in Linux.md b/published/20150326 A Peep into Process Management Commands in Linux.md similarity index 53% rename from translated/tech/20150326 A Peep into Process Management Commands in Linux.md rename to published/20150326 A Peep into Process Management Commands in Linux.md index f8c92f871d..705ec14d6d 100644 --- a/translated/tech/20150326 A Peep into Process Management Commands in Linux.md +++ b/published/20150326 A Peep into Process Management Commands in Linux.md @@ -1,46 +1,44 @@ -12个进程管理命令 +12个进程管理命令介绍 ================================================================================ -每个程序在执行时叫进程。当程序是在存储中是可执行文件并且运行的时候,每个进程会被动态得分配系统资源,内存,安全属性和与之相关的状态。可以有多个进程关联同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。 +执行中的程序在称作进程。当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。 为了管理这些进程,用户应该能够: - 查看所有运行中的进程 - 查看进程消耗资源 -- 定位个别进程并且可以执行指定动作 +- 定位个别进程并且对其执行指定操作 - 改变进程的优先级 - 杀死指定进程 -- 限制进程的有效系统资源 -- 等 +- 限制进程可用的系统资源等 -Linux提供了许多命令给用户来高效掌控上述的操作。接下来,一个一个的来讲解下。 +Linux提供了许多命令来让用户来高效掌控上述的操作。接下来,一个一个的来讲解下。 ### 1. ps ### -'ps'是最基础浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号,命令,CPU使用量,内存使用量等。下述选项可以得到更多有用的消息。 +'ps'是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。下述选项可以得到更多有用的消息。 ps -a - 列出所有运行中/激活进程 ![Output of "ps -a" command](http://blog.linoxide.com/wp-content/uploads/2015/02/ps-a2.png) ps -ef |grep - 列出需要进程 - - ps -aux - 展示进程包括、终端(x)和用户(u)信息,如USER, PID, %CPU, %MEM等 + ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等 ### 2. pstree ### -linux中,每一个进程都是由父进程创建的。此命令帮助可视化进程,通过显示进程树状图表展示进程间关系。如果使用pid了,那么树的根是pid。不然将会是init。 +linux中,每一个进程都是由其父进程创建的。此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1)。 ![pstree](http://blog.linoxide.com/wp-content/uploads/2015/02/pstree.png) ### 3. top ### -‘top’是一个更加有用的命令,通过不同的进程所使用的资源可以监视系统。它提供实时的系统状态信息。显示进程的数据包括PID,进程用户,优先值,%CPU,%memory等。可以使用这些显示指示出资源使用量。 +‘top’是一个更加有用的命令,可以监视系统中不同的进程所使用的资源。它提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory等。可以使用这些显示指示出资源使用量。 ![top](http://blog.linoxide.com/wp-content/uploads/2015/02/top.png) ### 4. htop ### -htop与top很类似,但是htop是交互式的模式进程查看器。它通过文字图像显示每一个CPU和内存使用量、swap使用量。上下键选择进程,F7和F8改变优先级,F9杀死进程。Htop不是系统默认,所以需要额外安装。 +htop与top很类似,但是htop是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。使用上下光标键选择进程,F7和F8改变优先级,F9杀死进程。Htop不是系统默认安装的,所以需要额外安装。 ![htop output](http://blog.linoxide.com/wp-content/uploads/2015/03/htop1.png) @@ -48,7 +46,7 @@ htop与top很类似,但是htop是交互式的模式进程查看器。它通过 通过nice命令的帮助,用户可以设置和改变进程的优先级。提高一个进程的优先级,内核会分配更多CPU时间片给这个进程。默认情况下,进程以0的优先级启动。进程优先级可以通过top命令显示的NI(nice value)列查看。 -进程优先级值的范围从-20到19。值越低,越优先。 +进程优先级值的范围从-20到19。值越低,优先级越高。 nice <优先值> <进程名> - 通过给定的优先值启动一个程序 @@ -56,17 +54,17 @@ htop与top很类似,但是htop是交互式的模式进程查看器。它通过 ![changed nice value of 'top'](http://blog.linoxide.com/wp-content/uploads/2015/02/top-nice.png) -上述命令例子,可以看到‘top’命令获得了-3的优先值。 +上述命令例子中,可以看到‘top’命令获得了-3的优先值。 ### 6. renice ### -renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。注意,用户只能改变属于他们的进程的优先值。 +renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。注意,用户只能改变属于他们自己的进程的优先值。 renice -n -p - 改变指定进程的优先值 ![renice command](http://blog.linoxide.com/wp-content/uploads/2015/02/renice2.png) -优先值初始化为0的3806号进程优先值已经变成了4. +初始优先值为0的3806号进程优先值已经变成了4. renice -u -g - 通过指定用户和组来改变进程优先值 @@ -76,7 +74,7 @@ renice命令类似nice命令。使用这个命令可以改变正在运行的进 ### 7. kill ### -这个命令通过发送信号结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意,使用强制杀死的时候一定要小心,因为没有机会确定是否写入完成、是否结束等。如果我们不知道进程PID或者打算用名字杀死进程时候,killall就能派上用场。 +这个命令用于发送信号来结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意,使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。如果我们不知道进程PID或者打算用名字杀死进程时候,killall就能派上用场。 kill @@ -84,7 +82,7 @@ renice命令类似nice命令。使用这个命令可以改变正在运行的进 killall -9 - 杀死所有拥有同样名字的进程 -如果你使用kill,你需要知道进程ID号。pkill是类似的命令但只需要一个模式,如果进程名,进程拥有者等 +如果你使用kill,你需要知道进程ID号。pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。 pkill <进程名> @@ -94,17 +92,17 @@ renice命令类似nice命令。使用这个命令可以改变正在运行的进 ### 8. ulimit ### -命令在控制系统资源在shell和进程上的分配量。对于系统管理员是最有用的,可以管理系统倾向和性能问题。限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。 +该命令用于控制系统资源在shell和进程上的分配量。对于系统管理员是最有用的,可以管理重度使用和存在性能问题的系统。限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。 ulimit -a - 显示当前用户关联的资源限制 ![ulimit -a](http://blog.linoxide.com/wp-content/uploads/2015/02/ulimit-a.png) - -f - 最大文件大小 + -f - 最大文件尺寸大小 -v - 最大虚拟内存大小(KB) - -n - 最大文件描述符加1 + -n - 增加最大文件描述符数量 -H : 改变和报告硬限制 @@ -114,13 +112,13 @@ renice命令类似nice命令。使用这个命令可以改变正在运行的进 ### 9. w ### -w提供正确登录的用户和其执行的进程的信息。显示信息头包含信息像现在时间,系统运行时长,登录用户总数,过去1,5,15分钟负载均衡数。 +w 提供当前登录的用户及其正在执行的进程的信息。显示信息头包含信息,如当前时间、系统运行时长、登录用户总数、过去的1,5,15分钟内的负载均衡数。 -基于这些用户信息,用户可以在终止进程前查看不属于他们的进程。 +基于这些用户信息,用户在终止不属于他们的进程时要小心。 !['w' command](http://blog.linoxide.com/wp-content/uploads/2015/02/w.png) -**who**是类似命令,提供列表,包含当前登录用户,系统启动时间,运行级别等。 +**who**是类似命令,提供当前登录用户列表、系统启动时间、运行级别等。 !['who' command](http://blog.linoxide.com/wp-content/uploads/2015/02/who.png) @@ -130,7 +128,7 @@ w提供正确登录的用户和其执行的进程的信息。显示信息头包 ### 10. pgrep ### -pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程,然后列出选择标准匹配出的进程ID到标准输出。对于通过名字检索进程号是很有用。 +pgrep的意思是"进程号全局正则匹配输出"。该命令扫描当前运行进程,然后按照命令匹配条件列出匹配结果到标准输出。对于通过名字检索进程号是很有用。 pgrep -u mint sh @@ -140,9 +138,9 @@ pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程, ### 11. fg , bg ### -有时,命令需要很长的时间才能执行完成。对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而是用‘fg’可以调到前台来使用。 +有时,命令需要很长的时间才能执行完成。对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用。 -通过‘&’,我们后台启动一个程序: +我们可以通过‘&’在后台启动一个程序: find . -name *iso > /tmp/res.txt & @@ -152,7 +150,7 @@ pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程, ctrl+z - 挂起当前执行程序 - bg - 将程序发送到后台运行 + bg - 将程序放到后台运行 我们可以使用‘jobs’命令列出所有后台进程。 @@ -160,7 +158,7 @@ pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程, 使用‘fg’命令可以将后台程序调到前台执行。 - fg % + fg %进程id ![output of fg, bg and jobscommands](http://blog.linoxide.com/wp-content/uploads/2015/03/fg-bg-jobs.png) @@ -172,13 +170,13 @@ ipcs命令报告进程间通信设施状态。(共享内存,信号量和消 ipcs -p -m -下面屏幕截图列出了共享内存段的创建者ID和进程ID。 +下面屏幕截图列出了最近访问了共享内存段的进程的创建者的ID和进程ID。 ![ipcs command](http://blog.linoxide.com/wp-content/uploads/2015/03/ipcs.png) ### 总结 ### -总之 ,这些命令可以帮助管理员修复问题和改善性能。同样作为一名普通用户也需要解决进程间出现的问题。所以,熟悉如此繁多的命令,从能有效管理进程是行之有效。 +总之 ,这些命令可以帮助管理员修复问题和改善性能。同样作为一名普通用户也需要解决进程出现的问题。所以,熟悉如此繁多的命令,从能有效管理进程是行之有效。 -------------------------------------------------------------------------------- @@ -186,7 +184,7 @@ via: http://linoxide.com/linux-command/process-management-commands-linux/ 作者:[B N Poornima][a] 译者:[VicYu/Vic020](http://vicyu.net) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md b/published/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md similarity index 75% rename from translated/tech/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md rename to published/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md index 45c09f3475..ef30371412 100644 --- a/translated/tech/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md +++ b/published/20150330 How to Serve Git Repositories Using Gitblit Tool in Linux.md @@ -1,18 +1,18 @@ -如何在Linux下使用Gitblit工具创建Git仓库服务 +如何在Linux下使用Gitblit工具创建Git仓库服务 ================================================================================ -嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具。首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤。[Git是分布式版本控制系统][1],它强调速度、数据一致性,并且支持分布式、非线性工作流。它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPL2证书,并因此成为软件开发中使用最广泛的版本控制系统。 +嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具。首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤。[Git是分布式版本控制系统][1],它强调速度、数据一致性,并且支持分布式、非线性工作流。它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPLv2证书,并从此成为软件开发中使用最广泛的版本控制系统。 -[Gitblit是完全开源的软件][2],它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目。它很容易学习和上手,并有着闪电般的性能。它在廉价的本地分支、便于staging、多工作流等方面远胜过一些SCM(版本控制)工具,比如Subversion、CVS、Perforce和ClearCase。 +[Gitblit是完全开源的软件][2],它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目。它很容易学习和上手,并有着闪电般的性能。它在很多方面远胜 Subversion、CVS、Perforce和ClearCase等SCM(版本控制)工具,比如,如快速本地分支、易于暂存、多工作流等。 #### Gitblit的功能 #### -- 它可以做为一个无声的仓库视图,没有管理控制以及用户账户。 -- 它可以做为完整的Git堆栈,拥有clone, pushing和仓库存取控制。 -- 它能独立于其他Git工具使用(包括实际的Git),它能和您已创建的工具合作。 +- 它可以做为一个哑仓库视图,没有管理控制以及用户账户。 +- 它可以做为完整的Git服务,拥有克隆、推送和仓库访问控制。 +- 它能独立于其他Git工具使用(包括实际的Git),它能和您已有的工具协作。 ### 1.创建Gitblit安装目录 ### -首先我们将在我们的服务器上建立一个目录,我们将在该目录下安装最新的Gitblit。 +首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。 $ sudo mkdir -p /opt/gitblit @@ -28,7 +28,7 @@ ![下载gitblit安装包](http://blog.linoxide.com/wp-content/uploads/2015/01/downloading-gitblit.png) -接下来,我们将解压下载到的tarball压缩包至之前创建的目录 /opt/gitblit/ +接下来,我们将下载到的tar压缩包解压至之前创建的目录 /opt/gitblit/ $ sudo tar -zxvf gitblit-1.6.2.tar.gz @@ -42,7 +42,7 @@ 另一种是将gitblit添加为服务。下面是在linux下将gitblit添加为服务的步骤。 -由于我在使用Ubuntu,下面的命令将是 sudo cp service-ubuntu.sh /etc/init.d/gitblit。所以请根据你的发行版修改文件名service-ubuntu.sh为相应的你运行的发行版。 +由于我在使用Ubuntu,下面的命令将是 sudo cp service-ubuntu.sh /etc/init.d/gitblit,所以请根据你的发行版修改文件名service-ubuntu.sh为相应的你运行的发行版。 $ sudo ./install-service-ubuntu.sh @@ -50,13 +50,13 @@ ![启动gitblit服务](http://blog.linoxide.com/wp-content/uploads/2015/01/starting-gitblit-service.png) -在你的浏览器中打开http://localhost:8080或https://localhost:8443,也可以将localhost根据本地配置替换为IP地址。输入默认的管理员凭证:admin/admin并点击login按钮。 +在你的浏览器中打开`http://localhost:8080`或`https://localhost:8443`,也可以将localhost根据本地配置替换为IP地址。输入默认的管理员凭证:admin / admin并点击login按钮。 ![gitblit欢迎页面](http://blog.linoxide.com/wp-content/uploads/2015/01/gitblit-welcome.png) 现在,我们将添加一个新的用户。首先,你需要以admin用户登录,username = **admin**,password = **admin**。 -然后,点击 user icon > users > (+) new user 来创建一个新用户,如下图所示。 +然后,点击用户图标 > users > (+) new user 来创建一个新用户,如下图所示。 ![添加新用户](http://blog.linoxide.com/wp-content/uploads/2015/01/add-user.png) @@ -73,7 +73,7 @@ git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master -请将用户名arunlinoxide替换为你添加的用户名。 +请将其中的用户名arunlinoxide替换为你添加的用户名。 #### 在命令行中push一个已存在的仓库 #### @@ -84,7 +84,7 @@ ### 结论 ### -欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小工程中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。 +欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小项目中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。 -------------------------------------------------------------------------------- @@ -92,7 +92,7 @@ via: http://linoxide.com/linux-how-to/serve-git-repositories-gitblit/ 作者:[Arun Pyasi][a] 译者:[wwy-hust](https://github.com/wwy-hust) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150331 How to Install WordPress with Nginx in a Docker Container.md b/published/20150331 How to Install WordPress with Nginx in a Docker Container.md similarity index 86% rename from translated/tech/20150331 How to Install WordPress with Nginx in a Docker Container.md rename to published/20150331 How to Install WordPress with Nginx in a Docker Container.md index 849dd4a853..e24767bd84 100644 --- a/translated/tech/20150331 How to Install WordPress with Nginx in a Docker Container.md +++ b/published/20150331 How to Install WordPress with Nginx in a Docker Container.md @@ -1,6 +1,7 @@ -如何在 Docker 容器里的 Nginx 中安装 WordPress +如何在 Docker 容器中架设一个完整的 WordPress 站点 ================================================================================ -大家好,今天我们来学习一下如何在 Docker 容器上运行的 Nginx Web 服务器中安装 WordPress。WordPress 是一个很好的免费开源的内容管理系统,全球成千上万的网站都在使用它。[Docker][1] 是一个提供开放平台来打包,分发和运行任何应用的开源轻量级容器项目。它没有语言支持,框架或打包系统的限制,可以在从小的家用电脑到高端服务器的任何地方任何时间运行。这让它们成为可以用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商的很好的构建块。 + +大家好,今天我们来学习一下如何在 Docker 容器里运行的 Nginx Web 服务器中安装 WordPress。WordPress 是一个很好的免费开源的内容管理系统,全球成千上万的网站都在使用它。[Docker][1] 是一个开源项目,提供了一个可以打包、装载和运行任何应用的轻量级容器的开放平台。它没有语言支持、框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行。这使它们可以不依赖于特定软件栈和供应商,像一块块积木一样部署和扩展网络应用、数据库和后端服务。 今天,我们会在 docker 容器上部署最新的 WordPress 软件包,包括需要的前提条件,例如 Nginx Web 服务器、PHP5、MariaDB 服务器等。下面是在运行在 Docker 容器上成功安装 WordPress 的简单步骤。 @@ -14,13 +15,13 @@ # systemctl restart docker.service -### 2. 创建 WordPress Docker 文件 ### +### 2. 创建 WordPress 的 Dockerfile ### -我们需要创建用于自动安装 wordpress 以及前提条件的 docker 文件。这个 docker 文件将用于构建 WordPress 的安装镜像。这个 WordPress docker 文件会从 Docker 库中心获取 CentOS 7 镜像并用最新的可用更新升级系统。然后它会安装必要的软件,例如 Nginx Web 服务器、PHP、MariaDB、Open SSH 服务器以及其它保证 Docker 容器正常运行不可缺少的组件。最后它会执行一个初始化 WordPress 安装的脚本。 +我们需要创建用于自动安装 wordpress 以及其前置需求的 Dockerfile。这个 Dockerfile 将用于构建 WordPress 的安装镜像。这个 WordPress Dockerfile 会从 Docker Registry Hub 获取 CentOS 7 镜像并用最新的可用更新升级系统。然后它会安装必要的软件,例如 Nginx Web 服务器、PHP、MariaDB、Open SSH 服务器,以及其它保证 Docker 容器正常运行不可缺少的组件。最后它会执行一个初始化 WordPress 安装的脚本。 # nano Dockerfile -然后,我们需要将下面的配置行添加到 Docker 文件中。 +然后,我们需要将下面的配置行添加到 Dockerfile中。 FROM centos:centos7 MAINTAINER The CentOS Project @@ -50,9 +51,9 @@ ![Wordpress Docker 文件](http://blog.linoxide.com/wp-content/uploads/2015/03/Dockerfile-wordpress.png) -### 3. 创建启动 script ### +### 3. 创建启动脚本 ### -我们创建了 docker 文件之后,我们需要创建用于运行和配置 WordPress 安装的脚本,名称为 start.sh。它会为 WordPress 创建并配置数据库和密码。用我们喜欢的文本编辑器打开 start.sh。 +我们创建了 Dockerfile 之后,我们需要创建用于运行和配置 WordPress 安装的脚本,名称为 start.sh。它会为 WordPress 创建并配置数据库和密码。用我们喜欢的文本编辑器打开 start.sh。 # nano start.sh @@ -86,7 +87,7 @@ } __handle_passwords() { - # 在这里我们生成随机密码(感谢 pwgen)。前面两个用于 mysql 用户,最后一个用于 wp-config.php 的随机密钥。 + # 在这里我们生成随机密码(多亏了 pwgen)。前面两个用于 mysql 用户,最后一个用于 wp-config.php 的随机密钥。 WORDPRESS_DB="wordpress" MYSQL_PASSWORD=`pwgen -c -n -1 12` WORDPRESS_PASSWORD=`pwgen -c -n -1 12` @@ -292,7 +293,7 @@ ### 5. 构建 WordPress 容器 ### -现在,完成了创建配置文件和脚本之后,我们终于要使用 docker 文件来创建安装最新的 WordPress CMS(译者注:Content Management System,内容管理系统)所需要的容器,并根据配置文件进行配置。做到这点,我们需要在对应的目录中运行以下命令。 +现在,完成了创建配置文件和脚本之后,我们终于要使用 Dockerfile 来创建安装最新的 WordPress CMS(译者注:Content Management System,内容管理系统)所需要的容器,并根据配置文件进行配置。做到这点,我们需要在对应的目录中运行以下命令。 # docker build --rm -t wordpress:centos7 . @@ -340,7 +341,7 @@ via: http://linoxide.com/linux-how-to/install-wordpress-nginx-docker-container/ 作者:[Arun Pyasi][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md b/published/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md new file mode 100644 index 0000000000..dee56ed250 --- /dev/null +++ b/published/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md @@ -0,0 +1,88 @@ +六种在 Linux 上为你带来 iTunes 般体验的方法 +================================================================================ +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/itunes-linux-840x420.jpg?35dc20) + +随着你对 Linux 的熟悉(也许会成为你首要使用的操作系统),你终将会寻找能在 Linux 上有效管理音乐的工具。你首先想到 iTunes,因为它是近几年最流行的音乐管理工具,但你马上会发现 iTunes 并没有 Linux 版本。而且,现在,你会发现还有比 iTunes 更好的音乐管理工具。 + +尽管如此,这并不意味着你就不能使用你喜欢的方式管理音乐。Linux 上有很多方式可以让你整理你的曲库。以下六种,仅供参考: + +### 通过WINE运行iTunes ### + +尽管 iTunes 没有Linux版,你还是可以试试 [使用 WINE 运行 iTunes ][1] 或 PlayOnLinux 的。这些软件给本来只能运行于Windows下的应用程序添加一个兼容层,这样就能让他们运行在Linux上了,但这样的方法效果十有分限。因此,[并非所有 Windows 应用程序都能使用WINE运行][2] - 但这还是一个值得尝试的方法。 + +各个版本的iTunes结果可能给你不同的结果,但一般都遵循以下方法: + +1. 安装WINE +2. 在WINE里运行iTunes安装程序 +3. 在网上搜索并解决你遇到的问题。 + +如果你在安装时遇到无法解决的问题,比如安装程序错误,或者安装好的程序运行不了,那是没办法的,WINE 就是这样。 + +如果你想在 WINE 上运行 iTunes 而且运气很好的跑起来了,那真是很棒。但如果你还想考虑运行一个原生的Linux应用,或者 WINE 不工作的话,还有很多其他选择的。有几个曲库管理软件能让你很方便的管理你的音乐并直接进行播放,还可以制作播放列表。 + +### [Amarok][3] ### + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/amarok_main.jpg?35dc20) + +如果你使用KDE环境,我推荐 Amarok。它具有 [很多管理音乐的特性][4] 而且它还能与KDE桌面环境无缝兼容。它有很多实用的特性如集成了 Last.FM、文件跟踪、动态播放列表及脚本支持。它甚至会自动在你播放曲目时,自动下载艺术家封面。 + +### [Banshee][5] ### + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/banshee_main.jpg?35dc20) + +如果你使用 GNOME 或其他任何基于 GTK 的桌面环境(它们十分常见)的话,我推荐使用使用Bansee作为 [全功能曲库管理工具][6] 。它的功能与Amarok类似,也集成了Last.FM,支持互联网广播,支持podcast等等。选择 Amarok 还是 Bansee 要看你使用的桌面环境(这样才能无缝整合)。 + +### [Rhythmbox][7] ### + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/rhythmbox_main.jpg?35dc20) + +Rhythmbox是一个更好基于GTK的桌面环境的[轻量级的曲库替代品][8]。尽管如此,它也还是有一些自己的特性的。它也支持Last.FM,同时还能无缝播放并与其它如 Nautilus、XChat及Pidgin 等进行整合。 + +### [Clementine][9] ### + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/clementine_main.jpg?35dc20) + +另一款叫 Clementine 的软件也值得我推荐,因为它的界面简洁、易用。它支持非常多的第三方服务例如Spotify,Digtal Imported 及Dropbox。Android系统上还有一款用作 Clementine 遥控的app。[Clementine是跨平台的][10] , 还支持Mac OS X 及 Windows。 + +这些程序都能很好的管理并播放你的音乐。唯一的问题是这些程序都不支持与 iOS 设备的整合, 而且目前Linux 上还没有程序能做到这一点。但 iOS 经过很多改进后,已经并不需要再连接到电脑了。 + +### [Google Play Music][11] ### + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/google_music.jpg?35dc20) + +最后,如果上面的那些程序还不能满足你的需求的话,你可以试试 Google Play Music。这个在线服务也可以用作播放音乐的曲库管理工具,但它还有几个额外的好处。你可以上传所有的音乐,并且在所有能上网的设备上获取这些音乐。这也意味着你不需要在电脑或者移动设备之间同步你的音乐(无论是 Android 还是 iOS 设备),因为你可以这些设备中使用Google Play Music。 如果你想要扩展你的曲库,你可以订阅 All Access 服务,但这并不是必须的。你不需要支付任何费用也可在你的曲库中储存20,000首 + +#### 靠,居然没有 Spotify ?! #### + +尽管 Spotify 也是一款管理和听音乐的方法,我不推荐它的唯一原因是它事实上并不让你管理你的音乐。你不能将曲目上传到 Spotify - 只能它们给你提供的曲目。尽管它们提供了很多,但口味未必一样。 + + +### 你还有其他选择 ### + +以上六个软件应该可以在给你带来类似 iTunes 的功能了。这些软件主要是能让你管理和播放你的曲库,但如果你还需要 iTunes 里的其他特性,其他Linux原生软件或许能满足这类需求。 + +**你通常在Linux上使用哪些音乐?**在下方评论与我们分享吧! + + +-------------------------------------------------------------------------------- + +via: http://www.makeuseof.com/tag/top-6-ways-get-itunes-experience-linux/ + +作者:[Danny Stieben][a] +译者:[KevinSJ](https://github.com/KevinSJ) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.makeuseof.com/tag/author/danny/ +[1]:http://www.makeuseof.com/tag/how-about-some-wine-with-your-linux/ +[2]:http://www.makeuseof.com/answers/does-wine-runs-all-windows-apps/ +[3]:https://amarok.kde.org/ +[4]:http://www.makeuseof.com/tag/control-music-amarok-linux/ +[5]:http://banshee.fm/ +[6]:http://www.makeuseof.com/tag/banshee-20-comprehensive-media-player-streamer-podcast-tool-linux/ +[7]:https://wiki.gnome.org/Apps/Rhythmbox +[8]:http://www.makeuseof.com/tag/play-manage-music-collection-rhythmbox-linux/ +[9]:https://www.clementine-player.org/ +[10]:http://www.makeuseof.com/tag/need-a-lightweight-music-player-without-sacrificing-features-clementine-cross-platform/ +[11]:http://music.google.com/ diff --git a/translated/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md b/published/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md similarity index 80% rename from translated/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md rename to published/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md index e115f85772..789a56688d 100644 --- a/translated/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md +++ b/published/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md @@ -1,6 +1,7 @@ -如何在Bash Shell脚本中显示对话框以及事例 +如何在Bash Shell脚本中显示对话框 ================================================================================ -这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态以及有与其交互的能力。这两个工具的不同之处在于显示消息框或者对话框的方式。Zenity用GTK工具包创建图形用户界面,而whiptail在终端内部创建消息框。 + +这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互。这两个工具的不同之处在于显示消息框或者对话框的方式。Zenity用GTK工具包创建图形用户界面,而whiptail则在终端窗口内创建消息框。 ### Zenity 工具 ### @@ -8,21 +9,21 @@ sudo apt-get install zenity -由于用zenity创建消息框或者对话框的命令是相当自解释的,我们会给你提供一些例子。 +用zenity创建消息框或者对话框的命令是不言自明的,我们会给你提供一些例子来参考。 ### 创建消息框 ### -zenity --info --title "Information Box" --text "This should be information" --width=300 --height=200 + zenity --info --title "Information Box" --text "This should be information" --width=300 --height=200 ![消息框截图](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-Information-Box.png) -创建 Yes/No 对话框 +创建 Yes/No 询问对话框 zenity --question --text "Do you want this?" --ok-label "Yeah" --cancel-label="Nope" ![问题截图](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-Question.png) -创建输入框并在变量中保存值 +创建输入框并将输入值保存到变量中 a=$(zenity --entry --title "Entry box" --text "Please enter the value" --width=300 --height=200) echo $a @@ -75,7 +76,7 @@ zenity --info --title "Information Box" --text "This should be information" --wi 信息框 -别忘了查看也许能帮助到你的有用的[zenity 选项][1] +别忘了查看也许能帮助到你的有用的[zenity 选项][1]。 ### Whiptail 工具 ### @@ -83,7 +84,7 @@ zenity --info --title "Information Box" --text "This should be information" --wi sudo apt-get install whiptail -用whiptail创建消息框或者对话框的命令也是相当自解释的,我们会给你提供一些基本例子。 +用whiptail创建消息框或者对话框的命令也是无需解释的,我们会给你提供一些基本例子作为参考。 ### 创建消息框 ### @@ -103,7 +104,7 @@ zenity --info --title "Information Box" --text "This should be information" --wi ![whiptail输入框截图](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-whiptail-entry.png) -尝试使用输入值要注意的一点是whiptail用stdout显示对话框,用stderr输出值。那样的话,如果你用 var=$(...),你不会看到对话框,也不能获得输入的值。解决方法是交换stdout和stderr。在whiptail命令后面添加 **3>&1 1>&2 2>&3** 就可以做到。你想获取输入值的任何whiptail命令也是如此。 +尝试使用输入值要注意的一点是whiptail用stdout显示对话框,用stderr输出值。这样的话,如果你用 var=$(...),你就根本不会看到对话框,也不能获得输入的值。解决方法是交换stdout和stderr。在whiptail命令后面添加 **3>&1 1>&2 2>&3** 就可以做到。你想获取输入值的任何whiptail命令也是如此。 ### 创建菜单对话框 ### @@ -157,7 +158,7 @@ zenity --info --title "Information Box" --text "This should be information" --wi ### 结论 ### -选择合适的工具显示对话框取决于你期望在桌面机器还是服务器上运行你的脚本。桌面机器用户通常使用窗口环境,更可能用显示的窗口运行脚本和交互。然而,如果你期望用户是在服务器上工作的,你也许会希望安全地显示,并使用whiptail或者任何其它在纯终端窗口显示对话框的工具。 +选择合适的工具显示对话框取决于你期望在桌面机器还是服务器上运行你的脚本。桌面机器用户通常使用GUI窗口环境,也可能运行脚本并与显示的窗口进行交互。然而,如果你期望用户是在服务器上工作的,(在没有图形界面时,)你也许希望能确保总能显示,那就使用whiptail或者任何其它在纯终端窗口显示对话框的工具。 -------------------------------------------------------------------------------- @@ -165,7 +166,7 @@ via: http://linoxide.com/linux-shell-script/bash-shell-script-show-dialog-box/ 作者:[Ilija Lazarevic][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md b/published/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md new file mode 100644 index 0000000000..a0114d5382 --- /dev/null +++ b/published/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md @@ -0,0 +1,176 @@ +如何使用图形化工具远程管理 Linux上的MySQL +================================================================================ +如果你在一个远程的VPS上运行了MySQL服务器,你会如何管理你的远程数据库主机呢?基于web的数据库管理工具例如[phpMyAdmin][2]或者[Adminer][3]可能会是你第一个想起的。这些基于web的管理工具需要一个正常运行的后端的web服务和PHP引擎。但是,如果你的VPS仅仅用来做数据库服务(例如,数据库与其它服务独立存放的分布式结构),为偶尔的数据库管理提供一整套的LAMP是浪费VPS资源的。更糟的是,LAMP所打开的HTTP端口可能会成为你VPS资源的安全漏洞。 + +作为一种选择,你可以使用在一台客户机上运行本地的MySQL客户端,当然,如果没有别的选择,一个纯净的MySQL命令行客户端将是你的默认选择。但是命令行客户端的功能是有限的,因为它没有生产级数据库管理功能,例如:可视化SQL开发、性能调优、模式验证等等。你是否在寻找一个成熟的MySQL管理工具,那么一个MySQL的图形化管理工具将会更好的满足你的需求。 + +###什么是MySQL Workbench? + +作为一个由Oracle开发的集成的数据库管理工具,[MySQL Workbench][4]不仅仅是一个简单的MySQL客户端。简而言之,Workbench是一个跨平台的(如:Linux,MacOX,Windows)数据库设计、开发和管理的图形化工具。MySQL Workbench 社区版是遵循GPL协议的。作为一个数据库管理者,你可以使用Workbench去配置MySQL服务、管理MySQL用户、进行数据库的备份与还原、监视数据库的健康状况,所有的都在对用户友好的图形化环境下处理。 + +在这个手册里,让我们演示下如何在Linux下安装和使用MySQL Workbench。 + +###在Linux上安装MySQL Workbench + +你可以在任何一个桌面linux机器上运行MySQL Workbench来设置你的数据库管理环境。虽然一些Linux发行版(例如:Debian/Ubuntu)在他们的软件源中已经有了MySQL Workbench,但是从官方源中安装是一个好的方法,因为他们提供了最新的版本。这里介绍了如何设置一个官方的Workbench软件源和从中安装它。 + +#### 基于 Debian 的桌面 (Debia, Ubuntu, Mint): #### + +到其[官方站点][5],选择一个和你环境匹配的DEB文件,并下载安装: + +例如,对于 Ubuntu 14.10: + + $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.4-2ubuntu14.10_all.deb + $ sudo dpkg -i mysql-apt-config_0.3.4-2ubuntu14.10_all.deb + +对于 Debian 7: + + $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-1debian7_all.deb + $ sudo dpkg -i mysql-apt-config_0.3.3-1debian7_all.deb + +当你安装DEB文件时,你会看到下面的配置菜单,并且选择配置那个MySQL产品 + +![](https://farm8.staticflickr.com/7702/16928715218_b1fcbcdbf3_c.jpg) + +选择“Utilities”。完成配置后,选择“Apply”去保存配置。然后,更新包索引,并且安装Workbench。 + + $ sudo apt-get update + $ sudo apt-get install mysql-workbench + +#### 基于 Red Hat 的桌面 (CentOS, Fedora, RHEL): #### + +去官网下载并安装适合你Linux环境的RPM源包。 + +例如,对于 CentOS 7: + + $ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm + $ sudo yum localinstall mysql-community-release-el7-5.noarch.rpm + +对于 Fedora 21: + + $ wget http://dev.mysql.com/get/mysql-community-release-fc21-6.noarch.rpm + $ sudo yum localinstall mysql-community-release-fc21-6.noarch.rpm + +验证"MySQL Tools Community"源是否被安装: + + $ yum repolis enabled + +![](https://farm9.staticflickr.com/8826/16494069254_15458ace52_c.jpg) + +安装Workbench + + $ sudo yum install mysql-workbench-community + +###设置远程数据库的安全连接 + +接下来是为你运行MySQL服务的VPS设置一个远程连接。当然,你可以直接通过图形化的Workbench连接你的远程MySQL服务器(在数据库开放了远程连接后)。然而,这样做有很大的安全风险,因为有些人很容易窃听你的数据库传输信息,并且一个公开的MySQL端口(默认为3306)会是另外一个攻击入口。 + +一个比较好的方法是关掉远程访问数据库服务功能,(仅允许在VPS 上的127.0.0.1访问)。然后在本地客户机和远程VPS之间设置一个SSH隧道,这样的话,和MySQL之间的数据能安全地通过它的本地回环接口上中继。相比较设置一个SSL加密的连接来说,配置SSH隧道需要很少的操作,因为它仅仅需要SSH服务,并且在大多数的VPS上已经部署了。 + +让我们来看看如何来为一个MySQL Workbench设置一个SSH隧道。 + +在这个设置里,不需要你开放远程访问MySQL服务。 + +在一个运行了Workbench的本地客户机上,键入下面的命令,替换'user'(远程 VPS 的用户名)和'remote_vps'(远程 VPS 的地址)为你自己的信息: + + $ ssh user@remote_vps -L 3306:127.0.0.1:3306 -N + +你会被要求输入你VPS的SSH密码,当你成功登陆VPS后,在本地的3306端口和远程VPS的3306端口之间将会建立一个SSH隧道。这里你不会在前台看到任何信息显示。 + +或者你可以选择在后台运行SSH隧道,按CTRL+Z停止当前的命令,然后输入bg并且ENTER + +![](https://farm8.staticflickr.com/7714/16928715438_bf0db49b3b_c.jpg) + +这样SSH隧道就会在后台运行了。 + +###使用MySQL Workbench远程管理MySQL服务 + +在建立好SSH隧道后,你可以通过MySQL Workbench去远程连接MySQL服务了。 + +输入下面命令启动Workbench: + + $ mysql-workbench + +![](https://farm9.staticflickr.com/8768/16494069294_0fce571ddb_c.jpg) + +点击Workbench页面上面的“加号”图标去创建一个新的数据库连接,接着会出现下面的连接信息。 + +- **Connection Name**: 任意描述 (例如: My remote VPS database) +- **Hostname**: 127.0.0.1 +- **Port**: 3306 +- **Username**: MySQL 用户名 (例如 root) + +![](https://farm8.staticflickr.com/7727/16928715288_d9ac3bfc7a_c.jpg) + +注意:因为隧道设置的是127.0.0.1:3306,所以主机名字段必须是127.0.0.1,而不能是远程VPS的IP地址或者主机名。 + +当你设置好一个新的数据库连接后,你会在Workbench窗口看到一个新的框,点击那个框就会实际去连接远程的MySQL服务了。 + +![](https://farm8.staticflickr.com/7650/17114969532_0252ffcd31_c.jpg) + +当你登录到MySQL 服务器后,你可以再左侧面板看到各种管理任务。让我们来看一些常见的管理任务。 + +#### MySQL Server Status #### + +该菜单显示了展示数据库服务器的资源使用情况的实时监控面板。(例如:流量、链接、读写) + +![](https://farm8.staticflickr.com/7627/16494069414_9d838d4138_c.jpg) + +#### Client Connections #### + +客户端连接数是一个极其重要的监控的资源,这个菜单显示了每个连接的详细信息。 + +![](https://farm9.staticflickr.com/8747/16909119337_a8d89772dd_c.jpg) + +#### 用户和权限 #### + +这个菜单允许你管理MySQL用户,包括他们的资源限制和权限。 + +![](https://farm9.staticflickr.com/8765/16494069384_760fc17c8f_c.jpg) + +#### MySQL Server Administration #### + +你可以启动或关闭MySQL服务,并且检查它的服务日志。 + +![](https://farm8.staticflickr.com/7588/17114969592_54526dfb32_c.jpg) + +#### Database Schema Management #### + +可以可视化的查看、更改、检查数据库结构,在“Schemas”标题下选择任何一个数据库或表,然后右击 + +![](https://farm8.staticflickr.com/7665/16496363973_fd03a96198_c.jpg) + +![](https://farm9.staticflickr.com/8744/16909119497_7c884617b8_c.jpg) + +#### Database Query #### + +你可以执行任何的语句(只要你的权限允许),并且检查其结果。 + +![](https://farm8.staticflickr.com/7716/17114969692_c0f02bb277_c.jpg) + +此外,性能统计数据和报表仅用于MySQL5.6以上的版本。对于5.5及其以下的版本,性能部分会以灰色显示。 + +### 结论 ### + +简介且直观的选项卡界面,丰富的特性,开源,使MySQL Workbench成为一个非常好的可视化数据库设计和管理工具。为其减分的是它的性能。我注意到在一台运行繁忙的服务器上,Workbench有时会变得异常缓慢,尽管它的性能差强人意,我依然认为MySQL Workbench是MySQL数据库管理员和设计人员必备的工具之一。 + +你曾在你的生产环境中用过Workbench吗?或者你还有别的GUI工具可以推荐?请分享你的经验吧。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/remote-mysql-databases-gui-tool.html + +作者:[Dan Nanni][a] +译者:[tyzy313481929](https://github.com/tyzy313481929) +校对:[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/go/digitalocean +[2]:http://ask.xmodulo.com/install-phpmyadmin-centos.html +[3]:http://xmodulo.com/set-web-based-database-management-system-adminer.html +[4]:http://mysqlworkbench.org/ +[5]:http://dev.mysql.com/downloads/repo/apt/ +[6]:http://dev.mysql.com/downloads/repo/yum/ +[7]:http://xmodulo.com/how-to-allow-remote-access-to-mysql.html diff --git a/translated/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md b/published/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md similarity index 90% rename from translated/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md rename to published/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md index e5f8f6bcc7..52ce998473 100644 --- a/translated/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md +++ b/published/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md @@ -1,17 +1,14 @@ -Linux 有问必答 -- 如何在红帽系linux中编译Ixgbe - +Linux 有问必答: 如何在红帽系linux中编译Ixgbe驱动 ================================================================================ > **提问**:我想要安装最新版的ixgbe 10G网卡驱动。在CentOS, Fedora 或 RHEL中,我应该如何编译ixgbe驱动? +想要在linux使用Intel的PCI Express 10G网卡(例如,82598,82599,x540),需要安装Ixgbe驱动。如今的Linux发行版都会预安装ixgbe的可加载模块,但是预安装的ixgbe驱动不是完整功能版。如果想要开启和定制所有10G网卡的功能(如,RSS、多队列、虚拟化功能、硬件 offload 等),需要从源码编译安装。 -想要在linux使用Intel的PCI Express 10G网卡(例如,82598,82599,x540),需要安装Ixgbe驱动。如今的Linux发行版都会欲安装ixgbe作为可加载模块,但是预安装的ixgbe驱动不是完整功能版。如果想要开启和定制所有10G网卡(如,RSS,多)的功能,需要源码编译安装。 - -本文基于红帽系平台(如,CentOS,RHEL或Fedora)。Debian系系统,请看[这篇文章][1] - +本文基于红帽系平台(如,CentOS,RHEL或Fedora)。Debian系平台,请看[这篇文章][1] ### 第一步: 安装依赖 ### -首先,安装必要的开发环境和安装匹配的内核头 +首先,安装必要的开发环境和安装匹配的内核头文件 $ sudo yum install gcc make $ sudo yum install kernel-devel @@ -22,7 +19,7 @@ Linux 有问必答 -- 如何在红帽系linux中编译Ixgbe $ wget http://downloads.sourceforge.net/project/e1000/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz -确保检查支持内核版本。例如,Ixgbe3.23.2版本支持Linux内核版本2.6.18以上到3.18.1. +请检查支持的内核版本。例如,Ixgbe3.23.2版本支持Linux内核版本2.6.18到3.18.1。 提取压缩包并编译 @@ -30,7 +27,7 @@ Linux 有问必答 -- 如何在红帽系linux中编译Ixgbe $ cd ixgbe-3.23.2/src $ make -如果成功,编译完成的驱动(ixgbe.ko)可以在当前目录找到。 +如果成功,可以在当前目录找到编译完成的驱动(ixgbe.ko)。 可以运行这个命令来查看编译信息: @@ -44,7 +41,7 @@ Linux 有问必答 -- 如何在红帽系linux中编译Ixgbe 这步准备加载已经编译好的驱动。 -如果系统已经加载了Ixgbe驱动,首先需要卸载掉老版本。否者,新版本不能够加载。 +如果系统已经加载了Ixgbe驱动,首先需要卸载掉老版本。否则,新版本不能加载。 $ sudo rmmod ixgbe.ko @@ -178,7 +175,7 @@ ixgbe.ko将会安装在下列目录 /lib/modules//kernel/drivers/net/ixgbe -此时,编译完蛋程序将在启动时自动加载,也可以通过运行命令加载它: +此时,编译好的驱动将在启动时自动加载,也可以通过运行命令加载它: $ sudo modprobe ixgbe @@ -190,10 +187,10 @@ via: http://ask.xmodulo.com/compile-ixgbe-driver-centos-rhel-fedora.html 作者:[Dan Nanni][a] 译者:[Vic020](http://vicyu.net) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [a]:http://ask.xmodulo.com/author/nanni -[1]:http://ask.xmodulo.com/download-install-ixgbe-driver-ubuntu-debian.html +[1]:https://linux.cn/article-5149-1.html [2]:http://sourceforge.net/projects/e1000/files/ixgbe%20stable/ diff --git a/published/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md b/published/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md new file mode 100644 index 0000000000..c7c2d21fa3 --- /dev/null +++ b/published/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md @@ -0,0 +1,55 @@ +Linux有问必答:如何在虚拟机上配置PCI直通 +================================================================================ +> **提问**:我想要分配一块物理网卡到用KVM创建的虚拟机上。我打算为这台虚拟机启用网卡的PCI直通。请问,我如何才能在virt-manager里面通过PCI直通增加一个PCI设备到虚拟机上? + +如今的hypervisor能够高效地在多个虚拟操作系统间共享和模拟硬件资源。然而,虚拟资源共享不是总能使人满意,甚至在虚拟机性能是重点考量时,或者是虚拟机需要硬件DMA的完全控制时,应该避免共享。一项名叫“PCI直通”的技术可以用在一个虚拟机需要独享PCI设备时(例如:网卡、声卡、显卡)。本质上,PCI直通穿透了虚拟层,直接将PCI设备放到虚拟机里,而其他虚拟机则不能访问该设备。 + +### 开启“PCI直通”的准备 ### + +如果你想要为一台HVM实例开启PCI直通(例如,一台KVM创建的全虚拟化的虚拟机),你的母系统(包括CPU和主板)必须满足以下条件。如果你的虚拟机是半虚拟化的(由Xen创建),你可以跳过这步。 + +为了在 HVM虚拟机上开启PCI直通,系统需要支持**VT-d** (Intel处理器)或者**AMD-Vi** (AMD处理器)。Intel的VT-D(“英特尔直接I/O虚拟化技术”)是适用于最高端的Nehalem处理器和它的后继者(例如,Westmere、Sandy Bridge的,Ivy Bridge)。注意:VT-d和VT-x是两个独立功能。intel/AMD处理器支持VT-D/AMD-VI功能的列表可以[查看这里][1]。 + +在确认你的设备支持VT-d/AMD-Vi后,还有两件事情需要做。首先,确保VT-d/AMD-Vi已经在BIOS中开启。然后,在内核启动过程中开启IOMMU。IOMMU服务,是由VT-d/AMD-Vi提供的,可以保护虚拟机访问的主机内存,同时它也是全虚拟化虚拟机支持PCI直通的前提。 + +Intel处理器中,通过将“**intel_iommu=on**传给内核启动参数来开启IOMMU。参看[这篇教程][2]了解如何通过GRUB修改内核启动参数。 + +配置完启动参数后,重启电脑。 + +### 添加PCI设备到虚拟机 ### + +我们已经完成了开启PCI直通的准备。事实上,只需通过virt-manager就可以给虚拟机分配一个PCI设备。 + +打开virt-manager的虚拟机设置,在左边工具栏点击‘增加硬件’按钮。 + +选择从PCI设备表一个PCI设备来分配,点击“完成”按钮 + +![](https://farm8.staticflickr.com/7587/17015584385_db49e96372_c.jpg) + +最后,启动实例。这样,主机的PCI设备已经可以由虚拟机直接访问了。 + +### 常见问题 ### + +在虚拟机启动时,如果你看见下列任何一个错误,这个错误有可能由于母机VT-d (或 IOMMU)未开启导致。 + + Error starting domain: unsupported configuration: host doesn't support passthrough of host PCI devices + +---------- + + Error starting domain: Unable to read from monitor: Connection reset by peer + +请确保"**intel_iommu=on**"启动参数已经按上文叙述开启。 + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/pci-passthrough-virt-manager.html + +作者:[Dan Nanni][a] +译者:[Vic020/VicYu](http://vicyu.net) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://ask.xmodulo.com/author/nanni +[1]:http://wiki.xenproject.org/wiki/VTdHowTo +[2]:http://xmodulo.com/add-kernel-boot-parameters-via-grub-linux.html diff --git a/translated/tech/20150416 Linux Network Statistics Tools or Commands.md b/published/20150416 Linux Network Statistics Tools or Commands.md similarity index 98% rename from translated/tech/20150416 Linux Network Statistics Tools or Commands.md rename to published/20150416 Linux Network Statistics Tools or Commands.md index 1dcad55baf..e4ce5db81d 100644 --- a/translated/tech/20150416 Linux Network Statistics Tools or Commands.md +++ b/published/20150416 Linux Network Statistics Tools or Commands.md @@ -72,7 +72,7 @@ Linux网络统计工具/命令 查看[ss 命令教程][1] 获取更多信息。 -### netstat 命令 : 显示套接字信息的旧的好工具 ### +### netstat 命令 : 不错的显示套接字信息的旧工具 ### 查看所有网络端口以及汇总信息表,输入: @@ -268,6 +268,7 @@ Linux网络统计工具/命令 ### sar 命令: 显示网络统计信息 ### 输入以下命令 (你需要 [通过sysstat包安装并启用sar][3]): + sar -n DEV Linux 2.6.32-220.2.1.el6.x86_64 (www.cyberciti.biz) Tuesday 13 March 2012 _x86_64_ (2 CPU) @@ -345,11 +346,11 @@ via: http://www.cyberciti.biz/faq/network-statistics-tools-rhel-centos-debian-li 作者:[nixCraft][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [a]:http://www.cyberciti.biz/tips/about-us -[1]:http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html -[2]:http://www.cyberciti.biz/tips/netstat-command-tutorial-examples.html +[1]:https://linux.cn/article-4372-1.html +[2]:https://linux.cn/article-2434-1.html [3]:http://www.cyberciti.biz/tips/identifying-linux-bottlenecks-sar-graphs-with-ksar.html \ No newline at end of file diff --git a/translated/tech/20150417 How to Install Discourse in a Docker Container.md b/published/20150417 How to Install Discourse in a Docker Container.md similarity index 54% rename from translated/tech/20150417 How to Install Discourse in a Docker Container.md rename to published/20150417 How to Install Discourse in a Docker Container.md index e4dcf8f3c5..cb3351a77e 100644 --- a/translated/tech/20150417 How to Install Discourse in a Docker Container.md +++ b/published/20150417 How to Install Discourse in a Docker Container.md @@ -1,8 +1,10 @@ 如何在一个Docker容器里安装Discourse ============================================================================= -大家好,今天我们将会学习如何利用Docker平台安装Discourse。Discourse是完全开源的讨论平台,为互联网的下一个十年而搭建,拥有一个邮件列表,一个论坛和一个long-form(此处不明白)聊天室。不管从技术角度还是社会学角度,当你试图去重新想象当今一个现代的,可持续的,完全开源的互联网讨论平台该是什么样子,Discourse都是一个不错的途径。Discourse简洁,直接之于讨论。它确实是一个令人称赞的平台,对于互联网上各种各样的讨论来说,提供了在机器之外如此酷的一个服务。Docker是一个开源平台,提供打包,运输和运行任何应用的平台,如一个轻量级容器。Docker容器技术使得Discourse更加方便和容易去建立应用程序。 +大家好,今天我们将会学习如何利用Docker平台安装Discourse。Discourse是一个完全开源的讨论平台,以未来十年的互联网理念设计,拥有一个邮件列表,一个论坛和一个长篇聊天室。不管从技术角度还是社会学角度,如今要体验一个现代的、勃勃生机的、完全开源的互联网讨论平台,Discourse都是一个不错的途径。Discourse是一个简单、简明、简易的讨论方式。它确实是一个令人称赞的平台,对于互联网上各种各样的论坛来说,提供了一个上手可用的很酷的服务。 -所以,下面是一些快速且容易的步骤,用来安装Discourse在一个Docker环境里面。 +Docker是一个开源的、可以将任何应用以轻量级容器的方式打包、传输和运行的开放平台。Docker容器技术使得可以更加方便和容易构建Discourse。 + +所以,下面是一些快速且容易的步骤,用来在一个Docker环境里面安装Discourse。 ### 1. 安装Docker ### @@ -16,7 +18,7 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap #### 在CentOS 7上 #### -在CentOS 7的主机上,我们使用yum管理器安装docker,因为CentOS的仓库里同样有docker安装包 +在CentOS 7的主机上,我们使用yum管理器安装docker,因为CentOS的仓库里同样有docker安装包 # yum install docker @@ -24,7 +26,7 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap ### 2. 设定交换内存 ### -如果你的RAM容量小于1GB,那么确保升级你的系统达到1GB或者以上,否则Discourse不会在512MB的RAM下安装。如果你现在准备好了安装Discourse,根据下面的步骤为你的VPS(Virtual Private Servers)或者服务器设定交换内存 +如果你的RAM容量小于1GB,那么确保升级你的系统达到1GB或者以上,Discourse不能在512MB的RAM下安装。如果你现在准备好了安装Discourse,根据下面的步骤为你的VPS(Virtual Private Servers)或者服务器设定交换内存: 运行下面的命令,创建一个空的交换文件。 @@ -34,7 +36,7 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap # dd if=/dev/zero of=/swapfile bs=1k count=1024k -如果你想达到2GB,跳过上面的所有步骤,跟着下面做 +如果你想达到2GB,跳过上一步,跟着下面做 # dd if=/dev/zero of=/swapfile bs=1k count=2014k @@ -50,14 +52,14 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap # echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab -设置swappiness为10,这样交换内存仅作为一个紧急缓冲区用。 +设置swappiness参数为10,这样交换内存仅作为一个紧急缓冲区用。 # sudo sysctl -w vm.swappiness=10 # echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf ### 3. 安装Discourse ### -在我们的主机上安装Docker后,我们将会安装Discourse。现在,我们从官方的Discourse GitHub仓库克隆一份到/var/discourse目录下。我们需要运行下面的命令完成这一步。 +在我们的主机上安装好Docker后,我们将会安装Discourse。现在,我们从官方的Discourse GitHub仓库克隆一份到`/var/discourse`目录下。我们需要运行下面的命令完成这一步。 # mkdir /var/discourse/ @@ -65,7 +67,7 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap # git clone https://github.com/discourse/discourse_docker.git /var/discourse/ -克隆好仓库后,我们会为discourse服务器复制配置文件 +克隆好仓库后,我们给discourse服务器复制配置文件 # cp samples/standalone.yml containers/app.yml @@ -77,15 +79,15 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap # nano containers/app.yml -现在,我们需要设置开发者的邮箱地址为DISCOURSE_DEVELOPER_EMAILS,如下。 +现在,我们需要将开发者邮箱地址DISCOURSE_DEVELOPER_EMAILS修改为自己的,如下。 DISCOURSE_DEVELOPER_EMAILS: 'arun@linoxide.com' -然后,我们会设置主机名为服务器的域名。 +然后,我们设置主机名为服务器的域名。 DISCOURSE_HOSTNAME: 'discourse.linoxide.com' -接着,为每个托管在相同discourse主机或者vps上的SMTP服务器设定邮箱证书。SMTP设置需要从你的Discourse发送邮件 +接着,设置放在相同的discourse主机或vps上的SMTP服务器的认证信息。这些SMTP设置用于你的Discourse发送邮件。 DISCOURSE_SMTP_ADDRESS: smtp.linoxide.com DISCOURSE_SMTP_PORT: 587 # (optional) @@ -94,11 +96,9 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap ![](http://blog.linoxide.com/wp-content/uploads/2015/04/discourse-configuration.png) - Discourse 配置 - 如果你在使用一个1GB的Discourse,设定UNICORN_WORKERS为2,db_shared_buffers为128MB,这样你会有更多的内存空间。 -运行Discourse需要强制性地创建一个邮件服务器。如果你已经有一个服务器了那就好办多了,我们可以使用它的证书。如果你没有现成的邮件服务器,或者你不知道那是什么。没关系,创建一个免费的帐号在[Mandrill][1] ([Mailgun][2],或者[Mailjet][3]),然后使用面板上提供的证书。 +运行Discourse需要强制性地创建一个邮件服务器。如果你已经有一个服务器了那就好办多了,我们可以使用它的认证信息。如果你没有现成的邮件服务器,或者你不知道那是什么。没关系,可以在[Mandrill][1] (或[Mailgun][2]和 [Mailjet][3])创建一个免费的帐号,然后使用其提供的认证信息。 ### 5. 启动Discourse应用 ### @@ -110,35 +110,39 @@ docker安装包在Ubuntu的仓库里面是可用的,所以我们将会使用ap 上述命令可能会花去几分钟时间,会自动配置我们的Discourse环境。然后,该进程完成后,我们需要运行下面的命令启动Discourse App - #./launch start app + #./launcher start app ![Starting Discourse](http://blog.linoxide.com/wp-content/uploads/2015/04/starting-discourse.png) +如果一切都正常,我们就能使用惯用的浏览器来访问我们新鲜出炉的 Discourse 的 Web 界面了: http://ip-address/ or http://discourse.linoxide.com/ 。然后,我们就可以创建一个新账号并成为管理员。 + +![](http://blog.linoxide.com/wp-content/uploads/2015/04/Discourse-web-interface.png) + ### 维护 ### -这里往下是/var/discourse/目录里加载命令的使用,这使得我们可以承担维护的任务,通过Docker 容器控制Disourse。(这里不太明白原文表达意思) +这里往下是/var/discourse/目录里的 launcher 命令的用法,它可以用于我们在Docker 容器里面控制和维护Disourse。 - Usage: launcher COMMAND CONFIG [--skip-prereqs] - Commands: - start: Start/initialize a container - stop: Stop a running container - restart: Restart a container - destroy: Stop and remove a container - enter: Use nsenter to enter a container - ssh: Start a bash shell in a running container - logs: Docker logs for container - mailtest: Test the mail settings in a container - bootstrap: Bootstrap a container for the config based on a template - rebuild: Rebuild a container (destroy old, bootstrap, start new) - cleanup: Remove all containers that have stopped for > 24 hours + 用法: launcher 命令 配置 [--skip-prereqs] + 命令: + start: 启动/初始化一个容器 + stop: 停止一个运行的容器 + restart: 重启一个容器 + destroy:停止并删除一个容器 + enter: 使用 nsenter 进入容器 + ssh: 在一个运行的容器中启动一个 bash shell + logs: 容器的 Docker l日志 + mailtest: 在容器中测试邮件设置 + bootstrap: 基于配置模版来引导一个容器 + rebuild: 重建一个容器(摧毁旧的,初始化,启动新的) + cleanup: 清理所有停止了24小时以上的容器 - Options: - --skip-prereqs Don't check prerequisites - --docker-args Extra arguments to pass when running docker + 选项: + --skip-prereqs 不检查前置需求 + --docker-args 当运行 docker 时,展开并传入参数 ### 总结 ### -Hurray!我们已经成功使用Docker技术安装了Discourse。Docker技术使得Discourse十分容易安装在任何平台,并且包含所有的要求。我们需要自己的邮件服务器或者邮件服务器的证书来启动它。对于便捷的现代邮件列表,论坛来说,Discourse是一个伟大的平台。(最后这句有些别扭) +哈哈!我们已经成功使用Docker技术安装了Discourse。Docker技术使得Discourse十分容易安装在任何平台,并且包含所有的要求。我们需要自己的邮件服务器或者邮件服务器的证书来启动它。对于便捷的现代邮件列表,论坛来说,Discourse是一个伟大的平台。(最后这句有些别扭) -------------------------------------------------------------------------------- @@ -146,7 +150,7 @@ via: http://linoxide.com/how-tos/install-discourse-docker-container/ 作者:[Arun Pyasi][a] 译者:[wi-cuckoo](https://github.com/wi-cuckoo) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150423 20 Awesome Docker Containers for a Desktop User.md b/published/20150423 20 Awesome Docker Containers for a Desktop User.md similarity index 68% rename from translated/tech/20150423 20 Awesome Docker Containers for a Desktop User.md rename to published/20150423 20 Awesome Docker Containers for a Desktop User.md index 055c1eb9b5..a0ef45f433 100644 --- a/translated/tech/20150423 20 Awesome Docker Containers for a Desktop User.md +++ b/published/20150423 20 Awesome Docker Containers for a Desktop User.md @@ -1,12 +1,13 @@ -20个为桌面用户准备的令人惊叹的Docker容器 +20个令人惊叹的桌面Docker容器 ================================================================================ -大家好,今天我们会列出一些很棒的运行在Docker容器中的桌面软件,我们可以在自己的桌面系统中运行它们。Docker是一个开源的项目,它提供可以将应用程序作为一个轻量级容器来打包、传送和运行的开放平台。它没有语言支持、框架或打包系统的限制,可以运行在任何地方,从小型的家用电脑到高端的服务器。它可以使部署和扩展web应用程序、数据库和后端服务像搭积木一样容易,而不依赖特定技术栈或提供商。它主要是由开发、运维工程师使用的,因为它简单、快速和方便,可以用来测试和辅助开发他们产品,但是我们也可以在桌面环境使用Docker,这样一些桌面程序可以开箱即用。 + +大家好,今天我们会列出一些运行在Docker容器中的很棒的桌面软件,我们可以在自己的桌面系统中运行它们。Docker 是一个开源项目,提供了一个可以打包、装载和运行任何应用的轻量级容器的开放平台。它没有语言支持、框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行。它可以使部署和扩展web应用程序、数据库和后端服务像搭积木一样容易,而不依赖特定技术栈或提供商。它主要是由开发、运维工程师使用的,因为它简单、快速和方便,可以用来测试和辅助开发他们产品,但是我们也可以在桌面环境使用Docker,这样一些桌面程序可以开箱即用。 下边是20个非常棒的桌面软件docker镜像,我们可以使用Docker来运行。 ### 1. Lynx ### -Lynx是一个一直以来最受欢迎的文本界面网页浏览器,它对多数Linux用户来说都很熟悉。它应该是现在还在日常和开发环境中被使用的最古老的网页浏览器了。可以使用如下命令运行Lync。 +Lynx是一个一直以来最受欢迎的文本界面网页浏览器,很多Linux用户都很熟悉它。它应该是现在还在日常和开发环境中被使用的最古老的网页浏览器了。可以使用如下命令运行Lync。 $ docker run -it \ --name lynx \ @@ -39,7 +40,7 @@ Chrome是一个令人惊叹的图形界面网页浏览器,由Google开发, ### 4. Tor浏览器 ### -Tor浏览器是一个支持匿名访问的网页浏览器。它让我们可以自由地在网络世界遨游,或者浏览被特定组织或者网络服务提供商封锁的网站。它会阻止有人通过监视我们的网络连接来窃取我们在网络上的一举一动以及我们的确切位置。运行如下命令运行Tor浏览器。 +Tor浏览器是一个支持匿名访问的网页浏览器。它让我们可以自由地在网络世界遨游,或者浏览被特定组织或者网络服务提供商封锁的网站。它会阻止别人通过监视我们的网络连接来窃取我们在网络上的一举一动以及我们的确切位置。运行如下命令运行Tor浏览器。 $ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix \ @@ -50,7 +51,7 @@ Tor浏览器是一个支持匿名访问的网页浏览器。它让我们可以 ### 5. Firefox浏览器 ### -Firefox浏览器是一个自由并且开源的网页浏览器,它由Mozilla基金会开发。它使用Gecko和SpiderMonkey引擎。Firefox浏览器有很多新特性,并且它以性能和安全性著称。 +Firefox浏览器是一个自由开源的网页浏览器,它由Mozilla基金会开发。它使用Gecko和SpiderMonkey引擎。Firefox浏览器有很多新特性,并且它以性能和安全性著称。 $ docker run -d \ --name firefox \ @@ -71,12 +72,12 @@ Rainbow Stream是一个文本界面的Twitter客户端,有实时显示tweetstr ### 7. Gparted ### -Gparted是一个用来给磁盘分区的开源软件。现在可以在Docker容器里享受分区的乐趣。可以使用如下命令运行gparted。 +Gparted是一个用来给磁盘分区的开源软件。现在可以在Docker容器里享受分区的乐趣了。可以使用如下命令运行gparted。 $ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPLAY \ - --device /dev/sda:/dev/sda \ # mount the device to partition + --device /dev/sda:/dev/sda \ # 将设备挂载为分区 --name gparted \ jess/gparted @@ -91,7 +92,7 @@ GIMP(Gnu Image Manipulation Program)是一个令人惊叹的Linux图片编 ### 9. Thunderbird ### -Thunderbird是一个自由并且开源的电子邮件软件,它由Mozilla基金会开发和维护。它有众多一个电子邮件软件应该具有的功能。Thunderbird非常易于安装和定制。使用如下命令在Docker中运行Thunderbird。 +Thunderbird是一个自由开源的电子邮件软件,它由Mozilla基金会开发和维护。它有众多一个电子邮件软件应该具有的功能。Thunderbird非常易于安装和定制。使用如下命令在Docker中运行Thunderbird。 $ docker run -d \ -e DISPLAY \ @@ -102,7 +103,7 @@ Thunderbird是一个自由并且开源的电子邮件软件,它由Mozilla基 ### 10. Mutt ### -Mutt是一个文本界面的电子邮件客户端,有很多很酷的功能,如颜色支持,IMAP、POP3、SMTP支持,邮件存储支持等。 使用如下命令运行Mutt。 +Mutt是一个文本界面的电子邮件客户端,有很多很酷的功能,如彩色支持,IMAP、POP3、SMTP支持,邮件存储支持等。 使用如下命令运行Mutt。 $ docker run -it \ -v /etc/localtime:/etc/localtime \ @@ -114,7 +115,7 @@ Mutt是一个文本界面的电子邮件客户端,有很多很酷的功能, ### 11. Skype ### -Skype是一个支持文字、语音和视频的即时通讯软件,它不是开源的,但在Linux下可以很棒地运行。我们同样可以在Docker中运行Skype,使用如下命令。 +Skype是一个支持文字、语音和视频的即时通讯软件,它不是开源的,但在Linux下可以运行的很好。我们同样可以在Docker中运行Skype,使用如下命令。 $ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix:ro \ @@ -124,7 +125,7 @@ Skype是一个支持文字、语音和视频的即时通讯软件,它不是开 ### 12. Cathode ### -Cathode是一个漂亮并且高度可定制的终端模拟器,灵感来自经典的计算机。使用如下命令运行Cathode。 +Cathode是一个漂亮并且高度可定制的终端模拟器,灵感来自古典计算机。使用如下命令运行Cathode。 $ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix \ @@ -134,7 +135,8 @@ Cathode是一个漂亮并且高度可定制的终端模拟器,灵感来自经 ### 13. LibreOffice ### -LibreOffice是一个功能强大的办公套件,它是自由和开源的,现在由The Document基金会维护。它有干净的界面和强大的功能,让我们释放创造力和提升生产力。LibreOffice将数个应用程序集成在一起,是市面上最强大的自由并且开源的办公套件。 +LibreOffice是一个功能强大的办公套件,它是自由开源的,现在由The Document基金会维护。它有干净的界面和强大的功能,让我们释放创造力和提升生产力。LibreOffice将数个应用程序集成在一起,是市面上最强大的自由并且开源的办公套件。 + $docker run \ -v $HOME/Documents:/home/libreoffice/Documents:rw \ -v /tmp/.X11-unix:/tmp/.X11-unix \ @@ -155,7 +157,7 @@ Spotify可以即时访问数百万的歌曲,从经典老歌到最新单曲。 ### 15. Audacity ### -Audacity是一个自由并且开源的跨平台软件,用来录制和编辑音频。Audacity可以用来做所有类型音频(例如podcast)的后期处理,如归一化、调整、淡入淡出。使用如下命令来运行Audacity。 +Audacity是一个自由开源的跨平台软件,用来录制和编辑音频。Audacity可以用来做所有类型音频(例如podcast)的后期处理,如归一化、调整、淡入淡出。使用如下命令来运行Audacity。 $ docker run --rm \ -u $(id -u):$(id -g) \ @@ -178,7 +180,7 @@ Eclipse是一个集成开发环境。它包含基本的工作区和用来定制 ### 17. VLC媒体播放器 ### -VLC是一个自由并且开源的跨平台多媒体播放器,可以播放本地文件、DVD、CD、VCD和各种流媒体。VLC由VideoLAN组织开发和维护。使用如下命令运行VLC。 +VLC是一个自由开源的跨平台多媒体播放器,可以播放本地文件、DVD、CD、VCD和各种流媒体。VLC由VideoLAN组织开发和维护。使用如下命令运行VLC。 $ docker run -v\ $HOME/Documents:/home/vlc/Documents:rw \ @@ -196,7 +198,7 @@ Vim是一个高度可配置的文本界面文字编辑器,为高效的文本 ### 19. Inkscape ### -Inkscape是一个自由并且开源的矢量图形编辑器。它可以创建、编辑矢量图形,如插图、图示、线条艺术、图表、徽标以及更复杂的绘画。Inkscape使用的主要矢量图形格式是SVG 1.1版本。它也可以导入和导出一些其他的格式,但实际编辑使用的还是SVG格式。 +Inkscape是一个自由开源的矢量图形编辑器。它可以创建、编辑矢量图形,如插图、图示、线条艺术、图表、徽标以及更复杂的绘画。Inkscape使用的主要矢量图形格式是SVG 1.1版本。它也可以导入和导出一些其他的格式,但实际编辑使用的还是SVG格式。 $docker build -t rasch/inkscape --rm . $ docker run --rm -e DISPLAY \ @@ -207,7 +209,7 @@ Inkscape是一个自由并且开源的矢量图形编辑器。它可以创建、 ### 20. Filezilla ### -Filezilla是一个自由的FTP解决方案,支持FTP、SFTP、FTPS协议。它的客户端是一个功能强大的文件管理工具。它是一个很棒的高度可靠和易用的开源FTP解决方案。 +Filezilla是一个免费的FTP解决方案,支持FTP、SFTP、FTPS协议。它的客户端是一个功能强大的文件管理工具。它是一个很棒的高度可靠和易用的开源FTP解决方案。 $ xhost +si:localuser:$(whoami) $ docker run \ @@ -229,7 +231,7 @@ via: http://linoxide.com/how-tos/20-docker-containers-desktop-user/ 作者:[Arun Pyasi][a] 译者:[goreliu](https://github.com/goreliu) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md b/published/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md similarity index 75% rename from translated/tech/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md rename to published/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md index 5e7413e37d..958ce87fae 100644 --- a/translated/tech/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md +++ b/published/20150423 How to Change Default Web Browser and Email Client in Ubuntu.md @@ -4,19 +4,17 @@ Ubuntu 自带了一些已经预装的默认应用程序,包括非常流行的 ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/web-browser.png) -尽管这两个应用都有它们自己的粉丝,但是没有一个应用能符合每个人的口味和需要。我们经常收到邮件或者推文,询问我们怎样可以在 Ubuntu 上更改默认浏览器或者设置处理邮件链接的不同的电子邮件客户端等。 +尽管这两个应用都有它们自己的粉丝,但是没有一个应用能符合每个人的口味和需要。我们经常收到邮件或者推文,询问我们可以怎样在 Ubuntu 上更改默认浏览器或者设置处理邮件链接为不同的电子邮件客户端等。 -我们在这里不仅讨论如何安装不同的软件,还包括如何给一个特定的文件,链接或者内容类型设置系统处理应用。 +我们在这里不仅讨论如何安装不同的软件,还包括如何给一个特定的文件,链接或者内容类型设置其系统处理应用。 在 Ubuntu 中更改默认应用程序,包括浏览器、电子邮件客户端、文本编辑器、音乐和视频播放器都非常的简单。但并不是每个人都知道更改这些的设置面板在哪里,让我们来快速看一下吧。 ### 如何在 Ubuntu 上更改默认浏览器 ### -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/change-default-browser-in-ubuntu-750x402.jpg) +Mozilla 火狐浏览器是一扇稳定、开源而且可靠的互联网之窗,但它并不是每个人的选择。这都没关系。 -Mozilla 火狐浏览器是万维网上稳定、开源而且可依赖的窗口,但它并不是每个人的选择。这都没关系。 - -在 Ubuntu 上使用不同的默认浏览器,首先,显而易见,你需要安装一个新的浏览器。你该怎么做取决于你想要的浏览器: +要在 Ubuntu 上使用不同的默认浏览器,首先,显而易见,你需要安装一个新的浏览器。你该怎么做取决于你想要的浏览器: - 开源浏览器,例如 [Epiphany][1], [Chromium][2] 和 [IceWeasel][3],可以从 Ubuntu 软件中心安装。 @@ -24,9 +22,9 @@ Mozilla 火狐浏览器是万维网上稳定、开源而且可依赖的窗口, 不管你选择哪个浏览器,不管你选择怎样安装,完成之后你就可以继续了。 -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/system-settings-ubuntu-300x215.jpg) +要更改在点击其它应用(如即时通讯软件、Twitter 客户端、 e-mail 中)中的链接时打开的默认网页浏览器,你需要用到 Ubuntu 系统设置工具。 -点击其它应用上的链接,例如及时通讯软件、Twitter 客户端、 e-mail,要更改打开网页的默认浏览器,你需要用到 Ubuntu 系统设置工具。 +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/system-settings-ubuntu-300x215.jpg) 你可以用多种方法打开系统设置。其中一种最快的方式是点击右上角(RTL系统是左上角)的 Cog 图标并选择‘系统设置’菜单快捷方式。 @@ -35,25 +33,27 @@ Mozilla 火狐浏览器是万维网上稳定、开源而且可依赖的窗口, 1. 在侧边栏选择‘默认应用程序’ 1. 把 ‘Web’ 条目的 ‘火狐’ 改为你想要的选项 +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/change-default-browser-in-ubuntu-750x402.jpg) + 就是这样。 ### 如何在 Ubuntu 上更改默认的邮件客户端 ### -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/CHANGE-DEFAULT-APPS-UBUNTU.jpg) - -Ubuntu 用 Thunderbird 作为默认的邮件应用程序。这意味着 当你点击大部分浏览器、 PDF文件、及时通讯软件等上的 **电子邮件地址或者一个 [mailto 链接][7] 的时候会自动打开** 这个应用。 +Ubuntu 用 Thunderbird 作为默认的邮件应用程序。这意味着当你点击大部分浏览器、 PDF文件、及时通讯软件等上的 **电子邮件地址或者一个 [mailto 链接][7] 的时候会自动打开** 这个应用。 当然,如果你使用 Thunderbird,这真的很方便。但是我们很多人并非如此; 我们可能**[使用像 Geary 这样的轻量级客户端][8]**,GNOME stalwart Evolution,或者依靠像 Gmail 或者 Outlook 这样的网络邮件服务。 在 Ubuntu 上从 Thunderbird **更改默认邮件客户端** 到另一个应用程序,打开系统设置 > 详细 > 默认应用程序。点击下拉菜单到 ‘Mail’ 并选择从列表中选择你喜欢的客户端。 -**在 Ubuntu 上设置 Gmail 为默认的邮件客户端**,你首先需要点击下面的按钮安装 ‘gnome-gmail’ 软件包。安装完后打开系统设置 > 详细 > 默认应用程序。点击下拉菜单到 ‘Mail’ 并选择从列表中选择 ‘Gmail’。 +**在 Ubuntu 上设置 Gmail 为默认的邮件客户端**,你首先需要点击下面的按钮安装 ‘gnome-gmail’ 软件包。安装完后打开系统设置 > 详细 > 默认应用程序。然后点击‘Mail’ 的下拉菜单,并选择从列表中选择 ‘Gmail’。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/CHANGE-DEFAULT-APPS-UBUNTU.jpg) - [在 Ubuntu 上安装 GNOME Gmail][9] ### 更多 ### -上述同样的步骤可以用来设置你双击音乐文件时打开你喜欢的音乐播放器,用比如 VLC 应用程序处理 .avi 和 .mp4 文件,等等。 +上述同样的步骤也可以用来设置你双击音乐文件时打开你喜欢的音乐播放器,用比如 VLC 应用程序处理 .avi 和 .mp4 文件,等等。 -------------------------------------------------------------------------------- @@ -61,7 +61,7 @@ via: http://www.omgubuntu.co.uk/2015/04/change-your-default-web-browser-in-ubunt 作者:[Joey-Elijah Sneddon][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -73,5 +73,5 @@ via: http://www.omgubuntu.co.uk/2015/04/change-your-default-web-browser-in-ubunt [5]:http://www.opera.com/computer/linux [6]:https://vivaldi.com/#Download [7]:http://en.wikipedia.org/wiki/Mailto -[8]:http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update +[8]:https://linux.cn/article-5511-1.html [9]:apt://gnome-gmail \ No newline at end of file diff --git a/published/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md b/published/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md new file mode 100644 index 0000000000..de0f973cc8 --- /dev/null +++ b/published/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md @@ -0,0 +1,332 @@ +安装完Ubuntu 15.04桌面后要做的15件事 +================================================================================ +本教程适用于在自己的电脑上安装了 Ubuntu 15.04 “Vivid Vervet” 桌面的新手,这里会告诉你安装之后应该做哪些事情,来自定义你的系统和安装一些基本程序作为日常使用。 + +![Things to Do After Installing Ubuntu 15.04](http://www.tecmint.com/wp-content/uploads/2015/04/things-to-do-after-installing-ubuntu-15.04.jpeg) + +*安装完Ubuntu 15.04桌面后要做的15件事* + +### 1. 启用Ubuntu额外软件库并更新系统 ### + +在刚装好Ubuntu之后你应该要关心的第一件事是启用Canonical的官方合作伙伴提供的Ubuntu额外软件库,并且通过最近一次的安全补丁和软件更新来保持系统是最新状态。 + +要完成这一步,依次从左边菜单中打开System Settings -> Software and Updates工具,并检查所有Ubuntu软件和其他软件库(Canonical 的合作伙伴所提供),点击关闭按钮并等待重新加载缓存源树。 + +![Software Updates](http://www.tecmint.com/wp-content/uploads/2015/04/Software-Updates.jpg) + +*软件更新* + +![Other Software (Canonical Partners)](http://www.tecmint.com/wp-content/uploads/2015/04/Other-Software.jpg) + +*其它软件(Canonical 合作伙伴)* + +为了快速而顺畅的更新,打开终端并输入以下命令来让系统使用新软件库: + + $ sudo apt-get update + $ sudo apt-get upgrade + +![Ubuntu Upgrade](http://www.tecmint.com/wp-content/uploads/2015/04/Ubuntu-Upgrade.jpg) + +*Ubuntu 升级* + +### 2. 安装额外驱动 ### + +为了能让系统扫描并安装额外的硬件专有驱动,我们依然从System Settings打开Software and Updates工具,选择Additional Drivers标签并等待该工具扫描驱动。 + +如果有驱动匹配到了你的硬件,查看你想要安装的驱动并点击Apply按钮来安装它。如果专有驱动没有如预期的工作,用Revert按钮就能卸载它们或勾选Do not use the device后点击Apply按钮。 + +![Install Drivers in Ubuntu](http://www.tecmint.com/wp-content/uploads/2015/04/install-drivers.jpg) + +*安装驱动* + +### 3. 安装Synaptic和Gdebi工具 ### + +除了Ubuntu Software Center之外,Synaptic也是一个apt的图形化工具,通过它你能管理、安装、卸载、搜索和升级软件库并配置软件包。同样的,Gdebi对本地的.deb 包也有类似功能。在终端上输入以下命令来安装这两个包: + + $ sudo apt-get install synaptic gdebi + +![Install Synaptic and Gdebi](http://www.tecmint.com/wp-content/uploads/2015/04/install-synaptic-gdebi.jpg) + +*安装 Synaptic 和 Gdebi* + +![Synaptic Package Manager](http://www.tecmint.com/wp-content/uploads/2015/04/synaptic-package-manager.jpg) + +*Synaptic 包管理器* + +### 4. 更改系统外观和行为 ### + +如果你想要更改桌面背景或图标大小,依次打开System Settings –> Appearance –> Look,并对桌面进行个性化设置。要把菜单移动到窗口标题栏,在Behavior标签中设置即可。 + +![System Appearances](http://www.tecmint.com/wp-content/uploads/2015/04/system-appearance.jpg) + +*系统外观* + +### 5. 提升系统安全性和隐私性 ### + +![System Security Enhancement](http://www.tecmint.com/wp-content/uploads/2015/04/system-security-1.jpg) + +*增强系统安全* + +![System Security Options](http://www.tecmint.com/wp-content/uploads/2015/04/system-security-2.jpg) + +*系统安全选项* + +### 6. 禁用不需要开机自启动的应用程序 ### + +要提高登录系统的速度,通过输入以下命令来显示被隐藏的开机启动应用程序。 + + $ sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop + +在Dash中搜索打开Startup Applications工具,并反选不需要在登录系统的过程中启动的程序。 + +![Disable Unwanted Applications](http://www.tecmint.com/wp-content/uploads/2015/04/disable-unwanted-applications.jpg) + +*禁用不需要的应用程序* + +### 7. 添加扩展多媒体支持 ### + +默认情况下,Ubuntu对多媒体文件支持不是很好。为了能播放各种不同的多媒体格式或解析视频文件,可以安装以下多媒体应用程序: + +- VLC +- Smplayer +- Audacious +- QMMP +- Mixxx +- XBMC +- Handbrake +- Openshot + +用以下命令来一次性安装所有的这些应用程序: + + $ sudo apt-get install vlc smplayer audacious qmmp mixxx xbmc handbrake openshot + +![Install Media Players](http://www.tecmint.com/wp-content/uploads/2015/04/install-media-players.jpg) + +*安装媒体播放器* + +![Media Player Playlist](http://www.tecmint.com/wp-content/uploads/2015/04/media-playllist.jpg) + +*媒体播放器的播放列表* + +除了多媒体播放器,安装ubuntu-restricted-extras和Java支持包也可以解码并支持其它受限制的多媒体格式。 + + $ sudo apt-get install ubuntu-restricted-extras openjdk-8-jdk + +![Install Ubuntu Extras](http://www.tecmint.com/wp-content/uploads/2015/04/install-ubuntu-extras.jpg) + +*安装 Ubuntu Extras* + +在终端上输入以下命令来启用DVD 回放和其它多媒体解码器: + + $ sudo apt-get install ffmpeg gstreamer0.10-plugins-bad lame libavcodec-extra + $ sudo /usr/share/doc/libdvdread4/install-css.sh + +![Enable Video Codes](http://www.tecmint.com/wp-content/uploads/2015/04/enable-video-playbacks.jpg) + +*启用视频解码器* + +### 8. 安装图像处理应用程序和安装媒体烧录软件 ### + +如果你是一个摄影爱好者,想在Ubuntu上处理调整图像,或许需要安装一下图像处理程序: + +- GIMP (一个 Adobe Photoshop 替代品) +- Darktable +- Rawtherapee +- Pinta +- Shotwell +- Inkscape (一个 Adobe Illustrator 替代品) +- Digikam +- Cheese + +这些应用程序能从Ubuntu Software Center中安装,或者立刻在终端上使用以下命令: + + $ sudo apt-get install gimp gimp-plugin-registry gimp-data-extras darktable rawtherapee pinta shotwell inkscape + +![Install Image Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-image-applications.jpg) + +*安装图像处理应用程序* + +![Rawtherapee Tool](http://www.tecmint.com/wp-content/uploads/2015/04/rawtherapee.jpg) + +*Rawtherapee Tool* + +如果要挂载ISO镜像或烧录一张CD或DVD,你可以选择并安装以下软件中的一款: + +- Brasero Disk Burner +- K3b +- Xfburn +- Furius ISO Mount + + $ sudo apt-get install brasero + $ sudo apt-get install k3b + $ sudo apt-get install xfburn + $ sudo apt-get install furiusisomount + +![Install Media Burners](http://www.tecmint.com/wp-content/uploads/2015/04/install-media-burners.jpg) + +*安装媒体烧录软件* + +### 9. 安装压缩应用程序 ### + +如果要处理大多数归档格式的文件(zip, tar.gz, zip, 7zip rar等等),输入以下命令来安装这些包: + + $ sudo apt-get install unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack arj cabextract file-roller + +![Install Archive Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-archive-apps.jpg) + +*安装压缩应用程序* + +### 10. 安装聊天应用程序 ### + +如果你想要和世界各地的人们聊天,这里有一份最流行的Linux聊天应用程序列表: + +- Pidgin +- Skype +- Xchat +- Telegram +- aMSN +- Viber + +你可以从Ubuntu Software Center中安装它们或使用以下命令: + + $ sudo apt-get install pidgin + $ sudo apt-get install skype + $ sudo apt-get install xchat + $ sudo apt-get install amsn + $ sudo add-apt-repository ppa:atareao/telegram -y + $ sudo apt-get update + $ sudo apt-get install telegram + +![Install Chat Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-chat-apps.jpg) + +*安装聊天应用程序* + +想要在Ubuntu上安装Viber可以访问[Viber官方网站][1]下载Debian安装包到本地,并用Gdebi包管理工具来安装viber.deb应用程序(右击 –> 打开 -> GDebi Package Installer). + +![Install Viber in Ubuntu](http://www.tecmint.com/wp-content/uploads/2015/04/install-viber.jpg) + +*安装 Viber* + +### 11. 安装种子软件 ### + +在Ubuntu最流行的种子应用程序和P2P文件共享程序是: + +- Deluge +- Transmission +- Qbittorrent +- LinuxDC++ + +想要在Ubuntu上安装你最喜欢的P2P文件共享应用程序,可以在终端上输入以下命令: + + $ sudo apt-get install deluge + $ sudo apt-get install transmission + $ sudo apt-get install qbittorrent + $ sudo apt-get install linuxdcpp + +![Install Torrent](http://www.tecmint.com/wp-content/uploads/2015/04/install-torrent.jpg) + +*安装种子软件* + +### 12. 安装Windows仿真器-Wine和游戏支持平台-Steam ### + +Wine仿真器允许你在Linux上安装并运行Window应用程序。在另一方面,Steam是一款Valve开发的基于Linux系统的流行游戏平台。想要在你的机器上安装它们,可以输入以下命令或使用Ubuntu Software Center。 + + $ sudo apt-get install steam wine winetricks + +![Install Wine](http://www.tecmint.com/wp-content/uploads/2015/04/install-wine.jpg) + +*安装 Wine* + +### 13. 安装Cairo-Dock并启用桌面视觉效果 ### + +Cairo-Dock是一款漂亮且灵巧的用于Linux桌面上的启动条,类似于Mac OS X dock。想要在Ubuntu上安装它,可以在终端上运行以下命令: + + $ sudo apt-get install cairo-dock cairo-dock-plug-ins + +![Install Cairo Dock](http://www.tecmint.com/wp-content/uploads/2015/04/install-cairo-dock.jpg) + +*安装Cairo-Dock* + +![Add Cairo Dock at Startup](http://www.tecmint.com/wp-content/uploads/2015/04/add-cairo-dock-startup.jpg) + +*让 Cairo Dock 自动启动* + +想要启用某一套桌面效果,例如Cube效果,可以使用以下命令来安装Compiz包: + + $ sudo apt-get install compiz compizconfig-settings-manager compiz-plugins-extra + +想要激活桌面Cube效果,在Dash上查找ccsm来打开CompizConfig Settings Manager,找到General Options – > Desktop Size并设置Horizontal Virtual Size的值为4,Vertical Virtual Size的值为1。然后返回检查Desktop Cube框(禁用Desktop Wall)和Rotate Cube框(解决冲突 -> 禁止切换视图1)并Ctrl+Alt+鼠标左击来查看cube效果。 + +![Enable Compiz](http://www.tecmint.com/wp-content/uploads/2015/04/enable-compiz.jpg) + +*启用Compiz* + +![Compiz Settings](http://www.tecmint.com/wp-content/uploads/2015/04/compiz-settings.jpg) + +*Compiz设置* + +![Compiz Settings Addons](http://www.tecmint.com/wp-content/uploads/2015/04/compiz-settings-1.jpg) + +*Compiz设置插件* + +![Desktop Window Rotating](http://www.tecmint.com/wp-content/uploads/2015/04/desktop-cube.jpg) + +*桌面窗口旋转* + +### 14. 添加其它浏览器 ### + +Ubuntu 15.04默认浏览器是Mozilla Firefox。想要安装其它浏览器比如Google Chrome或Opera,可以访问它们的官方网站,下载所提供的.deb包并用Gdebi Package Installer在你的系统上安装它们。 + +![Enable Browser Support](http://www.tecmint.com/wp-content/uploads/2015/04/enable-browser-support.jpg) + +*启用浏览器支持* + +![Opera Browser Support](http://www.tecmint.com/wp-content/uploads/2015/04/opera.jpg) + +*Opera Browser* + +想要安装Chromium开源浏览器请在终端上输入以下命令: + + $ sudo apt-get install chromium-browser + +### 15. 安装Tweak工具 ### + +想要用额外的应用程序来自定义Ubuntu吗?在终端上输入以下命令来安装Unity Tweak工具和Gnome Tweak工具: + + $ sudo apt-get install unity-tweak-tool gnome-tweak-tool + +![Install Tweak Tool](http://www.tecmint.com/wp-content/uploads/2015/04/install-tweak-tool.jpg) + +*安装Tweak Tool* + +![Tweak Tool Settings](http://www.tecmint.com/wp-content/uploads/2015/04/tweak-settings.jpg) + +*Tweak Tool 设置* + +另一个有趣的tweak工具主要是Ubuntu Tweak包,可以通过访问官方网站来获取并安装: [http://ubuntu-tweak.com/][2]。 + +![Tweak Tool: System Information](http://www.tecmint.com/wp-content/uploads/2015/04/tweak-system-info.jpg) + +*Tweak Tool: 系统信息* + +在你安装好这一连串软件之后,你或许想要清理一下你的系统来释放一点硬盘上的空间,输入以下命令即可: + + $ sudo apt-get -y autoremove + $ sudo apt-get -y autoclean + $ sudo apt-get -y clean + +这只是一些普通用户日常使用Ubuntu 15.04桌面是需要调整和安装的程序。想要了解更多高级的程序,特性和功能,请使用Ubuntu Software Center或查阅Ubuntu Wiki主页。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/things-to-do-after-installing-ubuntu-15-04-desktop/ + +作者:[Matei Cezar][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/cezarmatei/ +[1]:http://www.viber.com/en/products/linux +[2]:http://ubuntu-tweak.com/ diff --git a/translated/tech/20150427 How to set up NTP server in CentOS.md b/published/20150427 How to set up NTP server in CentOS.md similarity index 60% rename from translated/tech/20150427 How to set up NTP server in CentOS.md rename to published/20150427 How to set up NTP server in CentOS.md index 3924edd93f..deb5cc3ca6 100644 --- a/translated/tech/20150427 How to set up NTP server in CentOS.md +++ b/published/20150427 How to set up NTP server in CentOS.md @@ -1,30 +1,31 @@ 如何在 CentOS 中设置 NTP 服务器 ================================================================================ -网络时间协议(NTP)用来同步网络上不同主机的系统时间。所有托管的主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。另一方面一个 NTP 服务器将它的时间和任何公共 NTP 服务器,或者你选定的服务器同步。NTP 托管的所有系统时钟都同步精确到毫秒级。 -在一个协作环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。在介绍详细内容之前,让我们先来简单了解一下 NTP 的概念。 +网络时间协议(NTP)用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。 + +在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。在介绍详细内容之前,让我们先来简单了解一下 NTP 的概念。 ### 为什么我们需要 NTP? ### -由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的偏移于其它,导致有名的 “时钟漂移” 或 “时间漂移”。为了最小化时钟漂移的影响,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。 +由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。为了将时钟漂移的影响最小化,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。 -在不同的主机之间进行时间同步对于计划备份、[干扰检测][1]日志、[分布式任务调度][2]或者事务订单管理来说是很重要的事情。它甚至可能要求作为日常任务的一部分。 +在不同的主机之间进行时间同步对于计划备份、[入侵检测][1]记录、[分布式任务调度][2]或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。 -### NTP 层次 ### +### NTP 的层次结构 ### -NTP 时钟以层次模型组织。层级中的每层被称为一个 *stratum*。stratum 的概念说明了一台机器到授权的时间源有多少 NTP 跳。 +NTP 时钟以层次模型组织。层级中的每层被称为一个 *stratum(阶层)*。stratum 的概念说明了一台机器到授权的时间源有多少 NTP 跳。 ![](https://farm8.staticflickr.com/7590/16645732413_3b7af58186_c.jpg) -Stratum 0 由没有时间漂移的时钟组成,例如原子时钟。这种时钟不能在网络上直接使用。Stratum N (N > 1) 层服务器从 Stratum N-1 层服务器同步时间。Stratum N 时钟可能通过网络和彼此互联。 +Stratum 0 由没有时间漂移的时钟组成,例如原子时钟。这种时钟不能在网络上直接使用。Stratum N (N > 1) 层服务器从 Stratum N-1 层服务器同步时间。Stratum N 时钟能通过网络和彼此互联。 -NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不能使用的。 +NTP 支持多达 15 个 stratum 的层级。Stratum 16 被认为是未同步的,不能使用的。 ### 准备 CentOS 服务器 ### 现在让我们来开始在 CentOS 上设置 NTP 服务器。 -首先,我们需要保证正确设置了服务器的时区。在 CentOS 7 中,我们可以使用 timedatectl 命令查看和更改服务器的时区(比如,"Australia/Adelaide") +首先,我们需要保证正确设置了服务器的时区。在 CentOS 7 中,我们可以使用 timedatectl 命令查看和更改服务器的时区(比如,"Australia/Adelaide",LCTT 译注:中国可设置为 Asia/Shanghai ) # timedatectl list-timezones | grep Australia # timedatectl set-timezone Australia/Adelaide @@ -56,7 +57,7 @@ NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不 # chown ntp:ntp /var/log/ntpd.log # chcon -t ntpd_log_t /var/log/ntpd.log -现在初始化 NTP 服务并确保把它添加到了随机启动。 +现在初始化 NTP 服务并确保把它添加到了开机启动。 # systemctl restart ntp # systemctl enable ntp @@ -69,19 +70,18 @@ NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不 下面的表格解释了输出列。 -注:表格 - + - + - + @@ -89,15 +89,15 @@ NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不 - + - + - + @@ -109,7 +109,7 @@ NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不 - +
remote源在 ntp.conf 中定义。‘*’ 表示当前使用的最好的源;‘+’ 表示可作为 NTP 源的源;‘-’ 标记的源是不可用的。源在 ntp.conf 中定义。‘*’ 表示当前使用的,也是最好的源;‘+’ 表示这些源可作为 NTP 源;‘-’ 标记的源是不可用的。
refid和远程服务器时钟同步的时钟的 IP 地址。用于和本地时钟同步的远程服务器的 IP 地址。
stStratumStratum(阶层)
t
when自从上次和服务器交互经过的时间(以秒数计)。自从上次和服务器交互后经过的时间(以秒数计)。
poll和服务器的轮询频率,以秒数计。和服务器的轮询间隔,以秒数计。
reach表示和服务器交互是否有任何错误的十进制数。值 337 表示 100% 成功。表示和服务器交互是否有任何错误的八进制数。值 337 表示 100% 成功(即十进制的255)。
delay
jitter两个例子之间平局时间差异,以毫秒数计。两次取样之间平均时差,以毫秒数计。
@@ -120,13 +120,13 @@ NTP 支持多达 15 stratums 的层级。Stratum 16 被认为是没有同步不 # iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 123 -j ACCEPT # iptables -A INPUT -p udp --dport 123 -j DROP -该规则允许从 192.168.1.0/24 来的 NTP 流量(端口 UDP/123),任何其它网络的流量会被截停。你可以根据需要更改规则。 +该规则允许从 192.168.1.0/24 来的 NTP 流量(端口 UDP/123),任何其它网络的流量会被丢弃。你可以根据需要更改规则。 ### 配置 NTP 客户端 ### #### 1. Linux #### -NTP 客户端主机需要 ntpupdate 软件包和服务器同步时间。可以轻松地使用 yum 或 apt-get 安装这个软件包。安装完软件包之后,用服务器的 IP 地址运行下面的命令。 +NTP 客户端主机需要 ntpupdate 软件包来和服务器同步时间。可以轻松地使用 yum 或 apt-get 安装这个软件包。安装完软件包之后,用服务器的 IP 地址运行下面的命令。 # ntpdate @@ -138,17 +138,17 @@ NTP 客户端主机需要 ntpupdate 软件包和服务器同步时间。可以 #### 3. Cisco 设备 #### -如果你想和 Cisco 设备同步时间,你可以在全局配置模式下使用下面的命令。 +如果你想要同步 Cisco 设备的时间,你可以在全局配置模式下使用下面的命令。 # ntp server -其它有支持 NTP 的卖家有自己的参数用于网络时间。如果你想将设备和 NTP服务器同步时间,请查看设备的说明文档。 +来自其它厂家的支持 NTP 的设备有自己的用于网络时间的参数。如果你想将设备和 NTP服务器同步时间,请查看设备的说明文档。 ### 结论 ### 总而言之,NTP 是在你的所有主机上同步时钟的一个协议。我们已经介绍了如何设置 NTP 服务器并使支持 NTP 的设备和服务器同步时间。 -希望能对你有所帮助 +希望能对你有所帮助。 -------------------------------------------------------------------------------- @@ -156,7 +156,7 @@ via: http://xmodulo.com/setup-ntp-server-centos.html 作者:[Sarmed Rahman][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md b/published/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md similarity index 75% rename from translated/tech/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md rename to published/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md index 1e2a36a0a7..5dba39a1d3 100644 --- a/translated/tech/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md +++ b/published/20150429 KDE Plasma 5.3 Released, Here' s How To Upgrade in Kubuntu 15.04.md @@ -1,7 +1,6 @@ - -KDE Plasma 5.3已发布,Kubuntu 15.04升级攻略 +在 Kubuntu 15.04 中升级 KDE Plasma 5.3 ================================================================================ -**KDE[已经宣布][1]Plasma 5.3的稳定版已经准备就绪,它包含了一个新的电源管理方面的稳定特性。** +**KDE[已经发布了][1]Plasma 5.3的稳定版,它包含了一个新的电源管理方面的稳定特性。** [先前四月份的beta版][2]已经让我们印象深刻,甚至跃跃欲试了,Plasma 5桌面环境的稳定版更新的最新更新已经稳定,并且可以下载了。 @@ -10,7 +9,8 @@ Plasma 5.3继续改善和细化了全新的KDE桌面,它添加了大量的特 ### Plasma 5.3中的新东西 ### ![Better Bluetooth Management in Plasma 5.3](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/bluetooth-applet-in-kde.jpg) -Plasma 5.3中更好的蓝牙管理 + +*Plasma 5.3中更好的蓝牙管理* 而[在早期关于Plasma 5.3的文章][3]中,我们触及了大量**新特性**,这其中很多都值得反复说道说道。 @@ -18,19 +18,21 @@ Plasma 5.3中更好的蓝牙管理 在连接了外部监视器的时候合上笔记本盖子时,不会再触发‘挂起’操作。这个新的行为被称之为‘**影院模式**’,并且默认开启。但是,可以通功过电源管理设置中的相关选项禁用。 -**蓝牙功能被改善**,带来了一个全新的面板小程序,使得在连接到并配置配对的蓝牙设备,如只能手机、键盘和扬声器时,比以往更为便捷。 +**蓝牙功能被改善**,带来了一个全新的面板小程序,使得在连接到并配置配对的蓝牙设备,如智能手机、键盘和扬声器时,比以往更为便捷。 同样,对于Plasma 5.3,**KDE中的轨迹板配置更为方便**,这多亏了新的安装和设置模块。 + ![Trackpad, Touchpad. Tomato, Tomayto.](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/touchpad-kde.jpg) -轨迹板、触控板。Tomato, Tomayto。 -对于Plasma小部件狂热者,带来了一个**按住并锁定**手势。当启用该功能,会隐藏移动鼠标时出现的设置处理。取而代之的是,它只会在长点击小部件时发生该行为。 +*轨迹板、触控板。Tomato, Tomayto。* -谈到widget-y这类事情时,该发布版中**再次引入了几个旧的Plasmoid最受欢迎的东西**,包括一个有用的系统监视器、便利的硬盘驱动器统计和一个漫画阅读器。 +对于Plasma小部件狂热者,它带来了一个**按住并锁定**手势。当启用该功能,会隐藏移动鼠标时出现的设置处理。取而代之的是,它只会在长点击小部件时发生该行为。 + +谈到widget-y这类事情时,该发布版中**再次引入了几个旧的Plasmoid中最受欢迎的东西**,包括一个有用的系统监视器、便利的硬盘驱动器统计和一个漫画阅读器。 ### 了解更多&尝试 ### -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/plasma-5.3-beta.jpg\) +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/plasma-5.3-beta.jpg) 一张全部内容的完整列表——我说全部内容——是指Plasma 5.3中[在官方修改日志中][4]列出的新的和改进的内容。 @@ -40,7 +42,7 @@ Plasma 5.3中更好的蓝牙管理 如果你需要超级稳定的系统,你可以使用这些镜像来尝试新特性,但是你可以继续使用你的主要计算机上与你的版本对应的KDE版本。 -但是,如果你对实验版满意——请阅:能够处理任何包冲突,或者由尝试升级桌面环境而导致的系统问题——那么你可以安装。 +不过,如果你对实验版满意——请注意:能够处理任何包冲突,或者由尝试升级桌面环境而导致的系统问题——那么你可以安装。 ### 安装Plasma 5.3到Kubuntu 15.04 ### @@ -52,20 +54,19 @@ Kubuntu移植PPA可能也会升级除了安装在你系统上的Plasma外的其 目前为止,使用命令行来升级Kubuntu中的到Plasma 5.3是最快速的方法: - sudo add-apt-repository ppa:kubuntu-ppa/backports - + sudo add-apt-repository ppa:kubuntu-ppa/backports sudo apt-get update && sudo apt-get dist-upgrade 在升级过程完成后,如果一切顺利,你应该重启计算机。 如果你正在使用一个备用桌面环境,比如LXDE、Unity或者GNOME,则你需要在运行完上面的两个命令后安装Kubuntu桌面包(你可以在Ubuntu软件中心找到)。 -To downgrade to the stock version of Plasma in 15.04 you can use the PPA-Purge tool: + +要降级到15.04中自带的 Plasma 版本的话,你可以使用 PPA-Purge 工具: sudo apt-get install ppa-purge - sudo ppa-purge ppa:kubuntu-ppa/backports -请在下面的评论中留言,让我们知道你怎么升级/测试过程是怎样的,别忘了告诉我们你在下一个Plasma 5桌面中要看到的特性。 +请在下面的评论中留言,让我们知道你怎么升级,测试过程是怎样的,别忘了告诉我们你在下一个Plasma 5桌面中要看到的特性。 -------------------------------------------------------------------------------- @@ -73,7 +74,7 @@ via: http://www.omgubuntu.co.uk/2015/04/kde-plasma-5-3-released-heres-how-to-upg 作者:[Joey-Elijah Sneddon][a] 译者:[GOLinux](https://github.com/GOLinux) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/20140804 Group Test--Linux Text Editors.md b/published/201505/20140804 Group Test--Linux Text Editors.md similarity index 100% rename from published/20140804 Group Test--Linux Text Editors.md rename to published/201505/20140804 Group Test--Linux Text Editors.md diff --git a/published/20150108 Interface (NICs) Bonding in Linux using nmcli.md b/published/201505/20150108 Interface (NICs) Bonding in Linux using nmcli.md similarity index 100% rename from published/20150108 Interface (NICs) Bonding in Linux using nmcli.md rename to published/201505/20150108 Interface (NICs) Bonding in Linux using nmcli.md diff --git a/published/20150112 What are useful command-line network monitors on Linux.md b/published/201505/20150112 What are useful command-line network monitors on Linux.md similarity index 100% rename from published/20150112 What are useful command-line network monitors on Linux.md rename to published/201505/20150112 What are useful command-line network monitors on Linux.md diff --git a/published/201505/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md b/published/201505/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md new file mode 100644 index 0000000000..fe25f3f6dc --- /dev/null +++ b/published/201505/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md @@ -0,0 +1,58 @@ +‘Unity Greeter Badges’:将丢失的会话图标带回Ubuntu登录屏幕 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/unity-greeter-badges-750x321.jpg) + +新出现在**Ubuntu 15.04中的一个软件包解决了我对Unity 欢迎屏的微词:像Cinnamon这样的其它Linux桌面会话没有徽章图标。** + +我知道这有点吹毛求疵了;这只是对大多数人而言几乎毫无影响的视觉瑕疵罢了。但是这种不一致性时时刻刻缠绕着我,让我不胜其烦,因为Ubuntu的一些会话带有徽章图标,包括Unity、GNOME和KDE。而剩下的其它桌面环境,包括它自己的一些旁系产品,像Xubuntu,只会在会话切换列表和主用户界面显示了一个不能再简单的白点。 + +这些点点们造成的这种不一致性刺激着我的神经,即使它只是稍纵即逝,但这种刺激不仅仅来自设计,也来自可用性方面。标牌式的标志符号对于让我们知道我们即将登陆到哪个会话很有帮助。 + +例如,你能告诉我们这个是个什么会话呢? + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/what-session-is-this-750x247.jpg) + +Budgie? 也许是 MATE? 也能是 Cinnamon……我必须点开它才能知道。 + +没有必要这样做啊。构建Unity Greeter,就是为了让桌面环境开发者能够部署徽章到欢迎屏幕中(有些确实这样做了)。但在许多情况下,像MATE,它的包来自上游的Debian,想要移植一个“Ubuntu专用的补丁包”不太可取,也不太可能。 + +### 一个解决方案出炉了 ### + +一位有经验的Debian维护者[Doug Torrance][1]有了修复该可用性瑕疵的解决方案。与其依赖桌面制造者自己来添加品牌式徽章到他们的包中,与其给Ubuntu增加维护它的责任重担,Torrance还不如自己创建了一个独立的‘unity-greeter-badges’包来收容它们。 + +承担起了直接提供会话标志的假定责任后,该包确保能同时迎合新旧窗口管理器、会话和桌面。 + +在30个左右的桌面环境列表中,它为以下桌面捆绑了新的会话徽章: + +- Xubuntu +- Cinnamon +- MATE +- Cairo-Dock +- Xmonad +- Awesome +- OpenBox +- Pantheon + +最重要的是,‘**Unity-Greeter-Badges**’已经被Ubuntu 15.04收录进去。这就意味着Torrance的包将可以直接安装,不需要PPA,也不需要下载。没有像Unity Greeter一样成为核心包的一部分,它可以以更高效和更及时的方式更新新的图标。 + +如果你真运行着Ubuntu 15.04,在不久的将来,你就可以从软件中心获取并安装该包了。 + +不想等到15.04?Torrance已经为Ubuntu 14.04和Ubuntu 14.10用户做了个.deb安装器。 + +- [下载用于Ubuntu 14.04的unity-greeter-badges][2] +- [下载用于Ubuntu 14.10的unity-greeter-badges][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2015/01/unity-greeter-badges-brings-missing-session-icons-ubuntu-login-screen + +作者:[Joey-Elijah Sneddon][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[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://launchpad.net/~profzoom +[2]:https://launchpad.net/~profzoom/+archive/ubuntu/misc/+files/unity-greeter-badges_0.1-0ubuntu1%7E201412111501%7Eubuntu14.04.1_all.deb +[3]:https://launchpad.net/~profzoom/+archive/ubuntu/misc/+files/unity-greeter-badges_0.1-0ubuntu1%7E201412111501%7Eubuntu14.10.1_all.deb diff --git a/published/20150123 How to make a file immutable on Linux.md b/published/201505/20150123 How to make a file immutable on Linux.md similarity index 100% rename from published/20150123 How to make a file immutable on Linux.md rename to published/201505/20150123 How to make a file immutable on Linux.md diff --git a/published/20150124 Why does C++ promote an int to a float when a float cannot represent all int values.md b/published/201505/20150124 Why does C++ promote an int to a float when a float cannot represent all int values.md similarity index 100% rename from published/20150124 Why does C++ promote an int to a float when a float cannot represent all int values.md rename to published/201505/20150124 Why does C++ promote an int to a float when a float cannot represent all int values.md diff --git a/published/201505/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md b/published/201505/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md new file mode 100644 index 0000000000..1fa38d9079 --- /dev/null +++ b/published/201505/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md @@ -0,0 +1,65 @@ +iptraf:一个实用的TCP/UDP网络监控工具 +================================================================================ + +[iptraf][1]是一个基于ncurses的IP局域网监控器,用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据。 + +它基于ncurses的用户界面可以使用户免于记忆繁琐的命令行开关。 + +### 特征 ### + +- IP流量监控器,用来显示你的网络中的IP流量变化信息。包括TCP标识信息、包以及字节计数,ICMP细节,OSPF包类型。 +- 简单的和详细的接口统计数据,包括IP、TCP、UDP、ICMP、非IP以及其他的IP包计数、IP校验和错误,接口活动、包大小计数。 +- TCP和UDP服务监控器,能够显示常见的TCP和UDP应用端口上发送的和接收的包的数量。 +- 局域网数据统计模块,能够发现在线的主机,并显示其上的数据活动统计信息。 +- TCP、UDP、及其他协议的显示过滤器,允许你只查看感兴趣的流量。 +- 日志功能。 +- 支持以太网、FDDI、ISDN、SLIP、PPP以及本地回环接口类型。 +- 利用Linux内核内置的原始套接字接口,允许它(指iptraf)能够用于各种支持的网卡上 +- 全屏,菜单式驱动的操作。 + +###安装方法### + +**Ubuntu以及其衍生版本** + + sudo apt-get install iptraf + +**Arch Linux以及其衍生版本** + + sudo pacman -S iptra + +**Fedora以及其衍生版本** + + sudo yum install iptraf + +### 用法 ### + +如果不加任何命令行选项地运行**iptraf**命令,程序将进入一种交互模式,通过主菜单可以访问多种功能。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_1.png) + +简易的上手导航菜单。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_2.png) + +选择要监控的接口。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_3.png) + +接口**ppp0**处的流量。 + +![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/01/iptraf_4.png) + +试试吧! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/iptraf-tcpudp-network-monitoring-utility/ + +作者:[Enock Seth Nyamador][a] +译者:[DongShuaike](https://github.com/DongShuaike) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.unixmen.com/author/seth/ +[1]:http://iptraf.seul.org/about.html diff --git a/published/20150128 Docker-2 Setting up a private Docker registry.md b/published/201505/20150128 Docker-2 Setting up a private Docker registry.md similarity index 100% rename from published/20150128 Docker-2 Setting up a private Docker registry.md rename to published/201505/20150128 Docker-2 Setting up a private Docker registry.md diff --git a/published/20150128 Docker-3 Automated Docker-based Rails deployments.md b/published/201505/20150128 Docker-3 Automated Docker-based Rails deployments.md similarity index 100% rename from published/20150128 Docker-3 Automated Docker-based Rails deployments.md rename to published/201505/20150128 Docker-3 Automated Docker-based Rails deployments.md diff --git a/published/20150205 Inxi--Find System And Hardware Information On Linux.md b/published/201505/20150205 Inxi--Find System And Hardware Information On Linux.md similarity index 100% rename from published/20150205 Inxi--Find System And Hardware Information On Linux.md rename to published/201505/20150205 Inxi--Find System And Hardware Information On Linux.md diff --git a/translated/tech/20150205 zBackup--A versatile deduplicating backup tool.md b/published/201505/20150205 zBackup--A versatile deduplicating backup tool.md similarity index 59% rename from translated/tech/20150205 zBackup--A versatile deduplicating backup tool.md rename to published/201505/20150205 zBackup--A versatile deduplicating backup tool.md index 988db2d324..c0d9e85128 100644 --- a/translated/tech/20150205 zBackup--A versatile deduplicating backup tool.md +++ b/published/201505/20150205 zBackup--A versatile deduplicating backup tool.md @@ -1,6 +1,6 @@ -zBackup——一个通用的重复数据备份工具 +zBackup:一个多功能的去重备份工具 ================================================================================ -zbackup是一个基于rsync思想的全局重复数据备份工具。给它传入一个大的tar文件后,它会存储该文件的重复区域(仅进行一次),然后对结果进行压缩,并根据参数确定是否对其加密。传入另一个tar文件后,它会从之前的已备份文件中复用重复的数据。只有新的改动会被保存,并且只要文件变动不是很大,需要的存储空间非常少。任何时候之前的已备份文件都可以被完整地读出来。 +zbackup是一个基于rsync思想的全局去重数据备份工具。给它传入一个大的tar文件后,它会仅存储一次该文件的重复部分,然后对结果进行压缩,并根据参数确定是否对其加密。传入另一个tar文件后,它会从之前的已备份文件中复用重复数据。只有新的改动会被保存,并且只要文件差异不是很大,需要的存储空间非常少。无论何时,之前的已备份文件都可以被完整地读出来。 ### zBackup特性 ### @@ -8,7 +8,7 @@ zbackup是一个基于rsync思想的全局重复数据备份工具。给它传 - 使用内置的AES加密算法加密已备份数据 - 可以删除旧的已备份数据 - 使用一个64位滚动哈希,保持软碰撞数量为0 -- 已备份数据由不可更改的文件组成。任何现有文件都没有被更改过 +- 备份库由不可更改的文件组成,只有库中不存在的文件才能修改 - 使用C++语言编写,并且只有适量的依赖库 - 可以在生产环境安全使用 - 可以在不同备份库中交换数据而无需重新压缩 @@ -25,7 +25,7 @@ zbackup是一个基于rsync思想的全局重复数据备份工具。给它传 zbackup init [--non-encrypted] [--password-file ~/.my_backup_password ] /my/backup/repo -`zbackup backup`命令备份一个由`tar c`创建的tar文件到刚才使用`zbackup init`初始化的备份库。(译注:实际使用时类似这样,tar c files | zbackup ...) +`zbackup backup`命令备份一个由`tar c`命令创建的tar文件到刚才使用`zbackup init`初始化的备份库。(LCTT 译注:实际使用时类似这样,tar c files | zbackup ...) zbackup [--password-file ~/.my_backup_password ] [--threads number_of_threads ] backup /my/backup/repo/backups/backup-`date ‘+%Y-%m-%d'` @@ -37,18 +37,15 @@ zbackup是一个基于rsync思想的全局重复数据备份工具。给它传 - -non-encrypted -- 不加密备份库。 - --password-file ~/.my_backup_password -- 使用位于~/.my_backup_password的口令文件来加密备份库和待备份文件,以及解密已备份文件。 -- --threads number_of_threads -- 限制并行LZMA压缩的线程数到number_of_threads。建议在32位的系统平台使用。 +- --threads number_of_threads -- 限制并行LZMA压缩的线程数为 number_of_threads。建议在32位的系统平台使用。 - --cache-size cache_size_in_mb -- 使用cache_size_in_mb中的缓存大小来加速恢复文件的过程。 -### zBackup相关文件 ### +### 上述命令中 zBackup 相关文件 ### -~/.my_backup_password 用来加密备份库和待备份文件,以及解密已备份文件。更多细节见zbackup。 - -/my/backup/repo 存放备份库的目录。 - -/my/precious/restored-tar 用来恢复已备份文件的tar文件。 - -/my/backup/repo/backups/backup-`date ‘+%Y-%m-%d'` 指定的之前已备份文件的文件名。 +- ~/.my_backup_password 用来加密备份库和待备份文件,以及解密已备份文件。更多细节见zbackup。 +- /my/backup/repo 存放备份库的目录。 +- /my/precious/restored-tar 用来恢复已备份文件的tar文件。 +- /my/backup/repo/backups/backup-`date ‘+%Y-%m-%d'` 指定的之前已备份文件的文件名。 -------------------------------------------------------------------------------- @@ -56,7 +53,7 @@ via: http://www.ubuntugeek.com/zbackup-a-versatile-deduplicating-backup-tool.htm 作者:[ruchi][a] 译者:[goreliu](https://github.com/goreliu) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/20150211 25 Tips for Intermediate Git Users.md b/published/201505/20150211 25 Tips for Intermediate Git Users.md similarity index 100% rename from published/20150211 25 Tips for Intermediate Git Users.md rename to published/201505/20150211 25 Tips for Intermediate Git Users.md diff --git a/published/20150211 Install Linux-Dash (Web Based Monitoring tool) on Ubntu 14.10.md b/published/201505/20150211 Install Linux-Dash (Web Based Monitoring tool) on Ubntu 14.10.md similarity index 100% rename from published/20150211 Install Linux-Dash (Web Based Monitoring tool) on Ubntu 14.10.md rename to published/201505/20150211 Install Linux-Dash (Web Based Monitoring tool) on Ubntu 14.10.md diff --git a/published/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md b/published/201505/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md similarity index 100% rename from published/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md rename to published/201505/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md diff --git a/published/20150227 Bringing a Bunch of Best Known Linux Network Tools.md b/published/201505/20150227 Bringing a Bunch of Best Known Linux Network Tools.md similarity index 100% rename from published/20150227 Bringing a Bunch of Best Known Linux Network Tools.md rename to published/201505/20150227 Bringing a Bunch of Best Known Linux Network Tools.md diff --git a/translated/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md b/published/201505/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md similarity index 79% rename from translated/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md rename to published/201505/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md index 4995eec9d1..4776f5c10d 100644 --- a/translated/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md +++ b/published/201505/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md @@ -1,18 +1,19 @@ -使用ARChon环境在Ubuntu上运行Android应用 +使用 ARChon 运行时环境在 Ubuntu 上运行 Android 应用 ================================================================================ -在此之前,我们尝试过在多款安卓应用模拟器工具上运行安卓应用,比如Genymotion、VirtualBox和Android SDK等。但是,有了这套全新的Chrome安卓运行环境,就可以在Chrome浏览器中运行安卓应用了。所以,下面是一些步骤来指导如何使用ARChon运行环境在Ubuntu上安装安卓应用。 -谷歌已经公布了[首批支持原生运行在Chrome OS的安卓应用][1],而使用一个全新的“**安卓运行环境**”扩展程序使其成为可能。如今,一位名为Vlad Filippov的开发者已经找到了一种把安卓应用移植到桌面端Chrome浏览器的方法。他把chromeos-apk脚本和ARChon安卓运行环境扩展程序两者紧密结合在一起,使得安卓应用可以运行在Windows、Max和Linux系统的桌面端Chrome浏览器中。 +在此之前,我们尝试过在多款安卓应用模拟器工具上运行安卓应用,比如Genymotion、VirtualBox和Android SDK等。但是,有了这套全新的Chrome安卓运行环境,就可以在Chrome浏览器中运行安卓应用了。所以,下面是一些步骤来指导你如何使用ARChon运行时环境在Ubuntu上安装安卓应用。 -应用借助这种运行环境时的性能并不是很好。同样,由于它是官方运行环境的非官方二次开发包,而且运行在Google的Chrome OS之外,因此一些如webcam和speaker等系统集成工具可能需要通过打补丁获得或者根本就没有。 +谷歌已经公布了[首批支持原生运行在Chrome OS的安卓应用][1],而这个全新的“**安卓运行时环境**”扩展程序使其成为可能。如今,一位名为Vlad Filippov的开发者已经找到了一种把安卓应用移植到桌面端Chrome浏览器的方法。他把chromeos-apk脚本和ARChon安卓运行环境扩展程序两者紧密结合在一起,使得安卓应用可以运行在Windows、Max和Linux系统的桌面端Chrome浏览器中。 + +应用借助这种运行环境时的性能并不是很好。同样,由于它是官方运行环境的非官方二次开发包,而且运行在Google的Chrome OS之外,因此一些如摄像头和喇叭等系统内置设备可能需要通过打补丁获得或者根本不支持。 ### 安装Chrome ### 首先,需要在机器上安装Chrome,版本要求是Chrome 37或者更高。可以从[Chrome浏览器的下载页面][2]下载。 -如果打算安装Dev Channel版本,按照如下操作。 +如果打算安装开发通道版本,按照如下操作。 -首先,使用这个命令为Google Chrome添加软件源列表: +使用这个命令为Google Chrome添加软件源列表: $ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - $ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' @@ -23,7 +24,8 @@ $ sudo apt-get update -现在,就可以安装非稳定版的google chrome,即开发版。 +现在,就可以安装非稳定版的google chrome,即开发版: + $ sudo apt-get install google-chrome-unstable ![Installing Google chrome unstable](http://blog.linoxide.com/wp-content/uploads/2015/02/installing-google-chrome-unstable.png) @@ -34,11 +36,11 @@ **32位** Ubntu发行版: -- [Download Archron for 32-bit Ubuntu][3] +- [下载 32 位版 Ubuntu 上的 Archron][3] **64位** Ubntu发行版: -- [Download Archron for 64-bit Ubuntu][4] +- [下载 64 位版 Ubuntu 上的 Archron][4] 下载好运行环境安装包后,从.zip文件中解压,并将解压得到的目录移动到Home目录。操作命令如下: @@ -48,11 +50,11 @@ $ unzip ARChon-v1.1-x86_32.zip ~/ -接下来是安装运行时环境,首先打开Google Chrome浏览器,在地址栏键入**chrome://extensions**。然后,选中“**开发者模式**”。最后,点击“**载入未打包扩展程序**”,选择刚才放置在**~/Home**下面的文件夹。 +接下来是安装运行时环境,首先打开Google Chrome浏览器,在地址栏键入**chrome://extensions**。然后,选中“**开发者模式**”。最后,点击“**载入未打包扩展程序**”,选择刚才放置在**~/Home**下面的文件夹。 ### 安装 ChromeOS-APK ### -如果要用到上面提到的应用,那么手动转换这些APKs无需复杂的操作——只需要安装“[chromeos-apk][5]”命令行JavaScript工具。可以在Node Package Modules(npm)管理器中安装它。为了安装npm和chromeos-apk,在shell或终端中运行下面命令: +如果要用到上面提到的那些应用,那么手动转换这些APK无需复杂的操作——只需要安装“[chromeos-apk][5]”命令行JavaScript工具。可以在Node Package Modules(npm)管理器中安装它。为了安装npm和chromeos-apk,在shell或终端中运行下面命令: $ sudo apt-get install npm nodejs nodejs-legacy @@ -86,7 +88,7 @@ ### 运行安卓Apk ### -最后,打开chrome浏览器,然后进入chrome://extensions页面,勾选开发者模式。点击“载入未打包扩展程序”按钮,选择文件夹载入刚创建的脚本。 +最后,打开chrome浏览器,然后进入chrome://extensions页面,勾选开发者模式。点击“载入未打包扩展程序”按钮,选择上面脚本刚创建的文件夹。 至此,就可以打开Chrome应用启动器运行安卓应用了。 @@ -100,7 +102,7 @@ via: http://linoxide.com/ubuntu-how-to/android-apps-ubuntu-archon-runtime/ 作者:[Arun Pyasi][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/) 荣誉推出 diff --git a/published/20150227 How To Fix--Failed to fetch cdrom apt-get update cannot be used to add new CD-ROMs.md b/published/201505/20150227 How To Fix--Failed to fetch cdrom apt-get update cannot be used to add new CD-ROMs.md similarity index 100% rename from published/20150227 How To Fix--Failed to fetch cdrom apt-get update cannot be used to add new CD-ROMs.md rename to published/201505/20150227 How To Fix--Failed to fetch cdrom apt-get update cannot be used to add new CD-ROMs.md diff --git a/published/20150227 How to Install Lightweight Budgie v8 Desktop in Ubuntu 14.04.md b/published/201505/20150227 How to Install Lightweight Budgie v8 Desktop in Ubuntu 14.04.md similarity index 100% rename from published/20150227 How to Install Lightweight Budgie v8 Desktop in Ubuntu 14.04.md rename to published/201505/20150227 How to Install Lightweight Budgie v8 Desktop in Ubuntu 14.04.md diff --git a/published/201505/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md b/published/201505/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md new file mode 100644 index 0000000000..ee64fab44a --- /dev/null +++ b/published/201505/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md @@ -0,0 +1,300 @@ +指南:使用Trickle限制应用程序带宽占用 +================================================================================ + +有没有遇到过系统中的某个应用程序独占了你所有的网络带宽的情形?如果你有过这样的遭遇,那么你就会感受到Trickle这种带宽调整应用的价值。不管你是一个系统管理员还只是普通Linux用户,都需要学习如何控制应用程序的上下行速度,来确保你的网络带宽不会被某个程序霸占。 + +![Install Trickle Bandwidth Limit in Linux](http://www.tecmint.com/wp-content/uploads/2013/11/Bandwidth-limit-trickle.png) + +*在 Linux 上安装 Trickle 带宽限制* + +### 什么是 Trickle? ### + +Trickle是一个网络带宽调整工具,可以让我们管理应用程序的网络上下行速度,使得可以避免其中的某个应用程序霸占了全部或大部分可用的带宽。换句话说,Trickle可以让你基于单个应用程序来控制网络流量速率,而不是仅仅针对与单个用户——这是在客户端网络环境中经典的带宽调整情况。 + +### Trickle 是如何工作的?### + +另外,trickle 可以帮助我们基于应用来定义优先级,所以当对整个系统进行了全局限制设定,高优先级的应用依然会自动地获取更多的带宽。为了实现这个目标,trickle 对 TCP 连接上的套接字的数据发送、接收设置流量限制。我们必须注意到,除了影响传输速率之外,在这个过程中,trickle任何时候都不会以任何方式来改变其中的数据。 + +### Trickle不能做什么? ### + +这么说吧,唯一的限制就是,trickle不支持静态链接的应用程序或者具有SUID或SGID位设置的二进制程序,因为它使用动态链接的方式将其载入到需要调整的进程和其关联的网络套接字之间。 Trickle此时会在这两种软件组件之间扮演代理的角色。 + +由于trickle并不需要超级用户的权限来运行,所以用户可以设置他们自己的流量限制。可能这并不是你想要的,我们会探索如何使用全局设定来限制系统中的所有用户的流量限制。也即是说,此时系统中的每个用户具有管理各自的流量速率,但是无论如何,都会受到系统管理员给他们设置的总体限制。 + +在这篇文章中,我们会描述如何通过trickle在linux平台上管理应用程序使用的网络带宽。为了生成所需的流量,在此会在客户端(CentOS 7 server – dev1: 192.168.0.17)上使用 ncftpput 和 ncftpget, 在服务器(Debian Wheezy 7.5 – dev2: 192.168.0.15)上使用vsftpd 来进行演示。 相同的指令也可以在RedHat,Fedora和Ubuntu等系统使用。 + +#### 前提条件 #### + +1. 对于 RHEL/CentOS 7/6, [开启EPEL仓库][1]。这些用于企业版 Linux 的额外软件包是一个由Fedora项目维护的高质量、开源的软件仓库,而且百分之百与其衍生产品相兼容,如企业版本Linux和CentOS。 在这个仓库中trickle和ncftp两者都是可用的。 + +2. 按照如下方式安装ncftp: + + # yum update && sudo yum install ncftp [基于 RedHat 的系统] + # aptitude update && aptitude install ncftp [基于 Debian 的系统] + +3. 在单独的服务器上设置一个FTP服务器。需要注意的是,尽管FTP天生就不安全,但是仍然被广泛应用在安全性无关紧要的文件上传下载中。 在这篇文章中我们使用它来演示trickle的优点,同时它也会在客户端的标准输出流中显示传输速率。我们将是否在其它时间使用它放在一边讨论。 + + # yum update && yum install vsftpd [基于 RedHat 的系统] + # aptitude update && aptitude install vsftpd [基于 Debian 的系统] + + 现在,在FTP服务器上按照以下方式编辑 /etc/vsftpd/vsftpd.conf 文件。 + + anonymous_enable=NO + local_enable=YES + chroot_local_user=YES + allow_writeable_chroot=YES + + 在此之后,确保在你的当前会话中启动了vsftpd,并在之后的启动中让其自动启动。 + + # systemctl start vsftpd [基于 systemd 的系统] + # systemctl enable vsftpd + # service vsftpd start [基于 init 的系统] + # chkconfig vsftpd on + +4. 如果你选择在一个使用 SSH 密钥进行远程访问的 CentOS/RHEL 7中搭建FTP服务器,你需要一个密码受保护的用户账户,它能访问**root目录之外**的某个目录,并有能在其中上传和下载文件的权限。 + + 你可以通过在你的浏览器中输入以下的URL来浏览你的家目录。一个登录窗口会弹出来提示你输入FTP服务器中的有效的用户名和密码。 + + ftp://192.168.0.15 + + 如果验证成功,你就会看到你的家目录中的内容。该教程的稍后部分中,你将可以刷新页面来显示在你之前上传过的文件。 + + ![FTP Directory Tree](http://www.tecmint.com/wp-content/uploads/2013/11/FTP-Directory-Tree.png) + + *FTP 目录树* + +### 如何在Linux中安装 trickle ### + +1. 通过yum或aptitude来安装trickle. + + 为了确保能够成功安装,最好在安装工具之前,保证当前的安装包是最新的版本。 + + + # yum -y update && yum install trickle [基于 RedHat 的系统] + # aptitude -y update && aptitude install trickle [基于 Debian 的系统] + +2. 确认trickle是否对特定的二进制包有用。 + + 之前我们解释过,trickle只对使用动态或共享的库的二进制包有用。为了确认我们是否可以对某个特定的应用使用trickle,我们可以使用著名的ldd(列出动态依赖)工具。 特别地,我们会查看任何给定程序的动态依赖中其当前使用的glibc,因为其准确地定义了通过套接字通讯所使用的系统调用。 + + 对一个给定的二进制包执行以下命令来查看是否能对其使用trickle进行带宽调整: + + # ldd $(which [binary]) | grep libc.so + + 例如, + + # ldd $(which ncftp) | grep libc.so + + 其输出是: + + # libc.so.6 => /lib64/libc.so.6 (0x00007efff2e6c000) + + 输出中的括号中的字符可能在不同的系统平台有所不同,甚至相同的命令在不同的时候运行也会不同,因为其代表包加载到物理内存中的地址。 + + 如果上面的命令没有返回任何的结果,就说明这个二进制包没有使用libc包,因此trickle对其不能起到带宽调整的作用。 + +### 学习如何使用Trickle### + +最基本的用法就是使用其独立模式,通过这种方式,trickle用来显式地定义给定应用程序的上传下载速率。如前所述,为了简单,我们会使用相同的应用来进行上传下载测试。 + +#### 在独立模式下运行trickle#### + +我们会比较在有无trickle的情况下的上传下载速率, ‘-d’选项指示下载速率(KB/s单位),而'-u'选项指示相同单位的上传速率。另外我们会使用到‘-s’选项来指定trickle应该以独立模式运行。 + +以独立模式运行trickle的基本语法如下: + + # trickle -s -d [下载速率,KB/s] -u [上传速率,KB/s] + +为了能够让你自己运行以下样例,确保你在自己的客户端安装了trickle和ncftp(我的是192.168.0.17)。 + +**样例1:在有无trickle的情况下上传一个2.8 MB的PDF文件。** + +我们使用一个自由发布的[LInux基础知识PDF文件][2]来进行下面的测试。 + +你可以首先使用下面的命令将这个文件下载到你当前的工作目录中: + + # wget http://linux-training.be/files/books/LinuxFun.pdf + +下面是在没有trickle的情况下将一个文件上传到我们的FTP服务器的语法: + + # ncftpput -u username -p password 192.168.0.15 /remote_directory local-filename + +其中的 /remote_directory 是相对于该用户的家目录的上传路径,而local-filename是一个你当前工作目录中的文件。 + +特别的是,在没有trickle的情形下,我们可以得到上传峰值速率52.02MB/s(请注意,这个不是真正的平均上传速率,而是峰值开始的瞬时值),而且这个文件几乎在瞬间就完成了上传。 + + # ncftpput -u username -p password 192.168.0.15 /testdir LinuxFun.pdf + +输出: + + LinuxFun.pdf: 2.79 MB 52.02 MB/s + +在使用trickle的情况下,我们会限制上传速率在5KB/s。在第二次上传文件之前,我们需要在目标目录中删除这个文件,否则ncftp就会通知我们在目标目录中已经存在了与上传文件相同的文件,从而不会执行文件的传输: + + # rm /absolute/path/to/destination/directory/LinuxFun.pdf + +然后: + + # trickle -s -u 5 ncftpput -u username -p password 111.111.111.111 /testdir LinuxFun.pdf + +输出: + + LinuxFun.pdf: 2.79 MB 4.94 kB/s + +在上面的样例中,我们看到平均的上传速率下降到了5KB/s。 + +**样例2:在有无trickle的情况下下载相同的2.8MB的PDF文件** + +首先,记得从原来的源目录中删除这个PDF: + + # rm /absolute/path/to/source/directory/LinuxFun.pdf + +请注意,下面的样例中将远程的文件下载到客户端机器的当前目录下,这是由FTP服务器的IP地址后面的“.”决定的。 + +没有trickle的情况下: + + # ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf + +输出: + + LinuxFun.pdf: 2.79 MB 260.53 MB/s + +在有trickle的情况下,限制下载速率在20KB/s: + + # trickle -s -d 30 ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf + +输出: + + LinuxFun.pdf: 2.79 MB 17.76 kB/s + +### 在监督[非托管]模式下运行Trickle ### + +trickle也可以按照/etc/trickled.conf文件中定义的一系列参数运行在非托管模式下。 这个文件定义了守护线程 trickled的行为以及如何管理trickle。 + +另外,如果你想要全局设置被所有的应用程序使用的话,我们就会需要使用trickle命令。 这个命令运行守护进程,并允许我们通过trickle定义所有应用程序共享的上传下载限制,不需要我们每次来进行指定。 + +例如,运行: + + # trickled -d 50 -u 10 + +会导致任何通过trickle运行的应用程序的上传下载速率分别限制在30kb/s和10kb/s。 + +请注意,你可以在任何时间都能确认守护线程trickled是否正在运行以及其运行参数: + + # ps -ef | grep trickled | grep -v grep + +输出: + + root 16475 1 0 Dec24 ? 00:00:04 trickled -d 50 -u 10 + +**样例3:在使用/不使用trickle的情形下上传一个 19MB 的mp4文件到我们的FTP服务器。** + +在这个样例中,我们会使用“He is the gift”的自由分发视频,可以通过这个[链接][3]下载。 + +我们将会在开始时通过以下的命令将这个文件下载到你的当前工作目录中: + + # wget http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 + +首先,我们会使用之前列出的命令来开启守护进程trickled: + + # trickled -d 30 -u 10 + +在不使用trickle时: + + # ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 + +输出: + + 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 36.31 MB/s + +在使用trickle时: + + # trickle ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 + +输出: + + 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 9.51 kB/s + +我们可以看到上面的输出,上传的速率下降到了约 10KB/s。 + +** 样例4:在使用/不使用trickle的情形下下载这个相同的视频 ** + +与样例2一样,我们会将该文件下载到当前工作目录中。 + +在没有trickle时: + + # ncftpget -u username -p password 192.168.0.15 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 + +输出: + + 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 108.34 MB/s + +有trickle的时: + + # trickle ncftpget -u username -p password 111.111.111.111 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 + +输出: + + 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 29.28 kB/s + +上面的结果与我们之前设置的下载限速相对应(30KB/s)。 + +**注意:** 一旦守护进程开启之后,就没有必要使用trickle来为每个应用程序来单独设置限制。 + +如前所述,人们可以进一步地通过trickled.conf来客制化trickle的带宽速率调整,该文件的一个典型的分段有以下部分组成: + + [service] + Priority = + Time-Smoothing = + Length-Smoothing = + +其中, + +- [service] 用来指示我们想要对其进行带宽使用调整的应用程序名称 +- Priority 用来让我们为某个服务制定一个相对于其他服务高的优先级,这样就不允许守护进程管理中的一个单独的应用程序来占用所有的带宽。越小的数字代表更高的优先级。 +- Time-Smoothing [以秒计]: 定义了trickled让各个应用程序传输或接收数据的时间间隔。小的间隔值(0.1-1秒)对于交互式应用程序是理想的,因为这样会具有一个更加平滑的会话体验,而一个相对较大的时间间隔值(1-10秒)对于需要批量传输应用程序就会显得更好。如果没有指定该值,默认是5秒。 +- Length-smoothing [KB 单位]: 该想法与Time-Smoothing如出一辙,但是是基于I/O操作而言。如果没有指定值,会使用默认的10KB。 + +上述平滑值(Time-Smoothing、 Length-smoothing)的改变会被翻译为将指定的服务的使用一个间隔值而不是一个固定值。不幸的是,没有一个特定的公式来计算间隔值的上下限,主要依赖于特定的应用场景。 + +下面是一个在CentOS 7 客户端中的trickled.conf 样例文件(192.168.0.17): + + [ssh] + Priority = 1 + Time-Smoothing = 0.1 + Length-Smoothing = 2 + + [ftp] + Priority = 2 + Time-Smoothing = 1 + Length-Smoothing = 3 + +使用该设置,trickled会为SSH赋予比FTP较高的传输优先级。值得注意的是,一个交互进程,例如SSH,使用了一个较小的时间间隔值,然而一个处理批量数据传输的服务如FTP,则使用一个较大的时间间隔来控制之前的样例中的上传下载速率,尽管不是百分百的由trickled指定的值,但是也已经非常接近了。 + +### 总结 ### + +在该文章中,我们探索了使用trickle在基于Fedora发行版和Debian衍生版平台上来限制应用程序的带宽使用。也包含了其他的可能用法,但是不对以下情形进行限制: + +- 限制系统工具的下载速度,例如[wget][4],或 BT客户端. +- 限制你的系统的包管理工具[`yum`][5]更新的速度 (如果是基于Debian系统的话,其包管理工具为[`aptitude`][6])。 +- 如果你的服务器是在一个代理或防火墙后面(或者其本身即是代理或防火墙的话),你可以使用trickle来同时设定下载和上传速率,或者客户端或外部通讯的速率。 + +欢迎提问或留言。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/ + +作者:[Gabriel Cánepa][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.tecmint.com/author/gacanepa/ +[1]:https://linux.cn/article-2324-1.html +[2]:http://linux-training.be/files/books/LinuxFun.pdf +[3]:http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 +[4]:http://www.tecmint.com/10-wget-command-examples-in-linux/ +[5]:http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/ +[6]:http://www.tecmint.com/dpkg-command-examples/ diff --git a/published/20150302 How to Manage KVM Virtual Environment using Commandline Tools in Linux.md b/published/201505/20150302 How to Manage KVM Virtual Environment using Commandline Tools in Linux.md similarity index 100% rename from published/20150302 How to Manage KVM Virtual Environment using Commandline Tools in Linux.md rename to published/201505/20150302 How to Manage KVM Virtual Environment using Commandline Tools in Linux.md diff --git a/published/20150304 Linux Basics--How To Fix 'E-- var cache apt archives subprocess new pre-removal script returned error exit status 1' In Ubuntu.md b/published/201505/20150304 Linux Basics--How To Fix 'E-- var cache apt archives subprocess new pre-removal script returned error exit status 1' In Ubuntu.md similarity index 100% rename from published/20150304 Linux Basics--How To Fix 'E-- var cache apt archives subprocess new pre-removal script returned error exit status 1' In Ubuntu.md rename to published/201505/20150304 Linux Basics--How To Fix 'E-- var cache apt archives subprocess new pre-removal script returned error exit status 1' In Ubuntu.md diff --git a/published/20150304 Monitoring Your Network And Servers With Observium.md b/published/201505/20150304 Monitoring Your Network And Servers With Observium.md similarity index 100% rename from published/20150304 Monitoring Your Network And Servers With Observium.md rename to published/201505/20150304 Monitoring Your Network And Servers With Observium.md diff --git a/published/20150304 Share Folders On Local Network Between Ubuntu And Windows.md b/published/201505/20150304 Share Folders On Local Network Between Ubuntu And Windows.md similarity index 100% rename from published/20150304 Share Folders On Local Network Between Ubuntu And Windows.md rename to published/201505/20150304 Share Folders On Local Network Between Ubuntu And Windows.md diff --git a/published/20150306 How to Setup lftp--A Simple Command line FTP Program.md b/published/201505/20150306 How to Setup lftp--A Simple Command line FTP Program.md similarity index 100% rename from published/20150306 How to Setup lftp--A Simple Command line FTP Program.md rename to published/201505/20150306 How to Setup lftp--A Simple Command line FTP Program.md diff --git a/published/20150309 List Of Free Windows SSH Client Tools To Connect To Your Linux Server .md b/published/201505/20150309 List Of Free Windows SSH Client Tools To Connect To Your Linux Server .md similarity index 100% rename from published/20150309 List Of Free Windows SSH Client Tools To Connect To Your Linux Server .md rename to published/201505/20150309 List Of Free Windows SSH Client Tools To Connect To Your Linux Server .md diff --git a/published/20150310 [Fixed] Keyboard And Mouse Freeze After Suspend In Ubuntu 14.04 [Quick Tip].md b/published/201505/20150310 [Fixed] Keyboard And Mouse Freeze After Suspend In Ubuntu 14.04 [Quick Tip].md similarity index 100% rename from published/20150310 [Fixed] Keyboard And Mouse Freeze After Suspend In Ubuntu 14.04 [Quick Tip].md rename to published/201505/20150310 [Fixed] Keyboard And Mouse Freeze After Suspend In Ubuntu 14.04 [Quick Tip].md diff --git a/published/20150316 5 Interesting Command Line Tips and Tricks in Linux--Part 1.md b/published/201505/20150316 5 Interesting Command Line Tips and Tricks in Linux--Part 1.md similarity index 100% rename from published/20150316 5 Interesting Command Line Tips and Tricks in Linux--Part 1.md rename to published/201505/20150316 5 Interesting Command Line Tips and Tricks in Linux--Part 1.md diff --git a/published/20150316 How to access Gmail from the command line on Linux with Alpine.md b/published/201505/20150316 How to access Gmail from the command line on Linux with Alpine.md similarity index 100% rename from published/20150316 How to access Gmail from the command line on Linux with Alpine.md rename to published/201505/20150316 How to access Gmail from the command line on Linux with Alpine.md diff --git a/published/20150316 Install Mate desktop in FreeBSD 10.1.md b/published/201505/20150316 Install Mate desktop in FreeBSD 10.1.md similarity index 100% rename from published/20150316 Install Mate desktop in FreeBSD 10.1.md rename to published/201505/20150316 Install Mate desktop in FreeBSD 10.1.md diff --git a/published/20150316 Systemd Boot Process a Close Look in Linux.md b/published/201505/20150316 Systemd Boot Process a Close Look in Linux.md similarity index 100% rename from published/20150316 Systemd Boot Process a Close Look in Linux.md rename to published/201505/20150316 Systemd Boot Process a Close Look in Linux.md diff --git a/published/20150318 11 Linux Terminal Commands That Will Rock Your World.md b/published/201505/20150318 11 Linux Terminal Commands That Will Rock Your World.md similarity index 100% rename from published/20150318 11 Linux Terminal Commands That Will Rock Your World.md rename to published/201505/20150318 11 Linux Terminal Commands That Will Rock Your World.md diff --git a/published/201505/20150318 How to share a directory with Samba on Fedora or CentOS.md b/published/201505/20150318 How to share a directory with Samba on Fedora or CentOS.md new file mode 100644 index 0000000000..e8e48ba76d --- /dev/null +++ b/published/201505/20150318 How to share a directory with Samba on Fedora or CentOS.md @@ -0,0 +1,144 @@ +如何在Fedora或CentOS上使用Samba共享文件夹 +================================================================================ +如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了。在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明。如果您工作的环境中既有微软的Windows又有Linux,那么,一个共享文件及目录的方式便是通过一个跨平台网络文件共享协议:SMB/CIFS。Windows原生的支持SMB/CIFS,Linux也通过开源的软件Samba实现了SMB/CIFS协议。 + +在这篇文章中,我们将展示**如何使用Samba共享文件夹**。我们使用的Linux平台是**Fedora或CentOS**。这篇文章分为四部分。首先,我们在Fedora/CentOS环境下安装Sambe。接着,我们讨论如何调整SELinux和防火墙配置以允许Samba的文件共享。最后我们介绍如何使用Samba来共享文件夹。 + +### 步骤1:在Fedora和CentOS上安装Samba ### + +首先,安装Samba以及进行一些基本的配置。 + +检验Samba是否已经安装在您的系统中: + + $ rpm -q samba samba-common samba-client + +如果上面的命令没有任何输出,这意味着Samba并未安装。这时,应使用下面的命令来安装Samba。 + + $ sudo yum install samba samba-common samba-client + +接下来,创建一个用于在网络中共享的本地文件夹。这个文件夹应该以Samba共享的方式导出到远程的用户。在这个指南中,我们会在顶层文件夹'/'中创建这个文件夹,因此,请确保您有相应的权限。 + + $ sudo mkdir /shared + +如果您想在您的home文件夹内创建共享文件夹(例如,~/shared),您必须激活SELinux中Samba的home文件夹共享选项,具体将在后面提到。 + +在创建/shared文件夹后,设置文件夹权限以保证其余用户可以访问它。 + + $ sudo chmod o+rw /shared + +如果您不想其他用户对该文件夹拥有写权限,您需要移除命令中的'w'选项。 + + $ sudo chmod o+r /shared + +接下来,创建一个空文件来测试。这个文件可以被用来验证Samba的共享已经被挂载。 + + $ sudo touch /shared/file1 + +### 步骤2:为Samba配置SELinux ### + +接下来,我们需要再次配置SELinux。在Fedora和CentOS发行版中SELinux是默认开启的。SELinux仅在正确的安全配置下才允许Samba读取和修改文件或文件夹。(例如,加上'samba_share_t'属性标签)。 + +下面的命令为文件的配置添加必要的标签: + + $ sudo semanage fcontext -a -t samba_share_t "(/.*)?" + +将替换为我们之前为Samba共享创建的本地文件夹(例如,/shared): + + $ sudo semanage fcontext -a -t samba_share_t "/shared(/.*)?" + +我们必须执行restorecon命令来激活修改的标签,命令如下: + + $ sudo restorecon -R -v /shared + +![](https://farm9.staticflickr.com/8584/16652774078_2055f45f70_b.jpg) + +为了通过Samba共享在我们home文件夹内的文件夹,我们必须在SELinux中开启共享home文件夹的选项,该选项默认被关闭。下面的命令能达到该效果。如果您并未共享您的home文件夹,那么您可以跳过该步骤。 + + $ sudo setsebool -P samba_enable_home_dirs 1 + +### 步骤3:为Samba配置防火墙 ### + +下面的命令用来打开防火墙中Samba共享所需的TCP/UDP端口。 + +如果您在使用firewalld(例如,在Fedora和CentOS7下),接下来的命令将会永久的修改Samba相关的防火墙规则。 + + $ sudo firewall-cmd --permanent --add-service=samba + +如果您在防火墙中使用iptables(例如,CentOS6或者更早的版本),可以使用下面的命令来打开Samba必要的向外的端口。 + + $ sudo vi /etc/sysconfig/iptables + +---------- + + -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT + -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT + -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT + -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT + -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT + +然后重启iptables服务: + + $ sudo service iptables restart + +### 步骤4:更改Samba配置 ### + +后面的步骤用来配置Samba以将本地文件夹导出为Samba共享文件夹。 + +使用文件编辑器打开Samba配置文件,并将下面的行添加到文件的末尾。 + + $ sudo nano /etc/samba/smb.conf + +---------- + + [myshare] + comment=my shared files + path=/shared + public=yes + writeable=yes + +上面在括号内的文本(例如,"myshare")是Samba共享的资源的名字,它被用来从远程主机存取Samba共享。 + +创建Samba用户帐户,这是挂载和导出Samba文件系统所必须的。我们可以使用smbpasswd工具来创建一个Samba用户。注意,Samba用户帐户必须是已有的Linux用户。如果您尝试使用smbpasswd添加一个不存在的用户,它会返回一个错误的消息。 + +如果您不想使用任何已存在的Linux用户作为Samba用户,您可以在您的系统中创建一个新的用户。为安全起见,设置新用户的登录脚本为/sbin/nologin,并且不创建该用户的home文件夹。 + +在这个例子中,我们创建了一个名叫"sambaguest"的用户,如下: + + $ sudo useradd -M -s /sbin/nologin sambaguest + $ sudo passwd sambaguest + +![](https://farm9.staticflickr.com/8702/16814479366_53f540d3ba_b.jpg) + +在创建一个新用户后,使用smbpasswd命令添加Samba用户。当这个命令询问一个密码时,您可以键入一个与其用户密码不同的密码。 + + $ sudo smbpasswd -a sambaguest + +激活Samba服务,并检测Samba服务是否在运行。 + + $ sudo systemctl enable smb.service + $ sudo systemctl start smb.service + $ sudo systemctl is-active smb + +![](https://farm8.staticflickr.com/7607/16652984770_622f24bccc_b.jpg) + +使用下面的命令来查看Samba中共享的文件夹列表。 + + $ smbclient -U sambaguest -L localhost + +![](https://farm8.staticflickr.com/7281/16220411103_06bf585901_b.jpg) + +接下来是在Thunar文件管理器中访问Samba共享文件夹以及对file1进行拷贝复制的截图。注意,Samba的共享内容可以通过在Thunar中通过 `smb:///myshare` 这个地址来访问。 + +![](https://farm8.staticflickr.com/7644/16218011174_c8b34fcedc_b.jpg) + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/share-directory-samba-fedora-centos.html + +作者:[Kristophorus Hadiono][a] +译者:[wwy-hust](https://github.com/wwy-hust) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/kristophorus diff --git a/published/20150320 Locate Stolen laptops and Smart phones Using Prey Tool in Ubuntu.md b/published/201505/20150320 Locate Stolen laptops and Smart phones Using Prey Tool in Ubuntu.md similarity index 100% rename from published/20150320 Locate Stolen laptops and Smart phones Using Prey Tool in Ubuntu.md rename to published/201505/20150320 Locate Stolen laptops and Smart phones Using Prey Tool in Ubuntu.md diff --git a/translated/tech/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md b/published/201505/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md similarity index 80% rename from translated/tech/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md rename to published/201505/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md index e86a8f3c10..ba4da99105 100644 --- a/translated/tech/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md +++ b/published/201505/20150320 Sleuth Kit--Open Source Forensic Tool to Analyze Disk Images and Recover Files.md @@ -1,8 +1,8 @@ -Sleuth Kit -- 一个用来分析磁盘映像和恢复文件的开源取证工具 +Sleuth Kit:一个用来分析磁盘映像和恢复文件的开源取证工具 ================================================================================ -SIFT 是一个由 SANS 公司提供的基于 Ubuntu 的取证发行版本。它包含许多取证工具,如 Sleuth kit/Autopsy 。但 Sleuth kit / Autopsy 可以直接在 Ubuntu 或 Fedora 发行版本上直接安装,而不必下载 SIFT 的整个发行版本。 +SIFT 是一个由 SANS 公司提供的基于 Ubuntu 的取证发行版。它包含许多取证工具,如 Sleuth kit/Autopsy 。但 Sleuth kit/Autopsy 可以直接在 Ubuntu 或 Fedora 发行版本上直接安装,而不必下载 SIFT 的整个发行版本。 -Sleuth Kit/Autopsy 是一个开源的电子取证调查工具,它被用于从磁盘映像中恢复丢失的文件,基于事件响应的磁盘映像的分析。 Autopsy 工具是 sleuth kit 的一个网页接口,支持 sleuth kit 的所有功能。这个工具在 Windows 和 Linux 平台下都可获取到。 +Sleuth Kit/Autopsy 是一个开源的电子取证调查工具,它可以用于从磁盘映像中恢复丢失的文件,以及为了特殊事件进行磁盘映像分析。 Autopsy 工具是 sleuth kit 的一个网页接口,支持 sleuth kit 的所有功能。这个工具在 Windows 和 Linux 平台下都可获取到。 ### 安装 Sleuth kit ### @@ -38,7 +38,7 @@ Sleuth Kit/Autopsy 是一个开源的电子取证调查工具,它被用于从 ### 安装 Autopsy 工具 ### -Sleuth kit 已经安装完毕,现在我们将为它安装 autopsy 界面。从 [sleuthkit 的 autopsy 页面][2] 下载 Autopsy 软件。使用下面的命令在虚拟终端下使用 wget 命令来下载它,下图展示了这个过程。 +Sleuth kit 已经安装完毕,现在我们将为它安装 autopsy 界面。从 [sleuthkit 的 autopsy 页面][2]下载 Autopsy 软件。使用下面的命令在虚拟终端下使用 wget 命令来下载它,下图展示了这个过程。 # wget http://kaz.dl.sourceforge.net/project/autopsy/autopsy/2.24/autopsy-2.24.tar.gz @@ -70,7 +70,7 @@ autopsy 的配置脚本将询问 NSRL (National Software Reference Library) 和 ![Autopsy](http://blog.linoxide.com/wp-content/uploads/2015/03/autopsy-started.png) -在浏览器中键入下面的地址来获取 autopsy 的界面: +在浏览器中键入下面的地址来访问 autopsy 的界面: http://localhost:9999/autopsy @@ -90,7 +90,7 @@ autopsy 的配置脚本将询问 NSRL (National Software Reference Library) 和 ![添加主机的详细信息](http://blog.linoxide.com/wp-content/uploads/2015/03/add-host-detial.png) -点击 **增加映像** 按钮来为取证分析添加映像文件。 +添加主机后,点击 **增加映像** 按钮来为取证分析添加映像文件。 ![添加映像](http://blog.linoxide.com/wp-content/uploads/2015/03/add-image.png) @@ -98,11 +98,11 @@ autopsy 的配置脚本将询问 NSRL (National Software Reference Library) 和 ![添加映像文件](http://blog.linoxide.com/wp-content/uploads/2015/03/Add-image-file.png) -正如下图中展示的那样,我们已经键入了 Linux 映像文件的路径。在我们这个例子中,映像文件是磁盘的分区。 +正如下图中展示的那样,我们已经键入了 Linux 映像文件的路径。在我们这个例子中,映像文件类型是磁盘分区。 ![添加映像分区](http://blog.linoxide.com/wp-content/uploads/2015/03/add-image-parition.png) -点击 下一步 按钮并在下一页中选择 **计算散列值** 的选项,这在下图中有展示。它也将检测所给映像的文件系统类型。 +点击“下一步”按钮并在下一页中选择 **计算散列值** 的选项,这在下图中有展示。它也将检测所给映像的文件系统类型。 ![映像和文件系统详情](http://blog.linoxide.com/wp-content/uploads/2015/03/image-and-file-system-detail.png) @@ -142,7 +142,7 @@ autopsy 的配置脚本将询问 NSRL (National Software Reference Library) 和 ### 结论 ### -希望这篇文章能够给那些进入磁盘映像的静态分析领域的新手提供帮助。Autopsy 是 sleuth kit 的网页界面,提供了在 Windows 和 Linux 磁盘映像中进行诸如字符串提取,恢复被删文件,时间线分析,网络浏览历史,关键字搜索和邮件分析等功能。 +希望这篇文章能够给那些进入磁盘映像静态分析领域的新手提供帮助。Autopsy 是 sleuth kit 的网页界面,提供了在 Windows 和 Linux 磁盘映像中进行诸如字符串提取,恢复被删文件,时间线分析,网络浏览历史,关键字搜索和邮件分析等功能。 -------------------------------------------------------------------------------- @@ -150,7 +150,7 @@ via: http://linoxide.com/ubuntu-how-to/autopsy-sleuth-kit-installation-ubuntu/ 作者:[nido][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/) 荣誉推出 diff --git a/published/20150323 How to enable ssh login without entering password.md b/published/201505/20150323 How to enable ssh login without entering password.md similarity index 100% rename from published/20150323 How to enable ssh login without entering password.md rename to published/201505/20150323 How to enable ssh login without entering password.md diff --git a/published/20150323 Linux FAQs with Answers--How to compress JPEG images from the command line on Linux.md b/published/201505/20150323 Linux FAQs with Answers--How to compress JPEG images from the command line on Linux.md similarity index 100% rename from published/20150323 Linux FAQs with Answers--How to compress JPEG images from the command line on Linux.md rename to published/201505/20150323 Linux FAQs with Answers--How to compress JPEG images from the command line on Linux.md diff --git a/published/20150323 Linux FAQs with Answers--How to install and access CentOS remote desktop on VPS.md b/published/201505/20150323 Linux FAQs with Answers--How to install and access CentOS remote desktop on VPS.md similarity index 100% rename from published/20150323 Linux FAQs with Answers--How to install and access CentOS remote desktop on VPS.md rename to published/201505/20150323 Linux FAQs with Answers--How to install and access CentOS remote desktop on VPS.md diff --git a/published/20150323 Square 2.0 Icon Pack Is Twice More Beautiful.md b/published/201505/20150323 Square 2.0 Icon Pack Is Twice More Beautiful.md similarity index 100% rename from published/20150323 Square 2.0 Icon Pack Is Twice More Beautiful.md rename to published/201505/20150323 Square 2.0 Icon Pack Is Twice More Beautiful.md diff --git a/published/20150324 4 Tools to Securely Delete Files from Linux.md b/published/201505/20150324 4 Tools to Securely Delete Files from Linux.md similarity index 100% rename from published/20150324 4 Tools to Securely Delete Files from Linux.md rename to published/201505/20150324 4 Tools to Securely Delete Files from Linux.md diff --git a/published/201505/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md b/published/201505/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md new file mode 100644 index 0000000000..b41338034f --- /dev/null +++ b/published/201505/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md @@ -0,0 +1,163 @@ +Linux用户应知应会的7个‘ls’命令的独特技巧 +================================================================================ + +在前面我们系列报道的两篇文章中,我们已经涵盖了关于‘ls’命令的绝大多数内容。本文时‘ls命令’系列的最后一部分。如果你还没有读过该系列的其它两篇文章,你可以访问下面的链接。 + +- [Linux中的15个基本‘ls’命令示例][1] +- [15 个‘ls’命令的面试问题(一)][2] +- [10 个‘ls’命令面试的问题(二)][3] + +![7 Quirky ls Command Tricks](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-tricks.jpg) + +*7个ls命令独特技巧* + +### 1. 以各种时间格式附带时间戳列出目录中的内容 ### + +要以时间格式列出目录内容,我们需要选择以下两种方法中的任何一种。 + + # ls -l –time-style=[STYLE] (方法 A) + +**注意** - 上面的开关`--time`的格式必须和`-l`开关同时使用,否则达不到目的。 + + # ls -full-time (方法 B) + +可以用以下任何一个选项替换`[STYLE]`。 + + full-iso + long-iso + iso + locale + +%H:%M:%S:%D + +**注意** - 在上面行中,H(时),M(分),S(秒),D(日)的顺序可以任意调整。此外,你只需选择那些相关的选项,而不是所有选项。例如,`ls -l --time-style=+%H`将只显示小时。`ls -l --time-style=+%H:%M:%D`将显示小时、分钟和日。 + + # ls -l --time-style=full-iso + +![ls Command Full Time Style](http://www.tecmint.com/wp-content/uploads/2015/03/ls-Command-Full-Time-Style.gif) + +*ls命令的完整 ISO时间格式* + + # ls -l --time-style=long-iso + +![Long Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Long-Time-Listing-Format.gif) + +*长时间格式列表* + + # ls -l --time-style=iso + +![Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Local-Time-Style-Listing.gif) + +*时间格式列表* + + # ls -l --time-style=locale + +![Locale Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Hour-Mintue-Time-Style-Listing.gif) + +*本地时间格式列表* + + # ls -l --time-style=+%H:%M:%S:%D + +![Date and Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Time-Style-Listing.gif) + +*日期和时间格式列表* + + # ls --full-time + +![Full Style Time Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Style-Time-Listing.gif) + +*完整格式时间列表* + +### 2. 以多种格式列出目录内容,如以逗号分隔、水平格式、长格式、垂直格式、交叉格式等列出。 ### + +目录内容可以用以下建议的ls命令各种格式列出: + + # ls --format=across # 交叉 + # ls --format=comma # 逗号 + # ls --format=horizontal # 水平 + # ls --format=long # 长格式 + # ls --format=single-column # 单栏 + # ls --format=verbose # 详情 + # ls --format=vertical # 垂直 + +![Listing Formats of ls Command](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-Listing-Formats.gif) + +*ls命令的列出格式* + +### 3. 使用ls命令为目录内容输出结果添加像(/=@|)这样的指示符。 ### + +带有`-p`选项的ls命令将实现该目的。它会根据文件类型添加上面这些指示符其中之一。 + + # ls -p + +![Append Indicators to Content](http://www.tecmint.com/wp-content/uploads/2015/03/Append-Indicators.gif) + +*添加指示符到内容* + +### 4. 根据扩展名、大小、时间和版本对目录内容排序。 ### + +我们可以使用`--extension`选项来按照扩展名对输出结果排序,`--size`扩展选项按照大小排序,`-t`扩展选项按照时间排序,`-v`扩展选项对版本排序。 + +我们也可以使用`--none`选项,它会以常规方式输出结果而不会进行排序。 + + # ls --sort=extension + # ls --sort=size + # ls --sort=time + # ls --sort=version + # ls --sort=none + +![Sort Listing of Content by Options](http://www.tecmint.com/wp-content/uploads/2015/03/Sort-Content-by-Extensions.gif) + +*通过选项对内容排序列出* + +### 5. 使用ls命令打印目录中各个项的数字UID和GID。 ### + +上面的环境可以通过使用带有-n标识的ls命令来实现。 + + # ls -n + +![Print Listing of Content by UID and GID](http://www.tecmint.com/wp-content/uploads/2015/03/Print-UID-GID-of-Contents.gif) + +*通过UID和GID对打印内容列表* + +### 6. 标准输出结果中打印目录内容中比默认指定的更多栏目。 ### + +好吧,ls命令根据屏幕大小自动输出目录内容。 + +然而,我们可以手动分配屏幕宽度的值和出现的栏目的控制数。这可以通过使用‘`--width`’开关实现。 + + # ls --width 80 + # ls --width 100 + # ls --width 150 + +![List Content Based on Window Sizes](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-By-More-Column.gif) + +*根据窗口大小列出内容* + +**注意**: 你可以试验你可以给width标识传递什么值。 + +### 7. 通过ls命令为列出的目录内容手动指定的制表符大小而不是默认的8。 ### + + # ls --tabsize=[value] + +![List Content by Table Size](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-by-Table-Size.gif) + +*按表尺寸列出内容* + +**注意**: 指定`[Value]`的数值。 + +到目前为止,都讲完了。保持连线,我们会推出下一篇文章。别忘了在下面的评论中为我们提供有价值的反馈。为我们点赞并分享,帮我们推广。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/linux-ls-command-tricks/ + +作者:[Avishek Kumar][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:https://linux.cn/article-5109-1.html +[2]:https://linux.cn/article-5349-1.html +[3]:https://linux.cn/article-5350-1.html diff --git a/published/20150324 How to Host Open Source Code Repository in github.md b/published/201505/20150324 How to Host Open Source Code Repository in github.md similarity index 100% rename from published/20150324 How to Host Open Source Code Repository in github.md rename to published/201505/20150324 How to Host Open Source Code Repository in github.md diff --git a/published/20150324 How to Interactively Create a Docker Container.md b/published/201505/20150324 How to Interactively Create a Docker Container.md similarity index 100% rename from published/20150324 How to Interactively Create a Docker Container.md rename to published/201505/20150324 How to Interactively Create a Docker Container.md diff --git a/translated/tech/20150326 How to set up server monitoring system with Monit.md b/published/201505/20150326 How to set up server monitoring system with Monit.md similarity index 88% rename from translated/tech/20150326 How to set up server monitoring system with Monit.md rename to published/201505/20150326 How to set up server monitoring system with Monit.md index 5fbce3aa70..6886e83ef2 100755 --- a/translated/tech/20150326 How to set up server monitoring system with Monit.md +++ b/published/201505/20150326 How to set up server monitoring system with Monit.md @@ -6,7 +6,7 @@ ### Monit是什么? ### -[Monit][3]是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。然而,Monit可以胜任全面监控、进程状态监控、文件系统变动监控、邮件通知和对核心服务的自定义回调等场景。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 +[Monit][3]是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。然而,Monit可以胜任全面监控、进程状态监控、文件系统变动监控、邮件通知和对核心服务的自定义动作等场景。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 我已经在一些机器使用Monit几年了,而且我对它的可靠性非常满意。甚至作为全面的监控系统,对任何Linux系统管理员来说Monit也是非常有用和强大的。在这篇教程中,我会展示如何在一个本地服务器部署Monit(作为后备监控系统)来监控常见的服务。在部署过程中,我只会展示我们用到的部分。 @@ -24,16 +24,16 @@ Fedora或者CentOS/RHEL: # yum install monit -Monit自带一个文档完善的配置文件,其中包含了很多例子。主配置文件在/etc/monit.conf(Fedora/CentOS/RHEL),或者/etc/monit/monitrc(Debian/Ubuntu/Mint)。Monit配置文件有两部分:“Global”(全局)和“Services”(服务)。 +Monit自带一个文档完善的配置文件,其中包含了很多例子。主配置文件在/etc/monit.conf(Fedora/CentOS/RHEL 中),或者/etc/monit/monitrc(Debian/Ubuntu/Mint 中)。Monit配置文件有两部分:“Global”(全局)和“Services”(服务)。 -### Global Configuration: Web Status Page (全局配置:Web状态页面。LCTT 译注:保留原文是因为和配置文件中的字段对应) ### +### Global Configuration: Web Status Page (全局配置:Web状态页面) ### -Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面来展示。我们先使用符合以下要求的web状态页面吧: +Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面来展示。我们先使用如下配置的web状态页面吧: - Monit监听1966端口。 - 对web状态页面的访问是通过SSL加密的。 - 使用monituser/romania作为用户名/口令登录。 -- 只允许使用localhost、myhost.mydomain.ro和在局域网内部(192.168.0.0/16)访问。 +- 只允许通过localhost、myhost.mydomain.ro和在局域网内部(192.168.0.0/16)访问。 - Monit使用pem格式的SSL证书。 之后的步骤,我会使用一个基于Red Hat的系统。在基于Debian的系统中的步骤也是类似的。 @@ -99,10 +99,10 @@ Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面 我们必须定义“idfile”,Monit守护进程的一个独一无二的ID文件;以及“eventqueue”,当monit的邮件因为SMTP或者网络故障发不出去,邮件会暂存在这里;以及确保/var/monit路径是存在的。然后使用下边的配置就可以了。 set idfile /var/monit/id - set eventqueue + set eventqueue basedir /var/monit -### 测试Global Configuration(全局配置) ### +### 测试全局配置 ### 现在“Global”部分就完成了。Monit配置文件看起来像这样: @@ -163,11 +163,11 @@ Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面 现在打开一个浏览器窗口,然后访问`https://:1966`。将``替换成Monit所在机器的机器名或者IP地址。 -如果你使用的是自签名的SSL证书,你会在浏览器中看到一个警告信息。 +如果你使用的是自签名的SSL证书,你会在浏览器中看到一个警告信息。继续访问即可。 ![](https://farm8.staticflickr.com/7596/16737206479_96b9f7dfdb_c.jpg) -你完成登录后,一定要看这个页面。 +你完成登录后,就会看到这个页面。 ![](https://farm8.staticflickr.com/7594/16303369973_6019482dea_c.jpg) @@ -209,7 +209,7 @@ Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面 if failed port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout -我们可以这样解释上述配置。我们检查是否存在名为sshd的进程,并且有一个保存pid的文件存在(/var/run/sshd.pid)。如果任何一个不存在,我们就使用启动脚本重启sshd。我们检查是否有进程在监听22端口,并且使用的是SSH协议。如果没有,我们还是重启sshd。如果在最近的5个监控周期(5x120秒)至少重启5次了,sshd就被认为是不能用的,我们就不再检查了。 +我们可以这样解释上述配置:我们检查是否存在名为sshd的进程,并且有一个保存其pid的文件存在(/var/run/sshd.pid)。如果任何一个不存在,我们就使用启动脚本重启sshd。我们检查是否有进程在监听22端口,并且使用的是SSH协议。如果没有,我们还是重启sshd。如果在最近的5个监控周期(5x120秒)至少重启5次了,sshd就被认为是不能用的,我们就不再检查了。 ![](https://farm9.staticflickr.com/8685/16735725998_62c26a24bc_c.jpg) @@ -236,7 +236,7 @@ via: http://xmodulo.com/server-monitoring-system-monit.html 作者:[Iulian Murgulet][a] 译者:[goreliu](https://github.com/goreliu) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -244,7 +244,7 @@ via: http://xmodulo.com/server-monitoring-system-monit.html [1]:http://xmodulo.com/monitor-common-services-nagios.html [2]:http://xmodulo.com/monitor-linux-servers-snmp-cacti.html [3]:http://mmonit.com/monit/ -[4]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html +[4]:https://linux.cn/article-2324-1.html [5]:http://xmodulo.com/how-to-set-up-rpmforge-repoforge-repository-on-centos.html [6]:http://xmodulo.com/mail-server-ubuntu-debian.html [7]:http://mmonit.com/wiki/Monit/ConfigurationExamples \ No newline at end of file diff --git a/published/20150330 2 Ways to Create Your Own Docker Base Image.md b/published/201505/20150330 2 Ways to Create Your Own Docker Base Image.md similarity index 100% rename from published/20150330 2 Ways to Create Your Own Docker Base Image.md rename to published/201505/20150330 2 Ways to Create Your Own Docker Base Image.md diff --git a/published/20150330 How to secure SSH login with one-time passwords on Linux.md b/published/201505/20150330 How to secure SSH login with one-time passwords on Linux.md similarity index 100% rename from published/20150330 How to secure SSH login with one-time passwords on Linux.md rename to published/201505/20150330 How to secure SSH login with one-time passwords on Linux.md diff --git a/published/20150330 Linux FAQs with Answers--How to upgrade Docker on Ubuntu.md b/published/201505/20150330 Linux FAQs with Answers--How to upgrade Docker on Ubuntu.md similarity index 100% rename from published/20150330 Linux FAQs with Answers--How to upgrade Docker on Ubuntu.md rename to published/201505/20150330 Linux FAQs with Answers--How to upgrade Docker on Ubuntu.md diff --git a/published/20150331 Conky--The Ultimate X Based System Monitor Application.md b/published/201505/20150331 Conky--The Ultimate X Based System Monitor Application.md similarity index 100% rename from published/20150331 Conky--The Ultimate X Based System Monitor Application.md rename to published/201505/20150331 Conky--The Ultimate X Based System Monitor Application.md diff --git a/published/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md b/published/201505/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md similarity index 100% rename from published/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md rename to published/201505/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md diff --git a/published/20150331 Its Now Worth Try Installing PHP 7.0 on CentOS 7.x or Fedora 21.md b/published/201505/20150331 Its Now Worth Try Installing PHP 7.0 on CentOS 7.x or Fedora 21.md similarity index 100% rename from published/20150331 Its Now Worth Try Installing PHP 7.0 on CentOS 7.x or Fedora 21.md rename to published/201505/20150331 Its Now Worth Try Installing PHP 7.0 on CentOS 7.x or Fedora 21.md diff --git a/translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md b/published/201505/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md similarity index 78% rename from translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md rename to published/201505/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md index c5920123c6..da976c42d0 100644 --- a/translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md +++ b/published/201505/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md @@ -1,20 +1,21 @@ -Linux Email应用 Geary 更新了 — 如何在Ubuntu上安装 +Linux Email应用 Geary 更新了 ================================================================================ **Geary,Linux上流行的桌面email客户端,更新到版本0.10了 — 并且有了很多新的功能。** ![elementary OS上运行的旧版本的Geary](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg) -elementary OS上运行的旧版本的Geary -Geary 0.10有一些可惜的用户界面改进以及额外的UI选项,包括: +*elementary OS上运行的旧版本的Geary* -- 新增: 可以对归档,删除以及移动做'Undo'操作 +Geary 0.10有一些不错的用户界面改进以及额外的UI功能,包括: + +- 新增: 可以撤销归档、删除以及移动等操作 - 新增: 在2列或者2列布局之间切换 - 新的 “split header bar” — 改进邮件列表,发件人布局 - 新的快捷键 — 使用j/k切换到上/下一封邮件 -根据Yorba介绍,这次更新还提出了一个 **全新的全文检索算法** ,用来改进Geary的搜索体验。 +根据Yorba介绍,这次更新还引入了一个**全新的全文检索算法** ,用来改进Geary的搜索体验。 -这个更新应该能平息一下对应用搜索能力的抱怨,那些经常觉得Geary返回的搜索结果仅仅是包装软件自身"看起来和查询语句毫不相关"的观点。 +这个更新应该能平息一下对该应用的搜索能力的抱怨:Geary返回的搜索结果就如同软件自己所宣称的“看起来和查询语句毫不相关”。 > ‘Yorba 建议所有这个软件客户端的用户升级到这个版本’ @@ -36,7 +37,7 @@ Yorba的最新版本可以从GNOME的Git账户下载可编译的源代码。但 Ubuntu用户想知道如何在 **14.04,14.10** 以及 **15.04**(那些更新爱好者) 上安装Geary 0.10。 -官方的Youba PPA包括了 **Geary最新版本** 以及Shotwell(照片管理器)和[California][2](日历应用)。请注意添加这个PPA会使你电脑上任何已经安装的这些应用更新到最近的版本。 +官方的Youba PPA包括了 **Geary 最新版本** 以及Shotwell(照片管理器)和[California][2](日历应用)。请注意添加这个PPA会使你电脑上任何已经安装的这些应用更新到最近的版本。 Capiche? Coolio. @@ -52,7 +53,7 @@ Capiche? Coolio. 完成后,打开你的桌面环境应用启动面板并查找‘Geary’图标。点击它,添加你的账户并查看[通过信息高速公路下载了什么][3],开始使用简单的图形界面吧。 -**别忘记:你可以通过电子邮件告诉我们你想看的新闻,应用建议,以及任何你想我们包括的东西,直接点击joey@oho.io** +**别忘记:你可以通过电子邮件告诉我们你想看的新闻,应用建议,以及任何你想我们包括的东西。** -------------------------------------------------------------------------------- @@ -60,7 +61,7 @@ via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update 作者:[Joey-Elijah Sneddon][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md b/published/201505/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md similarity index 72% rename from translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md rename to published/201505/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md index 631c1992c6..4e6f6f83d0 100644 --- a/translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md +++ b/published/201505/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md @@ -1,9 +1,11 @@ -5个基于Linux命令行的文件下载和网站浏览工具 +5 个基于Linux命令行的文件下载和网站浏览工具 ================================================================================ -GNU/Linux最冒险迷人的部分,Linux命令行,是非常强大的工具。命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪。 + +Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具。命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪。 ![命令行互联网工具](http://www.tecmint.com/wp-content/uploads/2014/02/Command-Line-Internet-Tools.jpg) -5个命令行互联网工具 + +*5个命令行互联网工具* 这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手。 @@ -24,7 +26,8 @@ rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端。 # rtorrent ![命令行torrent下载器](http://www.tecmint.com/wp-content/uploads/2014/02/rTorrent.jpeg) -rTorrent命令行工具 + +*rTorrent命令行工具* #### rTorrent的功能 #### @@ -34,18 +37,18 @@ rTorrent命令行工具 - CTRL+ s – 开始下载 - CTRL+ d – 停止运行中的下载或者移除已完成的下载 - CTRL+ k – 停止并关闭运行中的下载 -- CTRL+ r – 在上传/下载torrent之前进行Hash检查 -- CTRL+ q – 执行两次这个命令,rTorrent会直接退出而不发送停止信号 +- CTRL+ r – 在上传/下载种子之前进行Hash检查 +- CTRL+ q – 执行两次这个命令,rTorrent会直接退出而不发送“停止”信号 - Left Arrow Key – 跳到上一屏幕 - Right Arrow Key – 跳到下一屏幕 ### 2. Wget ### -Wget是GNU项目的一部分,名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载,离线查看本地服务器HTML文件一个很好的工具,它可用于Windows, Max,以及Linux等大部分平台。Wget能通过HTTP,HTTPS和FTP下载文件。另外,能镜像整个网站,支持代理浏览以及暂停/回复下载使得它更为有用。 +Wget是GNU项目的一部分,名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载、离线查看本地服务器HTML文件一个很好的工具,它可用于Windows, Mac,以及Linux等大部分平台。Wget能通过HTTP,HTTPS和FTP下载文件。另外,能镜像整个网站,支持代理浏览以及暂停/回复下载使得它更为有用。 #### 安装Wget #### -由于是GNE项目的一部分,Wget在大部分标准Linux发行版中都绑定发布,不再需要独立下载安装。如果默认没有安装,你也可以使用apt或者yum安装。 +由于是GNU项目的一部分,Wget捆绑在大部分标准Linux发行版中,不再需要独立下载安装。如果默认没有安装,你也可以使用apt或者yum安装。 # apt­-get install wget (基于 APT 的系统) @@ -70,13 +73,14 @@ Wget是GNU项目的一部分,名字由World Wide Web (WWW)衍生而来。Wget Wget是一个很棒的工具,它允许在资源有限的机器上自定义或者过滤下载。这是镜像一个网站(Yahoo.com)的wget下载截图。 ![Wget 下载文件](http://www.tecmint.com/wp-content/uploads/2014/02/Wget.jpeg) -Wget 命令行文件下载 -要获取更多wget下载的例子,可以阅读我们的文章[10个Wget下载命令例子][1]。 +*Wget 命令行文件下载* + +要获取更多wget下载的例子,可以阅读我们的文章[Wget下载命令例子][1]。 ### 3. cURL ### -cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。和其它相对比,在支持LDAP,POP3方面,cURL是和wget不同的简单下载器。cURL也很好的支持代理下载,暂停下载以及恢复下载。 +cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。cURL是一个不同于wget 的简单下载器,和其它的相比,它支持LDAP,POP3。cURL也很好的支持代理下载,暂停下载以及恢复下载。 #### 安装cURL #### @@ -93,14 +97,16 @@ cURL的基本使用方法 # curl www.tecmint.com ![Curl 下载](http://www.tecmint.com/wp-content/uploads/2014/02/Curl.jpeg) -Curl 下载数据 + +*Curl 下载* ![Curl 下载数据](http://www.tecmint.com/wp-content/uploads/2014/02/Curl-2.jpeg) -Curl 下载 + +*Curl 下载* ### 4. w3m ### -W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格,帧,颜色,SSL连接以及内联图像。W3m由于快速浏览而出名。 +W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格,帧,颜色,SSL连接以及内联图像。W3m以快速浏览而出名。 #### 安装w3m #### @@ -117,11 +123,12 @@ W3m在大部分Linux发行版中也是默认可用的。如果不可用的话可 # w3m www.tecmint.com ![命令行浏览器](http://www.tecmint.com/wp-content/uploads/2014/02/w3m.jpeg) -基于文本的web浏览器w3m + +*基于文本的web浏览器w3m* ### 5. Elinks ### -Elinks是基于文本,给基于Unix和基于Unix的系统使用的免费web浏览器。Elinks支持 HTTP,HTTP Cookies以及支持浏览Pery和Ruby脚本。也很好的支持基于标签的浏览。最棒的是它支持鼠标,颜色显示以及支持一系列的协议,例如HTTP, FTP, SMB, Ipv4 和 Ipv6。 +Elinks是基于文本的免费浏览器,用于Unix及基于Unix的系统。Elinks支持 HTTP,HTTP Cookies以及支持浏览Perl和Ruby脚本(LCTT 译注:应该是指 CGI)。也很好的支持选项卡浏览。最棒的是它支持鼠标、彩色以及支持一系列的协议,例如HTTP, FTP, SMB, Ipv4 和 Ipv6。 #### 安装Elinks #### @@ -138,7 +145,8 @@ Elinks的基本使用方法 # elinks www.tecmint.com ![命令行互联网浏览](http://www.tecmint.com/wp-content/uploads/2014/02/Elinks.jpeg) -Elinks命令行浏览互联网 + +*Elinks命令行浏览互联网* 就是这些了。有你们喜欢读的有趣的文章,我会再次来到这里。到那时尽请关注并保持和Tecmint的联系,别忘了在评论部分给我们你的宝贵的反馈。 @@ -148,9 +156,9 @@ via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/ 作者:[Avishek Kumar][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [a]:http://www.tecmint.com/author/avishek/ -[1]:http://www.tecmint.com/10-wget-command-examples-in-linux/ \ No newline at end of file +[1]:https://linux.cn/article-4129-1.html \ No newline at end of file diff --git a/published/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md b/published/201505/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md similarity index 100% rename from published/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md rename to published/201505/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md diff --git a/translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md b/published/201505/20150407 How To Install CentOS Web Panel In CentOS.md similarity index 61% rename from translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md rename to published/201505/20150407 How To Install CentOS Web Panel In CentOS.md index b3d5e2588f..fe038b4406 100644 --- a/translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md +++ b/published/201505/20150407 How To Install CentOS Web Panel In CentOS.md @@ -1,62 +1,61 @@ -如何在CentOS上面安装CentOS网页面板 +如何在CentOS上面安装“CentOS网页面板” =========================================================================== ![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/04/centos-790x427.jpg) ### 关于CentOS网页面板 ### -目前有很多免费的或者付费的控制面板。今天,我们来讨论[CentOS网页面板(CWP)][1],这是特别为基于如CentOS,RHEL,科研用Linux系统等发行版的RPM设计的。**CWP** 是免费且开源的控制面板,可以被广泛用于简单地配置一个网页集群环境。不同于其他的控制面板,CWP是自动用高速缓存来配置LAMP的栈区。 +目前有很多免费的或者付费的控制面板。今天,我们来讨论[CentOS网页面板(CWP)][1],这是特别为基于RPM 的发行版,如CentOS,RHEL,Scientific Linux等设计的。**CWP** 是免费且开源的控制面板,可以被广泛用于简单地配置一个网页托管环境。不同于其他的控制面板,CWP能自动部署LAMP的软件栈及Varnish 缓存服务器。 ### 特性 ### -CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自动在你的服务器上安装全套LAMP服务(apache,php,phpmyadmin,webmail,mailserver等等)。 +CWP有很多的特性和免费的服务。如我前面提到的一样,CWP会在你的服务器上自动安装全套的LAMP服务(apache,php,phpmyadmin,webmail,mailserver等等)。 ### CWP安装过程中会安装和配置的软件列表 ### -- Apache Web Server +- Apache 网页服务器 - PHP 5.4 - MySQL + phpMyAdmin - Postfix + Dovecot + roundcube webmail -- CSF Firewall -- File System Lock (no more website hacking, all your files are locked from changes) -- Backups; AutoFixer for server configuration +- CSF 防火墙 +- File System Lock (不需要修改网站,你的所有文件都会被锁定修改) +- Backups; AutoFixer ,用于服务器配置 ### 第三方应用: ### - - CloudLinux + CageFS + PHP Selector -- Softaculous – Script Installer (Free and Premium) +- Softaculous – 脚本安装器 (免费版和白金版) #### 网页服务器: #### -- Varnish Cache server -- Compiles Apache from source -- Apache reCompiler + Additional modules -- Apache server status, configuration -- Edit apache vhosts, vhosts templates, include configuration -- Rebuild all apache Virtual hosts +- Varnish 缓存服务器 +- 从代码编译 Apache +- Apache 重新编译+附加模块 +- Apache 服务器状态,配置 +- 编辑 Apache 虚拟主机、虚拟主机模版,包括配置 +- 重建所有 Apache 虚拟主机 - suPHP & suExec -- Mod Security + OWASP rules -- Tomcat 8 server management -- DoS protection -- Perl cgi script support +- Mod Security + OWASP 规则 +- Tomcat 8 服务器管理 +- DoS 防护 +- Perl cgi 脚本支持 #### PHP: #### -- PHP 切换器 (在PHP版本如: 5.2, 5.3, 5.4, 5.5之间切换) -- PHP选择器选择每个用户或者每个文件的PHP版本(PHP 4.4, 5.2, 5.3, 5.4, 5.5, 5.6) -- 简单的php编辑软件 +- PHP 切换器 (在PHP版本如: 5.2、 5.3、 5.4、 5.5之间切换) +- PHP选择器,选择每个用户或者每个文件的PHP版本(PHP 4.4、 5.2、 5.3、 5.4、5.5、 5.6) +- 简单的php编辑器 - 在用户面板下简单的php.ini生成器 - PHP 插件 -- PHP.ini editor & PHP info & List modules +- PHP.ini 编辑器 & PHP 信息 和列出模块 - 每个帐号一个php.ini -- FFMPEG,用于视频流网站 +- FFMPEG,用于视频流网站 - CloudLinux + PHP 选择器 #### 用户管理 #### -- 添加,列举,编辑和移除用户 +- 添加、列出、编辑和移除用户 - 用户监管 -- Shell接入管理 +- Shell访问管理 - 用户限制管理 - 限制进程 - 限制访问文件 @@ -67,85 +66,85 @@ CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自 #### DNS: #### - FreeDNS -- 添加,编辑,列举和移除DNS区块 +- 添加、编辑、列出和移除DNS区块 - 编辑域名服务的IP - DNS区块模板编辑器 - 新的易用DNS区块管理器 (用ajax) -- 新的DNS区块列表,带有额外的修复信息 (同时检测 rDNS, 域名服务….) +- 新的DNS区块列表,带有额外的google解析信息 (同时检测 rDNS, 域名服务…) #### Email: #### - Postfix & dovecot -- MailBoxes, Alias +- 邮箱、别名 - Roundcube webmail -- Postfix Mail queue -- rDNS Checker Module +- Postfix 邮件队列 +- rDNS 检查器模块 - 垃圾邮件拦截 - SPF & DKIM集成 -- Re-Build Postfix/Dovecot Mail server with AntiVirus, AntiSpam Protection -- Email Auto Responder +- 重构带有反病毒、反垃圾邮件防护的 Postfix/Dovecot 的邮件服务器 +- Email 自动应答器 #### 系统: #### - CPU核心和时钟信息 - 内存使用信息 - 详细的磁盘状态 -- 软件信息如内核版本,正常运行时间等等. +- 软件信息如内核版本、正常运行时间等等. - 服务器状态 -- 检查配置管理 +- ChkConfig管理 - 网络端口使用 - 网络配置 -- SSHD配置 +- sshd 配置 - 自动修复(检查重要的配置并尝试自动修复问题) #### 监控: #### -- 监控服务 eg. top, apache stats, mysql etc. -- 在面板内使用Java SSH Terminal/Console -- 服务器配置 (eg. Apache, PHP, MySQL etc) +- 监控服务,例如 top、 apache 状态、 mysql 等 +- 在面板内使用Java SSH 终端/控制台 +- 服务器配置 (例如 Apache、 PHP、 MySQL 等) - 在屏幕/后台运行命令行 #### 安全: #### - CSF防火墙 -- SSL产生器 +- SSL生成器 - SSL证书管理 - CloudLinux + CageFS #### SQL: #### - MySQL 数据库管理 -- 添加本地或者远程接入用户 +- 添加本地或者远程访问的用户 - 实时监控MySQL进程列表 - 创建,移除数据库 - 为每个数据库添加额外的用户 - MySQL服务器配置 -- PhpMyAdmin(这个不知道要不要译过来) +- PhpMyAdmin - PostgreSQL, phpPgAdmin支持 #### 额外功能: #### -- 语言通话3 管理 -- 网络电台管理 +- TeamSpeak 3 管理器 +- Shoutcast 管理器 - 自动更新 -- 备份管理 -- 文件管理 +- 备份管理器 +- 文件管理器 - 每个域名的虚拟FTP用户 -- 控制面板帐号移植 (恢复文件,数据库和数据库用户) -- 还有更多. +- cPanel帐号迁移 (恢复文件,数据库和数据库用户) +- 还有更多 ### 在CentOS 6上安装CentOS网页面板 ### -写这篇教程的时候,CWP仅仅支持最高CentOS 6.x版本。在CentOS 7和更高的版本中是行不通的。 +写这篇教程的时候,CWP仅仅支持最高CentOS 6.x版本。在CentOS 7和更高的版本中是不支持的。 #### 前期准备: #### -**安装CWP之前,里必须知道以下的信息:** +**安装CWP之前,你必须知道以下的信息:** -- CWP 仅支持静态IP地址。它并不支持动态的,固定的,或者内部的IP地址。 -- CWP 并没有卸载程序。当你安装CWP后,里必须重新安装服务器来移除它。 -- 之安装CWP在一个新装的还没做任何配置改变的操作系统上。 -- 对与32位操作系统至少需要512MB RAM。 +- CWP 仅支持静态IP地址。它并不支持动态的,或者内部的IP地址。 +- CWP 并没有卸载程序。当你安装CWP后,你必须重新安装服务器来移除它。 +- 只能在一个新装的还没做任何配置改变的操作系统上安装CWP。 +- 对于32位操作系统至少需要512MB RAM。 - 64位系统需要1024MB RAM。 - 要求至少20GB的硬盘空间。 @@ -175,7 +174,7 @@ CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自 如果上面的URL出现错误,用下面的链接代替。 - wget http://dll.centos-webpanle.com/files/cwp-latest + wget http://dl1.centos-webpanle.com/files/cwp-latest 然后,用命令开始安装CWP: @@ -189,8 +188,7 @@ CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自 安装过程会持续到30分钟或者更多,取决于你的网速。 -最后,你会看到如下安装完成的信息。 -记下一些详细信息,如mysql超级用户密码和CWP的登录URLs。你随后会需要。然后,按下回车Enter重启系统。 +最后,你会看到如下安装完成的信息。记下一些详细信息,如mysql超级用户密码和CWP的登录URL,你随后会需要它们。然后,按下回车Enter重启系统。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_004.png) @@ -200,7 +198,7 @@ CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自 #### 调整防火墙/路由: #### -CWP的默认网络控制接口是**2030(http)**和**2031(https)**。你应该通过防火墙/路由允许使用这两个端口,以便远程接入CWP网络控制台。 +CWP的默认网页控制界面的端口是**2030(http)**和**2031(https)**。你应该通过防火墙/路由允许使用这两个端口,以便远程接入CWP网络控制台。 编辑iptables文件: @@ -242,43 +240,42 @@ CWP的默认网络控制接口是**2030(http)**和**2031(https)**。你 接下来,我们得做一些事,比如: -1.建立域名服务 -1.建立ip共享(必须是你的公共IP地址) -1.建立至少一个集合包(或者编辑默认的包) -1.建立root电子邮件,等等。 +1. 设置域名服务器 +1. 设置 ip 共享(必须是你的公共IP地址) +1. 设置至少一个托管包(或者编辑默认的包) +1. 设置 root 电子邮件,等等。 -#### 建立域名服务: #### +#### 设置域名服务器: #### -为建立域名服务,找到**DNS Functions -> Edit nameservers IPs**。 +为建立域名服务器,找到**DNS Functions -> Edit nameservers IPs**。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_009.png) 设置你的域名服务器,点击保存按钮。 - ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_010.png) -#### 建立共享IP和Root邮箱ID: #### +#### 建立共享IP和Root邮件地址: #### -在你的主机上管理网站,这是非常重要的一步。为了建立共享IP,进入**CWP Setting -> Edit settings**。 +在你的主机上托管网站,这是非常重要的一步。为了建立共享IP,进入**CWP Setting -> Edit settings**。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_011.png) -输入你的静态IP和邮箱ID,然后点击保存设置按钮。 +输入你的静态IP和邮件地址,然后点击保存设置按钮。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_012.png) 现在,CWP可以进行网站维护了。 -#### 建立主机包 #### +#### 建立托管包 #### -一个主机包什么都没有,除了一个网站托管计划,包括允许访问的磁盘空间,带宽,但没有FTP帐号,邮箱IDs和数据库等等。你可以建立任意数量的网站托管计划,只要你喜欢。 +一个托管包就是一个网站托管计划,包括允许访问的磁盘空间,带宽,但没有FTP帐号,邮箱地址和数据库等等。你可以建立任意数量的网站托管计划,只要你喜欢。 -添加一个包,从CWP的控制台进入**Packages — Add a Package** +要添加一个包,从CWP的控制台进入**Packages — Add a Package** ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_013.png) -输入包的名字,允许访问的磁盘配额/RAM数量,FTP/Email帐号,数据库和子域名等等。点击保持设置按钮,建立一个网站托管计划。 +输入包的名字,允许访问的磁盘配额/RAM数量,FTP/Email帐号,数据库和子域名等等。点击保存设置按钮,建立一个网站托管计划。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_014.png) @@ -290,7 +287,7 @@ CWP的默认网络控制接口是**2030(http)**和**2031(https)**。你 而添加一个用户,请进入**User Account -> New Account**。 -输入域名(ex.unixmen.com),用户名,密码和邮箱id等等。最后,点击**Create**。 +输入域名(ex.unixmen.com),用户名,密码和邮箱地址等等。最后,点击**Create**。 ![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_016.png) @@ -312,12 +309,11 @@ CWP的默认网络控制接口是**2030(http)**和**2031(https)**。你 --------------------------------------------------------------------------- - via: http://www.unixmen.com/how-to-install-centos-web-panel-in-centos/ 作者:[SK][a] 译者:[wi-cuckoo](https://github.com/wi-cuckoo) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150407 How to secure BGP sessions using authentication on Quagga.md b/published/201505/20150407 How to secure BGP sessions using authentication on Quagga.md similarity index 68% rename from translated/tech/20150407 How to secure BGP sessions using authentication on Quagga.md rename to published/201505/20150407 How to secure BGP sessions using authentication on Quagga.md index be67b88ab1..9881d73c40 100644 --- a/translated/tech/20150407 How to secure BGP sessions using authentication on Quagga.md +++ b/published/201505/20150407 How to secure BGP sessions using authentication on Quagga.md @@ -2,7 +2,7 @@ Quagga上使用验证加固BGP会话安全 ================================================================================ BGP协议运行于TCP之上,因而,它也继承了TCP连接的所有漏洞。例如,在一个BGP会话内,攻击者可以冒充一个合法的BGP邻居,然后说服另一端的BGP路由器共享路由信息给攻击者。在攻击者通告并向邻居路由注入伪造的路由时,就会发生这个问题。毫无戒备的邻居路由器就会开始向攻击者发送通信实况,实际上这些信息并没有去向任何地方,仅仅只是被丢弃了。回到2008年,YouTube实际上也[受害于][1]这样的BGP路由中毒,并遭受了长达一个小时的视频服务大量中断。一个更加糟糕的情况是,如果攻击者是个足够懂行的人,他们可以伪装成一台透明路由器,然后嗅探经过的通信以获取敏感数据。你可以想象,这会造成深远的影响。 -要保护活跃的BGP会话不受攻击,许多服务提供商在BGP会话中使用[MD5校验和并预共享密钥][2]。在受保护的BGP会话中,一台发送包的BGP路由器通过使用预共享的密钥生成MD5散列值、部分IP和TCP头以及有效负载。然后,MD5散列作为一个TCP选项字段存储。在收到包后,接受路由器用同样的方法使用预共享密钥生成它的MD5版本。它会将它的MD5散列和接收到的某个包的值进行对比,以决定是否接受该包。对于一个攻击者而言,几乎不可能猜测校验和或其密钥。对于BGP路由器而言,它们能在消耗包的内容前确保每个包的合法性。 +要保护活跃的BGP会话不受攻击,许多服务提供商在BGP会话中使用[MD5校验和及预共享密钥][2]。在受保护的BGP会话中,一台发送包的BGP路由器通过使用预共享的密钥生成MD5散列值、部分IP和TCP头以及有效载荷。然后,MD5散列作为一个TCP选项字段存储。在收到包后,接受路由器用同样的方法使用预共享密钥生成它的MD5版本。它会将它的MD5散列和接收到的某个包的值进行对比,以决定是否接受该包。对于一个攻击者而言,几乎不可能猜测到校验和或其密钥。对于BGP路由器而言,它们能在使用包的内容前确保每个包的合法性。 在本教程中,我们将为大家演示如何使用MD5校验和以及预共享密钥来加固两个邻居间的BGP会话的安全。 @@ -13,7 +13,7 @@ BGP协议运行于TCP之上,因而,它也继承了TCP连接的所有漏洞 - + @@ -28,7 +28,7 @@ BGP协议运行于TCP之上,因而,它也继承了TCP连接的所有漏洞
路由器名称ASAS 号 IP地址
-常用的Linux内核原生支持TCP的MD5选项用于IPv4和IPv6。因此,如果你从全新的[Linux盒子][3]构建了Quagga路由器,TCP的MD5功能会自动启用。剩下来的事情,仅仅是配置Quagga以使用它的功能。但是,如果你使用的是FreeBSD盒子或者为Quagga构建了一个自定义内核,请确保内核开启了TCP的MD5支持(如,Linux中的CONFIG_TCP_MD5SIG选项)。 +常用的Linux内核原生支持IPv4和IPv6的TCP MD5选项。因此,如果你从全新的[Linux机器][3]构建了一台Quagga路由器,TCP的MD5功能会自动启用。剩下来的事情,仅仅是配置Quagga以使用它的功能。但是,如果你使用的是FreeBSD机器或者为Quagga构建了一个自定义内核,请确保内核开启了TCP的MD5支持(如,Linux中的CONFIG_TCP_MD5SIG选项)。 ### 配置Router-A验证功能 ### @@ -43,7 +43,7 @@ BGP协议运行于TCP之上,因而,它也继承了TCP连接的所有漏洞 本例中使用的预共享密钥是‘xmodulo’。很明显,在生产环境中,你需要选择一个更健壮的密钥。 -**注意**: 在Quagga中,‘service password-encryption’命令是想加密配置文件中所有明文密码(如,登录密码)。然而,当我使用该命令时,我注意到BGP配置中的预共享密钥仍然是明文的。我不确定这是否是Quagga的限制,还是版本自身的问题。 +**注意**: 在Quagga中,‘service password-encryption’命令被用做加密配置文件中所有明文密码(如,登录密码)。然而,当我使用该命令时,我注意到BGP配置中的预共享密钥仍然是明文的。我不确定这是否是Quagga的限制,还是版本自身的问题。 ### 配置Router-B验证功能 ### @@ -58,15 +58,17 @@ BGP协议运行于TCP之上,因而,它也继承了TCP连接的所有漏洞 ### 验证BGP会话 ### -如果一切配置正确,那么BGP会话就会起来,两台路由器应该能交换路由表。这时候,TCP会话中的所有流出包都会携带一个MD5摘要的包内容和一个密钥,而摘要信息会被另一端自动验证。 +如果一切配置正确,那么BGP会话就应该起来了,两台路由器应该能交换路由表。这时候,TCP会话中的所有流出包都会携带一个MD5摘要的包内容和一个密钥,而摘要信息会被另一端自动验证。 -我们可以像平时一样通过查看BGP的概要来验证活跃的BGP会话。MD5校验和验证在Quagga内部是透明的,因此,你在BGP级别是无法看到的。 +我们可以像平时一样通过查看BGP的概要来验证活跃的BGP会话。MD5校验和的验证在Quagga内部是透明的,因此,你在BGP级别是无法看到的。 ![](https://farm8.staticflickr.com/7621/16837774368_e9ff66b370_c.jpg) 如果你想要测试BGP验证,你可以配置一个邻居路由,设置其密码为空,或者故意使用错误的预共享密钥,然后查看发生了什么。你也可以使用包嗅探器,像tcpdump或者Wireshark等,来分析通过BGP会话的包。例如,带有“-M ”选项的tcpdump将验证TCP选项字段的MD5摘要。 -小结之,在本教程中,我们演示了怎样简单地加固两台路由间的BGP会话安全。相对于其它协议而言,配置过程非常简明。强烈推荐你加固BGP会话安全,尤其是当你用另一个AS配置BGP会话的时候。预共享密钥也应该安全地保存。 +###小结### + +在本教程中,我们演示了怎样简单地加固两台路由间的BGP会话安全。相对于其它协议而言,配置过程非常简明。强烈推荐你加固BGP会话安全,尤其是当你用另一个AS配置BGP会话的时候。预共享密钥也应该安全地保存。 -------------------------------------------------------------------------------- @@ -74,11 +76,11 @@ via: http://xmodulo.com/bgp-authentication-quagga.html 作者:[Sarmed Rahman][a] 译者:[GOLinux](https://github.com/GOLinux) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [a]:http://xmodulo.com/author/sarmed [1]:http://research.dyn.com/2008/02/pakistan-hijacks-youtube-1/ [2]:http://tools.ietf.org/html/rfc2385 -[3]:http://xmodulo.com/centos-bgp-router-quagga.html +[3]:https://linux.cn/article-4232-1.html diff --git a/published/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md b/published/201505/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md similarity index 100% rename from published/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md rename to published/201505/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md diff --git a/published/20150409 Install Inkscape - Open Source Vector Graphic Editor.md b/published/201505/20150409 Install Inkscape - Open Source Vector Graphic Editor.md similarity index 100% rename from published/20150409 Install Inkscape - Open Source Vector Graphic Editor.md rename to published/201505/20150409 Install Inkscape - Open Source Vector Graphic Editor.md diff --git a/published/20150410 This tool can alert you about evil twin access points in the area.md b/published/201505/20150410 This tool can alert you about evil twin access points in the area.md similarity index 100% rename from published/20150410 This tool can alert you about evil twin access points in the area.md rename to published/201505/20150410 This tool can alert you about evil twin access points in the area.md diff --git a/published/20150410 What is a good alternative to wget or curl on Linux.md b/published/201505/20150410 What is a good alternative to wget or curl on Linux.md similarity index 100% rename from published/20150410 What is a good alternative to wget or curl on Linux.md rename to published/201505/20150410 What is a good alternative to wget or curl on Linux.md diff --git a/published/20150413 A Walk Through Some Important Docker Commands.md b/published/201505/20150413 A Walk Through Some Important Docker Commands.md similarity index 100% rename from published/20150413 A Walk Through Some Important Docker Commands.md rename to published/201505/20150413 A Walk Through Some Important Docker Commands.md diff --git a/published/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md b/published/201505/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md similarity index 100% rename from published/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md rename to published/201505/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md diff --git a/published/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md b/published/201505/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md similarity index 100% rename from published/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md rename to published/201505/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md diff --git a/published/20150415 Strong SSL Security on nginx.md b/published/201505/20150415 Strong SSL Security on nginx.md similarity index 100% rename from published/20150415 Strong SSL Security on nginx.md rename to published/201505/20150415 Strong SSL Security on nginx.md diff --git a/published/20150417 14 Useful Examples of Linux 'sort' Command--Part 1.md b/published/201505/20150417 14 Useful Examples of Linux 'sort' Command--Part 1.md similarity index 100% rename from published/20150417 14 Useful Examples of Linux 'sort' Command--Part 1.md rename to published/201505/20150417 14 Useful Examples of Linux 'sort' Command--Part 1.md diff --git a/published/20150417 How to Configure MariaDB Replication on CentOS Linux.md b/published/201505/20150417 How to Configure MariaDB Replication on CentOS Linux.md similarity index 100% rename from published/20150417 How to Configure MariaDB Replication on CentOS Linux.md rename to published/201505/20150417 How to Configure MariaDB Replication on CentOS Linux.md diff --git a/translated/tech/20150417 sshuttle--A transparent proxy-based VPN using ssh.md b/published/201505/20150417 sshuttle--A transparent proxy-based VPN using ssh.md similarity index 76% rename from translated/tech/20150417 sshuttle--A transparent proxy-based VPN using ssh.md rename to published/201505/20150417 sshuttle--A transparent proxy-based VPN using ssh.md index 297f411840..953fd343b8 100644 --- a/translated/tech/20150417 sshuttle--A transparent proxy-based VPN using ssh.md +++ b/published/201505/20150417 sshuttle--A transparent proxy-based VPN using ssh.md @@ -1,9 +1,8 @@ -sshuttle - 一个使用ssh的基于VPN的透明代理 +sshuttle:一个使用ssh的基于VPN的透明代理 ================================================================================ -sshuttle允许你通过ssh创建一条从你电脑连接到任何远程服务器的VPN连接,只要你的服务器支持python2.3 或则更高的版本, 你必须有本机的root权限,但是你可以在服务端有普通账户即可。 - -你可以在一台机器上同时运行多次sshuttle来连接到不同的服务器上,这样你就可以一次使用多个VPN, sshuttle可以转发你子网所有流量到VPN中。 +sshuttle 允许你通过 ssh 创建一条从你电脑连接到任何远程服务器的 VPN 连接,只要你的服务器支持 python2.3 或则更高的版本。你必须有本机的 root 权限,但是你可以在服务端有普通账户即可。 +你可以在一台机器上同时运行多次 sshuttle 来连接到不同的服务器上,这样你就可以同时使用多个 VPN, sshuttle可以转发你子网中所有流量到VPN中。 ### 在Ubuntu中安装sshuttle ### @@ -17,7 +16,7 @@ sshuttle允许你通过ssh创建一条从你电脑连接到任何远程服务器 sshuttle [options...] [-r [username@]sshserver[:port]] [subnets] -#### Option 细节 #### +#### 选项细节 #### -r, —remote=[username@]sshserver[:port] @@ -29,9 +28,9 @@ sshuttle允许你通过ssh创建一条从你电脑连接到任何远程服务器 sudo sshuttle -r username@sshserver 0.0.0.0/0 -vv -当开始后,sshuttle会创建一个ssh会话到通过-r指定的服务器。如果-r被忽略了,它会在本地运行客户端和服务端,这个有时会在测试时有用。 +当开始后,sshuttle会创建一个ssh会话到由-r指定的服务器。如果-r被丢了,它会在本地运行客户端和服务端,这个有时会在测试时有用。 -连接到远程服务器后,sshuttle会上传它的(python)源码到远程服务器并执行。那么,你就不需要在远程服务器上安装sshuttle,并且客户端和服务器端间不会存在sshuttle版本冲突。 +连接到远程服务器后,sshuttle会上传它的(python)源码到远程服务器并执行。所以,你就不需要在远程服务器上安装sshuttle,并且客户端和服务器端间不会存在sshuttle版本冲突。 #### 手册中的更多例子 #### @@ -86,7 +85,7 @@ via: http://www.ubuntugeek.com/sshuttle-a-transparent-proxy-based-vpn-using-ssh. 作者:[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/) 荣誉推出 diff --git a/published/20150420 7 Interesting Linux 'sort' Command Examples--Part 2.md b/published/201505/20150420 7 Interesting Linux 'sort' Command Examples--Part 2.md similarity index 100% rename from published/20150420 7 Interesting Linux 'sort' Command Examples--Part 2.md rename to published/201505/20150420 7 Interesting Linux 'sort' Command Examples--Part 2.md diff --git a/published/20150423 uperTuxKart 0.9 Released--The Best Racing Game on Linux Just Got Even Better.md b/published/201505/20150423 uperTuxKart 0.9 Released--The Best Racing Game on Linux Just Got Even Better.md similarity index 100% rename from published/20150423 uperTuxKart 0.9 Released--The Best Racing Game on Linux Just Got Even Better.md rename to published/201505/20150423 uperTuxKart 0.9 Released--The Best Racing Game on Linux Just Got Even Better.md diff --git a/published/20150429 Docker 1.6 Released--How to Upgrade on Fedora or CentOS.md b/published/201505/20150429 Docker 1.6 Released--How to Upgrade on Fedora or CentOS.md similarity index 100% rename from published/20150429 Docker 1.6 Released--How to Upgrade on Fedora or CentOS.md rename to published/201505/20150429 Docker 1.6 Released--How to Upgrade on Fedora or CentOS.md diff --git a/translated/share/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md b/published/201505/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md similarity index 53% rename from translated/share/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md rename to published/201505/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md index b4e41bd155..a216674d9b 100644 --- a/translated/share/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md +++ b/published/201505/20150429 Synfig Studio 1.0--Open Source Animation Gets Serious.md @@ -1,21 +1,16 @@ -Translating by H-mudcup - -Synfig Studio 1.0 —— 开源动画动真格的了 +Synfig Studio 1.0:开源动画动真格的了 ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/synfig-free-animations-750x467.jpg) **现在可以下载 Synfig Studio 这个自由、开源的2D动画软件的全新版本了。 ** -在第一次发行这个跨平台的软件一年以后,Synfig Studio 1.0 带着一套全新改和改进过的功能,实现它所承诺的“创造电影级别的动画的产业级解决方案”。 +在这个跨平台的软件首次发行一年之后,Synfig Studio 1.0 带着一套全新改进过的功能,实现它所承诺的“创造电影级的动画的工业级解决方案”。 -在众多功能之上的是一个改进过的用户界面,据工程开发者说那是个用起来‘更简单’、‘更直观’的界面。客户端添加了新的**单窗口模式**,让界面更整洁,而且**为了使用最新的 GTK3 库而被重新制作**。 +在众多功能之上的是一个改进过的用户界面,据项目开发者说那是个用起来‘更简单’、‘更直观’的界面。客户端添加了新的**单窗口模式**,让界面更整洁,而且**使用了最新的 GTK3 库重制**。 在功能方面有几个值得注意的变化,包括新加的全功能骨骼系统。 -这套**关节和转轴的‘骨骼’构架**非常适合2D剪纸动画,再配上这个版本新加的复杂的变形控制系统或是 Synfig 受欢迎的‘关键帧自动插入’(阅读:画面与画面间的变形)应该会变得非常有效率的。 - -注:youtube视频 - +这套**关节和转轴的‘骨骼’构架**非常适合2D剪纸动画,再配上这个版本新加的复杂的变形控制系统或是 Synfig 受欢迎的‘关键帧自动插入’(即:帧到帧之间的变形)应该会变得非常有效率的。(youtube视频 https://www.youtube.com/M8zW1qCq8ng ) 新的无损剪切工具,摩擦力效果和对逐帧位图动画的支持,可能会有助于释放开源动画师们的创造力,更别说新加的用于同步动画的时间线和声音的声效层! @@ -23,18 +18,18 @@ Synfig Studio 1.0 —— 开源动画动真格的了 Synfig Studio 并不是任何人都能用的工具套件,这最新发行版的最新一批改进应该能吸引一些动画制作者试一试这个软件。 -If you want to find out what open-source animation software is like for yourself, you can grab an installer for Ubuntu for the latest release direct from the project’s page using the links below. 如果你想看看开源动画制作软件是什么样的,你可以通过下面的链接直接从工程的 Sourceforge 页下载一个适用于 Ubuntu 的最新版本的安装器。 +如果你想看看开源动画制作软件是什么样的,你可以通过下面的链接直接从工程的 Sourceforge 页下载一个适用于 Ubuntu 的最新版本的安装器。 -- [Download Synfig 1.0 (64bit) .deb Installer][1] -- [Download Synfig 1.0 (32bit) .deb Installer][2] +- [下载 Synfig 1.0 (64bit) .deb 安装器][1] +- [下载 Synfig 1.0 (32bit) .deb 安装器][2] -------------------------------------------------------------------------------- via: http://www.omgubuntu.co.uk/2015/04/synfig-studio-new-release-features -作者:[oey-Elijah Sneddon][a] +作者:[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/) 荣誉推出 diff --git a/published/20150429 web caching basics terminology http headers and caching strategies.md b/published/201505/20150429 web caching basics terminology http headers and caching strategies.md similarity index 100% rename from published/20150429 web caching basics terminology http headers and caching strategies.md rename to published/201505/20150429 web caching basics terminology http headers and caching strategies.md diff --git a/published/20150504 How To Install Visual Studio Code On Ubuntu.md b/published/201505/20150504 How To Install Visual Studio Code On Ubuntu.md similarity index 100% rename from published/20150504 How To Install Visual Studio Code On Ubuntu.md rename to published/201505/20150504 How To Install Visual Studio Code On Ubuntu.md diff --git a/translated/tech/20150505 Bodhi Linux Introduces Moksha Desktop.md b/published/201505/20150505 Bodhi Linux Introduces Moksha Desktop.md similarity index 56% rename from translated/tech/20150505 Bodhi Linux Introduces Moksha Desktop.md rename to published/201505/20150505 Bodhi Linux Introduces Moksha Desktop.md index 6ad0d04567..dcb724e7b1 100644 --- a/translated/tech/20150505 Bodhi Linux Introduces Moksha Desktop.md +++ b/published/201505/20150505 Bodhi Linux Introduces Moksha Desktop.md @@ -1,25 +1,26 @@ -Bodhi Linux引入Moksha桌面 +Bodhi Linux 将引入 Moksha 桌面 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Bodhi_Linux.jpg) -基于Ubuntu的轻量级Linux发行版[Bodhi Linux][1]致力于构建其自家的桌面环境,这个全新桌面环境被称之为Moksha(梵文意为‘完全自由’)。Moksha将替换常用的[Enlightenment桌面环境][2]。 +基于Ubuntu的轻量级Linux发行版[Bodhi Linux][1]致力于构建其自家的桌面环境,这个全新桌面环境被称之为Moksha(梵文意为‘完全自由’)。Moksha将替换其原来的[Enlightenment桌面环境][2]。 ### 为何用Moksha替换Englightenment? ### -Bodhi Linux的Jeff Hoogland最近[表示][3]了他对新版Enlightenment的不满。直到E17,Enlightenment都十分稳定,并且能满足轻量级Linux的部署需求。而E18则到处都充满了问题,Bodhi Linux只好弃之不用了。 +Bodhi Linux的Jeff Hoogland最近[表示][3]了他对新版Enlightenment的不满。直到E17,Enlightenment都十分稳定,并且能满足轻量级Linux的部署需求。而E18则到处都充满了问题,Bodhi Linux只好弃之不用了。 虽然最新的[Bodhi Linux 3.0发行版][4]仍然使用了E19作为其桌面(除传统模式外,这意味着,对于旧的硬件,仍然会使用E17),Jeff对E19也十分不满。他说道: ->除了性能问题外,对于我个人而言,E19并没有给我带来与E17下相同的工作流程,因为它移除了很多E17的特性。鉴于此,我不得不将我所有的3台Bodhi计算机桌面改成E17——这3台机器都是我高端的了。这不由得让我想到,我们还有多少现存的Bodhi用户也怀着和我同样的感受,所以,我[在我们的用户论坛上开启一个与此相关的讨论][5]。 +> 除了性能问题外,对于我个人而言,E19并没有给我带来与E17下相同的工作流程,因为它移除了很多E17的特性。鉴于此,我不得不将我所有的3台Bodhi计算机桌面改成E17——这3台机器都是我高端的了。这不由得让我想到,我们还有多少现存的Bodhi用户也怀着和我同样的感受,所以,我[在我们的用户论坛上开启一个与此相关的讨论][5]。 ### Moksha是E17桌面的延续 ### Moksha将会是Bodhi所热衷的E17桌面的延续。Jeff进一步提到: ->我们将从整合所有Bodhi修改开始。多年来我们一直都只是给源代码打补丁,并修复桌面所具有的问题。如果该工作完成,我们将开始移植一些E18和E19引入的更为有用的特性,最后,我们将引入一些我们认为会改善最终用户体验的东西。 + +> 我们将从整合所有Bodhi修改开始。多年来我们一直都只是给源代码打补丁,并修复桌面所带有的问题。如果该工作完成,我们将开始移植一些E18和E19引入的更为有用的特性,最后,我们将引入一些我们认为会改善最终用户体验的东西。 ### Moksha何时发布? ### -下一个Bodhi更新将会是Bodhi 3.1.0,就在今年八月。这个新版本将为所有其缺省ISO带来Moksha。让我们拭目以待,看看Moksha是否是一个好的决定。 +下一个Bodhi更新将会是Bodhi 3.1.0,就在今年八月。这个新版本将为所有其默认安装镜像带来Moksha。让我们拭目以待,看看Moksha是否是一个好的决定。 -------------------------------------------------------------------------------- @@ -27,7 +28,7 @@ via: http://itsfoss.com/bodhi-linux-introduces-moksha-desktop/ 作者:[Abhishek][a] 译者:[GOLinux](https://github.com/GOLinux) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/published/20150506 How to Securely Store Passwords and Api Keys Using Vault.md b/published/201505/20150506 How to Securely Store Passwords and Api Keys Using Vault.md similarity index 100% rename from published/20150506 How to Securely Store Passwords and Api Keys Using Vault.md rename to published/201505/20150506 How to Securely Store Passwords and Api Keys Using Vault.md diff --git a/published/20150506 Linux FAQs with Answers--How to configure a Linux bridge with Network Manager on Ubuntu.md b/published/201505/20150506 Linux FAQs with Answers--How to configure a Linux bridge with Network Manager on Ubuntu.md similarity index 100% rename from published/20150506 Linux FAQs with Answers--How to configure a Linux bridge with Network Manager on Ubuntu.md rename to published/201505/20150506 Linux FAQs with Answers--How to configure a Linux bridge with Network Manager on Ubuntu.md diff --git a/published/20150506 Linux FAQs with Answers--How to install autossh on Linux.md b/published/201505/20150506 Linux FAQs with Answers--How to install autossh on Linux.md similarity index 100% rename from published/20150506 Linux FAQs with Answers--How to install autossh on Linux.md rename to published/201505/20150506 Linux FAQs with Answers--How to install autossh on Linux.md diff --git a/published/20150507 Command Line Tool to Monitor Linux Containers Performance.md b/published/201505/20150507 Command Line Tool to Monitor Linux Containers Performance.md similarity index 100% rename from published/20150507 Command Line Tool to Monitor Linux Containers Performance.md rename to published/201505/20150507 Command Line Tool to Monitor Linux Containers Performance.md diff --git a/published/20150511 OpenSSL command line Root and Intermediate CA including OCSP, CRL and revocation.md b/published/201505/20150511 OpenSSL command line Root and Intermediate CA including OCSP, CRL and revocation.md similarity index 100% rename from published/20150511 OpenSSL command line Root and Intermediate CA including OCSP, CRL and revocation.md rename to published/201505/20150511 OpenSSL command line Root and Intermediate CA including OCSP, CRL and revocation.md diff --git a/published/201505/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md b/published/201505/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md new file mode 100644 index 0000000000..421bc00a0b --- /dev/null +++ b/published/201505/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md @@ -0,0 +1,121 @@ +一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布 +================================================================================ +Linux的命令行是最好、最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能。那些在服务器和生产环境下工作的人早已认识到了这个事实。有趣的是,Linux终端是Linus Torvald在1991年写内核时实现的第一批功能之一。 + +终端是个强大的工具,由于它没有什么可调整的部分,所以十分可靠。终端介于控制台环境和GUI环境之间。终端自身作为一个GUI程序,运行在桌面环境下。有许多终端是适用于特定的桌面环境的,其它的则是通用的。Terminator, Konsole, Gnome-Terminal, Terminology, XFCE terminal, xterm都是些常用的终端模拟器。 + +您可以从下面的链接中获得一份使用最广泛的终端模拟器的列表。 + +- [20 Useful Terminals for Linux][1] + +前几日上网时,我偶遇了名为‘Guake’的终端程序,它是用于gnome的终端模拟器。尽管这并不是我第一次听到Guake。实际上,我在大约一年前便知道了这个应用程序,但不知怎么搞的,我那时没有写写Guake,再后来我便渐渐忘掉了Guake,直到我再一次听到Guake。所以,最终,这篇文章诞生了。我将给你讲讲Guake的功能,在Debian、Ubuntu、Fedora上的安装过程以及一些测试。 + +#### 什么是Guake? #### + +Guake是应用于Gnome环境的下拉式终端。主要由Python编写,使用了一些C,它以GPL2+许可证发布,适用于Linux以及类似的系统。Guake的灵感来源于电脑游戏Quake(雷神之锤)中的终端,Quake的终端能通过按下特定按键(默认为F12)从屏幕上滑下来,并在按下同样的键后滑上去。 + +值得注意的是,Guake并不是第一个这样的应用。Yakuake(Yet Another Kuake)是一个运行于KDE的终端模拟器,Tilda是一个用GTK+写成的终端模拟器。它们的灵感都来自于雷神之锤那上下滑动的终端。 + +#### Guake的功能 #### + +- 轻量级 +- 简单而优雅 +- 功能众多 +- 强大 +- 美观 +- 将终端平滑地集成于GUI中 +- 在按下预定义的键后出现/消失 +- 支持热键、标签、透明化背景,这使得它适合所有Gnome用户 +- 可配置各种方面 +- 包括许多颜色的调色板 +- 设定透明度的快捷方式 +- 通过Guake配置,可在启动时运行一个脚本 +- 可以在多个显示器上运行 + +Guake 0.7.0最近发布,它带来了一些修正以及上面提到的一些功能。完整的版本历史和源代码包可以在[这里][2]找到。 + +### 在Linux中安装Guake终端 ### + +如果您对从源码编译Guake感兴趣,您可以从上面的链接处下载Guake,并在安装前进行编译。 + +然而Guake可以在许多的发行版中通过添加额外的仓库来安装。这里,我们将在Debian、Ubuntu、Linux Mint和Fedora下安装Guake。 + +首先从仓库获取最新的软件包列表,并从默认的仓库安装Guake,如下所示: + + ---------------- 在 Debian, Ubuntu 和 Linux Mint 上 ---------------- + $ sudo apt-get update + $ apt-get install guake + +---------- + + ---------------- 在 Fedora 19 及其以后版本 ---------------- + # yum update + # yum install guake + +安装后,可以从另一个终端中启动Guake: + + $ guake + +在启动它后,便可以在Gnome桌面中使用F12(默认配置)来拉下、收回终端。 + +看起来非常漂亮,尤其是透明背景。滑下来...滑上去...滑下来...滑上去...执行命令,打开另一个标签,执行命令,滑上去...滑下来...(作者已沉迷其中) + +![Guake Terminal in Action](http://www.tecmint.com/wp-content/uploads/2015/05/Guake.png) + +*Guake实战* + +如果您的壁纸或活动窗口的颜色和Guake的颜色有些不搭。您可以改变您的壁纸,减少透明度或者改变Guake的颜色。 + +下一步便是进入Guake的配置,根据每个人的需求修改设置。可以通过应用菜单或者下面的命令来运行Guake的配置。 + + $ guake --preferences + +![Guake Terminal Properties](http://www.tecmint.com/wp-content/uploads/2015/05/Guake-Properties.png) + +*Guake终端配置* + +设置滚动 + +![Guake Scrolling Settings](http://www.tecmint.com/wp-content/uploads/2015/05/Guake-Scrolling.png) + +*Guake滚动配置* + +外观设置 - 在这里您可以修改文字颜色和背景色以及透明度。 + +![Appearance Properties](http://www.tecmint.com/wp-content/uploads/2015/05/Appearance-Properties.png) + +*外观设置* + +键盘快捷键 - 在这里您可以修改Guake显示的开关快捷键。 + +![Keyboard Shortcuts](http://www.tecmint.com/wp-content/uploads/2015/05/Keyboard-Shortcuts.png) + +*键盘快捷键* + +兼容性设置 - 基本上不必设置它。 + +![Compatibility Setting](http://www.tecmint.com/wp-content/uploads/2015/05/Compatibility-Setting.png) + +*兼容性设置* + +### 结论 ### + +这个项目即不是太年轻也不是太古老,因此它已经达到了一定的成熟度,足够可靠,可以开箱即用。像我这样需要在GUI和终端间频繁切换的人来说,Guake是一个福利。我不需要管理一个多余的窗口,频繁的打开和关闭,使用tab在大量打开的应用程序中寻找终端或切换到不同的工作区来管理终端,现在我需要的只有F12。 + +我认为对任何同时使用GUI和终端的Linux用户来说,Guake都是必须的工具。同样的,我会向任何想要在系统中结合使用GUI和终端的人推荐它,因为它既平滑又没有任何障碍。 + +上面就是我要说的全部了。如果在安装和使用时有任何问题,请告诉我,我们会帮助您。也请您告诉我您使用Guake的经验。在下面的评论区反馈您宝贵的经验。点赞和分享以帮助我们宣传。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/install-guake-terminal-ubuntu-mint-fedora/ + +作者:[Avishek Kumar][a] +译者:[wwy-hust](https://github.com/wwy-hust) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/linux-terminal-emulators/ +[2]:https://github.com/Guake/guake/releases/tag/0.7.0 diff --git a/published/201505/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md b/published/201505/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md new file mode 100644 index 0000000000..1d34cda0f4 --- /dev/null +++ b/published/201505/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md @@ -0,0 +1,105 @@ +初来乍到Linux? 你需要知道的5款好应用 +================================================================================ +![](http://cdn.makeuseof.com/wp-content/uploads/2015/05/linux-apps-840x420.jpg?92a7a3) + +当你刚刚迈入linux的世界时,你会立马动身开始使用那些知名的浏览器、云客户端、音乐播放器、邮件客户端,也许还有图形编辑器,对吗?可是,你却错过了几个非常重要的生产工具。这里将介绍给你5个应该安装的不容错过的应用。 + +### [Synergy][1] ### + +Synergy 简直就是多桌面用户的福音。这是一个开源软件,它可以让你用一个鼠标和键盘跨越几台电脑、显示器和操作系统。在桌面之间切换鼠标和键盘非常简单,你只要把鼠标从一个桌面的边缘移向另一个桌面即可。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/multiple-monitors-640x431.jpg?92a7a3) + +当你第一次打开 Synergy,它会引导你完成设置。你的主桌面就是你将与其它桌面共享输入设备的那个。将主桌面设为服务端,将其它桌面设置为客户端。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/synergy-setup-wizard-640x480.jpg?92a7a3) + +Synergy 在互连的各个桌面间维持同一张粘贴板。它也将锁屏功能融合到了一起,例如,你可以跳过锁屏一次登录到所有桌面。你可以在 **Edit 菜单的 Setting** 下调整更多的设置,比如设置密码或者将 Synergy 设置成开机自启动。 + +(LCTT 译注:这是个[自由而开源][15]的好软件,但是如果你从它的网站下载,由于商业支持的缘故,是需要付费的;当然你可以自己[下载源代码并编译][15]。) + +### [BasKet Note Pads][2] ### + +从某种意义上来讲,用 BasKet Note Pads,就像把你的大脑刻画进计算机里一样。它把我们不经意间的想法记录下来,然后任由我们去把它们组织起来。你可以在各种任务中用到 BasKet Note Pads,比如记录笔记、制作脑图、记录代办事项、保存链接、管理你的发现、或者追踪项目数据。 + +在 BasKet Note Pads 中,每个放到一个区域的主要的想法或项目被称作一个篮子(basket)。你可以进一步拆分,成一个或多个子篮或者兄弟篮。篮子进一步分成笔记,这些零零碎碎的笔记组成了一个项目。你可以自由组织它们,给它们打标签,和筛选它们。 + +该应用的双面板结构的左侧以树形结构显示了你创建的所有篮子。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/basket-note-pads-640x480.jpg?92a7a3) + +BasKet Note Pads 第一次用起来可能有点复杂,但是如果你经常用它的话,你会觉得相当顺手。当你暂时不用它时,它会退出到系统托盘,方便你下次快速打开它。 + +如果在 Linux 上想要一个[更简单的笔记本替代品][3]?可以试试[Springseed][4]。 + +### [Caffeine(咖啡因)][5]### + +你怎样确保你的电脑不会在放一部[精彩的电影][6]中途突然休眠呢?Caffeine 会帮助你解决这个问题。当然,你并不需要为你的电脑泡一杯咖啡。你只需要安装一个轻量级的指示器 —— Caffeine。只要当前你是全屏模式,它就会禁用你的屏幕保护程序、锁屏程序,让你的电脑不会因为没有在任务中而进入睡眠模式。 + +[点击下载][7]安装最新版本的 Caffeine。如果你想以[PPA的方式][8]安装,使用如下命令: + + $ sudo add-apt-repository ppa:caffeine-developers/ppa + $ sudo apt-get update + $ sudo apt-get install caffeine + +如果你的Ubuntu版本是14.10或者15.04(或者其它衍生版本),你还需要安装下面的依赖包: + + $ sudo apt-get install libappindicator3-1 gir1.2-appindicator3-0.1 + +完成安装以后,将**Caffeine指示器**设置成开机自启动,这样可以使指示器显示在系统托盘里。你可以右键点击托盘图标打开应用的关联菜单,来开启或关闭Caffeine, + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/caffeine-indicator-640x480.jpg?92a7a3) + +### Easystroke ### + +Easystroke 是一个将[鼠标潜力][9]开发出来的应用。通过一系列的设置,用鼠标、触摸屏、手写笔的手势来完成敲击键盘、执行命令和滚动屏幕等通用操作。在 Easystroke 里能够设置的手势相当多,而且当你看到应用的界面时,你会发现应用的引导非常清晰。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/easystroke-record-640x480.jpg?92a7a3) + +选择一个你喜欢的鼠标键开始设置手势。如果你喜欢,你还可以设置辅助功能键。通过Perferences>Behavior>Gesture Button 来设置。现在到**Action**选项卡里面,把你最常用的动作记录成手势吧。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/easytroke-actions-640x480.jpg?92a7a3) + +在 Preferences 和 Advanced 选项卡中,你可以做一些其它的调整,比如将 EasyStroke 设置成自动启动,在系统托盘中显示图标,改变滚动速度。 + +### Guake ### + +我把我最喜欢的应用放在最后。Guake 是根据第一人称射击视屏游戏 [Quake][10] 模仿而来的下拉式命令行终端。不管你是否在[学习命令行终端][11],或者是有一定的基础,Guake 都可以将终端变得更加方便。你可以一键将它呼出,也可以一键将它隐藏。 + +就像下面这张图,当打开时,Guake 的界面会覆盖在当前的屏幕上。你可以在终端中右键点击,调出 Preference 来改变 Guake 的界面,滚动方式,快捷键等等。 + +![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/guake-terminal-640x480.jpg?92a7a3) + +如果[你的桌面][12]是 KDE,你可以选择一个类似的工具——[Yakuake][13]. + +### 写下你最喜欢的Linux新发现!### + +还有更多[超级实用的 Linux 应用][14]等待被发现。放心,我们将一直关注,并把它们带到你们的生活中。 + +哪一个应用是你最喜欢研究的呢?哪一个是你觉得必不可少的呢?在评论里告诉给我们吧。 + +-------------------------------------------------------------------------------- + +via: http://www.makeuseof.com/tag/new-linux-5-apps-didnt-know-missing/ + +作者:[Akshata][a] +译者:[sevenot](https://github.com/sevenot) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.makeuseof.com/tag/author/akshata/ +[1]:http://synergy-project.org/ +[2]:http://basket.kde.org/ +[3]:http://www.makeuseof.com/tag/try-these-3-beautiful-note-taking-apps-that-work-offline/ +[4]:http://getspringseed.com/ +[5]:https://launchpad.net/caffeine +[6]:http://www.makeuseof.com/tag/popular-apps-movies-according-google/ +[7]:http://ppa.launchpad.net/caffeine-developers/ppa/ubuntu/pool/main/c/caffeine/ +[8]:http://www.makeuseof.com/tag/ubuntu-ppa-technology-explained/ +[9]:http://www.makeuseof.com/tag/4-astounding-linux-mouse-hacks/ +[10]:http://en.wikipedia.org/wiki/Quake_%28video_game%29 +[11]:http://www.makeuseof.com/tag/4-ways-teach-terminal-commands-linux-si/ +[12]:http://www.makeuseof.com/tag/10-top-linux-desktop-environments-available/ +[13]:https://yakuake.kde.org/ +[14]:http://www.makeuseof.com/tag/linux-treasures-x-sublime-native-linux-apps-will-make-want-switch/ diff --git a/published/20150518 Linux FAQs with Answers--How to block specific user agents on nginx web server.md b/published/201505/20150518 Linux FAQs with Answers--How to block specific user agents on nginx web server.md similarity index 100% rename from published/20150518 Linux FAQs with Answers--How to block specific user agents on nginx web server.md rename to published/201505/20150518 Linux FAQs with Answers--How to block specific user agents on nginx web server.md diff --git a/translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md b/published/201505/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md similarity index 80% rename from translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md rename to published/201505/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md index 0e2d0ab54c..6ede2366a8 100644 --- a/translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md +++ b/published/201505/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md @@ -1,6 +1,6 @@ -Linux 有问必答--如何修复 “fatal error: security/pam_modules.h: No such file or directory” +如何修复 “fatal error: security/pam_modules.h: No such file or directory” ================================================================================ -> **问题**: 我尝试在 [插入你的 Linux 发行版] 上编译程序,但是出现下面的编译错误: +> **问题**: 我尝试在 [某某 Linux 发行版] 上编译程序,但是出现下面的编译错误: > > "pam_otpw.c:27:34: fatal error: security/pam_modules.h: No such file or directory" > @@ -26,7 +26,7 @@ via: http://ask.xmodulo.com/fatal-error-security-pam-modules.html 作者:[Dan Nanni][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/published/20150521 Microsoft Open-Sources The Windows Communication Foundation.md b/published/201505/20150521 Microsoft Open-Sources The Windows Communication Foundation.md similarity index 100% rename from published/20150521 Microsoft Open-Sources The Windows Communication Foundation.md rename to published/201505/20150521 Microsoft Open-Sources The Windows Communication Foundation.md diff --git a/published/201505/20150527 Ubuntu Community Council Asks the Kubuntu Project Leader to Step Down.md b/published/201505/20150527 Ubuntu Community Council Asks the Kubuntu Project Leader to Step Down.md new file mode 100644 index 0000000000..a47014fc9b --- /dev/null +++ b/published/201505/20150527 Ubuntu Community Council Asks the Kubuntu Project Leader to Step Down.md @@ -0,0 +1,33 @@ +Ubuntu 社区委员会要求 Kubuntu 项目领导人下台 +================================================================================ +> 而Jonathan Riddell拒绝从Kubuntu领导人位置退出 + +![](http://i1-news.softpedia-static.com/images/news2/Ubuntu-Community-Council-Asks-the-Kubuntu-Project-Leader-to-Step-Down-482384-2.jpg) + +**这一切刚刚发生。一名Debian开发者以及Kubuntu委员会成员 Scott Kitterman 决定公开一些电子邮件,邮件披露了Ubuntu 社区委员会成员要求 Jonathan Riddell 从 Kubuntu 项目领导人位置退出的过程。** + +Jonathan Riddell 是 KDE 以及 Kubuntu 的一名开发者,多年来也是 Ubuntu 社区的一名重要成员。从 Scott Kitterman [今天曝光的社区邮件往来][1]中来看,Jonathan Riddell 被指责对 Ubuntu 以及 Kubuntu 社区的一些成员咄咄逼人和挑衅。 + +长话短说,经过多轮邮件往来之后,Ubuntu 社区委员会的最终决定是让 Jonathan Riddell 退出他在 Ubuntu 以及Kubuntu 社区的领导人位置至少12个月,但仍可以像其他成员一样参与讨论。这个决定同时也得到了 Canonical 和Ubuntu 的创始人 Mark Shuttleworth 的支持。 + +“很遗憾写下了讨论这个我们觉得对 Ubuntu 社区有着消极影响的问题的邮件。长期以来,Jonathan Riddell 变得越来越难以交往。Jonathan 提出了有效的问题及关注,但当收到他不赞同的答案时,他的反应就不那么让人愉快了。”在 Ubuntu 社区委员会发出的第一封认为 Jonathan Riddell 行为“不友好”的邮件中这么写道。 + +### Jonathan Riddell拒绝从Kubuntu领导人位置退出 ### + +从今天 Scott Kitterman 披露邮件往来,并决定在博客上写第二篇博文来看,表明了他想从他在 Ubuntu 和 Kubuntu 的位置退出,这表明 Jonathan Riddell 可能拒绝从 Kubuntu 领导人位置退出。 + +正如预料之中,Kubuntu 社区委员会的成员们支持 Jonathan Riddell,并且回击了 Ubuntu 社区委员会罢免 Kubuntu 项目领导人的决定。“我要感谢所有在 Kubuntu 委员会投票再次肯定我的 Kubuntu 成员。”,Jonathan Riddell 在[他的博客][2]上写道,“希望 Kubuntu 能够继续走下去,我也计划和我深爱的社区伙伴们一起为 15.10 发布而努力。” + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Ubuntu-Community-Council-Asks-the-Kubuntu-Project-Leader-to-Step-Down-482384.shtml + +作者:[Marius Nestor][a] +译者:[alim0x](https://github.com/alim0x) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/marius-nestor +[1]:https://skitterman.wordpress.com/ +[2]:http://jriddell.org/ diff --git a/published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--4.md b/published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--4.md similarity index 100% rename from published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--4.md rename to published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--4.md diff --git a/published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--5.md b/published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--5.md similarity index 100% rename from published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--5.md rename to published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--5.md diff --git a/published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--6.md b/published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--6.md similarity index 100% rename from published/30 Things to Do After Minimal RHEL or CentOS 7 Installation--6.md rename to published/201505/30 Things to Do After Minimal RHEL or CentOS 7 Installation--6.md diff --git a/published/How to Manage Network using nmcli Tool in RedHat CentOS 7.x.md b/published/201505/How to Manage Network using nmcli Tool in RedHat CentOS 7.x.md similarity index 100% rename from published/How to Manage Network using nmcli Tool in RedHat CentOS 7.x.md rename to published/201505/How to Manage Network using nmcli Tool in RedHat CentOS 7.x.md diff --git a/published/Linux grep command with 14 different examples.md b/published/201505/Linux grep command with 14 different examples.md similarity index 100% rename from published/Linux grep command with 14 different examples.md rename to published/201505/Linux grep command with 14 different examples.md diff --git a/translated/tech/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md b/published/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md similarity index 69% rename from translated/tech/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md rename to published/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md index 0cd972b425..0035432ecb 100644 --- a/translated/tech/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md +++ b/published/20150506 How to Setup OpenERP (Odoo) on CentOS 7.x.md @@ -2,7 +2,7 @@ ================================================================================ 各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP)。你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序,因为它是一款为你的商务提供杰出特性的自由开源软件。 -[OpenERP][1]是一款自由开源的传统的OpenERP(企业资源规划),它包含了开源CRM、网站构建、电子商务、项目管理、计费账务、销售点、人力资源、市场、生产、采购管理以及其他模块用于提高效率及销售。Odoo可以作为独立程序,但是它可以无缝集成因此你可以在安装数个程序后得到一个全功能的开源ERP。 +[OpenERP][1]是一款自由开源的传统的OpenERP(企业资源规划),它包含了开源CRM、网站构建、电子商务、项目管理、计费账务、POS、人力资源、市场、生产、采购管理以及其它模块用于提高效率及销售。Odoo中的应用可以作为独立程序使用,它们也可以无缝集成到一起,因此你可以在安装几个程序来得到一个全功能的开源ERP。 因此,下面是在你的CentOS上安装OpenERP的步骤。 @@ -13,13 +13,13 @@ # yum clean all # yum update -现在我们要安装PostgreSQL,因为OpenERP使用PostgreSQL作为他的数据库。要安装它,我们需要运行下面的命令。 +现在我们要安装PostgreSQL,因为OpenERP使用PostgreSQL作为它的数据库。要安装它,我们需要运行下面的命令。 # yum install postgresql postgresql-server postgresql-libs ![Installing postgresql](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-postgresql.png) -、安装完成后,我们需要用下面的命令初始化数据库。 +安装完成后,我们需要用下面的命令初始化数据库。 # postgresql-setup initdb @@ -42,13 +42,13 @@ ### 2. 设置Odoo仓库 ### -在初始化数据库初始化完成后,我们要添加EPEL(企业版Linux的额外包)到我们的CentOS中。Odoo(或者OpenERP)依赖于Python运行时以及其他包没有包含在标准仓库中。这样我们要位企业版Linux添加额外的包仓库支持来解决Odoo所需要的依赖。要安装完成,我们需要运行下面的命令。 +在初始化数据库初始化完成后,我们要添加 EPEL(企业版Linux的额外包)到我们的CentOS中。Odoo(或者OpenERP)依赖的Python运行时环境以及其他包没有包含在标准仓库中。这样我们要为企业版Linux添加额外的包仓库支持来解决Odoo所需要的依赖。要安装完成,我们需要运行下面的命令。 # yum install epel-release ![Installing EPEL Release](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-epel-release.png) -现在,安装EPEL后,我们现在使用yum-config-manager添加Odoo(OpenERp)的仓库。 +现在,安装EPEL后,我们现在使用yum-config-manager添加Odoo(OpenERP)的仓库。 # yum install yum-utils @@ -73,16 +73,16 @@ ![Starting Odoo](http://blog.linoxide.com/wp-content/uploads/2015/03/starting-odoo.png) -### 4. 防火墙允许 ### +### 4. 打开防火墙 ### -因为Odoo使用8069端口,我们需要在防火墙中允许远程访问。我们使用下面的命令来在防火墙中允许8069防火墙。 +因为Odoo使用8069端口,我们需要在防火墙中允许远程访问。我们使用下面的命令来在防火墙中允许8069端口访问。 # firewall-cmd --zone=public --add-port=8069/tcp --permanent # firewall-cmd --reload ![Allowing firewall Port](http://blog.linoxide.com/wp-content/uploads/2015/03/allowing-firewall-port.png) -**注意:默认上,只有本地的连接才允许。如果我们要允许PostgreSQL的远程访问,我们需要在pg_hba.conf添加下面图片中一行** +**注意:默认情况下只有本地才允许连接数据库。如果我们要允许PostgreSQL的远程访问,我们需要在pg_hba.conf添加下面图片中一行** # nano /var/lib/pgsql/data/pg_hba.conf @@ -90,13 +90,13 @@ ### 5. Web接口 ### -我们已经在CentOS 7中安装了最新的Odoo 8(OpenERP),我们可以在浏览器中输入http://ip-address:8069来访问Odoo。 接着,我们要做的第一件事就是创建一个新的数据库和新的密码。注意,主密码默认是管理员密码。接着,我们可以在面板中输入用户名和密码。 +我们已经在CentOS 7中安装了最新的Odoo 8(OpenERP),我们可以在浏览器中输入`http://ip-address:8069`来访问Odoo。 接着,我们要做的第一件事就是创建一个新的数据库和新的密码。注意,主密码默认是‘admin’。接着,我们可以在面板中输入用户名和密码。 ![Odoo Panel](http://blog.linoxide.com/wp-content/uploads/2015/03/odoo-panel.png) ### 总结 ### -Odoo 8(OpenERP)是世界上最好的开源ERP程序。我们做了一件出色的工作来安装它因为OpenERP是由许多模块组成的针对商务和公司的完整ERP程序。因此,如果你有任何问题、建议、反馈请在下面的评论栏写下。谢谢你!享受OpenERP(Odoo 8)吧 :-) +Odoo 8(OpenERP)是世界上最好的开源ERP程序。OpenERP是由许多模块组成的针对商务和公司的完整ERP程序,我们已经把它安装好了。因此,如果你有任何问题、建议、反馈请在下面的评论栏写下。谢谢你!享受OpenERP(Odoo 8)吧 :-) -------------------------------------------------------------------------------- @@ -104,7 +104,7 @@ via: http://linoxide.com/linux-how-to/setup-openerp-odoo-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中国](https://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md b/published/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md similarity index 76% rename from translated/tech/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md rename to published/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md index 2871298396..fb67d3dd34 100644 --- a/translated/tech/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md +++ b/published/20150506 Linux FAQs with Answers--How to disable entering password for default keyring to unlock on Ubuntu desktop.md @@ -1,12 +1,12 @@ -Linux有问必答——Ubuntu桌面上如何禁用默认的密钥环解锁密码输入 +Linux有问必答:Ubuntu桌面上如何禁用默认的密钥环解锁提示 ================================================================================ >**问题**:当我启动我的Ubuntu桌面时,出现了一个弹出对话框,要求我输入密码来解锁默认的密钥环。我怎样才能禁用这个“解锁默认密钥环”弹出窗口,并自动解锁我的密钥环? -密钥环被认为是用来以加密方式存储你的登录信息的本地数据库。各种桌面应用(如浏览器、电子邮件客户端)使用密钥环来安全地存储并管理你的登录凭证、机密、密码、证书或密钥。对于那些需要检索存储在密钥环中的信息的应用程序,需要解锁该密钥环。 +密钥环是一个以加密方式存储你的登录信息的本地数据库。各种桌面应用(如浏览器、电子邮件客户端)使用密钥环来安全地存储并管理你的登录凭证、机密、密码、证书或密钥。对于那些需要检索存储在密钥环中的信息的应用程序,需要解锁该密钥环。 Ubuntu桌面所使用的GNOME密钥环被整合到了桌面登录中,该密钥环会在你验证进入桌面后自动解锁。但是,如果你设置了自动登录桌面或者是从休眠中唤醒,你默认的密钥环仍然可能“被锁定”的。在这种情况下,你会碰到这一提示: ->“为密钥环‘默认密钥环’输入密码来解锁。某个应用想要访问密钥环‘默认密钥环’,但它被锁定了。” +>“输入密码来解锁密钥环‘默认密钥环’。某个应用想要访问密钥环‘默认密钥环’,但它被锁定了。” > ![](https://farm9.staticflickr.com/8787/16716456754_309c39513c_o.png) @@ -16,7 +16,7 @@ Ubuntu桌面所使用的GNOME密钥环被整合到了桌面登录中,该密钥 ### 禁用默认密钥环解锁密码 ### -打开Dash,然后输入“密码”来启动“密码和密钥”应用。 +打开Dash,然后输入“password”来启动“密码和密钥”应用。 ![](https://farm8.staticflickr.com/7709/17312949416_ed9c4fbe2d_b.jpg) @@ -31,6 +31,7 @@ Ubuntu桌面所使用的GNOME密钥环被整合到了桌面登录中,该密钥 输入你的当前登录密码。 ![](https://farm8.staticflickr.com/7775/17347551135_ce09260818_b.jpg) + 在设置“默认”密钥环新密码的密码框中留空。 ![](https://farm8.staticflickr.com/7669/17345663222_c9334c738b_c.jpg) @@ -47,7 +48,7 @@ via: http://ask.xmodulo.com/disable-entering-password-unlock-default-keyring.htm 作者:[Dan Nanni][a] 译者:[GOLinux](https://github.com/GOLinux) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/published/20150511 Open Source History--Why Did Linux Succeed.md b/published/20150511 Open Source History--Why Did Linux Succeed.md new file mode 100644 index 0000000000..76b6d03ebe --- /dev/null +++ b/published/20150511 Open Source History--Why Did Linux Succeed.md @@ -0,0 +1,73 @@ +开源旧事:Linux为什么能成功? +================================================================================ +> Linux,这个始于1991年由Linus Torvalds开发的类Unix操作系统内核已经成为开源世界的中心,人们不禁追问为什么Linux成功了,而包括GNU HURD和BSD在内的那么多相似的项目却失败了? + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/05/linux.jpg) + +自由软件和开源世界的发展史中最令人不解的问题之一是为什么Linux取得了如此辉煌的成功,然而其它同样尝试打造自由开源、类Unix操作系统内核的项目却没能那么成功?这个问题难以回答,但我总结了一些原因,在下面与大家分享。 + +不过,首先得明确:当我谈论Linux是一个巨大的成功时所表达的含义。我这样说是相对于其它类Unix操作系统内核的,后者中一些是开源的,一些不是,而且它们繁荣发展的时期是Linux诞生的时期。[GNU][1]的HURD,一个发起于[1991年5月][1]的Free(自由)的内核,便是其中之一。其它的包括现在大部分人都没听说过的Unix,比如由加州大学伯克利分校开发出来的BSD的各种各样Unix衍生版,由微软主导的Unix系统Xenix,包括Minix在内的学术版本Unix,和在AT&T赞助下开发的最初的Unix。在更早的数十年内,它对于学术界和商业界的计算发展至关重要,但到19世纪90年代就已经几乎已经消失在人们的视野里。 + +#### 相关阅读 #### + +- [开源旧事:黑客文化和黑客伦理的起源追踪][3] +- [Unix和个人计算机:重新诠释Linux起源][4] + +此外,得说明的是,我这里说的是内核,而不是完整的操作系统。在很大程度上,Linux内核的成功归功于GNU整个项目。GNU这个项目产生了一套至关重要的工具,包括编译器、调试器和BASH shell的实现,这些对于构建一个类Unix操作系统是必需的。但是GNU的开发者们从没开发出一个HURD内核的可行版本(尽管他们仍在[不懈努力中][5])。相反,Linux呈现出来的则是一个将GNU各个部分紧密连接在一起的内核,尽管这超出了GNU的初衷。 + +因此,值得人们去追问为什么Linux,一个由Linus Torvalds这个芬兰的无名程序员于1991年——和HURD同一年——发起的内核,能够经受考验并发展壮大?在当时的大环境下,很多拥有强力商业支持的、由当时炙手可热的黑客领头的类Unix内核都没能够发展起来。为了说明这个问题,我找到了一些和这个问题相关的解释。为此我研究了自由软件和开源世界的发展史,和不同解释的优缺点。 + +### Linux采用去中心化的开发方式 ### + +这个观点来源于Eric S. Raymond的文章,“[大教堂与市集][6]”和其相关资料。这些资料验证了一种情形:当大量的贡献者以一种去中心化的组织结构持续不断地协同合作时,软件开发的效率最佳。Linux的开发证明了这一点,与之相反的是,比如,GNU HURD采用了一种相对更集中化的方法来管理代码开发。其结果如同Raymond所言,显然在十年的时间里都没能成功构建出一个完整的操作系统。 + +在一定程度上,这个解释有道理,但仍有一些明显的不足。举例来说,Torvalds在指导Linux代码开发过程中毫无争议地承担起一个更加有权威的角色,他可以决定接受或拒绝代码,这一点并非Raymond和其他人所想的那样。其次,这个观点不能解释除了没能开发出一个可行的系统内核外GNU仍然成功地生产出那么多优秀的软件。如果只有去中心化的开发方式才能很好地指导开源软件世界里的项目,那么GNU所有的编程工作都应该是徒劳无功的,但事实并非如此。 + +### Linux是实用型的,而GNU是空想型的 ### + +个人而言,我觉得这个说法是最引人注目的,即Linux之所发展得如此迅速是因为它的创建者是一个实用主义者,他起初只是想写一个内核,使其能够在他家里的电脑上运行一个裁剪过的Unix操作系统,而不是成为以改变世界为目标的自由软件的一部分,而后者正是GNU项目的一贯目标。 + +然而,这个解释仍然有一些不能完全让人信服的地方。特别是,尽管Torvalds本人信奉实用主义的原则,但无论以前还是现在,并非所有参与到他的项目中的成员都和他一样信奉这一原则。尽管如此,Linux仍然取得了成功。 + +而且,如果实用主义是Linux持续发展的关键,那么就要再问一遍:为什么GNU除了没能开发出一个内核外还是成功地开发出这么多有用的工具?如果拥有某一种对软件的坚定政治信仰是追求成功的项目路上的绊脚石,那么GNU早应该是一个彻头彻尾的失败者,而不会是一个开发了那么多如今依然为IT世界提供坚实基础的优秀软件包的开拓者。 + +最后(但并不是最不重要),许多诞生于19世纪80年代末期和90年代初期的Unix变体,尤其是一些BSD分支,都是实用主义的产物。它们的开发者们致力于开发出可以自由分享而不是受到高昂商业证书限制的Unix变体,但他们对于编程或者共享代码并非完全局限于意识形态。Torvalds同样如此,因此很难说Linux和成功和其它Unix项目的失败是意识形态在作怪。 + +### 操作系统设计 ### + +当谈到Linux的成功时,不可忽视的是Linux和其它Unix变体之间的诸多技术差异。Richard Stallman,GNU项目的创始人,在一封给我的电子邮件中解释了为什么HURD的开发进度频频滞后:“GNU Hurd确实不是一次实用上的成功。部分原因是它的基本设计使它像是一个研究项目。(我之所以选择这样的设计,是考虑到这是快速实现一个可用内核的捷径。)” + +就Torvalds独自编写出Linux的所有代码这点而言,Linux也有别于其它Unix变体。当他在1991年8月[第一次发布Linux][7]时他的一个初衷就是拥有一个属于他自己的Unix,而不用别人的代码。这点特性使得Linux区别于同时期的大部分Unix变体,后者一般是从AT&T Unix或伯克利的BSD中衍生出基础代码。 + +我并不是一个计算机科学家,所以我没有资格去评判是否Linux代码就优于其他Unix代码,以此来解释Linux的成功。虽然这并不能解释Linux和其它Unix内核在文化和人员上的不同,但这个观点对我来说解释得通,因为似乎在理解Linux成功这一点上操作系统设计比代码更加重要。 + +### Linux背后的社区提供了有力支持 ### + +Stallman也写到Linux成功的“主要原因”是“Torvalds使Linux成为一个自由软件,所以相比Hurd有更多来自社区的支持涌入Linux的发展中。”但这对于Linux的成长轨迹并非是一个完美的解释,因为它不能说明为什么自由软件的开发者们追随了Torvalds而不是HURD或其它某个Unix,但它仍然点明了这种变化是Linux盛行的很大一部分原因。 + +对于自由软件社区决定支持Linux有一个更全面的理由可以用来解释为什么开发者们这么做。起初,Linux只是一个默默无闻的小项目,以任何标准来衡量,它比同时期其它的一些尝试创建一个更加自由的Unix,比如NET BSD和386/BSD,都要显得微不足道。同样,最初并不清楚Linux和自由软件运动的目标是否一致。创建伊始,Torvalds只是在一份防止Linux不被商业使用的证书下发布了Linux。至于后来他为了保护源代码的开放性转向使用GNU的通用公开证书则是后话了。 + +所以,这些就是我所找到的Linux作为一个开源操作系统之所以取得成功的解释,可以肯定Linux的成就在某些方面(但比如桌面版的Linux从未成为它的支持者希望成为的样子)已经是可以衡量的成功。总之,Linux业已与其它任何类Unix操作系统不同的方式成为了计算机世界的基石。也许源于BSD的苹果公司的OS X和iOS系统也很接近这一点,但它们没有在其它方面像Linux影响互联网一样扮演着如此重要的中心角色。 + +对于为什么Linux能成为现在的样子,或者为什么它在Unix世界的竞争对手们几乎全部变得默默无闻的问题,你有其它的想法吗?如果有,我很乐意听到你的想法。(诚然,BSD的变体如今仍有一批追随者,而一些商用的Unix对于[Red Hat][8](RHT)为[他们的用户提供支持][9]来说也仍然十分重要。但这些Unix中没有一个能够像Linux一样几乎征服了从Web服务器到智能手机的每一个领域。) + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/050415/open-source-history-why-did-linux-succeed + +作者:[Christopher Tozzi][a] +译者:[KayGuoWhu](https://github.com/KayGuoWhu) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://thevarguy.com/author/christopher-tozzi +[1]:http://gnu.org/ +[2]:http://www.gnu.org/software/hurd/history/hurd-announce +[3]:http://thevarguy.com/open-source-application-software-companies/042915/open-source-history-tracing-origins-hacker-culture-and-ha +[4]:http://thevarguy.com/open-source-application-software-companies/042715/unix-and-personal-computers-reinterpreting-origins-linux +[5]:http://thevarguy.com/open-source-application-software-companies/042015/30-years-hurd-lives-gnu-updates-open-source- +[6]:http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/ +[7]:https://groups.google.com/forum/#!topic/comp.os.minix/dlNtH7RRrGA[1-25] +[8]:http://www.redhat.com/ +[9]:http://thevarguy.com/open-source-application-software-companies/032614/red-hat-grants-certification-award-unix-linux-migration-a \ No newline at end of file diff --git a/translated/tech/20150512 How To Run Docker Client Inside Windows OS.md b/published/20150512 How To Run Docker Client Inside Windows OS.md similarity index 70% rename from translated/tech/20150512 How To Run Docker Client Inside Windows OS.md rename to published/20150512 How To Run Docker Client Inside Windows OS.md index f23c109149..050ed636f3 100644 --- a/translated/tech/20150512 How To Run Docker Client Inside Windows OS.md +++ b/published/20150512 How To Run Docker Client Inside Windows OS.md @@ -1,6 +1,7 @@ 如何在 Windows 操作系统中运行 Docker 客户端 ================================================================================ -大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特定内核特性,因此不能通过 Windows 内核运行,Docker 引擎创建一个小的虚拟系统运行 Linux 并利用它的资源和内核。Windows Docker 客户端用虚拟化 Docker 引擎构建,运行以及管理 盒子以外的 Docker 容器。这里有个由 Boot2Docker 团队开发的名为 Boot2Docker 的应用程序,它创建运行在基于[Linux 微内核][1]的小型 Linux 系统上的虚拟机,是特意为在 Windows 上运行 [Docker][2] 容器开发的。它完全运行在 RAM 中,需要大约 27M 内存并能在 5s(YMMV,译者注:your mileage may vary,因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。 + +大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核。这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建、运行以及管理 Docker 容器。有个叫 Boot2Docker 的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于[Tiny Core Linux][1]特制的小型 Linux,来在 Windows 上运行 [Docker][2] 容器。它完全运行在内存中,需要大约 27M 内存并能在 5秒 (因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。 下面是安装 Docker 客户端并在上面运行容器的简单步骤。 @@ -12,7 +13,7 @@ ### 2. 安装 Boot2Docker ### -现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于在盒子之外运行 Docker 引擎都至关重要。 +现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。 ![](http://blog.linoxide.com/wp-content/uploads/2015/05/boot2docker-installer.png) @@ -20,7 +21,7 @@ ![](http://blog.linoxide.com/wp-content/uploads/2015/05/boot2docker-start-icon-e1431322598697.png) -安装完成必要的组件之后,我们从桌面 Boot2Docker 快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。 +安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。 ![](http://blog.linoxide.com/wp-content/uploads/2015/05/starting-boot2docker.png) @@ -32,7 +33,7 @@ ### 4. 运行 Docker ### -由于 **Boot2Docker Start** 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。**请注意,如果我们将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。** +由于 **Boot2Docker Start** 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。**请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。** 现在,让我们来试试 **hello-world** 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。 @@ -56,7 +57,7 @@ **注意**: 如果你看到 machine does no exist 的错误信息,就运行 **boot2docker init** 命令。 -然后复制控制台中的命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。 +然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。 ### 6. 使用 PowerShell 运行 Docker ### @@ -74,7 +75,7 @@ ### 7. 用 PUTTY 登录 ### -Boot2Docker 在%USERPROFILE%\.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。 +Boot2Docker 会在%USERPROFILE%\.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。 我们需要打开 puttygen.exe 并从 %USERPROFILE%\.ssh\id_boot2docker 中导入("File"->"Load" 菜单)私钥,然后点击 "Save Private Key"。然后用保存的文件通过 PuTTY 用 docker@127.0.0.1:2022 登录。 @@ -88,7 +89,9 @@ Boot2Docker 管理工具提供了一些命令,如下所示。 ### 总结 ### -通过 Docker Windows 客户端使用 Docker 很有趣。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平稳运行的很棒的应用程序。如果你更仔细的话,你会发现 boot2docker 默认用户的用户名是 docker,密码是 tcuser。最新版本的 boot2docker 设置了一个 host-only 的网络适配器提供访问容器的端口。一般来说是 192.168.59.103,但可以通过 VirtualBox 的 DHCP 实现改变。如果你有任何问题、建议、反馈,请在下面的评论框中写下来然后我们可以改进或者更新我们的内容。非常感谢!Enjoy:-) +通过 Docker Windows 客户端使用 Docker 很有趣。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平滑运行的很棒的应用程序。如果你更仔细的话,你会发现 boot2docker 默认用户的用户名是 docker,密码是 tcuser。最新版本的 boot2docker 设置了一个 host-only 的网络适配器提供访问容器的端口。一般来说是 192.168.59.103,但可以通过 VirtualBox 的 DHCP 实现改变。 + +如果你有任何问题、建议、反馈,请在下面的评论框中写下来然后我们可以改进或者更新我们的内容。非常感谢!Enjoy:-) -------------------------------------------------------------------------------- @@ -96,7 +99,7 @@ via: http://linoxide.com/linux-how-to/run-docker-client-inside-windows-os/ 作者:[Arun Pyasi][a] 译者:[ictlyh](https://github.com/ictlyh) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/translated/tech/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md b/published/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md similarity index 85% rename from translated/tech/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md rename to published/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md index 8b5ba22907..8f2a9c2ecd 100644 --- a/translated/tech/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md +++ b/published/20150512 Linux FAQs with Answers--How to view torrent file content on Linux.md @@ -1,6 +1,6 @@ -Linux有问必答——Linux上如何查看torrent文件内容 +Linux有问必答:Linux上如何查看种子文件的内容 ================================================================================ -> **问题**: 我从网站上下载了一个torrent文件。Linux上有没有工具让我查看torrent文件的内容?例如,我想知道torrent里面都有什么文件。 +> **问题**: 我从网站上下载了一个torrent(种子)文件。Linux上有没有工具让我查看torrent文件的内容?例如,我想知道torrent里面都包含什么文件。 torrent文件(也就是扩展名为**.torrent**的文件)是BitTorrent元数据文件,里面存储了BitTorrent客户端用来从BitTorrent点对点网络下载共享文件的信息(如,追踪器URL、文件列表、大小、校验和、创建日期等)。在单个torrent文件里面,可以列出一个或多个文件用于共享。 @@ -8,7 +8,7 @@ torrent文件内容由BEncode编码为BitTorrent数据序列化格式,因此 事实上,任何图形化的BitTorrent客户端(如Transmission或uTorrent)都带有BEncode解码器,所以,你可以用它们直接打开来查看torrent文件的内容。然而,如果你不想要使用BitTorrent客户端来检查torrent文件,你可以试试这个命令行torrent查看器,它叫[dumptorrent][1]。 -**dumptorrent**命令可以使用内建的BEncode解码器打印torrent文件的详细信息(如,文件名、大小、跟踪器URL、创建日期、信息散列等等)。 +**dumptorrent**命令可以使用内建的BEncode解码器打印出torrent文件的详细信息(如,文件名、大小、跟踪器URL、创建日期、信息散列等等)。 ### 安装DumpTorrent到Linux ### @@ -32,7 +32,7 @@ torrent文件内容由BEncode编码为BitTorrent数据序列化格式,因此 $ make $ sudo cp dumptorrent /usr/local/bin -确保你的路径中[包含][2]了/usr/local/bin。 +确保你的搜索路径 PATH 中[包含][2]了/usr/local/bin。 ### 查看torrent的内容 ### @@ -41,6 +41,7 @@ torrent文件内容由BEncode编码为BitTorrent数据序列化格式,因此 $ dumptorrent ![](https://farm8.staticflickr.com/7729/16816455904_b051e29972_b.jpg) + 要查看torrent的完整内容,请添加“-v”选项。它会打印更多关于torrent的详细信息,包括信息散列、片长度、创建日期、创建者,以及完整的声明列表。 $ dumptorrent -v @@ -53,7 +54,7 @@ via: http://ask.xmodulo.com/view-torrent-file-content-linux.html 作者:[Dan Nanni][a] 译者:[GOLinux](https://github.com/GOLinux) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/published/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md b/published/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md new file mode 100644 index 0000000000..e06a6e98bb --- /dev/null +++ b/published/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md @@ -0,0 +1,38 @@ +Ubuntu会在今年达到2亿用户么? +================================================================================ +距离Mark Shuttleworth表达他的目标“在4年内Ubuntu的用户达到2亿”已经过去了四年零两周。尽管Ubuntu的用户数量在过去的四年中一直在上升,但这个目标目前并未实现,并且看起来不会在今年年底实现。 + +那是2011年5月在[UDS 布达佩斯][1],Shuttleworth表示Ubuntu将在4年内达到2亿用户。 + +![](http://www.phoronix.net/image.php?id=uds_budapest&image=budapest_phoronix_03_show&w=1920) + +上一次我听到Ubuntu有“1千万”用户,但是并没有任何可靠的报道表明Ubuntu的用户数接近2亿。来自Valve最近的统计表明相比于Windows和OS X的用户[使用Linux的游戏用户的比重少于1%][2]。大多数基于Web计量和其他统计方式的数据倾向于表明Linux的用户总数只占很少的部分。 + +撇开桌面版不谈,Ubuntu在过去的四年来至少在云和服务器部署方面得到了大量的占有率,并且被证明是Red Hat Enterprise的有力竞争者。Ubuntu还证明了它对基于ARM的硬件十分友好。当Mark在四年前提出他的目标时,他可能考虑到Ubuntu Phone/Touch会比目前的状况更好。可是Ubuntu Phone/Touch目前仅仅在欧洲和[中国][3]可用,并且[Ubuntu Touch软件依旧在成熟的路上][4],[仍需要大量的关键应用程序方面的工作][5]等。 + +![](http://www.phoronix.net/image.php?id=0x2015&image=shuttleworth_200_million_show&w=1920) + +距离Canonical宣布[Ubuntu不久将登陆5%的PC][6]也已过去了3年。5%的目标是全球的PC装机量,但哪怕再过3年,我依旧很难相信这个目标会实现。至少在美国和欧洲,我仍难以在实体店看到Ubuntu作为预装的系统,主要的网络零售商/OEM厂商仍倾向于在特定的PC型号中提供Linux,比如Chrome OS、Android设备。 + +另一个由开源社区提出的高傲地、落空的目标便是[GNOME将在2010年占有全球桌面市场10%的份额][7]。五年了,没有任何迹象表明他们接近了那10%的里程碑。 + +在今天,您认为Ubuntu用户有多少呢?在未来的几年里,Ubuntu(或者Linux)的用户会有多大增长呢?通过评论来与我们分享您的想法吧。 + +-------------------------------------------------------------------------------- + +via: http://www.phoronix.com/scan.php?page=news_item&px=2015-200-Million-Goal-Retro + +作者:[Michael Larabel][a] +译者:[wwy-hust](https://github.com/wwy-hust) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.michaellarabel.com/ +[1]:http://www.phoronix.com/vr.php?view=16002 +[2]:http://www.phoronix.com/scan.php?page=news_item&px=Steam-April-2015-1-Drop +[3]:http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-MX4-In-China +[4]:http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Calculator-Reboot +[5]:http://www.phoronix.com/scan.php?page=news_item&px=MTgzOTM +[6]:http://www.phoronix.com/scan.php?page=news_item&px=MTA5ODM +[7]:https://www.phoronix.com/scan.php?page=news_item&px=Nzg1Mw \ No newline at end of file diff --git a/sources/news/20150511 Ubuntu Devs Propose Stateless Persistent Network Interface Names for Ubuntu and Debian.md b/sources/news/20150511 Ubuntu Devs Propose Stateless Persistent Network Interface Names for Ubuntu and Debian.md deleted file mode 100644 index d3d8014817..0000000000 --- a/sources/news/20150511 Ubuntu Devs Propose Stateless Persistent Network Interface Names for Ubuntu and Debian.md +++ /dev/null @@ -1,31 +0,0 @@ -Ubuntu Devs Propose Stateless Persistent Network Interface Names for Ubuntu and Debian -====================================================================================== -*Networks are detected in an unpredictable and unstable order* - -**Martin Pitt, a renown Ubuntu and Debian developer, came with the proposal of enabling stateless persistent network interface names in the upcoming versions of the Ubuntu Linux and Debian GNU/Linux operating systems.** - -According to Mr. Pitt, it appears that the problem lies in the automatic detection of network interfaces within the Linux kernel. As such, network interfaces are detected in an unstable and unpredictable order. However, it order to connect to a certain network interface in ifupdown or networkd users will need to identify it first using a stable name. - -"The general schema for this is to have an udev rule which does some matches to identify a particular interface, and assings a NAME="foo" to it," says Martin Pitt in an email to the Ubuntu mailinglist. "Interfaces with an explicit NAME= get called just like this, and others just get a kernel driver default, usually ethN, wlanN, or sometimes others (some wifi drivers have their own naming schemas)." - -**Sever solutions appeared over the years: mac, biosdevname, and ifnames** - -Apparently, several solutions are available for this problem, including an installation of an udev rule in /lib/udev/rules.d/75-persistent-net-generator.rules that creates a MAC address at first boot and writes it to /etc/udev/rules.d/70-persistent-net.rules, which is currently used by default in Ubuntu and applies to most hardware components. - -Other solutions include biosdevname, a package that reads port or index numbers, and slot names from the BIOS and writes them to /lib/udev/rules.d/71-biosdevname.rules, and ifnames, a persistent name generator that automatically checks the BIOS and/or firmware for index numbers or slot names, similar to biosdevname. - -However, the difference between ifnames and biosdevname is that the latter falls back to slot names, such as PCI numbers, and then to the MAC address and writes to /lib/udev/rules.d/80-net-setup-link.rules. All of these solutions can be combined, and Martin Pitt proposes to replace the first solution that is now used by default with the ifnames one. - -If a new solution is implemented, a lot of networking issues will be resolved in Ubuntu, especially the cloud version. In addition, it will provide for stable network interface names for all new Ubuntu installations, and resolve many other problems related to system-image, etc. - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/Ubuntu-Devs-Propose-Stateless-Persistent-Network-Interface-Names-for-Ubuntu-and-Debian-480730.shtml - -作者:[Marius Nestor][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/marius-nestor diff --git a/sources/share/20141013 Compact Text Editors Great for Remote Editing and Much More.md b/sources/share/20141013 Compact Text Editors Great for Remote Editing and Much More.md index 21b0756b9a..b54a7b158f 100644 --- a/sources/share/20141013 Compact Text Editors Great for Remote Editing and Much More.md +++ b/sources/share/20141013 Compact Text Editors Great for Remote Editing and Much More.md @@ -1,4 +1,5 @@ -wyangsun翻译中 +translating by wwy-hust + Compact Text Editors Great for Remote Editing and Much More ================================================================================ A text editor is software used for editing plain text files. This type of software has many different uses including modifying configuration files, writing programming language source code, jotting down thoughts, or even making a grocery list. Given that editors can be used for such a diverse range of activities, it is worth spending the time finding an editor that best suites your preferences. diff --git a/sources/share/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md b/sources/share/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md deleted file mode 100644 index 33aa731843..0000000000 --- a/sources/share/20150225 Install Google's Material Design Inspired GTK And Icon Theme Paper in Linux.md +++ /dev/null @@ -1,67 +0,0 @@ -Install Google’s Material Design Inspired GTK And Icon Theme Paper in Linux -================================================================================ -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Paper_theme_Material_Design.jpg) - -[Paper][1] is a new upcoming GTK and icon theme inspired by Google’s [Material design][2] guidelines. It is developed by Sam Hewitt, the man behind [Moka Project][3]. Moka has always been in the list of [best themes for Ubuntu][4] and looking at Paper, I can say that once it is developed completely, it will surely be listed as one of the [best GTK themes][5]. - -Yes, you heard it right. The theme is still under development. Therefore I suggest that if you want to install Paper theme in Ubuntu or any other Linux distributions, do it only for experimentation purpose. You may see some broken icons here and there but the over all experience is nice. - -### Install Paper theme in Ubuntu based distributions via PPA ### - -Sam has a dedicated PPA for Ubuntu based distributions. I recommend that you use this PPA instead of downloading the theme because you’ll be getting the updates on the themes regularly. This PPA is available for Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04, Elementary OS Freya, Elementary OS Luna, Linux Mint 17, Linux Mint 16 and other Linux distributions based on Ubuntu. - -Open a terminal and use the following commands: - - sudo add-apt-repository ppa:snwh/pulp - sudo apt-get update - sudo apt-get install paper-gtk-theme paper-icon-theme - -### Download Paper GTK and icon theme ### - -If you do not want to use the PPA, you can download the themes and icons manually. As I said previously, you won’t get the updates automatically this way. - -- [Download Paper icon themes][6] -- [Download Paper GTK themes][7] - -#### Using Paper themes and icons #### - -I hope that you know how to change or install themes in your respective Linux distributions. If you are not unaware of it, below are few tutorials that could help you to install new themes: - -- [How to change themes in Ubuntu Unity][8] -- [How to change themes in GNOME Shell][9] -- [How to change themes in Linux Mint][10] -- [How to change theme in Elementary OS Freya][11] - -#### Here is what Paper theme looks like #### - -Since I am using [Elementary OS Freya][12] these days, here are some of the screenshots of how Paper theme and icons look like in Elementary OS Freya. I have used a wallpaper with Material design look so that it blends well with the icon and themes. - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Material_Design_Paper_Theme_Elementary_OS_Freya_1.jpeg) - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/02/Material_Design_Paper_Theme_Elementary_OS_Freya.jpeg) - -How do you find this Material design inspired theme? If you did use it, do share the screenshot of your desktop with rest of us here. - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/install-paper-theme-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://snwh.org/paper/ -[2]:http://www.google.fr/design/spec/material-design/introduction.html -[3]:http://mokaproject.com/moka-icon-theme/ -[4]:http://itsfoss.com/best-icon-themes-ubuntu-1404/ -[5]:http://itsfoss.com/gnome-shell-themes-ubuntu-1404/ -[6]:https://github.com/snwh/paper-icon-theme -[7]:https://github.com/snwh/paper-gtk-theme -[8]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/ -[9]:http://itsfoss.com/install-switch-themes-gnome-shell/ -[10]:http://itsfoss.com/install-icon-linux-mint/ -[11]:http://itsfoss.com/install-themes-icons-elementary-os-freya/ -[12]:http://itsfoss.com/tag/elementary-os-freya/ \ No newline at end of file diff --git a/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md b/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md index 413d50d6d6..3ab7f47b79 100644 --- a/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md +++ b/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md @@ -1,4 +1,3 @@ -KevinSJ translating 10 Truly Amusing Easter Eggs in Linux ================================================================================ ![](http://en.wikipedia.org/wiki/File:Adventure_Easteregg.PNG) diff --git a/sources/share/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md b/sources/share/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md deleted file mode 100644 index 99b4b1915f..0000000000 --- a/sources/share/20150515 New to Linux 5 Apps You Didn't Know You Were Missing.md +++ /dev/null @@ -1,103 +0,0 @@ -New to Linux? 5 Apps You Didn’t Know You Were Missing -================================================================================ -![](http://cdn.makeuseof.com/wp-content/uploads/2015/05/linux-apps-840x420.jpg?92a7a3) - -When you moved to Linux, you went straight for the obvious browsers, cloud clients, music players, email clients, and perhaps image editors, right? As a result, you’ve missed several vital, productive tools. Here’s a roundup of five umissable Linux apps that you really need to install. - -### [Synergy][1] ### - -Synergy is a godsend if you use multiple desktops. It’s an open-source app that allows you to use a single mouse and keyboard across multiple computers, displays, and operating systems. Switching the mouse and keyboard functionality between the desktops is easy. Just move the mouse out the edge of one screen and into another. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/multiple-monitors-640x431.jpg?92a7a3) - -When you open Synergy for the first time, it will run you through the setup wizard. The primary desktop is the one whose input devices you’ll be sharing with the other desktops. Configure that as the server. Add the remaining computers as clients. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/synergy-setup-wizard-640x480.jpg?92a7a3) - -Synergy maintains a common clipboard across all connected desktops. It also merges the lock screen setup, i.e. you need to bypass the lock screen just once to log in to all the computers together. Under **Edit > Settings**, you can make a few more tweaks such as adding a password and setting Synergy to launch on startup. - -### [BasKet Note Pads][2] ### - -Using BasKet Note Pads is somewhat like mapping your brain onto a computer. It helps make sense of all the ideas floating around in your head by allowing you to organize them in digestible chunks. You can use BasKet Note Pads for various tasks such as taking notes, creating idea maps and to-do lists, saving links, managing research, and keeping track of project data. - -Each main idea or project goes into a section called a basket. To split ideas further, you can have one or more sub-baskets or sibling baskets. The baskets are further broken down into notes, which hold all the bits and pieces of a project. You can group them, tag them, and filter them. - -The left pane in the application’s two-pane structure displays a tree-like view of all the baskets you have created. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/basket-note-pads-640x480.jpg?92a7a3) - -BasKet Note Pads might seem a little complex on day one, but you’ll get the hang of it soon. When you’re not using it, the app sits in the system tray, ready for quick access. - -Want a [simpler note-taking alternative][3] on Linux? Try [Springseed][4]. - -### [Caffeine][5]### - -How do you ensure that your computer doesn’t go to sleep right in the middle of an [interesting movie][6]? Caffeine is the answer. No, you don’t need to brew a cup of coffee for your computer. You just need to install a lightweight indicator applet called Caffeine. It prevents the screen-saver, lock screen, or the Sleep mode from being activated when the computer is idle, only if the current window is in full-screen mode. - -To install the applet, [download its latest version][7]. If you want to go [the ppa way][8], here’s how you can: - - $ sudo add-apt-repository ppa:caffeine-developers/ppa - $ sudo apt-get update - $ sudo apt-get install caffeine - -On Ubuntu versions 14.10 and 15.04 (and their derivatives), you’ll also need to install certain dependency packages: - - $ sudo apt-get install libappindicator3-1 gir1.2-appindicator3-0.1 - -After finishing the installation, add **caffeine-indicator** to your list of startup applications to make the indicator appear in the system tray. You can turn Caffeine’s functionality on and off via the app’s context menu, which pops up when you right-click on the tray icon. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/caffeine-indicator-640x480.jpg?92a7a3) - -### Easystroke ### - -Easystroke makes an excellent [Linux mouse hack][9]. Use it to set up a series of customized mouse/touchpad/pen gestures to simulate common actions such as keystrokes, commands, and scrolls. Setting up Easystroke gestures is straightforward enough, thanks to the clear instructions that appear at all the right moments when you’re navigating the UI. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/easystroke-record-640x480.jpg?92a7a3) - -Begin by choosing the mouse button you’d like to use for performing gestures. Throw in a modifier if you like. You’ll find this setting under **Preferences > Behavior > Gesture Button**. Now head to the **Actions** tab and record strokes for your most commonly used actions. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/easytroke-actions-640x480.jpg?92a7a3) - -Using the **Preferences** and **Advanced** tabs, you can make other tweaks like setting Easystroke to autostart, adding a system tray icon, and changing scroll speed. - -### Guake ### - -I saved my favorite Linux find for last. Guake is a dropdown command line modeled after the one in the first-person shooter video game [Quake][10]. Whether you’re [learning about terminal commands][11] or executing them on a regular basis, Guake is a great way to keep the terminal handy. You can bring it up or hide it in a single keystroke. - -As you can see in the image below, when in action, Guake appears as an overlay on the current window. Right-click within the terminal to access the **Preferences** section, from where you can change Guake’s appearance, its scroll action, keyboard shortcuts, and more. - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/guake-terminal-640x480.jpg?92a7a3) - -If KDE is your [Linux desktop of choice][12], do check out [Yakuake][13], which provides a similar functionality. - -### Name Your Favorite Linux Discovery! ### - -There are many more [super useful Linux apps][14] waiting to be discovered. Rest assured that we’ll keep introducing you to them. - -Which Linux app were you happiest to learn about? Which one do you consider a must-have? Tell us in the comments. - --------------------------------------------------------------------------------- - -via: http://www.makeuseof.com/tag/new-linux-5-apps-didnt-know-missing/ - -作者:[Akshata][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://www.makeuseof.com/tag/author/akshata/ -[1]:http://synergy-project.org/ -[2]:http://basket.kde.org/ -[3]:http://www.makeuseof.com/tag/try-these-3-beautiful-note-taking-apps-that-work-offline/ -[4]:http://getspringseed.com/ -[5]:https://launchpad.net/caffeine -[6]:http://www.makeuseof.com/tag/popular-apps-movies-according-google/ -[7]:http://ppa.launchpad.net/caffeine-developers/ppa/ubuntu/pool/main/c/caffeine/ -[8]:http://www.makeuseof.com/tag/ubuntu-ppa-technology-explained/ -[9]:http://www.makeuseof.com/tag/4-astounding-linux-mouse-hacks/ -[10]:http://en.wikipedia.org/wiki/Quake_%28video_game%29 -[11]:http://www.makeuseof.com/tag/4-ways-teach-terminal-commands-linux-si/ -[12]:http://www.makeuseof.com/tag/10-top-linux-desktop-environments-available/ -[13]:https://yakuake.kde.org/ -[14]:http://www.makeuseof.com/tag/linux-treasures-x-sublime-native-linux-apps-will-make-want-switch/ \ No newline at end of file diff --git a/sources/share/20150527 3 Open Source Python Shells.md b/sources/share/20150527 3 Open Source Python Shells.md new file mode 100644 index 0000000000..c510096670 --- /dev/null +++ b/sources/share/20150527 3 Open Source Python Shells.md @@ -0,0 +1,99 @@ +3 Open Source Python Shells +================================================================================ +Python is a high-level, general-purpose, structured, powerful, open source programming language that is used for a wide variety of programming tasks. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity. + +Python is a very useful and popular computer language. One of the benefits of using an interpreted language such as Python is exploratory programming with its interactive shell. You can try out code without having to write a script. But there are limitations with the Python shell. Fortunately, there are some excellent alternative Python shells that extend on the basic shell. They each offer an excellent interactive Python experience. + +---------- + +### bpython ### + +![](http://www.linuxlinks.com/portal/content/reviews/Programming/Screenshot-bpython.png) + +bpython is a fancy interface to the Python interpreter for Linux, BSD, OS X and Windows. + +The idea is to provide the user with all the features in-line, much like modern IDEs, but in a simple, lightweight package that can be run in a terminal window. + +bpython doesn't seek to create anything new or groundbreaking. Instead, it brings together a few neat ideas and focuses on practicality and usefulness. + +Features include: + +- In-line syntax highlighting - uses Pygments for lexing the code as you type, and colours appropriately +- Readline-like autocomplete with suggestions displayed as you type +- Expected parameter list for any Python function - seeks to display a list of parameters for any function you call +- "Rewind" function to pop the last line of code from memory and re-evaluate +- Send the code you've entered off to a pastebin +- Save the code you've entered to a file +- Auto-indentation +- Python 3 support + +- Website: [www.bpython-interpreter.org][1] +- Developer: Bob Farrell and contributors +- License: MIT License +- Version Number: 0.14.1 + +---------- + +### IPython ### + +![](http://www.linuxlinks.com/portal/content/reviews/Programming/Screenshot-ipython.png) + +IPython is an enhanced interactive Python shell. It provides a rich toolkit to help you make the most out of using Python interactively. + +IPython can be used as a replacement for the standard Python shell, or it can be used as a complete working environment for scientific computing (like Matlab or Mathematica) when paired with the standard Python scientific and numerical tools. It supports dynamic object introspections, numbered input/output prompts, a macro system, session logging, session restoring, complete system shell access, verbose and colored traceback reports, auto-parentheses, auto-quoting, and is embeddable in other Python programs. + +Features include: + +- Powerful interactive shells (terminal and Qt-based) +- A browser-based notebook with support for code, rich text, mathematical expressions, inline plots and other rich media +- Support for interactive data visualization and use of GUI toolkits +- Flexible, embeddable interpreters to load into your own projects +- Easy to use, high performance tools for parallel computing + +- Website: [ipython.org][2] +- Developer: The IPython Development Team +- License: BSD +- Version Number: 3.1 + +---------- + +### DreamPie ### + +![](http://www.linuxlinks.com/portal/content/reviews/Programming/Screenshot-DreamPie.png) + +DreamPie is a Python shell which is designed to be reliable and fun. + +DreamPie can use just about any Python interpreter (Jython, IronPython, PyPy). + +Features include: + +- New concept for an interactive shell: the window is divided into the history box, which lets you view previous commands and their output, and the code box, where you write your code. This allows you to edit any amount of code, just like in your favorite editor, and execute it when it's ready. You can also copy code from anywhere, edit it and run it instantly +- The Copy code only command will copy the code you want to keep, so you can save it in a file. The code is already formatted nicely with a four-space indentation +- Automatic completion of attributes and file names +- Automatically displays function arguments and documentation +- Keeps your recent results in the result history, for later use +- Can automatically fold long outputs, so you can concentrate on what's important +- Save the history of the session as an HTML file, for future reference. You can then load the history file into DreamPie, and quickly redo previous commands +- Automatically adds parentheses and optionally quotes when you press space after functions and methods. For example, type execfile fn and get execfile("fn") +- Supports interactive plotting with matplotlib +- Xupport for Python 2.5, Python 2.6, Python 3.1, Jython 2.5, IronPython 2.6, and PyPy +- Extremely fast and responsive. + +- Website: [www.dreampie.org][3] +- Developer: Noam Yorav-Raphael +- License: GNU GPL v3 +- Version Number: 1.2.1 + +-------------------------------------------------------------------------------- + +via: http://www.linuxlinks.com/article/20150523032756576/PythonShells.html + +作者:Frazer Kline +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[1]:http://www.bpython-interpreter.org/ +[2]:http://ipython.org/ +[3]:http://www.dreampie.org/ \ No newline at end of file diff --git a/sources/share/20150527 Animated Wallpaper Adds Live Backgrounds To Linux Distros.md b/sources/share/20150527 Animated Wallpaper Adds Live Backgrounds To Linux Distros.md new file mode 100644 index 0000000000..92eff36326 --- /dev/null +++ b/sources/share/20150527 Animated Wallpaper Adds Live Backgrounds To Linux Distros.md @@ -0,0 +1,113 @@ +Animated Wallpaper Adds Live Backgrounds To Linux Distros +================================================================================ +**We know a lot of you love having a stylish Ubuntu desktop to show off.** + +![Live Wallpaper](http://i.imgur.com/9JIUw5p.gif) + +Live Wallpaper + +And as Linux makes it so easy to create a stunning workspace with a minimal effort, that’s understandable! + +Today, we’re highlighting — [re-highlighting][2] for those of you with long memories — a free, open-source tool that can add extra bling your OS screenshots and screencasts. + +It’s called **Live Wallpaper** and (as you can probably guess) it will replace the standard static desktop background with an animated alternative powered by OpenGL. + +And the best bit: it can be installed in Ubuntu very easily. + +### Animated Wallpaper Themes ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/05/animated-wallpaper-ubuntu-750x383.jpg) + +Live Wallpaper is not the only app of this type, but it is one of the the best. + +It comes with a number of different themes out of the box. + +These range from the subtle (‘noise’) to frenetic (‘nexus’), and caters to everything in between. There’s even the obligatory clock wallpaper inspired by the welcome screen of the Ubuntu Phone: + +- Circles — Clock inspired by Ubuntu Phone with ‘evolving circle’ aura +- Galaxy — Spinning galaxy that can be resized/repositioned +- Gradient Clock — A polar clock overlaid on basic gradient +- Nexus — Brightly colored particles fire across screen +- Noise — A bokeh design similar to the iOS dynamic wallpaper +- Photoslide — Grid of photos from folder (default ~/Photos) animate in/out + +Live Wallpaper is **fully open-source** so there’s nothing to stop imaginative artists with the know-how (and patience) from creating some slick themes of their own. + +### Settings & Features ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/05/live-wallpaper-gui-settings.jpg) + +Each theme can be configured or customised in some way, though certain themes have more options than others. + +For example, in Nexus (pictured above) you can change the number and colour of the the pulse particles, their size, and their frequency. + +The preferences app also provides a set of **general options** that will apply to all themes. These include: + +- Setting live wallpaper to run on log-in +- Setting a custom background that the animation sits on +- Adjusting the FPS (including option to show FPS on screen) +- Specifying the multi-monitor behaviour + +With so many options available it should be easy to create a background set up that suits you. + +### Drawbacks ### + +#### No Desktop Icons #### + +You can’t add, open or edit files or folders on the desktop while Live Wallpaper is ‘On’. + +The Preferences app does list an option that will, supposedly, let you do this. It may work on really older releases but in our testing, on Ubuntu 14.10, it does nothing. + +One workaround that seems to work for some users of the app on Ubuntu is setting a .png image as the custom background. It doesn’t have to be a transparent .png, simply a .png. + +#### Resource Usage #### + +Animated wallpapers use more system resources than standard background images. + +We’re not talking about 50% load at all times —at least not with this app in our testing— but those on low-power devices and laptops will want to use apps like this cautiously. Use a [system monitoring tool][2] to keep an eye on CPU and GPU load. + +#### Quitting the app #### + +The biggest “bug” for me is the absolute lack of “quit” option. + +Sure, the animated wallpaper can be turned off from the Indicator Applet and the Preferences tool but quitting the app entirely, quitting the indicator applet? Nope. To do that I have to use the ‘pkill livewallpaper’ command in the Terminal. + +### How to Install Live Wallpaper in Ubuntu 14.04 LTS + ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/05/terminal-command-750x146.jpg) + +To install Live Wallpaper in Ubuntu 14.04 LTS and above you will first need to add the official PPA for the app to your Software Sources. + +The quickest way to do this is using the Terminal: + + sudo add-apt-repository ppa:fyrmir/livewallpaper-daily + + sudo apt-get update && sudo apt-get install livewallpaper + +You should also install the indicator applet, which lets you quickly and easily turn on/off the animated wallpaper and switch theme from the menu area, and the GUI settings tool so that you can configure each theme based on your tastes. + + sudo apt-get install livewallpaper-config livewallpaper-indicator + +When everything has installed you will be able to launch the app and its preferences tool from the Unity Dash. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/05/live-wallpaper-app-launcher.png) + +Annoyingly, the Indicator Applet won’t automatically open after you install it. It does add itself to the start up list, so a quick log out > log in will get it to show. + +### Summary ### + +If you fancy breathing life into a dull desktop, give it a spin — and let us know what you think of it and what animated wallpapers you’d love to see added! + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2015/05/animated-wallpaper-adds-live-backgrounds-to-linux-distros + +作者:[Joey-Elijah Sneddon][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://plus.google.com/117485690627814051450/?rel=author +[1]:http://www.omgubuntu.co.uk/2012/11/live-wallpaper-for-ubuntu +[2]:http://www.omgubuntu.co.uk/2011/11/5-system-monitoring-tools-for-ubuntu \ No newline at end of file diff --git a/sources/share/20150604 12 Globally Recognized Linux Certifications.md b/sources/share/20150604 12 Globally Recognized Linux Certifications.md new file mode 100644 index 0000000000..4ec185770b --- /dev/null +++ b/sources/share/20150604 12 Globally Recognized Linux Certifications.md @@ -0,0 +1,173 @@ +translating wi-cuckoo +12 Globally Recognized Linux Certifications +================================================================================ +Hi everyone, today we'll learn about some of the very precious globally recognized Linux Certifications. Linux Certifications are the certification programme hosted by different Linux Professional Institutes across the globe. Linux Certifications allows Linux Professionals to get easily enrolled with the Linux related jobs in servers, companies, etc. Linux Certifications enables how much a person is expertise in that respective field of Linux. There are pretty many Linux Professional Institutes providing different Linux Certifications. But there are some few well recognized Linux Certification Programmes running across the globe which are at high priority while getting a job in companies where we need to manage servers, virtualizations, installations, configurations, application support and other stuffs with Linux Operating System. With the increment of servers running Linux Operating System throughout the globe, the demand of Linux Professional are increasing. For better authenticated and authorized Linux Professional, better and renowned Certifications are always at higher priority by the companies across the globe. + +Here are some globally recognized Linux Certifications that we'll discuss about. + +### 1. CompTIA Linux+ ### + +CompTIA Linux+ is a Linux Certification programme hosted by LPI "Linux Professional Institute" providing knowledge all over the world. It provides knowledge on Linux which enables to produce a bunch of Linux related Professional jobs like Linux Administrators, Junior Network Administrators, Systems Administrators, Linux Database Administrators and Web Administrators. If anyone is aware of installing and maintaining Linux Operating System, this course will help to meet the certification requirements and prepare for the exam by providing with a broad awareness of Linux operating systems. The main objective of CompTIA Linux+ Certification by LPI is to provide the certificate holders enough knowledge on a critical knowledge of installation, operation, administration and troubleshooting devices. We can earn three industry-recognized certifications for the cost, time, and effort of one, by completing the CompTIA Linux+ powered by LPI certification, we can automatically receive the **LPI LPIC-1** and the **SUSE Certified Linux Administrator (CLA)** certifications. + +- **Certification Codes** : LX0-103 and LX0-104 (launches March 30, 2015) OR LX0-101 and LX0-102 +- Number of questions: 60 questions per exam +- Type of Questions: Multiple choice +- Length of test period: 90 minutes +- Prerequisites: A+, Network+ and at least 12 months of Linux administration experience +- Passing score: 500 (on a scale of 200-800) +- Languages: English. Coming soon on German, Portuguese (Brazilian), Traditional Chinese, Spanish. +- Validity: Valid till 3 Years after certified. + +**Note**: Exams from different series cannot be combined. If you start with LX0-101, you MUST take LX0-102 to complete your certification. The same applies for the LX0-103 and LX0-104 series. The LX0-103 and LX0-104 series is an update to the LX0-101 and LX0-102 series. + +### 2. LPIC ### + +LPIC stands for Linux Professional Institute Certification which is a Linux certification programme by Linux Professional Institute. It is a multi level certification program which requires passing of a number (usually two) certification exams for each level. There are three levels of certification which includes Junior Level Certification **LPIC-1**, Advanced Level Certification **LPIC-2** and Senior Level Certification **LPIC-3**. The first two certification aims on **Linux System Administration** whereas the final certification aims on several specialties including Virtualization and Security. To become **LPIC-3** certified, a candidate with an active **LPIC-1** and **LPIC-2** certification must pass at least one of 300 Mixed Environment, 303 Security and 304 Virtualization and High Availability. LPIC-1 certification is designed in such a way that the certification holder will be able to install, maintain, configure tasks running Linux with command line interface with basic networking where as LPIC-2 certification validates candidate to administer small to medium–sized mixed networks. LPIC-3 certification is designed for enterprise-level Linux professional and represents the highest level of professional, distribution-neutral Linux certification within the industry. + +- **Certification Codes** : LPIC-1 (101 and 102), LPIC-2 (201 and 202) and LPIC-3 (300, 303 or 304) +- Type of Questions: 60 Multiple choice questions +- Length of Test Period: 90 minutes +- Prerequisites: None, Linux Essentials is recommended +- Passing Score: 500 (on a scale of 200-800) +- Languages: LPIC-1: English, German, Italian, Portuguese (Brazilian), Spanish (Modern), Chinese (Simplified), Chinese (Traditional), Japanese +- LPIC-2: English, German, Portuguese (Brazilian), Japanese +- LPIC-3: English, Japanese +- Validity: Valid till 5 years of Retirement. + +### 3. Oracle Linux OCA ### + +Oracle Certified Associate (OCA) is designed for the individuals who are interested for a strong foundation of knowledge to implement and administer the Oracle Linux Operating System. This certification expertise individuals on the Oracle Linux distribution that's fully optimized for Oracle products and for running on Oracle's engineered systems including Oracle Exadata Database Machine, Oracle Exalytics In-Memory Machine, Oracle Exalogic Elastic Cloud, and Oracle Database Appliance. Oracle Linux's Unbreakable Enterprise Kernel delivers extreme performance, advanced scalability and reliability for enterprise applications. The OCA certification covers objectives such as managing local disk devices, managing file systems, installing and removing Solaris packages and patches, performing system boot procedures and system processes. It is initial step in achievement of flagship of OCP credential. This certification was formerly known as Sun Certified Solaris Associate (SCSAS). + +- **Certification Codes** : OCA +- Type of Questions: 75 Multiple choice questions +- Length of Test Period: 120 minutes +- Prerequisites: None +- Passing Score: 64% +- Validity: Never Expires + +### 4. Oracle Linux OCP ### + +Oracle Certified Professional (OCP) is the certification provided by Oracle Corporation for Oracle Linux which covers more advanced knowledge and skills of an Oracle Linux Administrator. It covers knowledge such as configuring network interfaces, managing swap configurations, crash dumps, managing applications, databases and core files. OCP certification is benchmark of technical expertise and professional skill needed for developing, implementing, and managing applications, middleware and databases widely in enterprise. Job opportunities for Oracle Linux OCP are increased depending on job market and economy. It is designed such a way that the certificate holder has the ability to perform security administration, prepare Oracle Linux system for Oracle database, troubleshoot problems and perform corrective action, install software packages, installing and configuring kernel modules, maintain swap space, perform User and Group administration, creating file systems, configuring logical volume manager (LVM), file sharing services and more. + +- **Certification Codes** : OCP +- Type of Questions: 60 to 80 Multiple choice questions +- Length of Test Period: 120 minutes +- Prerequisites: Oracle Linux OCA +- Passing Score: 64% +- Validity: Never Expires + +### 5. RHCSA ### + +RHCSA is a certification programme by Red Hat Incorporation as Red Hat Certified System Administrator. RHCSAs are the person who has the skill, and ability to perform core system administrations in the renowned Red Hat Linux environments. It is an initial entry-level certification programme that focuses on actual competencies at system administration, including installation and configuration of a Red Hat Linux system and attaching it to a live network running network services. A Red Hat Certified System Administrator (RHCSA) is able to understand and use essential tools for handling files, directories, command-line environments, and documentation, operate running systems, including booting into different run levels, identifying processes, starting and stopping virtual machines, and controlling services, configure local storage using partitions and logical volumes, create and configure file systems and file system attributes, such as permissions, encryption, access control lists, and network file systemsm, deploy, configure, and maintain systems, including software installation, update, and core services, manage users and groups, including use of a centralized directory for authentication, security, including basic firewall and SELinux configuration. One should be RHCSA certified to gain RHCE and other certifications. + +- **Certification Codes** : RHCSA +- Course Codes: RH124, RH134 and RH199 +- Exam Codes: EX200 +- Length of Test Period: 21-22 hours depending on the elective course choosen. +- Prerequisites: None. Better if has some fundamental knowledge of Linux. +- Passing Score: 210 out of 300 points (70%) +- Validity: 3 years + +### 6. RHCE ### + +RHCE, also known as Red Hat Certified Engineer is a mid to advanced level certification programme for Red Hat Certified System Administrator (RHCSA) who wants to acquire additional skills and knowledge required of a senior system administrator responsible for Red Hat Enterprise Linux. RHCE has the ability, knowledge and skills of configuring static routes, packet filtering, and network address translation, setting kernel runtime parameters, configuring an Internet Small Computer System Interface (iSCSI) initiator, producing and delivering reports on system utilization, using shell scripting to automate system maintenance tasks, configuring system logging, including remote logging, system to provide networking services including HTTP/HTTPS, File Transfer Protocol (FTP), network file system (NFS), server message block (SMB), Simple Mail Transfer Protocol (SMTP), secure shell (SSH) and Network Time Protocol (NTP) and more. RHCSAs who wish to earn a more senior-level credential and who have completed System Administration I, II, and II, or who have completed the RHCE Rapid Track Course is recommended to go for RHCE certification. + +- **Certification Codes** : RHCE +- Course Codes: RH124, RH134, RH254 and RH199 +- Exam Codes: EX200 and EX300 +- Length of Test Period: 21-22 hours depending on the elective course choosen. +- Prerequisites: A RHCSA credential +- Passing Score: 210 out of 300 (70%) +- Validity: 3 years + +### 7. RHCA ### + +RHCA stands for Red Hat Certified Architect which is a certification programme by Red Hat Incorporation. It focuses on actual competencies at system administration, including installation and configuration of a Red Hat Linux system and attaching it to a live network running network services. RHCA is the highest level of certification of all the Red Hat Certifications. Candidates are required to choose the concentration they wish to focus on or can choose any combination of eligible Red Hat certifications to create a custom concentration of their own. There are three main concentration Datacenter, Cloud and Application Platform. RHCA with the concentration of Datacenter has the skills and ability to work, manage a datacenter whereas with the concentration of Cloud has the ability create, configure and manage private, hybrid clouds, cloud application platforms, flexible storage solutions using Red Hat Enterprise Linux Platform. RHCA with the concentration of Application Platform includes skills like installing, configuring and managing Red Hat JBoss Enterprise Application Platform and applications, cloud application platforms and hybrid cloud environments with OpenShift Enterprise by Red Hat and federating data from multiple sources using Red Hat JBoss Data Virtualization. + +- **Certification Codes** : RHCA +- Course Codes: CL210,CL220,CL280, RH236, RH318,RH401,RH413, RH436,RH442,JB248 and JB450 +- Exam Codes: EX333, EX401, EX423 or EX318, EX436 and EX442 +- Length of Test Period: 21-22 hours depending on the elective course choosen. +- Prerequisites: Active RHCE credential +- Passing Score: 210 out of 300 (70%) +- Validity: 3 years + +### 8. SUSE CLA ### + +SUSE Certified Linux Administrator (SUSE CLA) is a initialcertification by SUSE which focuses on daily administration tasks in SUSE Linux Enterprise Server environments. To gain SUSE CLA certification, it is not necessary to perform the course work, one has to pass the examination to get certified. SUSE CLA are capable and has skills to use Linux Desktop, locate and use help resources, manage Linux File System, work with the Linux Shell and Command Line, install SLE 11 SP22, manage system installation, hardware, backup and recovery, administer Linux with YaST, linux processes and services, storage, configure network, remote access, monitor SLE 11 SP2, automate tasks and manage user access and security. We can gain dual certificates of SUSE CLA and LPIC-1 and CompTIA Linux powered by LPI as SUSE, Linux Professional Institute and CompTIA have teamed up to offer you the chance to earn three Linux certifications. + +- **Certification Codes** : SUSE CLA +- Course Codes: 3115, 3116 +- Exam Codes: 050-720, 050-710 +- Type of Questions: multiple choice exams +- Length of Test Period: 90 minutes +- Prerequisites: None +- Passing Score: 512 + +### 9. SUSE CLP ### + +SUSE Certified Linux Professional (CLP) is a certification programme for the one who is interested to gain more seniority and professionalism in SUSE Linux Enterprise Servers. SUSE CLP is the next step after receiving the SUSE CLA certificate. One should pass the examination and should have certification of CLA to gain the certification of CLP thought the candidate has passed the examination of CLP. SUSE CLP certified person has the skills and ability of installing and configuring SUSE Linux Enterprise Server 11 systems, maintaining the file system, managing softwarepackages, processes, printing, configuring fundamental network services, samba, web servers, using IPv6 and creating and running bash shell scripts. + +- **Certification Codes** : SUSE CLP +- Course Codes: 3115, 3116 and 3117 +- Exam Codes: 050-721, 050-697 +- Type of Test: hands on +- Length of Test Period: 180 minute practicum +- Prerequisites: SUSE CLA Certified + +### 10. SUSE CLE ### + +SUSE Certified Linux Engineer (CLE) is an engineer level advanced certification for those candidates who have passed the examination of CLE. To acquire a CLE certificate, one should gain the certificates of SUSE CLA and SUSE CLP. The candidate gaining the CLE certification has the skills of architecting complex SUSE Linux Enterprise Server environments. CLE certified person has the skill to configure fundamental networking services, manage printing, configure and use Open LDAP, samba, web servers, IPv6, perform Health Check and Performance Tuning, create and execute Shell Scripts, deploy SUSE Linux Enterprise, virtualization with Xen and more. + +- **Certification Codes** : SUSE CLE +- Course Codes: 3107 +- Exam Codes: 050-723 +- Type of Test: hands on +- Length of Test Period: 120 minute practicum +- Prerequisites: SUSE CLP 10 or 11 Certified + +### 11. LFCS ### + +Linux Foundation Certified System Admin (LFCS) certified candidates possesses knowledge on the use of Linux and using Linux with the terminal environment. LFCS is a certification programme by Linux Foundation for system administrators and engineers working with the Linux operating system. The Linux Foundation collaborated with industry experts and the Linux kernel community to identify the core domains and the critical skills, knowledge and abilities applicable for the certification. LFCS certified candidates has the skills, knowledge and ability of editing and manipulating text files on the command line, managing and troubleshooting File Systems and Storage, assembling partitions as LVM devices, configuring SWAP partitions, managing networked filesystems, managing user accounts, permissions and ownerships, maintaining security, creating and executing bash shell scripts, installing, upgrading, removing software packages and more. + +- **Certification Codes** : LFCS +- Course Codes: LFS201, LFS220 (Optional) +- Exam Codes: LFCS exam +- Length of Test Period: 2 hours +- Prerequisites: None. +- Passing Score: 74% +- Languages: English +- Validity: 2 years + +### 12. LFCE ### + +Linux Foundation Certified Engineer (LFCE), a certification for Linux Engineers by Linux Foundation. LFCE certified candidates possesses a wider range of skills on Linux than LFCS. It is a engineer-level advanced certification programme. The LFCE certified candidates possesses skills and abilities of Network Administraton like configuring network services, configuring packet filtering, monitor network performance, IP traffics, configuring filesystems and file services, network filesystems, install, update packages from the repositories, managing network security, configuring iptables, http services, proxy servers, email servers and many more. It is believed that LFCE is pretty difficult to pass and study than LFCS as its advanced engineering level certification programme. + +- **Certification Codes** : LFCE +- Course Codes: LFS230 +- Exam Codes: LFCE exam +- Length of Test Period: 2 hours +- Prerequisites: LFCS certified. +- Passing Score: 72% +- Languages: English +- Validity: 2 years + +### Facts we found (This is only our views) ### + +Recent surveys conducted on different top recruitment agency, says 80% of linux job profile preferred Redhat certification. If you are a student / newbie and want to learn linux then we prefer Linux Foundation Certifications as its getting much popular or CompTIA Linux would be also a choice. If you already know oracle or suse or working on their products then would prefer oracle / suse linux or if you working in an company these certification might enhance your career growth :-) + +### Conclusion ### + +There are thousands of big companies in this world running servers and mainframes running Linux Operating System, to handle, configure and work on those servers there is always a need of highly qualified and certified Linux Technical/Professional. These globally recognized Linux certificates has a big role of someones career in Linux. The companies around the world running Linux and wanting Linux Engineers, System Administrators and ethusiasts chooses one who has gained certificates and has good score in the related field of Linux. Globally recognized certifications are highly essential for excellence in the profession and career in Linux, so preparing best for the examination and getting the certification is a good choice for building career in Linux. If you have any questions, comments, feedback please do write on the comment box below and let us know what stuffs needs to be added or improved. Thank You! :-) + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-how-to/12-globally-recognized-linux-certifications/ + +作者:[Arun Pyasi][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/arunp/ diff --git a/sources/share/20150604 Read about The Document Foundation achievements in 2014--download the Annual Report.md b/sources/share/20150604 Read about The Document Foundation achievements in 2014--download the Annual Report.md new file mode 100644 index 0000000000..28b0a76083 --- /dev/null +++ b/sources/share/20150604 Read about The Document Foundation achievements in 2014--download the Annual Report.md @@ -0,0 +1,34 @@ +sevenot translating +Read about The Document Foundation achievements in 2014: download the Annual Report! +================================================================================ +![](https://documentfoundation.files.wordpress.com/2015/06/tdf-report.jpg) + +TDF ReportThe Document Foundation (TDF) is proud to announce its 2014 Annual Report, which can be downloaded from the following link: [http://tdf.io/report2014][1] (3.2 MB PDF). The version with HD images can be downloaded from [http://tdf.io/report2014hq][2] (15.9 MB PDF). + +TDF Annual Report starts with a Review of 2014, with highlights about TDF and LibreOffice, and a summary of financials and budget. + +Community, Projects & Events covers the LibreOffice Conference 2014 in Bern, Certification, Website and QA, Hackfests in Brussels, Gran Canaria, Paris, Boston and Tolouse, Native-Language Projects, Infrastructure, Documentation, Marketing and Design. + +Software, Development & Code reports about the activities of the Engineering Steering Committee, LibreOffice Development, the Document Liberation Project and LibreOffice on Android. + +The last section focuses on People, starting with Top Contributors, followed by TDF Staff, the Board of Directors and the Membership Committee, the Board of Trustees, or the body of TDF Members, and the Advisory Board. + +TDF 2014 Annual Report has been edited by Sophie Gautier, Alexander Werner, Christian Lohmaier, Florian Effenberger, Italo Vignoli and Robinson Tryon, and designed by Barak Paz, with the help of the fantastic LibreOffice community. + +To allow the widest distribution of the document, this is released with a CC BY 3.0 DE License, unless otherwise noted, to TDF Members and free software advocates worldwide. + +[The German version of TDF Annual Report is available from [http://tdf.io/bericht2014][3]]. + +-------------------------------------------------------------------------------- + +via: http://blog.documentfoundation.org/2015/06/03/read-about-the-document-foundation-achievements-in-2014-download-the-annual-report/ + +作者:italovignoli +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[1]:https://wiki.documentfoundation.org/File:TDF2014AnnualReport.pdf +[2]:https://wiki.documentfoundation.org/File:TDF2014AnnualReportHQ.pdf +[3]:https://wiki.documentfoundation.org/File:TDF2014AnnualReportDE.pdf \ No newline at end of file diff --git a/sources/talk/20140818 Upstream and Downstream--why packaging takes time.md b/sources/talk/20140818 Upstream and Downstream--why packaging takes time.md deleted file mode 100644 index fc1c708b14..0000000000 --- a/sources/talk/20140818 Upstream and Downstream--why packaging takes time.md +++ /dev/null @@ -1,97 +0,0 @@ -Upstream and Downstream: why packaging takes time -================================================================================ -Here in the KDE office in Barcelona some people spend their time on purely upstream KDE projects and some of us are primarily interested in making distros work which mean our users can get all the stuff we make. I've been asked why we don't just automate the packaging and go and do more productive things. One view of making on a distro like Kubuntu is that its just a way to package up the hard work done by others to take all the credit. I don't deny that, but there's quite a lot to the packaging of all that hard work, for a start there's a lot of it these days. - -"KDE" used to be released once every nine months or less frequently. But yesterday I released the [first bugfix update to Plasma][1], to make that happen I spent some time on Thursday with David making the [first update to Frameworks 5][2]. But Plasma 5 is still a work in progress for us distros, let's not forget about [KDE SC 4.13.3][3] which Philip has done his usual spectacular job of updating in the 14.04 LTS archive or [KDE SC 4.14 betas][4] which Scarlett has been packaging for utopic and backporting to 14.04 LTS. KDE SC used to be 20 tars, now it's 169 and over 50 langauge packs. - -### Patches ### - -If we were packaging it without any automation as used to be done it would take an age but of course we do automate the repetative tasks, the [KDE SC 4.13.97 status][5] page shows all the packages and highlights obvious problems. But with 169 tars even running the automated script takes a while, then you have to fix any patches that no longer apply. We have [policies][6] to disuade having patches, any patches should be upstream in KDE or on their way upstream, but sometimes it's unavoidable that we have some to maintain which often need small changes for each upstream release. - -### Symbols ### - -Much of what we package are libraries and if one small bit changes in the library, any applications which use that library will crash. This is ABI and the rules for [binary compatibility][7] in C++ are nuts. Not infrequently someone in KDE will alter a library ABI without realising. So we maintain symbol files to list all the symbols, these can often feel like more trouble than they're worth because they need updated when a new version of GCC produces different symbols or when symbols disappear and on investigation they turn out to be marked private and nobody will be using them anyway, but if you miss a change and apps start crashing as nearly happened in KDE PIM last week then people get grumpy. - -### Copyright ### - -Debian, and so Ubuntu, documents the copyright licence of every files in every package. This is a very slow and tedious job but it's important that it's done both upstream and downstream because it you don't people won't want to use your software in a commercial setting and at worst you could end up in court. So I maintain the [licensing policy][8] and not infrequently have to fix bits which are incorrectly or unclearly licenced and answer questions such as today I was reviewing whether a kcm in frameworks had to be LGPL licenced for Eike. We write a copyright file for every package and again this can feel like more trouble than its worth, there's no easy way to automate it but by some readings of the licence texts it's necessary to comply with them and it's just good practice. It also means that if someone starts making claims like requiring licencing for already distributed binary packages I'm in an informed position to correct such nonsense. - -### Descriptions ### - -When we were packaging KDE Frameworks from scratch we had to find a descirption of each Framework. Despite policies for metadata some were quite underdescribed so we had to go and search for a sensible descirption for them. Infact not infrequently we'll need to use a new library which doesn't even have a sensible paragraph describing what it does. We need to be able to make a package show something of a human face. - -### Multiarch ### - -A recent addition to the world of .deb packaging is [MultiArch][9] which allows i386 packages to be installed on amd64 computers as well as some even more obscure combinations (powerpc on ppcel64 anyone?). This lets you run Skype on your amd64 computer without messy cludges like the ia32-libs package. However it needs quite a lot of attention from packagers of libraries marking which packages are multiarch, which depend on other multiarch or arch independent packages and even after packaging KDE Frameworks I'm not entirely comfortable with doing it. - -### Splitting up Packages ### - -We spend lots of time splitting up packages. When say Calligra gets released it's all in one big tar but you don't want all of it on your system because you just want to write a letter in Calligra Words and Krita has lots of image and other data files which take up lots of space you don't care for. So for each new release we have to work out which of the installed files go into which .deb package. It takes time and even worse occationally we can get it wrong but if you don't want heaps of stuff on your computer you don't need then it needs to be done. It's also needed for library upgrades, if there's a new version of libfoo and not all the programs have been ported to it then you can install libfoo1 and libfoo2 on the same system without problems. That's not possible with distros which don't split up packages. - -One messy side effect of this is that when a file moves from one .deb to another .deb made by the same sources, maybe Debian chose to split it another way and we want to follow them, then it needs a Breaks/Replaces/Conflicts added. This is a pretty messy part of .deb packaging, you need to specify which version it Breaks/Replaces/Conflicts and depending on the type of move you need to specify some combination of these three fields but even experienced packages seem to be unclear on which. And then if a backport (with files in original places) is released which has a newer version than the version you specify in the Breaks/Replaces/Conflicts it just refuses to install and stops half way through installing until a new upload is made which updates the Breaks/Replaces/Conflicts version in the packaging. I'd be interested in how this is solved in the RPM world. - -### Debian Merges ### - -Ubuntu is forked from Debian and to piggy back on their work (and add our own bugs while taking the credit) we merge in Debian's packaging at the start of each cycle. This is fiddly work involving going through the diff (and for patches that's often a diff of a diff) and changelog to work out why each alternation was made. Then we merge them together, it takes time and it's error prone but it's what allows Ubuntu to be one of the most up to date distros around even while much of the work gone into maintaining universe packages not part of some flavour has slowed down. - -### Stable Release Updates ### - -You have Kubuntu 14.04 LTS but you want more? You want bugfixes too? Oh but you want them without the possibility of regressions? Ubuntu has quite strict definition of what's allowed in after an Ubuntu release is made, this is because once upon a time someone uploaded a fix for X which had the side effect of breaking X on half the installs out there. So for any updates to get into the archive they can only be for certain packages with a track record of making bug fix releases without sneaking in new features or breaking bits. They need to be tested, have some time passed to allow for wider testing, be tested again using the versions compiled in Launchpad and then released. KDE makes bugfix releases of KDE SC every month and we update them in the latest stable and LTS releases as [4.13.3 was this week][10]. But it's not a process you can rush and will take a couple of weeks usually. That 4.13.3 update was even later then usual because we were busy with Plasma 5 and whatnot. And it's not perfect, a bug in Baloo did get through with 4.13.2. But it would be even worse if we did rush it. - -### Backports ### - -Ah but you want new features too? We don't allow in new features into the normal updates because they will have more chance of having regressions. That's why we make backports, either in the kubuntu-ppa/backports archive or in the ubuntu backports archive. This involves running the package through another automation script to change whever needs changed for the backport then compiling it all, testing it and releasing it. Maintaining and running that backport script is quite faffy so sending your thanks is always appreciated. - -We have an allowance to upload new bugfix (micro releases) of KDE SC to the ubuntu archive because KDE SC has a good track record of fixing things and not breaking them. When we come to wanting to update Plasma we'll need to argue for another allowance. One controvertial issue in KDE Frameworks is that there's no bugfix releases, only monthly releases with new features. These are unlikely to get into the Ubuntu archive, we can try to argue the case that with automated tests and other processes the quality is high enough, but it'll be a hard sell. - -### Crack of the Day ### - -Project Neon provides packages of daily builds of parts of KDE from Git. And there's weekly ISOs that are made from this too. These guys rock. The packages are monolithic and install in /opt to be able to live alongside your normal KDE software. - -### Co-installability ### - -You should be able to run KDELibs 4 software on a Plasma 5 desktop. I spent quite a bit of time ensuring this is possible by having no overlapping files in kdelibs/kde-runtime and kde frameworks and some parts of Plasma. This wasn't done primarily for Kubuntu, many of the files could have been split out into .deb packages that could be shared between KDELibs 4 and Plasma 5, but other disros which just installs packages in a monolithic style benefitted. Some projects like Baloo didn't ensure they were co-installable, fine for Kubuntu as we can separate the libraries that need to be coinstalled from the binaries, but other distros won't be so happy. - -### Automated Testing ### - -Increasingly KDE software comes with its own test suite. Test suites are something that has been late coming to free software (and maybe software in general) but now it's here we can have higher confidence that the software is bug free. We run these test suites as part of the package compilation process and not infrequently find that the test suite doesn't run, I've been told that it's not expected for packagers to use it in the past. And of course tests fail. - -### Obscure Architectures ### - -In Ubuntu we have some obscure architectures. 64-bit Arm is likely to be a useful platform in the years to come. I'm not sure why we care about 64-bit powerpc, I can only assume someone has paid Canonical to care about it. Not infrequently we find software compiles fine on normal PCs but breaks on these obscure platforms and we need to debug why they is. This can be a slow process on ARM which takes an age to do anything, or very slow where I don't even have access to a machine to test on, but it's all part of being part of a distro with many use-cases. - -### Future Changes ### - -At Kubuntu we've never shared infrstructure with Debian despite having 99% the same packaging. This is because Ubuntu to an extent defines itself as being the technical awesomeness of Debian with smoother processes. But for some time Debian has used git while we've used the slower bzr (it was an early plan to make Ubuntu take over the world of distributed revision control with Bzr but then Git came along and turned out to be much faster even if harder to get your head around) and they've also moved to team maintainership so at last we're planning [shared repositories][11]. That'll mean many changes in our scripts but should remove much of the headache of merges each cycle. - -There's also a proposal to [move our packaging to daily builds][12] so we won't have to spend a lot of time updating packaging at every release. I'm skeptical if the hassle of the infrastructure for this plus fixing packaging problems as they occur each day will be less work than doing it for each release but it's worth a try. - -### ISO Testing ### - -Every 6 months we make an Ubuntu release (which includes all the flavours of which Ubuntu [Unity] is the flagship and Kubuntu is the most handsome) and there's alphas and betas before that which all need to be tested to ensure they actually install and run. Some of the pain of this has reduced since we've done away with the alternative (text debian-installer) images but we're nowhere near where Ubuntu [Unity] or OpenSUSE is with OpenQA where there are automated installs running all the time in various setups and some magic detects problems. I'd love to have this set up. - -I'd welcome comments on how any workflow here can be improved or how it compares to other distributions. It takes time but in Kubuntu we have a good track record of contributing fixes upstream and we all are part of KDE as well as Kubuntu. As well as the tasks I list above about checking copyright or co-installability I do Plasma releases currently, I just saw Harald do a Phonon release and Scott's just applied for a KDE account for fixes to PyKDE. And as ever we welcome more people to join us, we're in #kubuntu-devel where free hugs can be found, and we're having a whole day of Kubuntu love at Akademy. - --------------------------------------------------------------------------------- - -via: https://blogs.kde.org/2014/08/13/upstream-and-downstream-why-packaging-takes-time - -作者:[Jonathan Riddell][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:https://blogs.kde.org/users/jriddell -[1]:https://dot.kde.org/2014/08/12/first-bugfix-update-plasma-5 -[2]:https://dot.kde.org/2014/08/07/kde-frameworks-5.1 -[3]:http://www.kubuntu.org/news/kde-sc-4.13.3 -[4]:https://dot.kde.org/2014/07/18/kde-ships-july-updates-and-second-beta-applications-and-platform-414 -[5]:http://qa.kubuntu.co.uk/ninjas-status/build_status_4.13.97_utopic.html -[6]:https://community.kde.org/Kubuntu/Policies -[7]:https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++ -[8]:https://techbase.kde.org/Policies/Licensing_Policy -[9]:https://help.ubuntu.com/community/MultiArch -[10]:http://www.kubuntu.org/news/kde-sc-4.13.3 -[11]:http://lists.alioth.debian.org/pipermail/pkg-kde-talk/2014-August/001934.html -[12]:https://lists.ubuntu.com/archives/kubuntu-devel/2014-August/008651.html \ No newline at end of file diff --git a/sources/talk/20150205 GHOST--Another Security Bug Hits Linux, But is it That Bad.md b/sources/talk/20150205 GHOST--Another Security Bug Hits Linux, But is it That Bad.md deleted file mode 100644 index 90923c1aae..0000000000 --- a/sources/talk/20150205 GHOST--Another Security Bug Hits Linux, But is it That Bad.md +++ /dev/null @@ -1,34 +0,0 @@ -GHOST: Another Security Bug Hits Linux, But is it That Bad? -================================================================================ -> GHOST, a newly announced security vulnerability that affects Linux servers and other systems that use the open source glibc library, is not as dangerous to data privacy as the Shellshock or Heartbleed bugs. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/01/ghost-costume.jpg) - -Heartbleed is not even a year behind us, and the open source world has been hit with another major security vulnerability in the form of [GHOST][1], which involves holes in the Linux glibc library. This time, though, the actual danger may not live up to the hype. - -The GHOST vulnerability, which was announced last week by security researchers at [Qualys][2], resides in the gethostbyname*() functions of the glibc library. glibc is one of the core building blocks of most Linux systems, and gethostbyname*(), which resolves domain names into IP addresses, is widely used in open source applications. - -Attackers can exploit the GHOST security hole to create a buffer overflow, making it possible to execute any kind of code they want and do all sorts of nasty things. - -All of the above suggests that GHOST is bad news indeed. Fortunately for the open source community, however, the actual risk appears small. As TrendMicro [points out][3], the bug that makes the exploit possible has been fixed in glibc since May 2013, meaning that any Linux servers or PCs running more recent versions of the software are safe from attack. - -In addition, gethostbyname*() has been superseded by newer glibc functions that can better handle modern networking environments. Those include ones that use the IPv6 protocol, which gethostbyname*() doesn't support. As a result, newer applications often don't use the gethostbyname*() functions, and are not at risk. - -And perhaps most importantly, there's currently no known way of executing GHOST attacks through the Web. That greatly reduces opportunities for using this vulnerability to steal the data of unsuspecting users or otherwise wreak havoc. - -All in all, then, GHOST doesn't seem like a vulnerability that will prove as serious as Heartbleed or Shellshock, two other recent security problems that affected widely used open source software. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/020415/ghost-another-security-bug-hits-linux-it-bad - -作者:[Christopher Tozzi][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://thevarguy.com/author/christopher-tozzi -[1]:https://community.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/the-ghost-vulnerability -[2]:http://qualys.com/ -[3]:http://blog.trendmicro.com/trendlabs-security-intelligence/not-so-spooky-linux-ghost-vulnerability/ \ No newline at end of file diff --git a/sources/talk/20150310 FAQ--BSD.md b/sources/talk/20150310 FAQ--BSD.md deleted file mode 100644 index 80f77ef656..0000000000 --- a/sources/talk/20150310 FAQ--BSD.md +++ /dev/null @@ -1,81 +0,0 @@ -FAQ: BSD -================================================================================ -![](http://www.linuxvoice.com/wp-content/uploads/2015/02/faq1-large1.png) - -### Had history been slightly different, you’d be reading FreeBSD Voice today… ### - -#### So what’s the deal with this Birsa Seva Dal then? Isn’t it a political group in India? #### - -Very funny – you looked up the “BSD” disambiguation page on Wikipedia just to make that joke, didn’t you? Here we’re talking about the Berkeley Software Distribution, a family of operating systems that are much more widely used than you might think. - -#### Sorry, I couldn’t help myself. OK, so what’s the deal with these OSes? #### - -There are three main BSD operating systems in use today. They are based on Unix, they are open source, they tend to be used in server roles, but can also make good desktops and workstations as well. They run KDE, Firefox, LibreOffice, Apache, MySQL and pretty much any open source application you can name. They’re reliable, secure and support a lot of different hardware. - -#### Congratulations – you’ve just described GNU/Linux… #### - -True. Linux has all of the things I’ve just mentioned, and that’s why a lot of people never investigate BSD. In day-to-day usage, there isn’t a lot of difference between the BSD family and Linux, largely because they all have Unix underpinnings, and also because they share a lot of software. You could be logged into a remote machine, hacking some Python code in Vim, and checking your email in Mutt, and you wouldn’t know you were running BSD. Or you could be using an internet terminal in a cafe somewhere and not know it’s BSD. - -The biggest differences are in the development model and licence, and to understand this, we need to step back in time. The B in BSD refers to the University of California, Berkeley, which was a hotbed of open source Unix development back in the 1980s. As the 90s came, x86-based PCs were becoming popular and many people were interested in having a Unix-like OS on their home computers. A project called 386BSD was released in 1992 to provide just that. - -#### And where were all the Linux distributions at this time? #### - -Good question! You might know that one year before, Linus Torvalds had announced his kernel, which, when paired with the GNU project, formed a complete open source operating system. Linus had been following GNU’s own kernel (Hurd) and 386BSD, and said that had either of them been ready for daily use, he probably wouldn’t have created Linux. So the first few years of the 90s were tremendously lively for open source operating systems, and nobody was really sure which ones would succeed. - -Then it got messy for BSD. AT&T, the original developer of Unix, was trying to monetise its work on the operating system and claimed that BSD infringed its intellectual property rights. This culminated in a lawsuit in 1992 which severely held back BSD development. In the end, various chunks of the BSD source code had to be rewritten – while all this time, GNU/Linux was gaining features, stability and popularity. - -BSD was arguably in a more mature state than GNU/Linux in the early 1990s, and without these legal complications it could have become the standard on x86 PCs. We could all be using it today instead of Linux. - -#### But you said earlier that BSD is still widely used, so things improved after that? #### - -Yes. 386BSD development stagnated, but two teams of developers working over the internet created separate successor projects. FreeBSD became the most widely used flavour of BSD, and is now the closest to Linux as a desktop and server operating system, while NetBSD focused on portability (today it runs on over 50 platforms, all built from the same codebase). The third flavour, OpenBSD, forked off from NetBSD just a few years after NetBSD started due to a developer spat, and today it’s well known for its concentration on security. Over the years, OpenBSD has created many programs that have become standard on Linux, such as OpenSSH – and now we have LibreSSL too. - -#### So these three flavours of BSD are like Linux distributions? #### - -Yes and no. Each BSD has a separate codebase and separate development teams, although there is a lot of code-flow between them (especially for hardware drivers). But they are standalone operating systems with their own features, pros and cons. - -We mentioned that the development model of the BSDs is one feature that really distinguishes them from GNU/Linux. There’s nobody in charge of GNU/Linux as a whole: some teams are working on the GNU components, some are working on the kernel, some on boot scripts, some on manual pages, some on libraries, and so forth. The development model is often called “wild west”, with a lack of central authority, and distributions do all the hard work of fitting everything together. - -The BSDs, in contrast, are developed as complete projects from centralised source code trees. The kernel, the libraries, the system utilities and the manual pages are all stored and worked on in the same place. Many BSD fans argue that this gives the operating systems more coherency and stability, and from our years of dabbling with BSD we can attest that the manual pages are largely superb. - -![](http://www.linuxvoice.com/wp-content/uploads/2015/02/faq2-large1.png) - -#### Don’t the BSDs use anything from GNU/Linux? #### - -Yes, especially GCC. The GNU Compiler Collection has been the de-facto standard compiler on free Unix systems for decades, although FreeBSD has recently moved to LLVM/Clang. It’s important to note that the BSDs also use other open source projects that aren’t specifically GNU or Linux, such as the X Window System (XFree86 and X.org), Perl and so forth. And thanks to standards such as POSIX, most programs that run on Linux can be recompiled to run on the various BSD flavours. - -So, you could replace the L in a LAMP (Linux, Apache, MySQL and PHP) stack with FreeBSD, and get pretty much the same environment, with a different set of features (eg variations in filesystem and driver support). And there are some mega, super, huge users of FreeBSD, such as Netflix, which serve up ridiculous amounts of data every day. While FreeBSD makes a good desktop OS, its strengths really lie in the server room, with exceptional reliability and network performance. - -OpenBSD tends to be used in smaller web serving, file hosting, firewall and gateway roles where security is imperative. NetBSD is the least popular of the main BSD flavours – it can run on almost anything though, including old Amigas and Acorn boxes, and sometimes finds itself inside closed-source network devices. - -#### Hang on – how can someone close the source code? That ain’t kosher in Linux! #### - -Correct, and here we come to the other major difference with GNU/Linux. The licence for the BSD flavours (called, funnily enough, the BSD Licence) is very different to the GPL that we know. For starters, it’s much shorter. The BSD Licence essentially says: do what you want with this code, but give the original developers credit for writing it, and don’t try to sue them if it blows up your computer. - -So there’s nothing in the licence that forces the code to stay open, unlike with the GPL, which requires that users of the code also make their modifications freely available. This crucial difference has sparked countless flame wars over the years, with BSD fans saying that their licence is more free (because it’s less restrictive), while GNU/GPL fans say that their licence is actually more free (because it preserves freedom down the road). - -#### Blimey. Anyway, now that you’ve piqued my interest, where can I try out all these lovely BSD flavours? #### - -You can probably guess the websites – [www.openbsd.org][1], [www.freebsd.org][2] and [www.netbsd.org][3] – where you can download ISO images, boot them in VirtualBox, and play around. If you’ve been using Linux for a while, you won’t find any of them too difficult, although you’re expected to know your way around the command line. If you’re looking for something more newbie-friendly, PC-BSD - -([www.pcbsd.org][4]) is a customised version of FreeBSD focused on the desktop, with a fancy graphical installer and super-simple management of software. Have fun exploring! - - - - - --------------------------------------------------------------------------------- - -via: http://www.linuxvoice.com/faq-bsd-2/ - -作者:[Mike Saunders][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://www.linuxvoice.com/author/mike/ -[1]:http://www.openbsd.org/ -[2]:http://www.freebsd.org/ -[3]:http://www.netbsd.org/ -[4]:http://www.pcbsd.org/ \ No newline at end of file diff --git a/sources/talk/20150511 Open Source History--Why Did Linux Succeed.md b/sources/talk/20150511 Open Source History--Why Did Linux Succeed.md deleted file mode 100644 index e50eb38cb7..0000000000 --- a/sources/talk/20150511 Open Source History--Why Did Linux Succeed.md +++ /dev/null @@ -1,74 +0,0 @@ -[translating by KayGuoWhu] -Open Source History: Why Did Linux Succeed? -================================================================================ -> Why did Linux, the Unix-like operating system kernel started by Linus Torvalds in 1991 that became central to the open source world, succeed where so many similar projects, including GNU HURD and the BSDs, fail? - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/05/linux.jpg) - -One of the most puzzling questions about the history of free and open source is this: Why did Linux succeed so spectacularly, whereas similar attempts to build a free or open source, Unix-like operating system kernel met with considerably less success? I don't know the answer to that question. But I have rounded up some theories, which I'd like to lay out here. - -First, though, let me make clear what I mean when I write that Linux was a great success. I am defining it in opposition primarily to the variety of other Unix-like operating system kernels, some of them open and some not, that proliferated around the time Linux was born. [GNU][1] HURD, the free-as-in-freedom kernel whose development began in [May 1991][2], is one of them. Others include Unices that most people today have never heard of, such as various derivatives of the Unix variant developed at the University of California at Berkeley, BSD; Xenix, Microsoft's take on Unix; academic Unix clones including Minix; and the original Unix developed under the auspices of AT&T, which was vitally important in academic and commercial computing circles during earlier decades, but virtually disappeared from the scene by the 1990s. - -#### Related #### - -- [Open Source History: Tracing the Origins of Hacker Culture and the Hacker Ethic][3] -- [Unix and Personal Computers: Reinterpreting the Origins of Linux][4] - -I'd also like to make clear that I'm writing here about kernels, not complete operating systems. To a great extent, the Linux kernel owes its success to the GNU project as a whole, which produced the crucial tools, including compilers, a debugger and a BASH shell implementation, that are necessary to build a Unix-like operating system. But GNU developers never created a viable version of the the HURD kernel (although they are [still trying][5]). Instead, Linux ended up as the kernel that glued the rest of the GNU pieces together, even though that had never been in the GNU plans. - -So it's worth asking why Linux, a kernel launched by Linus Torvalds, an obscure programmer in Finland, in 1991—the same year as HURD—endured and thrived within a niche where so many other Unix-like kernels, many of which enjoyed strong commercial backing and association with the leading Unix hackers of the day, failed to take off. To that end, here are a few theories pertaining to that question that I've come across as I've researched the history of the free and open source software worlds, along with the respective strengths and weaknesses of these various explanations. - -### Linux Adopted a Decentralized Development Approach ### - -This is the argument that comes out of Eric S. Raymond's essay, "[The Cathedral and the Bazaar][6]," and related works, which make the case that software develops best when a large number of contributors collaborate continuously within a relatively decentralized organizational structure. That was generally true of Linux, in contrast to, for instance, GNU HURD, which took a more centrally directed approach to code development—and, as a result, "had been evidently failing" to build a complete operating system for a decade, in Raymond's view. - -To an extent, this explanation makes sense, but it has some significant flaws. For one, Torvalds arguably assumed a more authoritative role in directing Linux code development—deciding which contributions to include and reject—than Raymond and others have wanted to recognize. For another, this reasoning does not explain why GNU succeeded in producing so much software besides a working kernel. If only decentralized development works well in the free/open source software world, then all of GNU's programming efforts should have been a bust—which they most certainly were not. - -### Linux is Pragmatic; GNU is Ideological ### - -Personally, I find this explanation—which supposes that Linux grew so rapidly because its founder was a pragmatist who initially wrote the kernel just to be able to run a tailored Unix OS on his computer at home, not as part of a crusade to change the world through free software, as the GNU project aimed to do—the most compelling. - -Still, it has some weaknesses that make it less than completely satisfying. In particular, while Torvalds himself adopted pragmatic principles, not all members of the community that coalesced around his project, then or today, have done the same. Yet, Linux has succeeded all the same. - -Moreover, if pragmatism was the key to Linux's endurance, then why, again, was GNU successful in building so many other tools besides a kernel? If having strong political beliefs about software prevents you from pursuing successful projects, GNU should have been an outright failure, not an endeavor that produced a number of software packages that remain foundational to the IT world today. - -Last but not least, many of the other Unix variants of the late 1980s and early 1990s, especially several BSD off-shoots, were the products of pragmatism. Their developers aimed to build Unix variants that could be more freely shared than those restricted by expensive commercial licenses, but they were not deeply ideological about programming or sharing code. Neither was Torvalds, and it is therefore difficult to explain Linux's success, and the failure of other Unix projects, in terms of ideological zeal. - -### Operating System Design ### - -There are technical differences between Linux and some other Unix variants that are important to keep in mind when considering the success of Linux. Richard Stallman, the founder of the GNU project, pointed to these in explaining, in an email to me, why HURD development had lagged: "It is true that the GNU Hurd is not a practical success. Part of the reason is that its basic design made it somewhat of a research project. (I chose that design thinking it was a shortcut to get a working kernel in a hurry.)" - -Linux is also different from other Unix variants in the sense that Torvalds wrote all of the Linux code himself. Having a Unix of his own, free of other people's code, was one of his stated intentions when he [first announced Linux][7] in August 1991. This characteristic sets Linux apart from most of the other Unix variants that existed at that time, which derived their code bases from either AT&T Unix or Berkeley's BSD. - -I'm not a computer scientist, so I'm not qualified to decide whether the Linux code was simply superior to that of the other Unices, explaining why Linux succeeded. But that's an argument someone might make—although it does not account for the disparity in culture and personnel between Linux and other Unix kernels, which, to me, seem more important than code in understanding Linux's success. - -### The "Community" Put Its Support Behind Linux ### - -Stallman also wrote that "mainly the reason" for Linux's success was that "Torvalds made Linux free software, and since then more of the community's effort has gone into Linux than into the Hurd." That's not exactly a complete explanation for Linux's trajectory, since it does not account for why the community of free software developers followed Torvalds instead of HURD or another Unix. But it nonetheless highlights this shift as a large part of how Linux prevailed. - -A fuller account of the free software community's decision to endorse Linux would have to explain why developers did so even though, at first, Linux was a very obscure project—much more so, by any measure, than some of the other attempts at the time to create a freer Unix, such as NET BSD and 386/BSD—as well as one whose affinity with the goals of the free software movement was not at first clear. Originally, Torvalds released Linux under a license that simply prevented its commercial use. It was considerably later that he switched to the GNU General Public License, which protects the openness of source code. - -So, those are the explanations I've found for Linux's success as an open source operating system kernel—a success which, to be sure, has been measured in some respects (desktop Linux never became what its proponents hoped, for instance). But Linux has also become foundational to the computing world in ways that no other Unix-like OS has. Maybe Apple OS X and iOS, which derive from BSD, come close, but they don't play such a central role as Linux in powering the Internet, among other things. - -Have other ideas on why Linux became what it did, or why its counterparts in the Unix world have now almost all sunk into obscurity? (I know: BSD variants still have a following today, and some commercial Unices remain important enough for [Red Hat][8] (RHT) to be [courting their users][9]. But none of these Unix holdouts have conquered everything from Web servers to smartphones in the way Linux has.) I'd be delighted to hear them. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/050415/open-source-history-why-did-linux-succeed - -作者:[hristopher Tozzi][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://thevarguy.com/author/christopher-tozzi -[1]:http://gnu.org/ -[2]:http://www.gnu.org/software/hurd/history/hurd-announce -[3]:http://thevarguy.com/open-source-application-software-companies/042915/open-source-history-tracing-origins-hacker-culture-and-ha -[4]:http://thevarguy.com/open-source-application-software-companies/042715/unix-and-personal-computers-reinterpreting-origins-linux -[5]:http://thevarguy.com/open-source-application-software-companies/042015/30-years-hurd-lives-gnu-updates-open-source- -[6]:http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/ -[7]:https://groups.google.com/forum/#!topic/comp.os.minix/dlNtH7RRrGA[1-25] -[8]:http://www.redhat.com/ -[9]:http://thevarguy.com/open-source-application-software-companies/032614/red-hat-grants-certification-award-unix-linux-migration-a \ No newline at end of file diff --git a/sources/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md b/sources/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md deleted file mode 100644 index 4a602997ad..0000000000 --- a/sources/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md +++ /dev/null @@ -1,57 +0,0 @@ -Is Linux Better than OS X? GNU, Open Source and Apple in History -================================================================================ -> Tensions between the free software/open source community and Apple date back to the 1980s, Linux's founder called the core of Mac OS X "a piece of crap" and other anecdotes from software history. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/05/untitled_2.png) - -Open source fans have long had a rocky relationship with Microsoft. Everyone knows that. But, in many ways, the tension between Apple and supporters of free or open source software is even starker—even if it receives much less attention in the press. - -To be sure, not all open source advocates have an aversion to Apple. Anecdotally, I've seen plenty of Linux hackers sporting iPhones and iPads. In fact, some Linux users like Apple's OS X so much that they've [created a number of Linux distributions][1] designed to look just like it. (So has the [North Korean government][2], incidentally.) - -But relations between the Cult of Mac and the Cult of Tux—that is, the Linux community (not to mention the other, smaller segments of the free and open source software world)—have not always been completely peaceable. And that's by no means a new phenomenon, as I'm discovering as I research the history of Linux and the Free Software Foundation. - -### GNU vs. Apple ### - -The ill will dates to at least the late 1980s. By June 1988, [GNU][3], the project launched by Richard Stallman to build a completely free Unix-like operating system whose source code would be freely shared, was [strongly criticizing][4] Apple's lawsuit against [Hewlett-Packard][5] (HPQ) and [Microsoft][6] (MSFT) over what Apple claimed was improper copying of the "look and feel" of the Macintosh operating system. If Apple prevailed, GNU warned, the company "will use this new power over the public to put an end to free software that could substitute for commercial software." - -At the time, GNU fought against the lawsuit (which meant, ironically, that GNU was supporting Microsoft, though those were different times) by distributing "[Keep Your Lawyers Off My Computer" buttons][7]. It also urged GNU supporters to boycott Apple, warning that, even if Macintoshes seemed like good computers, Apple's success in the lawsuit could provide the company with a monopoly in the market that would greatly increase the price of computers. - -Apple eventually [lost the lawsuit][8], but not until 1994, after which GNU [dropped its Apple boycott][9]. In the interim, GNU remained critical of the company. In the early 1990s, even after it began promoting GNU software programs for use on other personal computing platforms, including MS-DOS PCs, [GNU affirmed][10] that, until Apple ceased pursuing a "monopoly" over computers with user interfaces similar to those of the Macintosh, "we will not provide any support for Apple machines." (It's therefore ironic that a fair amount of the software that made it into OS X, the Unix-like operating system that Apple introduced later in the 1990s, came from GNU. But that's another story.) - -### Torvalds on Jobs ### - -Despite his more laissez-faire attitude toward most issues, Linus Torvalds, the creator of the Linux kernel, was no less charitable in his attitudes toward Apple than Stallman and GNU had been. In his 2001 book "Just for Fun: The Story of an Accidental Revolutionary," Torvalds described meeting with Steve Jobs circa 1997, at the latter's invitation, to discuss Mac OS X, which Apple was then developing but had not yet released publicly. - -"Basically, Jobs started off by trying to tell me that on the desktop there were just two players, Microsoft and Apple, and that he thought that the best thing I could do for Linux was to get in bed with Apple and try to get the open source people behind Mac OS X," Torvalds wrote. - -This courting apparently turned Torvalds off quite a bit. One point of disagreement centered on Torvalds's technical disdain for Mach, the kernel on which Apple was then building its new OS X operating system, which Torvalds called "a piece of crap. It contains all the design mistakes you can make, and managed to even make up a few of its own." - -But more off-putting, apparently, was the way Jobs was approaching open source in developing OS X (which had many open source programs at its core): "He sort of played down the flaw in the setup: Who cares if the basic operating system, the real low-core stuff, is open source if you then have the Mac layer on top, which is not open source?" - -All in all, Torvalds concluded, Jobs "didn't use very many arguments. He just basically took it for granted that I would be interested" in collaborating with Apple. "He was clueless, unable to imagine that there could be entire segments of the human race who weren't the least bit concerned about increasing the Mac's market share. I think he was truly surprised at how little I cared about how big a market the Mac had—or how big a market Microsoft has." - -Torvalds doesn't speak for all Linux users, of course. And his views on OS X and Apple may have softened since 2001. But the fact that, in the early 2000s, the Linux community's leading figure exhibited so much disdain for Apple and the hubris of its chief says something significant about how deeply seated tensions between the Apple world and the open source/free software world are. - -Both of these historical tidbits offer insight into the great debate regarding the actual value of Apple's products—whether the company thrives on the quality of the hardware and software it creates, or merely benefits from exceptional marketing acumen that allows it to sell products for much more than their non-Apple functional equivalents are worth. But I'll stay out of that debate, for now. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/051815/linux-better-os-x-gnu-open-source-and-apple- - -作者:[Christopher Tozzi][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://thevarguy.com/author/christopher-tozzi -[1]:https://www.linux.com/news/software/applications/773516-the-mac-ifying-of-the-linux-desktop/ -[2]:http://thevarguy.com/open-source-application-software-companies/010615/north-koreas-red-star-linux-os-made-apples-image -[3]:http://gnu.org/ -[4]:https://www.gnu.org/bulletins/bull5.html -[5]:http://www.hp.com/ -[6]:http://www.microsoft.com/ -[7]:http://www.duntemann.com/AppleSnakeButton.jpg -[8]:http://www.freibrun.com/articles/articl12.htm -[9]:https://www.gnu.org/bulletins/bull18.html#SEC6 -[10]:https://www.gnu.org/bulletins/bull12.html \ No newline at end of file diff --git a/sources/talk/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md b/sources/talk/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md deleted file mode 100644 index 2b0318375b..0000000000 --- a/sources/talk/20150521 Will Ubuntu Linux Hit 200 Million Users This Year.md +++ /dev/null @@ -1,38 +0,0 @@ -Will Ubuntu Linux Hit 200 Million Users This Year? -================================================================================ -It's been four years and two weeks since Mark Shuttleworth expressed his goal of "200 million users of Ubuntu in 4 years." While Ubuntu's presence has continued to increase over the past four years, it doesn't look like that goal has been realized yet or will be by the end of the calendar year. - -It was back at [UDS Budapest][1] in May of 2011 when Shuttleworth expressed a goal of 200 million Ubuntu users in four years. - -![](http://www.phoronix.net/image.php?id=uds_budapest&image=budapest_phoronix_03_show&w=1920) - -Last I heard there was "tens of millions" of Ubuntu Linux users, but haven't seen any reliable reports anywhere of the Ubuntu user-base being close to 200 million. The latest monthly statistics from Valve show [the Linux gaming population being below 1%][2] compared to Windows and OS X. Most usage statistics based on web metrics and other data tend to put the total Linux user-base at just a few percent. - -Aside from desktop installations, Ubuntu at least has made substantial inroads with cloud and server deployments over the past four years and have proven to be a contender with Red Hat Enterprise Linux on such fronts. Ubuntu has also proven itself quite well on ARM hardware. When Mark was coming up with his goal in four years, he was probably thinking that Ubuntu Phone/Touch would be much further along than where it is now: just having one device available in the EU and [a second currently in China][3] and [the Ubuntu Touch software stack still maturing][4] with [major work on key apps still needed][5], etc. - -![](http://www.phoronix.net/image.php?id=0x2015&image=shuttleworth_200_million_show&w=1920) - -It's also been three years since the Canonical claim of [Ubuntu would soon ship on 5% of PCs][6]. The 5% claim was for worldwide PC shipments, but even three years later, I have a hard time believing that... At least in the US and Europe I still very rarely see Ubuntu preloads on systems within brick and mortar stores while the major Internet retailers / OEMs still tend to offer Linux on a few select PC models, sans Chrome OS / Android devices. - -Another lofty, unrelated goal that went unreached by the open-source community was [GNOME owning 10% of the global desktop market by 2010][7]. Five years later, there's no indication they're even close to reaching that 10x10 milestone. - -How large do you think the Ubuntu user-base is today? How large do you think the Ubuntu (or Linux) user-base will grow in the years to come? Share with us your thoughts by commenting on this article. - --------------------------------------------------------------------------------- - -via: http://www.phoronix.com/scan.php?page=news_item&px=2015-200-Million-Goal-Retro - -作者:[Michael Larabel][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://www.michaellarabel.com/ -[1]:http://www.phoronix.com/vr.php?view=16002 -[2]:http://www.phoronix.com/scan.php?page=news_item&px=Steam-April-2015-1-Drop -[3]:http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-MX4-In-China -[4]:http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Calculator-Reboot -[5]:http://www.phoronix.com/scan.php?page=news_item&px=MTgzOTM -[6]:http://www.phoronix.com/scan.php?page=news_item&px=MTA5ODM -[7]:https://www.phoronix.com/scan.php?page=news_item&px=Nzg1Mw \ No newline at end of file diff --git a/sources/tech/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md b/sources/tech/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md deleted file mode 100644 index 1aac09e11a..0000000000 --- a/sources/tech/20150119 Unity Greeter Badges Brings Missing Session Icons to Ubuntu Login Screen.md +++ /dev/null @@ -1,58 +0,0 @@ -‘Unity Greeter Badges’ Brings Missing Session Icons to Ubuntu Login Screen -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/unity-greeter-badges-750x321.jpg) - -**A new package available in Ubuntu 15.04 solves a petty gripe I have with the Unity Greeter: the lack of branded icons for alternative desktop sessions like Cinnamon.** - -I know it’s a minor quibble; it’s a visual paper cut with minimal impact for most. But the inconsistency niggles me because Ubuntu ships with icons for a number of sessions, including Unity, GNOME and KDE. Other DEs, including some of its own flavors like Xubuntu, default to showing a plain white dot in the session switcher list and the main user pod. - -The inconsistency these dots create jars, even if it is only for a fleeting moment, not just in design. It’s in usability too. Branded glyphs are helpful in letting us know what session we’re about to log in to. - -For instance, can you tell what session this is? - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/what-session-is-this-750x247.jpg) - -Budgie? Maybe MATE? Could be Cinnamon…I’d have to click on it and check first. - -It doesn’t have to be this way. The Unity Greeter is built such that the developers of desktop environments can ship badges that appear in the Greeter (and some do). But in many cases, like MATE whose packages are imported from upstream Debian, the inclination to carry an “Ubuntu-specific patch” is either not desirable or not possible. - -### A Solution Is Badged ### - -Experienced Debian maintainer [Doug Torrance][1] has a solution to fix this usability paper cut. Rather than rely on desktop makers themselves to add branded badges to their packages, and rather than burden Ubuntu with the responsibility of maintaining it, Torrance has created a separate ‘unity-greeter-badges’ package to house them. - -In assuming responsibility for providing the session glyphs directly, this package ensure that new and old window managers, session and desktops alike are catered for. - -Among the 30 or so desktop environments it bundles new session badges for are: - -- Xubuntu -- Cinnamon -- MATE -- Cairo-Dock -- Xmonad -- Awesome -- OpenBox -- Pantheon - -The best part is that ‘**Unity-Greeter-Badges**’ has been accepted into Ubuntu 15.04. That means Torrance’s package will be available to install directly, no PPAs or downloads needed. In not being part of a core package like the Unity Greeter it can be updated with newer icons in a more efficient and timely manner. - -If you’re running Ubuntu 15.04 you will find the package available to install from the Software Center in the coming days. - -Don’t want to wait until 15.04? Torrance has made .deb installers for Ubuntu 14.04 LTS and Ubuntu 14.10 users. - -- [Download unity-greeter-badges for Ubuntu 14.04][2] -- [Download unity-greeter-badges for Ubuntu 14.10][3] - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2015/01/unity-greeter-badges-brings-missing-session-icons-ubuntu-login-screen - -作者:[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]:https://launchpad.net/~profzoom -[2]:https://launchpad.net/~profzoom/+archive/ubuntu/misc/+files/unity-greeter-badges_0.1-0ubuntu1%7E201412111501%7Eubuntu14.04.1_all.deb -[3]:https://launchpad.net/~profzoom/+archive/ubuntu/misc/+files/unity-greeter-badges_0.1-0ubuntu1%7E201412111501%7Eubuntu14.10.1_all.deb \ No newline at end of file diff --git a/sources/tech/20150126 Installing Cisco Packet tracer in Linux.md b/sources/tech/20150126 Installing Cisco Packet tracer in Linux.md deleted file mode 100644 index 539a624e1f..0000000000 --- a/sources/tech/20150126 Installing Cisco Packet tracer in Linux.md +++ /dev/null @@ -1,199 +0,0 @@ -[Translating by DongShuaike] - -Installing Cisco Packet tracer in Linux -================================================================================ -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/Main_picture.png) - -### What is Cisco Packet tracer ? ### - -**Cisco Packet tracer** is a powerful network simulator tool which used to trained while we do some Cisco certifications. It provide us good Interface view for every router’s, and networking devices which with many options same as using the physical machines we can use unlimited devices in a network. We can create multiple network in single project to get trained like a professionals. packet tracer will provide us with simulated application layer protocols such as **HTTP**, **DNS**, Routing with **RIP**, **OSPF**, **EIGRP** etc. - -Now it has been released including **ASA 5505 firewall** with command line configurations. Packet tracer available commonly for Windows, but not for Linux distributions. Here we can download and get install Cisco package tracer. - -#### Newly released version of Cisco packet tracer: #### - -The next Cisco Packet Tracer version will be Cisco Packet Tracer 6.2 currently it’s under development. - -### My Environment Setup: ### - -**Hostname** : desktop1.unixmen.com - -**IP address** : 192.168.0.167 - -**Operating system** : Ubuntu 14.04 LTS Desktop - - # hostname - - # ifconfig | grep inet - - # lsb_release -a - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_001.png) - -### Step 1: First we need to download the Cisco Packet tracer. ### - -To download Packet Tracer from official website we need to have a token, sign into Cisco NetSpace and select CCNA > Cisco Packet Tracer from the Offerings menu to start the download. If we don’t have a token you can get from below link which i have uploaded in Dropbox. - -Official Website: [https://www.netacad.com/][1] - -Many of them don’t have a token to download packet tracer. For that i have uploaded it in dropbox you can get packet tracer from below URL. - -[Download Cisco Packet Tracer 6.1.1][2] - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_002.png) - -### Step 2: Install Java: ### - -To get install packet tracer we need to have install Java, To get install java we can use the default or add the PPA repository and update the package cache to get install java. - -Install the default jre using - - # sudo apt-get install default-jre - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_003.png) - -(or) - -Use the below step to get install Java Run-time and set the Environment. - -Download Java from official website : [Download Java][3] - - # tar -zxvf jre-8u31-linux-x64.tar.gz - - # sudo mkdir -p /usr/lib/jvm - - # sudo mv -v jre1.8.0_31 /usr/lib/jvm/ - - # cd /usr/lib/jvm/ - - # sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_31/bin/java" 1 - - # sudo update-alternatives --set "java" "/usr/lib/jvm/jre1.8.0_31/bin/java" - -Set the environment for java by editing the profile file and add the location. While we adding in profile file java will available for every user’s in our machine. - - # sudo vi /etc/profile - -Add the following entries to the bottom of your /etc/profile file: - - export JAVA_HOME=/usr/lib/jvm/jre1.8.0_31 - export PATH=$PATH:/usr/java/jre1.8.0_31/bin - -Run the below command to activate java path immediately. - - # . /etc/profile - -Check for the Java version and Environment: - - # echo $JAVA_HOME - - # java -version - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_004.png) - -### Step 3: Enable 32bit architecture support: ### - -For Packet tracer we need some of 32bit packages. To get install 32bit packages we need to install some of dependencies using below commands. - - # sudo dpkg --add-architecture i386 - # sudo apt-get update - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_005.png) - - # sudo apt-get install libc6:i386 - - # sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 - - # sudo apt-get install libnss3-1d:i386 libqt4-qt3support:i386 libssl1.0.0:i386 libqtwebkit4:i386 libqt4-scripttools:i386 - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_006.png) - -### Step 4: Extract and install the package: ### - -Extract the downloaded package using tar command. - - # mv Cisco\ Packet\ Tracer\ 6.1.1\ Linux.tar.gz\?dl\=0 Cisco_Packet_tracer.tar.gz - - # tar -zxvf Cisco_Packet_tracer.tar.gz - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_007.png) - -Navigate to the extracted directory - - # cd PacketTracer611Student - -Now it’s time to start the installation , Installation is very simple and just take few seconds. - - # sudo ./install - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_008.png) - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_009.png) - -To working with Package tracer we need to set the environment for that Cisco have provided the environment script, We need to run the script using root user to set the environment variable. - - # sudo ./set_ptenv.sh - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_010.png) - -That’s it for installation step’s. next we need to create a Desktop Icon for Packet tracer. - -Create the Desktop Icon by creating desktop file under. - - # sudo su - - # cd /usr/share/applications - - # sudo vim packettracer.desktop - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_011.png) - -Append the Below content to the file using vim editor or your favourite one. - - [Desktop Entry] - Name= Packettracer - Comment=Networking - GenericName=Cisco Packettracer - Exec=/opt/packettracer/packettracer - Icon=/usr/share/icons/packettracer.jpeg - StartupNotify=true - Terminal=false - Type=Application - -Save and quit using wq! - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_012.png) - -### Step 5: Run the packet tracer ### - - # sudo packettracer - -That’s it we have successfully installed the packet tracer in Linux, These above steps are suitable for every debian based Linux distributions. - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_013.png) - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/pkt_014.png) - -### Resources ### - -Home page:[Netacad][4] - -### Conclusion: ### - -Here we have seen how to install packet tracer in Linux distribution, Hope you have find a way to get install your favorite Simulator in Linux. - --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/installing-cisco-packet-tracer-linux/ - -作者:[babin][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/babin/ -[1]:https://www.netacad.com/ -[2]:https://www.dropbox.com/s/5evz8gyqqvq3o3v/Cisco%20Packet%20Tracer%206.1.1%20Linux.tar.gz?dl=0 -[3]:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html -[4]:https://www.netacad.com/ diff --git a/sources/tech/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md b/sources/tech/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md deleted file mode 100644 index 01a9dc18f9..0000000000 --- a/sources/tech/20150126 iptraf--A TCP or UDP Network Monitoring Utility.md +++ /dev/null @@ -1,66 +0,0 @@ -[Trnslating by DongShuaike] - -iptraf: A TCP/UDP Network Monitoring Utility -================================================================================ -[iptraf][1] is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others. - -Its ncurses-based user interface also saves users from remembering command line switches. - -### Features ### - -- An IP traffic monitor that shows information on the IP traffic passing over your network. Includes TCP flag information, packet and byte counts, ICMP details, OSPF packet types. -- General and detailed interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP packet counts, IP checksum errors, interface activity, packet size counts. -- A TCP and UDP service monitor showing counts of incoming and outgoing packets for common TCP and UDP application ports -- A LAN statistics module that discovers active hosts and shows statistics showing the data activity on them -- TCP, UDP, and other protocol display filters, allowing you to view only traffic you’re interested in. -- Logging -- Supports Ethernet, FDDI, ISDN, SLIP, PPP, and loopback interface types. -- Utilizes the built-in raw socket interface of the Linux kernel, allowing it to be used over a wide range of supported network cards. -- Full-screen, menu-driven operation. - -To install - -### Ubuntu and it’s derivatives ### - - sudo apt-get install iptraf - -### Arch Linux and Its derivatives ### - - sudo pacman -S iptra - -### Fedora and its derivatives ### - - sudo yum install iptraf - -### Usage ### - -If the **iptraf** command is issued without any command-line options, the program comes up in interactive mode, with the various facilities accessed through the main menu. - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/iptraf_1.png) - -Menu for easy navigation. - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/iptraf_2.png) - -Selecting interfaces to monitor. - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/iptraf_3.png) - -Traffic from interface **ppp0** - -![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/iptraf_4.png) - -Enjoy! - --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/iptraf-tcpudp-network-monitoring-utility/ - -作者:[Enock Seth Nyamador][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/seth/ -[1]:http://iptraf.seul.org/about.html diff --git a/sources/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md b/sources/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md deleted file mode 100644 index 29bb770e5d..0000000000 --- a/sources/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md +++ /dev/null @@ -1,270 +0,0 @@ -Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules -================================================================================ -For those of you in the hosting business, or if you’re hosting your own servers and exposing them to the Internet, securing your systems against attackers must be a high priority. - -mod_security (an open source intrusion detection and prevention engine for web applications that integrates seamlessly with the web server) and mod_evasive are two very important tools that can be used to protect a web server against brute force or (D)DoS attacks. - -mod_evasive, as its name suggests, provides evasive capabilities while under attack, acting as an umbrella that shields web servers from such threats. - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Install-Mod_Security-Mod_evasive-in-CentOS.jpg) -Install Mod_Security and Mod_Evasive to Protect Apache - -In this article we will discuss how to install, configure, and put them into play along with Apache on RHEL/CentOS 6 and 7 as well as Fedora 21-15. In addition, we will simulate attacks in order to verify that the server reacts accordingly. - -This assumes that you have a LAMP server installed on your system. If not, please check this article before proceeding further. - -- [Install LAMP stack in RHEL/CentOS 7][1] - -You will also need to setup iptables as the default [firewall][2] front-end instead of firewalld if you’re running RHEL/CentOS 7 or Fedora 21. We do this in order to use the same tool in both RHEL/CentOS 7/6 and Fedora 21. - -### Step 1: Installing Iptables Firewall on RHEL/CentOS 7 and Fedora 21 ### - -To begin, stop and disable firewalld: - - # systemctl stop firewalld - # systemctl disable firewalld - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Disable-Firewalld-Service.png) -Disable Firewalld Service - -Then install the iptables-services package before enabling iptables: - - # yum update && yum install iptables-services - # systemctl enable iptables - # systemctl start iptables - # systemctl status iptables - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Install-Iptables-Firewall.png) -Install Iptables Firewall - -### Step 2: Installing Mod_Security and Mod_evasive ### - -In addition to having a LAMP setup already in place, you will also have to [enable the EPEL repository][3] in RHEL/CentOS 7/6 in order to install both packages. Fedora users don’t need to enable any repo, because epel is a already part of Fedora project. - - # yum update && yum install mod_security mod_evasive - -When the installation is complete, you will find the configuration files for both tools in /etc/httpd/conf.d. - - # ls -l /etc/httpd/conf.d - -![](http://www.tecmint.com/wp-content/uploads/2012/06/mod_security-mod_evasive-Configurations.png) -mod_security + mod_evasive Configurations - -Now, in order to integrate these two modules with Apache and have it load them when it starts, make sure the following lines appear in the top level section of mod_evasive.conf and mod_security.conf, respectively: - - LoadModule evasive20_module modules/mod_evasive24.so - LoadModule security2_module modules/mod_security2.so - -Note that modules/mod_security2.so and modules/mod_evasive24.so are the relative paths, from the /etc/httpd directory to the source file of the module. You can verify this (and change it, if needed) by listing the contents of the /etc/httpd/modules directory: - - # cd /etc/httpd/modules - # pwd - # ls -l | grep -Ei '(evasive|security)' - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Verify-mod_security-mod_evasive-Modules.png) -Verify mod_security + mod_evasive Modules - -Then restart Apache and verify that it loads mod_evasive and mod_security: - - # service httpd restart [On RHEL/CentOS 6 and Fedora 20-18] - # systemctl restart httpd [On RHEL/CentOS 7 and Fedora 21] - ----------- - - [Dump a list of loaded Static and Shared Modules] - - # httpd -M | grep -Ei '(evasive|security)' - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Check-mod_security-mod_evasive-Loaded.png) -Check mod_security + mod_evasive Modules Loaded - -### Step 3: Installing A Core Rule Set and Configuring Mod_Security ### - -In few words, a Core Rule Set (aka CRS) provides the web server with instructions on how to behave under certain conditions. The developer firm of mod_security provide a free CRS called OWASP ([Open Web Application Security Project][4]) ModSecurity CRS that can be downloaded and installed as follows. - -1. Download the OWASP CRS to a directory created for that purpose. - - # mkdir /etc/httpd/crs-tecmint - # cd /etc/httpd/crs-tecmint - # wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Download-mod_security-Core-Rules.png) -Download mod_security Core Rules - -2. Untar the CRS file and change the name of the directory for one of our convenience. - - # tar xzf master - # mv SpiderLabs-owasp-modsecurity-crs-ebe8790 owasp-modsecurity-crs - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Extract-mod_security-Core-Rules.png) -Extract mod_security Core Rules - -3. Now it’s time to configure mod_security. Copy the sample file with rules (owasp-modsecurity-crs/modsecurity_crs_10_setup.conf.example) into another file without the .example extension: - - # cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf - -and tell Apache to use this file along with the module by inserting the following lines in the web server’s main configuration file /etc/httpd/conf/httpd.conf file. If you chose to unpack the tarball in another directory you will need to edit the paths following the Include directives: - - - Include crs-tecmint/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf - Include crs-tecmint/owasp-modsecurity-crs/base_rules/*.conf - - -Finally, it is recommended that we create our own configuration file within the /etc/httpd/modsecurity.d directory where we will place our customized directives (we will name it tecmint.conf in the following example) instead of modifying the CRS files directly. Doing so will allow for easier upgrading the CRSs as new versions are released. - - - SecRuleEngine On - SecRequestBodyAccess On - SecResponseBodyAccess On - SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream - SecDataDir /tmp - - -You can refer to the [SpiderLabs’ ModSecurity GitHub][5] repository for a complete explanatory guide of mod_security configuration directives. - -### Step 4: Configuring Mod_Evasive ### - -mod_evasive is configured using directives in /etc/httpd/conf.d/mod_evasive.conf. Since there are no rules to update during a package upgrade, we don’t need a separate file to add customized directives, as opposed to mod_security. - -The default mod_evasive.conf file has the following directives enabled (note that this file is heavily commented, so we have stripped out the comments to highlight the configuration directives below): - - - DOSHashTableSize 3097 - DOSPageCount 2 - DOSSiteCount 50 - DOSPageInterval 1 - DOSSiteInterval 1 - DOSBlockingPeriod 10 - - -Explanation of the directives: - -- DOSHashTableSize: This directive specifies the size of the hash table that is used to keep track of activity on a per-IP address basis. Increasing this number will provide a faster look up of the sites that the client has visited in the past, but may impact overall performance if it is set too high. -- DOSPageCount: Legitimate number of identical requests to a specific URI (for example, any file that is being served by Apache) that can be made by a visitor over the DOSPageInterval interval. -- DOSSiteCount: Similar to DOSPageCount, but refers to how many overall requests can be made to the entire site over the DOSSiteInterval interval. -- DOSBlockingPeriod: If a visitor exceeds the limits set by DOSSPageCount or DOSSiteCount, his source IP address will be blacklisted during the DOSBlockingPeriod amount of time. During DOSBlockingPeriod, any requests coming from that IP address will encounter a 403 Forbidden error. - -Feel free to experiment with these values so that your web server will be able to handle the required amount and type of traffic. - -**Only a small caveat**: if these values are not set properly, you run the risk of ending up blocking legitimate visitors. - -You may also want to consider other useful directives: - -#### DOSEmailNotify #### - -If you have a mail server up and running, you can send out warning messages via Apache. Note that you will need to grant the apache user SELinux permission to send emails if SELinux is set to enforcing. You can do so by running - - # setsebool -P httpd_can_sendmail 1 - -Next, add this directive in the mod_evasive.conf file with the rest of the other directives: - - DOSEmailNotify you@yourdomain.com - -If this value is set and your mail server is working properly, an email will be sent to the address specified whenever an IP address becomes blacklisted. - -#### DOSSystemCommand #### - -This needs a valid system command as argument, - - DOSSystemCommand - -This directive specifies a command to be executed whenever an IP address becomes blacklisted. It is often used in conjunction with a shell script that adds a firewall rule to block further connections coming from that IP address. - -**Write a shell script that handles IP blacklisting at the firewall level** - -When an IP address becomes blacklisted, we need to block future connections coming from it. We will use the following shell script that performs this job. Create a directory named scripts-tecmint (or whatever name of your choice) in /usr/local/bin and a file called ban_ip.sh in that directory. - - #!/bin/sh - # IP that will be blocked, as detected by mod_evasive - IP=$1 - # Full path to iptables - IPTABLES="/sbin/iptables" - # mod_evasive lock directory - MOD_EVASIVE_LOGDIR=/var/log/mod_evasive - # Add the following firewall rule (block all traffic coming from $IP) - $IPTABLES -I INPUT -s $IP -j DROP - # Remove lock file for future checks - rm -f "$MOD_EVASIVE_LOGDIR"/dos-"$IP" - -Our DOSSystemCommand directive should read as follows: - - DOSSystemCommand "sudo /usr/local/bin/scripts-tecmint/ban_ip.sh %s" - -In the line above, %s represents the offending IP as detected by mod_evasive. - -**Add the apache user to the sudoers file** - -Note that all of this just won’t work unless you to give permissions to user apache to run our script (and that script only!) without a terminal and password. As usual, you can just type visudo as root to access the /etc/sudoers file and then add the following 2 lines as shown in the image below: - - apache ALL=NOPASSWD: /usr/local/bin/scripts-tecmint/ban_ip.sh - Defaults:apache !requiretty - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Add-Apache-User-to-Sudoers.png) -Add Apache User to Sudoers - -**IMPORTANT**: As a default security policy, you can only run sudo in a terminal. Since in this case we need to use sudo without a tty, we have to comment out the line that is highlighted in the following image: - - #Defaults requiretty - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Disable-tty-for-Sudo.png) -Disable tty for Sudo - -Finally, restart the web server: - - # service httpd restart [On RHEL/CentOS 6 and Fedora 20-18] - # systemctl restart httpd [On RHEL/CentOS 7 and Fedora 21] - -### Step 4: Simulating an DDoS Attacks on Apache ### - -There are several tools that you can use to simulate an external attack on your server. You can just google for “tools for simulating ddos attacks” to find several of them. - -Note that you, and only you, will be held responsible for the results of your simulation. Do not even think of launching a simulated attack to a server that you’re not hosting within your own network. - -Should you want to do the same with a VPS that is hosted by someone else, you need to appropriately warn your hosting provider or ask permission for such a traffic flood to go through their networks. Tecmint.com is not, by any means, responsible for your acts! - -In addition, launching a simulated DoS attack from only one host does not represent a real life attack. To simulate such, you would need to target your server from several clients at the same time. - -Our test environment is composed of a CentOS 7 server [IP 192.168.0.17] and a Windows host from which we will launch the attack [IP 192.168.0.103]: - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Confirm-Host-IPAddress.png) -Confirm Host IPAddress - -Please play the video below and follow the steps outlined in the indicated order to simulate a simple DoS attack: - -注:youtube视频,发布的时候不行做个链接吧 - - -Then the offending IP is blocked by iptables: - -![](http://www.tecmint.com/wp-content/uploads/2012/06/Blocked-Attacker-IP.png) -Blocked Attacker IP - -### Conclusion ### - -With mod_security and mod_evasive enabled, the simulated attack causes the CPU and RAM to experiment a temporary usage peak for only a couple of seconds before the source IPs are blacklisted and blocked by the firewall. Without these tools, the simulation will surely knock down the server very fast and render it unusable during the duration of the attack. - -We would love to hear if you’re planning on using (or have used in the past) these tools. We always look forward to hearing from you, so don’t hesitate to leave your comments and questions, if any, using the form below. - -### Reference Links ### - -- [https://www.modsecurity.org/][6] -- [http://www.zdziarski.com/blog/?page_id=442][7] - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/ - -作者:[Gabriel Cánepa][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/gacanepa/ -[1]:http://www.tecmint.com/install-lamp-in-centos-7/ -[2]:http://www.tecmint.com/configure-firewalld-in-centos-7/ -[3]:http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/ -[4]:https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project -[5]:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Configuration_Directives -[6]:https://www.modsecurity.org/ -[7]:http://www.zdziarski.com/blog/?page_id=442 \ No newline at end of file diff --git a/sources/tech/20150316 How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool.md b/sources/tech/20150316 How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool.md index ee125e70a6..a0c77c21f9 100644 --- a/sources/tech/20150316 How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool.md +++ b/sources/tech/20150316 How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool.md @@ -1,5 +1,3 @@ -translating by createyuan - How to Test Your Internet Speed Bidirectionally from Command Line Using ‘Speedtest-CLI’ Tool ================================================================================ We always need to check the speed of the Internet connection at home and office. What we do for this? Go to websites like Speedtest.net and begin test. It loads JavaScript in the web browser and then select best server based upon ping and output the result. It also uses a Flash player to produce graphical results. diff --git a/sources/tech/20150318 How to Manage and Use LVM (Logical Volume Management) in Ubuntu.md b/sources/tech/20150318 How to Manage and Use LVM (Logical Volume Management) in Ubuntu.md index d062a85336..ecfb639d54 100644 --- a/sources/tech/20150318 How to Manage and Use LVM (Logical Volume Management) in Ubuntu.md +++ b/sources/tech/20150318 How to Manage and Use LVM (Logical Volume Management) in Ubuntu.md @@ -1,4 +1,3 @@ -translating by runningwater How to Manage and Use LVM (Logical Volume Management) in Ubuntu ================================================================================ ![](http://cdn5.howtogeek.com/wp-content/uploads/2011/02/652x202xbanner-1.png.pagespeed.ic.VGSxDeVS9P.png) diff --git a/sources/tech/20150318 How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots.md b/sources/tech/20150318 How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots.md index 7554abd392..883c5e3203 100644 --- a/sources/tech/20150318 How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots.md +++ b/sources/tech/20150318 How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots.md @@ -1,3 +1,4 @@ + How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots ================================================================================ ![](http://cdn5.howtogeek.com/wp-content/uploads/2015/03/ximg_55035707bbd74.png.pagespeed.ic.9_yebxUF1C.png) diff --git a/sources/tech/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md b/sources/tech/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md deleted file mode 100644 index 9878cc8cee..0000000000 --- a/sources/tech/20150324 7 Quirky' ls' Command Tricks Every Linux User Should Know.md +++ /dev/null @@ -1,163 +0,0 @@ -7 Quirky ‘ls’ Command Tricks Every Linux User Should Know -================================================================================ -We have covered most of the things on ‘ls‘ command in last two articles of our Interview series. This article is the last part of the ‘ls command‘ series. If you have not gone through last two articles of this series you may visit the links below. - -注:以下三篇都做过源文,看看翻译了没有,如果发布了可适当改链接地址 -- [15 Basic ‘ls’ Command Examples in Linux][] -- [15 Interview Questions on Linux “ls” Command – Part 1][] -- [10 Useful ‘ls’ Command Interview Questions – Part 2][] - -![7 Quirky ls Command Tricks](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-tricks.jpg) -7 Quirky ls Command Tricks - -### 1. List the contents of a directory with time using various time styles. ### - -To list the contents of a directory with times using style, we need to choose any of the below two methods. - - # ls -l –time-style=[STYLE] (Method A) - -**Note** – The above switch (`--time` style must be run with switch `-l`, else it won’t serve the purpose). - - # ls –full-time (Method B) - -Replace `[STYLE]` with any of the below option. - - full-iso - long-iso - iso - locale - +%H:%M:%S:%D - -**Note** – In the above line H(Hour), M(Minute), S(Second), D(Date) can be used in any order. - -Moreover you just choose those relevant and not all options. E.g., `ls -l --time-style=+%H` will show only hour. - -`ls -l --time-style=+%H:%M:%D` will show Hour, Minute and date. - - # ls -l --time-style=full-iso - -![ls Command Full Time Style](http://www.tecmint.com/wp-content/uploads/2015/03/ls-Command-Full-Time-Style.gif) -ls Command Full Time Style - - # ls -l --time-style=long-iso - -![Long Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Long-Time-Listing-Format.gif) -Long Time Style Listing - - # ls -l --time-style=iso - -![Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Local-Time-Style-Listing.gif) -Time Style Listing - - # ls -l --time-style=locale - -![Locale Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Hour-Mintue-Time-Style-Listing.gif) -Locale Time Style Listing - - # ls -l --time-style=+%H:%M:%S:%D - -![Date and Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Time-Style-Listing.gif) -Date and Time Style Listing - - # ls --full-time - -![Full Style Time Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Style-Time-Listing.gif) - -Full Style Time Listing - -### 2. Output the contents of a directory in various formats such as separated by commas, horizontal, long, vertical, across, etc. ### - -Contents of directory can be listed using ls command in various format as suggested below. - -- across -- comma -- horizontal -- long -- single-column -- verbose -- vertical - - # ls –-format=across - # ls --format=comma - # ls --format=horizontal - # ls --format=long - # ls --format=single-column - # ls --format=verbose - # ls --format=vertical - -![Listing Formats of ls Command](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-Listing-Formats.gif) -Listing Formats of ls Command - -### 3. Use ls command to append indicators like (/=@|) in output to the contents of the directory. ### - -The option `-p` with ‘ls‘ command will server the purpose. It will append one of the above indicator, based upon the type of file. - - # ls -p - -![Append Indicators to Content](http://www.tecmint.com/wp-content/uploads/2015/03/Append-Indicators.gif) -Append Indicators to Content - -### 4. Sort the contents of directory on the basis of extension, size, time and version. ### - -We can use options like `--extension` to sort the output by extension, size by extension `--size`, time by using extension `-t` and version using extension `-v`. - -Also we can use option `--none` which will output in general way without any sorting in actual. - - # ls --sort=extension - # ls --sort=size - # ls --sort=time - # ls --sort=version - # ls --sort=none - -![Sort Listing of Content by Options](http://www.tecmint.com/wp-content/uploads/2015/03/Sort-Content-by-Extensions.gif) -Sort Listing of Content by Options - -### 5. Print numeric UID and GID for every contents of a directory using ls command. ### - -The above scenario can be achieved using flag -n (Numeric-uid-gid) along with ls command. - - # ls -n - -![Print Listing of Content by UID and GID](http://www.tecmint.com/wp-content/uploads/2015/03/Print-UID-GID-of-Contents.gif) -Print Listing of Content by UID and GID - -### 6. Print the contents of a directory on standard output in more columns than specified by default. ### - -Well ls command output the contents of a directory according to the size of the screen automatically. - -We can however manually assign the value of screen width and control number of columns appearing. It can be done using switch ‘`--width`‘. - - # ls --width 80 - # ls --width 100 - # ls --width 150 - -![List Content Based on Window Sizes](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-By-More-Column.gif) -List Content Based on Window Sizes - -**Note**: You can experiment what value you should pass with width flag. - -### 7. Include manual tab size at the contents of directory listed by ls command instead of default 8. ### - - # ls --tabsize=[value] - -![List Content by Table Size](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-by-Table-Size.gif) -List Content by Table Size - -**Note**: Specify the `[Value]=` Numeric value. - -That’s all for now. Stay tuned to Tecmint till we come up with next article. Do not forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/linux-ls-command-tricks/ - -作者:[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]:http://www.tecmint.com/15-basic-ls-command-examples-in-linux/ -[2]:http://www.tecmint.com/ls-command-interview-questions/ -[3]:http://www.tecmint.com/ls-interview-questions/ \ No newline at end of file diff --git a/sources/tech/20150331 How to set up remote desktop on Linux VPS using x2go.md b/sources/tech/20150331 How to set up remote desktop on Linux VPS using x2go.md index 8b3eed8330..d89c91832e 100644 --- a/sources/tech/20150331 How to set up remote desktop on Linux VPS using x2go.md +++ b/sources/tech/20150331 How to set up remote desktop on Linux VPS using x2go.md @@ -1,5 +1,3 @@ -translating by createyuan - How to set up remote desktop on Linux VPS using x2go ================================================================================ As everything is moved to the cloud, virtualized remote desktop becomes increasingly popular in the industry as a way to enhance employee's productivity. Especially for those who need to roam constantly across multiple locations and devices, remote desktop allows them to stay connected seamlessly to their work environment. Remote desktop is attractive for employers as well, achieving increased agility and flexibility in work environments, lower IT cost due to hardware consolidation, desktop security hardening, and so on. diff --git a/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md b/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md index f736d8bae1..d291f34511 100644 --- a/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md +++ b/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md @@ -1,4 +1,3 @@ -wangjiezhe translating... 7 Command Line Tools for Browsing Websites and Downloading Files in Linux ================================================================================ In the last article, we have covered few useful tools like ‘rTorrent‘, ‘wget‘, ‘cURL‘, ‘w3m‘, and ‘Elinks‘. We got lots of response to cover few other tools of same genre, if you’ve missed the first part you can go through it.. diff --git a/sources/tech/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md b/sources/tech/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md deleted file mode 100644 index 179aa139bd..0000000000 --- a/sources/tech/20150427 15 Things to Do After Installing Ubuntu 15.04 Desktop.md +++ /dev/null @@ -1,299 +0,0 @@ -Translating by ZTinoZ -15 Things to Do After Installing Ubuntu 15.04 Desktop -================================================================================ -This tutorial is intended for beginners and covers some basic steps on what to do after you have installed Ubuntu 15.04 “Vivid Vervet” Desktop version on your computer in order to customize the system and install basic programs for daily usage. - -![Things to Do After Installing Ubuntu 15.04](http://www.tecmint.com/wp-content/uploads/2015/04/things-to-do-after-installing-ubuntu-15.04.jpeg) -15 Things to Do After Installing Ubuntu 15.04 - -### 1. Enable Ubuntu Extra Repositories and Update the System ### - -The first thing you should take care of after a fresh installation of Ubuntu is to enable Ubuntu Extra Repositories provided by official Canonical Partners and keep an up-to-date system with the last security patches and software updates. - -In order to accomplish this step, open from the left Launcher System Settings -> Software and Updates utility and check all Ubuntu Software and Other Software (Canonical Partners) repositories. After you finish hit the Close button and wait for the utility to Reload the cache sources tree. - -![Software Updates](http://www.tecmint.com/wp-content/uploads/2015/04/Software-Updates.jpg) -Software Updates - -![Other Software (Canonical Partners)](http://www.tecmint.com/wp-content/uploads/2015/04/Other-Software.jpg) -Other Software (Canonical Partners) - -For a fast and smooth update process, open a Terminal and issue the following command in order to update the system using the new software repositories: - - $ sudo apt-get update - $ sudo apt-get upgrade - -![Ubuntu Upgrade](http://www.tecmint.com/wp-content/uploads/2015/04/Ubuntu-Upgrade.jpg) -Ubuntu Upgrade - -### 2. Install Additional Drivers ### - -In order for the system to scan and install additional hardware proprietary drivers, open Software and Updates utility from System Settings, go to Additional Drivers tab and wait for the utility to scan for drivers. - -If some drivers matching your hardware are found, check the drivers you want to install and hit the Apply Changes button to install it. In case the proprietary drivers are not working as expected, uninstall them using the Revert button or check Do not use the device and Apply Changes. - -![Install Drivers in Ubuntu](http://www.tecmint.com/wp-content/uploads/2015/04/install-drivers.jpg) -Install Drivers - -### 3. Install Synaptic and Gdebi Package Tools ### - -Besides Ubuntu Software Center, Synaptic is a Graphical utility for apt command line through which you can manage repositories or install, remove, search, upgrade and configure software packages. Similar way, Gdebi has the same functionality for local .deb packages. To install this two package managers on your system issue the following command on Terminal: - - $ sudo apt-get install synaptic gdebi - -![Install Synaptic and Gdebi](http://www.tecmint.com/wp-content/uploads/2015/04/install-synaptic-gdebi.jpg) -Install Synaptic and Gdebi - -![Synaptic Package Manager](http://www.tecmint.com/wp-content/uploads/2015/04/synaptic-package-manager.jpg) -Synaptic Package Manager - -### 4. Change System Appearance and Behavior ### - -If you want to change Desktop Background or Launcher Icon Size, open System Settings –> Appearance –> Look and personalize the desktop. To move the menu to window title bar, enable workspaces and desktop icons or auto-hide the Launcher visit Behavior tab. - -![System Appearances](http://www.tecmint.com/wp-content/uploads/2015/04/system-appearance.jpg) -System Appearances - -### 5. Improve System Security and Privacy ### - -![System Security Enhancement](http://www.tecmint.com/wp-content/uploads/2015/04/system-security-1.jpg) -System Security Enhancement - -![System Security Options](http://www.tecmint.com/wp-content/uploads/2015/04/system-security-2.jpg) -System Security Options - -### 5. Disable Unneeded Startup Applications ### - -To improve system login speed, reveal hidden Startup Applications by issuing the below command on Terminal, open Startup Applications utility by searching it in Dash and uncheck the unneeded applications during login process. - - $ sudo sed -i ‘s/NoDisplay=true/NoDisplay=false/g’ /etc/xdg/autostart/*.desktop - -![Disable Unwanted Applications](http://www.tecmint.com/wp-content/uploads/2015/04/disable-unwanted-applications.jpg) -Disable Unwanted Applications - -### 6. Add Extended Multimedia Support ### - -By default, Ubuntu comes with a minimal support for media files. In order to play various media formats or manipulate video files, install the following multimedia applications: - -- VLC -- Smplayer -- Audacious -- QMMP -- Mixxx -- XBMC -- Handbrake -- Openshot - -Use the following command line to install all with one shot: - - $ sudo apt-get install vlc smplayer audacious qmmp mixxx xbmc handbrake openshot - -![Install Media Players](http://www.tecmint.com/wp-content/uploads/2015/04/install-media-players.jpg) -Install Media Players - -![Media Player Playlist](http://www.tecmint.com/wp-content/uploads/2015/04/media-playllist.jpg) -Media Player Playlist - -Besides this multimedia players also install ubuntu-restricted-extras and Java support packages in order to decode and support other restricted media formats. - - $ sudo apt-get install ubuntu-restricted-extras openjdk-8-jdk - -![Install Ubuntu Extras](http://www.tecmint.com/wp-content/uploads/2015/04/install-ubuntu-extras.jpg) -Install Ubuntu Extras - -To enable DVD Playback and other multimedia codecs issue the following command on Terminal: - - $ sudo apt-get install ffmpeg gstreamer0.10-plugins-bad lame libavcodec-extra - $ sudo /usr/share/doc/libdvdread4/install-css.sh - -![Enable Video Codes](http://www.tecmint.com/wp-content/uploads/2015/04/enable-video-playbacks.jpg) -Enable Video Codes - -### 7. Install Image Applications ### - -If you are a photography enthusiast and you want to handle and manipulate images on Ubuntu, probably you want to install the following imaging programs: - -- GIMP (alternative for Adobe Photoshop) -- Darktable -- Rawtherapee -- Pinta -- Shotwell -- Inkscape (alternative for Adobe Illustrator) -- Digikam -- Cheese - -This applications can be installed from Ubuntu Software Center or all at once by using the following command line on Terminal: - - $ sudo apt-get install gimp gimp-plugin-registry gimp-data-extras darktable rawtherapee pinta shotwell inkscape - -![Install Image Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-image-applications.jpg) -Install Image Applications - -![Rawtherapee Tool](http://www.tecmint.com/wp-content/uploads/2015/04/rawtherapee.jpg) -Rawtherapee Tool - -### 8. Install Media Burners ### - -To mount ISO images or burn a CDs or a DVD, you can choose and install from the following software: - -- Brasero Disk Burner -- K3b -- Xfburn -- Furius ISO Mount - - $ sudo apt-get install brasero - $ sudo apt-get install k3b - $ sudo apt-get install xfburn - $ sudo apt-get install furiusisomount - -![Install Media Burners](http://www.tecmint.com/wp-content/uploads/2015/04/install-media-burners.jpg) -Install Media Burners - -### 9. Install Archive Applications ### - -To handle most of archive formatted files (zip, tar.gz, zip, 7zip rar etc) install the following packages by issuing the below command: - - $ sudo apt-get install unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack arj cabextract file-roller - -![Install Archive Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-archive-apps.jpg) -Install Archive Applications - -### 10. Install Chat Application ### - -If you want to talk to people all over the world, here is a list of the most popular chat applications for Linux: - -- Pidgin -- Skype -- Xchat -- Telegram -- aMSN -- Viber - -You can install most of them from Ubuntu Software Center or by using the command line: - - $ sudo apt-get install pidgin - $ sudo apt-get install skype - $ sudo apt-get install xchat - $ sudo apt-get install amsn - $ sudo add-apt-repository ppa:atareao/telegram -y - $ sudo apt-get update - $ sudo apt-get install telegram - -![Install Chat Applications](http://www.tecmint.com/wp-content/uploads/2015/04/install-chat-apps.jpg) -Install Chat Applications - -To install Viber application on Ubuntu visit [Viber official webpage][1], download the Debian package locally and install the viber.deb application using Gdebi package manager (left click – > Open with -> GDebi Package Installer). - -![Install Viber in Ubuntu](http://www.tecmint.com/wp-content/uploads/2015/04/install-viber.jpg) -Install Viber - -### 11. Install Torrent Software ### - -The most popular torrent applications and peer-to-peer file sharing programs for Ubuntu are: - -- Deluge -- Transmission -- Qbittorrent -- LinuxDC++ - -To install your favorite peer-to-peer file sharing application on Ubuntu issue the following command on Terminal. - - $ sudo apt-get install deluge - $ sudo apt-get install transmission - $ sudo apt-get install qbittorrent - $ sudo apt-get install linuxdcpp - -![Install Torrent](http://www.tecmint.com/wp-content/uploads/2015/04/install-torrent.jpg) -Install Torrent - -### 12. Install Windows Emulator -Wine and Gaming Support – Steam ### - -Wine emulator allows you to install and run Windows applications on Linux. On the other hand, Steam is a popular gaming platform for Linux based systems developed by Valve. To install both of them on your machine issue the following command on Terminal or use Ubuntu Software Center. - - $ sudo apt-get install steam wine winetricks - -![Install Wine](http://www.tecmint.com/wp-content/uploads/2015/04/install-wine.jpg) -Install Wine - -### 13. Install Cairo-Dock and Enable Desktop Visual Effects ### - -Cairo-Dock is a beautiful and flexible launcher bar for Linux desktops similar to the Mac OS X dock. To install it on Ubuntu, run the following command on Terminal. - - $ sudo apt-get install cairo-dock cairo-dock-plug-ins - -![Install Cairo Dock](http://www.tecmint.com/wp-content/uploads/2015/04/install-cairo-dock.jpg) -Install Cairo Dock - -![Add Cairo Dock at Startup](http://www.tecmint.com/wp-content/uploads/2015/04/add-cairo-dock-startup.jpg) -Add Cairo Dock at Startup - -To enable a set of Desktop Effects, such as Cube effect, install Compiz package with the following command: - - $ sudo apt-get install compiz compizconfig-settings-manager compiz-plugins-extra - -To activate the Desktop Cube effect, search for ccsm on Dash, open CompizConfig Settings Manager, go to General Options – > Desktop Size and set Horizontal Virtual Size value to 4 and Vertical Virtual Size to 1. Then go back and check Desktop Cube (Disable Desktop Wall) and Rotate Cube boxes (Resolve Conflicts ->Disable Switch to Viewport 1) and press Ctrl+Alt+Left Mouse Click to view the cube effect. - -![Enable Compiz](http://www.tecmint.com/wp-content/uploads/2015/04/enable-compiz.jpg) -Enable Compiz - -![Compiz Settings](http://www.tecmint.com/wp-content/uploads/2015/04/compiz-settings.jpg) -Compiz Settings - -![Compiz Settings Addons](http://www.tecmint.com/wp-content/uploads/2015/04/compiz-settings-1.jpg) -Compiz Settings Addons - -![Desktop Window Rotating](http://www.tecmint.com/wp-content/uploads/2015/04/desktop-cube.jpg) -Desktop Window Rotating - -### 14. Add Extra Browser Support ### - -Ubuntu 15.04 comes by default with Mozilla Firefox Web Browser. To install other browsers such as Google Chrome or Opera, visit their official web pages, download the provided .deb packages and install them on your system using the Gdebi Package Installer. - -![Enable Browser Support](http://www.tecmint.com/wp-content/uploads/2015/04/enable-browser-support.jpg) -Enable Browser Support - -![Opera Browser Support](http://www.tecmint.com/wp-content/uploads/2015/04/opera.jpg) -Opera Browser Support - -To install Chromium Open Source browser issue the following command on Terminal. - - $ sudo apt-get install chromium-browser - -### 15. Install Tweak Tools ### - -Want extra applications for customizing Ubuntu? Then install Unity Tweak Tool and Gnome Tweak Tool by issuing the following commands on Terminal. - - $ sudo apt-get install unity-tweak-tool gnome-tweak-tool - -![Install Tweak Tool](http://www.tecmint.com/wp-content/uploads/2015/04/install-tweak-tool.jpg) -Install Tweak Tool - -![Tweak Tool Settings](http://www.tecmint.com/wp-content/uploads/2015/04/tweak-settings.jpg) -Tweak Tool Settings - -Another interesting tweak tool is represented by the Ubuntu Tweak package which can be obtained and installed by visiting the webpage: [http://ubuntu-tweak.com/][2]. - -![Tweak Tool: System Information](http://www.tecmint.com/wp-content/uploads/2015/04/tweak-system-info.jpg) -Tweak Tool: System Information - -After you have installed all this bunch of software, you might want to clean your system in order to free some space on the hard drive, by issuing the following commands: - - $ sudo apt-get -y autoremove - $ sudo apt-get -y autoclean - $ sudo apt-get -y clean - -This are just a few tweaks and programs that an average user might install and use on Ubuntu 15.04 Desktop for daily basic utilization. For more advanced programs, features and utilities use Ubuntu Software Center or consult Ubuntu Wiki webpage. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/things-to-do-after-installing-ubuntu-15-04-desktop/ - -作者:[Matei Cezar][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/cezarmatei/ -[1]:http://www.viber.com/en/products/linux -[2]:http://ubuntu-tweak.com/ diff --git a/sources/tech/20150504 How to access a Linux server behind NAT via reverse SSH tunnel.md b/sources/tech/20150504 How to access a Linux server behind NAT via reverse SSH tunnel.md index d6a1df43c5..b67f5aee26 100644 --- a/sources/tech/20150504 How to access a Linux server behind NAT via reverse SSH tunnel.md +++ b/sources/tech/20150504 How to access a Linux server behind NAT via reverse SSH tunnel.md @@ -1,5 +1,3 @@ -translating by createyuan - How to access a Linux server behind NAT via reverse SSH tunnel ================================================================================ You are running a Linux server at home, which is behind a NAT router or restrictive firewall. Now you want to SSH to the home server while you are away from home. How would you set that up? SSH port forwarding will certainly be an option. However, port forwarding can become tricky if you are dealing with multiple nested NAT environment. Besides, it can be interfered with under various ISP-specific conditions, such as restrictive ISP firewalls which block forwarded ports, or carrier-grade NAT which shares IPv4 addresses among users. diff --git a/sources/tech/20150515 Install 'Tails 1.4′ Linux Operating System to Preserve Privacy and Anonymity.md b/sources/tech/20150515 Install 'Tails 1.4′ Linux Operating System to Preserve Privacy and Anonymity.md index 8d0d5ccbdf..5731cd69f4 100644 --- a/sources/tech/20150515 Install 'Tails 1.4′ Linux Operating System to Preserve Privacy and Anonymity.md +++ b/sources/tech/20150515 Install 'Tails 1.4′ Linux Operating System to Preserve Privacy and Anonymity.md @@ -1,3 +1,5 @@ +FSSlc translating + Install ‘Tails 1.4′ Linux Operating System to Preserve Privacy and Anonymity ================================================================================ In this Internet world and the world of Internet we perform most of our task online be it Ticket booking, Money transfer, Studies, Business, Entertainment, Social Networking and what not. We spend a major part of our time online daily. It has been getting hard to remain anonymous with each passing day specially when backdoors are being planted by organizations like NSA (National Security Agency) who are putting their nose in between every thing that we come across online. We have least or no privacy online. All the searches are logged upon the basis of user Internet surfing activity and machine activity. @@ -176,4 +178,4 @@ via: http://www.tecmint.com/install-tails-1-4-linux-operating-system-to-preserve [5]:https://tails.boum.org/download/index.en.html#verify [6]:http://www.tecmint.com/install-linux-from-usb-device/ [7]:https://tails.boum.org/doc/index.en.html -[8]:http://www.tecmint.com/install-virtualbox-on-redhat-centos-fedora/ \ No newline at end of file +[8]:http://www.tecmint.com/install-virtualbox-on-redhat-centos-fedora/ diff --git a/sources/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md b/sources/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md deleted file mode 100644 index 16795b92e8..0000000000 --- a/sources/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md +++ /dev/null @@ -1,195 +0,0 @@ -translating by wwy-hust - -10 Amazing and Mysterious Uses of (!) Symbol or Operator in Linux Commands -================================================================================ -The `'!'` symbol or operator in Linux can be used as Logical Negation operator as well as to fetch commands from history with tweaks or to run previously run command with modification. All the commands below have been checked explicitly in bash Shell. Though I have not checked but a major of these won’t run in other shell. Here we go into the amazing and mysterious uses of `'!'` symbol or operator in Linux commands. - -### 1. Run a command from history by command number. ### - -You might not be aware of the fact that you can run a command from your history command (already/earlier executed commands). To get started first find the command number by running ‘history‘ command. - - $ history - -![Find Last Executed Commands with History Command](http://www.tecmint.com/wp-content/uploads/2015/05/history-Command.gif) - -Now run a command from history just by the number at which it appears, in the output of history. Say run a command that appears at number 1551 in the output of ‘history‘ command. - - $ !1551 - -![Run Last Executed Commands by Number ID](http://www.tecmint.com/wp-content/uploads/2015/05/Run-Commands-By-number.gif) - -And, it runs the command ([top command][1] in the above case), that was listed at number 1551. This way to retrieving already executed command is very helpful specially in case of those commands which are long. You just need to call it using **![Number at which it appears in the output of history command]**. - -### 2. Run previously executed command as 2nd last command, 7th last command,etc. ### - -You may run those commands which you have run previously by their running sequence being the last run command will be represented as -1, second last as -2, seventh last as -7,…. - -First run history command to get a list of last executed command. It is necessary to run history command, so that you can be sure that there is no command like `rm command > file` and others just to make sure you do not run any dangerous command accidentally. And then check Sixth last command, Eight last command and Tenth last command. - - $ history - $ !-6 - $ !-8 - $ !-10 - -![Run Last Executed Commands By Numbers](http://www.tecmint.com/wp-content/uploads/2015/05/3.gif) -Run Last Executed Commands By Numbers - -### 3. Pass arguments of last command that we run to the new command without retyping ### - -I need to list the content of directory ‘/home/$USER/Binary/firefox‘ so I fired. - - $ ls /home/$USER/Binary/firefox - -Then I realized that I should have fired ‘ls -l‘ to see which file is executable there? So should I type the whole command again! No I don’t need. I just need to carry the last argument to this new command as: - - $ ls -l !$ - -Here `!$` will carry arguments passed in last command to this new command. - -![Pass Arguments of Last Executed Command to New](http://www.tecmint.com/wp-content/uploads/2015/05/4.gif) -Pass Arguments of Last Executed Command to New - -### 4. How to handle two or more arguments using (!) ### - -Let’s say I created a text file 1.txt on the Desktop. - - $ touch /home/avi/Desktop/1.txt - -and then copy it to ‘/home/avi/Downloads‘ using complete path on either side with cp command. - - $ cp /home/avi/Desktop/1.txt /home/avi/downloads - -Now we have passed two arguments with cp command. First is ‘/home/avi/Desktop/1.txt‘ and second is ‘/home/avi/Downloads‘, lets handle them differently, just execute `echo [arguments]` to print both arguments differently. - - $ echo “1st Argument is : !^” - $ echo “2nd Argument is : !cp:2” - -Note 1st argument can be printed as `“!^”` and rest of the arguments can be printed by executing `“![Name_of_Command]:[Number_of_argument]”`. - -In the above example the first command was ‘cp‘ and 2nd argument was needed to print. Hence `“!cp:2”`, if any command say xyz is run with 5 arguments and you need to get 4th argument, you may use `“!xyz:4”`, and use it as you like. All the arguments can be accessed by `“!*”`. - -![Handle Two or More Arguments](http://www.tecmint.com/wp-content/uploads/2015/05/5.gif) -Handle Two or More Arguments - -### 5. Execute last command on the basis of keywords ### - -We can execute the last executed command on the basis of keywords. We can understand it as follows: - - $ ls /home > /dev/null [Command 1] - $ ls -l /home/avi/Desktop > /dev/null [Command 2] - $ ls -la /home/avi/Downloads > /dev/null [Command 3] - $ ls -lA /usr/bin > /dev/null [Command 4] - -Here we have used same command (ls) but with different switches and for different folders. Moreover we have sent to output of each command to ‘/dev/null‘ as we are not going to deal with the output of the command also the console remains clean. - -Now Execute last run command on the basis of keywords. - - $ ! ls [Command 1] - $ ! ls -l [Command 2] - $ ! ls -la [Command 3] - $ ! ls -lA [Command 4] - -Check the output and you will be astonished that you are running already executed commands just by `ls` keywords. - -![Run Commands Based on Keywords](http://www.tecmint.com/wp-content/uploads/2015/05/6.gif) -Run Commands Based on Keywords - -### 6. The power of !! Operator ### - -You can run/alter your last run command using `(!!)`. It will call the last run command with alter/tweak in the current command. Lets show you the scenario - -Last day I run a one-liner script to get my private IP so I run, - - $ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ - -Then suddenly I figured out that I need to redirect the output of the above script to a file ip.txt, so what should I do? Should I retype the whole command again and redirect the output to a file? Well an easy solution is to use `UP` navigation key and add `'> ip.txt'` to redirect the output to a file as. - - $ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ > ip.txt - -Thanks to the life Savior `UP` navigation key here. Now consider the below condition, the next time I run below one-liner script. - - $ ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: - -As soon as I run script, the bash prompt returned an error with the message `“bash: ifconfig: command not found”`, It was not difficult for me to guess I run this command as user where it should be run as root. - -So what’s the solution? It is difficult to login to root and then type the whole command again! Also (UP Navigation Key) in last example didn’t came to rescue here. So? We need to call `“!!”` without quotes, which will call the last command for that user. - - $ su -c “!!” root - -Here su is switch user which is root, `-c` is to run the specific command as the user and the most important part `!!` will be replaced by command and last run command will be substituted here. Yeah! You need to provide root password. - -![The Power of !! Key](http://www.tecmint.com/wp-content/uploads/2015/05/7.gif) -The Power of !! Key - -I make use of `!!` mostly in following scenarios, - -1. When I run apt-get command as normal user, I usually get an error saying you don’t have permission to execute. - - $ apt-get upgrade && apt-get dist-upgrade - -Opps error…don’t worry execute below command to get it successful.. - - $ su -c !! - -Same way I do for, - - $ service apache2 start - or - $ /etc/init.d/apache2 start - or - $ systemctl start apache2 - -OOPS User not authorized to carry such task, so I run.. - - $ su -c 'service apache2 start' - or - $ su -c '/etc/init.d/apache2 start' - or - $ su -c 'systemctl start apache2' - -### 7. Run a command that affects all the file except ![FILE_NAME] ### - -The `!` (Logical NOT) can be used to run the command on all the files/extension except that is behind `'!'`. - -A. Remove all the files from a directory except the one the name of which is 2.txt. - - $ rm !(2.txt) - -B. Remove all the file type from the folder except the one the extension of which is ‘pdf‘. - - $ $ rm !(*.pdf) - -### 8. Check if a directory (say /home/avi/Tecmint)exist or not? Printf if the said directory exist or not. ### - -Here we will use `'! -d'` to validate if the directory exist or not followed by Logical AND Operator `(&&)` to print that directory does not exist and Logical OR Operator `(||)` to print the directory is present. - -Logic is, when the output of `[ ! -d /home/avi/Tecmint ]` is 0, it will execute what lies beyond Logical AND else it will go to Logical OR `(||)` and execute what lies beyond Logical OR. - - $ [ ! -d /home/avi/Tecmint ] && printf '\nno such /home/avi/Tecmint directory exist\n' || printf '\n/home/avi/Tecmint directory exist\n' - -### 9. Check if a directory exist or not? If not exit the command. ### - -Similar to the above condition, but here if the desired directory doesn’t exist it will exit the command. - - $ [ ! -d /home/avi/Tecmint ] && exit - -### 10. Create a directory (say test) in your home directory if it does not exist. ### - -A general implementation in Scripting Language where if the desired directory does not exist, it will create one. - - [ ! -d /home/avi/Tecmint ] && mkdir /home/avi/Tecmint - -That’s all for now. If you know or come across any other use of `'!'` which is worth knowing, you may like to provide us with your suggestion in the feedback. Keep connected! - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/mysterious-uses-of-symbol-or-operator-in-linux-commands/ - -作者:[Avishek Kumar][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://www.tecmint.com/author/avishek/ -[1]:http://www.tecmint.com/12-top-command-examples-in-linux/ diff --git a/sources/tech/20150520 How to Use Docker Machine with a Cloud Provider.md b/sources/tech/20150520 How to Use Docker Machine with a Cloud Provider.md deleted file mode 100644 index 1539b4e751..0000000000 --- a/sources/tech/20150520 How to Use Docker Machine with a Cloud Provider.md +++ /dev/null @@ -1,149 +0,0 @@ -Translating by goreliu ... - -How to Use Docker Machine with a Cloud Provider -================================================================================ -Hi everyone, today we'll learn how we can use Docker Machine to deploy Docker host in various Cloud Provider Platforms. Docker Machine is an application that helps to create Docker hosts on our computer, on cloud providers and inside our own data center. It provides easy solution for creating servers, installing Docker on them and then configuring the Docker client according the users configuration and requirements. The driver APIs works for provisioning Docker on a local machine, on a virtual machine in the data center, or on a public cloud instance. Docker Machine is supported on Windows, OSX, and Linux and is available for installation as one standalone binary. It enables us to take full advantage of ecosystem partners providing Docker-ready infrastructure, while still accessing everything through the same interface. It makes people able to deploy the docker containers in the respective cloud platform pretty fast and in pretty easy way with just a single command. - -### 1. Installing Docker Machine ### - -Docker Machine supports awesome on every Linux Operating System. First of all, we'll need to download the latest version of Docker Machine from the Github site . Here, we'll use curl to download the latest version of Docker Machine ie 0.2.0 . - -For 64 Bit Operating System - - # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine - -For 32 Bit Operating System - - # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine - -After downloading the latest release of Docker Machine, we'll make the file named docker-machine under /usr/local/bin/ executable using the command below. - - # chmod +x /usr/local/bin/docker-machine - -After doing the above, we'll wanna ensure that we have successfully installed docker-machine. To check it, we can run the docker-machine -v which will give output of the version of docker-machine installed in our system. - - # docker-machine -v - -![Installing Docker Machine](http://blog.linoxide.com/wp-content/uploads/2015/05/installing-docker-machine.png) - -To enable Docker commands on our machines, make sure to install the Docker client as well by running the command below. - - # curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker - # chmod +x /usr/local/bin/docker - -### 2. Creating Machine ### - -After finish installing Docker Machine in our Linux box, we'll wanna deploy a docker host into the cloud server. Docker Machine includes drivers for several popular Cloud Platforms such as Digital Ocean, Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing and many other which enables us to create same interface of docker deployment in different platforms. So, here in this tutorial we'll gonna deploy the Docker Host into the Digital Ocean server using digitalocean driver API. Here, we'll need to run command docker-machine create followed by --driver flag as digitalocean with --digitalocean-access-token flag as the API Token provided by the [Digital Ocean Control Panel][1] and at last the name of the docker host we just created. To do so, we'll need to run the following command as. - - # docker-machine create --driver digitalocean --digitalocean-access-token linux-dev - - # eval "$(docker-machine env linux-dev)" - -![Docker Machine Digitalocean Cloud](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-digitalocean-cloud.png) - -**Note**: Here, linux-dev is the name of the machine we are wanting to create. is a security key which can be generated from the Digital Ocean Control Panel of the account holder of Digital Ocean Cloud Platform. To retrieve that key, we simply need to login to our Digital Ocean Control Panel then click on API, then click on Generate New Token and give it a name tick on both Read and Write. Then we'll get a long hex key, thats the now, simply replace it into the command above. - -After running the above command, we can see in our Digital Ocean Droplet Panel that a droplet has been created with default configuration. - -![DigitalOcean Droplet Panel](http://blog.linoxide.com/wp-content/uploads/2015/05/digitalocean-droplet-panel.png) - -For ease and convenience, docker-machine deploys the droplet with default configuration choosing setting such as images that the VPS is based on we can override the default configuration as our need. We can do that by simply adding the flags respective to our need and requirement of the Droplet. Here are some flags for digitalocean that we can add to override the default configuration of the Docker Machine. - - --digitalocean-image "ubuntu-14-04-x64" for Choosing Droplet Image - --digitalocean-ipv6 enable to enable IPv6 Networking - --digitalocean-private-networking enable to enable Private Networking - --digitalocean-region "nyc3" to choose Region to deploy the Droplet - --digitalocean-size "512mb" to select the RAM size and type of deployment. - -If you are wanting to use docker-machine with other cloud providers and need to override the default configuration, we can run following command to get the list of flags for every platforms supported by Docker Machine by default. - - # docker-machine create -h - -### 3. Selecting Active Host ### - -After deploying the droplet, we wanna run a docker container straight away but before that, we'll need to check whether the active host is the required machine or not. To see that, we can run the following command. - - # docker-machine ls - -![Docker Machine List](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-ls.png) - -The active host can be identified by "*" in the ACTIVE column. - -Now, if we need to switch the active host to the required machine, we can simply run the following command. - - # docker-machine active linux-dev - -**Note**: Here, linux-dev is the Machine name that we are wanting to make as ACTIVE and run Docker Container on top of it. - -### 4. Running a Docker Container ### - -Now, after selecting our active host, we'll wanna finally run a docker container out of the box. Now, to give it a test, we'll run a busybox container out of it by running docker run busybox command with echo hello world so that we can get the output of the container. - - # docker run busybox echo hello world - -Note: If you are trying to deploy a docker container using a 32 Bit Operating System running in the host, its good idea to use SSH to run the docker commands. So, you can simply skip this step and follow the SSH step. - -### 5. SSH with Docker Machine ### - -If we want to control over the machine or the droplet that we just deployed with Docker Machine, we can ssh into the server using docker-machine ssh as command. - - # docker-machine ssh - -![Docker Machine SSH](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-ssh.png) - -Now, after ssh into the machine, we can run any docker containers into it. Here we'll run an nginx server into it. - - # docker run -itd -p 80:80 nginx - -After finishing up with SSH, we need to run exit to exit from the droplet or server. - - # exit - -### 5. Removing Hosts ### - -In order to remove the active host and all its images, containers, we can use docker-machine rm command as shown below. - - # docker-machine rm linux-dev - -![Docker Machine Remove All](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-remove-machine.png) - -To check whether the host has been removed or not, we can run docker-machine ls command. - - # docker-machine ls - -![Docker Machine Remove Check](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-remove-check.png) - -### 6. Adding a host without a driver ### - -We can add a host to Docker which only has a URL and no driver. It can be used an alias for an existing host, so we don’t have to type out the URL every time we run a Docker command. - - $ docker-machine create --url=tcp://104.131.50.36:2376 custombox - -### 7. Managing the Hosts ### - -If you are finished working with the running docker, we can simply run **docker-machine stop** command to stop the whole hosts which are Active and if wanna start again, we can run **docker-machine start**. - - # docker-machine stop - # docker-machine start - -You can also specify a machine name to stop or start using the host name as an argument. - - $ docker-machine stop linux-dev - $ docker-machine start linux-dev - -### Conclusion ### - -Docker Machine is really and awesome tool for deploying servers with Docker Container running. In this article we demostrated with Digital Ocean Platform but there are other platforms also available like Amazon Web Service, Google Cloud Computing and more which is supported by Docker Machine and includes driver APIs of them. It has made easy for fast and secure deployment of Docker Containers into several different Platforms with Docker Machine. As Docker Machine is still under Beta, so it is recommended not to use docker-machine in production. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-) - --------------------------------------------------------------------------------- - -via: http://linoxide.com/linux-how-to/use-docker-machine-cloud-provider/ - -作者:[Arun Pyasi][a] -译者:[goreliu](https://github.com/goreliu) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:http://linoxide.com/author/arunp/ -[1]:https://cloud.digitalocean.com/settings/applications \ No newline at end of file diff --git a/sources/tech/20150526 20 Useful Terminal Emulators for Linux.md b/sources/tech/20150526 20 Useful Terminal Emulators for Linux.md new file mode 100644 index 0000000000..436b28f79f --- /dev/null +++ b/sources/tech/20150526 20 Useful Terminal Emulators for Linux.md @@ -0,0 +1,301 @@ +Translating by ZTinoZ +20 Useful Terminal Emulators for Linux +================================================================================ +A Terminal emulator is a computer program that reproduces a video terminal within some other display structure. In other words the Terminal emulator has an ability to make a dumb machine appear like a client computer networked to the server. The terminal emulator allows an end user to access console as well as its applications such as text user interface and command line interface. + +![Linux Terminal Emulators](http://www.tecmint.com/wp-content/uploads/2014/01/Linux-Terminal-Emulators1.jpeg) + +20 Linux Terminal Emulators + +You may find huge number of terminal emulators to choose from this open source world. Some of them offers large range of features while others offers less features. To give a better understanding to the quality of software that are available, we have gathered a list of marvelous terminal emulator for Linux. Each title provides its description and feature along with screenshot of the software with relevant download link. + +### 1. Terminator ### + +Terminator is an advanced and powerful terminal emulator which supports multiple terminals windows. This emulator is fully customizable. You can change the size, colour, give different shapes to the terminal. Its very user friendly and fun to use. + +#### Features of Terminator #### + +- Customize your profiles and colour schemes, set the size to fit your needs. +- Use plugins to get even more functionality. +- Several key-shortcuts are available to speed up common activities. +- Split the terminal window into several virtual terminals and re-size them as needed. + +![Terminator Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Terminator-Emulator.jpeg) + +Terminator Terminal + +- [Terminator Homepage][1] +- [Download and Installation Instructions][2] + +### 2. Tilda ### + +Tilda is a stylish drop-down terminal based on GTK+. With the help of a single key press you can launch a new or hide Tilda window. However, you can add colors of your choice to change the look of the text and Terminal background. + +#### Features of Tilda #### + + Interface with Highly customization option. + You can set the transparency level for Tilda window. + Excellent built-in colour schemes. + +![Tilda Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Tilda-Emulator.jpeg) + +Tilda Terminal + +- [Tilda Homepage][3] + +### 3. Guake ### + +Guake is a python based drop-down terminal created for the GNOME Desktop Environment. It is invoked by pressing a single keystroke, and can make it hidden by pressing same keystroke again. Its design was determined from FPS (First Person Shooter) games such as Quake and one of its main target is be easy to reach. + +Guake is very much similar to Yakuaka and Tilda, but it’s an experiment to mix the best of them into a single GTK-based program. Guake has been written in python from scratch using a little piece in C (global hotkeys stuff). + +![Guake Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Guake-Terminal.jpeg) + +Guake Terminal + +- [Guake Homepage][4] + +### 4. Yakuake ### + +Yakuake (Yet Another Kuake) is a KDE based drop-down terminal emulator very much similar to Guake terminal emulator in functionality. It’s design was inspired from fps consoles games such as Quake. + +Yakuake is basically a KDE application, which can be easily installed on KDE desktop, but if you try to install Yakuake in GNOME desktop, it will prompt you to install huge number of dependency packages. + +#### Yakuake Features #### + +- Fluently turn down from the top of your screen +- Tabbed interface +- Configurable dimensions and animation speed +- Customizable + +![Yakuake Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Yakuake-Terminal.jpeg) + +Yakuake Terminal + +- [Yakuake Homepage][5] + +### 5. ROXTerm ### + +ROXterm is yet another lightweight terminal emulator designed to provide similar features to gnome-terminal. It was originally constructed to have lesser footprints and faster start-up time by not using the Gnome libraries and by using a independent applet to bring the configuration interface (GUI), but over the time it’s role has shifted to bringing a higher range of features for power users. + +However, it is more customizable than gnome-terminal and anticipated more at “power” users who make excessive use of terminals. It is easily integrated with GNOME desktop environment and provides features like drag & drop of items into terminal. + +![Roxterm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Roxterm-Terminal.jpeg) + +Roxterm Terminal + +- [ROXTerm Homepage][6] + +### 6. Eterm ### + +Eterm is a lightest color terminal emulator designed as a replacement for xterm. It is developed with a Freedom of Choice ideology, leaving as much power, flexibility, and freedom as workable in the hands of the user. + +![Eterm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Eterm-Terminal.jpeg) + +Eterm Terminal + +- [Eterm Homepage][7] + +### 7. Rxvt ### + +Rxvt stands for extended virtual terminal is a color terminal emulator application for Linux intended as an xterm replacement for power users who don’t need to have a feature such as Tektronix 4014 emulation and toolkit-style configurability. + +![Rxvt Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Rxvt-Terminal.jpeg) + +Rxvt Terminal + +- [Rxvt Homepage][8] + +### 8. Wterm ### + +Wterm is a another light weight color terminal emulator based on rxvt project. It includes features such as background images, transparency, reverse transparency and an considerable set or runtime options are accessible resulting in a very high customizable terminal emulator. + +![wterm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/wterm-Terminal-.jpeg) + +wterm Terminal + +- [Wterm Homepage][9] + +### 9. LXTerminal ### + +LXTerminal is a default VTE-based terminal emulator for LXDE (Lightweight X Desktop Environment) without any unnecessary dependency. The terminal has got some nice features such as. +LXTerminal Features + +- Multiple tabs support +- Supports common commands like cp, cd, dir, mkdir, mvdir. +- Feature to hide the menu bar for saving space +- Change the color scheme. + +![lxterminal Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/lxterminal-Terminal.jpeg) + +lxterminal Terminal + +- [LXTerminal Homepage][10] + +### 10. Konsole ### + +Konsole is yet another powerful KDE based free terminal emulator was originally created by Lars Doelle. +Konsole Features + +- Multiple Tabbed terminals. +- Translucent backgrounds. +- Support for Split-view mode. +- Directory and SSH bookmarking. +- Customizable color schemes. +- Customizable key bindings. +- Notification alerts about activity in a terminal. +- Incremental search +- Support for Dolphin file manager +- Export of output in plain text or HTML format. + +![Konsole Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Konsole-Terminal.jpeg) + +Konsole Terminal + +- [Konsole Homepage][11] + +### 11. TermKit ### + +TermKit is a elegant terminal that aims to construct aspects of the GUI with the command line based application using WebKit rendering engine mostly used in web browsers like Google Chrome and Chromium. TermKit is originally designed for Mac and Windows, but due to TermKit fork by Floby which you can now able to install it under Linux based distributions and experience the power of TermKit. + +![TermKit Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/TermKit-Terminal.jpeg) + +TermKit Terminal + +- [TermKit Homepage][12] + +12. st + +st is a simple terminal implementation for X Window. + +![st terminal](http://www.tecmint.com/wp-content/uploads/2014/01/st-terminal.png) + +st terminal + +- [st Homepage][13] + +### 13. Gnome-Terminal ### + +GNOME terminal is a built-in terminal emulator for GNOME desktop environment developed by Havoc Pennington and others. It allow users to run commands using a real Linux shell while remaining on the on the GNOME environment. GNOME Terminal emulates the xterm terminal emulator and brings a few similar features. + +The Gnome terminal supports multiple profiles, where users can able to create multiple profiles for his/her account and can customize configuration options such as fonts, colors, background image, behavior, etc. per account and define a name to each profile. It also supports mouse events, url detection, multiple tabs, etc. + +![Gnome Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Gnome-terminal.jpg) + +Gnome Terminal + +- [Gnome Terminal][14] + +### 14. Final Term ### + +Final Term is a open source stylish terminal emulator that has some exciting capabilities and handy features into one single beautiful interface. It is still under development, but provides significant features such as Semantic text menus, Smart command completion, GUI terminal controls, Omnipotent keybindings, Color support and many more. The following animated screen grab demonstrates some of their features. Please click on image to view demo. + +![FinalTerm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/FinalTerm.gif) + +FinalTerm Terminal + +- [Final Term][15] + +### 15. Terminology ### + +Terminology is yet another new modern terminal emulator created for the Enlightenment desktop, but also can be used in different desktop environments. It has some awesome unique features, which do not have in any other terminal emulator. + +Apart features, terminology offers even more things that you wouldn’t assume from a other terminal emulators, like preview thumbnails of images, videos and documents, it also allows you to see those files directly from Terminology. + +You can watch a following demonstrations video created by the Terminology developer (the video quality isn’t clear, but still it’s enough to get the idea about Terminology). + + + +- [Terminology][16] + +### 16. Xfce4 terminal ### + +Xfce terminal is a lightweight modern and easy to use terminal emulator specially designed for Xfce desktop environment. The latest release of xfce terminal has some new cool features such as search dialog, tab color changer, drop-down console like Guake or Yakuake and many more. + +![Xfce Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/xfce-terminal.jpg) + +Xfce Terminal + +- [Xfce4 Terminal][17] + +### 17. xterm ### + +The xterm application is a standard terminal emulator for the X Window System. It maintain DEC VT102 and Tektronix 4014 compatible terminals for applications that can’t use the window system directly. + +![xterm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/xterm.jpg) + +xterm Terminal + +- [xterm][18] + +### 18. LilyTerm ### + +The LilyTerm is a another less known open source terminal emulator based off of libvte that desire to be fast and lightweight. LilyTerm also include some key features such as: + +- Support for tabbing, coloring and reordering tabs +- Ability to manage tabs through keybindings +- Support for background transparency and saturation. +- Support for user specific profile creation. +- Several customization options for profiles. +- Extensive UTF-8 support. + +![Lilyterm Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/Lilyterm.jpg) + +Lilyterm Terminal + +- [LilyTerm][19] + +### 19. Sakura ### + +The sakura is a another less known Unix style terminal emulator developed for command line purpose as well as text-based terminal programs. Sakura is based on GTK and livte and provides not more advanced features but some customization options such as multiple tab support, custom text color, font and background images, speedy command processing and few more. + +![Sakura Terminal](http://www.tecmint.com/wp-content/uploads/2014/01/sakura.jpg) + +Sakura Terminal + +- [Sakura][20] + +### 20. rxvt-unicode ### + +The rxvt-unicode (also known as urxvt) is a yet another highly customizable, lightweight and fast terminal emulator with xft and unicode support was developed by Marc Lehmann. It got some outstanding features such as support for international language via Unicode, the ability to display multiple font types and support for Perl extensions. + +![rxvt unicode](http://www.tecmint.com/wp-content/uploads/2014/01/rxvt-unicode.png) + +rxvt unicode + +- [rxvt-unicode][21] + +If you know any other capable Linux terminal emulators that I’ve not included in the above list, please do share with me using our comment section. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/linux-terminal-emulators/ + +作者:[Ravi Saive][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/admin/ +[1]:https://launchpad.net/terminator +[2]:http://www.tecmint.com/terminator-a-linux-terminal-emulator-to-manage-multiple-terminal-windows/ +[3]:http://tilda.sourceforge.net/tildaabout.php +[4]:https://github.com/Guake/guake +[5]:http://extragear.kde.org/apps/yakuake/ +[6]:http://roxterm.sourceforge.net/index.php?page=index&lang=en +[7]:http://www.eterm.org/ +[8]:http://sourceforge.net/projects/rxvt/ +[9]:http://sourceforge.net/projects/wterm/ +[10]:http://wiki.lxde.org/en/LXTerminal +[11]:http://konsole.kde.org/ +[12]:https://github.com/unconed/TermKit +[13]:http://st.suckless.org/ +[14]:https://help.gnome.org/users/gnome-terminal/stable/ +[15]:http://finalterm.org/ +[16]:http://www.enlightenment.org/p.php?p=about/terminology +[17]:http://docs.xfce.org/apps/terminal/start +[18]:http://invisible-island.net/xterm/ +[19]:http://lilyterm.luna.com.tw/ +[20]:https://launchpad.net/sakura +[21]:http://software.schmorp.de/pkg/rxvt-unicode diff --git a/sources/tech/20150527 How to Create Own Online Shopping Store Using 'OpenCart' in Linux.md b/sources/tech/20150527 How to Create Own Online Shopping Store Using 'OpenCart' in Linux.md new file mode 100644 index 0000000000..ad673a03e0 --- /dev/null +++ b/sources/tech/20150527 How to Create Own Online Shopping Store Using 'OpenCart' in Linux.md @@ -0,0 +1,225 @@ +How to Create Own Online Shopping Store Using “OpenCart” in Linux +================================================================================ +In the Internet world we are doing everything using a computer. Electronic Commerce aka e-commerce is one one of them. E-Commerce is nothing new and it started in the early days of ARPANET, where ARPANET used to arrange sale between students of Massachusetts Institute of Technology and Stanford Artificial Intelligence Laboratory. + +These days there are some 100’s of E-Commerce site viz., Flipcart, eBay, Alibaba, Zappos, IndiaMART, Amazon, etc. Have you thought of making your own Amazon and Flipcart like web-based Application Server? If yes! This article is for you. + +Opencart is a free and open source E-Commerce Application written in PHP, which can be used to develop a shopping cart system similar to Amazon and Flipcart. If you want to sell your products online or want to serve your customers even when you are closed Opencart is for you. You can build a successful online store (for online merchants) using reliable and professional Opencart Application. + +### OpenCart Web Panel Demo ### + +- Store Front – [http://demo.opencart.com/][1] +- Admin Login – [http://demo.opencart.com/admin/][2] + + ------------------ Admin Login ------------------ + Username: demo + Password: demo + +#### Features of Opencart #### + +Opencart is an application that meets all the requirements of an online merchant. It has all the features (see below) using which you can make your own E-Commerce Website. + +- It is a Free (as in beer) and Open Source (as in speech) Application released under GNU GPL License. +- Everything is well documented, means you don’t need to Google and shout for help. +- Free Life time support and updates. +- Unlimited number of categories, Products and manufacturer supported. +- Everything is Template based. +- Multi-Language and Multi-Currency Supported. It ensures your product gets a global reach. +- Built-in Product Review and Rating Features. +- Downloadable Products (viz., ebook) supported. +- Automatic Image Resizing supported. +- Features like Multi tax Rates (as in various country), Viewing Related Products, Information Page, Shipping Weight Calculation, Availing Discount Coupons, etc are well implemented by default. +- Built-in Backup and Restore tools. +- Well implemented SEO. +- Invoice Printing, Error Log and sales report are supported as well. + +#### System Requirements #### + +- Web Server (Apache HTTP Server Preferred) +- PHP (5.2 and above). +- Database (MySQLi Preferred but I am using MariaDB). + +#### Required PHP Libraries and Modules #### + +These extensions must be installed and enabled on your system to install Opencart properly on the web server. + +- Curl +- Zip +- Zlib +- GD Library +- Mcrypt +- Mbstrings + +### Step 1: Installing Apache, PHP and MariaDB ### + +1. As I said, OpenCart requires certain technical requirements such as Apache, PHP with extensions and Database (MySQL or MariaDB) to be installed on the system, in order to run Opencart properly. + +Let’s install Apache, PHP and MariaDB using following Command. + +**Install Apache** + + # apt-get install apache2 (On Debian based Systems) + # yum install httpd (On RedHat based Systems) + +**Install PHP and Extensions** + + # apt-get install php5 libapache2-mod-php5 php5-curl php5-mcrypt (On Debian based Systems) + # yum install php php-mysql php5-curl php5-mcrypt (On RedHat based Systems) + +**Install MariaDB** + + # apt-get install mariadb-server mariadb-client (On Debian based Systems) + # yum install mariadb-server mariadb (On RedHat based Systems) + +2. After installing all the above required things, you can start the Apache and MariaDB services using following commands. + + ------------------- On Debian based Systems ------------------- + # systemctl restart apache2.service + # systemctl restart mariadb.service + +---------- + + ------------------- On RedHat based Systems ------------------- + # systemctl restart httpd.service + # systemctl restart mariadb.service + +### Step 2: Downloading and Setting OpenCart ### + +3. The most recent version of OpenCart (2.0.2.0) can be obtained from [OpenCart website][3] or directly from github. + +Alternatively, you may use following wget command to download the latest version of OpenCart directly from github repository as shown below. + + # wget https://github.com/opencart/opencart/archive/master.zip + +4. After downloading zip file, copy to Apache Working directory (i.e. /var/www/html) and unzip the master.zip file. + + # cp master.zip /var/www/html/ + # cd /var/www/html + # unzip master.zip + +5. After extracting ‘master.zip‘ file, cd to extracted directory and move the content of upload directory to the root of the application folder (opencart-master). + + # cd opencart-master + # mv -v upload/* ../opencart-master/ + +6. Now you need to rename or copy OpenCart configuration files as shown below. + + # cp /var/www/html/opencart-master/admin/config-dist.php /var/www/html/opencart-master/admin/config.php + # cp /var/www/html/opencart-master/config-dist.php /var/www/html/opencart-master/config.php + +7. Next, set correct Permissions to the files and folders of /var/www/html/opencart-master. You need to provide RWX permission to all the files and folders there, recursively. + + # chmod 777 -R /var/www/html/opencart-master + +**Important**: Setting permission 777 may be dangerous, so as soon as you finish setting up everything, revert back to permission 755 recursively on the above folder. + +### Step 3: Creating OpenCart Database ### + +8. Next step is to create a database (say opencartdb) for the E-Commerce site to store data on the database. Connect to databaser server and create a database, user and grant correct privileges on the user to have full control over the database. + + # mysql -u root -p + CREATE DATABASE opencartdb; + CREATE USER 'opencartuser'@'localhost' IDENTIFIED BY 'mypassword'; + GRANT ALL PRIVILEDGES ON opencartdb.* TO 'opencartuser'@'localhost' IDENTIFIED by 'mypassword'; + +### Step 4: OpenCart Web Installation ### + +9. Once everything set correctly, navigate to the web browser and type `http://` to access the OpenCart web installation. + +Click ‘CONTINUE‘ to Agree the License Agreement. + +![Accept OpenCart License](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart-License.png) + +Accept OpenCart License + +10. The next screen is Pre-installation Server Setup Check, to see that the server has all the required modules are installed properly and have correct permission on the OpenCart files. + +If any red marks are highlighted on #1 or #2, that means you need to install those components properly on the server to meet web server requirements. + +If there are any red marks on #3 or #4, that means there is issue with your files. If everything is correctly configured you should see all green marks are visible (as seen below), you may press “Continue“. + +![Server Requirement Check](http://www.tecmint.com/wp-content/uploads/2015/05/Server-Checkup.png) + +Server Requirement Check + +11. On the next screen enter your Database Credentials like Database Driver, Hostname, User-name, Password, database. You should not touch db_port and Prefix, until and unless you know what you are doing. + +Also Enter User_name, Password and Email Address for Administrative account. Note these credentials will be used for logging in to Opencart Admin Panel as root, so keep it safe. Click continue when done! + +![OpenCart Database Details](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart-Database.png) + +OpenCart Database Details + +12. The next screen shows message like “Installation Complete” with the Tag Line Ready to Start Selling. Also it warns to delete the installation directory, as everything required to setup using this directory has been accomplished. + +![OpenCart Installation Completes](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart-Installation-Completes.png) + +OpenCart Installation Completes + +To Remove install directory, you may like to run the below command. + + # rm -rf /var/www/html/opencart-master/install + +### Step 4: Access OpenCart Web and Admin ### + +13. Now point your browser to `http:///opencart-master/` and you would see something like the below screenshot. + +![OpenCart Product Showcase](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart.jpg) + +OpenCart Product Showcase + +14. In order to login to Opencart Admin Panel, point your browser to http:///opencart-master/admin and fill the Admin Credentials you input, while setting it up. + +![OpenCart Admin Login](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart-Admin-Login.png) + +OpenCart Admin Login + +15. If everything ok! You should be able to see the Admin Dashboard of Opencart. + +![OpenCart Dashboard](http://www.tecmint.com/wp-content/uploads/2015/05/OpenCart-Dashboard.png) + +OpenCart Dashboard + +Here in Admin Dashboard you may set up a lots of options like categories, product, options, Manufacturers, Downloads, Review, Information, Extension Installer, Shipping, Payment options, order totals, gift voucher, Paypal, Coupons, Affiliates, marketing, mails, Design and Settings, Error logs, in-built analytics and what not. + +#### What after testing the tools? #### + +If you have already tested the Application and finds it customizable, flexible, Rock Solid, Easy to maintain and use, you may need a good hosting provider to host OpenCart application, that remains live 24X7 support. Though there are a lot of options for hosting providers we recommend Hostgator. + +Hostgator is a Domain Registrant and Hosting Provider that is very well known for the service and feature it provides. It Provides you with UNLIMITED Disk Space, UNLIMITED Bandwidth, Easy to install (1-click install script), 99.9% Uptime, Award winning 24x7x365 Technical Support and 45 days money back guarantee, which means if you didn’t like the product and service you get your money back within 45 days of purchasing and mind it 45 days is a long time to Test. + +So if you have something to sell you can do it for free (by free I mean, Think of the cost you would spend on getting a physical store and then compare it with virtual store setting-up cost. You will feel its free). + +**Note**: When you buy hosting (and/or Domain) from Hostgator you will get a **Flat 25% OFF**. This offer is valid only for the readers of Tecmint Site. + +All you have to do is to Enter Promocode “**TecMint025**” during the payment of hosting. For reference see the preview of payment screen with promo code. + +![Hostgator 25% Discount - TecMint025](http://www.tecmint.com/wp-content/uploads/2015/05/Hostgator-Discount-Code.png) + +[Sign up for Hostgator][4] (Coupon code: TecMint025) + +**Note**: Also worth mentioning, that for each hosting you buy from Hostgator to host OpenCart, we will get a small amount of commission, just to keep Tecmint Live (by Paying Bandwidth and hosting charges of server). + +So If you buy it using the above code, you get discount and we will get a small amount. Also note that you won’t pay anything extra, infact you will be paying 25% less on total bill. + +### Conclusion ### + +OpenCart is an application that performs out-of-the box. It is easy to install and you have the option to choose best suited templates, add your products and you become an online merchant. + +A lots of community made extensions(free and paid) makes it rich. It is a wonderful application for those who want to setup a virtual store and remain accessible to their customer 24X7. Let me know yours experience with the application. Any suggestion and feedback is welcome as well. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/create-e-commerce-online-shopping-store-using-opencart-in-linux/ + +作者:[Avishek Kumar][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://demo.opencart.com/ +[2]:http://demo.opencart.com/admin/ +[3]:http://www.opencart.com/index.php?route=download/download/ +[4]:http://secure.hostgator.com/%7Eaffiliat/cgi-bin/affiliates/clickthru.cgi?id=tecmint \ No newline at end of file diff --git a/sources/tech/20150527 How to edit your documents collaboratively on Linux.md b/sources/tech/20150527 How to edit your documents collaboratively on Linux.md new file mode 100644 index 0000000000..91d2bf6441 --- /dev/null +++ b/sources/tech/20150527 How to edit your documents collaboratively on Linux.md @@ -0,0 +1,122 @@ +How to edit your documents collaboratively on Linux +================================================================================ +> "Developed many years before by some high-strung, compulsive assistant, the Bulletin was simply a Word document that lived in a shared folder both Emily and I could access. Only one of us could open it at a time and add a new message, thought, or question to the itemized list. Then we'd print out the updated version and place it on the clipboard that sat on the shelf over my desk, removing the old ones as we went." ("The Devil Wears Prada" by Lauren Weisberger) + +Even today such a "collaborative editing" is in use where only one person can open a shared file, make changes to it, and then inform others about what and when was modified. + +ONLYOFFICE is an open source online office suite integrated with different management tools for documents, emails, events, tasks and client relations. + +Using ONLYOFFICE office suite, a group of people can edit text, spreadsheet or presentation within a browser simultaneously. Leave comments directly in their document and interact with each other using the integrated chat. And, finally, save the document as a PDF file for further printing. As an added bonus, it gives the possibility to view the document history and restore the previous revision/version if needed. + +In this tutorial, I will describe how to deploy your own online office suite using [ONLYOFFICE Free Edition][1], an ONLYOFFICE self-hosted version distributed under GNU AGPL v3. + +### Installing ONLYOFFICE on Linux ### + +ONLYOFFICE installation requires the presence of mono (version 4.0.0 or later), nodejs, libstdc++6, nginx and mysql-server in your Linux system. To simplify the installation process and avoid dependency errors, I install ONLYOFFICE using Docker. In this case there is only one dependency to be installed - [Docker][2]. + +Just to remind, Docker is an open-source project that automates the deployment of applications inside software containers. If Docker is not available on your Linux system, install it first by referring to Docker installation instructions for [Debian-based][3] or [Red-Hat based][4] systems. + +Note that you will need Docker 1.4.1 or later. To check the installed Docker version, use the following command. + + $ docker version + +To try ONLYOFFICE inside a Docker container, simply execute the following commands: + + $ sudo docker run -i -t -d --name onlyoffice-document-server onlyoffice/documentserver + $ sudo docker run -i -t -d -p 80:80 -p 443:443 --link onlyoffice-document-server:document_server onlyoffice/communityserver + +These commands will download the [official ONLYOFFICE Docker image][5] with all dependencies needed for its correct work. + +It's also possible to install [ONLYOFFICE Online Editors][6] separately on a Linux server, and easily integrate it into your website or cloud application via API provided. + +### Running a Self-Hosted Online Office ### + +To open your online office, enter localhost (http://IP-Address/) in the address bar of your browser. The Welcome page will open: + +![](https://farm9.staticflickr.com/8815/18116525656_795821c73b_c.jpg) + +Enter a password and specify the email address you will use to access your office the next time. + +### Editing Your Documents Online ### + +First, click the Documents link to open **the My Documents** folder. + +![](https://farm8.staticflickr.com/7781/17956640089_d3df0b18cd_c.jpg) + +#### STEP 1. Select a Document to Edit #### + +To create a new document right there, click on the **Create** button in the upper left corner, and choose the file type from the drop-down list. To edit a file stored on your hard disk drive, upload it to **Documents** clicking the **Upload** button next to **Create** button. + +![](https://farm9.staticflickr.com/8836/17956640109_ed8be735df_c.jpg) + +#### STEP 2. Share your Document #### + +Use the **Share** button to the right side if you are in the **My Documents** folder, or follow **File >> Document Info ... >> Change Access Rights** if you are inside your document. + +In the opened **Sharing Settings** window, click on the **People outside portal** link on the left, open the access to the document, and give full access to it by enabling the **Full Access** radio button. + +Finally, choose a way to share the link to your document, send it via email or one of the available social networks: Google+, Facebook, or Twitter. + +![](https://farm8.staticflickr.com/7766/17522306273_c8a9022c75_c.jpg) + +#### STEP 3. Start the Collaborative Editing #### + +To start co-editing the document, the invited person just needs to follow the provided link. + +The text passages edited by your co-editors will be automatically marked with dashed lines of different colors. + +![](https://farm8.staticflickr.com/7790/18139370292_7ef57aae8f_c.jpg) + +As soon as one of your collaborators saves his/her changes, you will see a note appearing in the left upper corner of the top toolbar, indicating that there areupdates. + +![](https://farm8.staticflickr.com/7778/18143984831_3dd42a9672_c.jpg) + +To save your changes and get updates, click on the **Save** icon. All the updates will then be highlighted. + +![](https://farm8.staticflickr.com/7796/17955172970_e53460b8a6_c.jpg) + +#### STEP 4. Interact with your Co-editors #### + +To leave some comments, select a text passage with the mouse, right-click on it and, and choose the **Add comment** option from the context menu. + +![](https://farm8.staticflickr.com/7771/17956640359_c4e2858dc8_c.jpg) + +To interact with co-editors in real time, use the integrated chat instead. All the users who currently edit the document will be listed on the **Chat** panel. To open it, click on the **Chat** icon at the left-side bar. To start a discussion, enter your message into an appropriate field on the **Chat** panel. + +![](https://farm8.staticflickr.com/7794/18116394026_d93b00e4f8_c.jpg) + +### Useful Tips ### + +As final notes, here are some useful tips for you to take full advantage of ONLYOFFICE. + +#### Tip #1. Editing your Docs from Cloud Storage Services, Like ownCloud #### + +If you store your documents in other web resources like Box, Dropbox, Google Drive, OneDrive, SharePoint or ownCloud, you can easily synchronize them with the ONLYOFFICE. + +In the opened 'Documents' module, click one of the icons under the **Add the account** caption: Google, Box, DropBox, OneDrive, ownCloud or 'Add account', and enter the requested data. + +#### Tip #2. Editing Your Docs on iPad #### + +To add some changes to your document on the go, I use ONLYOFFICE Documents app for iPad. You can download and install it from [iTune][7], then you need to enter your ONLYOFFICE portal address, email and password to access your documents. The feature set is almost the same. + +To evaluate ONLYOFFICE Online Editors features, you can use the [cloud version][8] for personal use. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/edit-documents-collaboratively-linux.html + +作者:[Tatiana Kochedykova][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/tatiana +[1]:http://www.onlyoffice.org/ +[2]:http://xmodulo.com/recommend/dockerbook +[3]:http://xmodulo.com/manage-linux-containers-docker-ubuntu.html +[4]:http://xmodulo.com/docker-containers-centos-fedora.html +[5]:https://registry.hub.docker.com/u/onlyoffice/communityserver/ +[6]:http://onlyoffice.org/sources#document +[7]:https://itunes.apple.com/us/app/onlyoffice-documents/id944896972 +[8]:https://personal.onlyoffice.com/ \ No newline at end of file diff --git a/sources/tech/20150527 Howto Manage Host Using Docker Machine in a VirtualBox.md b/sources/tech/20150527 Howto Manage Host Using Docker Machine in a VirtualBox.md new file mode 100644 index 0000000000..ea827ec74e --- /dev/null +++ b/sources/tech/20150527 Howto Manage Host Using Docker Machine in a VirtualBox.md @@ -0,0 +1,113 @@ +Howto Manage Host Using Docker Machine in a VirtualBox +================================================================================ +Hi all, today we'll learn how to create and manage a Docker host using Docker Machine in a VirtualBox. Docker Machine is an application that helps to create Docker hosts on our computer, on cloud providers and inside our own data center. It provides easy solution for creating servers, installing Docker on them and then configuring the Docker client according the users configuration and requirements. This API works for provisioning Docker on a local machine, on a virtual machine in the data center, or on a public cloud instance. Docker Machine is supported on Windows, OSX, and Linux and is available for installation as one standalone binary. It enables us to take full advantage of ecosystem partners providing Docker-ready infrastructure, while still accessing everything through the same interface. It makes people able to deploy the docker containers in the respective platform pretty fast and in pretty easy way with just a single command. + +Here are some easy and simple steps that helps us to deploy docker containers using Docker Machine. + +### 1. Installing Docker Machine ### + +Docker Machine supports awesome on every Linux Operating System. First of all, we'll need to download the latest version of Docker Machine from the [Github site][1] . Here, we'll use curl to download the latest version of Docker Machine ie 0.2.0 . + +**For 64 Bit Operating System** + + # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine + +**For 32 Bit Operating System** + + # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine + +After downloading the latest release of Docker Machine, we'll make the file named **docker-machine** under **/usr/local/bin/** executable using the command below. + + # chmod +x /usr/local/bin/docker-machine + +After doing the above, we'll wanna ensure that we have successfully installed docker-machine. To check it, we can run the docker-machine -v which will give output of the version of docker-machine installed in our system. + + # docker-machine -v + +![Installing Docker Machine](http://blog.linoxide.com/wp-content/uploads/2015/05/installing-docker-machine.png) + +To enable Docker commands on our machines, make sure to install the Docker client as well by running the command below. + + # curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker + # chmod +x /usr/local/bin/docker + +### 2. Creating VirualBox VM ### + +After we have successfully installed Docker Machine in our Linux running machine, we'll definitely wanna go for creating a Virtual Machine using VirtualBox. To get started, we need to run docker-machine create command followed by --driver flag with string as virtualbox as we are trying to deploy docker inside of Virtual Box running VM and the final argument is the name of the machine, here we have machine name as "linux". This command will download [boot2docker][2] iso which is a light-weighted linux distribution based on Tiny Core Linux with the Docker daemon installed and will create and start a VirtualBox VM with Docker running as mentioned above. + +To do so, we'll run the following command in a terminal or shell in our box. + + # docker-machine create --driver virtualbox linux + +![Creating Docker Machine](http://blog.linoxide.com/wp-content/uploads/2015/05/creating-docker-machine.png) + +Now, to check whether we have successfully create a Virtualbox running Docker or not, we'll run the command **docker-machine** ls as shown below. + + # docker-machine ls + +![Docker Machine List](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-list.png) + +If the host is active, we can see * under the ACTIVE column in the output as shown above. + +### 3. Setting Environment Variables ### + +Now, we'll need to make docker talk with the machine. We can do that by running docker-machine env and then the machine name, here we have named **linux** as above. + + # eval "$(docker-machine env linux)" + # docker ps + +This will set environment variables that the Docker client will read which specify the TLS settings. Note that we'll need to do this every time we reboot our machine or start a new tab. We can see what variables will be set by running the following command. + + # docker-machine env linux + + export DOCKER_TLS_VERIFY=1 + export DOCKER_CERT_PATH=/Users//.docker/machine/machines/dev + export DOCKER_HOST=tcp://192.168.99.100:2376 + +### 4. Running Docker Containers ### + +Finally, after configuring the environment variables and Virtual Machine, we are able to run docker containers in the host running inside the Virtual Machine. To give it a test, we'll run a busybox container out of it run running **docker run busybox** command with **echo hello world** so that we can get the output of the container. + + # docker run busybox echo hello world + +![Running Docker Container](http://blog.linoxide.com/wp-content/uploads/2015/05/running-docker-container.png) + +### 5. Getting Docker Host's IP ### + +We can get the IP Address of the running Docker Host's using the **docker-machine ip** command. We can see any exposed ports that are available on the Docker host’s IP address. + + # docker-machine ip + +![Docker IP Address](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-ip-address.png) + +### 6. Managing the Hosts ### + +Now we can manage as many local VMs running Docker as we desire by running docker-machine create command again and again as mentioned in above steps + +If you are finished working with the running docker, we can simply run **docker-machine stop** command to stop the whole hosts which are Active and if wanna start again, we can run **docker-machine start**. + + # docker-machine stop + # docker-machine start + +You can also specify a host to stop or start using the host name as an argument. + + $ docker-machine stop linux + $ docker-machine start linux + +### Conclusion ### + +Finally, we have successfully created and managed a Docker host inside a VirtualBox using Docker Machine. Really, Docker Machine enables people fast and easy to create, deploy and manage Docker hosts in different platforms as here we are running Docker hosts using Virtualbox platform. This virtualbox driver API works for provisioning Docker on a local machine, on a virtual machine in the data center. Docker Machine ships with drivers for provisioning Docker locally with Virtualbox as well as remotely on Digital Ocean instances whereas more drivers are in the work for AWS, Azure, VMware, and other infrastructure. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-) + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-how-to/host-virtualbox-docker-machine/ + +作者:[Arun Pyasi][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/arunp/ +[1]:https://github.com/docker/machine/releases +[2]:https://github.com/boot2docker/boot2docker \ No newline at end of file diff --git a/sources/tech/20150528 11 pointless but awesome Linux terminal tricks.md b/sources/tech/20150528 11 pointless but awesome Linux terminal tricks.md new file mode 100644 index 0000000000..74baa5fb5b --- /dev/null +++ b/sources/tech/20150528 11 pointless but awesome Linux terminal tricks.md @@ -0,0 +1,108 @@ +Translating by goreliu ... + +11 pointless but awesome Linux terminal tricks +================================================================================ +Here are some great Linux terminal tips and tricks, each one as pointless as it is awesome. + +![](http://images.techhive.com/images/article/2015/05/slide_01-100587352-orig.png) + +### All work and no play... ### + +Linux is one of the most astoundingly functional and utilitarian Operating Systems around when it comes to working from the command line. Need to perform a particular task? Odds are there is an application or script you can use to get it done. Right from the terminal. But, as they say in the good book, "All work and no play make Jack really bored or something." So here is a collection of my favorite pointless, stupid, annoying or amusing things that you can do right in your Linux Terminal. + +![](http://images.techhive.com/images/article/2015/05/slide_02-100587353-orig.png) + +### Give the terminal an attitude ### + +Step 1) Type "sudo visudo". + +Step 2) At the bottom of the "Defaults" (near the top of the file) add, on a new line, "Defaults insults". + +Step 3) Save the file. + +"What did I just do to my computer?" you may be asking yourself. Something wonderful. Now, whenever you issue a sudo command and misstype your password, your computer will call you names. My favorite: "Listen, burrito brains, I don't have time to listen to this trash." + +![](http://images.techhive.com/images/article/2015/05/slide_03-100587354-orig.png) + +### apt-get moo ### + +That screenshot you see? That's what typing "apt-get moo" (on a Debian-based system) does. That's it. Don't go looking for this to do something fancy. It won't. That, I kid you not, is it. But it's one of the most commonly known little Easter eggs on Linux. So I include it here, right near the beginning, so I won't get 5,000 emails telling me I missed it in this list. + +![](http://images.techhive.com/images/article/2015/05/slide_04-100587355-orig.png) + +### aptitude moo ### + +A bit more entertaining is aptitude's take on "moo." Type "aptitude moo" (on Ubuntu and the like) and you'll be corrected about thinking "moo" would do anything. But you know better. Try the same command again, this time with an optional "-v" attribute. Don't stop there. Add v's, one at a time, until aptitude gives you what you want. + +![](http://images.techhive.com/images/article/2015/05/slide_05-100587356-orig.png) + +### Arch: Put Pac-Man in pacman ### + +This is one just for the Arch-lovers out there. The de facto package manager, pacman, is pretty fantastic already. Let's make it even better. + +Step 1) Open "/etc/pacman.conf". + +Step 2) In the "# Misc options", remove the "#" from in front of "Color". + +Step 3) Add "ILoveCandy". + +Now the progress for installing new packages, in pacman, will include a little tiny Pac-Man. Which should really just be the default anyway. + +![](http://images.techhive.com/images/article/2015/05/slide_06-100587358-orig.png) + +### Cowsay! ### + +Making aptitude moo is neat, I guess, but you really can't use it for much. Enter "cowsay." It does what you think. You make a cow say things. Anything you like. And it's not even limited to cows. Calvin, Beavis, and the Ghostbusters logo are all available in full ASCII art glory – type "cowsay -l" for a full list of what's available in this, Linux's most powerful tool. Remember that, like most great terminal applications, you can pipe the output from other applications straight into cowsay (ala "fortune | cowsay"). + +![](http://images.techhive.com/images/article/2015/05/slide_07-100587359-orig.png) + +### Become an 3l33t h@x0r ### + +Typing "nmap" isn't something one typically needs to do on a day-to-day basis. But when one does need to "whip out the nmap," one wants to look as l33t as humanly possible. Add a "-oS" to any nmap command (such as "nmap -oS - google.com"). Bam. You're now in what is officially known as "[Script Kiddie Mode][1]." Angelina Jolie and Keanu Reeves would be proud. + +![](http://images.techhive.com/images/article/2015/05/slide_08-100587360-orig.png) + +### Getting all Discordian ddate ### + +If you've ever been sitting around thinking, "Hey! I want today's date to be written in an essentially useless, but whimsical, way"…try typing "ddate". Results like "Today is Setting Orange, the 72nd day of Discord in the YOLD 3181," can really spice up your server logs. + +Note: Technically, this is a real thing called the [Discordian Calendar][2], used (in theory) by the followers of [Discordianism][3]. Which means I probably offended somebody. Or maybe not. I'm not really sure. Either way, ddate is a handy tool in any office. + +![](http://images.techhive.com/images/article/2015/05/slide_09-100587361-orig.png) + +### I See Colors Everywhere! ### + +Tired of boring old text? Looking to spruce things up and show the world your true style? lolcat. Install it. Use it. Everywhere. It takes any text input and turns it into a rainbow of wonder and enchantment. Piping text into lolcat (ala "fortune | lolcat") is sure to liven up any party. + +![](http://images.techhive.com/images/article/2015/05/slide_10-100587362-orig.png) + +### The Steam Locomotive ### + +Animated ASCII art steam locomotive in your terminal. You want this. You need this. Install and run "sl". Use "sl -l" for a tiny version. Or, if you want to really spend some time on this, "sl-h". This is the full train, including passenger cars. + +![](http://images.techhive.com/images/article/2015/05/slide_11-100587364-orig.png) + +### Reverse any text ### + +Pipe the output of any text into "rev" and it will reverse the text. "fortune | rev" gives you a fortune. In reverse. Which is, as odd as it may seem, not a misfortune. + +![](http://images.techhive.com/images/article/2015/05/slide_12-100587366-orig.png) + +### The Matrix is still cool, right? ### + +Want your terminal to do that scrolling text, l33t, Matrix-y thing? "cmatrix" is your friend. You can even have it output different colors, which is snazzy. Learn how by typing "man cmatrix". Or, better yet, "man cmatrix | lolcat". Which, really, is the most pointless (but wonderful) thing you can do in the Linux Terminal. So that's where I leave you. + +-------------------------------------------------------------------------------- + +via: http://www.networkworld.com/article/2926630/linux/11-pointless-but-awesome-linux-terminal-tricks.html + +作者:[Bryan Lunduke][a] +译者:[goreliu](https://github.com/goreliu) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.networkworld.com/author/Bryan-Lunduke/ +[1]:http://nmap.org/book/output-formats-script-kiddie.html +[2]:http://en.wikipedia.org/wiki/Discordian_calendar +[3]:http://en.wikipedia.org/wiki/Discordianism \ No newline at end of file diff --git a/sources/tech/20150604 Nishita Agarwal Shares Her Interview Experience on Linux 'iptables' Firewall.md b/sources/tech/20150604 Nishita Agarwal Shares Her Interview Experience on Linux 'iptables' Firewall.md new file mode 100644 index 0000000000..2ba7334580 --- /dev/null +++ b/sources/tech/20150604 Nishita Agarwal Shares Her Interview Experience on Linux 'iptables' Firewall.md @@ -0,0 +1,207 @@ +Nishita Agarwal Shares Her Interview Experience on Linux ‘iptables’ Firewall +================================================================================ +Nishita Agarwal, a frequent Tecmint Visitor shared her experience (Question and Answer) with us regarding the job interview she had just given in a privately owned hosting company in Pune, India. She was asked a lot of questions on a variety of topics however she is an expert in iptables and she wanted to share those questions and their answer (she gave) related to iptables to others who may be going to give interview in near future. + +![Linux Firewall Iptables Interview Questions](http://www.tecmint.com/wp-content/uploads/2015/05/Linux-iptables-Interview-Questions.jpg) + +All the questions and their Answer are rewritten based upon the memory of Nishita Agarwal. + +> “Hello Friends! My name is **Nishita Agarwal**. I have Pursued Bachelor Degree in Technology. My area of Specialization is UNIX and Variants of UNIX (BSD, Linux) fascinates me since the time I heard it. I have 1+ years of experience in storage. I was looking for a job change which ended with a hosting company in Pune, India.” + +Here is the collection of what I was asked during the Interview. I’ve documented only those questions and their answer that were related to iptables based upon my memory. Hope this will help you in cracking your Interview. + +### 1. Have you heard of iptables and firewall in Linux? Any idea of what they are and for what it is used? ### + +> **Answer** : I’ve been using iptables for quite long time and I am aware of both iptables and firewall. Iptables is an application program mostly written in C Programming Language and is released under GNU General Public License. Written for System administration point of view, the latest stable release if iptables 1.4.21.iptables may be considered as firewall for UNIX like operating system which can be called as iptables/netfilter, more accurately. The Administrator interact with iptables via console/GUI front end tools to add and define firewall rules into predefined tables. Netfilter is a module built inside of kernel that do the job of filtering. +> +> Firewalld is the latest implementation of filtering rules in RHEL/CentOS 7 (may be implemented in other distributions which I may not be aware of). It has replaced iptables interface and connects to netfilter. + +### 2. Have you used some kind of GUI based front end tool for iptables or the Linux Command Line? ### + +> **Answer** : Though I have used both the GUI based front end tools for iptables like Shorewall in conjugation of [Webmin][1] in GUI and Direct access to iptables via console.And I must admit that direct access to iptables via Linux console gives a user immense power in the form of higher degree of flexibility and better understanding of what is going on in the background, if not anything other. GUI is for novice administrator while console is for experienced. + +### 3. What are the basic differences between between iptables and firewalld? ### + +> **Answer** : iptables and firewalld serves the same purpose (Packet Filtering) but with different approach. iptables flush the entire rules set each time a change is made unlike firewalld. Typically the location of iptables configuration lies at ‘/etc/sysconfig/iptables‘ whereas firewalld configuration lies at ‘/etc/firewalld/‘, which is a set of XML files.Configuring a XML based firewalld is easier as compared to configuration of iptables, however same task can be achieved using both the packet filtering application ie., iptables and firewalld. Firewalld runs iptables under its hood along with it’s own command line interface and configuration file that is XML based and said above. + +### 4. Would you replace iptables with firewalld on all your servers, if given a chance? ### + +> **Answer** : I am familiar with iptables and it’s working and if there is nothing that requires dynamic aspect of firewalld, there seems no reason to migrate all my configuration from iptables to firewalld.In most of the cases, so far I have never seen iptables creating an issue. Also the general rule of Information technology says “why fix if it is not broken”. However this is my personal thought and I would never mind implementing firewalld if the Organization is going to replace iptables with firewalld. + +### 5. You seems confident with iptables and the plus point is even we are using iptables on our server. ### + +What are the tables used in iptables? Give a brief description of the tables used in iptables and the chains they support. + +> **Answer** : Thanks for the recognition. Moving to question part, There are four tables used in iptables, namely they are: +> +> Nat Table +> Mangle Table +> Filter Table +> Raw Table +> +> Nat Table : Nat table is primarily used for Network Address Translation. Masqueraded packets get their IP address altered as per the rules in the table. Packets in the stream traverse Nat Table only once. ie., If a packet from a jet of Packets is masqueraded they rest of the packages in the stream will not traverse through this table again. It is recommended not to filter in this table. Chains Supported by NAT Table are PREROUTING Chain, POSTROUTING Chain and OUTPUT Chain. +> +> Mangle Table : As the name suggests, this table serves for mangling the packets. It is used for Special package alteration. It can be used to alter the content of different packets and their headers. Mangle table can’t be used for Masquerading. Supported chains are PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain. +> +> Filter Table : Filter Table is the default table used in iptables. It is used for filtering Packets. If no rules are defined, Filter Table is taken as default table and filtering is done on the basis of this table. Supported Chains are INPUT Chain, OUTPUT Chain, FORWARD Chain. +> +> Raw Table : Raw table comes into action when we want to configure packages that were exempted earlier. It supports PREROUTING Chain and OUTPUT Chain. + +### 6. What are the target values (that can be specified in target) in iptables and what they do, be brief! ### + +> **Answer** : Following are the target values that we can specify in target in iptables: +> +> ACCEPT : Accept Packets +> QUEUE : Paas Package to user space (place where application and drivers reside) +> DROP : Drop Packets +> RETURN : Return Control to calling chain and stop executing next set of rules for the current Packets in the chain. + + +### 7. Lets move to the technical aspects of iptables, by technical I means practical. ### + +How will you Check iptables rpm that is required to install iptables in CentOS?. + +> **Answer** : iptables rpm are included in standard CentOS installation and we do not need to install it separately. We can check the rpm as: +> +> # rpm -qa iptables +> +> iptables-1.4.21-13.el7.x86_64 +> +> If you need to install it, you may do yum to get it. +> +> # yum install iptables-services + +### 8. How to Check and ensure if iptables service is running? ### + +> **Answer** : To check the status of iptables, you may run the following command on the terminal. +> +> # service status iptables [On CentOS 6/5] +> # systemctl status iptables [On CentOS 7] +> +> If it is not running, the below command may be executed. +> +> ---------------- On CentOS 6/5 ---------------- +> # chkconfig --level 35 iptables on +> # service iptables start +> +> ---------------- On CentOS 7 ---------------- +> # systemctl enable iptables +> # systemctl start iptables +> +> We may also check if the iptables module is loaded or not, as: +> +> # lsmod | grep ip_tables + +### 9. How will you review the current Rules defined in iptables? ### + +> **Answer** : The current rules in iptables can be review as simple as: +> +> # iptables -L +> +> Sample Output +> +> Chain INPUT (policy ACCEPT) +> target prot opt source destination +> ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +> ACCEPT icmp -- anywhere anywhere +> ACCEPT all -- anywhere anywhere +> ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh +> REJECT all -- anywhere anywhere reject-with icmp-host-prohibited +> +> Chain FORWARD (policy ACCEPT) +> target prot opt source destination +> REJECT all -- anywhere anywhere reject-with icmp-host-prohibited +> +> Chain OUTPUT (policy ACCEPT) +> target prot opt source destination + +### 10. How will you flush all iptables rules or a particular chain? ### + +> **Answer** : To flush a particular iptables chain, you may use following commands. +> +> +> # iptables --flush OUTPUT +> +> To Flush all the iptables rules. +> +> # iptables --flush + +### 11. Add a rule in iptables to accept packets from a trusted IP Address (say 192.168.0.7) ### + +> **Answer** : The above scenario can be achieved simply by running the below command. +> +> # iptables -A INPUT -s 192.168.0.7 -j ACCEPT +> +> We may include standard slash or subnet mask in the source as: +> +> # iptables -A INPUT -s 192.168.0.7/24 -j ACCEPT +> # iptables -A INPUT -s 192.168.0.7/255.255.255.0 -j ACCEPT + +### 12. How to add rules to ACCEPT, REJECT, DENY and DROP ssh service in iptables. ### + +> **Answer** : Hoping ssh is running on port 22, which is also the default port for ssh, we can add rule to iptables as:To ACCEPT tcp packets for ssh service (port 22). +> +> # iptables -A INPUT -s -p tcp - -dport -j ACCEPT +> +> To REJECT tcp packets for ssh service (port 22). +> +> # iptables -A INPUT -s -p tcp - -dport -j REJECT +> +> To DENY tcp packets for ssh service (port 22). +> +> +> # iptables -A INPUT -s -p tcp - -dport -j DENY +> +> To DROP tcp packets for ssh service (port 22). +> +> +> # iptables -A INPUT -s -p tcp - -dport -j DROP + +### 13. Let me give you a scenario. Say there is a machine the local ip address of which is 192.168.0.6. You need to block connections on port 21, 22, 23, and 80 to your machine. What will you do? ### + +> **Answer** : Well all I need to use is the ‘multiport‘ option with iptables followed by port numbers to be blocked and the above scenario can be achieved in a single go as. +> +> # iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 22,23,80,8080 -j DROP +> +> The written rules can be checked using the below command. +> +> # iptables -L +> +> Chain INPUT (policy ACCEPT) +> target prot opt source destination +> ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +> ACCEPT icmp -- anywhere anywhere +> ACCEPT all -- anywhere anywhere +> ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh +> REJECT all -- anywhere anywhere reject-with icmp-host-prohibited +> DROP tcp -- 192.168.0.6 anywhere multiport dports ssh,telnet,http,webcache +> +> Chain FORWARD (policy ACCEPT) +> target prot opt source destination +> REJECT all -- anywhere anywhere reject-with icmp-host-prohibited +> +> Chain OUTPUT (policy ACCEPT) +> target prot opt source destination + +**Interviewer** : That’s all I wanted to ask. You are a valuable employee we won’t like to miss. I will recommend your name to the HR. If you have any question you may ask me. + +As a candidate I don’t wanted to kill the conversation hence keep asking about the projects I would be handling if selected and what are the other openings in the company. Not to mention HR round was not difficult to crack and I got the opportunity. + +Also I would like to thank Avishek and Ravi (whom I am a friend since long) for taking the time to document my interview. + +Friends! If you had given any such interview and you would like to share your interview experience to millions of Tecmint readers around the globe? then send your questions and answers to admin@tecmint.com. + +Thank you! Keep Connected. Also let me know if I could have answered a question more correctly than what I did. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/linux-firewall-iptables-interview-questions-and-answers/ + +作者:[Avishek Kumar][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/install-webmin-web-based-system-administration-tool-for-rhel-centos-fedora/ \ No newline at end of file diff --git a/translated/news/20150604 Ubuntu's Juju Now Supports systemd and Google Cloud Platform.md b/translated/news/20150604 Ubuntu's Juju Now Supports systemd and Google Cloud Platform.md new file mode 100644 index 0000000000..4ff1fa23a0 --- /dev/null +++ b/translated/news/20150604 Ubuntu's Juju Now Supports systemd and Google Cloud Platform.md @@ -0,0 +1,29 @@ +Ubuntu下的Juju现在支持systemd和Google Cloud Platform了 +================================================================================ +> Juju已经更新到1.23.3了 + +**Cononical旗下的Ubuntu认证公共云总监,Udi Nachmany宣布了juju新版本的发布,一个开源的、解决方案驱动的Ubuntu下的协同工具。** + +根据[声明][1]和官方[发布公告][2],Juju 1.23.3是一个非常主流的版本,它打包了那些你想要在云上扩展和管理的包,而没有太多的麻烦。 + +Juju 1.23.3显著的功能是包含了对GCE的支持,支持systemd初始化系统,支持Ubuntu 15.04(Vivid Vervet),新的好玩的功能和对受限网络的支持。 + +另外,juju的发布带来了一个新的恢复、新的消息、新的块和实验性地支持Service Leader Elections,还有Ubuntu MAS和AWS上的可寻址的LXC和KVM。 + +Udi Nachmany说:“在一个相关告示中,如果你正在使用Google云平台,你可能已经注意到了Google最近发布了云启动器。如果你密切关注,你同样注意到你说可以使用这个非常友好的UI来启动你的Ubuntu虚拟机。” + +![](http://i1-news.softpedia-static.com/images/news2/Ubuntu-s-Juju-Now-Supports-systemd-and-Google-Cloud-Platform-483279-2.jpg) + +-------------------------------------------------------------------------------- + +via: http://linux.softpedia.com/blog/Ubuntu-s-Juju-Now-Supports-systemd-and-Google-Cloud-Platform-483279.shtml + +作者:[Marius Nestor][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/marius-nestor +[1]:http://insights.ubuntu.com/2015/06/03/juju-support-for-google-cloud-platform/ +[2]:https://jujucharms.com/docs/devel/reference-release-notes diff --git a/translated/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md b/translated/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md deleted file mode 100644 index 5e5d0e213a..0000000000 --- a/translated/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md +++ /dev/null @@ -1,115 +0,0 @@ -六种在 Linux 上带来 iTunes 体验的方法 -Top 6 Ways To Get Your iTunes Experience On Linux -================================================================================ -![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/itunes-linux-840x420.jpg?35dc20) - -随着你对 Linux 的熟悉(也许会成为你首要使用的操作系统),你最终会寻找能在Linux上有效管理音乐的工具。你首先想到了 iTunes,因为它是近几年最流行的音乐管理工具,但你马上会发现iTunes并没有Linux版本。而且,你会发现还有比 iTunes 更好的音乐管理工具。 -As you’re getting used to Linux (potentially as your new main operating system), you’ll eventually try to find a way to efficiently manage your music. iTunes comes to mind because it’s been the most popular way to manage music over the years, but you’ll quickly find out that iTunes isn’t available natively on Linux. Plus, better ways exist to manage your music now that it’s 2015. - -尽管如此,这并不意味着你就不能使用你喜欢的方式管理音乐。Linux 上有很多方式可以让你整理你的音乐库。以下六种,仅供参考: -However, that doesn’t automatically mean that you won’t be able to manage your music the way you want to. There’s plenty of other ways to keep tabs on your music library. Here’s six great ways to get it done. - -### 在WINE上运行iTunes ### -### iTunes via WINE ### - -尽管 iTunes 没有Linux版,你还是可以试试 [使用 WINE 运行 iTunes ][1] 或 PlayOnLinux 的。这些软件给本来只能运行于Windows下的应用程序添加了一个兼容层,这样就能让他们运行在Linux上了,但这样的方法效果十有分限。因此 [并非所有 Windows 应用程序都能使用WINE运行][2] - 但这还是一个值得尝试的方法。 -Even if iTunes isn’t available in Linux as a native application, you can still try to [get it to work under WINE][1] or PlayOnLinux. These pieces of software try to add a compatibility layer so that Windows applications work on Linux, but the results are far from perfect. Therefore, [not all Windows applications will run with WINE][2] — but it’s still worth a try. - -各个版本的iTunes结果可能给你不同的结果,但一般都遵循以下方法: -1. 安装WINE -1. 在WINE里运行iTunes安装程序 -1. 在网上搜索并解决你遇到的问题。 - -如果你在安装时遇到无法解决的问题,比如安装程序错误,或者安装好的程序运行不了,那是没办法的,WINE 就是这样 - -如果你想在 WINE 上运行 iTunes 但恰好运行不了的话,没问题。但如果你还想考虑运行一个原生的Linux的话,还有很多其他选择的。这些音乐管理软件狗能让你很方便的管理你的音乐并直接进行播放,还可以制作播放列表。 - -Each version of iTunes can give you different results, but the general process is as follows: - -1. Install WINE -1. Run the iTunes installer via WINE -1. Google and try to solve any problems you come across. - -Again, you might come across issues somewhere along the way which cannot be solved, such as the installer failing or the installed application refusing to run. That’s just how it is with WINE. - -If you really want to use iTunes and you happen to luck out with WINE, then that’s great. However, if you’d rather use a native Linux application or WINE didn’t work for you, then there are options here as well. Several “music library manager” programs are available to give you a quick oversight of your music and play it directly in the application, as well as make playlists. - -### [Amarok][3] ### - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/amarok_main.jpg?35dc20) - -如果你使用KDE环境,我推荐 Amarok。它具有 [很多管理音乐的特性][4] 而且他还能与KDE桌面环境无缝兼容。它很有很多实用的特性如无缝兼容 Last.FM,文件跟踪,动态播放列表及个吃支持。它甚至会自动在你播放曲目时,自动下载艺术家封面。 - -If you use KDE, then I’d recommend Amarok. It has [plenty of features to manage your music][4] and tight desktop integration with KDE. It also has useful features such as Last.FM integration, file tracking, dynamic playlists, and script support. It can even pull up biographies of artists as you play their songs. - -### [Banshee][5] ### - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/banshee_main.jpg?35dc20) - -如果你使用 GNOME 或其他任何基于 GTK 的桌面环境(他们十分常见)的话,我推荐使用使用Bansee作为 [全功能音乐库管理工具][6] 。它的功能与Amarok类似,也与Last.FM无缝兼容,支持网络广播,支持podcast,还有很多其他功能。选择 Amarok 还是 Bansee 要看你使用的桌面环境(这样才能无缝整合)。 - -If you use GNOME or any GTK-based desktop environment (they’re quite common), then I’d recommend Banshee as a [full-featured music library][6] manager. It has a very similar feature set as Amarok, including Last.FM integration, Internet radio support, podcast support, and much more. Amarok and Banshee are really among the top two choices, so which one you choose should depend on which desktop environment you’re using (for integration’s sake). - -### [Rhythmbox][7] ### - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/rhythmbox_main.jpg?35dc20) - -Rhythmbox是一个 基于GTK的桌环境下更 [轻量级的音乐库替代品][8]。尽管如此,它也还是有一些特性的。它也支持Last.FM,同时还能无缝播放并与其他如 Nautilus, XChat,及Pidgin 等进行整合。 -Rhythmbox as a more [lightweight music library alternative][8] that is best used on GTK-based desktop environments. However, it still has quite a few features. You also get Last.FM support here, plus gapless playback and integration with various other applications such as Nautilus, XChat, and Pidgin. - -### [Clementine][9] ### - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/clementine_main.jpg?35dc20) - -另一款叫 Clementine 的软件也值得我推荐,因为它的见面简洁、易用。它支持非常多的第三方服务例如Spotify,Digtal Imported 及Dropbox。Android系统上还有一款用作 Clementine 遥控的app。[Clementine是一个跨平台的][10] , 还支持Mac OS X 及 Windows。 -Another application called Clementine also gets my recommendation with its clean and intuitive interface. It has tons of support for third-party services such as Spotify, Digitally Imported, and Dropbox. There’s also an Android app you can use as a remote control for Clementine. [Clementine is cross-platform][10] and available for Windows and Mac OS X. - -这些程序都能很好的管理并播放你的音乐。唯一的问题是这些程序都不支持与 iOS 设备的整合, 而且目前还没有程序能做到这一点。但 iOS 经过很多改进后,已经足以不需要再连接到电脑了。 -They all are excellent at managing and playing your music. The only downside to all of these is that there is no iOS device integration, and there’s currently no modern application that can do that. However, iOS has received enough improvements that it’s virtually unnecessary to connect it to a computer anymore. - -### [Google Play Music][11] ### - -![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/google_music.jpg?35dc20) - -最后,如果上面的那些程序还不能满足你的需求的花,你可以试试 Google Play Music。这个在线服务也可以用作能播放音乐的音乐库管理工具,但他还有几个额外的好处。你可以上传所有的音乐,并且在所有能上网的设备上获取这些音乐。这也意味着你不需要在电脑或者移动设备之间同步你的音乐(无论是 Android 还是 iOS 设备),因为你可以这些设备中使用Google Play Music。 如果你想要扩展你的去库,你可以订阅 All Access,但这并不是必须的。你不需要支付任何费用也可在你的曲库中储存20,000首 -Lastly, if none of those applications satisfy your needs, you can take a look at Google Play Music. This online service acts as a music library manager that can play your music, but it also has some extra benefits. You can upload all your music to it and have access on any device connected to the Internet. That also means that you won’t have to sync your music between your computer and your mobile device (no matter if Android or iOS) because you have access to Google Play Music from both. If you want to expand your library you can get the All Access subscription, but it’s not a requirement. You can use it simply as a music library completely free for up to 20,000 songs. - -#### 靠,居然没有 Spotify ?! #### -#### Wot, no Spotify?! #### - -尽管 Spotify 也是一款管理和听音乐的方法,我不推荐它的唯一原因是它事实上并不让你管理你的音乐。你不能将曲目上传到 Spotify - 只能它们给你提供的曲目。尽管它们提供了很多,但原理都不尽相同。 -The only reason why I don’t mention Spotify is that, although it’s also a great way to access and listen to music, it doesn’t really let you manage your own music. You can’t upload trakcs to Spotify — you have to listen to what they give you. Albeit they give you a lot, but it’s nonetheless a different mechanism. - -### 你还有其他选择 ### -### You Have Options ### - -以上六个软件应该可以在给你带来类似 iTunes 的功能了。这些软件主要是能让你管理和播放你的音乐库,但如果你还需要 iTunes 里的其他特性,其他Linux原生软件或许能满足这类需求。 - -With these six options, you should be able to get iTunes-like functionality on your desktop. These options focused mainly on managing and playing your music library, but if there are any other features that you need from iTunes, other Linux-native applications can take care of those needs. - -**你通常在Linux上使用哪些音乐?**在下方评论与我们分享吧! -**What music applications do you regularly use on Linux?** Let us know in the comments! - - --------------------------------------------------------------------------------- - -via: http://www.makeuseof.com/tag/top-6-ways-get-itunes-experience-linux/ - -作者:[Danny Stieben][a] -译者:[KevinSJ](https://github.com/KevinSJ) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://www.makeuseof.com/tag/author/danny/ -[1]:http://www.makeuseof.com/tag/how-about-some-wine-with-your-linux/ -[2]:http://www.makeuseof.com/answers/does-wine-runs-all-windows-apps/ -[3]:https://amarok.kde.org/ -[4]:http://www.makeuseof.com/tag/control-music-amarok-linux/ -[5]:http://banshee.fm/ -[6]:http://www.makeuseof.com/tag/banshee-20-comprehensive-media-player-streamer-podcast-tool-linux/ -[7]:https://wiki.gnome.org/Apps/Rhythmbox -[8]:http://www.makeuseof.com/tag/play-manage-music-collection-rhythmbox-linux/ -[9]:https://www.clementine-player.org/ -[10]:http://www.makeuseof.com/tag/need-a-lightweight-music-player-without-sacrificing-features-clementine-cross-platform/ -[11]:http://music.google.com/ diff --git a/translated/share/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md b/translated/share/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md deleted file mode 100644 index a4a3609cf0..0000000000 --- a/translated/share/20150512 Guake 0.7.0 Released--A Drop-Down Terminal for Gnome Desktops.md +++ /dev/null @@ -1,115 +0,0 @@ -Guake 0.7.0 ѷ - һGnomeʽն -================================================================================ -LinuxáǿĶʹԣΪֺͼ͵ṩǿĹܡЩڷ¹ʶʵȤǣLinuxնLinus Torvald1991дںʱʵֵĵһ֮һ - -նǸǿĹߣûпƶIJ֣ʮֿɿն˽ڿ̨GUI֮䡣նΪһGUI滷¡նض滷ģͨõġTerminator, Konsole, Gnome-Terminal, Terminology, XFCE terminal, xtermЩõնģ - -Դлһʹ㷺նģб - -- [20 Useful Terminals for Linux][1] - -ǰʱżΪGuakegnomeնģⲢҵһGuakeʵϣڴԼһǰ֪Ӧó򣬵֪ôģʱûддGuakeٺұ㽥GuakeֱһGuakeԣգƪµˡҽ㽲GuakeĹܣDebianUbuntuFedoraϵİװԼһЩԡ - -#### ʲôGuake #### - -GuakeӦGnomeʽնˡҪPythonдʹһЩCGPL2+֤鷢LinuxԼƵϵͳGuakeԴڵϷQuake֮նˣQuakeնͨضĬΪF12Ļϻڰͬļȥ - -ֵעǣGuakeǵһӦáYakuakeYet Another KuakeһKDEնģTildaһGTK+дɵնģǵж֮»նˡ - -#### GuakeĹ #### - -- -- 򵥶 -- ڶ๦ -- ǿ -- ÿ -- ƽļGUI -- ڰԤļ/ʧ -- ֧ȼǩ͸ʹʺGnomeû -- ˵ؿ -- ɫĵɫ -- 趨͸ȵĿݷʽ -- ͨGuakeãʱһű -- ڶ - -Guake 0.7.0һЩԼᵽһЩܡİ汾ʷԴ[][2]ҵ - -### LinuxаװGuakeն ### - -ԴԴGuakeȤԴӴGuakeڰװǰб롣 - -ȻGuakeķаͨӶIJֿװǽDebianUbuntuLinux MintFedora°װGuake - -ȴӲֿȡµбĬϵIJֿⰲװGuakeʾ - - ---------------- On Debian, Ubuntu and Linux Mint ---------------- - $ sudo apt-get update - $ apt-get install guake - ----------- - - ---------------- On Fedora 19 Onwards ---------------- - # yum update - # yum install guake - -װ󣬿ԴһնGuake - - $ guake - -󣬱GnomeʹF12Ĭã»ϻնˡ - -dzƯ͸...ȥ......ȥ...ִһǩִȥ......ѳУ - -![Guake Terminal in Action](http://www.tecmint.com/wp-content/uploads/2015/05/Guake.png) -Guakeʵս - -ıֽڵɫGuakeɫЩԸııֽ͸Ȼ߸ıGuakeɫ - -һǽGuakeãÿ˵޸áͨӦò˵Guakeá - - $ guake --preferences - -![Guake Terminal Properties](http://www.tecmint.com/wp-content/uploads/2015/05/Guake-Properties.png) -Guakeն - - - -![Guake Scrolling Settings](http://www.tecmint.com/wp-content/uploads/2015/05/Guake-Scrolling.png) -Guake - - - ޸ɫͱɫԼ͸ȡ - -![Appearance Properties](http://www.tecmint.com/wp-content/uploads/2015/05/Appearance-Properties.png) - - -̿ݼ - ޸GuakeʾĿؿݼ - -![Keyboard Shortcuts](http://www.tecmint.com/wp-content/uploads/2015/05/Keyboard-Shortcuts.png) -̿ݼ - - - ϲ - -![Compatibility Setting](http://www.tecmint.com/wp-content/uploads/2015/05/Compatibility-Setting.png) - - -### ### - -Ŀ̫Ҳ̫ϣѾﵽһijȣ㹻ɿԿ伴áҪGUIն˼Ƶл˵GuakeһҲҪһĴڣƵĴ򿪺͹رգʹtabڴ򿪵ӦóѰն˻лͬĹնˣҪֻF12 - -ΪκͬʱʹGUIն˵Linuxû˵GuakeDZĹߡͬģһκҪϵͳнʹGUIն˵ƼΪƽûκϰ - -Ҫ˵ȫˡڰװʹʱκ⣬ңǻҲʹGuakeľ顣ľ顣޺ͷ԰ - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/install-guake-terminal-ubuntu-mint-fedora/ - -ߣ[Avishek Kumar][a] -ߣ[wwy-hust](https://github.com/wwy-hust) -Уԣ[УID](https://github.com/УID) - - [LCTT](https://github.com/LCTT/TranslateProject) ԭ룬[Linuxй](https://linux.cn/) Ƴ - -[a]:http://www.tecmint.com/author/avishek/ -[1]:http://www.tecmint.com/linux-terminal-emulators/ -[2]:https://github.com/Guake/guake/releases/tag/0.7.0 diff --git a/translated/share/20150527 How to Develop Own Custom Linux Distribution From Scratch.md b/translated/share/20150527 How to Develop Own Custom Linux Distribution From Scratch.md new file mode 100644 index 0000000000..059f07b195 --- /dev/null +++ b/translated/share/20150527 How to Develop Own Custom Linux Distribution From Scratch.md @@ -0,0 +1,65 @@ +δԼLinuxа +================================================================================ +ǷԼLinuxа棿ÿLinuxûʹLinuxĹжһԼķа棬һΡҲ⣬ΪһLinuxҲǹһԼLinuxа档һLinuxа汻Linux From Scratch (LFS) + +ڿʼ֮ǰܽһЩLFSݣ£ + +### 1. ЩҪԼLinuxаӦ˽һLinuxа棨ζŴͷʼһеLinuxаIJͬ ### + +ֻĻʾƵ¼Լӵиõʹ顣ѡκһLinuxа沢ҰϲýиԻá⣬ù߿԰ + +бļboot-loadersںˣѡʲôñȻԼһжôҪLinux From Scratch (LFS) + +**ע**ֻҪLinuxϵͳ飬ָϲʺһLinuxа棬˽ôʼԼһЩϢôָΪд + +### 2. һLinuxа棨LFSĺô ### + +- ˽Linuxϵͳڲ +- һӦϵͳ +- ϵͳLFSdzգΪԸð/ðʲôӵоԵƿ +- ϵͳLFSڰȫϻ + +### 3. һLinuxа棨LFSĻ ### + +һLinuxϵͳζŽҪĶһұ֮Ҫġĺʱ䡣ҪһõLinuxϵͳ㹻Ĵ̿ռLinuxϵͳ + +### 4. ȤǣGentoo/GNU LinuxijӽLFSGentooLFSȫԴĶƵLinuxϵͳ ### + +### 5. ӦһоLinuxûԱ൱˽⣬Ǹshellűרҡ˽һűԣCãʹЩһֻ֣ҪһѧϰߣԺ֪ܿʶҲԿʼҪDzҪLFSжʧ顣 ### + +ᶨ»LFSеһʱ + +### 6. ҪһһָһLinuxLFSǴLinuxĹٷָϡǵĴվtradepubҲΪǵĶLFSָϣͬѵġ ### + +ԴLinux From Scratch鼮 + +[![](http://www.tecmint.com/wp-content/uploads/2015/05/Linux-From-Scratch.gif)][1] + +: [Linux From Scratch][1] + +### ڣLinux From Scratch ### + +ⱾLFSĿͷGerard BeekmansģMatthew BurgessBruse Dubbs༭˶LFSĿ쵼ˡⱾݺܹ㷺338ҳ + +ݰLFS׼LinuxLFSűʹLFS͸¼к֪LFSĿж + +Ȿ黹˱һԤʱ䡣ԤʱԱһʱΪοеĶķʽ֣˵ + +гԣʱ䲢ԹԼLinuxаȤôԲ飨أĻᡣҪģⱾһLinuxϵͳκLinuxа棬㹻Ĵ̿ռ伴ɣпʼԼLinuxϵͳʱ顣 + +LinuxʹԣԼֹһԼLinuxа棬ֽ׶Ӧ֪ȫˣϢԲοӵеݡ + +˽Ķ/ʹⱾľⱾ꾡LFSָϵʹǷ㹻򵥣ѾһLFSǵĶһЩ飬ӭԺͷ + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/create-custom-linux-distribution-from-scratch/ + +ߣ[Avishek Kumar][a] +ߣ[wwy-hust](https://github.com/wwy-hust) +Уԣ[УID](https://github.com/УID) + + [LCTT](https://github.com/LCTT/TranslateProject) ԭ룬[Linuxй](https://linux.cn/) Ƴ + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://tecmint.tradepub.com/free/w_linu01/prgm.cgi diff --git a/translated/share/20150603 Arc Is a Gorgeous GTK Theme for Linux Desktops.md b/translated/share/20150603 Arc Is a Gorgeous GTK Theme for Linux Desktops.md new file mode 100644 index 0000000000..14dd88ef70 --- /dev/null +++ b/translated/share/20150603 Arc Is a Gorgeous GTK Theme for Linux Desktops.md @@ -0,0 +1,55 @@ +Arc是一个很棒的Linux桌面的GTK主题 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/06/arc-gtk-theme.jpg) + +距离本站上次推荐的GTK主题已经过了很久了。 + +但是看到上面的Arc后,需要纠正这点了。 + +我们不能不提到它。 + +### Arc GTK主题 ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/06/see-through-theme.png) + +Transparency. Not to everyones’ taste. +透明并不符合每个人的口味 + +Arc是一个扁平化主题并有微妙的配色并部分选中的窗口透明,就像GTK的顶拦和Nautilus的侧边栏。 + + +它的效果不像我们之前的主题那样将程序渲染的像躲猫猫那样混乱。像OSX Yosemite,效果用的不变多但是很好。 + +随之的图标集(称为Vertex)同样可用。 + +**是的它支持Unity** + +Arc主题支持基于GTK3和GTK2桌面环境,包含Gnome Shell(当然)和标准的Ubuntu Unity。 + +它也可以很好地与轻量级的Budgie和elementary的Pantheon桌面以及也可以工作在Cinnamon上。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/06/Screen-Shot-2015-06-02-at-18.07.15.png) + +Arc中的开关、滑块和小挂件。 + +它并不容易下载与安装- *understatement klaxon* - 因为它还在密集开发中。 + + +安装包需要GTK 3.14或者更新,这意味着Ubuntu 14.04 LTS和14.10的用户无法使用了。 + +那些使用Ubuntu 15.04的用户可以使用这个主题。你还不能添加ppa或者双击.deb包。如果你喜欢你看见的你需要卷起你的袖子并查看github上的编译指导。 + +- [Github中Arc安装指导][1] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2015/06/arc-gtk-theme + +作者:[Joey-Elijah Sneddon][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://plus.google.com/117485690627814051450/?rel=author +[1]:https://github.com/horst3180/Arc-theme diff --git a/translated/share/20150603 Here's How to Install the Beautiful Arc GTK+ Flat Theme on Linux.md b/translated/share/20150603 Here's How to Install the Beautiful Arc GTK+ Flat Theme on Linux.md new file mode 100644 index 0000000000..f8d1c56d41 --- /dev/null +++ b/translated/share/20150603 Here's How to Install the Beautiful Arc GTK+ Flat Theme on Linux.md @@ -0,0 +1,61 @@ +如何在Linux中安装漂亮的扁平化Arc GTK+主题 +================================================================================ +> 易于看懂的每步都有的教程 + +**今天我们将向你介绍最新发布的GTK+主题,它拥有透明和扁平元素,并且与多个桌面环境和Linux发行版见荣发。[这个主题叫Arc][1]。** + +开始讲细节之前,我建议你快速地看一下下面的图,这样你有会对这个主题就会有一个基本的概念了。同样你应该意识到它目前可以工作在GTK+ 2.x、GTK+ 3.x、GNOME-Shell、 Budgie、 Unity和Pantheon用户界面,它们都使用了GNOME栈。 + +同样、Arc主题的开发者提醒我们它已经成功地在Ubuntu 15.04(Vivid Vervet)、 Arch Linux、 elementary OS 0.3 Freya、 Fedora 21、 Fedora 22、 Debian GNU/Linux 8.0 (Jessie)、 Debian Testing、 Debian Unstable、 openSUSE 13.2、 openSUSE Tumbleweed和Gentoo测试过了。 + +### 要求和安装指导 ### + +要构建Arc主题,你需要先安装一些包,比如autoconf、 automake、 pkg-config (对Fedora的pkgconfig)、基于Debian/Ubuntu-based发行版的libgtk-3-dev或者基于RPM的gtk3-devel、 git、 gtk2-engines-pixbuf和gtk-engine-murrine (对Fedora的gtk-murrine-engine)。 + +Arc主题还没有二进制包,因此你需要从git仓库中取下最新的源码并编译。这样,打开终端并运行下面的命令,一行行地,并在每行的末尾按下回车键并等待上一步完成来继续一步。 + + git clone https://github.com/horst3180/arc-theme --depth 1 && cd arc-theme + git fetch --tags + git checkout $(git describe --tags `git rev-list --tags --max-count=1`) + ./autogen.sh --prefix=/usr + sudo make install + +就是这样!此时你已经在你的GNU/Linux发行版中安装了Arc主题,如果你使用GNOME可以使用GONME Tweak工具或者如果你使用Unity可以使用Unity Tweak工具来激活主题。玩得开心也不要忘了在下面的评论栏里留下你的截图。 + +![](http://i1-news.softpedia-static.com/images/news2/Here-s-How-to-Install-the-Beautiful-Arc-GTK-plus-Flat-Theme-on-Linux-483143-2.jpg) + +![](http://i1-news.softpedia-static.com/images/news2/Here-s-How-to-Install-the-Beautiful-Arc-GTK-plus-Flat-Theme-on-Linux-483143-3.jpg) + +![](http://i1-news.softpedia-static.com/images/news2/Here-s-How-to-Install-the-Beautiful-Arc-GTK-plus-Flat-Theme-on-Linux-483143-4.jpg) + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Here-s-How-to-Install-the-Beautiful-Arc-GTK-plus-Flat-Theme-on-Linux-483143.shtml + +作者:[Marius Nestor][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/marius-nestor +[1]:https://github.com/horst3180/Arc-theme +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: +[13]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: diff --git a/translated/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md b/translated/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md new file mode 100644 index 0000000000..667a951f39 --- /dev/null +++ b/translated/talk/20150520 Is Linux Better than OS X GNU Open Source and Apple in History.md @@ -0,0 +1,57 @@ +Linux比Mac OS X更好吗?历史中的GNU,开源和Apple +============================================================================== +> 自由软件/开源社区与Apple之间的争论可以回溯到上世纪80年代,当时Linux的创始人称Mac OS X的核心就是"一个废物",还有其他一些软件历史上的轶事。 + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/05/untitled_2.png) + +开源拥护者们与微软之间有着很长,而且摇摆的关系。每个人都知道这个。但是,在许多方面,自由或者开源软件的支持者们与Apple之间的紧张关系则更加突出——尽管这很少受到媒体的关注。 + +需要说明的是,并不是所有的开源拥护者都厌恶苹果。Anecdotally(待译),我已经见过很多Linux的黑客玩弄iPhones和iPads。实际上,许多Linux用户是十分喜欢Apple的OS X系统的,以至于他们[创造了很多Linux的发行版][1],都设计得看起来像OS X。(顺便说下,[北朝鲜政府][2]就这样做了。) + +但是Mac的信徒与企鹅——即Linux社区(未提及自由与开源软件世界的小众群体)的信徒之间的关系,并不一直是完全的和谐。并且这绝不是一个新的现象,在我研究Linux历史和开源基金会的时候就发现了。 + +### GNU vs. Apple ### + +这场战争将回溯到至少上世界80年代后期。1988年6月,Richard Stallman发起了[GNU][3]项目,希望建立一个完全自由的类Unix操作系统,其源代码讲会免费共享,[[强烈指责][4]Apple对[Hewlett-Packard][5](HPQ)和[Microsoft][6](MSFT)的诉讼,称Apple的声明中,说别人对Macintosh操作系统的界面和体验的抄袭是不正确。如果Apple流行,GNU警告到,这家公司“将会借助大众的新力量终结掉自由软件,而自由软件可以成为商业软件的替代品。” + +那个时候,GNU对抗Apple的诉讼(这意味着,十分讽刺的是,GNU正在支持Microsoft,尽管当时的情况不一样),通过发布["让你的律师远离我的电脑”按钮][7]。同时呼吁GNU的支持者们抵制Apple,警告如果Macintoshes看起来是不错的计算机,但Apple一旦赢得了诉讼就会给市场带来垄断,这会极大地提高计算机的售价。 + +Apple最终[输掉了诉讼][8],但是直到1994年之后,GNU才[撤销对Apple的抵制][9]。这期间,GNU一直不断指责Apple。在上世纪90年代早期甚至之后,GNU开始发展GNU软件项目,可以在其他个人电脑平台包括MS-DOS上使用。[GNU 宣称][10],除非Apple停止在计算机领域垄断的野心,让用户界面可以模仿Macintosh的一些东西,否则“我们不会提供任何对Apple机器的支持。”(因此讽刺的是一大堆软件都开发了OS X和类Unix系统的版本,于是Apple在90年代后期介绍这些软件来自GNU。但是那是另外的故事了。) + +### Trovalds on Jobs ### + +除去他对大多数发行版比较自由放任的态度,Liuns Trovalds,Linux内核的创造者,相较于Stallman和GNU过去对Apple的态度没有多一点仁慈。在他2001年出版的书"Just For Fun: The Story of an Accidental Revolutionary"中,Trovalds描述到与Steve Jobs的一个会面,大约是1997年收到后者的邀请去讨论Mac OS X,Apple正在开发,但还没有公开发布。 + +"基本上,Jobs一开始就试图告诉我在桌面上的玩家就两个,Microsoft和Apple,而且他认为我能为Linux做的最好的事,就是从了Apple,努力让开源用户站到Mac OS X后面去"Trovalds写道。 + +这次谈判显然让Trovalds很不爽。争吵的一点集中在Trovalds对Mach技术上的藐视,对于Apple正在用于构建新的OS X操作系统的内核,Trovalds称其“一推废物。它包含了所有你能做到的设计错误,并且甚至打算只弥补一小部分。” + +但是更令人不快的是,显然是Jobs在开发OS X时入侵开源的方式(OS X的核心里上有很多开源程序):“他有点贬低了结构的瑕疵:谁在乎基础操作系统,真正的low-core东西是不是开源,如果你有Mac层在最上面,这不是开源?” + +一切的一切,Trovalds总结到,Jobs“并没有使用太多争论。他仅仅很简单地说着,胸有成竹地认为我会对与Apple合作感兴趣”。“他没有任何线索,不能去想像还会有人并不关心Mac市场份额的增长。我认为他真的感到惊讶了,当我表现出对Mac的市场有多大,或者Microsoft市场有多大的可怜的关心时。” + +当然,Trovalds并没有对所有Linux用户说起。他对于OS X和Apple的看法从2001年开始就渐渐软化了。但实际上,早在2000年,Linux社区的领导角色表现出对Apple和其高层的傲慢的深深的鄙视,可以看出一些重要的东西,关于Apple和开源/自由软件世界的矛盾是多么的根深蒂固。 + +从以上两则历史上的花边新闻中,可以看到关于Apple产品价值的重大争议,即是否该公司致力于提升软硬件的质量,或者仅仅是借市场的小聪明获利,后者会让Apple产品卖出更多的钱,**********(该处不知如何翻译)。但是不管怎样,我会暂时置身讨论之外。 + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/051815/linux-better-os-x-gnu-open-source-and-apple- + +作者:[Christopher Tozzi][a] +译者:[wi-cuckoo](https://github.com/wi-cuckoo) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://thevarguy.com/author/christopher-tozzi +[1]:https://www.linux.com/news/software/applications/773516-the-mac-ifying-of-the-linux-desktop/ +[2]:http://thevarguy.com/open-source-application-software-companies/010615/north-koreas-red-star-linux-os-made-apples-image +[3]:http://gnu.org/ +[4]:https://www.gnu.org/bulletins/bull5.html +[5]:http://www.hp.com/ +[6]:http://www.microsoft.com/ +[7]:http://www.duntemann.com/AppleSnakeButton.jpg +[8]:http://www.freibrun.com/articles/articl12.htm +[9]:https://www.gnu.org/bulletins/bull18.html#SEC6 +[10]:https://www.gnu.org/bulletins/bull12.html diff --git a/translated/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md b/translated/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md new file mode 100644 index 0000000000..1f645595b7 --- /dev/null +++ b/translated/tech/20150211 Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules.md @@ -0,0 +1,271 @@ +在Apache中使用Mod_Security和Mod_evasive来抵御暴力破解和DDos攻击 +================================================================================ +对于那些托管主机或者需要将您的主机暴露在因特网中的人来说,保证您的系统在面对攻击时安全是一个重要的事情。 + +mod_security(一个开源的可以无缝接入Web服务器的用于Web应用入侵检测和防护的引擎)和mod_evasive是两个在服务器端对抗暴力破解和(D)Dos攻击的非常重要的工具。 + +mod_evasive,如它的名字一样,在受攻击时提供避实就虚的功能,它像一个雨伞一样保护Web服务器免受那些威胁。 + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Install-Mod_Security-Mod_evasive-in-CentOS.jpg) + +安装Mod_Security和Mod_Evasive来保护Apache + +在这篇文章中我们将讨论如何安装、配置以及在RHEL/CentOS6、7和Fedora 21-15上将它们整合到Apache。另外,我们会模拟攻击以便验证服务器做出了正确的反应。 + +以上以您的系统中安装有LAMP服务器为基础,所以,如果您没有安装,请先阅读下面链接的文章再开始阅读本文。 + +- [在RHEL/CentOS 7中安装LAMP][1] + +如果您在运行RHEL/CentOS 7或Fedora 21,您还需要安装iptables作为默认[防火墙][2]前端以取代firewalld。这样做是为了在RHEL/CentOS 7或Fedora 21中使用同样的工具。 + +### 步骤 1: 在RHEL/CentOS 7和Fedora 21上安装Iptables防火墙 ### + +用下面的命令停止和禁用firewalld: + + # systemctl stop firewalld + # systemctl disable firewalld + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Disable-Firewalld-Service.png) +禁用firewalld服务 + +接下来在使能iptables之前安装iptables-services包: + + # yum update && yum install iptables-services + # systemctl enable iptables + # systemctl start iptables + # systemctl status iptables + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Install-Iptables-Firewall.png) +安装Iptables防火墙 + +### 步骤 2: 安装Mod_Security和Mod_evasive ### + +另外,在安装LAMP后,您还需要在RHEL/CentOS 7/6中[开启EPEL仓库][3]来安装这两个包。Fedora用户不需要开启这个仓库,因为epel已经是Fedora项目的一部分了。 + + # yum update && yum install mod_security mod_evasive + +当安装结束后,您会在/etc/httpd/conf.d下找到两个工具的配置文件。 + + # ls -l /etc/httpd/conf.d + +![](http://www.tecmint.com/wp-content/uploads/2012/06/mod_security-mod_evasive-Configurations.png) +mod_security + mod_evasive 配置文件 + +现在,为了整合这两个模块到Apache,并在启动时加载它们。请确保下面几行出现在mod_evasive.conf和mod_security.conf的顶层部分,它们分别为: + + LoadModule evasive20_module modules/mod_evasive24.so + LoadModule security2_module modules/mod_security2.so + +请注意modules/mod_security2.so和modules/mod_evasive24.so都是从/etc/httpd到模块源文件的相对路径。您可以通过列出/etc/httpd/modules的内容来验证(如果需要的话,修改它): + + # cd /etc/httpd/modules + # pwd + # ls -l | grep -Ei '(evasive|security)' + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Verify-mod_security-mod_evasive-Modules.png) +验证mod_security + mod_evasive模块 + +接下来重启Apache并且核实它已加载了mod_evasive和mod_security: + + # service httpd restart [在RHEL/CentOS 6和Fedora 20-18上] + # systemctl restart httpd [在RHEL/CentOS 7和Fedora 21上] + +---------- + + [输出已加载的静态模块和动态模块列表] + + # httpd -M | grep -Ei '(evasive|security)' + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Check-mod_security-mod_evasive-Loaded.png) +检查mod_security + mod_evasive模块已加载 + +### 步骤 3: 安装一个核心规则集并且配置Mod_Security ### + +简单来说,一个核心规则集(即CRS)为web服务器提供特定状况下如何反应的指令。mod_security的开发者们提供了一个免费的CRS,叫做OWASP([开放Web应用安全项目])ModSecurity CRS,可以从下面的地址下载和安装。 + +1. 下载OWASP CRS到为之创建的目录 + + # mkdir /etc/httpd/crs-tecmint + # cd /etc/httpd/crs-tecmint + # wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Download-mod_security-Core-Rules.png) +下载mod_security核心规则 + +2. 解压CRS文件并修改文件夹名称 + + # tar xzf master + # mv SpiderLabs-owasp-modsecurity-crs-ebe8790 owasp-modsecurity-crs + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Extract-mod_security-Core-Rules.png) +解压mod_security核心规则 + +3. 现在,是时候配置mod_security了。将同样的规则文件(owasp-modsecurity-crs/modsecurity_crs_10_setup.conf.example)拷贝至另一个没有.example扩展的文件。 + + # cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf + +并通过将下面的几行插入到web服务器的主配置文件/etc/httpd/conf/httpd.conf来告诉Apache将这个文件和该模块放在一起使用。如果您选择解压打包文件到另一个文件夹,那么您需要修改Include的路径: + + + Include crs-tecmint/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf + Include crs-tecmint/owasp-modsecurity-crs/base_rules/*.conf + + +最后,建议您在/etc/httpd/modsecurity.d目录下创建自己的配置文件,在那里我们可以用我们自定义的文件夹(接下来的示例中,我们会将其命名为tecmint.conf)而无需修改CRS文件的目录。这样做能够在CRSs发布新版本时更加容易的升级。 + + + SecRuleEngine On + SecRequestBodyAccess On + SecResponseBodyAccess On + SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream + SecDataDir /tmp + + +您可以在[SpiderLabs的ModSecurity GitHub][5]仓库中参考关于mod_security目录的更完整的解释。 + +### 步骤 4: 配置Mod_Evasive ### + +mod_evasive被配置为使用/etc/httpd/conf.d/mod_evasive.conf中的指令。与mod_security不同,由于在包升级时没有规则来更新,因此我们不需要独立的文件来添加自定义指令。 + +默认的mod_evasive.conf开启了下列的目录(注意这个文件被详细的注释了,因此我们剔掉了注释以重点显示配置指令): + + + DOSHashTableSize 3097 + DOSPageCount 2 + DOSSiteCount 50 + DOSPageInterval 1 + DOSSiteInterval 1 + DOSBlockingPeriod 10 + + +这些指令的解释: + +- DOSHashTableSize: 这个指令指明了哈希表的大小,它用来追踪基于IP地址的活动。增加这个数字将使查询站点访问历史变得更快,但如果被设置的太高则会影响整体性能。 +- DOSPageCount: 在DOSPageInterval间隔内可由一个用户发起的面向特定的URI(例如,一个Apache托管的文件)的同一个请求的数量。 +- DOSSiteCount: 类似DOSPageCount,但涉及到整个站点总共有多少的请求可以在DOSSiteInterval间隔内被发起。 +- DOSBlockingPeriod: 如果一个用户超过了DOSSPageCount的限制或者DOSSiteCount,他的源IP地址将会在DOSBlockingPeriod期间内被加入黑名单。在DOSBlockingPeriod期间,任何从这个IP地址发起的请求将会遭遇一个403禁止错误。 + +尽可能的试验这些值,以使您的web服务器有能力处理特定大小的负载。 + +**一个小警告**: 如果这些值设置的不合适,则您会蒙受阻挡合法用户的风险。 + +您也许想考虑下其他有用的指令: + +#### DOSEmailNotify #### + +如果您运行有一个邮件服务器,您可以通过Apache发送警告消息。注意,如果SELinux已开启,您需要授权apache用户SELinux的权限来发送email。您可以通过下面的命令来授予权限: + + # setsebool -P httpd_can_sendmail 1 + +接下来,将这个指令和其他指令一起加入到mod_evasive.conf文件。 + + DOSEmailNotify you@yourdomain.com + +如果这个值被合适的设置并且您的邮件服务器在正常的运行,则当一个IP地址被加入黑名单时,会有一封邮件被发送到相应的地址。 + +#### DOSSystemCommand #### + +它需要一个有效的系统命令作为参数, + + DOSSystemCommand + +这个指令指定当一个IP地址被加入黑名单时执行的命令。它通常结合shell脚本来使用,在脚本中添加一条防火墙规则来阻挡某个IP进一步的连接。 + +**写一个shell脚本在防火墙阶段处理IP黑名单** + +当一个IP地址被加入黑名单,我们需要阻挡它进一步的连接。我们需要下面的shell脚本来执行这个任务。在/usr/local/bin下创建一个叫做scripts-tecmint的文件夹(或其他的名字),以及一个叫做ban_ip.sh的文件。 + + #!/bin/sh + # 由mod_evasive检测出,将被阻挡的IP地址 + IP=$1 + # iptables的完整路径 + IPTABLES="/sbin/iptables" + # mod_evasive锁文件夹 + MOD_EVASIVE_LOGDIR=/var/log/mod_evasive + # 添加下面的防火墙规则 (阻止所有从$IP流入的流量) + $IPTABLES -I INPUT -s $IP -j DROP + # 为了未来的检测,移除锁文件 + rm -f "$MOD_EVASIVE_LOGDIR"/dos-"$IP" + +我们的DOSSystemCommand指令应该是这样的: + + DOSSystemCommand "sudo /usr/local/bin/scripts-tecmint/ban_ip.sh %s" + +上面一行的%s代表了由mod_evasive检测到的攻击IP地址。 + +**将apache用户添加到sudoers文件** + +请注意,如果您不给予apache用户以无需终端和密码的方式运行我们脚本(关键就是这个脚本)的权限,则这一切都不起作用。通常,您只需要以root权限键入visudo来存取/etc/sudoers文件,接下来添加下面的两行即可: + + apache ALL=NOPASSWD: /usr/local/bin/scripts-tecmint/ban_ip.sh + Defaults:apache !requiretty + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Add-Apache-User-to-Sudoers.png) +添加Apache用户到Sudoers + +**重要**: 作为默认的安全策略,您只能在终端中运行sudo。由于这个时候我们需要在没有tty的时候运行sudo,我们像下面图片中那样必须注释掉下面这一行: + + #Defaults requiretty + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Disable-tty-for-Sudo.png) +为Sudo禁用tty + +最后,重启web服务器: + + # service httpd restart [在RHEL/CentOS 6和Fedora 20-18上] + # systemctl restart httpd [在RHEL/CentOS 7和Fedora 21上] + +### 步骤4: 在Apache上模拟DDos攻击 ### + +有许多工具可以在您的服务器上模拟外部的攻击。您可以google下“tools for simulating ddos attacks”来找一找相关的工具。 + +注意,您(也只有您)将负责您模拟所造成的结果。请不要考虑向不在您网络中的服务器发起模拟攻击。 + +假如您想对一个由别人托管的VPS做这些事情,您需要向您的托管商发送适当的警告或就那样的流量通过他们的网络获得允许。Tecmint.com不会为您的行为负责! + +另外,仅从一个主机发起一个Dos攻击的模拟无法代表真实的攻击。为了模拟真实的攻击,您需要使用许多客户端在同一时间将您的服务器作为目标。 + +我们的测试环境由一个CentOS 7服务器[IP 192.168.0.17]和一个Windows组成,在Windows[IP 192.168.0.103]上我们发起攻击: + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Confirm-Host-IPAddress.png) +确认主机IP地址 + +请播放下面的视频,并跟从列出的步骤来模拟一个Dos攻击: + +注:youtube视频,发布的时候不行做个链接吧 + + +然后攻击者的IP将被iptables阻挡: + +![](http://www.tecmint.com/wp-content/uploads/2012/06/Blocked-Attacker-IP.png) +阻挡攻击者的IP地址 + +### 结论 ### + +在开启mod_security和mod_evasive的情况下,模拟攻击会导致CPU和RAM用量在源IP地址被加入黑名单之前出现短暂几秒的使用峰值。如果没有这些模块,模拟攻击绝对会很快将服务器击溃,并使服务器在攻击期间无法提供服务。 + +我们很高兴听见您打算使用(或已经使用过)这些工具。我们期望得到您的反馈,所以,请在留言处留下您的评价和问题,谢谢! + +### 参考链接 ### + +- [https://www.modsecurity.org/][6] +- [http://www.zdziarski.com/blog/?page_id=442][7] + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/ + +作者:[Gabriel Cánepa][a] +译者:[wwy-hust](https://github.com/wwy-hust) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/gacanepa/ +[1]:http://www.tecmint.com/install-lamp-in-centos-7/ +[2]:http://www.tecmint.com/configure-firewalld-in-centos-7/ +[3]:http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/ +[4]:https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project +[5]:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Configuration_Directives +[6]:https://www.modsecurity.org/ +[7]:http://www.zdziarski.com/blog/?page_id=442 \ No newline at end of file diff --git a/translated/tech/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md b/translated/tech/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md deleted file mode 100644 index b8ed29b47c..0000000000 --- a/translated/tech/20150302 How to Limit the Network Bandwidth Used by Applications in a Linux System with Trickle.md +++ /dev/null @@ -1,314 +0,0 @@ -如何在linux上使用Trickle来限制应用程序的网络宽带使用. -================================================================================ -有没有遇到过系统中的某个应用程序独占了你所有的网络宽带的情形?如果你有过这样的遭遇,那么你就会感受到Trickle宽带调整应用角色的价值.不管你是一个系统管理员还是仅仅Linux用户,都需要学习如何控制应用程序的上下行速度,来确保你的网络宽带不会被某个程序 -霸占. - -![Install Trickle Bandwidth Limit in Linux](http://www.tecmint.com/wp-content/uploads/2013/11/Bandwidth-limit-trickle.png) -Install Trickle Bandwidth Limit in Linux - -### 什么是 Trickle? ### - -Trickle是一个网络宽带调整工具,可以让我们管理应用程序的网络上下行速度,使得可以避免其中的某个应用程序吃掉了全部或大部分可用的宽带.换句话说,Trickle可以让你基于单个应用程序来控制 -网络流量速率,而不是仅仅针对与单个用户--在客户端网络环境中经典的宽带调整样例, - -### Trickle是如何工作的?### - -另外,tricle可以帮助我们基于应用来定义优先级,所以当对整个系统进行了全局限制设定,高优先级的应用依然会自动地获取更多的宽带。为了实现这个目标,tricle设置通过TCP连接的套接字对数 -据发送、数据接收路径的流量限制。我们必须注意到,除了影响传输速率之外,tricle任何时候都不会以任何方式来改变其处理过程。 - -### Trickle不能做什么? ### - -这么说吧,唯一的限制就是,tricle静态连接的应用或者具有SUID或SGID位设置的二进制--因为他们使用动态链接并且将其自身加载到调整过程以及其关联的网络套接字之间。 Trickle此时会在这两种软件 -组件之间扮演代理的角色。 - -由于trickle并不会需要超级用户的权限来运行,所以用户可以设置用户独立的流量限制,可能这并不是你想要的,我们会探索如何使用全局设定来限制系统中的所有用户的流量限制。也即是说,此时系统中的每个用户具有管理 -各自的流量速率,但是无论如何,都会受到系统管理员给他们设置的边界限制。 - -在这边文章中,我们会描述如何通过trickle在linux平台上管理应用程序使用的网络宽带。为了生成必要流量,在此会在客户端(CentOS 7 server – dev1: 192.168.0.17)上使用 ncftpput 和 - ncftpget, 在服务器(Debian Wheezy 7.5 – dev2: 192.168.0.15)上使用vsftpd 来进行演示。 相同的指令也可以在RedHat,Fedora和Ubuntu等系统使用。 - -#### 前提条件 #### - -1. 对于 RHEL/CentOS 7/6, [开启EPEL仓库][1]。EPEL的Extra Packages是一个 有Fedora项目维护的高质量、开源的软件仓库,而且百分之百与其衍生产品相兼容,如 -企业版本Linux和CentOS. 在这个仓库中trickle和ncftp两者都是可用的。 - -2. 按照如下方式安装ncftp: - - # yum update && sudo yum install ncftp [On RedHat based systems] - # aptitude update && aptitude install ncftp [On Debian based systems] - -3. 在单独的服务器上设置一个FTP服务器。需要注意的是,尽管FTP天生就不安全,但是 -仍然被广泛应用在安全性无关紧要的文件上传下载中。 在这篇文章中我们使用它来演示 -trickle的优点,同时它也会在客户端的标准输出流中显示传输速率,我们将是否在另外 -的日期时间中使用放在一边讨论。 - - # yum update && yum install vsftpd [On RedHat based systems] - # aptitude update && aptitude install vsftpd [On Debian based systems] - -现在,在FTP服务器上按照以下方式编辑 /etc/vsftpd/vsftpd.conf 文件。 - - anonymous_enable=NO - local_enable=YES - chroot_local_user=YES - allow_writeable_chroot=YES - -在此之后,确保在你的当前会话中开启了vsftpd,并在之后的启动中让其自动启动。 - - # systemctl start vsftpd [For systemd-based systems] - # systemctl enable vsftpd - # service vsftpd start [For init-based systems] - # chkconfig vsftpd on - -4. 如果你选在在一个CentOS/RHEL 7中为FTP服务器的远程访问配备SSH秘钥,你需要 -一个具有适合访问root目录之外的目录和文件内容上传下载权限并密码受保护的用户账户。 - -你可以通过在你的浏览器中输入以下的URL来浏览你的Home目录。一个登陆窗口会弹出来 -提示你输入FTP服务器中的有效的用户名和密码。 - - ftp://192.168.0.15 - -如果验证成功,你就会看到你的home目录中的内容。该教程的稍后部分中,你将可以刷新 -页面来显示在你之前上传过的文件。 - -![FTP Directory Tree](http://www.tecmint.com/wp-content/uploads/2013/11/FTP-Directory-Tree.png) -FTP Directory Tree - -### 如何在Linux中安装 Tricle ### - -1. 通过yum或aptitude来安装tricle. - -为了确保能够成功安装,最好在安装工具之前,保证当前的安装包是最新的版本。 - - - # yum -y update && yum install trickle [On RedHat based systems] - # aptitude -y update && aptitude install trickle [On Debian based systems] - -2. 确认trickle是否对特定的二进制包有用。 - -之前我们解释过,trickle只对使用动态或共享包的二进制包有用。为了确认我们是否可以对某个特定的应用使用trickle,我们可以使用著名的ldd( -列出动态依赖)工具。 特别地,我们会查看任何给定程序的动态依赖中检查其当前使用的glibc,因为其准确地定义了使用套接字交流中使用的系统调用。 - -对一个给定的二进制包执行以下命令来查看是否能对其使用trickle进行宽带调整: - - # ldd $(which [binary]) | grep libc.so - -例如, - - # ldd $(which ncftp) | grep libc.so - -其输出是: - - # libc.so.6 => /lib64/libc.so.6 (0x00007efff2e6c000) - -输出中的括号中的字符可能在不同的系统平台中发生改变,甚至相同的命令在不同的时候运行也会,因为其代表包加载到物理内存中的地址。 - -如果上面的命令没有返回任何的结果,就说明这个二进制包没有使用libc包,因此tricle对其不能起到宽带调整的作用。 - -### 学习如何使用Trickle### - -最基本的用法就是使用其单模式,通过这种方式,trickle用来显示地定义给定应用程序的上传下载速率。如前所述,为了简单性,我们会使用相同的应用 -来进行上传下载测试。 - -#### 在单模式下运行trickle#### - -我们会比较在有无trickle的情况下的上传下载速率, ‘-d’选项指示下载速率(KB/s单位),而'-u'选项指示相同单位的上传速率。另外我们会使用到‘-s’ -选项来指定trickle应该以单模式运行。 - -以单模式运行trickle的基本语法如下: - - # trickle -s -d [download rate in KB/s] -u [upload rate in KB/s] - -为了能够让你自己运行以下样例,确保你在自己的客户端安装了trickle和ncftp(我的是192.168.0.17)。 - -**样例1:在有无trickle的情况下上传一个2.8 MB的PDF文件。** - -我们使用一个自由发布的LInux基础知识PDF文件来进行下面的测试[文件链接][2]。 - -你可以首先使用下面的命令将这个文件下载到你当前的工作目录中: - # wget http://linux-training.be/files/books/LinuxFun.pdf - -下面是在没有trickle的情况下将一个文件上传到我们的FTP服务器的语法: - - # ncftpput -u username -p password 192.168.0.15 /remote_directory local-filename - -其中的 /remote_directory 是相对于用户名的Home目录的上传路径,而local-filename是一个你当前工作目录中的文件。 - -特别的是,在没有trickle的情形下,我们可以得到上传峰值速率52.02MB/s(请注意,这个不是真正的平均上传速率,而是峰值开始的瞬时值),而且这个文件几乎 -在瞬间就完成了上传。 - - # ncftpput -u username -p password 192.168.0.15 /testdir LinuxFun.pdf - -输出: - - LinuxFun.pdf: 2.79 MB 52.02 MB/s - -在使用trickle的情况下,我们会限制上传速率在5KB/s。在第二次上传文件之前,我们需要在目标目录中删除这个文件,否则ncftp就会通知我们在目标 -目录中已经存在了与上传文件相同的文件,从而不会执行文件的传输: - # rm /absolute/path/to/destination/directory/LinuxFun.pdf - -然后: - - # trickle -s -u 5 ncftpput -u username -p password 111.111.111.111 /testdir LinuxFun.pdf - -输出: - - LinuxFun.pdf: 2.79 MB 4.94 kB/s - -在上面的样例中,我们看到平均的上传速率下降到了5KB/s。 - -**样例2:在有无trickle的情况下下载相同过得2.8MB的PDF文件** - -首先,记得从原来的源文目录中删除这个PDF: - - # rm /absolute/path/to/source/directory/LinuxFun.pdf - -请注意,下面的样例中将远程的文件下载到客户端机器的当前目录下,这是由FTP服务器的IP地址后面的·.·决定的。 - -没有trickle的情况下: - - # ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf - -输出: - - LinuxFun.pdf: 2.79 MB 260.53 MB/s - -在有trickle的情况下,限制下载速率在20KB/s: - - # trickle -s -d 30 ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf - -输出: - - LinuxFun.pdf: 2.79 MB 17.76 kB/s - -### 在有监督的模式下运行Trickle [未管理的]### - -Tricle也可以在未管理的模式下运行,通过跟随在/etc/tricled.conf文件中定义的一系列参数。 这个文件定义了守护线程 trickled的行为以及如何管理tricle。 - -另外,如果你想要全局设置被所有的应用程序使用的话,我们就会需要使用tricle命令。 这个命令运行守护线程并允许我们通过trickle定义所有应用程序共享的上传下载限制,不需要我们每次来进行指定。 - -例如,运行: - - # trickled -d 50 -u 10 - -会导致任何通过tricle运行的应用程序的上传下载速率分别限制在30kb/s和10kb/s。 - -请注意,你可以在任何时间都能确认守护线程tricled是否正在运行以及其运行参数: - - # ps -ef | grep trickled | grep -v grep - -输出: - - root 16475 1 0 Dec24 ? 00:00:04 trickled -d 50 -u 10 - -**样例3:在是否使用tricle的情形下上传一个 19MB 的mp4文件到我们的FTP服务器。** - -在这个样例中,我们会使用“He is the gift”的自由分布视频,可以通过这个[链接][3]下载。 - -我们将会在开始通过以下的命令将这个文件下载到你的当前工作目录中: - - # wget http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 - -首先,我们会使用之前列出的命令来开启守护进程trickled: - - # trickled -d 30 -u 10 - -在没有trickle时: - - # ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 - -输出: - - 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 36.31 MB/s - -有trickle的时: - - # trickle ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 - -输出: - - 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 9.51 kB/s - -我们可以看到上面的输出,上传的速率下降到了约 10KB/s。 - -** 样例4:在有无trickle的情形下下载这个相同的视频 ** - -与样例2一样,我们会将该文件下载到当前工作目录中。 - -在没有trickle时: - - # ncftpget -u username -p password 192.168.0.15 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 - -输出: - - 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 108.34 MB/s - -有trickle的时: - - # trickle ncftpget -u username -p password 111.111.111.111 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 - -输出: - 2014-00-1460-he-is-the-gift-360p-eng.mp4: 18.53 MB 29.28 kB/s - -上面的结果与我们之前设置的下载限速相对应(30KB/s)。 - -**注意:** 一旦守护进程开启之后,没有必要使用trickle来为每个应用程序来单独设置限制。 - -如前所述,每个人都可以进一步地通过tricled.conf来客制化tricle的宽带速率调整,该文件的一个典型的分区有以下部分组成: - - [service] - Priority = - Time-Smoothing = - Length-Smoothing = - -其中, - -- [service] 用来指示我们想要对其进行宽带使用调整的应用程序名称 -- Priority 用来让我们为某个服务制定一个相对于其他服务高的优先级,这样就不允许守护进程管理中的一个单独的应用程序来占用所有的宽带。越小的数字代表更高的优先级。 -- Time-Smoothing [以秒计]: 定义了trickled让各个应用程序传输或接收数据的时间间隔。小的间隔值(0.1-1秒)对于交互式应用程序是理想的,因为这样会具有一个更加平滑的会话体验,而一个相对较大 -的时间间隔值(1-10秒)对于需要批量传输应用程序就会显得更好。如果没有指定该值,默认是5秒。 -- Length-smoothing [KB 单位]: 该想法与Time-Smoothing如出一辙,但是是基于I/O操作而言。如果没有指定值,会使用默认的10KB。 - -平滑值的改变会被翻译为将指定的服务的使用一个间隔值而不是一个固定值。不幸的是,没有一个特定的公式来计算间隔值的上下限,主要依赖于特定的应用场景。 - -下面是一个在CentOS 7 客户端中的tricled.conf 样例文件(192.168.0.17): - - [ssh] - Priority = 1 - Time-Smoothing = 0.1 - Length-Smoothing = 2 - - [ftp] - Priority = 2 - Time-Smoothing = 1 - Length-Smoothing = 3 - -使用该设置,tricled会为SSH赋予比FTP较高的传输优先级。值得注意的是,一个交互进程,例如SSH,使用了一个较小的时间间隔值,然而一个处理批量数据传输的服务如FTP使用一个较大的时间 -间隔来负责之前的样例中的上传下载速率,尽管不是百分百的有trickled指定的值,但是也已经非常接近了。 - -### 总结 ### -在该文章中,我们探索了任何使用trickle在基于Fedora发行版和Debian衍生版平台上来限制应用程序的宽带使用.也包含了其他的可能用法,但是不对以下情形进行限制: - -- 限制系统下载工具的下载速度,例如[wget][4],或 BT客户端. - -- 限制你的系统的包管理工具`[yun][5]`更新的速度 (如果是基于Debian系统的话,其包管理工具为`[aptitude][6]`)。 - -- 如果你的服务器是在一个代理或防火墙后面(或者其本身即是代理或防火墙的话),你可以使用trickle来同时设定下载和上传速率,或者与客户端或外部交流速率。 - -欢迎提问或留言. --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/ - -作者:[Gabriel Cánepa][a] -译者:[theo-l](https://github.com/theo-l) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://www.tecmint.com/author/gacanepa/ -[1]:http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/ -[2]:http://linux-training.be/files/books/LinuxFun.pdf -[3]:http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 -[4]:http://www.tecmint.com/10-wget-command-examples-in-linux/ -[5]:http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/ -[6]:http://www.tecmint.com/dpkg-command-examples/ diff --git a/translated/tech/20150318 How to share a directory with Samba on Fedora or CentOS.md b/translated/tech/20150318 How to share a directory with Samba on Fedora or CentOS.md deleted file mode 100644 index 901fbf603e..0000000000 --- a/translated/tech/20150318 How to share a directory with Samba on Fedora or CentOS.md +++ /dev/null @@ -1,144 +0,0 @@ -FedoraCentOSʹSambaļ -================================================================================ -ڼǰ칫ͬĵ֮乲ļѲʲôˡ£ִϵͳͨļϵͳķʽʹõԼݵĽü򵥶͸Ļм΢WindowsLinuxôһļĿ¼ķʽͨһƽ̨ļЭ,SMB/CIFSWindowsȻ֧SMB/CIFSLinuxҲͨԴSambaʵSMB/CIFSЭ顣 - -ƪУǽչʾ**ʹSambaļ**ʹõLinuxƽ̨**FedoraCentOS**ƪ·ΪIJ֡ȣFedora/CentOS°װSambeţεSELinuxͷǽSambaļǽʹSambaļС - -### 1FedoraCentOSϰװSamba ### - -ȣװSambaԼһЩá - -SambaǷѾװϵͳУ - - $ rpm -q samba samba-common samba-client - -ûκζSambaδװʱӦʹװSamba - - $ sudo yum install samba samba-common samba-client - -һйıļСļӦSambaķʽԶ̵ûָУǻڶļ'/'дļУˣȷӦȨޡ - - $ sudo mkdir /shared - -homeļڴļУ磬~/shared뼤SELinuxSambahomeļйѡ彫ںᵽ - -ڴ/sharedļкļȨԱ֤ûԷ - - $ sudo chmod o+rw /shared - -ûԸļӵдȨޣҪƳе'w'ѡ - - $ sudo chmod o+r /shared - -һļԡļԱ֤SambaĹѾء - - $ sudo touch /shared/file1 - -### 2ΪSambaSELinux ### - -ҪٴSELinuxFedoraCentOSаSELinuxĬϿġSELinuxȷİȫ²Sambaȡ޸ļļС磬'samba_share_t'Աǩ - -ΪļӱҪıǩ - - $ sudo semanage fcontext -a -t samba_share_t "(/.*)?" - -滻Ϊ֮ǰΪSambaıļУ磬/shared - - $ sudo semanage fcontext -a -t samba_share_t "/shared(/.*)?" - -DZִrestorecon޸ĵıǩ£ - - $ sudo restorecon -R -v /shared - -![](https://farm9.staticflickr.com/8584/16652774078_2055f45f70_b.jpg) - -ΪͨSambahomeļڵļУDZSELinuxпhomeļеѡѡĬϱرաܴﵽЧδhomeļУôò衣 - - $ sudo setsebool -P samba_enable_home_dirs 1 - -### 3ΪSamba÷ǽ ### - -򿪷ǽSambaΪҪTCP/UDP˿ڡ - -ʹfirewalld磬FedoraCentOS7£õ޸Sambaصķǽ - - $ sudo firewall-cmd --permanent --add-service=samba - -ڷǽʹiptables磬CentOS6߸İ汾ʹSambaҪĶ˿ڡ - - $ sudo vi /etc/sysconfig/iptables - ----------- - - -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT - -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT - -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT - -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT - -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT - -Ȼiptables - - $ sudo service iptables restart - -### 4Samba ### - -IJSambaԽļеΪSambaļС - -ʹļ༭Sambaļӵļĩβ - - $ sudo nano /etc/samba/smb.conf - ----------- - - [myshare] - comment=my shared files - path=/shared - public=yes - writeable=yes - -ڵı磬"myshare"SambaԴ֣ԶȡSamba - -Sambaûʻǹغ͵SambaļϵͳġǿʹsmbpasswdһSambaûע⣬SambaûʻLinuxûѴڵġʹsmbpasswdһڵû᷵һϢ - -ʹκѴڵLinuxûΪSambaûϵͳдһµûΪȫûĵ¼űΪ/sbin/nologinҲûhomeļС - -Уڴһ"sambaguest"û£ - - $ sudo useradd -M -s /sbin/nologin sambaguest - $ sudo passwd sambaguest - -![](https://farm9.staticflickr.com/8702/16814479366_53f540d3ba_b.jpg) - -ڴһûʹsmbpasswdSambaûѯһʱԼһͬڸû롣 - - $ sudo smbpasswd -a sambaguest - -4. Samba񣬲SambaǷС - - $ sudo systemctl enable smb.service - $ sudo systemctl start smb.service - $ sudo systemctl is-active smb - -![](https://farm8.staticflickr.com/7607/16652984770_622f24bccc_b.jpg) - -ʹ鿴Sambaйļб - - $ smbclient -U sambaguest -L localhost - -![](https://farm8.staticflickr.com/7281/16220411103_06bf585901_b.jpg) - -ThunarļдȡSambaļԼfile1пƵĽͼע⣬SambaĹݿͨThunarͨ"smb:///myshare"ַȡ - -![](https://farm8.staticflickr.com/7644/16218011174_c8b34fcedc_b.jpg) - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/share-directory-samba-fedora-centos.html - -ߣ[Kristophorus Hadiono][a] -ߣ[wwy-hust](https://github.com/wwy-hust) -Уԣ[УID](https://github.com/УID) - - [LCTT](https://github.com/LCTT/TranslateProject) ԭ룬[Linuxй](http://linux.cn/) Ƴ - -[a]:http://xmodulo.com/author/kristophorus diff --git a/translated/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md b/translated/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md deleted file mode 100644 index 580e68e9d7..0000000000 --- a/translated/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md +++ /dev/null @@ -1,171 +0,0 @@ -Translating by demon -如何使用图形化工具远程管理Linux Vps上的MySql -================================================================================ -如果你在一个远程的VPS上运行了MYSQL server,你会如何管理你的远程数据库主机呢?基于web的数据库管理工具例如phpMyAdmin或者Adminer可能会是你一个想起的。这些基于web的管理工具需要一个后端的web服务和PHP引擎在正常运行。但是,如果你的VPS仅仅用来做数据库服务(e.g., for a multi-tier app),为临时的数据库管理提供一整套的LAMP是浪费VPS资源的。更糟的是,LAMP带有的HTTP端口可能会成为你VPS资源的安全漏洞。 - -作为一种选择,你可以使用在一台客户机上运行本地的Mysql客户端,当然,如果没有别的选择,一个纯净的命令行mysql客户端将是你的默认选择。但是命令行客户端的功能是有限的,因此它不适合在生产环境中使用,例如:sql开发,性能调优,模式验证等等。你是否在寻找一个成熟的MYSQL管理工具,那么一个MYSQL的图形化管理工具将会更好的满足你的需求。 - -什么是MySQL Workbench? - -作为一个由Oracle开发的成熟数据库管理工具,mysql workbench不仅仅是一个MySQL客户端。简而言之,Workbench是一个跨平台的(eg:Linux,MacOX,Windows)数据库设计,开发和管理图形工具。社区版本的Msyql Workbench是遵循GPL协议的。作为一个数据库管理者,你可以使用Workbench去配置Mysql服务,管理Mysql用户,完成数据库的备份与还原,监视数据库的健康状况,所有的都在对用户友好的图形化环境下处理。 - -在这个手册里,让我们演示下如何在Linux下安装和使用Mysql Workbench. - -在Linux上安装MySQL Workbench - -你可以在任何一个桌面linux机器上运行Mysql Workbench去设置你的数据库管理环境。然而一些Linux发行版(例如:Debian/Ubuntu)在他们的软件源中已经有了Mysql Workbench.从官方源中安装是一个好的方法,因为他们提供了最新的版本。这里介绍了如何设置一个官方的Workbench源和从中安装它。 - -#### Debian-based Desktop (Debia, Ubuntu, Mint): #### - -到其官方站点,选择一个和你环境匹配的DEB file源,并下载安装 - -For example, on Ubuntu 14.10: - - $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.4-2ubuntu14.10_all.deb - $ sudo dpkg -i mysql-apt-config_0.3.4-2ubuntu14.10_all.deb - -on Debian 7: - - $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-1debian7_all.deb - $ sudo dpkg -i mysql-apt-config_0.3.3-1debian7_all.deb - -当你安装DEB文件时,你会看到下面的配置菜单,并且选择配置那个Mysql产品 - -![](https://farm8.staticflickr.com/7702/16928715218_b1fcbcdbf3_c.jpg) - -选择“Utilities”.完成配置后,选择“Apply”去保存配置。然后,更新包索引,并且安装Workbench - - $ sudo apt-get update - $ sudo apt-get install mysql-workbench - -#### Red Hat-based Desktop (CentOS, Fedora, RHEL): #### - -去官网下载并安装适合你Linux环境的RPM源包 -For example, on CentOS 7: - - $ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm - $ sudo yum localinstall mysql-community-release-el7-5.noarch.rpm - -on Fedora 21: - - $ wget http://dev.mysql.com/get/mysql-community-release-fc21-6.noarch.rpm - $ sudo yum localinstall mysql-community-release-fc21-6.noarch.rpm - -验证"MySQL Tools Community"源是否被安装 - $ yum repolis enabled - -![](https://farm9.staticflickr.com/8826/16494069254_15458ace52_c.jpg) - -安装Workbench - - $ sudo yum install mysql-workbench-community - -设置远程数据库的安全连接 - -接下来是为你运行Mysql服务的VPS设置一个远程连接,当然你可以直接通过图形化的Workbench连接你的远程Mysql服务器(在数据库开放了远程连接后)。然而,这样做有很大的安全风险,因为有些人很容易窃听你的数据库传输信息,并且一个公开的Mysql端口(默认为3306)被作为攻击入口。 - -一个比较好的方法是关掉远程访问数据库服务功能,(仅允许在127.0.0.1访问)。然后在本地客户机和远程Vps直接设置一个SSH隧道,这样的话,和mysql之间的数据能被安全的传输,仅在它的本地回环接口上。相比较设置一个SSL加密的连接来说,配置SSH隧道需要很少的操作,因为他仅仅需要SSH服务,并且在大多数的VPS上已经部署了。 - -让我们来看看如何来为一个Mysql Workbench设置一个SSH隧道,这里的设置,不需要你开放远程访问Mysql服务。 -在一个运行了Workbench的本地客户机上,键入下面的命令,替换'user' and 'remote_vps'为你自己的信息 - - $ ssh user@remote_vps -L 3306:127.0.0.1:3306 -N - -你会被要求输入你VPS的SSH密码,当你成功登陆VPS后,一个SSH隧道将会在本地的3306端口和远程VPS的3306端口将会被建立。这里你不会看到任何信息。 - -或者你可以选择在后台运行SSH隧道,按CTRL+Z停止当前的命令,然后输入bg并且ENTER - -![](https://farm8.staticflickr.com/7714/16928715438_bf0db49b3b_c.jpg) - -这样SSH隧道就会在后台运行了。 - -使用MySQL Workbench远程管理MySQL服务 - -在建立好SSH隧道后,你可以通过MySQL Workbench去远程连接Mysql服务了。 - -输入下面命令启动Workbench - - $ mysql-workbench - -![](https://farm9.staticflickr.com/8768/16494069294_0fce571ddb_c.jpg) - -点击Workbench页面上面的加号图标去创建一个新的数据库连接,接着会出现下面的连接信息。 - -- **Connection Name**: any description (e.g., My remote VPS database) -- **Hostname**: 127.0.0.1 -- **Port**: 3306 -- **Username**: MySQL username (e.g., root) - -![](https://farm8.staticflickr.com/7727/16928715288_d9ac3bfc7a_c.jpg) - -注意:因为隧道设置的是127.0.0.1:3306,所以主机名哪里必须是127.0.0.1,而不能是远程VPS的IP地址或者主机名 - -当你设置好一个新的数据库连接后,你会在Workbench窗口看到一个新的框,点击那个框就会实际去连接远程的MySQL服务了。 - -![](https://farm8.staticflickr.com/7650/17114969532_0252ffcd31_c.jpg) - -当你设置好一个新的数据库连接后,你会在Workbench窗口看到一个新的框,点击那个框就会实际去连接远程的MySQL服务了。 - -#### MySQL Server Status #### - -当你设置好一个新的数据库连接后,你会在Workbench窗口看到一个新的框,点击那个框就会实际去连接远程的MySQL服务了。 - -![](https://farm8.staticflickr.com/7627/16494069414_9d838d4138_c.jpg) - -#### Client Connections #### - -连接数是一个极其重要的监视资源,这个菜单显示了每个连接的详细信息。 - -![](https://farm9.staticflickr.com/8747/16909119337_a8d89772dd_c.jpg) - -#### 用户和权限 #### - -这个菜单允许你管理MySQL用户,包括他们的资源限制和权限。 - -![](https://farm9.staticflickr.com/8765/16494069384_760fc17c8f_c.jpg) - -#### MySQL Server Administration #### - -你可以启动或关闭MySQL服务,并且检查它的服务日志。 - -![](https://farm8.staticflickr.com/7588/17114969592_54526dfb32_c.jpg) - -#### Database Schema Management #### - -可以可视化的查看,更改,检查数据库结构,在“Schemas”标题下选择任何一个数据库或表,然后右击 - -![](https://farm8.staticflickr.com/7665/16496363973_fd03a96198_c.jpg) - -![](https://farm9.staticflickr.com/8744/16909119497_7c884617b8_c.jpg) - -#### Database Query #### - -你可以执行任何的语句(只要你的权限允许),并且检查他的结果。 - -![](https://farm8.staticflickr.com/7716/17114969692_c0f02bb277_c.jpg) - -此外,性能统计数据和报表仅用于MySQL5.6以上的版本。对于5.5及其以下的版本,性能部分会以灰色显示。 -### 结论 ### - -简介且直观的选项卡界面,丰富的特性,开源,使MySQL Workbench成为一个非常好的可视化数据库设计和管理工具。为其减分的是它的性能。我注意到在一台运行繁忙的服务器上,Workbench优势会变得异常缓慢,尽管它的性能差强人意,我依然认为MySQL Workbench是MySQL数据库管理员和设计人员必备的工具之一。 - -你曾在你的生产环境中用过Workbench吗?或者你还有别的GUI工具可以推荐?请分享你的经验吧。 - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/remote-mysql-databases-gui-tool.html - -作者:[Dan Nanni][a] -译者:[译者ID](https://github.com/tyzy313481929译者demon) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://xmodulo.com/author/nanni -[1]:http://xmodulo.com/go/digitalocean -[2]:http://ask.xmodulo.com/install-phpmyadmin-centos.html -[3]:http://xmodulo.com/set-web-based-database-management-system-adminer.html -[4]:http://mysqlworkbench.org/ -[5]:http://dev.mysql.com/downloads/repo/apt/ -[6]:http://dev.mysql.com/downloads/repo/yum/ -[7]:http://xmodulo.com/how-to-allow-remote-access-to-mysql.html diff --git a/translated/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md b/translated/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md deleted file mode 100644 index 0344095bc2..0000000000 --- a/translated/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md +++ /dev/null @@ -1,56 +0,0 @@ -Linux有问必答:如何在虚拟机上配置PCI-passthrough -================================================================================ -> **提问**:我想要设置一块物理网卡到用KVM创建的虚拟机上。我打算开启网卡的PCI passthrough给这台虚拟机。请问,我如何才能增加一个PCI设备通过PCI直通到虚拟机上? - -如今的hypervisor能够高效地在多个虚拟操作系统分享和模拟硬件资源。然而,虚拟资源分享,虚拟机的性能,或者是虚拟机需要硬件DMA的完全控制,不是总能使人满意。一项名叫“PCI passthrough”的技术可以用在一个虚拟机需要独享PCI设备时(例如:network/sound/video card)。本质上,PCI passthrough越过了虚拟层,直接扩展PCI设备到虚拟机。但是其他虚拟机不能同时共享。 - - -### 开启“PCI Passthrough”的准备 ### - -如果你想要为一台HVM实例开启PCI passthrough(例如,一台KVM创建的full虚拟机),你的母系统(包括CPU和主板)必须满足以下条件。但是如果你的虚拟机是para-V(由Xen创建),你可以挑过这步。 - -为了开启PCI passthrough,系统需要支持**VT-d** (Intel处理器)或者**AMD-Vi** (AMD处理器)。Intel的VT-D(“英特尔虚拟化技术支持直接I/ O”)是适用于最高端的Nehalem处理器和它的后继者(例如,Westmere、Sandy Bridge的,Ivy Bridge)。注意:VT-d和VT-x是两个独立功能。intel/AMD处理器支持VT-D/AMD-VI功能的列表可以[点击这里][1]。 - -完成验证你的设备支持VT-d/AMD-Vi后,还有两件事情需要做。首先,确保VT-d/AMD-Vi已经在BIOS中开启。然后,在内核启动过程中开启IOMMU。IOMMU服务,是VT-d,/AMD-Vi提供,可以保护虚拟机访问的主机内存,同时它也是full虚拟机支持PCI passthrough的前提。 - -Intel处理器中,内核开启IOMMU通过在启动参数中修改“**intel_iommu=on**”。参看[这篇教程][2]获得如何通过GRUB修改内核启动参数。 - -配置完成启动参数后,重启电脑。 - -### 添加PCI设备到虚拟机 ### - -我们已经完成了开启PCI Passthrough的准备。事实上,只需通过虚拟机管理就可以给虚拟机分配一个PCI设备。 - -打开虚拟机设置,在左边工具栏点击‘增加硬件’按钮。 - -选择从PCI设备表一个PCI设备来分配,点击“完成”按钮 - -![](https://farm8.staticflickr.com/7587/17015584385_db49e96372_c.jpg) - -最后,开启实例。目前为止,主机的PCI设备已经可以由虚拟机直接访问了。 - -### 常见问题 ### - -在虚拟机启动时,如果你看见下列任何一个错误,这个错误有可能由于母机VT-d (或 IOMMU)未开启导致。 - - Error starting domain: unsupported configuration: host doesn't support passthrough of host PCI devices - ----------- - - Error starting domain: Unable to read from monitor: Connection reset by peer - -请确保"**intel_iommu=on**"启动参数已经按上文叙述开启。 - --------------------------------------------------------------------------------- - -via: http://ask.xmodulo.com/pci-passthrough-virt-manager.html - -作者:[Dan Nanni][a] -译者:[Vic020/VicYu](http://vicyu.net) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://ask.xmodulo.com/author/nanni -[1]:http://wiki.xenproject.org/wiki/VTdHowTo -[2]:http://xmodulo.com/add-kernel-boot-parameters-via-grub-linux.html diff --git a/translated/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md b/translated/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md new file mode 100644 index 0000000000..4225cf9bb4 --- /dev/null +++ b/translated/tech/20150518 10 Amazing and Mysterious Uses of Symbol or Operator in Linux Commands.md @@ -0,0 +1,193 @@ +10!Linux¾˺÷ +================================================================================ +`'!'`Linuxв񶨷ţʷ¼ȡ򲻼޸ĵִ֮ǰеѾBash Shellоȷеؼ顣ûԹ඼ڱShellСǽLinuxз`'!'`Ǿ˺÷ + +### 1. ʹִʷбһִ ### + +ҲûʶԴʷб֮ǰѾִеҳһСȣͨ"history"֮ǰš + + $ history + +![ʹhistoryҵִе](http://www.tecmint.com/wp-content/uploads/2015/05/history-Command.gif) + +ڣֻҪʹʷʾڸǰֱ磬һ`history`б1551 + + $ !1551 + +![ʹIDִе](http://www.tecmint.com/wp-content/uploads/2015/05/Run-Commands-By-number.gif) + +Ϊ1551[top][1]ˡͨIDִ֮ǰķʽãЩܳ¡ֻҪʹ**![history]**Ե + +### 2. ֮ǰĵڶ߸ ### + +һַʽ֮ǰִеͨʹ-1-2ڶ-7߸ȡ + +ʹhistoryִйбhistoryִкбҪΪͨȷû`rm command > file`ᵼΣյִеڰ˸ʮ + + $ history + $ !-6 + $ !-8 + $ !-10 + +![֮ͨǰִе](http://www.tecmint.com/wp-content/uploads/2015/05/3.gif) +֮ͨǰִе + +### 3. ݲԷµ ### + +Ҫʾ`/home/$USER/Binary/firefox`ļеݣִУ + + $ ls /home/$USER/Binary/firefox + +ʶӦִ'ls -l'鿴ĸļǿִļӦôҲҪҽҪµдIJƣ + + $ ls -l !$ + +`!$`ִеIJݵµС + +![һIJݸ](http://www.tecmint.com/wp-content/uploads/2015/05/4.gif) +һIJݸ + +### 4. ʹ!IJ ### + +˵洴һıļfile1.txt + + $ touch /home/avi/Desktop/1.txt + +Ȼcpʹþ·`/home/avi/Downloads` + + $ cp /home/avi/Desktop/1.txt /home/avi/downloads + +ڣǸcpһ`/home/avi/Desktop/1.txt`ڶ`/home/avi/Downloads`Ƿֱǣʹ`echo [arguments]`ӡͬIJ + + $ echo "1st Argument is : !^" + $ echo "2nd Argument is : !cp:2" + +עһʹ`"!^"`дӡͨ`"![]:[]"`ӡ + +Уһ`cp`ڶҲҪӡ`"!cp:2"`κxyzʱ5Ҫõĸʹ`"!xyz:4"`еIJͨ`"!*"`á + +![IJ](http://www.tecmint.com/wp-content/uploads/2015/05/5.gif) +IJ + +### 5. ԹؼΪִϸ ### + +ǿԹؼΪִϴִеԴ⣺ + + $ ls /home > /dev/null [1] + $ ls -l /home/avi/Desktop > /dev/null [2] + $ ls -la /home/avi/Downloads > /dev/null [3] + $ ls -lA /usr/bin > /dev/null [4] + +ʹͬlsвͬĿغͲͬIJļСңǻݵ`/dev/null`Dzδնɺܸɾ + +ԹؼΪִϸ + + $ ! ls [1] + $ ! ls -l [2] + $ ! ls -la [3] + $ ! ls -lA [4] + +淢ʹùؼ`ls`ִѾִй + +![ԹؼΪִ](http://www.tecmint.com/wp-content/uploads/2015/05/6.gif) +ԹؼΪִ + +### 6. !! ### + +ʹ`(!!)`/޸ϸеһЩ޸/ϸҸչʾһЩʵ龳 + +һнűҵ˽IPִˣ + + $ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ + +ţͻȻҪűضһip.txtļˣҸôأҸضһļôһ򵥵Ľʹϵ`'> ip.txt'`ضļ + + $ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ > ip.txt + +л"ϵ"ڣһнű + + $ ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: + +һűBashʾ㷵˴Ϣ`"bash: ifconfig: command not found"`ԭ򲢲Ѳ£˱ӦrootȨ޵е + +ԣôأǺrootû¼ٴμϵҲˡˣҪ`"!!"`ȥţΪǸûϸ + + $ su -c "!!" root + +suлrootûģ`-c`ijûضҪIJ`!!`滻ΪϴеԵģҪṩroot롣 + +![!!](http://www.tecmint.com/wp-content/uploads/2015/05/7.gif) +!! + +ͨ龰ʹ`!!` + +1.ͨûapt-getͨյʾ˵ûȨִС + + $ apt-get upgrade && apt-get dist-upgrade + +ðɣд󡣵ģʹɹִ... + + $ su -c !! + +ͬڣ + + $ service apache2 start + + $ /etc/init.d/apache2 start + + $ systemctl start apache2 + +ͨûȨִЩУ + + $ su -c 'service apache2 start' + + $ su -c '/etc/init.d/apache2 start' + + $ su -c 'systemctl start apache2' + +### 7.һӰг![FILE_NAME]ļ ### + +`!`߼ǣԳ`'!'`ļеļ/չִ + +A.ļƳļ2.txt⡣ + + $ rm !(2.txt) + +B.ļƳеļͣpdfͳ⡣ + + $ rm !(*.pdf) + +### 8.ijļУ/home/avi/TecmintǷڣӡ ### + +ʹ`'! -d'`֤ļǷڣļвʱʹAND`(&&)`дӡļдʱʹOR`(||)`дӡ + +߼ϣ`[ ! -d /home/avi/Tecmint ]`Ϊ0ʱִAND߼ݣִOR߼`(||)`ݡ + + $ [ ! -d /home/avi/Tecmint ] && printf '\nno such /home/avi/Tecmint directory exist\n' || printf '\n/home/avi/Tecmint directory exist\n' + +### 9.ijļǷڣ˳ ### + +ﵱļвʱ˳ + + $ [ ! -d /home/avi/Tecmint ] && exit + +### 10.homeļڲһļУȷ˵test򴴽 ### + +ǽűеһõʵ֣ļвʱһ + + [ ! -d /home/avi/Tecmint ] && mkdir /home/avi/Tecmint + +ȫˡ֪żֵ˽`'!'`ʹ÷ڷĵطὨ顣ϵ + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/mysterious-uses-of-symbol-or-operator-in-linux-commands/ + +ߣ[Avishek Kumar][a] +ߣ[wwy-hust](https://github.com/wwy-hust) +Уԣ[УID](https://github.com/УID) + + [LCTT](https://github.com/LCTT/TranslateProject) ԭ룬[Linuxй](https://linux.cn/) Ƴ + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/12-top-command-examples-in-linux/ diff --git a/translated/tech/20150520 How to Use Docker Machine with a Cloud Provider.md b/translated/tech/20150520 How to Use Docker Machine with a Cloud Provider.md new file mode 100644 index 0000000000..acf052d493 --- /dev/null +++ b/translated/tech/20150520 How to Use Docker Machine with a Cloud Provider.md @@ -0,0 +1,148 @@ +如何在云服务提供商的机器使用Docker Machine +================================================================================ +大家好,今天我们来学习如何使用Docker Machine在各种云服务提供商的平台部署Docker。Docker Machine是一个可以帮助我们在自己的电脑、云服务提供商的机器以及我们数据中心的机器上创建Docker机器的应用程序。它为创建服务器、在服务器中安装Docker、根据用户需求配置Docker客户端提供了简单的解决方案。驱动API对本地机器、数据中心的虚拟机或者公用云机器都适用。Docker Machine支持Windows、OSX和Linux,并且提供一个独立的二进制文件,可以直接使用。它让我们可以充分利用支持Docker的基础设施的生态环境合作伙伴,并且使用相同的接口进行访问。它让人们可以使用一个命令来简单而迅速地在不同的云平台部署Docker容器。 + + +### 1. 安装Docker Machine ### + +Docker Machine可以很好地支持每一种Linux发行版。首先,我们需要从Github网站下载最新版本的。这里我们使用curl来下载目前最新0.2.0版本的Docker Machine。 + +在64位操作系统运行: + + # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine + +在32位操作系统运行: + + # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine + +下载最新版本的Docker Machine并将docker-machine文件放到了/usr/local/bin/后,添加执行权限: + + # chmod +x /usr/local/bin/docker-machine + +完成如上操作后,我们需要确认已经成功安装docker-machine了。可以运行如下命令检查,它会输出系统中docker-machine的版本: + + # docker-machine -v + +![Installing Docker Machine](http://blog.linoxide.com/wp-content/uploads/2015/05/installing-docker-machine.png) + +另外机器上需要有docker命令,可以使用如下命令安装: + + # curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker + # chmod +x /usr/local/bin/docker + +### 2. 创建机器 ### + +在自己的Linux机器上安装好了Docker Machine之后,我们想要将一个docker虚拟机部署到云服务器上。Docker Machine支持几个流行的云平台,如igital Ocean、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Computing等等,所以我们可以在不同的平台使用相同的接口来部署Docker。本文中我们会使用digitalocean驱动在Digital Ocean的服务器上部署Docker,--driver选项指定digitalocean驱动,--digitalocean-access-token选项指定[Digital Ocean Control Panel][1]提供的API Token,命令最后的是我们创建的Docker虚拟机的机器名。运行如下命令: + + # docker-machine create --driver digitalocean --digitalocean-access-token linux-dev + + # eval "$(docker-machine env linux-dev)" + +![Docker Machine Digitalocean Cloud](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-digitalocean-cloud.png) + +**注意**: 这里linux-dev是我们将要创建的机器的名称。``是一个安全key,可以在Digtal Ocean Control Panel生成。要找到这个key,我们只需要登录到我们的Digital Ocean Control Panel,然后点击API,再点击Generate New Token,填写一个名称,选上Read和Write。然后我们就会得到一串十六进制的key,那就是``,简单地替换到上边的命令中即可。 + +运行如上命令后,我们可以在Digital Ocean Droplet Panel中看到一个具有默认配置的droplet已经被创建出来了。 + +![DigitalOcean Droplet Panel](http://blog.linoxide.com/wp-content/uploads/2015/05/digitalocean-droplet-panel.png) + +简便起见,docker-machine会使用默认配置来部署Droplet。我们可以通过增加选项来定制我们的Droplet。这里是一些digitalocean相关的选项,我们可以使用它们来覆盖Docker Machine所使用的默认配置。 + + --digitalocean-image "ubuntu-14-04-x64" 是选择Droplet的镜像 + --digitalocean-ipv6 enable 是启用IPv6网络支持 + --digitalocean-private-networking enable 是启用专用网络 + --digitalocean-region "nyc3" 是选择部署Droplet的区域 + --digitalocean-size "512mb" 是选择内存大小和部署的类型 + +如果你想在其他云服务使用docker-machine,并且想覆盖默认的配置,可以运行如下命令来获取Docker Mackine默认支持的对每种平台适用的参数。 + + # docker-machine create -h + +### 3. 选择活跃机器 ### + +部署Droplet后,我们想马上运行一个Docker容器,但在那之前,我们需要检查下活跃机器是否是我们需要的机器。可以运行如下命令查看。 + + # docker-machine ls + +![Docker Machine List](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-ls.png) + +ACTIVE一列有“*”标记的是活跃机器。 + +现在,如果我们想将活跃机器切换到需要的机器,运行如下命令: + + # docker-machine active linux-dev + +**注意**:这里,linux-dev是机器名,我们打算激活这个机器,并且在其中运行Docker容器。 + +### 4. 运行一个Docker容器 ### + +现在,我们已经选择了活跃机器,就可以运行Docker容器了。可以测试一下,运行一个busybox容器来执行`echo hello word`命令,这样就可以得到输出: + + # docker run busybox echo hello world + +注意:如果你试图在一个装有32位操作系统的宿主机部署Docker容器,使用SSH来运行docker是个好办法。这样你就可以简单跳过这一步,直接进入下一步。 + +### 5. SSH到Docker机器中 ### + +如果我们想在机器或者Droplet上控制之前部署的Docker机器,可以使用docker-machine ssh命令来SSH到机器上: + + # docker-machine ssh + +![Docker Machine SSH](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-ssh.png) + +SSH到机器上之后,我们可以在上边运行任何Docker容器。这里我们运行一个nginx: + + # docker run -itd -p 80:80 nginx + +操作完毕后,我们需要运行exit命令来退出Droplet或者服务器。 + + # exit + +### 5. 删除机器 ### + +删除在运行的机器以及它的所有镜像和容器,我们可以使用docker-machine rm命令: + + # docker-machine rm linux-dev + +![Docker Machine Remove All](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-remove-machine.png) + +使用docker-machine ls命令检查是否成功删除了: + + # docker-machine ls + +![Docker Machine Remove Check](http://blog.linoxide.com/wp-content/uploads/2015/05/docker-machine-remove-check.png) + +### 6. 在不使用驱动的情况新增一个机器 ### + +我们可以在不使用驱动的情况往Docker增加一台机器,只需要一个URL。它可以使用一个已有机器的别名,所以我们就不需要每次在运行docker命令时输入完整的URL了。 + + $ docker-machine create --url=tcp://104.131.50.36:2376 custombox + +### 7. 管理机器 ### + +如果你已经让Docker运行起来了,可以使用简单的**docker-machine stop**命令来停止所有正在运行的机器,如果需要再启动的话可以运行**docker-machine start**: + + # docker-machine stop + # docker-machine start + +你也可以使用如下命令来使用机器名作为参数来将其停止或启动: + + $ docker-machine stop linux-dev + $ docker-machine start linux-dev + +### 总结 ### + +Docker Machine是一个非常棒的工具,可以使用Docker容器快速地部署服务。文中我们使用Digital Ocean Platform作演示,但Docker Machine还支持其他平台,如Amazon Web Service、Google Cloud Computing。使用Docker Machine,快速、安全地在几种不同平台部署Docker容器变得很简单了。因为Docker Machine还是Beta版本,不建议在生产环境使用。如果你有任何问题、建议、反馈,请在下方的评论框中写下来,我们会改进或者更新我们的内容。谢谢!享受吧 :-) + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-how-to/use-docker-machine-cloud-provider/ + +作者:[Arun Pyasi][a] +译者:[goreliu](https://github.com/goreliu) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/arunp/ +[1]:https://cloud.digitalocean.com/settings/applications \ No newline at end of file diff --git a/translated/tech/20150525 Linux ntopng--Network Monitoring Tool Installation Screenshots.md b/translated/tech/20150525 Linux ntopng--Network Monitoring Tool Installation Screenshots.md new file mode 100644 index 0000000000..dc039ba551 --- /dev/null +++ b/translated/tech/20150525 Linux ntopng--Network Monitoring Tool Installation Screenshots.md @@ -0,0 +1,189 @@ +Linux ntopng——网络监控工具的安装(附截图) +================================================================================ +当今世界,人们的计算机都相互连接,互联互通。小到你的家庭局域网(LAN),大到最大的一个被我们称为的——互联网。当你管理一台联网的计算机时,你就是在管理最关键的组件之一。由于大多数开发出的应用程序都基于网络,网络就连接起了这些关键点。 + +这就是为什么我们需要网络监控工具。最好的网络监控工具之一,它叫作ntop。来自[维基百科][1]的知识“ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页模式中,它作为网络服务器,创建网络状态的HTML转储文件。它支持NetFlow/sFlowemitter/collector,这是一个基于HTTP的客户端界面,用于创建ntop为中心的监控应用和RRD用于持续地存储通信数据” + +15年后的今天,你将见到ntopng——下一代ntop。 + +### ntopng是什么 ### + +Ntopng是一个基于网页的高速通信分析器和流量收集器。Ntopng基于ntop,它运行于所有Unix平台、MacOS X和Windows。 + +### 特性 ### + +从[ntopng网站][2]上,我们可以看到他们说它有众多的特性。这里列出了其中一些: + +- 按各种协议对网络通信排序 +- 显示网络通信和IPv4/v6激活的主机 +- 持续不断以RRD格式存储定位主机的通信数据到磁盘 +- 通过nDPI,ntop的DPI框架,发现应用协议 +- 显示各种协议间的IP通信分布 +- 分析IP通信,并根据源/目的地址进行排序 +- 显示IP通信子网的矩阵(谁在和谁通信?) +- 报告按协议类型排序的IP协议使用率 +- 生成HTML5/AJAX网络通信数据 + +### 安装 ### + +Ntop为CentOS和**基于64位**Ubuntu预编译好了包,你可以在[他们的下载页面][3]找到这些包。对于32位操作系统,你必须从源代码编译。本文在**CentOS 6.4 32位**版本上**测试过**。但是,它也可以在其它基于CentOS/RedHat的Linux版本上工作。让我们开始吧。 + +#### 先决条件 #### + +#### 开发工具 #### + +你必须确保你安装了编译ntopng所需的所有开发工具,要安装开发工具,你可以使用yum命令: + + # yum groupinstall ‘Development Tools’ + +#### 安装TCL #### + + # yum install tcl + +#### 安装libpcap #### + + # yum install libpcap libcap-devel + +#### 安装Redis #### + + # wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz + # tar zxfv redis-2.6.13.tar.gz + # cd redis-2.6.13 + # make 32bit + # make test + # make install + +### 安装ntopng ### + +#### 方法 1 : #### + + # wget http://sourceforge.net/projects/ntop/files/ntopng/ntopng-1.1_6932.tgz/download + # tar zxfv ntopng-1.1_6932.tgz + # cd ntopng-1.1_6932 + # ./configure + # make + # make install + +#### 方法 2 : #### + +在我的CentOS 6.4上,我使用方法 1时收到了一个错误消息,错误消息内容如下: + + ./third-party/LuaJIT-2.0.2/src/libluajit.a : could not read symbols : File in wrong format + +所以,我**切换**到了**SVN**来安装。对于此方法,需要联网,步骤如下: + + # svn co https://svn.ntop.org/svn/ntop/trunk/ntopng/ + # ./autogen.sh + # ./configure + # make + # make install + +*由于ntopng是一个基于网页的应用,你的系统必须安装有工作良好的网络服务器* + +### 为ntopng创建配置文件 ### + +如果一切都已安装完毕,那么我们该来运行它了。默认情况下,如果我们在./configure这一步没有明确修改安装文件夹的话,redis和ntopng将安装到/usr/local/文件夹。接下来,我们需要为ntopng创建配置文件。在本文中,我们使用vi作为文本编辑器。你也可以使用你所中意的文本编辑器来创建ntopng的配置文件。 + + # cd /usr/local/etc + # mkdir ntopng + # cd ntopng + # vi ntopng.start + + 放入这些行: + --local-network “10.0.2.0/24” + --interface 1 + + # vi ntopng.pid + + 放入该行: + -G=/var/run/ntopng.pid + +保存这些文件,然后继续下一步。 + +### 运行ntopng ### + +我们假定你已正确安装了网络服务器,那么下一步就是运行redis服务器。 + + # /usr/local/bin/redis-server + +![Starting Redis Server](http://blog.linoxide.com/wp-content/uploads/2013/11/redis-server-start.png) + +然后,**运行**ntopng + + # /usr/local/bin/ntopng + +![Starting Ntopng](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng-start.png) + +### 测试ntopng ### + +现在,你可以通过访问[http://yourserver.name:3000][4]来测试ntopng应用,你将会看到ntopng登录页面。首次登录,你可以使用用户‘**admin**’和密码‘**admin**’。 + +![Ntop Login page](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_login.png) + +仪表盘相当简洁。当你登入后,你将看到关于最高流量通信者页面。 + +![Ntopng Flow Talker](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_talkers.png) + +如果你点击右侧顶部的**流量菜单**,ntopng将会显示活动流量的更多细节。 + +![Ntopng Flows](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_flows.png) + +在**主机菜单**上,你可以看到连接到流的所有主机 + +![Ntopng Hosts List](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_hoslist.png) + +如果你点击**主机 > 交互**,ntop将显示一个漂亮的主机间的交互信息图表。 + +![Ntopng Hosts Interaction](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_hosts_interaction.png) + +**仪表盘菜单**组成部分: + +#### 顶级主机(发送+接收) #### + +![Ntopng Hosts](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_hosts.png) + +#### 顶级应用协议 #### + +![Ntopng Apps](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_apps.png) + +**界面菜单**将引领你进入更多内部菜单。 +包菜单将给你显示包的分布大小。 + +![Ntopng packets](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_packets.png) + +**协议菜单**将为你显示使用了多少协议及其使用百分比。 + +![Ntopng protocol](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_protocol.png) + +![Ntopng protocols - detail](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_protocol_detail.png) + +你也可以通过使用**历史活跃度菜单**查看活跃度 + +![Ntopng Historical Activity](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_historical.png) + +![Ntopng Historical Activity detail](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_historical_detail.png) + +最后一项要点是,你也可以通过顶部右侧区域的**设置菜单**(齿轮图标的那一个)管理哪些用户可以访问ntopng。 + +![Ntopng Users](http://blog.linoxide.com/wp-content/uploads/2013/11/ntopng_users.png) + +Ntopng为你提供了一个范围宽广的时间线,从5分钟到1年都可以。你只需要点击你想要现实的时间线。图标本身是可以点击的,你可以点击它来进行缩放。 + +当然,ntopng能做的事比上面图片中展示的还要多得多。你也可以将定位和电子地图服务整合进来。在ntopng自己的网站上,有已付费的模块可供使用,如nprobe可以扩展ntopng可以提供给你的信息。更多关于ntopng的信息,你可以访问[ntopng网站][5]。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/monitoring-2/ntopng-network-monitoring-tool/ + +作者:[Pungki Arianto][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/pungki/ +[1]:http://en.wikipedia.org/wiki/Ntop +[2]:http://www.ntop.org/products/ntop/ +[3]:http://www.nmon.net/packages/ +[4]:http://yourserver.name:3000/ +[5]:http://www.ntop.org/ diff --git a/translated/tech/20150527 3 Useful Hacks Every Linux User Must Know.md b/translated/tech/20150527 3 Useful Hacks Every Linux User Must Know.md new file mode 100644 index 0000000000..25c1ef3e3d --- /dev/null +++ b/translated/tech/20150527 3 Useful Hacks Every Linux User Must Know.md @@ -0,0 +1,78 @@ +每个Linux用户都应该知道的3个有用技巧 +================================================================================ +Linux世界充满了乐趣,我们越深入进去,就会发现越多有趣的事物。我们会努力给你提供一些小技巧,让你和其他人有所不同,下面就是我们准备的3个小技巧。 + +### 1. 如何在不使用Cron的情况调度Linux下的作业 ### +在Linux下,调度一个作业/命令可以缩写为Cron。当我们需要调度一个作业时,我们会使用Cron,但你知道我们在不使用Cron的情况也可以调度一个在将来时间运行的作业吗?你可以按照如下建议操作…… + +每5秒钟运行一个命令(date)然后将结果写入到一个文件(data.txt)。为了实现这一点,我们可以直接在命令提示符运行如下单行脚本。 + + $ while true; do date >> date.txt ; sleep 5 ; done & + +上述脚本的解释: + +- `while true` :让脚本进入一个条件总为真的循环中,也就是制造一个死循环,将里边的命令一遍遍地重复运行。 +- `do` :`do`是`while`语句中的关键字,它之后的命令会被执行,在它后边可以放置一个或一系列命令。 +- `date >> date.txt` :运行date命令,并将其输出写入到data.txt文件中。注意我们使用`>>`,而不是`>`。 +- `>>` :对文件(date.txt)进行追加写的操作,这样每次运行命令后,输出内容会被追加到文件中。如果使用`>`的话,则会一遍遍地覆盖之前的内容。 +- `sleep 5` :让脚本处于5秒睡眠状态,然后再运行之后的命令。注意这里的时间单位只能用秒。也就是说如果你想让命令每6分钟运行一次,你应该使用`sleep 360`。 +- `done` :`while`循环语句块结束的标记。 +- `&` :将整个进程放到后台运行。 + +类似地,我们可以这样运行任何脚本。下边的例子是每100秒运行一个名为`script_name.sh`的脚本。 + +另外值得一提的是上边的脚本文件必须处于当前目录中,否则需要使用完整路径(`/home/$USER/…/script_name.sh`)。实现如上功能的单行脚本如下: + + $ while true; do /bin/sh script_name.sh ; sleep 100 ; done & + +**总结**:上述的单行脚本并不是Cron的替代品,因为Cron工具支持众多选项,更加灵活,可定制性也更高。然而如果我们想运行某些测试,比如I/O评测,上述的单行脚本也管用。 + +还可以参考:[11 Linux Cron Job Scheduling Examples][1] + +### 2. 如何不使用clear命令清空终端的内容 ### + +你如何清空终端的内容?你可能会认为这是一个傻问题。好吧,大家都清楚可以使用`clear`命令。如果养成使用`ctrl + l`快捷键的习惯,我们会节省大量时间。 + +`Ctrl + l`快捷键的效果和`clear`命令一样。所以下一次你就可以使用`ctrl + l`来清空终端的内容了。 + +**总结**:因为`ctrl + l`是一个快捷键,我们不可以在脚本中使用。所以如果我们需要在脚本中清空屏幕内容,还是需要使用`clear`命令。但我能想到的所有其他情况,`ctrl + l`都更加有效。 + +### 3. 运行一个命令,然后自动回到当前的工作目录 ### + +这是一个很多人可能不知道的令人吃惊的技巧。你可能想运行任何一个命令,然后再回到当前目录。你只需要将命令放在一个圆括号里。 + +我们来看一个例子: + + avi@deb:~$ (cd /home/avi/Downloads/) + +#### 示例输出 #### + + avi@deb:~ + +它首先会cd到Downloads目录,然后又回到了之前的家目录。也许你认为里边的命令根本没有执行,或者是出了某种错误,因为从命令提示符看不出任何变化。让我们简单修改一下这个命令: + + avi@deb:~$ (cd /home/avi/Downloads/ && ls -l) + +#### 示例输出 #### + + -rw-r----- 1 avi avi 54272 May 3 18:37 text1.txt + -rw-r----- 1 avi avi 54272 May 3 18:37 text2.txt + -rw-r----- 1 avi avi 54272 May 3 18:37 text3.txt + avi@deb:~$ + +在上述命令中,它首先进入Downloads目录,然后列出文件内容,最后又回到了当前目录。并且它证明了命令成功执行了。你可以在括号中包含任何命令,执行完都会顺利返回到当前目录。 + +这就是全部内容了,如果你知道任何类似的Linux技巧,你可以在文章下面的评论框中分享给我们,不要忘记将本文和朋友分享 :) + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/useful-linux-hacks-commands/ + +作者:[Avishek Kumar][a] +译者:[goreliu](https://github.com/goreliu) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/ \ No newline at end of file diff --git a/translated/tech/20150527 How To Check Laptop CPU Temperature In Ubuntu.md b/translated/tech/20150527 How To Check Laptop CPU Temperature In Ubuntu.md new file mode 100644 index 0000000000..ace8999edb --- /dev/null +++ b/translated/tech/20150527 How To Check Laptop CPU Temperature In Ubuntu.md @@ -0,0 +1,83 @@ +如何在Ubuntu中检查笔记本CPU的温度 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Monitor_temperature_Ubuntu.png) + +笔记本过热是最近一个常见的问题。监控硬件温度或许可以帮助你诊断笔记本为什么会过热。本篇中,我们会**了解如何在Ubuntu中检查CPU的温度**。 + +我们将使用一个GUI工具[Psensor][1],它允许你在Linux中监控硬件温度。用Psensor你可以: + +- 监控cpu和主板的温度 +- 监控NVidia GPU的文档 +- 监控硬盘的温度 +- 监控风扇的速度 +- 监控CPU的利用率 + +Psensor最新的版本同样提供了Ubuntu中的指示小程序,这样使得在Ubuntu中监控温度变得更加容易。你可以选择在面板的右上角显示温度。它还会在温度上过阈值后通知。 + + +### 如何在Ubuntu 15.04 和 14.04中安装Psensor ### + +在安装Psensor前,你需要安装和配置[lm-sensors][2],一个用于硬件监控的命令行工具。如果你想要测量磁盘温度,你还需要安装[hddtemp][3]。要安装这些工具,运行下面的这些命令: + + sudo apt-get install lm-sensors hddtemp + +接着开始检测硬件传感器: + + sudo sensors-detect + +要确保已经工作,运行下面的命令: + + sensors + +它会给出下面这样的输出: + + acpitz-virtual-0 + Adapter: Virtual device + temp1: +43.0°C (crit = +98.0°C) + + coretemp-isa-0000 + Adapter: ISA adapter + Physical id 0: +44.0°C (high = +100.0°C, crit = +100.0°C) + Core 0: +41.0°C (high = +100.0°C, crit = +100.0°C) + Core 1: +40.0°C (high = +100.0°C, crit = +100.0°C) + +如果一切看上去没问题,使用下面的命令安装Psensor: + + sudo apt-get install psensor + +安装完成后,在Unity Dash中运行程序。第一次运行时,你应该配置Psensor该监控什么状态。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Psensor_Ubuntu.jpeg) + +### 在面板显示温度 ### + +如果你想要在面板中显示温度,进入**Sensor Preferences**: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Psensor_Ubuntu_1.jpeg) + +在 **Application Indicator** 菜单下,选择你想要显示温度的组件并勾上 **Display sensor in the label** 选项。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Psensor_Ubuntu_2.jpeg) + +### 每次启动启动Psensor ### + +进入 **Preferences->Startup** 并选择 **Launch on session startup** 使每次启动时启动Psensor。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/05/Psensor_Ubuntu_3.jpeg) + +就是这样。你所要做的就是在这里监控CPU温度。你可以时刻注意并帮助你找出使计算机过热的进程。 + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/check-laptop-cpu-temperature-ubuntu/ + +作者:[Abhishek][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/abhishek/ +[1]:http://wpitchoune.net/blog/psensor/ +[2]:http://www.lm-sensors.org/ +[3]:https://wiki.archlinux.org/index.php/Hddtemp diff --git a/translated/tech/20150527 How to Kill Linux Processes or Unresponsive Applications Using 'xkill' Command.md b/translated/tech/20150527 How to Kill Linux Processes or Unresponsive Applications Using 'xkill' Command.md new file mode 100644 index 0000000000..20211ab6bf --- /dev/null +++ b/translated/tech/20150527 How to Kill Linux Processes or Unresponsive Applications Using 'xkill' Command.md @@ -0,0 +1,93 @@ +如何使用xkill命令傻点Linux进程/未响应的程序 +================================================================================ +我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令。 + +更准确一点,我们可以找到资源(这里就是terminal)的PID: + + $ ps -A | grep -i terminal + + 6228 ? 00:00:00 gnome-terminal + +上面的输出中,‘6288’就是进程(gnome-terminal)的pid, 使用下面的命令来杀掉进程。 + + $ kill 6228 + +kill命令会发送一个信号给该pid的进程。 + +另外一个方法是我们可以使用pkill命令,它可以基于进程的名字或者其他的属性来杀掉进程。同样我们要杀掉一个叫terminal的进程可以这么做: + + $ pkill terminal + +**注意**: pkill命令后面进程名的长度不大于15个字符 + +pkill看上去更加容易上手,因为你你不用找出进程的pid。但是如果你要对系统做更好的控制,那么没有什么可以打败'kill'。使用kill命令可以更好地审视你要杀掉的进程。 + +我们已经有一篇覆盖了[kill、pkill和killall命令][1]间细节的指导了。 + +对于那些运行X Server的人而言,有另外一个工具称为xkill可以将进程从X Window中杀掉而不必传递它的名字或者pid。 + +xkill工具强制X server关闭于它客户端之间的联系,这可以让X resource关闭这个客户端。xkill是X11工具集中一个非常容易上手的杀掉无用窗口的工具。 + +它支持的选项如在同时运行多个X Server时使用-display选项后面跟上显示号连接到指定的X server,使用-all(并不建议)杀掉所有在屏幕上的所遇顶层窗口,同时将帧(-frame)也计算在内。 + +要得到所有的客户端你可以运行: + + $ xlsclients + +#### 示例输出 #### + + ' ' /usr/lib/libreoffice/program/soffice + deb gnome-shell + deb Docky + deb google-chrome-stable + deb soffice + deb gnome-settings-daemon + deb gnome-terminal-server + +如果后面没有跟上资源id,xkill会将鼠标指针变成一个特殊符号,类似于“X”。只需在你要杀掉的窗口上点击,它就会杀掉它与server端的通信,这个程序就被杀掉了。 + + + $ xkill + +![Xkill Command](http://www.tecmint.com/wp-content/uploads/2015/05/Xkill.png) + +使用xkill杀掉进程 + +需要注意的是xkill并不能保证它的通信会被成功杀掉/退出。大多数程序会在与服务端的通信被关闭后杀掉。然而仍有少部分会继续运行。 + +需要指出的点是: + +- 这个工具只能在X11 server运行的时候才能使用,因为这是X11工具的一部分。 +- 不要在你杀掉一个资源而它没有完全退出时而困惑。 +- 这不是kill的替代品 + +**我需要在linux命令行中使用xkill么** + +不是,你不必在命令行中运行xkill。你可以设置一个快捷键,并用它来调用xkill。 + +下面是如何在典型的gnome3桌面中设置键盘快捷键。 + +进入设置-> 选择键盘。点击'+'并添加一个名字和命令。点击点击新条目并按下你想要的组合键。我的是Ctrl+Alt+Shift+x。 + +![Gnome Settings](http://www.tecmint.com/wp-content/uploads/2015/05/22.png) + +Gnome 设置 + +![Add Shortcut Key](http://www.tecmint.com/wp-content/uploads/2015/05/31.png) + +添加快捷键 + +下次你要杀掉X资源只要用组合键就行了(Ctrl+Alt+Shift+x),你看到你的鼠标变成x了。点击想要杀掉的x资源就行了。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/ + +作者:[Avishek Kumar][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/how-to-kill-a-process-in-linux/ diff --git a/translated/tech/20150527 Linux FAQs with Answers--How to mount an LVM partition on Linux.md b/translated/tech/20150527 Linux FAQs with Answers--How to mount an LVM partition on Linux.md new file mode 100644 index 0000000000..391769edc2 --- /dev/null +++ b/translated/tech/20150527 Linux FAQs with Answers--How to mount an LVM partition on Linux.md @@ -0,0 +1,89 @@ +Linux有问必答 -- 如何在Linux中挂载LVM分区 +================================================================================ +> **提问**: 我有一个USB盘包含了LVM分区。 我想要在Linux中访问这些LVM分区。我该如何在Linux中挂载LVM分区? + +】LVM是逻辑卷管理工具,它允许你使用逻辑卷和卷组的概念来管理磁盘空间。使用LVM相比传统分区最大的好处是弹性地位用户和程序分配空间而不用考虑每个物理磁盘的大小。 + +在LVM中,那些创建了逻辑分区的物理存储是传统的分区(比如:/dev/sda2,/dev/sdb1)。这些分区必须被初始化位“物理卷”并被标签(如,“Linux LVM”)来使它们可以在LVM中使用。一旦分区被标记被LVM分区,你不能直接用mount命令挂载。 + +如果你尝试挂载一个LVM分区(比如/dev/sdb2), 你会得到下面的错误。 + + $ mount /dev/sdb2 /mnt + +---------- + + mount: unknown filesystem type 'LVM2_member' + +![](https://farm8.staticflickr.com/7696/17749902190_0a6d36821f_b.jpg) + +要正确地挂载LVM分区,你必须挂载分区创建的“逻辑分区”。下面就是如何做的。 + +=首先,用下面的命令检查可用的卷组: + + $ sudo pvs + +---------- + + PV VG Fmt Attr PSize PFree + /dev/sdb2 vg_ezsetupsystem40a8f02fadd0 lvm2 a-- 237.60g 0 + +![](https://farm8.staticflickr.com/7657/17938136831_d9320b7bfc_b.jpg) + +物理卷的名字和卷组的名字分别在PV和VG列的下面。本例中,只有一个创建在dev/sdb2下的组“vg_ezsetupsystem40a8f02fadd0”。 + +接下来检查卷组中存在的逻辑卷,使用lvdisplay命令: + + $ sudo lvdisplay + +使用lvdisplay显示了可用卷的信息(如:设备名、卷名、卷大小等等)。 + + $ sudo lvdisplay /dev/vg_ezsetupsystem40a8f02fadd0 + +---------- + + --- Logical volume --- + LV Path /dev/vg_ezsetupsystem40a8f02fadd0/lv_root + LV Name lv_root + VG Name vg_ezsetupsystem40a8f02fadd0 + LV UUID imygta-P2rv-2SMU-5ugQ-g99D-A0Cb-m31eet + LV Write Access read/write + LV Creation host, time livecd.centos, 2015-03-16 18:38:18 -0400 + LV Status available + # open 0 + LV Size 50.00 GiB + Current LE 12800 + Segments 1 + Allocation inherit + Read ahead sectors auto + - currently set to 256 + Block device 252:0 + +![](https://farm8.staticflickr.com/7707/17938137591_cdb4cbfb43_b.jpg) + +如果你想要挂载一个特定的逻辑卷,使用“LV Path”下面的设备名(如:/dev/vg_ezsetupsystem40a8f02fadd0/lv_home)。 + + $ sudo mount /dev/vg_ezsetupsystem40a8f02fadd0/lv_home /mnt + +你可以用mount命令不带任何参数检查挂载状态,这会显示所有已挂载的文件系统。 + + $ mount + +![](https://farm6.staticflickr.com/5449/17749903670_2ee617445d_c.jpg) + +如果你想在每次启动时自动挂载逻辑卷,在/etc/fstab中添加下面的行,你可以指定卷的文件系统类型(如 ext4),它可以从mount命令的输出中找。 + + /dev/vg_ezsetupsystem40a8f02fadd0/lv_home /mnt ext4 defaults 0 0 + +现在逻辑卷会在每次启动时挂载到/mnt。 + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/mount-lvm-partition-linux.html + +作者:[Dan Nanni][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://ask.xmodulo.com/author/nanni \ No newline at end of file diff --git a/translated/tech/20150528 27 'DNF' Fork of Yum Commands for RPM Package Management in Linux.md b/translated/tech/20150528 27 'DNF' Fork of Yum Commands for RPM Package Management in Linux.md new file mode 100644 index 0000000000..48dd213d68 --- /dev/null +++ b/translated/tech/20150528 27 'DNF' Fork of Yum Commands for RPM Package Management in Linux.md @@ -0,0 +1,287 @@ +27LinuxߡDNFYumķ֧ +================================================================================ +DNFDandified YUMǻRPMķаһߡFedora 18г֣еFedora 22[YUM߼][1] + +![](http://www.tecmint.com/wp-content/uploads/2015/05/linux-dnf-command-examples.jpg) + +DNFڸYUMƿܡڴռáٶȺ档DNFʹRPMlibsolvhawkeyаδԤװCentOSRHEL 7Уͨyumװͬʱʹöߡ + +ҲĶDNFϢ + +- [ʹDNFȡYumԭ][2] + +µDNFȶ汾2015511շ1.0дƪ֮ǰԼDNF֮ǰ汾ҪPythonдGPL v2֤ + +### װDNF ### + +Fedora 22ٷѾɵDNFDNFRHEL/CentOS 7ĬϲֿС + +ΪRHEL/CentOSϵͳаװDNFҪȰװͿepel-releaseֿ⡣ + + # yum install epel-release + + # yum install epel-release -y + +ܲʹyumʱ'-y'ѡΪûǿʲôװϵͳСԴ˲⣬ʹ'-y'ѡԶİװûԤ + +ʹyumepel-realeaseֿⰲװDNF + + # yum install dnf + +װdnfһչʾ27ʵõdnfӣԱ׺͸ЧĹRPMķа档 + +### 1. DNF汾 ### + +ϵͳϰװDNF汾 + + # dnf --version + +![DNF汾](http://www.tecmint.com/wp-content/uploads/2015/05/Check-DNF-Version.gif) + +### 2. гDNFֿ ### + +dnfе'repolist'ѡʾϵͳпIJֿ⡣ + + # dnf repolist + +![пIJֿ](http://www.tecmint.com/wp-content/uploads/2015/05/Check-All-Enabled-Repositories.gif) + +### 3. гп͹رյDNFֿ ### + +'repolist all'ѡʾϵͳп/رյIJֿ⡣ + + # dnf repolist all + +![гп/رյIJֿ](http://www.tecmint.com/wp-content/uploads/2015/05/Check-All-Repositories.gif) + +### 4. DNFгпõѰװ ### + +'dnf list'гвֿпõLinuxϵͳѰװ + + # dnf list + +![DNFге](http://www.tecmint.com/wp-content/uploads/2015/05/List-All-Packages.png) + +### 5. DNFгѰװ ### + +'dnf list'гвֿпõѰװȻһʹ'list installed'ѡֻгѰװ + + # dnf list installed + +![гѰװ](http://www.tecmint.com/wp-content/uploads/2015/05/List-Installed-Packages.png) + +### 6. DNFгпõ ### + +Ƶģ'list available'ѡгпIJֿпõ + + # dnf list available + +![DNFгõ](http://www.tecmint.com/wp-content/uploads/2015/05/List-Available-Packages.png) + +### 7. ʹDNF ### + +̫밲װ֣£ʹ'search'ѡƥַ磬nanoַ + + # dnf search nano + +![ͨؼ](http://www.tecmint.com/wp-content/uploads/2015/05/Search-Package.gif) + +### 8. 鿴ĸṩijļ/ ### + +dnfѡ'provides'ܲṩijļ/磬Ǹṩϵͳе'/bin/bash'ļʹ + + # dnf provides /bin/bash + +![ṩļ](http://www.tecmint.com/wp-content/uploads/2015/05/Find-Package-Sub-Package.gif) + +### 9. ʹDNFһϸϢ ### + +ڰװһǰ֪ϸϢʹ'info'һϸϢ磺 + + # dnf info nano + +![DNF鿴Ϣ](http://www.tecmint.com/wp-content/uploads/2015/05/Check-Package-Information.gif) + +### 10. ʹDNFװ ### + +밲װһnanoֻΪnanoԶĽͰװе + + # dnf install nano + +![DNFװ](http://www.tecmint.com/wp-content/uploads/2015/05/Install-Package-DNF.gif) + +### 11. ʹDNFһ ### + +ֻһضİ磬systemdұϵͳʣ䡣 + + # dnf update systemd + +![һ](http://www.tecmint.com/wp-content/uploads/2015/05/Update-a-Package.gif) + +### 12. ʹDNFϵͳ ### + +ϵͳаװĸ¿Լ򵥵ʹdnfУ + + # dnf check-update + +![ϵͳ](http://www.tecmint.com/wp-content/uploads/2015/05/Check-For-System-Update.gif) + +### 13. ʹDNFװϵͳе ### + +ʹϵͳѰװ + + # dnf update + + # dnf upgrade + +![ϵͳ](http://www.tecmint.com/wp-content/uploads/2015/05/Update-System.gif) + +### 14. ʹDNFƳ/ɾһ ### + +dnfʹ'remove''erase'ѡƳκβҪ + + # dnf remove nano + + # dnf erase nano + +![Ƴϵͳе](http://www.tecmint.com/wp-content/uploads/2015/05/Remove-Package.gif) + +### 15. ʹDNFƳõOrphan Packages ### + +ЩΪװӦijɾ㲻Ҫˡùɾ + + # dnf autoremove + +![Ƴõ](http://www.tecmint.com/wp-content/uploads/2015/05/Autoremove-Packages.gif) + +### 16. ʹDNFƳ ### + +ʹdnfʱڵͷͲǻᵼ´ǿʹͰԶ̰Ϣͷ + + # dnf clean all + +![ƳDNF](http://www.tecmint.com/wp-content/uploads/2015/05/Remove-Cache-Packages.gif) + +### 17. ضDNFİ ### + +ҪضDNFİ磬cleanͨõ + + # dnf help clean + +![ijһ](http://www.tecmint.com/wp-content/uploads/2015/05/Help-on-DNF-Command.gif) + +### 18. гDNFѡ ### + +ҪʾdnfѡֻҪ + + # dnf help + +![ѡ](http://www.tecmint.com/wp-content/uploads/2015/05/DNF-Options.gif) + +### 19. 鿴DNFʷ¼ ### + +Ե'dnf history'鿴Ѿִйdnfб֪ʲôװ/ƳԼʱ + + # dnf history + +![鿴ʷ¼](http://www.tecmint.com/wp-content/uploads/2015/05/Check-DNF-History.gif) + +### 20. ʾ ### + +'dnf grouplist'ԴӡпõĻѰװûʲôг֪顣 + + # dnf grouplist + +![г](http://www.tecmint.com/wp-content/uploads/2015/05/List-All-Group-Packages.gif) + +### 21. ʹDNFװһ ### + +Ҫװһһ飨磬Educational SoftawareֻҪִУ + + # dnf groupinstall 'Educational Software' + +![װһ](http://www.tecmint.com/wp-content/uploads/2015/05/Install-Group-Packages.gif) + +### 22. һ ### + +ͨһ飨磬Educational Software + + # dnf groupupdate 'Educational Software' + +![](http://www.tecmint.com/wp-content/uploads/2015/05/Update-Group-Package.gif) + +### 23. Ƴһ ### + +ʹƳһ飨磬Educational Software + + # dnf groupremove 'Educational Software' + +![Ƴ](http://www.tecmint.com/wp-content/uploads/2015/05/Remove-Group-Package.gif) + +### 24. ijضIJֿⰲװһ ### + +DNFԴκضIJֿⰲװһ磬phpmyadmin + + # dnf --enablerepo=epel install phpmyadmin + +![ضIJֿⰲװ](http://www.tecmint.com/wp-content/uploads/2015/05/Install-Package-From-Specific-Repo.gif) + +### 25. Ѱװͬȶа ### + +'dnf distro-sync'ͬѰװпIJֿȶ汾ûѡͬѰװ + + # dnf distro-sync + +![ͬȶ](http://www.tecmint.com/wp-content/uploads/2015/05/Synchronize-Packages.gif) + +### 26. °װһ ### + +'dnf reinstall nano'°װһѾװ磬nano + + # dnf reinstall nano + +![°װ](http://www.tecmint.com/wp-content/uploads/2015/05/Re-Install-Package.gif) + +### 27. һ ### + +ѡ'downgrade'ʹһ磬acpid˵Ͱ汾 + + # dnf downgrade acpid + +ʾ + + Using metadata from Wed May 20 12:44:59 2015 + No match for available package: acpid-2.0.19-5.el7.x86_64 + Error: Nothing to do. + +**ҵĹ۲**dnfᰴԤһΪһbugύ + +### ### + +DNFYUMƷԶоLinuxϵͳԱĹ磺 + +- `--skip-broken`DNFʶ𣬲DNFû +- ܻdnf providesҲû'resolvedep'ˡ +- û'deplist' +- ųһֿζвųòֿ⣬yumУųһֻֿڰװʱųǡ + +LinuxûLinux̬ϵͳ⡣[Systemd滻init system][3]vDNFڲú滻YUMFedora 22RHELCentOS + +ôأDzǷаLinux̬ϵͳעûڳûԸ㣵ķǰأITҵһ仰 - ûлΪʲôҪأSystem VYUMûл + +ƪµȫˡ·˽ı뷨޺ͷ԰Ǵлл + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/dnf-commands-for-fedora-rpm-package-management/ + +ߣ[Avishek Kumar][a] +ߣ[wwy-hust](https://github.com/wwy-hust) +Уԣ[УID](https://github.com/УID) + + [LCTT](https://github.com/LCTT/TranslateProject) ԭ룬[Linuxй](https://linux.cn/) Ƴ + +[a]:http://www.tecmint.com/author/avishek/ +[1]:http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/ +[2]:http://www.tecmint.com/dnf-next-generation-package-management-utility-for-linux/ +[3]:http://www.tecmint.com/systemd-replaces-init-in-linux/ diff --git a/translated/tech/20150528 Things To Do After Installing Fedora 22.md b/translated/tech/20150528 Things To Do After Installing Fedora 22.md new file mode 100644 index 0000000000..172c7612ae --- /dev/null +++ b/translated/tech/20150528 Things To Do After Installing Fedora 22.md @@ -0,0 +1,113 @@ +安装Fedora 22后要做的事 +================================================================================ +Fedora 22,Red Hat操作系统的社区开发版的最新成员,已经于2015年5月26日发布了。这个令人神圣的Fedora发行版充斥着各种炒作和预期,Fedora 22推出了大量的重大变化。 + +就初始化进程而言,Systemd还是个新生儿,但它已经准备好替换脆弱的sysvinit这个一直是Linux生态系统一部分的模块。另外一个用户会碰到的重大改变存在于基本仓库的python版本中,这里提供了两种不同口味的python版本2.x和3.x分线,各个都有其不同的癖好和优点。所以,那些偏好2.x口味的用户可能想要安装他们喜爱的python版本。自从Fedora 18开始被打扮得更加时髦的Yum安装器也被设置来替换过时陈旧的YUM安装器后。Fedora也已最后决定,现在是时候用DNF来替换YUM了。 +### 1) 安装VLC媒体播放器 ### + +Fedora 22默认自带了媒体播放器viz gnome视频播放器(前身是totem)。如果你对此不感冒,那么我们可以跳过这一步继续往前走。但是,如果你像我一样,偏好使用最广泛的VLC,那么就去从RPMFusion仓库安装吧。安装方法如下: + + sudo dnf install vlc -y + +### 2) 配置RPMFusion仓库 ### + +正如我已经提到过的,Fedora的意识形态很是严谨,它不会自带任何非自由组件。官方仓库不会提供一些包含有非自由组件的基本软件,比如像多媒体编码。因此,安装一些第三方仓库很有必要,这些仓库会为我们提供一些基本的软件。幸运的是,RPMFusion仓库前来拯救我们了。 + + $ sudo dnf install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-22.noarch.rpm + +### 3) 安装多媒体编码 ### + +刚刚我们说过,一些多媒体编码和插件不会随Fedora一起发送。现在,有谁想仅仅是因为专有编码而错过他们最爱的节目和电影?试试这个吧: + + $ sudo dnf install gstreamer-plugins-bad gstreamer-plugins-bad-free-extras gstreamer-plugins-ugly gstreamer-ffmpeg gstreamer1-libav gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld gstreamer-plugins-base-tools gstreamer1-plugins-good-extras gstreamer1-plugins-ugly gstreamer1-plugins-bad-free gstreamer1-plugins-good gstreamer1-plugins-base gstreamer1 + +### 4) 更新系统 ### + +Fedora是一个尖端的发行版,因此它会持续发布更新用以修复系统中出现的错误和漏洞。因而,保持系统更新到最新,是个不错的做法。 + + $ sudo dnf update -y + +### 5) 卸载你不需要的软件 ### + +Fedora预装了一些大多数用户可以利用的包,但是对于更高级的用户,你可能意识到你并不需要它。要移除你不需要的包相当容易,只需使用以下命令——我选择卸载rhythmbox,因为我知道我不会用到它: + + $ sudo dnf remove rhythmbox + +### 6) 安装Adobe Flash ### + +我们都希望Adobe Flash不要再存在了,因为它并不被认为是最安全的,或者资源利用最好的,但是暂时先让它待着吧。Fedora 22安装Adobe Flash的唯一途径是从Adobe安装官方RPM,就像下面这样。 + +你可以从[这里][1]下载RPM。下载完后,你可以直接右击并像下面这样打开: + +![Install Adobe Flash](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-9.50.42-PM.png) + +右击并选择“用软件安装打开” + +然后,只需在弹出窗口中点击安装: + +![Install Adobe](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-9.51.07-PM.png) + +点击“安装”来完成从Adobe安装自定义RPM的过程 + +该过程完成后,“安装”按钮会变成“移除”,而此时安装也完成了。如果在此过程中你的浏览器开着,会提示你先把它关掉或在安装完成后重启以使修改生效。 + +### 7) 用Gnome Boxes加速虚拟机 ### + +你刚刚安装了Fedora,你也很是喜欢,但是出于某些私人原因,你也许仍然需要Windows,或者你只是想玩玩另外一个Linux发行版。不管哪种情况,你都可以使用Gnome Boxes来简单地创建一个虚拟机或使用一个live发行版,Fedora 22提供了该软件。遵循以下步骤,使用你所选的ISO来开始吧!谁知道呢,也许你可以检验一下某个[Fedora Spin][2]。 + +首先,打开Gnome Boxes,然后在顶部左边选择“新建”: + +![Add a new virtual machine (box)](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-10.24.46-PM.png) + +点击“新建”来开始添加一个新虚拟机的进程吧。 + +接下来,点击打开文件并选择一个ISO: + +![Choose ISO](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-10.28.44-PM.png) + +在选择选择了选择文件或ISO后,选择你的ISO。这里,我已经安装了一个Debian ISO。 + +最后,自定义VM设置或使用默认,然后点击“创建”。VM会以默认方式启动,可用的VM会在Gnome Boxes以小缩略图的方式显示。 + +![Create VM](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-10.31.11-PM.png) + +自定义设置为你所选择的,或者也可以保持默认。完成后,点击“创建”,VM就一切就绪了。 + +### 8) 安装Google Chrome ### + +Firefox被包含在Fedora 22中,但是就跟大多数软件一样,每个人都有他们自己的选择。如果你所喜爱的浏览器恰好是Google Chrome,你可以使用和上面安装Adobe Flash Player类似的指令。然而,很明显,你得使用来自Google的任何你所下载的版本的RPM。最新的版本通常可以在[这里][3]找到。 + +### 9) 添加社交媒体和其它在线帐号 ### + +Gnome自带有不错的内建功能用于容纳帐号相关的东西,像Facebook,Google以及其它在线帐号。你可以通过主Gnome设置应用访问在线帐号设置。然后,只需点击在线帐号,并添加你所选择的帐号。如果你要添加一个帐号,比如像Google,你可以用它来作为默认帐号,用来完成诸如发送邮件、日历提醒、相片和文档交互,以及诸如此类的更多事情。 + +### 10) 安装KDE或另一个桌面环境 ### + +我们中的某些人不喜欢Gnome,那也没问题。在终端中运行以下命令来安装KDE所需的一切来替换它。这些指令也可以用以安装xfce、lxde或其它桌面环境。 + + $ sudo dnf install @kde-desktop + +安装完成后,登出。当你点击你的用户名时,注意那个表示设置的小齿轮。点击它,然后选择“Plasma”。当你再次登录时,一个全新的KDE桌面就会欢迎你。 + +![Plasma on Fedora 22](http://blog.linoxide.com/wp-content/uploads/2015/05/Screen-Shot-2015-05-27-at-11.32.27-PM.png) + +刚刚安装到Fedora 22上的Plasma环境 + +### 尾声 ### + +就是这样了,一切就绪。使用新系统吧,试试新东西。如果你找不到与你喜好相关的东西,linux赋予你自由修改它的权利。Fedora自带有最新的Gnome Shell作为其桌面环境,如果你觉得太臃肿而不喜欢,那么试试KDE或一些轻量级的DE,像Cinnamon、xfce之类。愿你的Fedora之旅十分开心并且没有困扰。!! + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-how-to/things-do-after-installing-fedora-22/ + +作者:[Jonathan DeMasi][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/jonathande/ +[1]:https://get.adobe.com/flashplayer/ +[2]:http://spins.fedoraproject.org/ +[3]:https://www.google.com/intl/en/chrome/browser/desktop/index.html diff --git a/translated/tech/20150601 How to monitor Linux servers with SNMP and Cacti.md b/translated/tech/20150601 How to monitor Linux servers with SNMP and Cacti.md new file mode 100644 index 0000000000..cc76945bd8 --- /dev/null +++ b/translated/tech/20150601 How to monitor Linux servers with SNMP and Cacti.md @@ -0,0 +1,181 @@ +使用SNMP和Cacti监控Linux服务器 +================================================================================ +SNMP(或者叫简单网络管理协议)用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类。像Cacti这样的网络监控工具用这些数据来生成图标以达到监控的目的。 + +在一个典型的Cacti和SNMP部署中,会有一台或多台启用了SNMP的设备,以及一台独立的用来从那些设备收集SNMP回馈的监控服务器。请记住,所有需要监控的设备必须启用SNMP。在本教程中,出于演示目的,我们将在同一台Linux服务器上配置Cacti和SNMP。 + +### 在Debian或Ubuntu上配置SNMP ### + +要安装SNMP代理(snmpd)到基于Debian的系统,请运行以下命令: + + root@server:~# apt-get install snmpd + +然后,如下编辑配置文件。 + + root@server:~# vim /etc/snmp/snmpd.conf + +---------- + + # this will make snmpd listen on all interfaces + agentAddress udp:161 + + # a read only community 'myCommunity' and the source network is defined + rocommunity myCommunity 172.17.1.0/24 + + sysLocation Earth + sysContact email@domain.tld + +在编辑完配置文件后,重启snmpd。 + + root@server:~# service snmpd restart + +### 在CentOS或RHEL上配置SNMP ### + +要安装SNMP工具和库,请运行以下命令。 + + root@server:~# sudo yum install net-snmp + +然后,如下编辑SNMP配置文件。 + + root@server:~# vim /etc/snmp/snmpd.conf + +---------- + + # A user 'myUser' is being defined with the community string 'myCommunity' and source network 172.17.1.0/24 + com2sec myUser 172.17.1.0/24 myCommunity + + # myUser is added into the group 'myGroup' and the permission of the group is defined + group myGroup v1 myUser + group myGroup v2c myUser + view all included .1 + access myGroup "" any noauth exact all all none + +---------- + + root@server:~# service snmpd restart + root@server:~# chkconfig snmpd on + +重启snmpd服务,然后添加到启动服务列表。 + +### 测试SNMP ### + +SNMP可以通过运行snmpwalk命令进行测试。如果SNMP已经配置成功,该命令会生成大量输出。 + + root@server:~# snmpwalk -c myCommunity 172.17.1.44 -v1 + +---------- + + iso.3.6.1.2.1.1.1.0 = STRING: "Linux mrtg 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64" + iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10 + iso.3.6.1.2.1.1.3.0 = Timeticks: (2097) 0:00:20.97 + + ~~ OUTPUT TRUNCATED ~~ + + iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440 + iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 1 + iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0 + iso.3.6.1.2.1.92.1.3.1.1.2.7.100.101.102.97.117.108.116.1 = Timeticks: (1) 0:00:00.01 + iso.3.6.1.2.1.92.1.3.1.1.3.7.100.101.102.97.117.108.116.1 = Hex-STRING: 07 DD 0B 12 00 39 27 00 2B 06 00 + +### 配置带有SNMP的Cacti ### + +在本教程中,我们将在同一台Linux服务器上设置Cacti和SNMP。所以,去[安装Cacti][2]到刚刚配置SNMP的Linux服务器上吧。 + +安装完后,Cacti网页接口可以通过“http://172.17.1.44/cacti”来访问,当然,在你的环境中,请将IP地址换成你的服务器的地址。 + +![](http://farm6.staticflickr.com/5512/10972747655_0298f6ce6c_z.jpg) + +![](http://farm6.staticflickr.com/5532/10972982543_67e15433b8_z.jpg) + +安装过程中Cacti的路径一般都是正确的,但是如有必要,请再次检查以下。 + +![](http://farm4.staticflickr.com/3764/10972920304_138670d3cf_z.jpg) + +在首次安装过程中,Cacti默认的用户名和密码是“admin”和“admin”。在首次登录后会强制你修改密码。 + +![](http://farm6.staticflickr.com/5542/10972747775_531fe445ef_o.png) + +### 添加设备到Cacti并管理 ### + +Cacti将根据先前配置的SNMP字符串注册设备。在本教程中,我们将只添加启用了SNMP的本地服务器。 + +要添加设备,我们必须以管理员登录,然后转到Cacti管理员面板中的控制台。点击控制台 > 设备。 + +![](http://farm8.staticflickr.com/7411/10972747855_b464972e56_z.jpg) + +那里可能已经有一个名为‘localhost’的设备。我们不需要它,因为我们要创建全新的图表。我们可以将该设备从列表中删除,使用“添加”按钮来添加新设备。 + +![](http://farm8.staticflickr.com/7373/10972747895_977e0eccd6_z.jpg) + +接下来,我们设置设备参数。 + +![](http://farm8.staticflickr.com/7400/10972747935_df03500de7_z.jpg) + +由于设备已经添加,我们来指定想要创建的图表模板。你可以在该页的最后章节中找到本节内容。 + +![](http://farm4.staticflickr.com/3773/10972747955_083101e6ab_z.jpg) + +然后,我们继续来创建图表。 + +![](http://farm4.staticflickr.com/3734/10972747985_fae6b78888.jpg) + +这里,我们创建用于平均负载、RAM和硬盘、处理器的图表。 + +![](http://farm8.staticflickr.com/7374/10972920484_ed6b33b8b8_z.jpg) + +### 接口图表和64位计数器 ### + +默认情况下,Cacti在SNMP查询中使用32位计数器。32位计数器对于大多数带宽图表而言已经足够了,但是对于超过100Mbps的带宽,它就无能为力了。如果已经知道带宽会超过100Mbps,建议你使用64位计数器。使用64位计数器一点也不麻烦。 + +![](http://farm8.staticflickr.com/7320/10972982813_120fe1f3d0_z.jpg) + +**注意**: Cacti会花费大约15分钟来产生新图表,除了耐心等待,你别无选择。 + +### 创建图表树 ### + +这些截图展示了如何创建图表树,以及如何添加图表到这些树中。 + +![](http://farm8.staticflickr.com/7429/10972748045_ca06bec889_z.jpg) + +![](http://farm3.staticflickr.com/2833/10972920584_f33624862a_z.jpg) + +![](http://farm6.staticflickr.com/5548/10972836666_f31e4de0e7_z.jpg) + +![](http://farm4.staticflickr.com/3786/10972836776_1675611740_z.jpg) + +我们可以验证图表树中的图表。 + +![](http://farm4.staticflickr.com/3707/10972836836_3dabe56765_z.jpg) + +### 用户管理 ### + +最后,我们创建一个只具有查看我们刚创建的图表权限的用户。Cacti内建了用户管理系统,而且是高度可定制的。 + +![](http://farm8.staticflickr.com/7313/10972920624_61e13157f9_z.jpg) + +![](http://farm6.staticflickr.com/5536/10972920644_59a9797685_z.jpg) + +![](http://farm3.staticflickr.com/2872/10972920744_24f75fb5a8_z.jpg) + +在完成这些步骤后,我们可以使用‘user1’来登录进去,并验证只有该用户可以查看该图表。 + +![](http://farm8.staticflickr.com/7423/10972748265_c2608b3683_z.jpg) + +![](http://farm4.staticflickr.com/3763/10972748335_9cd012c6fe_z.jpg) + +至此,我们在网络监控系统中部署了一台Cacti服务器。Cacti服务器比较稳定,可以处理大量图表而不会出问题。 + +希望本文对你有所帮助。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/monitor-linux-servers-snmp-cacti.html + +作者:[Sarmed Rahman][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/sarmed +[1]:http://xmodulo.com/install-configure-cacti-linux.html diff --git a/translated/tech/20150601 How to monitor common services with Nagios.md b/translated/tech/20150601 How to monitor common services with Nagios.md new file mode 100644 index 0000000000..2898a57ad0 --- /dev/null +++ b/translated/tech/20150601 How to monitor common services with Nagios.md @@ -0,0 +1,269 @@ +如何用Nagios监控服务 +================================================================================ +Nagios内置了很多脚本来监控服务。本篇会使用其中一些来检查通用服务如MySql、Apache、DNS等等。 + +为了保证本篇集中在系统监控,我们不会配置hostgroup或者模板,它们已经在 [前面的教程][1]中覆盖了,它们可以满足这些条件了。 + +### 在命令行中运行Nagios ### + +通常建议在添加到Nagios前现在命令行中运行Nagios服务检测脚本。它会给出执行是否成功以及脚本的输出将会看上去的样子。 + +这些脚本存储在 /etc/nagios-plugins/config/ ,可执行文件在 /usr/lib/nagios/plugins/。 + +下面就是该怎么做 + + root@nagios:~# cd /etc/nagios-plugins/config/ + +提供的脚本包含了语法帮助。示例包含了部分输出。 + + root@nagios:~# cat /etc/nagios-plugins/config/tcp_udp.cfg + +---------- + + # 'check_tcp' command definition + define command{ + command_name check_tcp + command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' + +了解了语法,TCP 80端口可以用下面的方法检查。 + + root@nagios:~# /usr/lib/nagios/plugins/check_tcp -H 10.10.10.1 -p 80 + +---------- + + TCP OK - 0.000 second response time on port 80|time=0.000222s;;;0.000000;10.000000 + +### 示例拓扑 ### + +本片中使用下面三台服务器。每台服务器运行多个通用服务。Nagios服务器现在运行的是Ubuntu。 + +- Server 1 (10.10.10.1) : MySQL, Apache2 +- Server 2 (10.10.10.2) : Postfix, Apache2 +- Server 3 (10.10.10.3): DNS + +首先,服务器被定义在了Nagios中。 + + root@nagios:~# vim /etc/nagios3/conf.d/example.cfg + +---------- + + define host{ + use generic-host + host_name test-server-1 + alias test-server-1 + address 10.10.10.1 + } + + define host{ + use generic-host + host_name test-server-2 + alias test-server-2 + address 10.10.10.2 + } + + define host{ + use generic-host + host_name test-server-3 + alias test-server-3 + address 10.10.10.3 + } + +### 监控MySQL服务 ### + +#### MySQL 监控需要 #### + +- 通过检查3306端口来检测MySQL是否运行中。 +- 检测特定的数据库'testDB'是否可用。 + +#### MySQL 服务器设置 #### + +开始检测MySQL时,需要记住MySQL默认只监听回环接口127.0.0.1。这增加了数据库的安全。手动调节需要告诉MySQL该监听什么其他接口。下面是该怎么做。 + +这个设置在所有的MySQL服务器上已经做了。 + + root@nagios:~# vim /etc/mysql/my.cnf + +下面这行被注释掉了来监听所有接口。 + + #bind-address = 127.0.0.1 + +同样,MySQL将不会运行任何主机来连接到它。在本机和任意主机都创建了用户‘nagios’。这个用户接着在所有的数据库中被授予所有的权限,这将在会用在监控中。 + +下面的设置对所有的MySQL服务器都已经设置。 + + root@nagios:~# mysql -u root –p + ## MySQL root password here ## + +'nagios@localhost'用户在MySQL服务器中创建了。 + + mysql> CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'nagios-pass'; + mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'localhost'; + +'nagios@any-host'用户创建了。 + + mysql> CREATE USER 'nagios'@'%' IDENTIFIED BY 'nagios-pass'; + mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'%'; + + mysql> FLUSH PRIVILEGES; + +这使MySQL监听所有的接口,同样接受来自用户'nagios'的进入链接。 + +请注意,这种变化可能有安全隐患,所以需要说几句话: + +- 这个设置将会暴露MySQL给所有的接口,包括WAN。确保只有合法的网络访问是非常重要的。应该使用防火墙和TCP封装器等过滤器。 +- MySQL用户‘nagios’的密码应该非常强。如果只有几台Nagios服务器,那么应该创建'nagios@servername'用户而不是任意用户的'nagios@%'。 + +#### 对MySQL的NAgios配置 #### + +用下面的来做一些调整。 + + root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg + +---------- + + define service{ + use generic-service + host_name test-server-1 + ;hostgroup can be used instead as well + + service_description Check MYSQL via TCP port + check_command check_tcp!3306 + } + + define service{ + use generic-service + host_name test-server-1 + ;hostgroup can be used instead as well + + service_description Check availability of database 'testDB' + check_command check_mysql_database!nagios!nagios-pass!testDB + ;check_mysql!userName!userPassword!databaseName + } + +这样,Nagios就可以同时监控MySQL服务器和数据库的可用性。 + +### 监控Apache服务器 ### + +Nagios同样也可以监控Apache服务。 + +#### Apache监控需要 #### + +- 监控apache是否可用 + +这个任务非常简单因为Nagios有一个内置命令。 + + root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg + +---------- + + define service{ + use generic-service + host_name test-server-1, test-server-2 + service_description Check Apache Web Server + check_command check_http + } + +现在就非常简单了。 + +### 监控DNS服务 ### + +Nagios通过向DNS服务器查询一个完全合格域名(FQDN),或者使用dig工具来查询。默认用于FQDN的是www.google.com,但是这个可以按需改变。按照下面的文件修改来完成这个任务。 + + root@nagios:~# vim /etc/nagios-plugins/config/dns.cfg + +---------- + + ## The -H portion can be modified to replace Google ## + define command{ + command_name check_dns + command_line /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$' + } + +编辑下面的行。 + + root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg + +---------- + + ## Nagios asks server-3 to resolve the IP for google.com ## + define service{ + use generic-service + host_name test-server-3 + service_description Check DNS + check_command check_dns + } + + ## Nagios asks server-3 to dig google.com ## + define service{ + use generic-service + host_name test-server-3 + service_description Check DNS via dig + check_command check_dig!www.google.com + } + +### 监控邮件服务器 ### + +Nagios可以监控不同的邮件服务组件如SMTP、POP、IMAP和mailq。之前提过,server-2设置了后缀邮件服务。Nagios将被配置来监控SMTP和邮件队列。 + + + root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg + +---------- + + define service{ + use generic-service + host_name test-server-2 + service_description Check SMTP + check_command check_smtp + } + + define service{ + use generic-service + host_name test-server-2 + service_description Check Mail Queue + check_command check_mailq_postfix!50!100 + ;warning at 50, critical at 100 + } + +下面的截屏显示了目前配置监控服务的概览。 + +![](http://farm8.staticflickr.com/7333/11428095956_2868bbdfcc_z.jpg) + +### 基于端口自定义监控程序 ### + +让我们假设下面的自定义程序同样运行在网络中,监听一个特定的端口。 + +- 测试1号服务器:自定义程序(TCP端口 12345) + +过一些小的调整,Nagios也可以帮助监控这个程序。 + + root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg + +---------- + + define service{ + use generic-service + host_name test-server-1 + service_description Check server 1 custom application + check_command check_tcp!12345 + } + +在完结之前,Nagios可以监控网络很多其他的方面。存储在/etc/nagios-plugins/config/中的脚本为Nagios很棒的能力。 + + +一些Nagios提供的脚本被限制在本地服务器。例子包含服务负载、进程并发数量、登录用户数量。这些检查可以提供Nagios服务器内有用的信息。 + +希望这篇有用。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/monitor-common-services-nagios.html + +作者:[Sarmed Rahman][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/sarmed +[1]:http://xmodulo.com/install-configure-nagios-linux.html \ No newline at end of file diff --git a/translated/tech/20150602 Howto Configure OpenVPN Server-Client on Ubuntu 15.04.md b/translated/tech/20150602 Howto Configure OpenVPN Server-Client on Ubuntu 15.04.md new file mode 100644 index 0000000000..5b6c2fc6bd --- /dev/null +++ b/translated/tech/20150602 Howto Configure OpenVPN Server-Client on Ubuntu 15.04.md @@ -0,0 +1,305 @@ +Ubuntu 15.04上配置OpenVPN服务器-客户端 +================================================================================ +虚拟专用网(VPN)是几种用于建立与其它网络连接的网络技术中常见的一个名称。它被称为虚拟网,因为各个节点的连接不是通过物理线路实现的。而由于没有网络所有者的正确授权是不能通过公共线路访问到网络,所以它是专用的。 + +![](http://blog.linoxide.com/wp-content/uploads/2015/05/vpn_custom_illustration.jpg) + +[OpenVPN][1]软件通过TUN/TAP驱动的帮助,使用TCP和UDP协议来传输数据。UDP协议和TUN驱动允许NAT后的用户建立到OpenVPN服务器的连接。此外,OpenVPN允许指定自定义端口。它提额外提供了灵活的配置,可以帮助你避免防火墙限制。 + +OpenVPN中,由OpenSSL库和传输层安全协议(TLS)提供了安全和加密。TLS是SSL协议的一个改进版本。 + +OpenSSL提供了两种加密方法:对称和非对称。下面,我们展示了如何配置OpenVPN的服务器端,以及如何预备使用带有公共密钥非对称加密和TLS协议基础结构(PKI)。 + +### 服务器端配置 ### + +首先,我们必须安装OpenVPN。在Ubuntu 15.04和其它带有‘apt’报管理器的Unix系统中,可以通过如下命令安装: + + sudo apt-get install openvpn + +然后,我们必须配置一个密钥对,这可以通过默认的“openssl”工具完成。但是,这种方式十分难。这也是我们使用“easy-rsa”来实现此目的的原因。接下来的命令会将“easy-rsa”安装到系统中。 + + sudo apt-get unstall easy-rsa + +**注意**: 所有接下来的命令要以超级用户权限执行,如在“sudo -i”命令后;此外,你可以使用“sudo -E”作为接下来所有命令的前缀。 + +开始之前,我们需要拷贝“easy-rsa”到openvpn文件夹。 + + mkdir /etc/openvpn/easy-rsa + cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa + mv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0 + +然后进入到该目录 + + cd /etc/openvpn/easy-rsa/2.0 + +这里,我们开启了一个密钥生成进程。 + +首先,我们编辑一个“var”文件。为了简化生成过程,我们需要在里面指定数据。这里是“var”文件的一个样例: + + export KEY_COUNTRY="US" + export KEY_PROVINCE="CA" + export KEY_CITY="SanFrancisco" + export KEY_ORG="Fort-Funston" + export KEY_EMAIL="my@myhost.mydomain" + export KEY_OU=server + +希望这些字段名称对你而言已经很清楚,不需要进一步说明了。 + +其次,我们需要拷贝openssl配置。另外一个版本已经有现成的配置文件,如果你没有特定要求,你可以使用它的上一个版本。这里是1.0.0版本。 + + cp openssl-1.0.0.cnf openssl.cnf + +第三,我们需要加载环境变量,这些变量已经在前面一步中编辑好了。 + + source ./vars + +生成密钥的最后一步准备工作是清空旧的证书和密钥,以及生成新密钥的序列号和索引文件。可以通过以下命令完成。 + + ./clean-all + +现在,我们完成了准备工作,准备好启动生成进程了。让我们先来生成证书。 + + ./build-ca + +在对话中,我们可以看到默认的变量,这些变量是我们先前在“vars”中指定的。我们可以检查以下,如有必要进行编辑,然后按回车几次。对话如下 + + Generating a 2048 bit RSA private key + .............................................+++ + ...................................................................................................+++ + writing new private key to 'ca.key' + ----- + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [US]: + State or Province Name (full name) [CA]: + Locality Name (eg, city) [SanFrancisco]: + Organization Name (eg, company) [Fort-Funston]: + Organizational Unit Name (eg, section) [MyOrganizationalUnit]: + Common Name (eg, your name or your server's hostname) [Fort-Funston CA]: + Name [EasyRSA]: + Email Address [me@myhost.mydomain]: + +接下来,我们需要生成一个服务器密钥 + + ./build-key-server server + +该命令的对话如下: + + Generating a 2048 bit RSA private key + ........................................................................+++ + ............................+++ + writing new private key to 'server.key' + ----- + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [US]: + State or Province Name (full name) [CA]: + Locality Name (eg, city) [SanFrancisco]: + Organization Name (eg, company) [Fort-Funston]: + Organizational Unit Name (eg, section) [MyOrganizationalUnit]: + Common Name (eg, your name or your server's hostname) [server]: + Name [EasyRSA]: + Email Address [me@myhost.mydomain]: + + Please enter the following 'extra' attributes + to be sent with your certificate request + A challenge password []: + An optional company name []: + Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf + Check that the request matches the signature + Signature ok + The Subject's Distinguished Name is as follows + countryName :PRINTABLE:'US' + stateOrProvinceName :PRINTABLE:'CA' + localityName :PRINTABLE:'SanFrancisco' + organizationName :PRINTABLE:'Fort-Funston' + organizationalUnitName:PRINTABLE:'MyOrganizationalUnit' + commonName :PRINTABLE:'server' + name :PRINTABLE:'EasyRSA' + emailAddress :IA5STRING:'me@myhost.mydomain' + Certificate is to be certified until May 22 19:00:25 2025 GMT (3650 days) + Sign the certificate? [y/n]:y + 1 out of 1 certificate requests certified, commit? [y/n]y + Write out database with 1 new entries + Data Base Updated + +这里,最后两个关于“签署证书”和“提交”的问题,我们必须回答“yes”。 + +现在,我们已经有了证书和服务器密钥。下一步,就是去省城Diffie-Hellman密钥。执行以下命令,耐心等待。在接下来的几分钟内,我们将看到许多点和加号。 + + ./build-dh + +该命令的输出样例如下 + + Generating DH parameters, 2048 bit long safe prime, generator 2 + This is going to take a long time + ................................+................ + +在漫长的等待之后,我们可以继续生成最后的密钥了,该密钥用于TLS验证。命令如下: + + openvpn --genkey --secret keys/ta.key + +现在,生成完毕,我们可以移动所有生成的文件到最后的位置中。 + + cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/ + +最后,我们来创建OpenVPN配置文件。让我们从样例中拷贝过来吧: + + cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ + cd /etc/openvpn + gunzip -d /etc/openvpn/server.conf.gz + +然后编辑 + + vim /etc/openvpn/server.conf + +我们需要指定密钥的自定义路径 + + ca /etc/openvpn/keys/ca.crt + cert /etc/openvpn/keys/server.crt + key /etc/openvpn/keys/server.key # This file should be kept secret + dh /etc/openvpn/keys/dh2048.pem + +一切就绪。在重启OpenVPN后,服务器端配置就完成了。 + + service openvpn restart + +### Unix的客户端配置 ### + +假定我们有一台装有类Unix操作系统的设备,比如Ubuntu 15.04,并安装有OpenVPN。我们想要从先前的部分连接到OpenVPN服务器。首先,我们需要为客户端生成密钥。为了生成该密钥,请转到服务器上的目录中: + + cd /etc/openvpn/easy-rsa/2.0 + +加载环境变量 + + source vars + +然后创建客户端密钥 + + ./build-key client + +我们将看到一个与先前关于服务器密钥生成部分的章节描述一样的对话,填入客户端的实际信息。 + +如果需要密码保护密钥,你需要运行另外一个命令,命令如下 + + ./build-key-pass client + +在此种情况下,在建立VPN连接时,会提示你输入密码。 + +现在,我们需要将以下文件从服务器拷贝到客户端/etc/openvpn/keys/文件夹。 + +服务器文件列表: + +- ca.crt, +- dh2048.pem, +- client.crt, +- client.key, +- ta.key. + +在此之后,我们转到客户端,准备配置文件。配置文件位于/etc/openvpn/client.conf,内容如下 + + dev tun + proto udp + + # IP and Port of remote host with OpenVPN server + remote 111.222.333.444 1194 + + resolv-retry infinite + + ca /etc/openvpn/keys/ca.crt + cert /etc/openvpn/keys/client.crt + key /etc/openvpn/keys/client.key + tls-client + tls-auth /etc/openvpn/keys/ta.key 1 + auth SHA1 + cipher BF-CBC + remote-cert-tls server + comp-lzo + persist-key + persist-tun + + status openvpn-status.log + log /var/log/openvpn.log + verb 3 + mute 20 + +在此之后,我们需要重启OpenVPN以接受新配置。 + + service openvpn restart + +好了,客户端配置完成。 + +### 安卓客户端配置 ### + +安卓设备上的OpenVPN配置和Unix系统上的十分类似,我们需要一个含有配置文件、密钥和证书的包。文件列表如下: + +- configuration file (.ovpn), +- ca.crt, +- dh2048.pem, +- client.crt, +- client.key. + +客户端密钥生成方式和先前章节所述的一样。 + +配置文件内容如下 + + client tls-client + dev tun + proto udp + + # IP and Port of remote host with OpenVPN server + remote 111.222.333.444 1194 + + resolv-retry infinite + nobind + ca ca.crt + cert client.crt + key client.key + dh dh2048.pem + persist-tun + persist-key + + verb 3 + mute 20 + +所有这些文件我们必须移动我们设备的SD卡上。 + +然后,我们需要安装[OpenVPN连接][2]。 + +接下来,配置过程很是简单: + + open setting of OpenVPN and select Import options + select Import Profile from SD card option + in opened window go to folder with prepared files and select .ovpn file + application offered us to create a new profile + tap on the Connect button and wait a second + +搞定。现在,我们的安卓设备已经通过安全的VPN连接连接到我们的专用网。 + +### 尾声 ### + +虽然OpenVPN初始配置花费不少时间,但是简易客户端配置为我们弥补了时间上的损失,也提供了从任何设备连接的能力。此外,OpenVPN提供了一个很高的安全等级,以及从不同地方连接的能力,包括位于NAT后面的客户端。因此,OpenVPN可以同时在家和在企业中使用。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/ubuntu-how-to/configure-openvpn-server-client-ubuntu-15-04/ + +作者:[Ivan Zabrovskiy][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/ivanz/ +[1]:https://openvpn.net/ +[2]:https://play.google.com/store/apps/details?id=net.openvpn.openvpn diff --git a/translated/tech/20150603 Installing Ruby on Rails using rbenv on Ubuntu 15.04.md b/translated/tech/20150603 Installing Ruby on Rails using rbenv on Ubuntu 15.04.md new file mode 100644 index 0000000000..65ff38744e --- /dev/null +++ b/translated/tech/20150603 Installing Ruby on Rails using rbenv on Ubuntu 15.04.md @@ -0,0 +1,151 @@ +在Ubuntu 15.04中安装RUby on Rails +================================================================================ +本篇我们会学习如何用rbenv在Ubuntu 15.04中安装Ruby on Rails。我们选择Ubuntu作为操作系统因为Ubuntu是Linux发行版中自带很多包和完整文档的操作系统,因此我认为这是正确的选择。如果你不想安装最新的Ubuntu,你可以从[下载iso文件][1]开始。 + +### 安装 Ruby ### + +我们要做的第一件事是更新Ubuntu包并且为Ruby安装一些依赖。 + + sudo apt-get update + sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev + +有三种方法来安装Ruby比如rbenv,rvm和从源码安装。每种都有各自的好处,但是这些天开发者们更倾向使用rbenv而不是rvm和源码来安装。我们将安装最新的Ruby版本,2.2.2。 + +用rbenv来安装只有简单的两步。第一步安装rbenv接着是ruby-build: + + cd + git clone git://github.com/sstephenson/rbenv.git .rbenv + echo 'eval "$(rbenv init -)"' >> ~/.bashrc + exec $SHELL + + git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build + echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc + exec $SHELL + + git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash + + rbenv install 2.2.2 + rbenv global 2.2.2 + ruby -v + +我们需要安装Bundler但是我们要在安装之前告诉rubygems不要为每个包本地安装文档。 + + echo "gem: --no-ri --no-rdoc" > ~/.gemrc + gem install bundler + +### 配置 GIT ### + +配置git之前,你要创建一个github账号,你可以注册[git][2]。我们需要git作为版本控制系统,因此我们要设置来匹配github账号。 + +用户的github账号来代替下面的**Name** 和 **Email address** 。 + + git config --global color.ui true + git config --global user.name "YOUR NAME" + git config --global user.email "YOUR@EMAIL.com" + ssh-keygen -t rsa -C "YOUR@EMAIL.com" + +接下来用新生成的ssh key添加到github账号中。这样你需要复制下面命令的输出并[粘贴在这][3]。 + + cat ~/.ssh/id_rsa.pub + +如果你做完了,检查是否已经成功。 + + ssh -T git@github.com + +你应该得到下面这样的信息。 + + Hi excid3! You've successfully authenticated, but GitHub does not provide shell access. + +### 安装 Rails ### + +我们需要安装javascript运行时,像NodeJS因为这些天Rails带来很多依赖。这样我们可以结合并缩小你的javascript来提供一个更快的生产环境。 + +我们需要添加PPA来安装nodeJS。 + + sudo add-apt-repository ppa:chris-lea/node.js + sudo apt-get update + sudo apt-get install nodejs + +如果在更新是晕倒了问题,你可以试试这个命令: + + # Note the new setup script name for Node.js v0.12 + curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - + + # Then install with: + sudo apt-get install -y nodejs + +下一步,用这个命令: + + gem install rails -v 4.2.1 + +因为我们正在使用rbenv,用下面的命令来安装rails。 + + rbenv rehash + +要确保rails已经正确安炸u哪个,你可以运行rails -v,显示如下: + + rails -v + # Rails 4.2.1 + +如果你得到的是不同的结果可能是环境没有设置正确。 + +### 设置 MySQL ### + +或许你已经熟悉MySQL了,你可以从Ubuntu的仓库中安装MySQL的客户端与服务端。你可以在安装时设置root用户密码。这个信息将来会进入你rails程序的database.yml文件中、用下面的命令来安装mysql。 + + sudo apt-get install mysql-server mysql-client libmysqlclient-dev + +安装libmysqlclient-dev用于提供在设置rails程序时,rails在连接mysql所需要用到的用于编译mysql2 gem的文件。 + +### 最后一步 ### + +让我们尝试创建你的第一个rails程序: + + # Use MySQL + + rails new myapp -d mysql + + # Move into the application directory + + cd myapp + + # Create Database + + rake db:create + + rails server + +访问http://localhost:3000来访问你的新网站。现在你的电脑上已经可以构建rails程序了。 + +![](http://blog.linoxide.com/wp-content/uploads/2015/05/localhost_3000.png) + +如果你在创建数据库时遇到了“Access denied for user 'root'@'localhost' (Using password: NO)”这个错误信息,你需要更新你的config/database.yml文件来匹配数据库的**用户名**和**密码**。 + + # Edit your database.yml in config folder + + nano config/database.yml + +接着输入MySql root用户的密码。 + +![](http://blog.linoxide.com/wp-content/uploads/2015/05/root_passw.png) + +退出 (Ctrl+X)并保存。 + +### 总结 ### + +Rails是用Ruby写的, 也就是随着rails一起使用的编程语言。在Ubuntu 15.04中Ruby on Rails可以用rbenv、 rvm和源码的方式来安装。本篇我们使用的是rbenv方式并用了MySQL作为数据库。有任何的问题或建议,请在评论栏指出。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/ubuntu-how-to/installing-ruby-rails-using-rbenv-ubuntu-15-04/ + +作者:[Obet][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/obetp/ +[1]:http://release.ubuntu.com/15.04 +[2]:http://github.com +[3]:https://github.com/settings/ssh diff --git a/translated/tech/20150604 How To Install Unity 8 Desktop Preview In Ubuntu.md b/translated/tech/20150604 How To Install Unity 8 Desktop Preview In Ubuntu.md new file mode 100644 index 0000000000..bf1c3ea0bb --- /dev/null +++ b/translated/tech/20150604 How To Install Unity 8 Desktop Preview In Ubuntu.md @@ -0,0 +1,77 @@ +Ubuntu中安装Unity 8桌面预览版 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/06/Unity_8.jpeg) + +如果你一直关注新闻,那么Ubuntu将会切换到[Mir显示服务器][1],并随同发布[Unity 8][2]桌面。然而,在尚未确定Unity 8是否会在[Ubuntu 15.10 Willy Werewolf][3]中部署到Mir上之前,提供了一个Unity 8的预览版本供你体验和测试。通过官方PPA,可以很容地**安装Unity 8到Ubuntu 14.04,14.10和15.04中**。 + +到目前为止,开发者已经可以通过[ISO][4]获得该Unity 8预览来进行测试。但是Canonical已经通过[LXC容器][5]发布了。通过该方法,你可以获取Unity 8桌面会话,让它作为任何一个桌面环境运行在Mir显示服务器上。就像你[在Ubuntu中安装Mate桌面][6],然后从LightDm登录屏幕选择桌面会话一样。 + +好奇?想要试试Unity 8?让我们来看怎样安装它吧。 + +**注意: 它是一个实验性预览,可能不是所有人都可以让它正确工作的。** + +### 安装Unity 8桌面到Ubuntu ### + +下面是安装并使用Unity 8的步骤: + +#### 步骤 1: 安装Unity 8到Ubuntu 12.04和14.04 #### + +如果你真运行着Ubuntu 12.04和14.04,那么你必须使用官方PPA来安装Unity 8。使用以下命令进行安装: + + sudo apt-add-repository ppa:unity8-desktop-session-team/unity8-preview-lxc + sudo apt-get update + sudo apt-get upgrade + sudo apt-get install unity8-lxc + +#### 步骤 1: 安装Unity 8到Ubuntu 14.10和15.04 #### + +如果你真运行着Ubuntu 14.10或15.04,那么Unity 8 LXC已经在源中准备好。你只需要运行以下命令: + + sudo apt-get update + sudo apt-get install unity8-lxc + +#### 步骤 2: 设置Unity 8桌面预览LXC #### + +安装Unity 8 LXC后,该对它进行设置,下面的命令就可达到目的: + + sudo unity8-lxc-setup + +它将花费一些时间来设置,所以,给点耐心吧。它会下载ISO,然后解压缩,接着完整最后一些必要的设置来让它工作。它也会安装一个LightDM的轻度修改版本。这一切都搞定后,需要重启。 + +#### 步骤 3: 选择Unity 8 #### + +重启后,在登录屏幕,点击你的登录旁边的Ubuntu图标: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/Change_Desktop_Environment_Ubuntu.jpeg) + +你应该可以在这看到Unity 8的选项,选择它: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/06/Select_Unity8.jpeg) + +### 卸载Unity 8 LXC ### + +如果你发现Unity 8毛病太多,或者你不喜欢它,那么你可以以相同的方式切换会默认Unity版本。此外,你也可以通过下面的命令移除Unity 8: + + sudo apt-get remove unity8-lxc + +该命令会将Unity 8选项从LightDM屏幕移除,但是配置仍然保留着。 + +以上就是你在Ubuntu中安装嗲有Mir的Unity 8的全部过程,试玩后请分享你关于Unity 8的想法哦! + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/install-unity-8-desktop-ubuntu/ + +作者:[Abhishek][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/abhishek/ +[1]:http://en.wikipedia.org/wiki/Mir_%28software%29 +[2]:https://wiki.ubuntu.com/Unity8Desktop +[3]:http://itsfoss.com/ubuntu-15-10-codename/ +[4]:https://wiki.ubuntu.com/Unity8DesktopIso +[5]:https://wiki.ubuntu.com/Unity8inLXC +[6]:http://itsfoss.com/install-mate-desktop-ubuntu-14-04/ diff --git a/translated/tech/20150604 How to access SQLite database in Perl.md b/translated/tech/20150604 How to access SQLite database in Perl.md new file mode 100644 index 0000000000..76cc1f01f0 --- /dev/null +++ b/translated/tech/20150604 How to access SQLite database in Perl.md @@ -0,0 +1,171 @@ +如何用Perl访问SQLite数据库 +================================================================================ +SQLite是一个零配置,无服务端,基于文件的事务文件系统。由于它的轻量级,自包含和紧凑的设计,所以当你想要集成数据库到你的程序中时,SQLite是一个非常流行的选择。在这篇文章中,我会展示如何用Perl脚本来创建和访问SQLite数据库。我演示的Perl代码片段是完整的,所以你可以很简单地修改并集成到你的项目中。 + +![](https://farm1.staticflickr.com/552/18444614631_9e7fce8243_c.jpg) + +### 访问SQLite的准备 ### + +我会使用SQLite DBI Perl驱动来连接到SQLite3。因此你需要在Linux中安装它(和SQLite3一起)。 + +**Debian、 Ubuntu 或者 Linux Mint** + + $ sudo apt-get install sqlite3 libdbd-sqlite3-perl + +**CentOS、 Fedora 或者 RHEL** + + $ sudo yum install sqlite perl-DBD-SQLite + +安装后,你可以检查SQLite驱动可以通过下面的脚本访问到。 + + #!/usr/bin/perl + + my @drv = DBI->available_drivers(); + print join("\n", @drv), "\n"; + +如果你运行脚本,你应该会看见下面的输出。 + + DBM + ExampleP + File + Gofer + Proxy + SQLite + Sponge + +### Perl SQLite 访问示例 ### + +下面就是Perl访问SQLite的示例。这个Perl脚本会演示下面这些SQLite数据库的常规管理。 + +- 创建和连接SQLite数据库 +- 在SQLite数据库中创建新表 +- 在表中插入行 +- 在表中搜索和迭代行 +- 在表中更新行 +- 在表中删除行 + + use DBI; + use strict; + + # define database name and driver + my $driver = "SQLite"; + my $db_name = "xmodulo.db"; + my $dbd = "DBI:$driver:dbname=$db_name"; + + # sqlite does not have a notion of username/password + my $username = ""; + my $password = ""; + + # create and connect to a database. + # this will create a file named xmodulo.db + my $dbh = DBI->connect($dbd, $username, $password, { RaiseError => 1 }) + or die $DBI::errstr; + print STDERR "Database opened successfully\n"; + + # create a table + my $stmt = qq(CREATE TABLE IF NOT EXISTS NETWORK + (ID INTEGER PRIMARY KEY AUTOINCREMENT, + HOSTNAME TEXT NOT NULL, + IPADDRESS INT NOT NULL, + OS CHAR(50), + CPULOAD REAL);); + my $ret = $dbh->do($stmt); + if($ret < 0) { + print STDERR $DBI::errstr; + } else { + print STDERR "Table created successfully\n"; + } + + # insert three rows into the table + $stmt = qq(INSERT INTO NETWORK (HOSTNAME,IPADDRESS,OS,CPULOAD) + VALUES ('xmodulo', 16843009, 'Ubuntu 14.10', 0.0)); + $ret = $dbh->do($stmt) or die $DBI::errstr; + + $stmt = qq(INSERT INTO NETWORK (HOSTNAME,IPADDRESS,OS,CPULOAD) + VALUES ('bert', 16843010, 'CentOS 7', 0.0)); + $ret = $dbh->do($stmt) or die $DBI::errstr; + + $stmt = qq(INSERT INTO NETWORK (HOSTNAME,IPADDRESS,OS,CPULOAD) + VALUES ('puppy', 16843011, 'Ubuntu 14.10', 0.0)); + $ret = $dbh->do($stmt) or die $DBI::errstr; + + # search and iterate row(s) in the table + $stmt = qq(SELECT id, hostname, os, cpuload from NETWORK;); + my $obj = $dbh->prepare($stmt); + $ret = $obj->execute() or die $DBI::errstr; + + if($ret < 0) { + print STDERR $DBI::errstr; + } + while(my @row = $obj->fetchrow_array()) { + print "ID: ". $row[0] . "\n"; + print "HOSTNAME: ". $row[1] ."\n"; + print "OS: ". $row[2] ."\n"; + print "CPULOAD: ". $row[3] ."\n\n"; + } + + # update specific row(s) in the table + $stmt = qq(UPDATE NETWORK set CPULOAD = 50 where OS='Ubuntu 14.10';); + $ret = $dbh->do($stmt) or die $DBI::errstr; + + if( $ret < 0 ) { + print STDERR $DBI::errstr; + } else { + print STDERR "A total of $ret rows updated\n"; + } + + # delete specific row(s) from the table + $stmt = qq(DELETE from NETWORK where ID=2;); + $ret = $dbh->do($stmt) or die $DBI::errstr; + + if($ret < 0) { + print STDERR $DBI::errstr; + } else { + print STDERR "A total of $ret rows deleted\n"; + } + + # quit the database + $dbh->disconnect(); + print STDERR "Exit the database\n"; + +上面的Perl脚本运行成功后会创建一个叫“xmodulo.db”的数据库文件,并会有下面的输出。 + + Database opened successfully + Table created successfully + ID: 1 + HOSTNAME: xmodulo + OS: Ubuntu 14.10 + CPULOAD: 0 + + ID: 2 + HOSTNAME: bert + OS: CentOS 7 + CPULOAD: 0 + + ID: 3 + HOSTNAME: puppy + OS: Ubuntu 14.10 + CPULOAD: 0 + + A total of 2 rows updated + A total of 1 rows deleted + Exit the database + +### 错误定位 ### + +如果你尝试没有安装SQLite DBI驱动的情况下使用Perl访问SQLite的话,你会遇到下面的错误。你必须按开始说的安装DBI驱动。 + + Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./script.pl line 3. + BEGIN failed--compilation aborted at ./script.pl line 3. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/access-sqlite-database-perl.html + +作者:[Dan Nanni][a] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/nanni