mirror of
https://github.com/LCTT/TranslateProject.git
synced 2026-09-04 04:32:49 +08:00
Merge branch 'master' of https://github.com/LCTT/TranslateProject
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
|
||||
Linux有问必答——如何为sudo命令定义PATH环境变量
|
||||
================================================================================
|
||||
>**问题**:我安装了一个程序到/usr/local/bin目录下,这个程序需要root权限才能执行,当我用sudo去执行它时,收到"sudo: XXXXX: command not found"的错误提示,不知道为什么/usr/local/bin没有被包含到PATH环境变量下面来,我该如何解决这个问题?
|
||||
|
||||
当你使用sudo去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化的环境中执行,也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了。所以当一个刚初始化的PATH变量中不包含你所要运行的程序所在的目录,用sudo去执行,你就会得到"command not found"的错误提示。
|
||||
|
||||
要想改变PATH在sudo会话中的初始值,用文本编辑器打开/etc/sudoers文件,找到"secure_path"一行,当你执行sudo 命令时,"secure_path"中包含的路径将被当做默认PATH变量使用。
|
||||
|
||||
添加所需要的路径(如 /usr/local/bin)到"secure_path"下,在开篇所遇见的问题就将迎刃而解。
|
||||
|
||||
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
|
||||
|
||||
这个修改会即刻生效。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/define-path-environment-variable-sudo-commands.html
|
||||
|
||||
译者:[nd0104](https://github.com/nd0104) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
@@ -1,185 +0,0 @@
|
||||
使用Linux命令行管理DigitalOcean VPS水滴
|
||||
================================================================================
|
||||
[DigitalOcean][1]是云VPS主机市场中最炙手可热的新生儿。虽然没有提供像Amazon之类一样的综合服务业务,DigitalOcean已经成为定位于中小型企业和开发者的基于Linux的最佳云VPS服务的强有力的竞争者,这都得归功于他们具有竞争力的价格和对用户友好的管理界面。
|
||||
|
||||

|
||||
|
||||
不管什么时候,当你需要一个面向网络的服务器用于你的个人项目,你都可以全速开动一个“水滴”([DigitalOcean][3]中VPS实例的昵称),也可以在你不需要时杀掉它,没必要为了让你的VPS保持运作而烧光了你的钱袋。尽管DigitalOcean基于网络的管理界面已经十分高效,但对于那些命令行界面的死忠派,它还是提供了基于命令行界面的水滴管理工具,它叫[tugboat][4]。多亏了这个命令行工具,所有复杂的水滴管理任务都可以简单地转变成一个脚本来完成。
|
||||
|
||||
在本文中,我打算讲述**怎样使用tugboat来从命令行对DigitalOcean水滴进行管理**。
|
||||
|
||||
### 在Linux上安装tugboat ###
|
||||
|
||||
在Debian,Ubuntu或者Linux Mint上安装tugboat:
|
||||
|
||||
$ sudo apt-get install ruby-dev
|
||||
$ sudo gem install tugboat
|
||||
|
||||
在Fedora上安装tugboat:
|
||||
|
||||
$ sudo yum install ruby-devel
|
||||
$ sudo gem install tugboat
|
||||
|
||||
要在CentOS上安装tugboat,首先[安装或升级到最新的Ruby][5],因为在CentOS 6.5以及更早的版本上,默认的Ruby不满足拖船所需的最小版本(1.9及更高版本)。安装Ruby 1.9及更高版本后,请按如下方式安装tugboat。
|
||||
|
||||
$ sudo gem install tugboat
|
||||
|
||||
### tugboat首次使用配置 ###
|
||||
|
||||
在安装完后,就该实行一次配置,配置涉及了授权tugboat访问DigitalOcean帐号。
|
||||
|
||||
转到[https://cloud.digitalocean.com/api_access][6],并创建新的API密钥,记录客户ID和API密钥。
|
||||
|
||||

|
||||
|
||||
通过运行以下命令来启动授权过程:
|
||||
|
||||
$ tugboat authorize
|
||||
|
||||
在提示你输入客户ID和API密钥时,请输入。它会询问几个其它问题,目前你可以接受默认的回答。我们打算在今后自定义默认设置。
|
||||
|
||||
[][7]
|
||||
|
||||
现在,让我们自定义默认水滴设置,以反映你典型的使用状况。要那么做,首先检查水滴提供的可用的东西(如,可用的镜像、区域、大小)。
|
||||
|
||||
运行以下命令,它会列出可用的水滴镜像。选取使用一个默认镜像,并记录相关的ID。
|
||||
|
||||
$ tugboat images --global
|
||||
|
||||

|
||||
|
||||
类似,从可用区域中选取一个默认的地理位置:
|
||||
|
||||
$ tugboat regions
|
||||
|
||||
同时,从可用的RAM大小中选择一个默认的水滴大小:
|
||||
|
||||
$ tugboat sizes
|
||||
|
||||

|
||||
|
||||
现在,把你的默认选择放到~/.tugboat中。例如,我在这里自定义了默认设置:区域在纽约,系统是Ubuntu 14.04,内存512MB。如果你想要通过密钥验证启用SSH,设置“ssh_user”为root,这个我很快会讲到。
|
||||
|
||||
$ vi ~/.tugboat
|
||||
|
||||
----------
|
||||
|
||||
---
|
||||
authentication:
|
||||
client_key: XXXXXXXXXXXXXXXXXXX
|
||||
api_key: XXXXXXXXXXXXXXXXXXXX
|
||||
ssh:
|
||||
ssh_user: root
|
||||
ssh_key_path: /home/dev/.ssh/id_rsa
|
||||
ssh_port: '22'
|
||||
defaults:
|
||||
region: '4'
|
||||
image: '3240036'
|
||||
size: '66'
|
||||
ssh_key: ''
|
||||
private_networking: 'false'
|
||||
backups_enabled: 'false'
|
||||
|
||||
### 创建并添加SSH密钥到数字海洋 ###
|
||||
|
||||
要访问水滴实例,一个安全的方式是通过[密钥验证][8]的SSH连接到该实例。
|
||||
|
||||
事实上,你可以通过使用[DigitalOcean][9]来注册SSH公钥,为你的水滴实现自动启用密钥验证。下面告诉你怎么做。
|
||||
|
||||
首先,生成一个公/私密钥对(如果你还没有)。
|
||||
|
||||
$ ssh-keygen -t rsa -C "your@emailaddress.com"
|
||||
|
||||
假设生成的密钥对由~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)构成,去将你的公钥上传吧,命令如下:
|
||||
|
||||
$ tugboat add-key [name-of-your-key]
|
||||
|
||||
你可以任意给你的密钥命名(如,“my-default-key”)。当出现提示时,输入公钥路径(如,/home/user/.ssh/id_rsa.pub)。在密钥上传完成后,运行以下命令来验证密钥是否正确添加:
|
||||
|
||||
$ tugboat keys
|
||||
|
||||

|
||||
|
||||
密钥也应该出现在DigitalOcean的[SSH密钥页][10]。如果你想要密钥自动使用到水滴中,添加密钥ID到~/.tugboat中。
|
||||
|
||||
ssh_key: '182710'
|
||||
|
||||
### 拖船的基本用法 ###
|
||||
|
||||
这里列出了tugboat命令行的一些基本使用情况。
|
||||
|
||||
1. 使用默认设置创建新水滴。
|
||||
|
||||
$ tugboat create <name-of-droplet>
|
||||
|
||||
2. 列出所有活动水滴。
|
||||
|
||||
$ tugboat droplets
|
||||
|
||||
3. 显示水滴的信息。
|
||||
|
||||
$ tugboat info <name-of-droplet>
|
||||
|
||||
[][11]
|
||||
|
||||
4. 关闭水滴,并移除镜像。
|
||||
|
||||
$ tugboat destroy <name-of-droplet>
|
||||
|
||||
5. 关闭水滴,但保持镜像
|
||||
|
||||
$ tugboat halt <name-of-droplet>
|
||||
|
||||
6. 为水滴创建快照,水滴必须先关闭。
|
||||
|
||||
$ tugboat snapshot <snapshot-name> <name-of-droplet>
|
||||
|
||||
7. 调整水滴大小(增加或减少RAM大小),水滴必须先关闭。
|
||||
|
||||
$ tugboat resize <name-of-droplet> -s <image-id>
|
||||
|
||||
如果你想要知道特定命令的更多选项,运行:
|
||||
|
||||
$ tugboat help <command>
|
||||
|
||||

|
||||
|
||||
### 排障 ###
|
||||
|
||||
1. 当我运行tugboat命令时,它出错了,并出现以下错误。
|
||||
|
||||
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': /usr/lib/ruby/gems/1.8/gems/tugboat-0.2.0/lib/tugboat/cli.rb:12: syntax error, unexpected ':', expecting kEND (SyntaxError)
|
||||
|
||||
Tugboat要求Ruby 1.9及更高版本,你需要升级Ruby来解决该问题。对于CentOS,请参考[此教程][12]
|
||||
|
||||
2. 当我试着用gem来安装Tugboat时,出现了下面的错误。
|
||||
|
||||
/usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- json/pure (LoadError)
|
||||
|
||||
安装以下gem来修复该问题。
|
||||
|
||||
$ sudo gem install json_pure
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/manage-digitalocean-vps-droplets-command-line-linux.html
|
||||
|
||||
原文作者:[Dan Nanni][a]
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:http://xmodulo.com/go/digitalocean
|
||||
[2]:http://news.netcraft.com/archives/2013/12/11/digitalocean-now-growing-faster-than-amazon.html
|
||||
[3]:http://xmodulo.com/go/digitalocean
|
||||
[4]:https://github.com/pearkes/tugboat
|
||||
[5]:http://ask.xmodulo.com/upgrade-ruby-centos.html
|
||||
[6]:https://cloud.digitalocean.com/api_access
|
||||
[7]:https://www.flickr.com/photos/xmodulo/14685122101/
|
||||
[8]:http://xmodulo.com/2012/04/how-to-enable-ssh-login-without.html
|
||||
[9]:http://xmodulo.com/go/digitalocean
|
||||
[10]:https://cloud.digitalocean.com/ssh_keys
|
||||
[11]:https://www.flickr.com/photos/xmodulo/14501627440/
|
||||
[12]:http://ask.xmodulo.com/upgrade-ruby-centos.html
|
||||
@@ -1,89 +0,0 @@
|
||||
如何在Linux命令行下访问SoundCloud
|
||||
================================================================================
|
||||
如果你喜欢流媒体音乐和原创音乐,你不能错过[SoundCloud][1]。这家云流媒体服务总部设在德国,这对任何音乐爱好者都非常有名且完善。自然,作为一个Linux爱好者,你可能想知道如何在Linux中加入你对音乐的热情。作为一个解决方案,我建议你使用Soundcloud2000,**SoundCloud的命令行客户端**脱胎于[Music Hack Day Stockholm '13][2]。
|
||||
|
||||
### 安装 ###
|
||||
|
||||
对于Debian或者Ubuntu用户,如下安装:
|
||||
|
||||
$ sudo apt-get install portaudio19-dev libmpg123-dev libncurses-dev ruby1.9.1-dev
|
||||
$ sudo gem install soundcloud2000
|
||||
|
||||
对于Archlinux用户,在[AUR][3]仓库中可以获取到包
|
||||
|
||||
对于Fedora用户,如下安装:
|
||||
|
||||
$ sudo yum install portaudio-devel libmpg123-devel ncurses-devel ruby-devel
|
||||
$ sudo gem install soundcloud2000
|
||||
|
||||
对于CentOS用户,安装或者升级到[最新 Ruby/RubyGems][4] (1.9或更高),启用[Repoforge repo][5],如下安装:
|
||||
|
||||
$ sudo yum install portaudio-devel mpg123-devel
|
||||
$ sudo gem install curses soundcloud2000
|
||||
|
||||
最后,到官方的github页面获取源码
|
||||
|
||||
### 使用 ###
|
||||
|
||||
Soundcloud2000非常容易使用。有些人甚至会说简单。我喜欢它的庄重以及三位作者和贡献者的努力。如下启动它:
|
||||
|
||||
$ soundcloud2000
|
||||
|
||||
这里,你将看到一个闪屏:
|
||||
|
||||

|
||||
|
||||
接着是歌曲列表:
|
||||
|
||||

|
||||
|
||||
您可以通过上下键滚动列表,回车播放一首歌曲,空格键是暂停/恢复,左右箭头键是快进/快退。正如你所看到的,没有什么突破性的但绝对符合人体工程学。
|
||||
|
||||
如果随机列表太长无法滚动完,你有一个选项来查看所有曲目,用户通过点击'u'键接着输入自己的名字。
|
||||
|
||||

|
||||
|
||||
这可能是Soundcloud2000的主要默认之一。而导航没有优化过,我寄予厚望的改善和支持的软件还是很年轻的。
|
||||
|
||||
### 红利 ###
|
||||
|
||||
另外一个额外的红利:如果你喜欢在终端上使用SoundCloud的想法,但不想安装任何额外的软件(也许你不能),我劝你去[cmd.fm][6]。该网站是一个伪装的SoundCloud,因为它隐藏在一个shell接口后。
|
||||
|
||||
[][7]
|
||||
|
||||
输入“help”可以得到命令列表,这比Soundcloud2000长很多。比如,我看到:
|
||||
|
||||
- _genres to list all genres
|
||||
- _play random to play a random track
|
||||
- _pause to pause the current track
|
||||
- _playlist new to make a new playlist
|
||||
- _loop to loop current track
|
||||
- _cinema to watch and ASCII version of Star Wars which completely blew my mind.
|
||||
|
||||
它甚至支持通过tab键自动完成流派
|
||||
|
||||
最后,Soundcloud2000的确是一个整洁的程序。我们可以原谅其目前的缺陷,因为它还年轻。我真的希望它会成长,并包含更多的功能(并从潜在的cmd.fm得到的灵感)。
|
||||
|
||||
如果您喜欢这个主意,我邀请你支持程序员,如果你喜欢这类举措,请支持[Music Hack Day][8],这其中混合了软件开发和音乐。
|
||||
|
||||
你认为在命令行下使用SoundCloud怎么样?让我们在评论中知道你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/access-soundcloud-command-line-linux.html
|
||||
|
||||
原文作者:[Adrien Brochard][a]
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:https://soundcloud.com/
|
||||
[2]:https://www.hackerleague.org/hackathons/music-hack-day-stockholm-13/
|
||||
[3]:https://aur.archlinux.org/packages/ruby-soundcloud2000/
|
||||
[4]:http://ask.xmodulo.com/upgrade-ruby-centos.html
|
||||
[5]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html
|
||||
[6]:https://cmd.fm/
|
||||
[7]:https://www.flickr.com/photos/xmodulo/14494448218/
|
||||
[8]:http://new.musichackday.org/
|
||||
@@ -1,126 +0,0 @@
|
||||
Top 10! Fun On The Command Line
|
||||
================================================================================
|
||||
|
||||
排名前10!在命令行中寻找乐趣
|
||||
================================================================================
|
||||
|
||||
|
||||
**如果你喜欢做‘排名前10'类型的列表但又有点不好意思这样说,那么告诉人们你热爱数据的探索。为了进一步打动他们们,向他们解释你在命令行间的数据探索。但是不要告诉他们这其实很容易,以免你的好形象就这样被毁灭了哦!**
|
||||
|
||||
在这篇文章中,我将基于GNU/Linux工具和'一列的表格'来做一些数据探索,也就是我所说的简单列表。如若想在这里通过命令行查看更多的信息,请查看'man'页,或者在“注释”部分求解。
|
||||
|
||||
### 密码 ###
|
||||
|
||||
在第一个列表里探讨的是马克.伯内特2011著的关于[10000 个最常用的密码][1]汇编。这个列表是有序的、使用最频繁的,也是广为人知的阶乘“密码”的最常用来源之一,与“123456”并列排名第二。在这里,我已经把一个所谓密码的文件列出来了,并且使用head命令把排名前10的列出来了:
|
||||
|
||||

|
||||
|
||||
(伯内特解释他是如何手收集这些密码的[这里][2]。你会注意到在列表中他把所有大写字母都转换成小写的。)
|
||||
|
||||
OK,所以'密码'是伯内特列表的顶部。那么个位数字呢?
|
||||
|
||||

|
||||
|
||||
非常有趣的是!数字'1'出现在密码列表中多于是第二个最常用数字'2'的两倍,以及10位数字在数值以及人气排序,除了0和9。而排名前10的字母呢?
|
||||

|
||||
|
||||
在密码文件中出现最频繁的字母依次是EARONISTLC.这个和EAIRTONSLC差不多,也是一个频率模式图至少在 [one published table][3] 中最常适用的英语单词。这是否意味着,大部分密码其实是一些常见的英语单词呢,也许会参杂一些数字呢?
|
||||
|
||||
为了找到答案,我先把密码转换成一个纯字母字符串列表,然后看看有多少字符串是可以在英语词典中找到的。
|
||||
|
||||
|
||||
首先我将通过 **sed**命令删除所有密码中的数字,然后删除所有的标点符号,再删除所有的空行。这将创建出一个纯字母的密码列表。然后我通过**sort** 和 **uniq**来修剪列表的排序,将重复项取出。(例如,'abc1234def'和'abc1!2!3!def!'都剔除剩下'abcdef'.) 。根据wc命令,我把1000个密码减至成8583个纯字母的字符串:
|
||||

|
||||
|
||||
我经常使用一本便携式的英语字典,我通常会使用`usr/share/dict/american-english`,这个文件是来自Debian Linux的一个发行版本。它包含了99171个单词。我会先通过**tr**命令将这个词表转换为纯小写的,然后使用**sort** 和 **uniq**删除掉人和重复的条目排序(例如'A' 和 'a' 都将成为 'a')。这样就将词表的数量减至97723项了:
|
||||
|
||||

|
||||
|
||||
我现在可以用通信命令带'-23'的参数来比较两个列表和报告中纯字母文件而没有出现在字典中的单词:
|
||||

|
||||
|
||||
总数是3137,所以至少有8583 -3137 = 5446个'核心'密码在伯纳特的纯小写字母列表中(大约63%)是简单的英语单词,或者是简单的单词附加一些数字或者标点符号。我之所以写至少是因为在3137个字符串中有很大比例是只有经过轻微修改的纯英语单词、名称、或者在/usr/share字典中未能找到的名称修改而成的。在LA项中,例如,'labtec', 'ladyboy', 'lakeside', 'lalakers', 'lalala', 'laserjet', 'lasvegas', 'lavalamp' and 'lawman'.
|
||||
|
||||
### Placenames ###
|
||||
### 地名 ###
|
||||
|
||||
在之前的一篇[Linux Rain article][4],我描述了如何建立一张37万项澳大利亚的地名表。有了它,我现在可以回答一些类似这样的关键问题“Round Hill是澳大利亚山脉中最流行的名字吗?”和“桑迪是沙滩之最,而岩溪峡谷呢?”
|
||||
|
||||
在地名表中地名字段的排名第2,所以这里有:
|
||||
|
||||

|
||||
|
||||
|
||||
哇。我当时甚至没有关闭。(但是请注意到我是如何通过**^string1^string2**命令保存打印的内容。它重复着最后一个命令,但是用第2个字符串代替了第1个字符串。这是多门经常的BASH绝招!)
|
||||
|
||||
|
||||
另一个亟待解决的问题是有多少地名有'Mile'在其中,例如'Six Mile Creek',而他们的排名又是如何:
|
||||

|
||||
|
||||
我在我的澳洲之旅发现有很多Dead Horse Creeks,因此有这些地名:
|
||||
|
||||

|
||||
|
||||
|
||||
### 种类 ###
|
||||
|
||||
第三个列表是探索我今年出版的1961-2010年期间澳大利亚新种类昆虫名。从这个列表中,我去掉所有“物种的绰号”,这也是种群组合的第二部分像智人(你和我)和西方蜜蜂(欧洲蜜蜂)。
|
||||
|
||||
|
||||
(科技小贴士:这个昆虫表,可以从开发数据Zenodo库中[https://zenodo.org/record/10481][5],包括亚种。在我的‘top 10’练习中,我首先分离出所有独特的种群组合,这样避免了重复的,例如蜜蜂iberica的亚种,以避免蜜蜂的绰号intermissa,等等。最后一个物种文件有18155个绰号。)
|
||||
|
||||
大多数人讲科学名称带玩笑式地用'-us'结局,如'Biggus buggus'.那么昆虫学家呢?有几个不错的,用命令行的方式获取字符串的最后2个字母,在这里我都会用到这2个:
|
||||

|
||||
|
||||
|
||||
|
||||
耶!昆虫学家喜欢也‘-us’结尾。接下来,我不知道有多少物种是以我的家乡State of Tasmania来命名的?(下面我想看看前100行,来确保我得到的所有'tasman'组合.)
|
||||
|
||||

|
||||
|
||||
那么昆士兰呢?
|
||||
|
||||

|
||||
|
||||
一般来说,昆虫物种名单中的前10名分别是什么呢?
|
||||
|
||||

|
||||
|
||||
嗯,除了明显的'australis'和'australiensis',而地理方面的'occidentalis'(西部),另外昆虫学家创建7个在10个最流行列表中的绰号已经旅行了其它昆虫学家的意愿。(加词'commoni'是给澳大利亚蝴蝶和蛾专家Ian F.B. Common,从1917-2006.)
|
||||
|
||||
### Speechifying ###
|
||||
### 演变 ###
|
||||
|
||||
上面使用的命令在一个简单的列表中。从一个文本块做一个简单的列表,这个命令行又再次成为你的朋友。例如,我保存了一个相当filibustery[演讲][6]在澳大利亚参议院于2014年7月16日的文本文件议事录。将议事录分割成一个单词列表:
|
||||

|
||||
|
||||
And to look at word frequency in the speech:
|
||||
|
||||
现在看看讲话中的单词使用频率:
|
||||
|
||||

|
||||
|
||||
### Coming soon... ###
|
||||
### 即将推出... ###
|
||||
|
||||
从多列的表中做'top 10'等排名,需要更多些的命令行工具。我将会在未来的文章中证明他们的用处。
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thelinuxrain.com/articles/top-10-fun-on-the-command-line
|
||||
|
||||
原文作者:Bob Mesibov(Bob Mesibov is Tasmanian, retired and a keen Linux tinkerer.)
|
||||
|
||||
译者:[disylee](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://xato.net/passwords/more-top-worst-passwords/#.U8eD13AvDy0
|
||||
[2]:https://xato.net/passwords/how-i-collect-passwords/#.U8eEdnAvDy0
|
||||
[3]:http://www.rinkworks.com/words/letterfreq.shtml
|
||||
[4]:http://www.thelinuxrain.com/articles/building-a-gazetteer-table-from-kml-files
|
||||
[5]:https://zenodo.org/record/10481
|
||||
[6]:http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;db=CHAMBER;id=chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0025;query=Id%3A%22chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0000%22
|
||||
@@ -1,40 +0,0 @@
|
||||
如何创建Ubuntu信息端计算机
|
||||
================================================================================
|
||||
|
||||
**Linux发行版可以作为全功能打包,也可以按需分解,驱动了从市内标示牌到市议会桌面系统在内的所有设备。**
|
||||
|
||||
正是这种多样化,几乎可塑的质量,让Linux发行版,包括Ubuntu在内,在众多不同领域如此成功。
|
||||
### 信息端和单功能计算机 ###
|
||||
|
||||
Ubuntu更为流行的使用之一,是在**信息端类计算机**中。这些设备趋向于运行功能剥离的,或者功能有限的OS版本,只允许**一个单一应用运行**。
|
||||
|
||||
信息端计算机可以设置提供短暂的或者被动的访问,对于网吧或者对于任何要求只有特定功能——如网页浏览器——可以让用户访问的机器十分理想。
|
||||
|
||||
### 构建Ubuntu信息端 ###
|
||||
|
||||
但你会怎样来创建这样一台计算机?好吧,保存你的Google。Linux开发者Oli Warner最近发布了两篇文章,介绍了使用Ubuntu 14.04和Google Chrome来创建单一功能的设备。
|
||||
|
||||
他的第一篇指南从零开始,使用Ubuntu Server和少量的软件包来创建一个轻量级的X和Openbox的组合,开机启动Chrome。该安装需要最多2GB的磁盘空间和仅仅512MB的内存来运行。
|
||||
|
||||
- [从零开始构建信息端计算机][1]
|
||||
|
||||
第二篇教程反其道而行,一步一步介绍了将一个现存的Ubuntu桌面安装转变为一个更轻巧的单一功能的变形版本。
|
||||
|
||||
- [将Ubuntu转换成信息端计算机][2]
|
||||
|
||||
Neither guide is for the faint-hearted, but are simple enough for most intermediate-level users to follow. Follow the guides to get a functional setup, but don’t be afraid to strip out further packages and processes or double down on security, especially if intending to use an instance in a public space.
|
||||
两个指南都不是给那些胆小的新手的,而对于大多数中级水平的用户而言却是简单易行的。跟着指南来获得一次实用的安装体验,不要畏首畏尾,大胆去剥离一些深层次的包和进程,或者加固安全吧,特别是如果想要在公共空间中使用一个实例。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/07/create-ubuntu-kiosk
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[GOLinux](https://github.com/GOLinux)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://thepcspy.com/read/building-a-kiosk-computer-ubuntu-1404-chrome
|
||||
[2]:http://thepcspy.com/read/converting-ubuntu-desktop-to-kiosk/
|
||||
@@ -1,175 +0,0 @@
|
||||
Cheat - 一个给Linux初学者和管理员的终极命令行‘备忘单’
|
||||
==============================================================================================
|
||||
当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令的时候,你怎么做?在这种情况下,我们使用man pages来获取帮助。还有一些其它的选择可能包括像‘**help**’,‘**whereis**’和‘**whatis**’这样的命令。但是所有的这些既有优点,也有缺点
|
||||
|
||||
当我们浏览**man pages**来查看选项和帮助的时候,man pages里面的描述实在太冗长了,我们无法在很短的时间里理解它的意思
|
||||
|
||||

|
||||
Linux Man Pages
|
||||
|
||||
同样,‘**help**’命令可能不会给你想要的答案
|
||||
|
||||

|
||||
Help Command
|
||||
|
||||
‘**whereis**’命令几乎不给你任何信息,除了安装的二进制文件的位置(有些时候可能非常重要)
|
||||
|
||||

|
||||
Whereis Command
|
||||
|
||||
‘**whatis**’命令给出一套很严格的答案---仅仅说出了所查询命令的作用,但,它并没有什么太大帮助。而且, 它从来不提及所查询命令所拥有的选项
|
||||
|
||||

|
||||
Whatis Command
|
||||
|
||||
我们使用这些选项直到在困境中解决问题,但是现在来了一个交互式的备忘录应用程序‘**cheat**’,它将带领其余的命令查询命令
|
||||
|
||||
### 什么是cheat? ###
|
||||
|
||||
**cheat**是在GNU通用公共许可证下,为Linux命令行使用者发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能介绍
|
||||
|
||||

|
||||
|
||||
Cheat:提供简单命令选项
|
||||
|
||||
### 在Linux系统中安装‘Cheat’ ###
|
||||
|
||||
‘**Cheat**’有两个主要的依赖 - ‘**python**’ 和 ‘**pip**’,在安装‘**cheat**’之前,确保你的系统安装了python和pip
|
||||
|
||||
### Install Python ###
|
||||
|
||||
# apt-get install Python (基于Debian的系统)
|
||||
# yum install python (基于小红帽的系统)
|
||||
|
||||
Install Pip
|
||||
|
||||
# apt-get install python-pip (基于Debian的系统)
|
||||
# yum install python-pip (基于小红帽的系统)
|
||||
|
||||
**Note**:pip是一个简单的安装替代,是一个有极大改进的Python第三方包安装器
|
||||
|
||||
### 下载并安装Cheat ###
|
||||
|
||||
我们将通过Git下载‘Cheat’,确保你安装了‘git’包,如果没有最好安装下
|
||||
|
||||
# apt-get install git (基于Debian的系统)
|
||||
# yum install git (基于小红帽的系统)
|
||||
|
||||
接下来,通过运行下面的命令来安装所需要的python依赖包
|
||||
|
||||
# pip install docopt pygments
|
||||
|
||||
现在,clone cheat的[Git repository][1]
|
||||
|
||||
# git clone https://github.com/chrisallenlane/cheat.git
|
||||
|
||||
进入cheat目录,运行‘**setup.py**’(一个python脚本)
|
||||
|
||||
# cd cheat
|
||||
# python setup.py install
|
||||
|
||||
如果安装很顺利,你就能够看到安装在系统上的cheat版本了
|
||||
|
||||
# cheat -v
|
||||
cheat 2.0.9
|
||||
|
||||
### cheat的一些必要配置 ###
|
||||
|
||||
你必须在‘~/.bashrc’文件里设置‘**EDITOR**’环境变量,打开用户‘**.bashrc**’文件,然后把下面这行加入到里面:
|
||||
|
||||
export EDITOR = /usr/bin/nano
|
||||
|
||||
你可以使用你喜欢的编辑器来替代‘**nano**’。保存文件然后退出,再次登录以确保修改生效
|
||||
|
||||
接下来,添加cheat的自动补全特性,来确保不同解释器下命令行的自动补全。为了到达该功能要求,简单地将‘**cheat.bash**’脚本clone下来,然后复制到你系统正确的路径下
|
||||
|
||||
# wget https://github.com/chrisallenlane/cheat/raw/master/cheat/autocompletion/cheat.bash
|
||||
# mv cheat.bash /etc/bash_completion.d/
|
||||
|
||||
**NOTE**:团队已经在Git上上传了其他解释器的自动补全脚本,这些都可以被克隆,然后用在不同的解释器上。使用下面的链接,以找到其余解释器的自动补全脚本:
|
||||
|
||||
- [Auto Completion Script for Various Shells][2]
|
||||
|
||||
不仅如此,如果需要的话,你也可以使用语法高亮。要想达到次功能,在你的‘**.bashrc**’文件中添加‘**CHEATCOLORS**’环境变量
|
||||
|
||||
export CHEATCOLOR=true
|
||||
|
||||
Cheat应用默认只提供最基本和最常用的命令。cheat备忘单的内容保存在**~/.cheat/.**目录里,我们可以手动在这个目录添加备忘单里面的内容,这样,我们的cheat应用将更强大
|
||||
|
||||
# cheat -xyz
|
||||
|
||||
这将打开xyz备忘单,如果没有的话就会创建一个。备忘单将使用**.bashrc**里设置的默认**编辑器**打开,默认编辑器就是上面内容所提及到的
|
||||
|
||||
### 一些Cheat命令的使用 ###
|
||||
|
||||
一个包可以是 *.gz , *.bz2 , *.zip , *.xz,可是什么情况下用哪些选项呢?
|
||||
|
||||

|
||||
tar命令选项
|
||||
|
||||
除非在不同的地方咨询和核对后,我才使用**dd**命令,在此之前,无论我对这个命令多么的确定,我从不使用它。现在,事情就变得简单多了
|
||||
|
||||

|
||||
dd命令选项
|
||||
|
||||
‘**uname**’命令帮助
|
||||
|
||||

|
||||
uname命令选择
|
||||
|
||||
一个简短的**ifconfig**命令操作教程
|
||||
|
||||

|
||||
ifconfig命令选项
|
||||
|
||||
‘top‘命令,一个对管理员和正常用户来说,最重要的命令之一
|
||||
|
||||

|
||||
top命令选项
|
||||
|
||||
我们来骗骗cheat命令,如何(尽管别有意义)?得到可用命令的的列表,其实就是安装在你系统里的cheat备忘录
|
||||
|
||||

|
||||
列出所有Linux命令
|
||||
|
||||
使用关键字搜索备忘单
|
||||
|
||||

|
||||
搜索备忘单
|
||||
|
||||
来看看包含所有命令的内置备忘单
|
||||
|
||||
$ cheat -d
|
||||
|
||||
/home/avi/.cheat
|
||||
/usr/local/lib/python2.7/dist-packages/cheat/cheatsheets
|
||||
|
||||
复制内置的备忘单到你的本地目录
|
||||
|
||||
# cp /usr/local/lib/python2.7/dist-packages/cheat/cheatsheets/* /home/avi/.cheat/
|
||||
|
||||
### 结论 ###
|
||||
|
||||
这个有趣的工程在许多情况下担任救世主的角色,它给予你需要的信息,信息不冗余,不模糊,相反地,却击中要点。这是每个人都会需要的工具,很简单就能创建,安装,使用和理解,这个项目前途无量
|
||||
|
||||
这个Git仓库已经添加了一个精彩的**gag**,这里我不打算去解释它,而留给你去解释
|
||||
|
||||

|
||||
Linux Gag
|
||||
|
||||
好了,文章就要结束了,我会带着下一个你们爱读的有趣文章回到这里的,在此之前,时刻关注Tecmint。别忘了在下面的评论部分给我们提供你们有价值的反馈
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/cheat-command-line-cheat-sheet-for-linux-users/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[su-kaiyao](https://github.com/su-kaiyao)
|
||||
校对:[校对者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/install-git-to-create-and-share-your-own-projects-on-github-repository/
|
||||
[2]:https://github.com/chrisallenlane/cheat/tree/master/cheat/autocompletion
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
Linux FAQ -- 如何检查Linux系统的最后重启时间
|
||||
================================================================================
|
||||
> **问题**: 是否有一个命令可以快速地检查系统已经运行了多久? 也就是我怎么知道Linux最后的重启时间?
|
||||
|
||||
There are several ways to find out the last system reboot time,
|
||||
|
||||
### 方法一 ###
|
||||
|
||||
第一种方法是使用last命令
|
||||
|
||||
$ last reboot
|
||||
|
||||

|
||||
|
||||
这条命令实际上显示的是最近几天的系统运行时间。last原本被设计来显示某个特定用户的登录历史。在Linux中,有一个特别的“伪用户”称为reboot会在系统重启的时候立即登录。这样通过检查reboot用户的登录历史,你就可以检查最后的重启时间。
|
||||
|
||||
### 方法二 ###
|
||||
|
||||
另外一个检测系统最后启动时间的方法是使用who命令带上’-b‘选项。
|
||||
|
||||
$ who -b
|
||||
|
||||
### 方法三 ###
|
||||
|
||||
你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间,同样也会显示系统已经运行的时间。从这些信息中,你就可以计算系统最后启动的时间了
|
||||
|
||||
$ uptime
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/check-last-time-system-rebooted-linux.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,50 @@
|
||||
Linux FAQ -- 如何修复“X11 forwarding request failed on channel 0”错误
|
||||
================================================================================
|
||||
> **问题**: 当我尝试使用SSH的X11转发选项连接到远程主机时, 我在登录时遇到了一个 "X11 forwarding request failed on channel 0" (X11 转发请求在通道0上失败)的错误。 我为什么会遇到这个错误,并且该如何修复它
|
||||
|
||||

|
||||
|
||||
首先,我们假设你已经正确启用了[SSH的X11转发][1]。
|
||||
|
||||
如果你在登录时遇到"X11 forwarding request failed on channel 0" (X11 转发请求在通道0上失败),这里可能有不同的原因,解决的方法也不同。
|
||||
|
||||
### 方案一 ###
|
||||
|
||||
出于安全原因,OpenSSH服务默认将X11转发请求绑定到本地回环地址上,并且在DISPLAY环境变量中将主机名设置为“localhost”。在这样的设定下,一些
|
||||
X11客户端不能正确处理X11转发,这会导致报告中的错误。要解决这个问题,在/etc/ssh/sshd配置文件中加入下面这几行,它可以将X11转发请求绑定到外网卡地址上。
|
||||
|
||||
$ sudo vi /etc/ssh/sshd_config
|
||||
|
||||
----------
|
||||
|
||||
X11Forwarding yes
|
||||
X11UseLocalhost no
|
||||
|
||||
重启SSH使设置生效:
|
||||
|
||||
$ sudo /etc/init.d/ssh restart (Debian 6, Ubuntu or Linux Mint)
|
||||
$ sudo systemctl restart ssh.service (Debian 7, CentOS/RHEL 7, Fedora)
|
||||
$ sudo service sshd restart (CentOS/RHEL 6)
|
||||
|
||||
### 方案而 ###
|
||||
|
||||
如果远程主机的SSH服务禁止了IPv6,那么X11转发失败的错误也有可能发生。要解决这个情况下的错误。打开/etc/ssh/sshd配置文件,打开"AddressFamily all" (如果有的话)的注释。接着加入下面这行。这会强制SSH服务只使用IPv4而不是IPv6。
|
||||
|
||||
$ sudo vi /etc/ssh/sshd_config
|
||||
|
||||
----------
|
||||
|
||||
AddressFamily inet
|
||||
|
||||
再说一次,重启SSH服务来完成设置
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/fix-broken-x11-forwarding-ssh.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2012/11/how-to-enable-x11-forwarding-using-ssh.html
|
||||
@@ -0,0 +1,42 @@
|
||||
Linux FAQ -- 如何在VMware ESXi虚拟机上设置静态MAC地址。
|
||||
================================================================================
|
||||
> **问题**:我想给VMware ESXi上的一台虚拟机分配一个静态的MAC地址。然而当我开始这么做的时候,虚拟机就不能启动了不且抛出了一个这样一个错误"00:0c:29:1f:4a:ab is not an allowed static Ethernet address. It conflicts with VMware reserved MACs"(00:0c:29:1f:4a:ab不是一个合法的静态以太网地址。它与VMWare的保留MAC地址冲突)。我该如何在VMware ESXi虚拟机上设置静态MAC地址?
|
||||
|
||||
当你在VMware ESXi上创建虚拟机时,虚拟机的每个网络接口就被分配了一个动态的NAC地址。如果你想要改变默认的行为并给你的虚拟机分配一个静态MAC地址时就这样做
|
||||
|
||||

|
||||
|
||||
如你上图所见,VMWare的vSphere的GUI客户端已经有一个为虚拟机分配静态MAC地址的菜单。然而,基于GUI的方法只允许你在**00:50:56:xx:xx:xx**的范围里选择一个静态MAC地址,这是VMWare保留的MAC地址范围。如果你尝试设置任何超出这个范围的MAC地址,你就会无法启动VM,接着就会看到下面的错误。
|
||||
|
||||

|
||||
|
||||
那么如果我想要给虚拟机设置任意的MAC地址怎么办?
|
||||
|
||||
幸运地,这里有一个对于这个限制的临时方案。方法就是,不使用vSphere GUI客户端编辑。在登录ESXi主机后直接编辑你虚拟机的.vmx文件。
|
||||
|
||||
首先关闭你想要分配静态MAC地址的虚拟机。
|
||||
|
||||
[对你的ESXi主机启用SSH访问][1]如果你还没这么做的话。接着通过SSH登录ESXi主机。
|
||||
|
||||
移到你虚拟机的.vmx文件所在目录。
|
||||
|
||||
# cd vmfs/volumes/datastore1/[name-of-vm]
|
||||
|
||||
用文本编辑器打开.vmx文件,接着在加入下面这几行。把MAC地址替换成你自己的MAC地址。
|
||||
|
||||
ethernet0.addressType = "static"
|
||||
ethernet0.checkMACAddress = "false"
|
||||
ethernet0.address = "00:0c:29:1f:4b:ac"
|
||||
|
||||
现在你应该可以使用你定义在.vmx文件中的静态MAC地址启动虚拟机了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/static-mac-address-vmware-esxi-virtual-machine.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://ask.xmodulo.com/enable-ssh-remote-access-vmware-esxi5.html
|
||||
@@ -1,69 +0,0 @@
|
||||
Linux Systemd —— 在RHEL/CentOS 7中启动/停止/重启服务
|
||||
================================================================================
|
||||
|
||||
RHEL/CentOS 7.0中一个最主要的改变,就是切换到了**systemd**。它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。
|
||||
|
||||
**Systemd**是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑。
|
||||
|
||||
先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中,这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用系统服务,你要使用systemctl来代替旧的service命令。
|
||||
|
||||
> 注:为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。
|
||||
|
||||
### 使用systemctl来启动/停止/重启服务 ###
|
||||
|
||||
要启动一个服务,你需要使用如下命令:
|
||||
|
||||
# systemctl start httpd.service
|
||||
|
||||
这会启动httpd服务,就我们而言,Apache HTTP服务器。
|
||||
|
||||
要停掉它,需要以root身份使用该命令:
|
||||
|
||||
# systemctl stop httpd.service
|
||||
|
||||
要重启,你可以使用restart选项,如果服务在运行中,它将重启服务;如果服务不在运行中,它将会启动。你也可以使用try-start选项,它只会在服务已经在运行中的时候重启服务。同时,reload选项你也可以有,它会重新加载配置文件。
|
||||
|
||||
# systemctl restart httpd.service
|
||||
# systemctl try-restart httpd.service
|
||||
# systemctl reload httpd.service
|
||||
|
||||
我们例子中的命令看起来会像下面这样:
|
||||
|
||||

|
||||
|
||||
### 检查服务状态 ###
|
||||
|
||||
要检查服务状态,你可以使用status选项,看这里:
|
||||
|
||||
# systemctl status httpd.service
|
||||
|
||||
输出结果就像这样:
|
||||
|
||||

|
||||
|
||||
它会告诉你运行中的服务的方方面面。
|
||||
|
||||
### 使用启用/禁用服务来控制开机启动 ###
|
||||
|
||||
你也可以使用enable/disable选项来控制一个服务是否开机启动,命令如下:
|
||||
|
||||
# systemctl enable httpd.service
|
||||
# systemctl disable httpd.service
|
||||
|
||||
输出结果看这里:
|
||||
|
||||

|
||||
|
||||
虽然在过去的几年中,对systemd的采用饱受争议,然而大多数主流发行版都已经逐渐采用或打算在下一个发行版中采用它。所以,它是一个有用的工具,我们需要好好熟悉它。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/start-stop-services-systemd/
|
||||
|
||||
作者:[Adrian Dinu][a]
|
||||
译者:[GOLinux](https://github.com/GOLinux)
|
||||
校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/adriand/
|
||||
@@ -0,0 +1,49 @@
|
||||
Linux FAQ -- 如何在CentOS或者RHEL上启用Nux Dextop仓库
|
||||
================================================================================
|
||||
> **问题**: 我想要安装一个在Nux Dextop仓库的RPM包。我该如何在CentOS或者RHEL上设置Nux Dextop仓库?
|
||||
|
||||
[Nux Dextop][1]是一个面对CentOS、RHEL、ScientificLinux的含有许多流行的桌面和多媒体相关的包的第三方RPM仓库(比如:Ardour,Shutter等等)。目前,Nux Dextop桌面对CentOS和RHEL 6/7可用。
|
||||
|
||||
要在CentOS或者RHEL上启用Nux Dextop,遵循下面的步骤。
|
||||
|
||||
首先,要理解Nux Dextop被设计与EPEL仓库共存。因此,你需要使用Nux Dexyop仓库前先[启用 EPEL][2]。
|
||||
|
||||
启用EPEL后,用下面的命令安装Nux Dextop仓库。
|
||||
|
||||
在 CentOS/RHEL 6.* 上:
|
||||
|
||||
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
|
||||
|
||||
在 CentOS/RHEL 7 上 :
|
||||
|
||||
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
|
||||
|
||||
现在验证Nux Dextop仓库是否已经成功安装:
|
||||
|
||||
$ yum repolist
|
||||
|
||||

|
||||
|
||||
### 对于 Repoforge/RPMforge 用户 ###
|
||||
|
||||
据作者所说,Nux Dextop目前所知会与其他第三方库比如Repoforge和ATrpms相冲突。因此,如果你启用了除了EPEL的其他第三方库,强烈建议你将Nux Dextop仓库设置成“default off”(默认关闭)状态。就是用文本编辑器打开/etc/yum.repos.d/nux-dextop.repo,并且在nux-desktop下面将"enabled=1" 改成 "enabled=0"。
|
||||
|
||||
$ sudo vi /etc/yum.repos.d/nux-dextop.repo
|
||||
|
||||

|
||||
|
||||
当你无论何时从Nux Dextop仓库安装包时,显式地用下面的命令启用仓库。
|
||||
|
||||
$ sudo yum --enablerepo=nux-dextop install <package-name>
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/enable-nux-dextop-repository-centos-rhel.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://li.nux.ro/download/nux/dextop/
|
||||
[2]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
@@ -0,0 +1,173 @@
|
||||
Linux终端的乐趣之把玩Word Counts
|
||||
================================================================================
|
||||
Linux 命令行有很多的乐趣,我们可以很容易并且完善地执行很多繁琐的任务。比如,我们计算一个文本文件中字和字符的出现频率,则是我们打算在这篇文章中讲到的。
|
||||
|
||||
立刻来到我们脑海的命令,计算字和字符在一个文本文件中出现频率的 Linux 命令是 [wc 命令] [1]。
|
||||
|
||||

|
||||
|
||||
在使用的脚本来分析文本文件之前,我们必须有一个文本文件。为了保持一致性,我们将创建一个文本文件,man命令的输出如下所述。
|
||||
|
||||
$ man man > man.txt
|
||||
|
||||
以上命令是将man命令的使用方式导入到**man.txt**文件里。
|
||||
|
||||
我们希望能得到最平常的单词,对之前我们新建的文件执行如下脚本。
|
||||
|
||||
$ cat man.txt | tr ' ' '\012' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
7557
|
||||
262 the
|
||||
163 to
|
||||
112 is
|
||||
112 a
|
||||
78 of
|
||||
78 manual
|
||||
76 and
|
||||
64 if
|
||||
63 be
|
||||
|
||||
上面的脚本,输出了最常使用的十个单词。
|
||||
|
||||
如何看单个的字母呢?那就用如下的命令。
|
||||
|
||||
$ echo 'tecmint team' | fold -w1
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
t
|
||||
e
|
||||
c
|
||||
m
|
||||
i
|
||||
n
|
||||
t
|
||||
t
|
||||
e
|
||||
a
|
||||
m
|
||||
|
||||
**Note**: `-w1`只是设定了长度
|
||||
|
||||
现在我们将从那个文本文件中掰下来的每一个字母,对结果进行排序,得到所需的输出频率的十个最常见的字符。
|
||||
|
||||
$ fold -w1 < man.txt | sort | uniq -c | sort -rn | head
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
8579
|
||||
2413 e
|
||||
1987 a
|
||||
1875 t
|
||||
1644 i
|
||||
1553 n
|
||||
1522 o
|
||||
1514 s
|
||||
1224 r
|
||||
1021 l
|
||||
|
||||
如何区分大小写呢?之前我们都是乎略大小写的。所以,用如下命令。
|
||||
|
||||
$ fold -w1 < man.txt | sort | tr '[:lower:]' '[:upper:]' | uniq -c | sort -rn | head -20
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
11636
|
||||
2504 E
|
||||
2079 A
|
||||
2005 T
|
||||
1729 I
|
||||
1645 N
|
||||
1632 S
|
||||
1580 o
|
||||
1269 R
|
||||
1055 L
|
||||
836 H
|
||||
791 P
|
||||
766 D
|
||||
753 C
|
||||
725 M
|
||||
690 U
|
||||
605 F
|
||||
504 G
|
||||
352 Y
|
||||
344 .
|
||||
|
||||
请检查上面的输出,标点符号居然包括在内。让我们干掉他,用**tr** 命令。GO:
|
||||
|
||||
$ fold -w1 < man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
11636
|
||||
2504 E
|
||||
2079 A
|
||||
2005 T
|
||||
1729 I
|
||||
1645 N
|
||||
1632 S
|
||||
1580 O
|
||||
1550
|
||||
1269 R
|
||||
1055 L
|
||||
836 H
|
||||
791 P
|
||||
766 D
|
||||
753 C
|
||||
725 M
|
||||
690 U
|
||||
605 F
|
||||
504 G
|
||||
352 Y
|
||||
|
||||
现在,我们有了三个文本,那就让我们用如下命令查看结果吧。
|
||||
|
||||
$ cat *.txt | fold -w1 | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -8
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
11636
|
||||
2504 E
|
||||
2079 A
|
||||
2005 T
|
||||
1729 I
|
||||
1645 N
|
||||
1632 S
|
||||
1580 O
|
||||
|
||||
下一步我们将会生成那些罕见的至少十个字母长的单词。以下是简单的脚本:
|
||||
|
||||
$ cat man.txt | tr '' '\012' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | tr -d '[0-9]' | sort | uniq -c | sort -n | grep -E '..................' | head
|
||||
|
||||
### Sample Output ###
|
||||
|
||||
1 ──────────────────────────────────────────
|
||||
1 a all
|
||||
1 abc any or all arguments within are optional
|
||||
1 able see setlocale for precise details
|
||||
1 ab options delimited by cannot be used together
|
||||
1 achieved by using the less environment variable
|
||||
1 a child process returned a nonzero exit status
|
||||
1 act as if this option was supplied using the name as a filename
|
||||
1 activate local mode format and display local manual files
|
||||
1 acute accent
|
||||
|
||||
**Note**: 上面的.越来越多,其实,我们可以使用.{10} 得到同样的效果。
|
||||
|
||||
这些简单的脚本,让我们知道最频繁出现的单词和英语中的字符。
|
||||
|
||||
这就是现在。我会在这里再一次提到另一个有趣的话题,你应该会喜欢读。还有别忘了向我们提供您的宝贵意见的评论部分。
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/play-with-word-and-character-counts-in-linux/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[MikeCoder](https://github.com/MikeCoder)
|
||||
校对:[校对者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/wc-command-examples/
|
||||
@@ -1,136 +0,0 @@
|
||||
如何在Linux命令行下收听网络电台
|
||||
========================================================================
|
||||
对于系统管理员和Linux爱好者来说,我们花大量的时间在Linux屏幕前,但是你们知道网络/本地电台上的音乐可以极大的提高我们的生产力吗?不管你相信与否,在工作环境中有适当的声音,如音乐或者喋喋不休的声音都可以提高我们的创造力。如果你喜欢在音乐环境中工作,这个教程也许会对你有用。我将会向你展示**如何在命令行中收听潘多拉(Pandora)在线电台**(LCTT译注:Pandora Internet Radio是一个仅为美国、澳大利亚和新西兰提供自动音乐推荐的系统。详细介绍[Prandoea电台][1])
|
||||
|
||||
正如你已经知道的,Pandora是最有名的在线电台服务之一,它包含无数的不同种类的免费音乐流,同时它还有一个强大的音乐推荐引擎。Pandora可以通过不同的方法访问,如:浏览器,桌面客户端或者手机Apps,开源社区还给出了另一种访问Pandora音乐服务的方法:Linux命令行。
|
||||
|
||||
[pianobar][2]是一个播放Pandora在线电台音乐的开源命令行音乐播放器。它有一个简单的人机接口,用于播放和管理音乐电台。同时还有其他包括歌曲评价,即将上线音乐列表,播放历史,自定义快捷键绑定,远程控制等功能。对于那些居住在不可访问Pandora音乐服务区域的用户(即美国、澳大利亚和新西兰以外的用户)。Pianobar还配置了代理服务的支持。
|
||||
|
||||
###在Linux中安装Pianobar###
|
||||
在Debian或者其他Debian的衍生品,如Ubuntu或LinuxMint中,Pianobar是一个已经编译好的软件包,因此安装Pianobar只是简单的输入如下命令:
|
||||
|
||||
$ sudo apt-get install pianobar
|
||||
|
||||
在Fedora中,Pianobar并不包含在基础的软件库中。因此,你需要通过源代码编译安装Pianobar。整个安装过程会有点麻烦,但是下面的教程将会实现Pianobar在Frdora系统中编译安装。该教程在Fedora20版本中测试通过。
|
||||
|
||||
首先,根据[FFmpeg安装教程][3]编译并安装FFmpeg。
|
||||
|
||||
然后,[启用RPM Fusion源][4],并安装其他依赖软件:
|
||||
|
||||
$ sudo yum install wget gcc-c++ pkgconfig gnutls-devel json-c-devel libgcrypt-devel make libao-devel faad2-devel libmad-devel libao faad2-libs
|
||||
|
||||
编译并安装Pianobar
|
||||
|
||||
$ wget http://6xq.net/projects/pianobar/pianobar-2014.06.08.tar.bz2
|
||||
$ tar xvfvj pianobar-2014.06.08.tar.bz2
|
||||
$ cd pianobar-2014.06.08
|
||||
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH make
|
||||
$ sudo make install
|
||||
|
||||
最后允许Paniobar加载安装在/usr/local/lib目录下的FFmpeg共享库,在/etc/ld.so.conf配置文件中添加下面一行:
|
||||
|
||||
>/usr/local/lib
|
||||
|
||||
重载所有的共享库
|
||||
|
||||
就这样,Pianobar已经在Fedora系统中安装完成。
|
||||
|
||||
###在命令行中收听Pandora音乐###
|
||||
|
||||
paniobar的基本用法是输入如下命令:
|
||||
|
||||
> $ pianobar
|
||||
|
||||
该命令将会要求你登录到Pandora并从你的个性化电台列表中选择要收听的电台。在你选择电台后,音乐就开始自动播放。
|
||||
|
||||

|
||||
|
||||
按‘?’按键pianobar会列出一系列可用个命令,其中一些如下:
|
||||
>- s: 更换电台
|
||||
- u: 查看即将上线音乐列表
|
||||
- h: 查看播放历史
|
||||
- n: 播放下一首
|
||||
- b: 收藏歌曲或艺术家
|
||||
- ( 或者 ): 减少或增加播放音量
|
||||
- S: 暂停播放
|
||||
- P: 恢复播放
|
||||
- V:为当前收听的歌曲或者艺术家创建一个电台
|
||||
- +或者-:查看上一首或者下一首歌曲
|
||||
- a:添加音乐到电台
|
||||
- q:退出pianobar
|
||||
|
||||

|
||||
|
||||
###将Pianobar配置为自动登录###
|
||||
你可以再一个单独的配置文件中配置Pianobar的各项默认配置。例如:你可以将你的登录信息配置到配置文件中,这样你就不用每次都要手动输入。下面是如何创建一个配置文件的示例:
|
||||
|
||||
> $ mkdir -p ~/.config/pianobar
|
||||
|
||||
----------
|
||||
|
||||
> $ vi ~/.config/pianobar/config
|
||||
|
||||
----------
|
||||
|
||||
> # Example pianobar configuration file
|
||||
>
|
||||
> # Pandora login info
|
||||
user = your@email_address
|
||||
password = plaintext_password
|
||||
>
|
||||
> # Users who cannot access Pandora in their region can set a proxy.
|
||||
control_proxy = http://user:password@host:port/
|
||||
>
|
||||
> # Initial volume in dB: between -30 and +5
|
||||
volume = 0
|
||||
>
|
||||
> # Audio quality: high, medium or low
|
||||
audio_quality = high
|
||||
|
||||
如需了解完整的配置选项,请参阅其man手册页。
|
||||
|
||||
$ man pianobar
|
||||
|
||||
###远程控制Pianobar###
|
||||
|
||||
Pianobar的另一个优秀的特性是支持远程控制,你可以通过命令管道(FIFO)为Pianobar的一个运行实例发送命令。下面是远程控制Pianobar的示例:
|
||||
|
||||
首先在目录~/.config/pianobar下创建一个FIFO命令管道
|
||||
|
||||
> $ mkfifo ~/.config/pianobar/ctl
|
||||
|
||||
然后运行Pianobar
|
||||
|
||||
现在,你可以通过使用echo命令发送任何的单字符命令键到Pianobar中,例如:播放下一首歌曲:
|
||||
|
||||
> $ echo -n 'n' > ~/.config/pianobar/ctl
|
||||
|
||||
你可以很容易的将此配置扩展到远程计算机中,当Pianobar在主机X上运行,你可以从远程主机Y中通过SSH控制Pianobar,如下所示:
|
||||
|
||||
在主机Y中,运行:
|
||||
|
||||
> $ ssh user@host_X "echo -n 'n' > ~/.config/pianobar/ctl"
|
||||
|
||||
当然,你希望为登录到主机X的SSH登录认证[启用秘钥认证][5],这样你就不用每次都输入SSH密码。
|
||||
|
||||
当你想在[树莓PI][6]上设置一个可以远程控制的在线电台播放器时,Pianobar的远程控制特性将会让你非常方便的实现该需求。
|
||||
|
||||
希望你像我一样喜欢Pianobar,若有什么想法,请在评论中告诉我。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/08/listen-to-internet-radio-command-line-linux.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[cvsher](https://github.com/cvsher)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:http://zh.wikipedia.org/wiki/Pandora%E7%94%B5%E5%8F%B0
|
||||
[2]:http://6xq.net/projects/pianobar/
|
||||
[3]:http://ask.xmodulo.com/compile-ffmpeg-centos-fedora-rhel.html
|
||||
[4]:http://xmodulo.com/2013/06/how-to-install-rpm-fusion-on-fedora.html
|
||||
[5]:http://xmodulo.com/2012/04/how-to-enable-ssh-login-without.html
|
||||
[6]:http://xmodulo.com/go/raspberrypi
|
||||
Reference in New Issue
Block a user