2014年10月

Linux的GRUB2启动加载器可以直接从硬盘启动Linux ISO文件,可以启动Live CD的 ISO,而不用烧录到光盘来安装Linux到一个硬盘分区,或从USB驱动启动。

我们在Ubuntu 14.04上实施了该过程——Ubuntu及基于Ubuntu的Linux版本对此支持良好。其它Linux发行版上的工作原理也类似。

获取Linux ISO文件

这一密技需要你的硬盘驱动器上安装有Linux系统,你的计算机必须使用GRUB2启动加载器,这是大多数Linux系统的标准启动加载器。不好意思,你是不能使用Windows启动加载器来直接启动一个Linux ISO文件的。

下载你想要使用的ISO文件,并放到你的Linux分区中。GRUB2应该支持大多数Linux系统的。如果你想要在live环境中使用它们,而不想将它们安装到硬盘驱动器上,请确认你下载的是各个Linux ISO的“live CD”版本。很多基于Linux的可启动工具盘也应该可以工作。

检查ISO文件内容

你可能需要查看ISO文件的内部来知道那些特定的的文件在哪里。例如,你可以通过使用Ubuntu及其它基于GNOME的桌面环境中的归档管理器/文件管理器这些图形化应用程序来打开ISO文件。在Nautilus文件管理器中,右击ISO文件并选择使用归档管理器打开。

找到内核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你会在casper文件夹中找到这些文件——vmlinuz文件是Linux内核,而initrd文件是initrd映像。后面,你需要知道它们在ISO文件中所处的位置。

检查硬盘分区路径

GRUB使用与Linux不同的“设备命名”方式。在Linux系统中,/dev/sda0是硬盘上的第一个分区——a是指第一个硬盘,而0是指第一个分区。在GRUB中,与/dev/sda0相对应的是(hd0,1)。0指第一个硬盘,而1则指它上面的第一个分区。换句话说,在GRUB设备名中,磁盘编号从0开始计数,而分区编号则从1开始计数——是啊,这真是突然令人困惑。例如,(hd3,6)是指第四磁盘上的第六分区。

你可以使用fdisk -l命令来查看该信息。在Ubuntu上,打开终端并运行以下命令:

sudo fdisk -l

你将看到一个Linux设备路径列表,你可以自行将它们转成GRUB设备名。例如,在下面的图片中,我们可以看到有个系统分区是/dev/sda1——那么,对于GRUB而言,它就是(hd0,1)。

创建GRUB2启动条目

添加自定义启动条目的最简单的方式是编辑/etc/grub.d/40\_custom脚本,该文件设计用于用户自行添加启动条目。在编辑该文件后,/etc/defaults/grub文件和/etc/grub.d/脚本的内容将合成创建/boot/grub/grub.cfg文件——你不应该手工编辑这个文件。它被设计为通过你在另外的文件中指定的设置自动生成。

你需要以root特权打开/etc/grub.d/40\_custom文件来编辑。在Ubuntu上,你可以通过打开终端窗口,并运行以下命令来完成:

sudo gedit /etc/grub.d/40_custom

放轻松点,你可以用你喜爱的文本编辑打开该文件。例如,你可以替换命令中“gedit”为“nano”,在Nano文本编辑器中打开它。

除非你已经添加了其它自定义启动条目,否则你应当看到的是一个几乎空的文件。你需要在注释行下添加一个或多个ISO启动部分。

这里为你展示了怎样来从ISO文件启动Ubuntu或基于Ubuntu的发行版,我们在Ubuntu 14.04下作了测试:

menuentry "Ubuntu 14.04 ISO" {
set isofile="/home/name/Downloads/ubuntu-14.04.1-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}

自定义启动条目以包含你期望的菜单的条目名称,并指定计算机上该ISO文件的正确路径,以及包含ISO文件的硬盘和分区设备名。如果vmlinuz和initrd文件的名称或路径不同,请为这些文件指定正确的路径。

(如果你的/home/ 目录是一个分区,请忽略/home部分,像这样:set isofile="/name/Downloads/${isoname}")。

重要说明:不同的Linux版本要求带有不同启动选项的不同的启动条目,GRUB Live ISO多启动项目提供了用于不同Linux发行版的菜单条目的各种不同类型。你应当为你想要启动的ISO文件调整这些示例菜单条目。你也可以仅仅从网页搜索你想要启动的Linux发行版的名称和发行编号,并附带关键词“在GRUB中从ISO启动”,以获取更多信息。

如果你想要添加更多ISO启动选项,请为该文件添加额外部分。

完成后保存文件,返回终端窗口并运行以下命令:

sudo update-grub

再次启动计算机时,你将看到ISO启动条目,你可以选择它来启动ISO文件。在启动时,你可能需要按Shift键来显示GRUB菜单。

如果在尝试启动ISO文件时你看见错误信息或黑屏,那么你的启动条目配置肯定配置错误了。即使ISO文件路径和设备名是正确的,ISO文件上的vmlinuz和initrd文件的路径可能是不正确的,或者你启动Linux系统可能需要不同的选项。


via: http://www.howtogeek.com/196933/how-to-boot-linux-iso-images-directly-from-your-hard-drive/

作者:Chris Hoffman 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux 命令行有很多的乐趣,我们可以很容易并且完善地执行很多繁琐的任务。比如,我们计算一个文本文件中字和字符的出现频率,这就是我们打算在这篇文章中讲到的。

立刻来到我们脑海的命令,计算字和字符在一个文本文件中出现频率的 Linux 命令是 wc 命令

在使用的脚本来分析文本文件之前,我们必须有一个文本文件。为了保持一致性,我们将创建一个文本文件,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

: -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

: 上面的.越来越多,其实,我们可以使用.{10} 得到同样的效果。

这些简单的脚本,让我们知道最频繁出现的单词和英语中的字符。

现在结束了。下次我会在这里讲到另一个有趣的话题,你应该会喜欢读。还有别忘了向我们提供您的宝贵意见。


via: http://www.tecmint.com/play-with-word-and-character-counts-in-linux/

作者:Avishek Kumar 译者:MikeCoder 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

【活动流程】

1:30-2:00 签到

2:00-2:05 开场致辞(Linux中国站长 wxy)

2:05-6:15 主题演讲

  • 2:05-2:35《我的Linux之路》演讲人:HEBLUG发起人/中学地理教师 清风
  • 2:40-3:10《我眼中的社会工程学》演讲人:Linux中国翻译组管理员 tinyeyeser
  • 抽奖活动一
  • 3:20-3:50《高并发场景下的Nginx+Lua实战》演讲人:央视网架构师 李飞
  • 4:00-4:30《一个 Linux 命令行构建的商业模式》演讲人:七牛/《Go 语言程序设计》译者 何李石
  • 抽奖活动二
  • 4:40-5:10《分布式中间件的高性能PHP扩展开发》演讲人:优才网创始人/架构师 伍星
  • 5:15-5:45《CSDN CODE开源平台简介》演讲人:CSDN CODE 王殿进
  • 抽奖活动三

6:00-6:05演讲总结(Linux中国站长 wxy)

如果你是一个游戏玩家同时也是一个Linux用户,你可能很高兴在GOG在几个月前宣布它会在你最喜欢的操作系统上推出游戏。如果你之前从来没有听说过GOG,我鼓励你看看他们的产品目录中的“很棒的老游戏”,价格合理,无DRM限制,而且充满了很棒的东西。虽然Windows上的GOG客户端已经存在了很长的时间,但是官方的Linux版本客户端却是无处可见。因此,如果你不想等待官方的正式版本,一个名为LGOGDownloader非官方的开放源码计划能让你在命令行中访问你的库。

在Linux中安装 LGOGDownloader

对于Ubuntu用户来说,其官方页面建议您下载源代码并执行:

$ sudo apt-get install build-essential libcurl4-openssl-dev liboauth-dev libjsoncpp-dev libhtmlcxx-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libboost-date-time-dev libtinyxml-dev librhash-dev help2man
$ tar -xvzf lgogdownloader-2.17.tar.gz
$ cd lgogdownloader-2.17
$ make release
$ sudo make install 

如果你是ArchLinux用户。有一个AUR 包等着你:

LGOGDownloader 的使用

一旦安装了该程序,你需要用下面的命令登录:

$ lgogdownloader --login 

如果你需要配置文件,那它在这里:~/.config/lgogdownloader/config.cfg

验证通过后,你可以列出你库中所有的游戏:

$ lgogdownloader --list 

用下面的命令下载游戏:

$ lgogdownloader --download --game [game name] 

你可以注意到lgogdownloader允许你恢复之前中断的下载,这当下载的游戏并不小时是很有用的。

像每一个可敬的命令行实用程序,您可以添加各种选项:

  • --platform [number] 选择您的操作系统,1是 Windows, 4是Linux。
  • --directory [destination] 下载安装包到指定的目录。
  • --language [number] 下载特定的语言包 (根据你的语言查阅手册上对应的数字)。
  • --limit-rate [speed] 限制下载速度。

一个额外的福利,lgogdownloader同样可以检查GOG网站上的更新:

$ lgogdownloader --update-check 

结果将列出论坛上收到的私人邮件的数量以及更新的游戏数量。

最后,lgogdownloader是非常标准的命令行实用工具。我甚至可以说,它是清晰和连贯性的一个缩影。我们距离Steam Linux客户端的确还差的很远,但在另一方面,官方GOG Windows客户端不会做的比这个非官方的Linux版本更多。换句话说lgogdownloader是一个完美的替代品。我等不及要看到GOG上更多的Linux兼容游戏,尤其是在他们最近公告称会提供的无DRM电影,会有视频游戏的专题。希望在电影目录中有游戏库时能在客户端看到更新。

你觉得GOG怎么样?你会使用非官方的Linux客户端么?让我们在评论中知道你的想法。


via: http://xmodulo.com/2014/09/download-gog-games-command-line-linux.html

作者:Adrien Brochard 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Android, Chrome, Ubuntu

Google最近发布了首批能在Chrome OS本地运行的安卓应用集,通过‘安卓运行时’扩展完成了该壮举。

现在,一位开发者已经指明了将安卓应用带入桌面版Chrome的路

弗拉德·菲利波夫chromeos-apk脚本ARChon安卓运行时扩展手拉手一起开展工作,将安卓应用带进了Windows,Mac和Linux桌面上的Chrome中。

IMDB, Flipboard and Twitter Android Apps running on Ubuntu 14.04 LTS

运行在Ubuntu 14.04 LTS上的安卓应用:IMDB,Flipboard和Twitter

通过‘安卓运行时’运行的应用的性能不是很令人惊异,任何想要运行Dead Trigger 2或者其它图形密集型游戏的雄心壮志可以放到一边了。

同样地,要运行官方的‘安卓运行时’的非官方重构包,或者在Chrome OS之外运行的话,其系统完整性(如网络摄像头,扬声器等)可能不完整或者根本不可能。

按照下面的指南一步步来,并不保证一定成功。它只能作为高度实验性进行,里面遍布漏洞,很不稳定——甚至白日见鬼。只能出于好奇而尝试,不要高度寄予厚望,这样你就不会深受其困扰。

安卓应用转战Linux大法

要通过Chrome在Linux上运行安卓应用,很明显,你需要安装Chrome,要求的版本是37,或者更高。坦率地讲,如果你打算玩玩不稳定的Chrome版本,那么你也可以下载并为Linux安装

如果已经安装了Chrome的某个版本?你可以通过命令行来安装不稳定版,命令如下:

sudo apt-get install google-chrome-unstable

有了 Chrome 之后,你需要下载定制版的‘安卓运行时’扩展,而不是Google或Chronium提供的版本——由弗拉德·菲利波夫创建的‘安卓运行时’。这个版本和官方的有着诸多的不同,最突出的不同就是它可以运行在桌面版的浏览器上。

下载好‘安卓运行时’扩展后,你需要从.zip解压内容,并移动解压后的文件夹到你的Home文件夹。

要安装它,打开Google Chrome,点击汉堡式菜单按钮,然后导航到扩展页。检查‘启用开发者模式’并点击‘加载解包的扩展’按钮。

‘安卓运行时’扩展本身不会做太多事情,所以你需要从安卓应用创建兼容包。要完成这项工作,你需要‘chromeos-apk命令行Javascript工具,它可以从“Node 封装模块管理器(npm )”安装。

首先运行:

sudo apt-get install npm nodejs nodejs-legacy

Ubuntu 64位用户?你还需要获取以下库:

sudo apt-get install lib32stdc++6

现在,运行npm命令来安装该脚本吧:

npm install -g chromeos-apk

根据你的配置,你可能需要过会儿使用sudo来运行。如果你不喜欢通过sudo安装npm模块,你可以试着骗过它。

现在,搞定了。去Google找找你想要试试的应用的APK吧,请牢记不是所有的安卓应用都会工作,而那些可以工作的也未必工作得很好,或者缺少功能。

把你想要的安卓APK放到~/Home,然后回到终端中使用以下命令来转换,你可以将APK命名成任何你想要的名字:

chromeos-apk replaceme.apk --archon

该命令将花一点时间来完成这项工作,也许也就是一眨眼的时间。实际上,不需要眨眼的时间

现在,在你的Home文件夹内有个ARChon生成的Chrome APK extension-y folder-y这样的东西。所有剩下来要做的事,就是安装并查看它是否正常工作!

回到chrome://extensions页面,再次轻敲‘加载解封装扩展’按钮,但这次选择上面脚本创建出来的文件夹。

应用应该会正确安装,但是它确实会没有问题吗?打开Chrome应用启动器或应用页面并启动它来看看是否有问题。

深度探索

由于ARChon运行时支持不限数量的chrome化的APK,你可以反复进行该操作,你想做多少次都行。Chrome APK subreddit用于跟踪成功/失败情况,所以如果你感到很有用,一定要贴出你的结果。


via: http://www.omgubuntu.co.uk/2014/09/install-android-apps-ubuntu-archon

作者:Joey-Elijah Sneddon 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如果,你像我这样,是个对统计数据有着狂热癖好的人,那么你必须在你的计算机上安装这个小应用:WhatPulse

此软件会追踪用户的击键、鼠标点击以及使用的带宽和系统开机时间。用户可以周期性地,或者手动上传击键的数量到服务器上,这称之为“脉动”。

用户可以看到他们在所有加入该程序的人的领先选手排行板的所处位置,并且与他们自己国家的人作比较。用户也可以加入团队,在团队中他们可以和有着相同爱好的人作对比(去吧,Linux用户们!!)。

软件分为免费的基础版和高级版,在基础版中你可以查看并检查所有的基本统计数据,而在高级版中你可以看到更多。

该软件可用于Linux,Windows和Mac。

在线注册

第一步,你必须在WhatPulse网站注册帐号,或者也可以在你第一次启动WhatPulse客户端时出现的实用向导中创建帐号,以用于上传自己的统计数据(你也可以使用Facebook的帐号登录)。

你会被提示需要登录,登录之后,你必须找到你的计算机名,这是因为你可以通过该帐号登录到多台计算机,而它们的数据都会上传到同一统计帐号。一旦你登入后,一个小小的W将出现在你的系统托盘中,那就对了,你已搞定!

在Linux上安装WhatPulse

官方网站在下载页提供了一个通用版本的.tar.gz归档压缩包(用于32位和64位)和一个debian包。

就我个人而言,我已经在我的Mint Qiana上安装了debian包,在我的Arch LinuxAur包一点问题都没有。

如果你想要使用通用版本安装,请记住:WhatPulse需要几个库文件。最主要的是QT,因为WhatPulse构建于QT平台。下面列出了软件安装需求:

  • libQtCore
  • libQtWebKit
  • libqt4-sql
  • libqt4-sql-sqlite
  • openssl-devel (libssl-dev)
  • libQtScript

输入统计数据

客户端需要设置相应的权限,以读取键盘/鼠标输入。运行包含的交互脚本.sh来设置这些权限。

网络统计数据

要启用网络测量,你也需要libpcap包来允许WhatPulse挂钩到网络通信。如果WhatPulse找不到libpcap,它会运行,但不会显示任何网络统计数据。

使用应用程序

默认情况下,WhatPulse会在登入图形会话后自动启动。点击系统托盘上的W图标,你将进入总览标签页,这里显示你机器上收集到的所有不同信息的鸟瞰图。例如,安装在你PC上的Linux版本、处理器型号、RAM、GPU、总点击次数、击键和带宽使用。点击这些信息下面的‘Pulse’,它将会上传这些收集到的数据到主服务器上。

也可以选择自动‘Pulse’数据到服务器的时间,如每50.000点击,或者1GB下载量。

要了解深度详情,你可以切换到每个类目的附属标签。例如,Input标签展示给你的是注册后一段时间内的击键的数量和点击次数。时间周期分为每日、每周、每月、每年以及全时。‘all’设置将显示程序安装以来的数据。

在击键下面,你会找到键盘点击热图,它简单地使用冷暖色显示选定周期内各个键的使用状况,如上述截图所示。在图的下面,应用显示了选定周期内记录的点击总量。

在Network标签下,可以查看到日常互联网使用情况。应用程序可以监控所有网络设备的带宽使用量,甚至也可以给你展示按国家分布的带宽使用情况。再次提醒,你可以使用顶部右边的箭头按钮浏览可用的数据。

在网站上,你会看到与客户端上相同的所有统计数据。

免责声明:上面的WhatPulse网站链接包含了我的参考链接,注册时可以使用该链接,这会让我的帐号在某天升级到高级帐号。


via: http://linuxaria.com/recensioni/check-how-much-do-you-type-with-whatpulse-on-linux

作者:linuxari 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出