Merge pull request #13 from LCTT/master

Update 20150331
This commit is contained in:
martin qi 2015-03-31 20:19:58 +08:00
commit 78db7925b1
31 changed files with 2416 additions and 783 deletions

View File

@ -2,13 +2,13 @@
================================================================================
大家好今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件。这里有一款工具你可以工具自己的需要使用。
无论你是否正在使用Linux桌面或者服务器有一些很好的工具能帮你扫描系统中的重复文件并删除它们来释放空间。图形界面和命令行界面的都有。重复文件是磁盘空间不必要的浪费。毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以这样就可以在磁盘的一处地方存储数据了。
无论你是否正在使用Linux桌面或者服务器有一些很好的工具能帮你扫描系统中的重复文件并删除它们来释放空间。图形界面和命令行界面的都有。重复文件是磁盘空间不必要的浪费。毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以在磁盘的一个地方存储数据了。
### FSlint ###
[FSlint][1] 在不同的Linux发行二进制仓库中都有包括Ubuntu、Debian、Fedora和Red Hat。只需你运行你的包管理器并安装“fslint”包就行。这个工具默认提供了一个简单的图形化界面同样也有包含各种功能的命令行版本。
[FSlint][1] 在不同的Linux发行二进制仓库中都有包括Ubuntu、Debian、Fedora和Red Hat。只需你运行你的包管理器并安装“fslint”包就行。这个工具默认提供了一个简单的图形化界面同样也有包含各种功能的命令行版本。
不要让它让你害怕使用FSlint的图形化界面。默认情况下它会自动选中Duplicate窗格并以你的家目录作为搜索路径。
不要担心FSlint的图形化界面太复杂。默认情况下它会自动选中Duplicate窗格并以你的家目录作为搜索路径。
要安装fslint若像我这样运行的是Ubuntu这里是默认的命令
@ -27,7 +27,7 @@ Fedora
sudo yum install fslint
For OpenSuse
OpenSuse
[ -f /etc/mandrake-release ] && pkg=rpm
[ -f /etc/SuSE-release ] && pkg=packages
@ -51,11 +51,11 @@ For OpenSuse
![Delete Duplicate files with Fslint](http://blog.linoxide.com/wp-content/uploads/2015/01/delete-duplicates-fslint.png)
使用按钮来删除任何你要删除的文件,并且可以双击预览。
点击按钮来删除任何你要删除的文件,并且可以双击预览。
完成这一切后,我们就成功地删除你系统中的重复文件了。
**注意** 的是命令行工具默认不在环境的路径中你不能像典型的命令那样运行它。在Ubuntu中你可以在/usr/share/fslint/fslint下找到它。因此如果你要在一个单独的目录运行fslint完整扫描下面是Ubuntu中的运行命令
**注意** 命令行工具默认不在环境的路径中你不能像典型的命令那样运行它。在Ubuntu中你可以在/usr/share/fslint/fslint下找到它。因此如果你要在一个单独的目录运行fslint完整扫描下面是Ubuntu中的运行命令
cd /usr/share/fslint/fslint
@ -84,7 +84,7 @@ via: http://linoxide.com/file-system/find-remove-duplicate-files-linux/
作者:[Arun Pyasi][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -2,7 +2,7 @@
================================================================================
现在使用[树莓派摄像头模组][1]("raspi cam"),也可以像使用卡片相机那样,给拍摄的照片增加各种各样的图片特效。 raspistill命令行工具为您的树莓派提供了丰富的图片特效选项来美化处理你的图片。
你可以用[这3个命令行工具][2]来[抓取raspicam拍摄的照片或者视频][3]在这文章中将重点介绍其中的raspstill工具。raspstill工具提供了丰富的控制选项来处理图片比如说锐度sharpness、对比度contrast、亮度brightness、饱和度saturation、ISO、自动白平衡AWB、以及图片特效image effect等。
有[三个命令行工具][2]可以用于[抓取raspicam拍摄的照片或者视频][3]在这文章中将重点介绍其中的raspstill工具。raspstill工具提供了丰富的控制选项来处理图片比如说锐度sharpness、对比度contrast、亮度brightness、饱和度saturation、ISO、自动白平衡AWB、以及图片特效image effect等。
在这篇文章中将介绍如何使用raspstill工具以及raspicam摄像头模组来控制照片的曝光、AWB以及其他的图片效果。我写了一个简单的python脚本来自动拍摄照片并在这些照片上自动应用各种图片特效。raspicam的帮助文档中介绍了该摄像头模组所支持的曝光模式、AWB和图片特效。总的来说raspicam一共支持16种图片特效、12种曝光模式以及10种AWB选项。
@ -27,7 +27,6 @@ Python脚本很简单如下所示 。
time.sleep(0.25)
print "End of image capture"
The Python script operates as follows. First, create three array/list variable for the exposure, AWB and image effects. In the example, we use 2 types of exposure, 3 types of AWB, and 13 types of image effects values. Then make nested loops for applying the value of the three variables that we have. Inside the nested loop, execute the raspistill application. We specify (1) the output filename; (2) exposure value; (3) AWB value; (4) image effect value; (5) the time to take a photo, which is set to 1 second; and (6) the size of the photo, which is set to 640x480px. This Python script will create 78 different versions of a captured photo with a combination of 2 types of exposure, 3 types of AWB, and 13 types of image effects.
这个脚本完成了以下几个工作。首先脚本中定义了3个列表分别用于枚举曝光模式、AWB模式以及图片特效。在这个实例中我们将使用到2种曝光模式、3种AWB模式以及13种图片特效。脚本会遍历上述3种选项的各种组合并使用这些参数组合来运行raspistill工具。传入的参数共6个分别为1输出文件名2曝光模式3AWB模式4图片特效模式5拍照时间设为1秒6图片尺寸设为640x480。脚本会自动拍摄78张照片每张照片会应用不同的特效参数。
@ -41,7 +40,7 @@ The Python script operates as follows. First, create three array/list variable f
### 小福利 ###
除了使用raspistill命令行工具来操控raspicam摄像模组以外还有其他的方法可以用哦。[Picamera][4]是一个python库它提供了操控raspicam摄像模组的的API接口这样就可以便捷地构建更加复杂的应用程序。如果你精通python那么picamera一定是你项目的好伙伴。picamera已经被默认集成到Raspbian最新版本的的镜像中。当然如果你用的不是最新的Raspbian或者是使用其他的操作系统版本你可以通过下面的方法来进行手动安装。
除了使用raspistill命令行工具来操控raspicam摄像模组以外还有其他的方法可以用哦。[Picamera][4]是一个python库它提供了操控raspicam摄像模组的的API接口这样就可以便捷地构建更加复杂的应用程序。如果你精通python那么picamera一定是你的 hack 项目的好伙伴。picamera已经被默认集成到Raspbian最新版本的的镜像中。当然如果你用的不是最新的Raspbian或者是使用其他的操作系统版本你可以通过下面的方法来进行手动安装。
首先先在你的系统上安装pip详见[指导][6]。
@ -57,7 +56,7 @@ via: http://xmodulo.com/apply-image-effects-pictures-raspberrypi.html
作者:[Kristophorus Hadiono][a]
译者:[coloka](https://github.com/coloka)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,10 +1,10 @@
Linux 有问必答: 如何在Ubuntu或者Debian中下载和安装ixgbe驱动
Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动
================================================================================
> **提问** 我想为我的Intel 10G网卡下载安装最新的ixgbe。我该如何在Ubuntu或者Debian中安装ixgbe驱动
> **提问** 我想为我的Intel 10G网卡下载安装最新的ixgbe驱动。我该如何在Ubuntu或者Debian中安装ixgbe驱动
Intel的10G网卡比如82598、 82599、 x540由ixgbe驱动支持。现代的Linux发版已经将ixgbe作为一个可加载模块。然而有些情况你不想要你机器上的已经编译和安装的ixgbe驱动。比如你想要体验ixbge驱动的最新特性。同样自带内核中的ixgbe中的一个默认问题是不允许你自定义旭东内核参数。如果你想要完全自动一ixgbe驱动比如 RSS、多队列、中断阈值等等你需要手动从源码编译ixgbe驱动。
Intel的10G网卡比如82598、 82599、 x540由ixgbe驱动支持。现代的Linux发行版已经带有了ixgbe驱动通过可加载模块的方式使用。然而有些情况你希望在你机器上的自己编译安装ixgbe驱动比如你想要体验ixbge驱动的最新特性时。同样内核默认自带的ixgbe驱动中的一个问题是不允许你自定义驱动的参数。如果你想要一个完全定制的ixgbe驱动比如 RSS、多队列、中断阈值等等你需要手动从源码编译ixgbe驱动。
这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动。
这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动的教程
### 第一步: 安装前提 ###
@ -29,7 +29,7 @@ Intel的10G网卡比如82598、 82599、 x540由ixgbe驱动支持。现
编译之后你会看到在ixgbe-3.23.2/src目录下创建了**ixgbe.ko**。这就是会加载到内核之中的ixgbe驱动。
用modinfo命令检查内核模块的信息。注意你需要指定模块的绝对路径比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko。输出中会显示ixgbe内核的版本。
用modinfo命令检查内核模块的信息。注意你需要指定模块文件的绝对路径(比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko。输出中会显示ixgbe内核的版本。
$ modinfo ./ixgbe.ko
@ -120,24 +120,24 @@ Intel的10G网卡比如82598、 82599、 x540由ixgbe驱动支持。现
### 第五步: 安装Ixgbe驱动 ###
一旦你验证新的ixgbe驱动已经成功家在,最后一步是在你的系统中安装驱动。
一旦你验证新的ixgbe驱动可以成功加载,最后一步是在你的系统中安装驱动。
$ sudo make install
**ixgbe.ko** 接着会安装在/lib/modules/<kernel-version>/kernel/drivers/net/ethernet/intel/ixgbe 下。
**ixgbe.ko** 会安装在/lib/modules/<kernel-version>/kernel/drivers/net/ethernet/intel/ixgbe 下。
这一步起你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。
这一步起你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。
$ sudo modprobe ixgbe
如果你希望在启动时家在ixgbe驱动你可以在/etc/modules的最后加入“ixgbe”。
如果你希望在启动时加载ixgbe驱动你可以在/etc/modules的最后加入“ixgbe”。
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/download-install-ixgbe-driver-ubuntu-debian.html
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,12 +1,12 @@
使用最近通知工具保持通知历史
使用最近通知工具保持桌面通知历史
================================================================================
![How to see recent notifications in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/01/recent_notifications_Ubuntu_14.jpeg)
大多数桌面环境像Unity和Gnome都有通知特性。我很喜欢其中一些。它尤其当我[在Ubuntu上收听流媒体][1]时帮到我。默认上通知会在桌面的顶部显示几秒接着就会小时。如果你听见了通知的声音但是没有看到内容怎么办?你该如何知道通知的内容?
大多数桌面环境像Unity和Gnome都有通知特性。我很喜欢其中一些。它尤其当我[在Ubuntu上收听流媒体][1]时帮到我。默认上通知会在桌面的顶部显示几秒接着就会消失。如果你听见了通知的声音但是没有看到内容怎么办?你该如何知道通知的内容?
如果你可以看到最近所有通知的历史会很棒吧是的我知道这很棒。你可以在Ubuntu Unity或者Gnome中使用最近**通知小工具**来追踪所有的最近通知。
最近通知位于顶部面板,并且最近所有通知的历史。当它捕获到新的通知后,它就会变绿来表明你有未读的通知。
最近通知位于顶部面板,并且记录了最近所有通知的历史。当它捕获到新的通知后,它就会变绿来表明你有未读的通知。
![Recent notifications in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/01/recent_notifications_Ubuntu.jpeg)
@ -24,7 +24,7 @@
sudo apt-get update
sudo apt-get install indicator-notifications
安装完成后,重新登录后你就可以用了。现在它是没有通知的状态。很方便的小工具,不是么?
安装完成后,重新登录后你就可以用了。现在妈妈再也不用担心我的通知没看到了。很方便的小工具,不是么?
--------------------------------------------------------------------------------
@ -32,7 +32,7 @@ via: http://itsfoss.com/notifications-appindicator/
作者:[Abhishek][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,6 +1,6 @@
Shell入门掌握LinuxOS XUnix的Shell环境
================================================================================
在Linux或类Unix系统中每个用户和进程都运行在一个特定环境中。这个环境包含了变量,设置,别名,函数以及更多的。下面是对Shell环境下一些常用命令的简单介绍包括每个命令如何使用的例子以及在命令行下设定你自己的环境来提高效率。
在Linux或类Unix系统中每个用户和进程都运行在一个特定环境中。这个环境包含了变量、设置、别名、函数以及更多的东西。下面是对Shell环境下一些常用命令的简单介绍包括每个命令如何使用的例子以及在命令行下设定你自己的环境来提高效率。
![](http://s0.cyberciti.org/uploads/cms/2015/01/bash-shell-welcome-image.jpg)
@ -18,7 +18,8 @@ Shell入门掌握LinuxOS XUnix的Shell环境
输出范例:
[![图1: Finding out your shell name](http://s0.cyberciti.org/uploads/cms/2015/01/finding-your-shell-like-a-pro.jpg)][1]
图1找出当前的shell
*图1找出当前的shell*
### 找出所有已安装的shell ###
@ -32,9 +33,10 @@ Shell入门掌握LinuxOS XUnix的Shell环境
输出范例:
[![Fig.02: Finding out your shell path](http://s0.cyberciti.org/uploads/cms/2015/01/finding-and-verifying-shell-path.jpg)][2]
图2找出shell的路径
文件/etc/shells里包含了系统支持的shell列表。每一行代表一个shell是相对根目录的完整路径。用这个[cat命令][3]来查看这些数据:
*图2找出shell的路径*
文件/etc/shells里包含了系统所支持的shell列表。每一行代表一个shell是相对根目录的完整路径。用这个[cat命令][3]来查看这些数据:
cat /etc/shells
@ -71,7 +73,8 @@ Shell入门掌握LinuxOS XUnix的Shell环境
示例输出:
[![Fig. 03: Bash shell nesting level (subshell numbers)](http://s0.cyberciti.org/uploads/cms/2015/01/a-nested-shell-level-command.jpg)][4]
图3Bash shell嵌套层级子shell数目
*图3Bash shell嵌套层级子shell数目*
### 通过chsh命令永久变更系统shell ###
@ -83,9 +86,9 @@ Shell入门掌握LinuxOS XUnix的Shell环境
sudo chsh -s /bin/ksh userNameHere
### 查看当前的环境 ###
### 查看当前的环境变量 ###
你需要用到
你需要用到
env
env | more
@ -118,7 +121,8 @@ Shell入门掌握LinuxOS XUnix的Shell环境
下面是bash shell里一些常见变量的列表
![Fig.04: Common bash environment variables](http://s0.cyberciti.org/uploads/cms/2015/01/common-shell-vars.jpg)
图4常见bash环境变量
*图4常见bash环境变量*
> **注意**下面这些环境变量没事不要乱改。很可能会造成不稳定的shell会话
>
@ -157,7 +161,7 @@ Shell入门掌握LinuxOS XUnix的Shell环境
/home/vivek
### 增加或设定一个新变量 ###
### 增加或设定一个新环境变量 ###
下面是bashzshsh和ksh的语法
@ -225,7 +229,8 @@ Shell入门掌握LinuxOS XUnix的Shell环境
示例输出:
[![Fig.05: List all bash environment configuration files](http://s0.cyberciti.org/uploads/cms/2015/01/list-bash-enviroment-variables.jpg)][5]
图5列出bash的所有配置文件
*图5列出bash的所有配置文件*
要查看所有的bash配置文件输入
@ -241,7 +246,7 @@ Shell入门掌握LinuxOS XUnix的Shell环境
sudo cp -v /etc/bashrc /etc/bashrc.bak.22_jan_15
########################################################################
## 然后随心所欲随便改吧好好玩玩shell环境或者提高一下效率:) ##
## 然后随心所欲随便改吧好好玩玩shell环境或者提高一下效率:) ##
########################################################################
sudo vim /etc/bashrc
@ -326,14 +331,15 @@ zsh的[wiki][6]中建议用下面的命令:
示例输出:
[![Fig.06: View session history in the bash shell using history command](http://s0.cyberciti.org/uploads/cms/2015/01/history-outputs.jpg)][7]
图6在bash shell中使用history命令查看会话历史
你可以重复使用命令。简单地按下[上]或[下]方向键就可以查看之前的命令。在shell提示符下按下[CTRL-R]可以向后搜索历史缓存或文件来查找命令。重复最后一次命令只需要在shell提示符下输入!!就好了:
*图6在bash shell中使用history命令查看会话历史*
你可以重复使用之前的命令。简单地按下[上]或[下]方向键就可以查看之前的命令。在shell提示符下按下[CTRL-R]可以向后搜索历史缓存或文件来查找命令。重复最后一次命令只需要在shell提示符下输入!!就好了:
ls -l /foo/bar
!!
在以上的历史记录中查看命令#93 (hddtemp /dev/sda),输入:
在以上的历史记录中找到命令#93 (hddtemp /dev/sda),输入:
!93
@ -483,7 +489,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
最后,[打开bash命令补齐][12]
source /etc/bash_completio
source /etc/bash_completion
#### #2: 设定bash命令提示符 ####
@ -511,7 +517,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
# 为命令历史文件增加时间戳
export HISTTIMEFORMAT="%F %T "
# 附加到命令历史文件,不是覆盖
# 附加到命令历史文件,不是覆盖
shopt -s histappend
#### #5: 设定shell会话的时区 ####
@ -561,7 +567,7 @@ Bash/ksh/zsh函数允许你更进一步地配置shell环境。在这个例子中
# 清理那些.DS_Store文件
alias dsclean='find . -type f -name .DS_Store -delete'
#### #8: 让世界充满色彩 ####
#### #8: 寡人好色 ####
# 彩色的grep输出
alias grep='grep --color=auto'
@ -669,7 +675,7 @@ via: http://www.cyberciti.biz/howto/shell-primer-configuring-your-linux-unix-osx
作者:[nixCraft][a]
译者:[zpl1025](https://github.com/zpl1025)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,17 +1,18 @@
如何不用重启在CentOS 7/ RHEL 7中添加一块新硬盘
如何不用重启在CentOS 7/ RHEL 7虚拟机中添加一块新硬盘
================================================================================
通常在你在虚拟机中添加一块新硬盘时你可能会看到新硬盘没有自动加载。这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可见。这里有一个简单的命令来重新扫描SCSI总线和SCSI设备。下面这几步在CentOS 7 和RHEL 7 中测试过。
1. 在ESXi或者vCenter中添加一块新的20G硬盘
![](http://www.ehowstuff.com/wp-content/uploads/2015/01/Create-new-LVM-CentOS7-1.png)
![](http://www.ehowstuff.com/wp-content/uploads/2015/01/Create-new-LVM-CentOS7-1.png)
2. 显示当前磁盘分区:
[root@centos7 ~]# fdisk -l
[root@centos7 ~]# fdisk -l
----------
----------
```
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
@ -33,20 +34,22 @@
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
```
3. 确定主机总线号
[root@centos7 ~]# ls /sys/class/scsi_host/
host0 host1 host2
[root@centos7 ~]# ls /sys/class/scsi_host/
host0 host1 host2
4. 重新扫描SCSI总线来添加设备
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@centos7 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
5. 验证磁盘和分区并确保20GB硬盘已经添加了。在本例中出现了下面这行 “Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors” 并且确认新盘添加后没有重启服务器:
5. 验证磁盘和分区并确保20GB硬盘已经添加了。在本例中出现了下面这行 “`Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors`” 并且可以确认没有重启服务器就添加了新盘
```
[root@centos7 ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
@ -76,14 +79,14 @@
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
```
--------------------------------------------------------------------------------
via: http://www.ehowstuff.com/how-to-add-a-new-hard-disk-without-rebooting-on-centos-7-rhel-7/
作者:[skytech][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

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

View File

@ -1,9 +1,8 @@
如何在CentOS 7.0上为Subverison安装Websvn
如何在CentOS 7.0 安装 Websvn
================================================================================
大家好今天我们会在CentOS 7.0 上为subversion安装WebSVN。
WebSVN提供了Svbverion中的各种方法来查看你的仓库。我们可以看到任何给定版本的任何文件或者目录的日志并且看到所有文件改动、添加、删除的列表。我们同样可以看到两个版本间的不同来知道特定版本改动了什么。
大家好今天我们会在CentOS 7.0 上为 subversionSVN安装Web 界面 WebSVN。subverion 是 apache 的顶级项目,也称为 Apache SVN 或 SVN
WebSVN 将 Svbverion 的操作你的仓库的各种功能通过 Web 界面提供出来。通过它,我们可以看到任何给定版本的任何文件或者目录的日志,并且可看到所有文件改动、添加、删除的列表。我们同样可以查看两个版本间的差异来知道特定版本改动了什么。
### 特性 ###
@ -12,20 +11,20 @@ WebSVN提供了下面这些特性:
- 易于使用的用户界面
- 可定制的模板系统
- 色彩化的文件列表
- blame 视图
- 追溯视图
- 日志信息查询
- RSS支持
- [更多][1]
由于使用PHP写成WebSVN同样易于移植和安装。
由于使用PHP写成WebSVN同样易于移植和安装。
现在我们将为Subverison(Apache SVN)安装WebSVN。请确保你的服务器上已经安装了Apache SVN。如果你还没有安装你可以在本教程中安装。
现在我们将为Subverison安装WebSVN。请确保你的服务器上已经安装了 SVN。如果你还没有安装你可以按[本教程][2]安装。
After you installed Apache SVN(Subversion), you'll need to follow the easy steps below.安装完Apache SVNSubversion后,你需要以下几步。
安装完SVN后你需要以下几步。
### 1. 下载 WebSVN ###
你可以从官方网站http://www.websvn.info/download/中下载WebSVN。我们首先进入/var/www/html/并在这里下载安装包。
你可以从官方网站 http://www.websvn.info/download/ 中下载 WebSVN。我们首先进入 /var/www/html/ 并在这里下载安装包。
$ sudo -s
@ -36,7 +35,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
![downloading websvn package](http://blog.linoxide.com/wp-content/uploads/2015/01/downloading-websvn.png)
这里我下载的是最新的2.3.3版本的websvn。你可以从这个网站得到链接。你可以用你要安装的包的链接来替换上面的链接。
这里我下载的是最新的2.3.3版本的 websvn。你可以从上面这个网站找到下载链接用适合你的包的链接来替换上面的链接。
### 2. 解压下载的zip ###
@ -54,7 +53,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
### 4. 编辑WebSVN配置 ###
现在,我们需要拷贝位于/var/www/html/websvn/include的distconfig.php为config.php,并且接着编辑配置文件。
现在,我们需要拷贝位于 /var/www/html/websvn/include 的 distconfig.php 为 config.php并且接着编辑该配置文件。
# cd /var/www/html/websvn/include
@ -62,7 +61,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
# nano config.php
现在我们需要按如下改变文件。这完成之后,请保存病退出。
现在我们需要按如下改变文件。完成之后,请保存并退出。
// Configure these lines if your commands aren't on your path.
//
@ -100,7 +99,7 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
# systemctl restart httpd.service
接着我们在浏览器中打开WebSVN输入http://Ip-address/websvn或者你在本地的话你可以输入http://localhost/websvn
接着我们在浏览器中打开WebSVN输入 http:// IP地址/websvn ,或者你在本地的话,你可以输入 http://localhost/websvn
![websvn successfully installed](http://blog.linoxide.com/wp-content/uploads/2015/01/websvn-success.png)
@ -108,7 +107,9 @@ After you installed Apache SVN(Subversion), you'll need to follow the easy steps
### 总结 ###
好了我们已经在CentOS 7上哇安城WebSVN的安装了。这个教程同样适用于RHEL 7。WebSVN提供了Svbverion中的各种方法来查看你的仓库。你可以看到任何给定版本的任何文件或者目录的日志并且看到所有文件改动、添加、删除的列表。如果你有任何问题、评论、反馈请在下面的评论栏中留下来让我们知道该添加什么和改进。谢谢享受WebSVN吧。:-)
好了我们已经在CentOS 7上完成WebSVN的安装了。这个教程同样适用于RHEL 7。WebSVN 提供了 Subverion 中的各种功能来查看你的仓库。你可以看到任何给定版本的任何文件或者目录的日志,并且看到所有文件改动、添加、删除的列表。
如果你有任何问题、评论、反馈请在下面的评论栏中留下,来让我们知道该添加什么和改进。谢谢! 用用看吧。:-)
--------------------------------------------------------------------------------
@ -116,9 +117,10 @@ via: http://linoxide.com/linux-how-to/install-websvn-subversion-centos-7/
作者:[Arun Pyasi][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://www.websvn.info/features/
[2]:http://linoxide.com/linux-how-to/install-apache-svn-subversion-centos-7/

View File

@ -681,15 +681,15 @@ Linux基础如何找出你的系统所支持的最大内存
Handle 0x0031, DMI type 127, 4 bytes
End Of Table
好了,就是这样。周末愉快!
好了,就是这样。
--------------------------------------------------------------------------------
via: https://www.unixmen.com/linux-basics-how-to-find-maximum-supported-ram-by-your-system/
via: http://www.unixmen.com/linux-basics-how-to-find-maximum-supported-ram-by-your-system/
作者:[SK][0]
译者:[mr-ping](https://github.com/mr-ping)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,24 +1,24 @@
一款在Gnome桌面中显示Andorid通知的程序
================================================================================
**你很快就可以在GNOME桌面中看到Andorid通知了这都要归功于一个正在开发中的新程序。**
![Fancy seeing your Android alerts here? You can.](http://www.omgubuntu.co.uk/wp-content/uploads/2015/02/Screen-Shot-2015-02-24-at-17.47.48.png)
在这里看到Android通知很棒么你可以
在这里看到Android通知是不是很棒?就可以了~
**你很快就可以在GNOME桌面中看到Andorid通知了这都要归功于一个在开发中的新程序。**
这个新的项目叫“Numtius”这可以让在Andorid手机上收到的通知显示在GNOME桌面上。它会集成在GNOME 3.16中,并且它[重新设计了通知系统][1]这个app和特性会用在其他更多的地方。
这个新的项目叫“Nuntius”这可以让在Andorid手机上收到的通知显示在GNOME桌面上。它会集成在GNOME 3.16中,并且它[重新设计了通知系统][1]这个app和特性会用在其他更多的地方。
这个app的开发者希望在这个月GNOME 3.16发布之前可以完成它将通过蓝牙工作来保证不会传给外部的系统或者使用在线存储。这意味着你的电话必须接近GNOME桌面来保证这个功能可用。
他现在还不能回复短消息或者对提醒采取操作。
开发团队警告说**这是一个早期发布版本**,那些打算重度使用的人们现在应该做好最少功能的准备。
开发团队警告说**这是一个早期发布版本**,那些打算期望很高人要有暂时只能提供部分功能的心理准备。
在GNOME桌面上看Android通知的移动端app现在已经在[Google Play商店][2]了GNOME程序已经在Fedora的仓库中了。
这个用来配合在GNOME桌面上看Android通知的移动端app现在已经在[Google Play商店][2]找到了,GNOME程序已经在Fedora的仓库中了。
开发者已经在Gituhb上开源了Android和GNOME接收端的程序
开发者已经在Gituhb上开源了Android和GNOME接收端的程序
一个相似的工具[已经在KDE桌面上有了][3] - KDE Connect - 已经有一两年了通过Pushbullet来为使用Chrome的iOS和Android平台在Windows、MAC和Linux桌面上提供相似的功能
在一两年前,[KDE桌面上已经有了][3]一个相似的工具 - KDE Connect它通过Pushbullet来为使用Chrome的iOS和Android提供相似的功能支持Windows、MAC和Linux桌面
- [Nuntius for Android & GNOME on GitHub][4]
@ -28,7 +28,7 @@ via: http://www.omgubuntu.co.uk/2015/03/new-app-brings-android-notifications-to-
作者:[Joey-Elijah Sneddon][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/) 荣誉推出

View File

@ -1,406 +0,0 @@
FSSlc translating
Intense Gameplay? Try these 13 Roguelike games
================================================================================
Roguelike is a sub-genre of role-playing games. It literally means "a game like Rogue". Rogue is a dungeon crawling video game first released in 1980, standing out for being fiendishly addictive. Its goal was to retrieve the Amulet of Yendor, hidden deep in the 26th level, and ascend back to the top.
There is no exact definition of a roguelike, but this type of game typically has the following characteristics:
- High fantasy narrative background
- Procedural level generation. Most of the game world is generated by the game for every new gameplay session. This is meant to encourage replayability
- Turn-based dungeon exploration and combat
- Tile-based graphics that are randomly generated
- Random conflict outcomes
- Permanent death death works realistically, once you're gone, you're gone
- High difficulty
This article compiles a good selection of roguelike games available for Linux. If you enjoy intense, addictive gameplay, try these 13 games. Don't be put off by the primitive graphics, you'll soon forget the visuals once you get immersed. All of them are available to download without charge, and almost all are released under an open source license.
----------
![](http://www.linuxlinks.com/portal/content2/png/DungeonCrawlStoneSoup.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-Dungeon1.png)
Dungeon Crawl Stone Soup is an open-source, single-player, role-playing roguelike game of exploration and treasure-hunting in dungeons filled with dangerous and unfriendly monsters in a quest to rescue the mystifyingly fabulous Orb of Zot.
Dungeon Crawl Stone Soup is a continuation of Linley's Dungeon Crawl. It is openly developed and invites participation from the Crawl community.
Dungeon Crawl has superb, deep tactical gameplay, innovative magic and religion systems, and a grand variety of monsters to fight. Crawl is also one of the hardest roguelikes to beat. When you finally beat the game and write your victory post on rec.games.roguelike.misc, you know you have achieved something.
Features include:
- Well-rounded, deep tactically rich roguelike
- Hand-drawn maps
- Numerous portal vaults
- Slick interface
- Innovative magic and religion systems
- Wide range of Gods, Characters, Items, and Smart Monsters
- Website: [crawl.develz.org][1]
- Developer: Stone Soup devteam
- License: Crawl General Public License
- Version Number: 0.15.2
----------
![](http://www.linuxlinks.com/portal/content2/png/DwarfFortress.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-DwarfFortress.png)
Dwarf Fortress is a single-player fantasy game, similar to NetHack. You can control a dwarven outpost or an adventurer in a randomly generated, persistent world.
The game features three modes of play (Dwarf Fortress, Adventurer and Legends modes), a distinct, randomly-generated world (complete with terrain, wildlife and legends), gruesome combat mechanics and vicious schools of carp.
Features include:
- The world persists as long as you like, over many games, recording historical events and tracking changes
- Command your dwarves as they search for wealth in the mountain
- Craft treasures and furniture from many materials and improve these objects with precious metals, jewels and more
- Defend yourself against attacks from hostile civilizations, the wilderness and the depths
- Support the nobility as they make demands of your populace
- Keep your dwarves happy and read their thoughts as they work and relax
- Z coordinate allows you to dig out fortresses with multiple levels. Build towers or conquer the depths
- Build floodgates to divert water for farming or to drown your adversaries
- Play an adventurer and explore, quest for glory or seek vengeance
- Meet adversaries from previous games
- Recruit people in towns to come with you on your journey
- Explore without cumbersome plot restrictions
- Seamlessly wander the world -up to 197376 x 197376 squares total -or travel more rapidly on the region map
- Accept quests from the town and civilization leaders
- Retire and meet your old characters. Bring them along on an adventure with a new character or reactivate them and play directly
- Z coordinate allows you to move seamlessly between dungeon levels and scale structures fighting adversaries above and below
- The combat model uses skills, body parts, wrestling, charging and dodging between squares, bleeding, pain, nausea, and much more
- A dynamic weather model tracks wind, humidity and air masses to create fronts, clouds, rain storms and blizzards
- Over two hundred rock and mineral types are incorporated into the world, placed in their proper geological environments
- Add new creatures, weapons, plants, metals and other objects via modifiable text files
- Extended ASCII character set rendered in 16 colors (including black) as well as 8 background colors (including black)
- Website: [www.bay12games.com/dwarves/][2]
- Developer: Tarn Adams
- License: Freeware
- Version Number: 0.40.19
----------
![](http://www.linuxlinks.com/portal/content2/png/ADOM.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-ADOM.png)
Ancient Domains of Mystery (ADOM) is a rogue-like game which has been in development since 1994.
It is a single-user game featuring the exploration of a dungeon complex. You control a fictional character described by race, class, attributes, skills, and equipment. This fictional character is trying to achieve a specific goal (see below) and succeed in a difficult quest. To fulfill the quest, you have to explore previously undiscovered tunnels and dungeons, fight hideous monsters, uncover long forgotten secrets, and find treasures of all kind.
During the game, you explore dungeon levels which are randomly generated each game. You might also encounter certain special levels, which present a particular challenge or are built around a certain theme.
Features include:
- Huge game world with hundreds of locations such as towns, randomized dungeons, elemental temples, graveyards, ancient ruins, towers and other secrets
- Loads of races (dwarves, drakelings, mist elves, hurthlings, orcs, trolls, ratlings and many others) and even more classes (fighters, elementalists, assassins, chaos knights, duelists and much more) allowing for infinite play styles
- Hundreds of monsters and items, many with enhanced random features
- A corruption system forcing you to balance lust for power with fear of damnation
- Spells, prayers, mindcraft, alchemy, crafting and more
- Dozens of quests and branching story lines
- Numerous wildly different endings that might alter reality itself
- Website: [www.adom.de][3]
- Developer: Thomas Biskup
- License: Postcardware
- Version Number: 1.20 Prelease 20
----------
![](http://www.linuxlinks.com/portal/content2/png/ToME.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-ToME.png)
Tales of MajEyal (ToME) is a free, open source roguelike RPG, featuring tactical turn-based combat and advanced character building. It is written as a module that runs in T-Engine 4.0.
This is the Age of Ascendancy, after over ten thousand years of strife, pain and chaos the known world is at last at relative peace. The Spellblaze last effects are now tamed, the land slowly heals itself and the civilisations rebuild themselves after the Age of Pyre.
Features include:
- Suitable for gamers without any rogueline experience
- Supports both graphical tiles and ASCII mode
- Over 40 abilities available on some characters
- Talent system
- Combat engine
- Online persistent stat/achievement tracking
- IRC chat client
- Expandable and moddable
- Atmospheric music
- Unlock new races, classes, starting points, playmodes and features
- Website: [te4.org][4]
- Developer: ToME Development Team
- License: GNU GPL v3.0
- Version Number: 1.2.5
----------
![](http://www.linuxlinks.com/portal/content2/png/CataclysmDarkDaysAhead1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Cataclysm.png)
Cataclysm is an open source post-apocalyptic roguelike, set in the countryside of fictional New England after a devastating plague of monsters and zombies. It is a continuation of Whale's original Cataclysm, which expands it with numerous new creatures, buildings, gameplay mechanics and many other features.
While some have described it as a "zombie game", there's far more to Cataclysm than that. Struggle to survive in a harsh, persistent, procedurally generated world. Scavenge the remnants of a dead civilization for for food, equipment, or, if you're lucky, a vehicle with a full tank of gas to get you the hell out of Dodge. Fight to defeat or escape from a wide variety of powerful monstrosities, from zombies to giant insects to killer robots and things far stranger and deadlier, and against the others like yourself, that want what you have...
Cataclysm is very different from most roguelikes in many ways. Rather than being set in a vertical, linear dungeon, it is set in an unbounded, 3D world. This means that exploration plays a much bigger role than in most roguelikes, and the game is much less linear. As the map is so huge, it is actually completely persistant between games. If you die, and start a new character, your new game will be set in the same game world as your last. Like in many roguelikes, you will be able to loot the dead bodies of previous characters; unlike most roguelikes, you will also be able to retrace their steps completely, and any dramatic changes made to the world will persist into your next game.
Features include:
- Detailed character creation, with a plethora of traits to choose
- Defense mode, a coffeebreak mode with fast-paced combat
- Bionics; Similar to the magic system in many games
- Mutations, both positive and negative
- Unbounded, fully randomized world map that is persistent between characters
- Item crafting
- New recipes may be acquired by honing your knowledge through practice or learning from books
- Realistic fire, smoke, and other dynamic map effects
- A day/night cycle with the need to sleep. Use caffeine to stay awake longer if you must but be aware this is not healthy
- Over 300 item types, including a multitude of real-world guns, drugs, and tools
- Many drugs are addictive, and will require continuous use to avoid withdrawal effects.
- Ability to board doors and windows, construct traps and fortify your home base to prevent a rude awakening by a zombie
- Ability to construct your own wooden constructions, including walls and a roof
- Ability to drive around in vehicles found in the post-apocalyptic landscape
- These can be modified to your needs, or you could even build one from scratch
- A temperature system, being too cold or too hot is quite hazardous
- Preliminary tile support
- WorldGen options, and versatile editing methods
-
- Website: [en.cataclysmdda.com][5]
- Authors: Kevin Granade and others
- License: Creative Commons Attribution-ShareAlike 3.0 Unported License
- Version Number: 0.B
----------
![](http://www.linuxlinks.com/portal/content2/png/GoblinHack1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-GoblinHack.png)
Goblin Hack is an open source roguelike OpenGL-based smooth-scrolling ASCII graphics game. The game is inspired by the likes of NetHack, but faster with fewer keys.
Goblin Hack has a simple interface that appears to appeal to players of all ages, and fires their imagination in today's world of over-rendered games.
Players can choose one of several classes before being thrown into the first floor of a randomized, ongoing dungeon.
Features include:
- Impressive graphics (compared with many other roguelike games)
- Simple interface
- Choose one of several classes before being thrown into the first floor of a randomized, ongoing dungeon
- Manually save the game
- Website: [goblinhack.sourceforge.net][6], [github.com/goblinhack/goblinhack][7]
- Authors: Neil McGill
- License: GNU GPL v2
- Version Number: 1.19
----------
![](http://www.linuxlinks.com/portal/content2/png/SLASH%27EM.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-SlashEM.png)
Super Lotsa Added Stuff Hack - Extended Magic (SLASH'EM) is a role-playing game where you control a single character. SLASH'EM is a variant of NetHack. It also has an interface and gameplay similar to Rogue, ADOM, Anghand and NetHack. You control the actions through the keyboard and view the world from an overhead perspective.
The problem: The Amulet of Yendor has been stolen. Not only that but it appears that the Wizard of Yendor (not a nice person), who took the amulet, is hiding in the Dungeons of Doom (not a friendly place).
Features include:
- Offers extra features, monsters, and items
- Novel features inlude the Monk class and Sokoban levels
- The main dungeon is much larger than in NetHack
- Website: [www.slashem.org][8]
- Developer: The Slash'EM development team
- License: MIT License, NetHack General Public License
- Version Number: 0.0.7E7F3
----------
![](http://www.linuxlinks.com/portal/content2/png/NetHack.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-NetHack.jpg)
NetHack is a wonderfully silly, yet quite addictive Dungeons and Dragons-style adventure game. The "net" element references that its development has been coordinated through the Internet. The "hack" element refers to a genre of role-playing games known as hack and slash for their focus on combat.
In NetHack you play the part of a fierce fighter, wizard, or any of many other classes, fighting your way down to retrieve the Amulet of Yendor (try saying THAT one backwards!) for your god. On the way, you might encounter a quantum mechanic or two, or perhaps a microscopic space fleet, or -- if you're REALLY lucky -- the Ravenous Bugblatter Beast of Traal.
Features include:
- 45-50 levels, most of which are randomly generated
- Variety of items: weapons, armour, scrolls, potions, rings, gems, and an assortment of tools such as keys and lamps
- Blessings and curses
- Permadeath: expired characters cannot be revived without having made backup copies of the actual save files
- Interfaces:
- Console
- Graphical, using X, Qt toolkit or GNOME libraries
- Website: [www.nethack.org][9]
- Developer: The NetHack DevTeam
- License: NetHack General Public License
- Version Number: 3.4.3
----------
![](http://www.linuxlinks.com/portal/content2/png/AsciiSector.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-AsciiSector.png)
Ascii Sector is a free space combat/exploration/trading game which is based on the classic computer game Wing Commander: Privateer released by Origin Systems in 1993.
In Ascii Sector, you start with a simple spaceship and can then accept missions or trade goods to earn enough money to upgrade your ship or buy a new one. You can engage in deadly fights both in space, on the ground and on board spaceships, and using the Ascii Sector scripting language, you can create your own quests for the game or have fun with other players' quests.
Features include:
- Uses the ANSI character set for the graphics
- Real depth to the gameplay
- Offers a wide variety of bases, missions, commodities and ships
- Ships include: Broadsword, Centurion, Demon, Dralthi, Drayman, Galaxy, Gladius, Gothri, Kamekh, Nexus, Orion, Paradign, Stileto, Talon, Tarsus, and Ulysses
- Four quadrants: Alizarin, Crimson, Mauve, and Viridian
- Downloadable quests
- Scripting of quests
- Ascii Sector quest language, create your own stories in the Ascii Sector universe
- NPCs on planets can be attacked and robbed
- Persistent fleets that can move around, change control of systems, engage enemy fleets, head back for repairs and rebuilds
- Ships whose systems have been disabled can be boarded
- Download high quality music files
- Website: [www.asciisector.net][10]
- Developer: Christian Knudsen
- License: Freeware
- Version Number: 0.7.1.4
----------
![](http://www.linuxlinks.com/portal/content2/png/Angband.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Angband.png)
Angband is a free, single-player graphical dungeon exploration game that uses ASCII characters where you take the role of an adventurer, exploring a deep dungeon, fighting monsters, and acquiring the best weaponry you can, in preparation for a final battle with Morgoth, the Lord of Darkness. It has been in development since the 1990s.
Angband is along the lines of Rogue and NetHack. It is derived from the games Moria and Umoria, which were in turn based on Rogue. It is often described as a "roguelike" game because the look and feel of the game is still quite similar to Rogue. Many of these new creatures and objects are drawn from the writings of J.R.R Tolkien, although some of the monsters come straight from classical mythology, Dungeons & Dragons, Rolemaster, or the minds of the orginal Angband coders.
Features include:
- 100 level dungeon
- New levels are randomly generated
- Choose to be a human, half-elf, elf, hobbit, gnome, dwarf, half-orc, half-troll, dunadan, high-elf, or kobold
- Artifacts
- Spellcasting
- Monsters
- Monster pits
- Monster nests
- Website: [rephial.org][11]
- Developer: Angband Development Team
- License: GNU GPL v2
- Version Number: 3.5.0
----------
![](http://www.linuxlinks.com/portal/content2/png/UnNetHack1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-UnNetHack.png)
UnNetHack is a fork of NetHack. NetHack was first released in 1987, and is considered by many gamers to be one of the best gaming experiences the computing world offers.
Features include:
- Adds a number of enhancements to NetHack such as additional monsters, more levels, a few new objects, additional dangers, more challenging gameplay, and most importantly more entertainment than vanilla NetHack
- Tutorial to help new players get started
- Website: [sourceforge.net/apps/trac/unnethack][12]
- Authors: Patric Mueller
- License: Nethack General Public License
- Version Number: 5.1.0
----------
![](http://www.linuxlinks.com/portal/content2/png/HydraSlayer.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-HydraSlayer.png)
Hydra Slayer is an open source Roguelike game focused on slaying Hydras. It is inspired by Greek mythology, Dungeon Crawl, MathRL seven day roguelike, and some mathematical puzzles about brave heroes slaying many headed beasts.
Features include:
- Unique gameplay mechanics
- A theme which mixes Greek mythology and mathematics
- Traditional roguelike ASCII graphics, or tiles/3D display
- 5 player character races with very distinct tactics, strengths and weaknesses
- 28 enemy types:
- 10 basic types of elemental hydras (each of them has two special variations)
- 8 types of special enemies
- Harmless mushrooms for strategic advantage
- 28 types of equipment (not counting material and size/power variations)
- 15 weapon materials
- 18 types of non-equipment items
- 3 game geometries to choose
- 8 level topologies (including the Mobius strip and Klein bottle)
- 11 level generators
- 2 endings
- Website: [www.roguetemple.com/z/hydra][13]
- Developer: Zeno Rogue
- License: GNU GPL v2
- Version Number: 16.1
----------
![](http://www.linuxlinks.com/portal/content2/png/Brogue1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Brogue.png)
Brogue is an open source Roguelike game for Mac OS X, Windows, Linux, iOS and Android.
Brogue is a direct descendant of Rogue, a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. Unlike other popular modern roguelikes, Brogue favors simplicity over complexity, while trying to ensure that the interactions between components are interesting and varied.
The goal of the game is to travel to the 26th subterranean floor of the dungeon, retrieve the Amulet of Yendor and return with it to the surface. For the truly skillful who desire further challenge, depths below 26 contain three lumenstones each, items which confer an increased score upon victory.
Brogue is a challenging game, but still great fun to play. Try not to be disheartened by the difficulty of the game; with some application, Brogue will become very addictive.
Features include:
- Favors simplicity over complexity
- User-friendly features
- Compared with Rogue, Brogue has a more sophisticated level generation
- XP and levelling system removed
- Traps, protecting items
- Additional monster types and magical items
- Website: [sites.google.com/site/broguegame][14]
- Authors: Brian Walker
- License: GNU Affero GPL
- Version Number: 1.7.3
--------------------------------------------------------------------------------
via: http://www.linuxlinks.com/article/201412031524381/RoguelikeGames.html
作者Frazer Kline
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://crawl.develz.org/
[2]:http://www.bay12games.com/dwarves/index.html
[3]:http://www.adom.de/
[4]:http://te4.org/
[5]:http://en.cataclysmdda.com/
[6]:http://goblinhack.sourceforge.net/
[7]:https://github.com/goblinhack/goblinhack
[8]:http://www.slashem.org/
[9]:http://www.nethack.org/
[10]:http://www.asciisector.net/
[11]:http://rephial.org/
[12]:http://sourceforge.net/apps/trac/unnethack/
[13]:http://www.roguetemple.com/z/hydra/
[14]:https://sites.google.com/site/broguegame/

View File

@ -0,0 +1,102 @@
Picty: Managing Photos Made Easy
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/03/picty_002-790x429.png)
### About Picty ###
**Picty** is a free, simple, yet powerful photo collection manager that will help you to manage your photos. It is designed around managing **metadata** and a **lossless** approach to image handling. Picty currently supports both online(web-based) and offline(local) collections. In local collections, the images will be stored in a local folder and its sub-folders. A database will be maintained to speed up the image queries in the users home folder. In online(web-based) collections, you can upload and share images through a web browser. Ant user with proper rights can share photos to any persons, and each user can have multiple collections open at once and collections can be shared by multiple users. There is a simple interface for transferring images between collections using a transfer plugin.
You can download any number of photos from your Camera or any devices. Also, Picty allows you to browse photo collections from your Camera before downloading it. Picty is lightweight application, and has snappy interface. It supports Linux, and Windows platforms.
### Features ###
- Supports big photo collections (20,000 plus images).
- Open more than one collection at a time and transfer images between them.
- Collections are:
- Folders of images in your local file system.
- Images on cameras, phones and other media devices.
- Photo hosting services (Flickr currently supported).
- picty does not “Import” photos into its own database, it simply provides an interface for accessing them wherever they are. To keep things snappy and to allow you to browse even if you are offline, picty maintains a cache of thumbnails and metadata.
- Reads and writes metadata in industry standard formats Exif, IPTC and Xmp
- Lossless approach:
- picty writes all changes including image edits as metadata. e.g. an image crop is stored as any instruction, the original pixels remain in the file
- Changes are stored in pictys collection cache until you save your metadata changes to the images. You can easily revert unsaved changes that you dont like.
- Basic image editing:
- Current support for basic image enhancements such as brightness, contrast, color, cropping, and straightening.
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)
- Image tagging:
- Use standard IPTC and Xmp keywords for image tags
- A tag tree view lets you easily manage your tags and navigate your collection
- Folder view:
- Navigate the directory heirarchy of your image collection
- Multi-monitor support
- picty can be configured to let you browse your collection on one screen and view full screen images on another.
- Customizable
- Create launchers for external tools
- Supports plugins many of the current features (tagging and folder views, and all of the image editing tools) are provided by plugins
- Written in python batteries included!
### Installation ###
#### 1. Install from PPA ####
Picty developers has a PPA for Debian based distributions, like Ubuntu, to make the installation much easier.
To install in Ubuntu and derivatives, run:
sudo add-apt-repository ppa:damien-moore/ppa
sudo apt-get update
sudo apt-get install picty
#### 2. Install from Source ####
Also, you can install it from Source files. First, install the following dependencies.
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
Then, get the latest version using command:
bzr branch lp:picty
To run picty, change to the picty directory, and enter:
cd picty
bin/picty
To update to the latest version, run:
cd picty
bzr pull
### Usage ###
Launch Picty either from Menu or Unity Dash.
![picty_001](http://www.unixmen.com/wp-content/uploads/2015/03/picty_001.png)
You can either choose existing collection, device or directory. Let us create a **new collection**. To do that, create New Collection button. Enter the collection, and browse to the path where you have the images stored. Finally, click **Create** button.
![Create a Collection_001](http://www.unixmen.com/wp-content/uploads/2015/03/Create-a-Collection_001.png)
![picty_002](http://www.unixmen.com/wp-content/uploads/2015/03/picty_002.png)
You can modify, rotate, add/remove tags, set descriptive info of each images. To do that, just right click any image and do the actions of your choice.
Visit the following Google group to get more information and support about Picty Photo manager.
- [http://groups.google.com/group/pictyphotomanager][1]
Cheers!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/picty-managing-photos-made-easy/
作者:[SK][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/
[1]:http://groups.google.com/group/pictyphotomanager

View File

@ -1,144 +0,0 @@
disylee 来一篇~
How to analyze and view Apache web server logs interactively on Linux
================================================================================
Whether you are in the web hosting business, or run a few web sites on a VPS yourself, chances are you want to display visitor statistics such as top visitors, requested files (dynamic or static), used bandwidth, client browsers, and referring sites, and so forth.
[GoAccess][1] is a command-line log analyzer and interactive viewer for Apache or Nginx web server. With this tool, you will not only be able to browse the data mentioned earlier, but also parse the web server logs to dig for further data as well - and **all of this within a terminal window in real time**. Since as of today [most web servers][2] use either a Debian derivative or a Red Hat based distribution as the underlying operating system, I will show you how to install and use GoAccess in Debian and CentOS.
### Installing GoAccess on Linux ###
In Debian, Ubuntu and derivatives, run the following command to install GoAccess:
# aptitude install goaccess
In CentOS, you'll need to enable the [EPEL repository][3] and then:
# yum install goaccess
In Fedora, simply use yum command:
# yum install goaccess
If you want to install GoAccess from the source to enable further options (such as GeoIP location), install [required dependencies][4] for your operating system, and then follow these steps:
# wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz
# tar -xzvf goaccess-0.8.5.tar.gz
# cd goaccess-0.8.5/
# ./configure --enable-geoip
# make
# make install
That will install version 0.8.5, but you can always verify what is the latest version in the [Downloads page][5] of the project's web site.
Since GoAccess does not require any further configurations, once it's installed you are ready to go.
### Running GoAccess ###
To start using GoAccess, just run it against your Apache access log.
For Debian and derivatives:
# goaccess -f /var/log/apache2/access.log
For Red Hat based distros:
# goaccess -f /var/log/httpd/access_log
When you first launch GoAccess, you will be presented with the following screen to choose the date and log format. As explained, you can toggle between options using the spacebar and proceed with F10. As for the date and log formats, you may want to refer to the [Apache documentation][6] if you need to refresh your memory.
In this case, Choose Common Log Format (CLF):
![](https://farm8.staticflickr.com/7422/15868350373_30c16d7c30.jpg)
and then press F10. You will be presented with the statistics screen. For the sake of brevity, only the header, which shows the summary of the log file, is shown in the next image:
![](https://farm9.staticflickr.com/8683/16486742901_7a35b5df69_b.jpg)
### Browsing Web Server Statistics with GoAccess ###
As you scroll down the page with the down arrow, you will find the following sections, sorted by requests. The order of the categories presented here may vary depending on your distribution or your preferred installation method (from repositories or from source):
1. Unique visitors per day (HTTP requests having the same IP, same date and same agent are considered an unique visit)
![](https://farm8.staticflickr.com/7308/16488483965_a439dbc5e2_b.jpg)
2. Requested files (Pages-URL)
![](https://farm9.staticflickr.com/8651/16488483975_66d05dce51_b.jpg)
3. Requested static files (e.g., .png, .js, etc)
4. Referrers URLs (the URLs where each request came from)
5. HTTP 404 Not Found response code
![](https://farm9.staticflickr.com/8669/16486742951_436539b0da_b.jpg)
6. Operating Systems
7. Browsers
8. Hosts (client IPs)
![](https://farm8.staticflickr.com/7392/16488483995_56e706d77c_z.jpg)
9. HTTP status codes
![](https://farm8.staticflickr.com/7282/16462493896_77b856f670_b.jpg)
10. Top referring sites
11. Top keyphrases used on Google's search engine
If you also want to inspect the archived logs, you can pipe them to GoAccess as follows.
For Debian and derivatives:
# zcat -f /var/log/apache2/access.log* | goaccess
For Red Hat based distributions:
# cat /var/log/httpd/access* | goaccess
Should you need a more detailed report of any of the above (1 through 11), press the desired section number and then O (uppercase o) to bring up what is called the Detailed View. The following image shows the output of 5-O (press 5, then press O):
![](https://farm8.staticflickr.com/7382/16302213429_48d9233f40_b.jpg)
To display GeoIP location information, open the Detail View in the Hosts section, as explained earlier, and you will see the location of the client IPs that performed requests to your web server:
![](https://farm8.staticflickr.com/7393/16488484075_d778aa91a2_z.jpg)
If your system has not been very busy lately, some of the above sections will not show a great deal of information, but that situation can change as more and more requests are made to your web server.
### Saving Reports for Offline Analysis ###
There will be times when you don't want to inspect your system's stats in real time, but save it to a file for offline analysis or printing. To generate an HTML report, simply redirect the output of the GoAccess commands mentioned earlier to an HTML file. Then just point your web browser to the file to open it.
# zcat -f /var/log/apache2/access.log* | goaccess > /var/www/webserverstats.html
Once the report is displayed, you will need to click on the Expand link to show the detail view on each category:
![](https://farm9.staticflickr.com/8658/16486743041_bd8a80794d_o.png)
注释youtube视频
<iframe width="615" height="346" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/UVbLuaOpYdg?feature=oembed"></iframe>
As we have discussed throughout this article, GoAccess is an invaluable tool that will provide you, as a system administrator, with HTTP statistics in a visual report on the fly. Although GoAccess by default presents its results to the standard output, you can also save them to JSON, HTML, or CSV files. This converts GoAccess in an incredibly useful tool to monitor and display statistics of a web server.
--------------------------------------------------------------------------------
via: http://xmodulo.com/interactive-apache-web-server-log-analyzer-linux.html
作者:[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://xmodulo.com/author/gabriel
[1]:http://goaccess.io/
[2]:http://w3techs.com/technologies/details/os-linux/all/all
[3]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[4]:http://goaccess.io/download#dependencies
[5]:http://goaccess.io/download
[6]:http://httpd.apache.org/docs/2.4/logs.html

View File

@ -1,3 +1,5 @@
FSSlc translating
How to access Gmail from the command line on Linux with Alpine
================================================================================
If you are a command-line lover, I am sure that you welcome with open arms any tool that allows you to perform at least one of your daily tasks using that powerful work environment, e.g., from [scheduling appointments][1] and [managing finances][2] to accessing [Facebook][3] and [Twitter][4].
@ -100,4 +102,4 @@ via: http://xmodulo.com/gmail-command-line-linux-alpine.html
[2]:http://xmodulo.com/manage-personal-expenses-command-line.html
[3]:http://xmodulo.com/access-facebook-command-line-linux.html
[4]:http://xmodulo.com/access-twitter-command-line-linux.html
[5]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[5]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html

View File

@ -1,42 +0,0 @@
[translating by KayGuoWhu]
How to enable ssh login without entering password
================================================================================
Assume that you are a user "aliceA" on hostA, and wish to ssh to hostB as user "aliceB", without entering her password on hostB. You can follow this guide to **enable ssh login without entering a password**.
First of all, you need to be logged in as user "aliceA" on hostA.
Generate a public/private rsa key pair by using ssh-keygen. The generated key pair will be stored in ~/.ssh directory.
$ ssh-keygen -t rsa
Then, create ~/.ssh directory on aliceB account at the destination hostB by running the following command. This step can be omitted if there is already .ssh directory at aliceB@hostB.
$ ssh aliceB@hostB mkdir -p .ssh
Finally, copy the public key of user "aliceA" on hostA to aliceB@hostB to enable password-less ssh.
$ cat .ssh/id_rsa.pub | ssh aliceB@hostB 'cat >> .ssh/authorized_keys'
From this point on, you no longer need to type in password to ssh to aliceB@hostB from aliceA@hostA.
### Troubleshooting ###
1. You are still asked for an SSH password even after enabling key authentication. In this case, check for system logs (e.g., /var/log/secure) to see if you see something like the following.
Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys
In this case, failure of key authentication is due to the fact that the permission or ownership ~/.ssh/authorized_keys file is not correct. Typically this error can happen if ~/.ssh/authorized_keys is read accessible to anyone but yourself. To fix this problem, change the file permission as follows.
$ chmod 700 ~/.ssh/authorized_keys
--------------------------------------------------------------------------------
via: http://xmodulo.com/how-to-enable-ssh-login-without.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni

View File

@ -1,100 +0,0 @@
translating wi-cuckoo LLAP
How to Interactively Create a Docker Container
================================================================================
Hi everyone, today we'll learn how we can interactively create a docker container using a docker image. Once we start a process in Docker from an Image, Docker fetches the image and its Parent Image, and repeats the process until it reaches the Base Image. Then the Union File System adds a read-write layer on top. That read-write layer, the information about its Parent Image and some other information like its unique id, networking configuration, and resource limits is called a **Container**. Containers has states as they can change from **running** to **exited** state. A container with state as **running** includes a tree of processes running on the CPU, isolated from the other processes running on the host where as **exited** is the state of the file system and its exit value is preserved. You can start, stop, and restart a container with it.
Docker Technology has brought a remarkable change in the field of IT enabling cloud service for sharing applications and automating workflows, enabling apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. In this article, we'll build CentOS Instance in which we'll host a website running under Apache Web Server.
Here is quick and easy tutorial on how we can create a container in an interactive method using an interactive shell.
### 1. Running a Docker Instance ###
Docker initially tries to fetch and run the required image locally and if its not found in local host the it pulls from the [Docker Public Registry Hub][1] . Here. we'll fetch and create a fedora instance in a Docker Container and attach a bash shell to the tty.
# docker run -i -t fedora bash
![Downloading Fedora Base Image](http://blog.linoxide.com/wp-content/uploads/2015/03/downloading-fedora-base-image.png)
### 2. Installing Apache Web Server ###
Now, after our Fedora base image with instance is ready, we'll now gonna install Apache Web Server interactively without creating a Dockerfile for it. To do so, we'll need to run the following commands in a terminal or shell.
# yum update
![Updating Fedora Base Image](http://blog.linoxide.com/wp-content/uploads/2015/03/updating-fedora-base-image.png)
# yum install httpd
![Installing httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-httpd2.png)
# exit
### 3. Saving the Image ###
Now, we'll gonna save the changes we made into the Fedora Instance. To do that, we'll first gonna need to know the Container ID of the Instance. To get that we'll need to run the following command.
# docker ps -a
![Docker Running Container](http://blog.linoxide.com/wp-content/uploads/2015/03/docker-running-container.png)
Then, we'll save the changes as a new image by running the below command.
# docker commit c16378f943fe fedora-httpd
![committing fedora httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/committing-fedora-httpd.png)
Here, the changes are saved using the Container ID and image name fedora-httpd. To make sure that the new image is running or not, we'll run the following command.
# docker images
![view docker images](http://blog.linoxide.com/wp-content/uploads/2015/03/view-docker-images.png)
### 4. Adding the Contents to the new image ###
As we have our new Fedora Apache image running successfully, now we'll want to add the web contents which includes our website to Apache Web Server so that our website will run successfully out of the box. To do so, we'll need to create a new Dockerfile which will handle the operation from copying web contents to allowing port 80. To do so, we'll need to create a file Dockerfile using our favorite text editor as shown below.
# nano Dockerfile
Now, we'll need to add the following lines into that file.
FROM fedora-httpd
ADD mysite.tar /tmp/
RUN mv /tmp/mysite/* /var/www/html
EXPOSE 80
ENTRYPOINT [ "/usr/sbin/httpd" ]
CMD [ "-D", "FOREGROUND" ]
![configuring Dockerfile](http://blog.linoxide.com/wp-content/uploads/2015/03/configuring-Dockerfile.png)
Here, in above Dockerfile, the web content which we have in mysite.tar will get automatically extracted to /tmp/ folder. Then, the entire site will move to the Apache Web root ie /var/www/html/ and the expose 80 will open port 80 so that the website will be available normally. Then, the entrypoint is set to /usr/sbin/httpd so that the Apache Server will execute.
### 5. Building and running a Container ###
Now, we'll build our Container using the Dockerfile we just created in order to add our website on it. To do so, we'll need to run the following command.
# docker build -rm -t mysite .
![Building mysite Image](http://blog.linoxide.com/wp-content/uploads/2015/03/building-mysite-image.png)
After building our new container, we'll want to run the container using the command below.
# docker run -d -P mysite
![Running mysite Container](http://blog.linoxide.com/wp-content/uploads/2015/03/running-mysite-container.png)
### Conclusion ###
Finally, we've successfully built a Docker Container interactively. In this method, we build our containers and image directly via interactive shell commands. This method is quite easy and quick to build and deploy our images and containers. 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/interactively-create-docker-container/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:https://registry.hub.docker.com/

View File

@ -1,3 +1,5 @@
Vic020
A Peep into Process Management Commands in Linux
================================================================================
A program in execution is called a process. While a program is an executable file present in storage and is passive, a process is a dynamic entity comprising of allocated system resources, memory, security attributes and has a state associated with it. There can be multiple processes associated with the same program and operating simultaneously without interfering with each other. The operating system efficiently manages and keeps track of all the processes running in the system.
@ -188,4 +190,4 @@ via: http://linoxide.com/linux-command/process-management-commands-linux/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bnpoornima/
[a]:http://linoxide.com/author/bnpoornima/

View File

@ -0,0 +1,57 @@
2 Ways to Create Your Own Docker Base Image
================================================================================
Greetings to everyone, today we'll learn about docker base Images and how we can build our own. [Docker][1] is an Open Source project that provides an open platform to pack, ship and run any application as a lightweight container. It has no boundaries of Language support, Frameworks or packaging system and can be run anywhere, anytime from a small home computers to high-end servers. It makes them great building blocks for deploying and scaling web apps, databases, and back-end services without depending on a particular stack or provider.
Docker Images is a read-only layer which never changes. It Docker uses a **Union File System** to add a read-write file system over the read-only file system. But all the changes go to the top-most writeable layer, and underneath, the original file in the read-only image is unchanged. Since images don't change, images do not have state. Base Images are those images that has no parent. The major benefits of it is that it allows us to have a separate linux OS running.
Here are the ways on how we can create a custom base image.
### 1. Creating Docker Base Image using Tar ###
We can create our own base image using tar, we'll want to start building it with a working Linux Distribution we'll want to package as base image. This process may differ and depends on what distribution we are trying to build. In Debian distribution of Linux, debootstrap is preinstalled. We'll need to install debootstrap before starting the below process. Debootstrap is used to fetch the required packages to build the base system. Here, we'll create image based on Ubuntu 14.04 "Trusty". To do so, we'll need to run the following command in a terminal or shell.
$ sudo debootstrap trusty trusty > /dev/null
$ sudo tar -C trusty -c . | sudo docker import - trusty
![creating docker base image using debootstrap](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-debootstrap.png)
Here, the above command creates a tar file of the current directory and outputs it to STDOUT, where "docker import - trusty" takes it from STDIN and creates a base image called trusty from it. Then, we'll run a test command inside that image as follows.
$ docker run trusty cat /etc/lsb-release
Here are some example scripts that will allow us to build quick base images in [Docker GitHub Repo][2] .
### 2. Creating Base Image using Scratch ###
In the Docker registry, there is a special repository known as Scratch, which was created using an empty tar file:
$ tar cv --files-from /dev/null | docker import - scratch
![creating docker base image using scratch](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-using-scratch.png)
We can use that image to base our new minimal containers FROM:
FROM scratch
ADD script.sh /usr/local/bin/run.sh
CMD ["/usr/local/bin/run.sh"]
The above Dockerfile is from an extremely minimal image. Here, first it starts with a totally blank filesystem, then it copies script.sh that is created to /usr/local/bin/run.sh and then run the script /usr/local/bin/run.sh .
### Conclusion ###
Here, in this tutorial, we learned how we can build a custom Docker Base Image out of the box. Building a docker base image is an easy task because there are sets of packages and scripts already available for. Building a docker base image is a lot useful if we want to install what we want in it. So, if you have any questions, suggestions, feedback please write them in the comment box below. Thank you ! Enjoy :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/2-ways-create-docker-base-image/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:https://www.docker.com/
[2]:https://github.com/docker/docker/blob/master/contrib/mkimage-busybox.sh

View File

@ -0,0 +1,101 @@
How to Serve Git Repositories Using Gitblit Tool in Linux
================================================================================
Hi friends, today we'll be learning how to install Gitblit in your Linux Server or PC. So, lets check out what is a Git, its features and steps to install Gitblit. [Git is a distributed revision control system][1] with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. It was initially designed and developed by Linus Torvalds for Linux kernel under the terms of the GNU General Public License version 2 development in 2005, and has since become the most widely adopted version control system for software development.
[Gitblit is a free and open source][2] built on a pure Java stack designed to handle everything from small to very large projects with speed and efficiency for serving Git repositories. It is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
#### Features of Gitblit ####
- It can be used as a dumb repository viewer with no administrative controls or user accounts.
- It can be used as a complete Git stack for cloning, pushing, and repository access control.
- It can be used without any other Git tooling (including actual Git) or it can cooperate with your established tools.
### 1. Creating Gitblit install directory ###
First of all we'll gonna to create a directory in our server in which we'll be installing our latest gitblit in.
$ sudo mkdir -p /opt/gitblit
$ cd /opt/gitblit
![creating directory gitblit](http://blog.linoxide.com/wp-content/uploads/2015/01/creating-directory-gitblit.png)
### 2. Downloading and Extracting ###
Now, we will want to download the latest gitblit from the official site. Here, the current version of gitblit we are gonna install is 1.6.2 . So, please change it as the version you are gonna install in your system.
$ sudo wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
![downloading gitblit package](http://blog.linoxide.com/wp-content/uploads/2015/01/downloading-gitblit.png)
Now, we'll be extracting our downloaded tarball package to our current folder ie /opt/gitblit/
$ sudo tar -zxvf gitblit-1.6.2.tar.gz
![extracting gitblit tar](http://blog.linoxide.com/wp-content/uploads/2015/01/extracting-gitblit-tar.png)
### 3. Configuring and Running ###
Now, we'll configure our Gitblit configuration. If you want to customize the behavior of Gitblit server, you can do it by modifying `gitblit/data/gitblit.properties` . Now, after you are done configuring the configuration. We finally wanna run our gitblit. We have two options on running gitblit, first is that we run it manually by the command below:
$ sudo java -jar gitblit.jar --baseFolder data
And next is to add and use gitblit as service. Here are the steps that we'll need to follow to use gitblit as service in linux.
So, As I am running Ubuntu, the command below will be sudo cp service-ubuntu.sh /etc/init.d/gitblit so please change the file name service-ubuntu.sh to the distribution you are currently running.
$ sudo ./install-service-ubuntu.sh
$ sudo service gitblit start
![starting gitblit service](http://blog.linoxide.com/wp-content/uploads/2015/01/starting-gitblit-service.png)
Open your browser to http://localhost:8080 or https://localhost:8443 or replace "localhost" with the ip-address of the machine depending on your system configuration. Enter the default administrator credentials: admin / admin and click the Login button.
![gitblit welcome](http://blog.linoxide.com/wp-content/uploads/2015/01/gitblit-welcome.png)
Now, we'll wanna add a new user. First you'll need to login to the admin with default administrator credentials: username = **admin** and password = **admin** .
Then, Goto user icon > users > (+) new user. And create a new user like as shown in the figure below.
![add new user](http://blog.linoxide.com/wp-content/uploads/2015/01/add-user.png)
Now, we'll create a new repo out of the box. Go to repositories > (+) new repository . Then, add new repository as shown below.
![add new repository](http://blog.linoxide.com/wp-content/uploads/2015/01/add-new-repository.png)
#### Create a new repository on the command-line ####
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git
git push -u origin master
Please replace the username arunlinoxide with the user you add.
#### Push an existing repository from the command-line ####
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git
git push -u origin master
**Note**: It is highly recommended to everyone to change the password of username "admin" as it comes by default.
### Conclusion ###
Hurray, we finally installed our latest Gitblit in our Linux Computer. We can now enjoy such a beautiful version controlling system for our projects whether its small or large, no matter. With Gitblit, version controlling has been too easy. It is easy to learn and has a tiny footprint with lightning fast performance. So, if you have any questions, suggestions, feedback please write them in the comment box below.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/serve-git-repositories-gitblit/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://git-scm.com/
[2]:http://gitblit.com/

View File

@ -0,0 +1,180 @@
How to secure SSH login with one-time passwords on Linux
================================================================================
As someone says, security is a not a product, but a process. While SSH protocol itself is cryptographically secure by design, someone can wreak havoc on your SSH service if it is not administered properly, be it weak passwords, compromised keys or outdated SSH client.
As far as SSH authentication is concerned, [public key authentication][1] is in general considered more secure than password authentication. However, key authentication is actually not desirable or even less secure if you are logging in from a public or shared computer, where things like stealth keylogger or memory scraper can always a possibility. If you cannot trust the local computer, it is better to use something else. This is when "one-time passwords" come in handy. As the name implies, each one-time password is for single-use only. Such disposable passwords can be safely used in untrusted environments as they cannot be re-used even when they are stolen.
One way to generate disposable passwords is [Google Authenticator][2]. In this tutorial, I am going to demonstrate another way to create one-time passwords for SSH login: [OTPW][3], a one-time password login package. Unlike Google Authenticator, you do not rely on any third party for one-time password generation and verification.
### What is OTPW? ###
OTPW consists of one-time password generator and PAM-integrated verification routines. In OTPW, one-time passwords are generated apriori with the generator, and carried by a user securely (e.g., printed in a paper sheet). Cryptographic hash of the generated passwords are then stored in the SSH server host. When a user logs in with a one-time password, OTPW's PAM module verifies the password, and invalidates it to prevent re-use.
### Step One: Install and Configure OTPW on Linux ###
#### Debian, Ubuntu or Linux Mint ####
Install OTPW packages with apt-get.
$ sudo apt-get install libpam-otpw otpw-bin
Open a PAM configuration file for SSH (/etc/pam.d/sshd) with a text editor, and comment out the following line (to disable password authentication).
#@include common-auth
and add the following two lines (to enable one-time password authentication):
auth required pam_otpw.so
session optional pam_otpw.so
![](https://farm8.staticflickr.com/7599/16775121360_d1f93feefa_b.jpg)
#### Fedora or CentOS/RHEL ####
OTPW is not available as a prebuilt package on Red Hat based systems. So let's install OTPW by building it from the source.
First, install prerequites:
$ sudo yum git gcc pam-devel
$ git clone https://www.cl.cam.ac.uk/~mgk25/git/otpw
$ cd otpw
Open Makefile with a text editor, and edit a line that starts with "PAMLIB=" as follows.
On 64-bit system:
PAMLIB=/usr/lib64/security
On 32-bit system:
PAMLIB=/usr/lib/security
Compile and install it. Note that installation will automatically restart an SSH server. So be ready to be disconnected if you are on an SSH connection.
$ make
$ sudo make install
Now you need to update SELinux policy since /usr/sbin/sshd tries to write to user's home directory, which is not allowed by default SELinux policy. The following commands will do. If you are not using SELinux, skip this step.
$ sudo grep sshd /var/log/audit/audit.log | audit2allow -M mypol
$ sudo semodule -i mypol.pp
Next, open a PAM configuration file for SSH (/etc/pam.d/sshd) with a text editor, and comment out the following line (to disable password authentication).
#auth substack password-auth
and add the following two lines (to enable one-time password authentication):
auth required pam_otpw.so
session optional pam_otpw.so
#### Step Two: Configure SSH Server for One-time Passwords ####
The next step is to configure an SSH server to accept one-time passwords.
Open /etc/ssh/sshd_config with a text editor, and set the following three parameters. Make sure that you do not add these lines more than once, because that will cause an SSH server to fail.
UsePrivilegeSeparation yes
ChallengeResponseAuthentication yes
UsePAM yes
You also need to disable default password authentication. Optionally, enable public key authentication, so that you can fall back to key-based authentication in case you do not have one-time passwords.
PubkeyAuthentication yes
PasswordAuthentication no
Now restart SSH server.
Debian, Ubuntu or Linux Mint:
$ sudo service ssh restart
Fedora or CentOS/RHEL 7:
$ sudo systemctl restart sshd
#### Step Three: Generate One-time Passwords with OTPW ####
As mentioned earlier, you need to create one-time passwords beforehand, and have them stored on the remote SSH server host. For this, run otpw-gen tool as the user you will be logging in as.
$ cd ~
$ otpw-gen > temporary_password.txt
![](https://farm9.staticflickr.com/8751/16961258882_c49cfe03fb_b.jpg)
It will ask you to set a prefix password. When you later log in, you need to type this prefix password AND one-time password. Essentially the prefix password is another layer of protection. Even if the password sheet falls into the wrong hands, the prefix password forces them to brute-force.
Once the prefix password is set, the command will generate 280 one-time passwords, and store them in the output text file (e.g., temporary_password.txt). Each password (length of 8 characters by default) is preceded by a three-digit index number. You are supposed to print the file in a sheet and carry it with you.
![](https://farm8.staticflickr.com/7281/16962594055_c2696d5ae1_b.jpg)
You will also see ~/.otpw file created, where cryptographic hashs of these passwords are stored. The first three digits in each line indicate the index number of the password that will be used for SSH login.
$ more ~/.otpw
----------
OTPW1
280 3 12 8
191ai+:ENwmMqwn
218tYRZc%PIY27a
241ve8ns%NsHFmf
055W4/YCauQJkr:
102ZnJ4VWLFrk5N
2273Xww55hteJ8Y
1509d4b5=A64jBT
168FWBXY%ztm9j%
000rWUSdBYr%8UE
037NvyryzcI+YRX
122rEwA3GXvOk=z
### Test One-time Passwords for SSH Login ###
Now let's login to an SSH server in a usual way:
$ ssh user@remote_host
If OTPW is successfully set up, you will see a slightly different password prompt:
Password 191:
Now open up your password sheet, and look for index number "191" in the sheet.
023 kBvp tq/G 079 jKEw /HRM 135 oW/c /UeB 191 fOO+ PeiD 247 vAnZ EgUt
According to sheet above, the one-time password for number "191" is "fOO+PeiD". You need to prepend your prefix password to it. For example, if your prefix password is "000", the actual one-time password you need to type is "000fOO+PeiD".
Once you successfully log in, the password used is automatically invalidated. If you check ~/.otpw, you will notice that the first line is replaced with "---------------", meaning that password "191" has been voided.
OTPW1
280 3 12 8
---------------
218tYRZc%PIY27a
241ve8ns%NsHFmf
055W4/YCauQJkr:
102ZnJ4VWLFrk5N
2273Xww55hteJ8Y
1509d4b5=A64jBT
168FWBXY%ztm9j%
000rWUSdBYr%8UE
037NvyryzcI+YRX
122rEwA3GXvOk=z
### Conclusion ###
In this tutorial, I demonstrated how to set up one-time password login for SSH using OTPW package. You may realized that a print sheet can be considered a less fancy version of security token in two-factor authentication. Yet, it is simpler and you do not rely on any third-party for its implementation. Whatever mechanism you are using to create disposable passwords, they can be helpful when you need to log in to an SSH server from an untrusted public computer. Feel free to share your experience or opinion on this topic.
--------------------------------------------------------------------------------
via: http://xmodulo.com/secure-ssh-login-one-time-passwords-linux.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni
[1]:http://xmodulo.com/how-to-force-ssh-login-via-public-key-authentication.html
[2]:http://xmodulo.com/two-factor-authentication-ssh-login-linux.html
[3]:http://www.cl.cam.ac.uk/~mgk25/otpw.html

View File

@ -0,0 +1,35 @@
Linux FAQs with Answers--How to upgrade Docker on Ubuntu
================================================================================
> **Question**: I installed Docker on Ubuntu using its standard repositories. However, the default Docker installation does not meet the version requirement for my another application that relies on Docker. How can I upgrade Docker to the latest version on Ubuntu?
Since Docker was first released in 2013, it has been fast evolving into a full-blown open platform for distributed applications. To meet the industry's expection, Docker is being aggressively developed and constantly upgraded with new features. Chances are that the stock Docker that comes with your Ubuntu distribution is quickly outdated. For example, Ubuntu 14.10 Utopic comes with Docker version 1.2.0, while the latest Docker version is 1.5.0.
![](https://farm9.staticflickr.com/8730/16351300024_9acb9086da_b.jpg)
For those of you who want to stay up-to-date with Docker's latest developments, Canonical maintains a separate PPA for Docker. Using this PPA repository, you can easily upgrade Docker to the latest version on Ubuntu.
Here is how to set up Docker PPA and upgrade Docker.
$ sudo add-apt-repository ppa:docker-maint/testing
$ sudo apt-get update
$ sudo apt-get install docker.io
Now check the version of installed Docker:
$ docker --version
----------
Docker version 1.5.0-dev, build a78ce5c
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/upgrade-docker-ubuntu.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://ask.xmodulo.com/author/nanni

View File

@ -0,0 +1,147 @@
Conky The Ultimate X Based System Monitor Application
================================================================================
Conky is a system monitor application written in C Programming Language and released under GNU General Public License and BSD License. It is available for Linux and BSD Operating System. The application is X (GUI) based that was originally forked from [Torsmo][1].
#### Features ####
- Simple User Interface
- Higher Degree of configuration
- It can show System stats using built-in objects (300+) as well as external scripts either on the desktop or in its own container.
- Low on Resource Utilization
- Shows system stats for a wide range of system variables which includes but not restricted to CPU, memory, swap, Temperature, Processes, Disk, Network, Battery, email, System messages, Music player, weather, breaking news, updates and blah..blah..blah
- Available in Default installation of OS like CrunchBang Linux and Pinguy OS.
#### Lesser Known Facts about Conky ####
- The Name conky was derived from a Canadian Television Show.
- It has already been ported to Nokia N900.
- It is no more maintained officially.
### Conky Installation and Usage in Linux ###
Before we install conky, we need to install packages like lm-sensors, curl and hddtemp using following command.
# apt-get install lm-sensors curl hddtemp
Time to detect-sensors.
# sensors-detect
**Note**: Answer Yes when prompted!
Check all the detected sensors.
# sensors
#### Sample Output ####
acpitz-virtual-0
Adapter: Virtual device
temp1: +49.5°C (crit = +99.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +49.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +49.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +49.0°C (high = +100.0°C, crit = +100.0°C)
Conky can be installed from repo as well as, can be compiled from source.
# yum install conky [On RedHat systems]
# apt-get install conky-all [On Debian systems]
**Note**: Before you install conky on Fedora/CentOS, you must have enabled [EPEL repository][2].
After conky has been installed, just issue following command to start it.
$ conky &
![Conky Monitor in Action](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Conkey.jpeg)
Conky Monitor in Action
It will run conky in a popup like window. It uses the basic conky configuration file located at /etc/conky/conky.conf.
You may need to integrate conky with the desktop and wont like a popup like window every-time. Here is what you need to do
Copy the configuration file /etc/conky/conky.conf to your home directory and rename it as `.conkyrc`. The dot (.) at the beginning ensures that the configuration file is hidden.
$ cp /etc/conky/conky.conf /home/$USER/.conkyrc
Now restart conky to take new changes.
$ killall -SIGUSR1 conky
![Conky Monitor Window](http://www.tecmint.com/wp-content/uploads/2015/03/Restart-Conky.jpeg)
Conky Monitor Window
You may edit the conky configuration file located in your home dircetory. The configuration file is very easy to understand.
Here is a sample configuration of conky.
![Conky Configuration](http://www.tecmint.com/wp-content/uploads/2015/03/Conky-Configuration.jpeg)
Conky Configuration
From the above window you can modify color, borders, size, scale, background, alignment and several other properties. By setting different alignments to different conky window, we can run more than one conky script at a time.
**Using script other than the default for conky and where to find it?**
You may write your own conky script or use one that is available over Internet. We dont suggest you to use any script you find on the web which can be potentially dangerous unless you know what you are doing. However a few famous threads and pages have conky script that you can trust as mentioned below.
- [http://ubuntuforums.org/showthread.php?t=281865][3]
- [http://conky.sourceforge.net/screenshots.html][4]
At the above url, you will find every screenshot has a hyperlink, which will redirects to script file.
#### Testing Conky Script ####
Here I will be running a third party written conky-script on my Debian Jessie Machine, to test.
$ wget https://github.com/alexbel/conky/archive/master.zip
$ unzip master.zip
Change current working directory to just extracted directory.
$ cd conky-master
Rename the secrets.yml.example to secrets.yml.
$ mv secrets.yml.example secrets.yml
Install Ruby before you could run this (ruby) script.
$ sudo apt-get install ruby
$ ruby starter.rb
![Conky Fancy Look](http://www.tecmint.com/wp-content/uploads/2015/03/Conky-Fancy-Look.jpeg)
Conky Fancy Look
**Note**: This script can be modified to show your current weather, temperature, etc.
If you want to start conky at boot, add the below one liner to startup Applications.
conky --pause 10
save and exit.
And Finally…such a lightweight and useful GUI eye candy like package is not in active stage and is not maintained officially anymore. The last stable release was conky 1.9.0 released on May 03, 2012. A thread on Ubuntu forum has gone over 2k pages of users sharing configuration. (link to forum : [http://ubuntuforums.org/showthread.php?t=281865/][5])
- [Conky Homepage][6]
Thats all for now. Keep connected. Keep commenting. Share your thoughts and configuration in comments below.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-conky-in-ubuntu-debian-fedora/
作者:[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://torsmo.sourceforge.net/
[2]:http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
[3]:http://ubuntuforums.org/showthread.php?t=281865
[4]:http://conky.sourceforge.net/screenshots.html
[5]:http://ubuntuforums.org/showthread.php?t=281865/
[6]:http://conky.sourceforge.net/

View File

@ -0,0 +1,104 @@
How to Generate/Encrypt/Decrypt Random Passwords in Linux
================================================================================
We have taken initiative to produce Linux tips and tricks series. If youve missed the last article of this series, you may like to visit the link below.
注:此篇文章做过原文
- [5 Interesting Command Line Tips and Tricks in Linux][1]
In this article, we will share some interesting Linux tips and tricks to generate random passwords and also how to encrypt and decrypt passwords with or without slat method.
Security is one of the major concern of digital age. We put on password to computers, email, cloud, phone, documents and what not. We all know the basic to choose the password that is easy to remember and hard to guess. What about some sort of machine based password generation automatically? Believe me Linux is very good at this.
**1. Generate a random unique password of length equal to 10 characters using command pwgen. If you have not installed pwgen yet, use Apt or YUM to get.**
$ pwgen 10 1
![Generate Random Unique Password](http://www.tecmint.com/wp-content/uploads/2015/03/Generate-Random-Unique-Password-in-Linux.gif)
Generate Random Unique Password
Generate several random unique passwords of character length 50 in one go!
$ pwgen 50
![Generate Multiple Random Passwords](http://www.tecmint.com/wp-content/uploads/2015/03/Generate-Multiple-Random-Passwords.gif)
Generate Multiple Random Passwords
**2. You may use makepasswd to generate random, unique password of given length as per choice. Before you can fire makepasswd command, make sure you have installed it. If not! Try installing the package makepasswd using Apt or YUM.**
Generate a random password of character length 10. Default Value is 10.
$ makepasswd
![makepasswd Generate Unique Password](http://www.tecmint.com/wp-content/uploads/2015/03/mkpasswd-generate-unique-password.gif)
makepasswd Generate Unique Password
Generate a random password of character length 50.
$ makepasswd --char 50
![Generate Length 50 Password](http://www.tecmint.com/wp-content/uploads/2015/03/Random-Password-Generate.gif)
Generate Length 50 Password
Generate 7 random password of 20 characters.
$ makepasswd --char 20 --count 7
![](http://www.tecmint.com/wp-content/uploads/2015/03/Generate-20-Character-Password.gif)
**3. Encrypt a password using crypt along with salt. Provide salt manually as well as automatically.**
For those who may not be aware of salt,
Salt is a random data which servers as an additional input to one way function in order to protect password against dictionary attack.
Make sure you have installed mkpasswd installed before proceeding.
The below command will encrypt the password with salt. The salt value is taken randomly and automatically. Hence every time you run the below command it will generate different output because it is accepting random value for salt every-time.
$ mkpasswd tecmint
![Encrypt Password Using Crypt](http://www.tecmint.com/wp-content/uploads/2015/03/Encrypt-Password-in-Linux.gif)
Encrypt Password Using Crypt
Now lets define the salt. It will output the same result every-time. Note you can input anything of your choice as salt.
$ mkpasswd tecmint -s tt
![Encrypt Password Using Salt](http://www.tecmint.com/wp-content/uploads/2015/03/Encrypt-Password-Using-Salt.gif)
Encrypt Password Using Salt
Moreover, mkpasswd is interactive and if you dont provide password along with the command, it will ask password interactively.
**4. Encrypt a string say “Tecmint-is-a-Linux-Community” using aes-256-cbc encryption using password say “tecmint” and salt.**
# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint
![Encrypt A String in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Encrypt-A-String-in-Linux.gif)
Encrypt A String in Linux
Here in the above example the output of 注:此篇原文也做过[echo command][2] is pipelined with openssl command that pass the input to be encrypted using Encoding with Cipher (enc) that uses aes-256-cbc encryption algorithm and finally with salt it is encrypted using password (tecmint).
**5. Decrypt the above string using openssl command using the -aes-256-cbc decryption.**
# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
![Decrypt String in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Decrypt-String-in-Linux.gif)
Decrypt String in Linux
Thats all for now. If you know any such tips and tricks you may send us your tips at admin@tecmint.com, your tip will be published under your name and also we will include it in our future article.
Keep connected. Keep Connecting. Stay Tuned. Dont forget to provide us with your valuable feedback in the comments below.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/generate-encrypt-decrypt-random-passwords-in-linux/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/5-linux-command-line-tricks/
[2]:http://www.tecmint.com/echo-command-in-linux/

View File

@ -0,0 +1,348 @@
How to Install WordPress with Nginx in a Docker Container
================================================================================
Hi all, today we'll learn how to install WordPress running Nginx Web Server in a Docker Container. WordPress is an awesome free and open source Content Management System running thousands of websites throughout the globe. [Docker][1] is an Open Source project that provides an open platform to pack, ship and run any application as a lightweight container. It has no boundaries of Language support, Frameworks or packaging system and can be run anywhere, anytime from a small home computers to high-end servers. It makes them great building blocks for deploying and scaling web apps, databases, and back-end services without depending on a particular stack or provider.
Today, we'll deploy a docker container with the latest WordPress package with necessary prerequisites ie Nginx Web Server, PHP5, MariaDB Server, etc. Here are some short and sweet steps to successfully install a WordPress running Nginx in a Docker Container.
### 1. Installing Docker ###
Before we really start, we'll need to make sure that we have Docker installed in our Linux machine. Here, we are running CentOS 7 as host so, we'll be running yum manager to install docker using the below command.
# yum install docker
![Installing Docker](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-docker.png)
# systemctl restart docker.service
### 2. Creating WordPress Dockerfile ###
We'll need to create a Dockerfile which will automate the installation of the wordpress and its necessary pre-requisites. This Dockerfile will be used to build the image of WordPress installation we created. This WordPress Dockerfile fetches a CentOS 7 image from the Docker Registry Hub and updates the system with the latest available packages. It then installs the necessary softwares like Nginx Web Server, PHP, MariaDB, Open SSH Server and more which are essential for the Docker Container to work. It then executes a script which will initialize the installation of WordPress out of the box.
# nano Dockerfile
Then, we'll need to add the following lines of configuration inside that Dockerfile.
FROM centos:centos7
MAINTAINER The CentOS Project <cloud-ops@centos.org>
RUN yum -y update; yum clean all
RUN yum -y install epel-release; yum clean all
RUN yum -y install mariadb mariadb-server mariadb-client nginx php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy php-apc pwgen python-setuptools curl git tar; yum clean all
ADD ./start.sh /start.sh
ADD ./nginx-site.conf /nginx.conf
RUN mv /nginx.conf /etc/nginx/nginx.conf
RUN rm -rf /usr/share/nginx/html/*
RUN /usr/bin/easy_install supervisor
RUN /usr/bin/easy_install supervisor-stdout
ADD ./supervisord.conf /etc/supervisord.conf
RUN echo %sudo ALL=NOPASSWD: ALL >> /etc/sudoers
ADD http://wordpress.org/latest.tar.gz /wordpress.tar.gz
RUN tar xvzf /wordpress.tar.gz
RUN mv /wordpress/* /usr/share/nginx/html/.
RUN chown -R apache:apache /usr/share/nginx/
RUN chmod 755 /start.sh
RUN mkdir /var/run/sshd
EXPOSE 80
EXPOSE 22
CMD ["/bin/bash", "/start.sh"]
![Wordpress Dockerfile](http://blog.linoxide.com/wp-content/uploads/2015/03/Dockerfile-wordpress.png)
### 3. Creating Start script ###
After we create our Dockerfile, we'll need to create a script named start.sh which will run and configure our WordPress installation. It will create and configure database, passwords for wordpress. To create it, we'll need to open start.sh with our favorite text editor.
# nano start.sh
After opening start.sh, we'll need to add the following lines of configuration into it.
#!/bin/bash
__check() {
if [ -f /usr/share/nginx/html/wp-config.php ]; then
exit
fi
}
__create_user() {
# Create a user to SSH into as.
SSH_USERPASS=`pwgen -c -n -1 8`
useradd -G wheel user
echo user:$SSH_USERPASS | chpasswd
echo ssh user password: $SSH_USERPASS
}
__mysql_config() {
# Hack to get MySQL up and running... I need to look into it more.
yum -y erase mariadb mariadb-server
rm -rf /var/lib/mysql/ /etc/my.cnf
yum -y install mariadb mariadb-server
mysql_install_db
chown -R mysql:mysql /var/lib/mysql
/usr/bin/mysqld_safe &
sleep 10
}
__handle_passwords() {
# Here we generate random passwords (thank you pwgen!). The first two are for mysql users, the last batch for random keys in wp-config.php
WORDPRESS_DB="wordpress"
MYSQL_PASSWORD=`pwgen -c -n -1 12`
WORDPRESS_PASSWORD=`pwgen -c -n -1 12`
# This is so the passwords show up in logs.
echo mysql root password: $MYSQL_PASSWORD
echo wordpress password: $WORDPRESS_PASSWORD
echo $MYSQL_PASSWORD > /mysql-root-pw.txt
echo $WORDPRESS_PASSWORD > /wordpress-db-pw.txt
# There used to be a huge ugly line of sed and cat and pipe and stuff below,
# but thanks to @djfiander's thing at https://gist.github.com/djfiander/6141138
# there isn't now.
sed -e "s/database_name_here/$WORDPRESS_DB/
s/username_here/$WORDPRESS_DB/
s/password_here/$WORDPRESS_PASSWORD/
/'AUTH_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'SECURE_AUTH_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'LOGGED_IN_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'NONCE_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'AUTH_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'SECURE_AUTH_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'LOGGED_IN_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/
/'NONCE_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/" /usr/share/nginx/html/wp-config-sample.php > /usr/share/nginx/html/wp-config.php
}
__httpd_perms() {
chown apache:apache /usr/share/nginx/html/wp-config.php
}
__start_mysql() {
# systemctl start mysqld.service
mysqladmin -u root password $MYSQL_PASSWORD
mysql -uroot -p$MYSQL_PASSWORD -e "CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY '$WORDPRESS_PASSWORD'; FLUSH PRIVILEGES;"
killall mysqld
sleep 10
}
__run_supervisor() {
supervisord -n
}
# Call all functions
__check
__create_user
__mysql_config
__handle_passwords
__httpd_perms
__start_mysql
__run_supervisor
![Start Script](http://blog.linoxide.com/wp-content/uploads/2015/03/start-script.png)
After adding the above configuration, we'll need to save it and then exit.
### 4. Creating Configuration files ###
Now, we'll need to create configuration file for Nginx Web Server named nginx-site.conf .
# nano nginx-site.conf
Then, we'll add the following configuration to the config file.
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
index index.html index.htm index.php;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /usr/share/nginx/html;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
}
![Nginx configuration](http://blog.linoxide.com/wp-content/uploads/2015/03/nginx-conf.png)
Now, we'll create supervisord.conf file and add the following lines as shown below.
# nano supervisord.conf
Then, add the following lines.
[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file)
[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
[program:php-fpm]
command=/usr/sbin/php-fpm -c /etc/php/fpm
stdout_events_enabled=true
stderr_events_enabled=true
[program:php-fpm-log]
command=tail -f /var/log/php-fpm/php-fpm.log
stdout_events_enabled=true
stderr_events_enabled=true
[program:mysql]
command=/usr/bin/mysql --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
stdout_events_enabled=true
stderr_events_enabled=true
[program:nginx]
command=/usr/sbin/nginx
stdout_events_enabled=true
stderr_events_enabled=true
[eventlistener:stdout]
command = supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler
![Supervisord Configuration](http://blog.linoxide.com/wp-content/uploads/2015/03/supervisord.png)
After adding, we'll save and exit the file.
### 5. Building WordPress Container ###
Now, after done with creating configurations and scripts, we'll now finally use the Dockerfile to build our desired container with the latest WordPress CMS installed and configured according to the configuration. To do so, we'll run the following command in that directory.
# docker build --rm -t wordpress:centos7 .
![Building WordPress Container](http://blog.linoxide.com/wp-content/uploads/2015/03/building-wordpress-container.png)
### 6. Running WordPress Container ###
Now, to run our newly built container and open port 80 and 22 for Nginx Web Server and SSH access respectively, we'll run the following command.
# CID=$(docker run -d -p 80:80 wordpress:centos7)
![Run WordPress Docker](http://blog.linoxide.com/wp-content/uploads/2015/03/run-wordpress-docker.png)
To check the process and commands executed inside the container, we'll run the following command.
# echo "$(docker logs $CID )"
TO check if the port mapping is correct or not, run the following command.
# docker ps
![docker state](http://blog.linoxide.com/wp-content/uploads/2015/03/docker-state.png)
### 7. Web Interface ###
Finally if everything went accordingly, we'll be welcomed with WordPress when pointing the browser to http://ip-address/ or http://mywebsite.com/ .
![Wordpress Start](http://blog.linoxide.com/wp-content/uploads/2015/03/wordpress-start.png)
Now, we'll go step wise through the web interface and setup wordpress configuration, username and password for the WordPress Panel.
![Wordpress Welcome](http://blog.linoxide.com/wp-content/uploads/2015/03/wordpress-welcome.png)
Then, use the username and password entered above into the WordPress Login page.
![wordpress login](http://blog.linoxide.com/wp-content/uploads/2015/03/wordpress-login.png)
### Conclusion ###
We successfully built and run WordPress CMS under LEMP Stack running in CentOS 7 Operating System as the docker OS. Running WordPress inside a container makes a lot safe and secure to the host system from the security perspective. This article enables one to completely configure WordPress to run under Docker Container with Nginx Web Server. 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/install-wordpress-nginx-docker-container/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://docker.io/

View File

@ -0,0 +1,137 @@
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.
In the world of Linux, of course there is no shortage of choices for settings up remote desktop environment, with many protocols (e.g., RDP, RFB, NX) and server/client implementations (e.g., [TigerVNC][1], RealVNC, FreeNX, x2go, X11vnc, TeamViewer) available.
Standing out from the pack is [X2Go][2], an open-source (GPLv2) implementation of NX-based remote desktop server and client. In this tutorial, I am going to demonstrate **how to set up remote desktop environment for [Linux VPS][3] using X2Go**.
### What is X2Go? ###
The history of X2Go goes back to NoMachine's NX technology. The NX remote desktop protocol was designed to deal with low bandwidth and high latency network connections by leveraging aggressive compression and caching. Later, NX was turned into closed-source while NX libraries were made GPL-ed. This has led to open-source implementation of several NX-based remote desktop solutions, and one of them is X2Go.
What benefits does X2Go bring to the table, compared to other solutions such as VNC? X2Go inherits all the advanced features of NX technology, so naturally it works well over slow network connections. Besides, X2Go boasts of an excellent track record of ensuring security with its built-in SSH-based encryption. No longer need to set up an SSH tunnel [manually][4]. X2Go comes with audio support out of box, which means that music playback at the remote desktop is delivered (via PulseAudio) over network, and fed into local speakers. On usability front, an application that you run on remote desktop can be seamlessly rendered as a separate window on your local desktop, giving you an illusion that the application is actually running on the local desktop. As you can see, these are some of [its powerful features][5] lacking in VNC based solutions.
### X2GO's Desktop Environment Compatibility ###
As with other remote desktop servers, there are [known compatibility issues][6] for X2Go server. Desktop environments like KDE3/4, Xfce, MATE and LXDE are the most friendly to X2Go server. However, your mileage may vary with other desktop managers. For example, the later versions of GNOME 3, KDE5, Unity are known to be not compatible with X2Go. If the desktop manager of your remote host is compatible with X2Go, you can follow the rest of the tutorial.
### Install X2Go Server on Linux ###
X2Go consists of remote desktop server and client components. Let's start with X2Go server installation. I assume that you already have an X2Go-compatible desktop manager up and running on a remote host, where we will be installing X2Go server.
Note that X2Go server component does not have a separate service that needs to be started upon boot. You just need to make sure that SSH service is up and running.
#### Ubuntu or Linux Mint: ####
Configure X2Go PPA repository. X2Go PPA is available for Ubuntu 14.04 and higher.
$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession
#### Debian (Wheezy): ####
$ sudo apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
$ sudo sh -c "echo deb http://packages.x2go.org/debian wheezy main > /etc/apt/sources.list.d/x2go.list"
$ sudo sh -c "echo deb-src http://packages.x2go.org/debian wheezy main >> /etc/apt/sources.list.d/x2go.list"
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession
#### Fedora: ####
$ sudo yum install x2goserver x2goserver-xsession
#### CentOS/RHEL: ####
Enable [EPEL respository][7] first, and then run:
$ sudo yum install x2goserver x2goserver-xsession
### Install X2Go Client on Linux ###
On a local host where you will be connecting to remote desktop, install X2GO client as follows.
#### Ubuntu or Linux Mint: ####
Configure X2Go PPA repository. X2Go PPA is available for Ubuntu 14.04 and higher.
$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goclient
Debian (Wheezy):
$ sudo apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
$ sudo sh -c "echo deb http://packages.x2go.org/debian wheezy main > /etc/apt/sources.list.d/x2go.list"
$ sudo sh -c "echo deb-src http://packages.x2go.org/debian wheezy main >> /etc/apt/sources.list.d/x2go.list"
$ sudo apt-get update
$ sudo apt-get install x2goclient
#### Fedora: ####
$ sudo yum install x2goclient
CentOS/RHEL:
Enable EPEL respository first, and then run:
$ sudo yum install x2goclient
### Connect to Remote Desktop with X2Go Client ###
Now it's time to connect to your remote desktop. On the local host, simply run the following command or use desktop launcher to start X2Go client.
$ x2goclient
Enter the remote host's IP address and SSH user name. Also, specify session type (i.e., desktop manager of a remote host).
![](https://farm9.staticflickr.com/8730/16365755693_75f3d544e9_b.jpg)
If you want, you can customize other things (by pressing other tabs), like connection speed, compression, screen resolution, and so on.
![](https://farm9.staticflickr.com/8699/16984498482_665b975eca_b.jpg)
![](https://farm9.staticflickr.com/8694/16985838755_1b7df1eb78_b.jpg)
When you initiate a remote desktop connection, you will be asked to log in. Type your SSH login and password.
![](https://farm9.staticflickr.com/8754/16984498432_1c8068b817_b.jpg)
Upon successful login, you will see the remote desktop screen.
![](https://farm9.staticflickr.com/8752/16798126858_1ab083ba80_c.jpg)
If you want to test X2Go's seamless window feature, choose "Single application" as session type, and specify the path to an executable on the remote host. In this example, I choose Dolphin file manager on a remote KDE host.
![](https://farm8.staticflickr.com/7584/16798393920_128c3af9c5_b.jpg)
Once you are successfully connected, you will see a remote application window open on your local desktop, not the entire remote desktop screen.
![](https://farm9.staticflickr.com/8742/16365755713_7b90cf65f0_c.jpg)
### Conclusion ###
In this tutorial, I demonstrated how to set up X2Go remote desktop on [Linux VPS][8] instance. As you can see, the whole setup process is pretty much painless (if you are using a right desktop environment). While there are some desktop-specific quirkiness, X2Go is a solid remote desktop solution which is secure, feature-rich, fast, and free.
What feature is the most appealing to you in X2Go? Please share your thought.
--------------------------------------------------------------------------------
via: http://xmodulo.com/x2go-remote-desktop-linux.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni
[1]:http://ask.xmodulo.com/centos-remote-desktop-vps.html
[2]:http://wiki.x2go.org/
[3]:http://xmodulo.com/go/digitalocean
[4]:http://xmodulo.com/how-to-set-up-vnc-over-ssh.html
[5]:http://wiki.x2go.org/doku.php/doc:newtox2go
[6]:http://wiki.x2go.org/doku.php/doc:de-compat
[7]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[8]:http://xmodulo.com/go/digitalocean

View File

@ -0,0 +1,323 @@
Its Now Worth Try Installing PHP 7.0 on CentOS 7.x / Fedora 21
================================================================================
PHP is a well known general purpose, server side web scripting language. A vast majority of online websites are coded in this language. PHP is ever evolving, feature rich, easy to use and well organized scripting language. Currently PHP development team is working on next major release of PHP, named PHP 7. The current production PHP version is PHP 5.6, as you might already know that PHP 6 was aborted in the past, the supporters of PHP 7 did not want the next important PHP version to be confused with that branch that was killed long time in the past. So it has been decided to name the next major release of PHP as PHP 7 instead of 6. PHP 7.0 is supposed to be released in November this year.
Here are some of the prominent features in next major PHP release.
- In order to improve performance and memory footprints PHPNG feature has been added to this new release.
- JIT engine has been included to dynamically compile Zend opcodes into native machine code in order to achieve faster processing. This feature will allow subsequent calls to the same code so that it may run much faster.
- AST (Abstract Syntax Tree) is a newly added feature which will enhance support for php extensions and userland applications.
- Asynchronous Programming feature will add support for parallel tasks within the same request.
- New version will support for stand alone multi-threading web server so that it may handle many simultaneous requests using a single memory pool.
### Installing PHP 7 on Centos / Fedora ###
Lets see how we can install PHP7 on Centos 7 and Fedora 21. In order to install PHP7 we will need to first clone php-src repository. Once cloning process is complete, we will configure and compile it. Before we proceed, lets ensure that we do have followings installed on our Linux system otherwise PHP compile process will return errors and abort.
- Git
- autoconf
- gcc
- bison
All of the above metioned prerequisits can be installed using Yum package manager. The following single command should take care of this:
yum install git autoconf gcc bison
Ready to start PHP7 installation process ? Lets first create PHP7 directory and make it your working directory.
mkdir php7
cd php7
Now clone php-src repo, run following command on the terminal.
git clone https://git.php.net/repository/php-src.git
The process should complete in few min, here is sample output which you should see at the completion of this task.
[root@localhost php7]# git clone https://git.php.net/repository/php-src.git
Cloning into 'php-src'...
remote: Counting objects: 615064, done.
remote: Compressing objects: 100% (127800/127800), done.
remote: Total 615064 (delta 492063), reused 608718 (delta 485944)
Receiving objects: 100% (615064/615064), 152.32 MiB | 16.97 MiB/s, done.
Resolving deltas: 100% (492063/492063), done.
Lets configure and compile PHP7, run following commands on the terminal to start the configuration process:
cd php-src
./buildconf
Here is sample output for ./buildconf command.
[root@localhost php-src]# ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in
Proceed further with the configuration process using following command:
./configure \
--prefix=$HOME/php7/usr \
--with-config-file-path=$HOME/php7/usr/etc \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-curl \
--with-mcrypt \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-openssl \
--with-mysql=/usr \
--with-pdo-mysql=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config
It will take a sweet amount to time, once completed, you should see output like this:
creating libtool
appending configuration tag "CXX" to libtool
Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
Run following command to complete the compilation process.
make
Sample output for “make” command is shown below:
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
clicommand.inc
directorytreeiterator.inc
directorygraphiterator.inc
pharcommand.inc
invertedregexiterator.inc
phar.inc
Build complete.
Don't forget to run 'make test'.
Thats all, its time to install PHP7 now, run following to install it.
make install
Sample output for successful install process should look like:
[root@localhost php-src]# make install
Installing shared extensions: /root/php7/usr/lib/php/extensions/no-debug-non-zts-20141001/
Installing PHP CLI binary: /root/php7/usr/bin/
Installing PHP CLI man page: /root/php7/usr/php/man/man1/
Installing PHP CGI binary: /root/php7/usr/bin/
Installing PHP CGI man page: /root/php7/usr/php/man/man1/
Installing build environment: /root/php7/usr/lib/php/build/
Installing header files: /root/php7/usr/include/php/
Installing helper programs: /root/php7/usr/bin/
program: phpize
program: php-config
Installing man pages: /root/php7/usr/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /root/php7/usr/lib/php/
[PEAR] Archive_Tar - installed: 1.3.13
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /root/php7/usr/etc/pear.conf
You may want to add: /root/php7/usr/lib/php to your php.ini include_path
/root/php7/php-src/build/shtool install -c ext/phar/phar.phar /root/php7/usr/bin
ln -s -f /root/php7/usr/bin/phar.phar /root/php7/usr/bin/phar
Installing PDO headers: /root/php7/usr/include/php/ext/pdo/
Conguratulaion, PHP 7 has been installed on your Linux system now. Once installation is complete, move to sapi/cli direcoty inside php7 installation folder.
cd sapi/cli
and verify PHP version from here.
[root@localhost cli]# ./php -v
PHP 7.0.0-dev (cli) (built: Mar 28 2015 00:54:11)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
### Conclusion ###
PHP 7 is also [added in remi repositories][1], this upcoming version is mainly focused on performance improvements, its new features are aimed to make PHP as a well fit for modern programming needs and trends. PHP 7.0 will have many new features and some deprecations to the old items. We hope to see details about new features and deprecations in the coming months. Enjoy!
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/
作者:[Aun Raza][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunrz/
[1]:http://blog.famillecollet.com/post/2015/03/25/PHP-7.0-as-Software-Collection

View File

@ -0,0 +1,70 @@
Linux Email App Geary Updated — How To Install It In Ubuntu
================================================================================
**Geary, the popular desktop email client for Linux, has been updated to version 0.10 — and it gains a glut of new features in the process.**
![An older version of Geary running in elementary OS](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg)
An older version of Geary running in elementary OS
Geary 0.100 features some welcome user interface improvements and additional UI options, including:
- New: Ability to Undo Archive, Trash and Move actions
- New: Option to switch between a 2 column or 2 column layout
- New “split header bar” — improves message list, composer layouts
- New shortcut keys — use j/k to navigate next/previous conversations
This update also introduces a **brand new full-text search algorithm** designed to improve the search experience in Geary, according to Yorba.
This introduction should calm some complaints of the apps search prowess, which often sees Geary return a slew of search results that are, to quote software outfit themselves, “…seemingly unrelated to the search query.”
> Yorba recommends that all users of the client upgrade to this release
*“Although not all search problems are fixed in 0.10, Geary should be more conservative about displaying results that match the users query,” [the team notes][1]. *
Last but by no means least on the main feature front is something sure to find favour with power users: **support for multiple/alternate e-mail addresses per account**.
If your main Gmail account is set-up in Geary to pull in your Yahoo, Outlook and KittyMail messages too then you should now see them all kept neatly together and be given the option of picking which identity you send from when using the composer From field. No, its not the sexiest feature but it is one that has been requested often.
Rounding out this release of the popular Linux email client is the usual gamut of bug fixes, performance optimisations and miscellaneous improvements.
Yorba recommends that all users of the client upgrade to this release.
### Install Geary 0.10 in Ubuntu 14.04, 14.10 & 15.04 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/geary-inline-composor.jpg)
The latest version of Yorba is available to download as source, ready for compiling from the GNOME Git. But lets be honest: thats a bit of a hassle, right?
Ubuntu users wondering how to install Geary 0.10 in **14.04, 14.10** and (for early birds) **15.04** have things easy.
The official Yorba PPA contains the **latest versions of Geary** as well as those for Shotwell (photo manager) and [California][2] (calendar app). Be aware that any existing versions of these apps installed on your computer may/will be upgraded to a more recent version by adding this PPA.
Capiche? Coolio.
To install Geary in Ubuntu you first need to add the Yorba PPA your Softwares Sources. To do this just open a new Terminal window and carefully enter the following two commands:
sudo add-apt-repository ppa:yorba/ppa
sudo apt-get update && sudo apt-get install geary
After hitting return/enter on the last youll be prompted to enter your password. Do this, and then let the installation complete.
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/20130320161830-geary-yorba.png)
Once done, open your desktop environments app launcher and seek out the Geary icon. Click it, add your account(s) and discover [what the email mail man has dropped off through the information superhighway][3] and into the easy to use graphical interface.
**Dont forget: you can always tip us with news, app suggestions, and anything else youd like to see us cover by using the power of electronic mail. Direct your key punches to joey [at] oho [dot] io.**
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update
作者:[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://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
[2]:http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser
[3]:https://www.youtube.com/watch?v=rxM8C71GB8w

View File

@ -0,0 +1,400 @@
寻求激烈的游戏玩法?那就试试这 13 款 Roguelike 游戏吧
================================================================================
Roguelike 是角色扮演游戏的一个子类。从字面上看,它的意思是 “像 Rogue 的游戏”。Rogue 是一个关于地下城冒险的视频游戏,于 1980 年第一次发行,以友好、易上瘾而著称。这个游戏的目标是取得深藏于第 26 层的 "Amulet of Yendor",再返回到顶层逃出生天。
Roguelike 的准确定义并不存在,但这类游戏通常具有下面的特点:
- 奇幻的叙事背景;
- 程序性的关卡产生。每个新的游戏环节中的游戏世界均由游戏产生。这样做是为了鼓励玩家重玩;
- 回合制的地下城探险和战斗;
- 随机生成的基于瓷砖的(Tile-based)图形环境;
- 随机的冲突生成;
- 永久死亡 。在游戏中,死亡真的存在,一旦你死了,就代表你真的结束了。
- 高难度。
这篇文章精心挑选了一些可运行在 Linux 平台下的 roguelike 游戏。假如你喜欢激烈、易上瘾的游戏,可以尝试这 13 款游戏。不要因它们原始的画质而退步,一旦你沉浸其中,你将很快忘记画面的简陋。所有的这些都可以免费下载,并且几乎所有的游戏都是在开源协议下发行的。
----------
![](http://www.linuxlinks.com/portal/content2/png/DungeonCrawlStoneSoup.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-Dungeon1.png)
Dungeon Crawl Stone Soup 是一个开源的,单用户角色扮演类的 roguelike 游戏,玩家要在充满危险和不友好的怪兽的地下城中进行探险和寻找宝藏,并在任务中拯救 mystifyingly fabulous Orb of Zot(注:这里我不知如何翻译)
Dungeon Crawl Stone Soup 是 Linley 开发的 Dungeon Crawl 游戏的延续。它被公开地开发并邀请 Crawl 社区的人员来参与其中。
Dungeon Crawl 有着超棒且深层次的战术游戏环节创新的魔法和信仰系统以及数量宏大的可供战斗的怪兽。Crawl 也是最难以攻陷的 roguelike 游戏之一。当你最终在游戏中通关并将你的胜利宣言张贴在 rec.games.roguelike.misc ,这时在你心中,你知道你已经取得了什么。
特点有:
- 丰富多彩的, 富含深层次战术的 roguelike 游戏;
- 手绘地图;
- 无数的金库;
- 漂亮的界面;
- 创新的魔法和信仰系统;
- 广泛的神灵,角色,物品和聪明的怪兽;
- 网站: [crawl.develz.org][1]
- 开发者: Stone Soup 开发小组
- 协议: Crawl General Public License
- 版本号: 0.15.2
----------
![](http://www.linuxlinks.com/portal/content2/png/DwarfFortress.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-DwarfFortress.png)
Dwarf Fortress 是一个绝妙的单人游戏,与 NetHack 类似。你可以在一个随机生成的持久的世界中,控制一个矮人哨兵或一个冒险者。
这个游戏的特色有:三种游戏模式(矮人要塞,冒险者,传说模式),一个独特的随机生成的世界(由地形,野生生物和传说等组成) 阴森的战斗机制以及各种恶性的鲤鱼。
特点包括:
- 在这个世界里,你想持续多久都可以。可以经历许多次游戏,记录历史事件,对更改进行跟踪等;
- 当你的矮人在山群中寻找宝藏时,你可以对它们下达命令
- 用各种材料来手工制作珍宝、家具,并可以用贵重金属,宝石等来改进这些珍宝、家具;
- 在广度和深度上保护你自己,防御来自敌对文明的袭击;
- 当他们有求于你的民众时,支持贵族(注:感觉自己翻译错了这句)
- 维持你的矮人的高兴状态,在它们工作和休闲时读取它们的思想;
- Z 坐标可以使你在多个层级上建造你的堡垒,建立塔台或征服深处;
- 建立水闸来为耕种调水或水淹你的对手;
- 扮演一个探险者并进行探索,为荣誉而战或复仇
- 与以前的游戏中的对手相遇;
- 在你经过的旅途中营救小城里的人群
- 在没有笨重的绘画限制下探险;
- 无缝的漫游游戏世界-总共达到 197376 x 197376 平方 -或者在区域地图上更快速地穿行;
- 接受小城或文明社会的领导委托的任务
- 收回并与你扮演的老角色相遇,在一次探险中,以一个新的角色带上它们或者直接使用它们;
- Z 轴使得你可以在各个地牢层级间无缝地上下移动以及调整结构的尺寸来和对手战斗;
- 战斗模型的使用技巧,身体组成,搏斗,在方块之间进行操作和躲避,流血,疼痛,恶心及其他;
- 一个动态的天气模型用来跟踪风,湿度及空气的动向,用来创造前线,风,暴风雨和暴风雪
- 超过 200 种岩石和矿物类型被引入游戏世界,它们被放置在合适的地理环境中;
- 通过可更改的文本文件来添加生物,武器,植物,金属和其他对象;
- 扩展的以 16 色(包括黑色)渲染的 ASCII 角色集合,以及 8 种背景颜色(包括黑色);
- 网站: [www.bay12games.com/dwarves/][2]
- 开发者: Tarn Adams
- 协议: 免费软件
- 版本号: 0.40.19
----------
![](http://www.linuxlinks.com/portal/content2/png/ADOM.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-ADOM.png)
Ancient Domains of Mystery (ADOM) 是一个 rogue-like 游戏,自从 1994 年开始,它一直在开发。
它是一个包含复杂地牢的单用户游戏。你控制一个用种族,类别,属性,技巧和装备等描述的虚构角色。这个虚构角色正尝试着达到一个特定的目标(参考下面的介绍)并在一个困难的任务中取胜。为了完成任务,你必须在以前没有发现的隧道和地牢中探险,和丑陋的怪兽战斗,解开一系列遗忘的秘密,并找到宝藏。
在游戏期间,你在每次游戏时随机生成的各层地牢中探索。你也可能遇到某个特定的关卡,其中有着特定的挑战或者围绕某个特定主题而生成。
特点包括:
- 拥有上百个地点的巨大游戏世界,例如城堡,随机生成的地牢,主题寺庙,墓地,古代遗迹,塔台和其他名胜;
- 各种各样的种族(dwarves, drakelings, mist elves, hurthlings, orcs, trolls, ratlings and many others)(注:种族信息可以参考[这里](http://ancardia.wikia.com/wiki/Race) 和更多的类别 (fighters, elementalists, assassins, chaos knights, duelists and much more),允许无限的游戏风格;
- 上百个怪兽和物品,其中的许多拥有增强的随机特性;
- 一个堕落系统,迫使你在对力量的欲望和对诅咒的恐惧之间进行权衡;
- 法术,祈祷,思想技艺,炼金术,手工艺和更多;
- 多样的任务和分支故事主线;
- 许多完全不同的结局,可能改变现实本身
- 网站: [www.adom.de][3]
- 开发者: Thomas Biskup
- 协议: Postcardware
- 版本号: 1.20 Prelease 20
----------
![](http://www.linuxlinks.com/portal/content2/png/ToME.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-ToME.png)
Tales of MajEyal (ToME) (注:中文翻译为 马基埃亚尔的传说) 是一个免费,开源的 roguelike 角色扮演游戏,包含特色的战术回合制战役和先进的建筑。它作为运行在 T-Engine 4.0 中的一个模块而被创造。
现在处于王权世纪(Age of Ascendancy),在长达一万年的冲突痛苦和混乱之后,我们所知的世界终于进入了一个相对和平的时期。 “魔法大爆裂Spellblaze” 留下的影响已经大为减缓, 大地的伤痕也慢慢地开始愈合。在薪火世纪Age of Pyre之后各个文明也纷纷开始重建家园。(注:翻译来源于 [这里](http://www.qiyun.org/zhuanti/majiaiyaerdechuanshuo.htm))   
特点包括:
- 适合于那些没有 rogueline 体验的玩家;
- 同时支持图形界面和 ASCII 模式;
- 某些角色拥有超过 40 种能力;
- 天赋系统;
- 战役引擎;
- 在线的持久状态/成就追踪;
- IRC 聊天客户端;
- 可扩展,可修改;
- 充满激情的音乐;
- 解锁新的种族,类别,起始点,游戏模式和特点等;
- 网站: [te4.org][4]
- 开发者: ToME 开发团队
- 协议: GNU GPL v3.0
- 版本号: 1.2.5
----------
![](http://www.linuxlinks.com/portal/content2/png/CataclysmDarkDaysAhead1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Cataclysm.png)
Cataclysm 是一个开源的 “后末世” roguelike 游戏,背景设定在由怪兽和僵尸带来的毁灭性的瘟疫后虚构的新英格兰(New England) 乡村。它是 Whale 开发的原有 Cataclysm 的继续,拓展了更多新的生物,建筑,游戏机制和其他特点。
尽管有些人描述它为一个 “僵尸游戏”,但 Cataclysm 远比一个“僵尸游戏”包含更多内容。玩家要在一个由程序生成的严酷,持久的世界中艰难生存下去。在一个死寂的文明世界中为了食物,装备或者假如你足够幸运,一辆装满汽油的汽车来逃离 Dodge --这个如地狱一般的地方-- 而苦苦寻觅。通过战斗来击败或从一系列强大的怪兽底下逃离,从僵尸到巨型昆虫或机器人杀手以及更加奇怪和致命的东西中逃离,以及和那些想要得到你拥有的东西的同你一样的人战斗。
在许多方面上, Cataclysm 同大多数的 roguelike 游戏有很大的不同。它被设定在一个无界的三维世界里,而不是设定在一个垂直、线性的地牢。这意味着相比于大多数的 roguel 游戏,探险将占一个更大的比重,而且这个游戏将具有更少的线性性。由于地图是如此的巨大,在每次游戏之间,它可以完全保持原样。假如你死了,并以一个新的角色开始,你的新游戏将会设定在同你最近呆过的游戏世界相同的世界里。同许多 roguelike 游戏一样,你可以获得先前角色的战利品;而与大多数 roguelike 不同的是,你也可以重新踏上先前角色的轨迹,并且对世界做出的任何戏剧性改变将会维持到你的下一次游戏。
特点包括:
- 详细的角色创造,提供了数量众多的特性来选择;
- 防御模式, 一个休息模式和快节奏作战;
- Bionics; 类似于在许多其他游戏里的 魔法系统;
- 基因突变, 有好的和坏的;
- 无界的, 完全随机的世界地图,可以在角色交替时保持不变;
- 创造物品
- 新的制作方法可能需要通过练习或从书本中获得来磨练你的知识;
- 逼真的火,烟和其他动态的地图特效;
- 一个昼/夜循环,需要睡觉。假如你必须的话,可以使用咖啡因来保持更长时间的清醒,但这不健康;
- 超过 300 种物品类型,包括众多的现实世界的枪支,药品和工具;
- 许多药品是上瘾的,并需要持续使用来避免负面效果;
- 通过修补门,窗,建造陷阱和巩固你的家的基石来防止一个僵尸的突然造访;
- 拥有构建你自己的木质建筑,包括墙和屋顶的能力;
- 使用汽车在“后末世”发现的景观中兜风;
- 这个可以根据你的需求来修改,或甚至你可以从底层建造一个景观;
- 一个温度系统,太冷或太热都非常危险;
- 初步支持 tile 界面;
- 一个类似于 World Gen 一样的选项和多彩的编辑方法;
- 网站: [en.cataclysmdda.com][5]
- 作者: Kevin Granade 及其他
- 协议: Creative Commons Attribution-ShareAlike 3.0 Unported License
- 版本号: 0.B
----------
![](http://www.linuxlinks.com/portal/content2/png/GoblinHack1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-GoblinHack.png)
Goblin Hack 是一个拥有基于 OpenGL 的平滑滚动的图形界面的开源 roguelike 游戏。这个游戏受 NetHack 外观的启发,但更加快速且使用更少的按键。
Goblin Hack 有一个简洁的界面,在今天这个过度渲染的游戏世界中,似乎它对所有年龄段的玩家都有吸引力,并启发了这些玩家的想象力。
在被投进一个随机的正在生成的地牢之前,玩家可以从几个角色类别中选择一个角色。
特点包括:
- 令人印象深刻的界面(相比于许多其他的 roguelike 游戏)
- 简洁的界面;
- 在被投进一个随机的正在生成的第一层地牢之前,玩家可以从几个角色类别中选择一个角色;
- 手动保存游戏;
- 网站: [goblinhack.sourceforge.net][6], [github.com/goblinhack/goblinhack][7]
- 作者: Neil McGill
- 协议: GNU GPL v2
- 版本号: 1.19
----------
![](http://www.linuxlinks.com/portal/content2/png/SLASH%27EM.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-SlashEM.png)
Super Lotsa Added Stuff Hack - Extended Magic (SLASH'EM) 是一个角色扮演游戏在其中你控制一个单独的角色。SLASH'EM 是 NetHack 的一个变种。它拥有一个和 Rogue, ADOM, Anghand 及 NetHack 相似的界面和游戏玩法。你通过键盘来控制角色的动作,以一个俯视的视角来查看这个世界。
背景: Amulet of Yendor 已被偷走,不仅如此,偷走 amulet 的 Wizard of Yendor(不是一个好人)似乎深藏于 Dungeons of Doom(不是一个友好的地方)。
特点包括:
- 提供额外的特点、怪兽和项目;
- 新颖的特点包括僧人种类和类似推箱子的关卡;
- 主要的地牢比在 NetHack 中的要大很多;
- 网站: [www.slashem.org][8]
- 开发者: Slash'EM 开发团队
- 协议: MIT License, NetHack General Public License
- 版本号: 0.0.7E7F3
----------
![](http://www.linuxlinks.com/portal/content2/png/NetHack.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games/Screenshot-NetHack.jpg)
NetHack 是一个绝妙的简洁但又非常吸引人的具有地下城与龙风格的冒险游戏。“net”元素指的是它的发展已经根据网络进行了协调“hack”元素指的是角色扮演游戏的一种体裁以乱砍、猛砍著称着眼于战斗。
在 NetHack 中,你扮演激烈的战士、精灵或许多其他种类的一部分角色,一路战斗着,为你的神灵获取 Amulet of Yendor(可以说这是一个倒退!)。在这个过程中,你可能会遇到一个或两个 quantum mechanic(注:从[这里](http://nethack.wikia.com/wiki/Quantum_mechanic)得知,这指的是一种怪兽),或者可能遇到一个小型的太空舰队,抑或是 --假如你*足够*幸运 -- Ravenous Bugblatter Beast of Traal。(注:我参考了[这里](http://nethack.wikia.com/wiki/Douglas_Adams))。
特点包括:
- 45-50 个关卡, 其中的大多数随机生成
- 各种各样的物品:武器、盔甲、卷轴、药水、戒指、宝石和各种各样的工具,如钥匙和灯
- 祝福和诅咒
- Permadeath永久死亡: 若没有对当前的保存文件进行备份,过期的角色不能再找回;
- 界面:
- 控制台;
- 图形化界面, 使用 X、Qt 工具集或 GNOME 库
- 网站: [www.nethack.org][9]
- 开发者: NetHack 开发团队
- 协议: NetHack 通用公共许可证
- 版本号: 3.4.3
----------
![](http://www.linuxlinks.com/portal/content2/png/AsciiSector.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-AsciiSector.png)
Ascii Sector 是一个免费的太空战斗/探险/交易游戏,它基于经典的电脑游戏 `Wing Commander: Privateer`,后者由 Origine Systems 公司于 1993 年发布。
在 Ascii Sector 中,刚开始你将驾驶一艘简易的飞船,然后可以通过接受任务或者贩卖物品来挣得足够多的钱以升级你的飞船或重新再买一艘。不管是在太空中,还是在地面上,抑或是在飞船上,你可以专注于致命的战斗;并且通过使用 Ascii Sector 的脚本语言,你还可以为游戏创造自己的任务或享受其他玩家创造的任务。
特点包括:
- 图像界面使用 ANSI 人物集;
- 真正的深入到游戏中;
- 提供各种基地,任务,商品和飞船;
- 飞船型号包括: Broadsword, Centurion, Demon, Dralthi, Drayman, Galaxy, Gladius, Gothri, Kamekh, Nexus, Orion, Paradign, Stileto, Talon, Tarsus 和 Ulysses
- 四个象限: Alizarin, Crimson, Mauve, and Viridian
- 可下载的任务;
- 任务可用脚本编辑;
- Ascii Sector 任务语言,在 Ascii Sector 宇宙中创造你自己的故事;
- 可以袭击或抢劫位于星球上的 NPCs(指非玩家控制角色)
- 可以到处移动的持久性舰队、可以改变系统的控制、玩弄敌人的舰队、回基地修复或重建;
- 可以登录系统受损的飞船;
- 可下载高质量的音乐文件;
- 网站: [www.asciisector.net][10]
- 开发者: Christian Knudsen
- 协议: 免费软件
- 版本号: 0.7.1.4
----------
![](http://www.linuxlinks.com/portal/content2/png/Angband.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Angband.png)
Angband 是一个免费、单用户、图形界面的地下城探险游戏,它使用 ASCII 字符的角色,在其中你将以一个冒险者的角色探索一个深深的地下城,与怪兽战斗,获得你能取得的最好武器,准备着与黑暗之主 Morgoth 的最后绝战。从上世纪九十年代开始,它一直在持续地开发着。
Angband 沿袭了 Rogue 和 NetHack 的风格路线。它由 Moria 和 Umoria 游戏衍生而来,反过来这两个游戏都以 Rogue 为基础。它经常被描述为一个 “roguelike”游戏因为它的外观和游戏体验与 Rogue 非常相似。很多游戏中的新生物、物品都来自 J.R.R Tolkien 的画作尽管有些野兽直接来源于经典的神话、Dungeons & Dragons, Rolemaster(根据wikipedia这两个都是角色扮演游戏的名称)、或原来 Angband 开发者的脑海中。
特点包括:
- 100 层地牢;
- 随机产生的新关卡;
- 可以选择成为人类、半精灵、精灵、霍比特人、地精、矮人,半兽人,半巨魔, 登丹人 ,高等精灵,或者狗头人;
- 神器;
- 施法;
- 怪物;
- 怪物坑;
- 怪物巢穴;
- 网站: [rephial.org][11]
- 开发者: Angband 开发小组
- 协议: GNU GPL v2
- 版本号: 3.5.0
----------
![](http://www.linuxlinks.com/portal/content2/png/UnNetHack1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-UnNetHack.png)
UnNetHack 是 NetHack 的一个分支。NetHack 最开始于 1987 年发行,并且许多游戏玩家认为它是计算机世界所能提供的最好游戏体验的游戏之一。
特点包括:
- 增加了许多针对 NetHack 的增强,如额外的怪兽、更多的关卡、许多新的元素、更多的危险、更具挑战性的游戏,以及最重要的,相比普通的 NetHack它更具娱乐性
- 帮助新手开始的教程;
- 网站: [sourceforge.net/apps/trac/unnethack][12]
- 作者: Patric Mueller
- 协议: Nethack General Public License
- 版本号: 5.1.0
----------
![](http://www.linuxlinks.com/portal/content2/png/HydraSlayer.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-HydraSlayer.png)
Hydra Slayer 是一个专注于杀死九头蛇的开源 Roguelike 游戏。它受希腊神话、地下城探险、MathRL 七日 rouguelike和一些关于勇敢的英雄杀死多头野兽的数字谜题等启发。
特点如下:
- 独特的游戏机制;
- 混合希腊神话和数字迷宫的主题;
- 传统的 roguelike ASSCII 字符界面或 砖块/3D 界面;
- 5 种人物角色,具有极为不同的战术、力量及弱点;
- 28 种敌人类型:
- 10 种基本的九头蛇类型(每种类型都有两种变种)
- 8 种特殊类型的敌人;
- 无害的蘑菇可用作战术工具;
- 28 种装备(并包括材料和装备的大小/力量的变种)
- 15 种武器材料;
- 18 种不可装备项;
- 3 种可供选择的地图;
- 8 种层级拓扑结构(包括莫比乌斯带和克莱因瓶)
- 11 个等级;
- 2 种胜利结局;
- 网站: [www.roguetemple.com/z/hydra][13]
- 开发者: Zeno Rogue
- 协议: GNU GPL v2
- 版本号: 16.1
----------
![](http://www.linuxlinks.com/portal/content2/png/Brogue1.png)
![](http://www.linuxlinks.com/portal/content/reviews/Games2/Screenshot-Brogue.png)
Brogue 是一个开源的 Roguelike 游戏,它可以运行在 Mac OS X, Windows, Linux, iOS 和 Android 等平台下。
Brogue 是 Rogue 的一个直系分支,后者是一个由 Michael Toy 和 Glenn Wichman 于 1980 年左右最先开发的地下城探险视频游戏。与其他受欢迎的现代 Roguelike 游戏不同, Brogue 追求简单而不是复杂性,同时尽力确保游戏的不同组成之间的联系是有趣且纷繁多彩的。
这个游戏的目标是取得深藏于地下第 26 层的 "Amulet of Yendor",再返回到顶层逃出生天。对于那些技术娴熟且想进一步探险的人来说,位于 26 层之下的每层均包含 3 颗 lumenstone (流明石)(注:这里与我在[这里](http://brogue.wikia.com/wiki/Lumenstone)看到的有些出入),获得它们,将在胜利的基础上被授予额外的得分。
Brogue 是一个富有挑战性的游戏,但玩着仍有许多趣味。尽量不要因游戏的高难度而灰心;试玩一段时间之后,你会发现它变得非常吸引人。
特点如下:
- 追求简单而非复杂;
- 对用户友好;
- 相比于 Rogue Brogue 有一个更加复杂的层级划分;
- 移除了 XP 和 水平系统
- 陷阱,保护项目;
- 额外的怪兽类型和魔法项目;
- 网站: [sites.google.com/site/broguegame][14]
- 作者: Brian Walker
- 协议: GNU Affero GPL
- 版本号: 1.7.3
--------------------------------------------------------------------------------
via: http://www.linuxlinks.com/article/201412031524381/RoguelikeGames.html
作者Frazer Kline
译者:[FSSlc](https://github.com/FSSlc)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://crawl.develz.org/
[2]:http://www.bay12games.com/dwarves/index.html
[3]:http://www.adom.de/
[4]:http://te4.org/
[5]:http://en.cataclysmdda.com/
[6]:http://goblinhack.sourceforge.net/
[7]:https://github.com/goblinhack/goblinhack
[8]:http://www.slashem.org/
[9]:http://www.nethack.org/
[10]:http://www.asciisector.net/
[11]:http://rephial.org/
[12]:http://sourceforge.net/apps/trac/unnethack/
[13]:http://www.roguetemple.com/z/hydra/
[14]:levelling system

View File

@ -0,0 +1,167 @@
如何在Linux中以交互方式分析和查看Apache web服务器日志?
================================================================================
无论你是在网站托管业务还是在自己的VPS上运行几个网站你总会有机会想要显示访客数量例如前几的房客请求使用的文件无论是动态或者是静态带宽的使用客户端的浏览器和相关的网站等等。
[GoAccess][1] 是一款用于Apache或者Nginx命令行日志分析和交互式查看器。有了这款工具你不仅可以浏览到之前提及的相关数据还可以分析网站服务器日志来进一步挖掘数据 - 然而 **这一切都可以在一个终端窗口实时输出**.由于今天的[大多数web服务器][2]使用一个Debian的衍生版或者基于红帽发行版来作为底层操作系统我将会告诉你如何在Debian和CentOS中安装和使用GoAccess。
### 在Linux系统安装GoAccess ###
在DebianUbuntu及其衍生版本运行一下命令来安装GoAccess
# aptitude install goaccess
在CentOS中你将需要使你的[EPEL 仓库][3]可用然后执行以下命令:
# yum install goaccess
在Fedora同样使用yum命令
# yum install goaccess
如果你想从源码安装GoAccess来使后续的功能可用例如 GeoIP 的位置),为你的操作系统安装[必需的依赖包][4],按以下步骤进行:
# wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz
# tar -xzvf goaccess-0.8.5.tar.gz
# cd goaccess-0.8.5/
# ./configure --enable-geoip
# make
# make install
以上安装的版本是 0.8.5,但是你也可以在该软件的网站[下载页][5]确认是否是最新版本。
由于GoAccess不需要后续的配置一旦安装你就可以马上使用。
### 运行 GoAccess ###
开始使用GoAccess只需要对它运行你的Apache访问日志。
对于Debian及其衍生版本
# goaccess -f /var/log/apache2/access.log
基于红帽的发型版本:
# goaccess -f /var/log/httpd/access_log
当你第一次启动GoAccess你将会看到下方屏幕中选择日期和日志格式。正如前面所述你可以选择在空格键和F10之间相互切换。至于日期和日志格式你可能希望参考[Apache 文档][6]来刷新你的记忆。
在这个例子中选择常见日志格式CLI
![](https://farm8.staticflickr.com/7422/15868350373_30c16d7c30.jpg)
然后按F10.你将会从屏幕中获得统计数据。为了简约,只显示首部,也就是总结日志文件的摘要,如下图所示:
![](https://farm9.staticflickr.com/8683/16486742901_7a35b5df69_b.jpg)
### 通过 GoAccess来浏览网站服务器统计数据 ###
当你通过向下的剪头滚动页面,你会发现一下章节,按要求进行排序。这里提及的目录顺序可能会根据你的发型版本或者(从源和库)首选的安装方式:
1. 每天唯一访客具有同样IP同一日期和统一代理被认为是
![](https://farm8.staticflickr.com/7308/16488483965_a439dbc5e2_b.jpg)
2. 请求的文件网页URL
![](https://farm9.staticflickr.com/8651/16488483975_66d05dce51_b.jpg)
3. 请求的静态文件(例如,.png文件.js文件等等
4. 请求的URLs每一个URL请求的出处
5. HTTP 404 不能找到响应的代码
![](https://farm9.staticflickr.com/8669/16486742951_436539b0da_b.jpg)
6. 操作系统
7. 浏览器
8. 主机客户端IP地址
![](https://farm8.staticflickr.com/7392/16488483995_56e706d77c_z.jpg)
9. HTTP 状态代码
![](https://farm8.staticflickr.com/7282/16462493896_77b856f670_b.jpg)
10. 前几位的推荐站点
11. 在谷歌的搜索引擎使用的排名在前的关键字
如果你还想检查已经存档的日志你可以在GoAccess通过使用管道符号如下。
在Debian及其衍生版本
# zcat -f /var/log/apache2/access.log* | goaccess
在基于红帽的发型版本:
# cat /var/log/httpd/access* | goaccess
如果你需要任何更多关于以上的详细报告1至11项直接按下章节序号再按O大写o就可以显示出你需要的详细视图。下面的图像显示5-O的输出先按5再按O
![](https://farm8.staticflickr.com/7382/16302213429_48d9233f40_b.jpg)
如果要现实GeoIP位置信息打开详细视图的主机部分如前面所述你将会看到客户端IP地址所在的位置以及显示web服务器的请求。
![](https://farm8.staticflickr.com/7393/16488484075_d778aa91a2_z.jpg)
如果你的系统还尚未达到很忙碌的状态,以上提及的章节将不会显示大量的信息,但是这种情形可以通过在你网站服务器越来越多的请求发生改变。
### 在线保存分析的报告
当然有时候你不想每次都实时去检查你的系统状态但是保存一份在线的分析文件或者打印版是由必要的。要生成一个HTML报告只需要通过之前提到GoAccess命令输出来简单地重定向道一个HTML文件。然后你只需通过web浏览器来将这份报告打开即可。
# zcat -f /var/log/apache2/access.log* | goaccess > /var/www/webserverstats.html
一旦报告生成,你将需要点击展开的链接来显示每个类别详细的视图信息:
![](https://farm9.staticflickr.com/8658/16486743041_bd8a80794d_o.png)
注释youtube视频
<iframe width="615" height="346" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/UVbLuaOpYdg?feature=oembed"></iframe>
正如我们通过这篇文章讨论GoAccess是一个非常可贵的工具它提供给作为百忙之中的系统管理员一份HTTP统计的静态可是报告。虽然GoAccess默认其输出结果为标准输出但是你也可以将他们保存到JSONHTML或者CSV文件。这样的转换GoAccess将作为一个非常有用的工具来监控和显示网站服务器的统计数据。
--------------------------------------------------------------------------------
via: http://xmodulo.com/interactive-apache-web-server-log-analyzer-linux.html
作者:[Gabriel Cánepa][a]
译者:[disylee](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/gabriel
[1]:http://goaccess.io/
[2]:http://w3techs.com/technologies/details/os-linux/all/all
[3]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[4]:http://goaccess.io/download#dependencies
[5]:http://goaccess.io/download
[6]:http://httpd.apache.org/docs/2.4/logs.html

View File

@ -0,0 +1,41 @@
如何实现ssh无密码登录
================================================================================
假设你是hostA上的一个用户"aliceA"想以用户“aliceB”的身份ssh到hostB上但又不想输入密码。那么你可以参考这篇教程实现ssd无密码登录。
首先你需要以用户“aliceA”的身份登录到hostA上。
然后使用ssh-keygen生成一对rsa公私钥生成的密钥对会存放在~/.ssh目录下。
$ ssh-keygen -t rsa
接下来使用下面的命令在目标主机hostB上的aliceB用户目录下创建~/.ssh目录。如果在aliceB@hostB上已经存在.ssh目录这一步会被略过。
$ ssh aliceB@hostB mkdir -p .ssh
最后将hostA上用户“aliceA”的公钥拷贝到aliceB@hostB上来实现无密码ssh。
$ cat .ssh/id_rsa.pub | ssh aliceB@hostB 'cat >> .ssh/authorized_keys'
自此以后从aliceA@hostA上ssh到aliceB@hostB上再也不需要输入密码。
### 疑难解答 ###
1. 即使在密钥认证生效后你可能仍然需要输入SSH密码。如果遇到这种情况请检查系统日志如/var/log/secure以查看是否出现下面的异常。
Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys
在这种情况下,密钥认证的失败是由于~/.ssh/authorized_keys文件的权限或拥有者不正确。一般情况如果这个文件对除了你之外的所有用户都可读就会出现这个错误。用下面的方式改变文件的权限以修正错误。
$ chmod 700 ~/.ssh/authorized_keys
--------------------------------------------------------------------------------
via: http://xmodulo.com/how-to-enable-ssh-login-without.html
作者:[Dan Nanni][a]
译者:[KayGuoWhu](https://github.com/KayGuoWhu)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni

View File

@ -0,0 +1,99 @@
如何交互式地创建一个Docker容器
===============================================================================
大家好今天我们来学习如何使用一个docker镜像交互式地创建一个Docker容器。一旦我们从镜像中启动一个Docker进程Docker就会在父镜像与子镜像间来回搬运重复工作直到到达子镜像。然后联合文件系统会在顶层添加一个读写层。读写层又叫一个 **Container** 包含一些信息关于它的父镜像和一些其他的信息如单独的ID网络配置和资源限制。容器已经声明他们可以从 **running** 切换到 **exited** 状态。一个处于 **running** 状态的容器包含了很多分支在CPU上面运行独立于其他在主机上运行的进程而主机上 **exited** 是文件系统的状态,它的退出变量值是保留的。你可以使用读写层来启动,停止和重启一个容器。
Docker技术为IT界带来了巨大的改变它使得云服务可以用来共享应用和工作流程自动化使得应用可以从组件快速组合消除了开发与品质保证和产品环境间的摩擦。在这篇文章中我们将会建立CentOS环境然后维护一个网站在Apache网络服务器下运行。
这是快速且容易的教程讨论我们怎样使用一个交互的shell以一个交互的方式来创建一个容器。
### 1. 运行一个Docker实例 ###
Docker一开始尝试从本地取得和运行所需的镜像如果在本地主机上没有发现它就会从[Docker公共注册中心][1]拉取。这里我们将会在一个DOcker容器里取得并创建一个fedora实例附加一个bash shell到tty
# docker run -i -t fedora bash
![Downloading Fedora Base Image](http://blog.linoxide.com/wp-content/uploads/2015/03/downloading-fedora-base-image.png)
### 2.安装Apache网络服务器 ###
现在在我们的Fedora基本镜像准备好后我们将会开始交互式地安装Apache网络服务器而不必为它创建Dockerfile。为了做到这点我们需要在终端或者shell运行以下命令。
# yum update
![Installing httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-httpd2.png)
# yum install httpd
![Installing httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-httpd2.png)
# exit
### 3.Saving the Image ###
现在我们要去保存在Fedora实例里做的修改。要做到这个我们首先需要知道实例的容器ID。而为了得到ID我们又需要运行以下命令。
# docker ps -a
![Docker Running Container](http://blog.linoxide.com/wp-content/uploads/2015/03/docker-running-container.png)
然后,我们会保存这些改变为一个新的镜像,请运行以下命令。
# docker commit c16378f943fe fedora-httpd
![committing fedora httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/committing-fedora-httpd.png)
这里修改已经通过使用容器ID保存起来了镜像名字叫fedora-httpd。为了确认新的镜像时候在运行我们将运行以下命令
# docker images
![view docker images](http://blog.linoxide.com/wp-content/uploads/2015/03/view-docker-images.png)
### 4. 添加内容到新的镜像 ###
我们自己新的Fedora Apache镜像正成功的运行现在我们想添加一些网页内容到Apache网络服务器包括我们的网站使得网站能够脱离盒子正确运行。为做到这点我们需要创建一个新的Dockerfile它会处理从复制网页内容到使用80端口的所有操作。而为做到这我们又需要使用我们最喜欢的文本编辑器创建Dockerfile文件像下面演示的一样。
# nano Dockerfile
现在,我们需要添加以下的命令行到文件中。
FROM fedora-httpd
ADD mysite.tar /tmp/
RUN mv /tmp/mysite/* /var/www/html
EXPOSE 80
ENTRYPOINT [ "/usr/sbin/httpd" ]
CMD [ "-D", "FOREGROUND" ]
![configuring Dockerfile](http://blog.linoxide.com/wp-content/uploads/2015/03/configuring-Dockerfile.png)
这里运行Dockerfilemysite.tar里的网页内容会自动解压到/temp/文件夹里。然后整个文件会被转移到Apache网页根目录/var/www/html/命令expose 80会打开80端口这样网站就能正常访问。其次入口点放在了/usr/sbin/https里面保证Apache服务器能够执行。
### 5. 建立并运行一个容器 ###
现在为了添加我们网站在上面我们要用刚刚创建的Dockerfile创建我们的容器为做到这我们需要运行以下命令。
# docker build -rm -t mysite .
![Building mysite Image](http://blog.linoxide.com/wp-content/uploads/2015/03/building-mysite-image.png)
我们建立自己的容器后,我们想要用下面的命令来运行容器。
# docker run -d -P mysite
![Running mysite Container](http://blog.linoxide.com/wp-content/uploads/2015/03/running-mysite-container.png)
### 总结 ###
最后我们已经成功的以交互式的方式建立了一个Docker容器。在本节方法中我们是直接通过交互的shell命令建立我们的容器和镜像。这种方法十分简单且快速在建立与配置镜像与容器方面。如果你有任何问题建议和反馈请在下方的评论框里写下来以便我们可以提升或者更新我们的文章。谢谢祝生活快乐 :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/interactively-create-docker-container/
作者:[Arun Pyasi][a]
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:https://registry.hub.docker.com/