linux中国_ 发布的文章

当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切。这些记录可以用来当作史料,保存终端所发生的一切。比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生的一切。要实现这个目标,你可以使用script命令。

script是什么

scirpt就是一个命令,可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。

怎么用

默认情况下,我们可以通过在终端中输入script来启动scirpt命令。

pungki@dev-machine:~$ script
Script started, file is typescript
pungki@dev-machine:~$

你也可以指定目标文件名来记录打印结果。

pungki@dev-machine:~$ script myfile

Define script file

当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。

你会看到当前目录,有个名为myscript的文件。(LCTT译注,此处原文有误。这里指定了记录文件名为myfile,而不是默认的 typescript。)

为什么我们要用script命令

因为在之前已经提到过,script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景。

和同事共事时

当和同事一起工作时,我们可以通过script来记录你的活动。

比如,我们会使用名为collaborate的打印文件,来完成打印:

$ script collaborate

Create collaborate file

然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。

如果他想要更新该文件(以增加他的工作部分),可以使用-a选项。

$ script -a collaborate

Append the file

记录某人在终端中的所作所为

你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。如果你正在使用bash shell,把这一行加进你的bash环境配置文件中。

$ vi ~/.profile

# run the script command to record everything
# use -q for quite and -a option to append the script
#
/usr/bin/script -qa /usr/local/script/log_record_script

Add script to bash profile

然后保存。下次他登录进你的系统时,script命令就会自动运行,并把日志记录进/usr/local/script/logrecordscript

Script without notification

-q选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了。而-a选项将会让记录附加到文件中,而不会擦除先前的记录。

如果不使用-q选项,那么当用户登录进来时,他会收到像下图中这样的通知。

Script with notification

退出记录

要退出记录活动,我们可以在终端中按下Ctrl+D,或者输入exit。在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变。

结尾

Script命令在你需要记录或者存档终端活动时可能很有用,记录文件会存储为文本文件,所以可以很方便地用文本编辑器打开。跟平常一样,我们都可以通过输入man script或者scirpt -h来显示帮助页并查看更多详细用法。


via: http://linoxide.com/linux-command/script-command-recorder/

译者:GOLinux 校对:wxy

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

Canonical宣布存在于Ubuntu 14.04 LTS,Ubuntu 13.10,Ubuntu 12.10,Ubuntu 12.04 LTS以及Ubuntu 10.04 LTS操作系统中的dpkg漏洞已经被修复。

Canonical公司刚刚放出dpkg包的一个更新,修复了这个用于所有Ubuntu版本的重要软件中的一个问题。

“我们发现这个问题出现在dpkg在解压源码包的时候,它会使dpkg不能正确地处理某些补丁。如果一位用户或一个自动化系统被欺骗而解压了特别修改过的源码包,远程攻击者就能修改目标解压路径之外的文件,导致拒绝服务攻击或潜在的获取系统权限的风险。”安全通知中这样写道。

想了解这个问题的更多细节描述,你可以查看Canonical的安全通知。Canonical建议用户尽快升级自己的系统。

如果你将各个发行版系统的libdpkg-perl包升级到最新版本即可修复这个漏洞。要安装这个更新,你只需运行更新管理器/软件更新器即可。

一般来说,一个普通的系统更新就可以完成所有必需的改动,用户不必重启PC或笔记本来应用这个补丁。这个更新同样可以在终端中实现,只需使用 apt-get dist-upgrade 命令。


via: http://news.softpedia.com/news/Dpkg-Vulnerabilities-Closed-in-Ubuntu-14-04-446282.shtml

译者:alim0x 校对:wxy

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

通常,网络或系统管理员有责任来管理其所管理的网络下的一个或多个子网。例如,当一个网段分配了/24子网,那么该子网就有254个IP地址可以用于不同用途。要跟踪某个IP被分配到了哪个主机,就需要通过某种方式记录下来。最简单的方法,就是使用一个电子表格,如Excel来记录IP地址的分配信息。此方法对于只有一个管理员,并且网络很小的情况下比较奏效。然而,对于多个大型网络而言,依赖于电子表格并不方便,而且十分容易出错。更糟糕的是,如果有多个管理员参与管理,更新电子表格就十分麻烦了,因为每个管理员可能生成各种不同版本的文档记录。

一种系统地管理IP地址分配的方式是使用网络化的IP地址管理工具。不仅仅是因为网络化管理工具能在任何地方访问并管理,而且其后端数据库也能保证所有更新能正确同步并实时生效。尽管有许多可用的网络化应用工具,但我们将在此教程中关注如何来安装phpIPAM(IP Address Manager IP地址管理工具)。phpIPAM是一个开源、高效的IP地址管理应用软件,有着以下一些特性。

  • 同时支持IPv4和IPv6(和其它工具不同,它对IPv6支持得很好)
  • 内建的IPv4和IPv6计算器
  • 支持无类域间路由(CIDR)标记
  • 支持MySQL数据库
  • 子网嵌套
  • 基于用户/组权限
  • 可视化报表工具
  • 使用.xls文件导入/导出
  • 支持设备、VRF和VLAN
  • 强大的搜索引擎
  • 电子邮件标记
  • 支持基于AD/LDAP的验证

可访问http://demo.phpipam.net查看phpIPAM演示网站。

在本教程中,我们将在Ubuntu环境中使用Apache来配置phpIPAM

在Ubuntu上安装phpIPAM

首先,使用apt-get来安装需要的软件包。

# apt-get install apache2 mysql-server php5 php5-gmp php-pear php5-mysql php5-ldap wget

如果MySQL是首次安装,请使用以下命令来设置root密码。

# mysqladmin -u root password NEWPASSWORD 

phpIPAM可以安装在任何Web服务器目录中,我们将会安装到Apache Web服务器的根目录下的/phpipam/子目录中。

下载phpIPAM软件包。

# wget http://kent.dl.sourceforge.net/project/phpipam/phpipam-1.0.tar

将软件包解压到Web服务器相应目录。

# cp phpipam-1.0.tar /var/www/
# cp /var/www/
# tar xvf phpipam-1.0.tar
# rm phpipam-1.0.tar 

现在来指定MySQL的用户名和密码,同时指定基准目录。

# vim /var/www/phpipam/config.php 

$db['host'] = "localhost";

## MySQL user for ipam ##
$db['user'] = "phpipam";

## password for the MySQL user ##
$db['pass'] = "phpipamadmin";

## database for MySQL ##
$db['name'] = "phpipam";

## base directory ##
define('BASE', "/phpipam/");

需要在提供的.htaccess文件中指定基准目录。

# vim /var/www/phpipam/.htaccess 
RewriteBase /phpipam/

准备Apache Web服务器

phpIPAM的运行需要Apache 的 Rewrite模块,该模块可以在Ubuntu或Debian机器上使用以下命令来启用。

# a2enmod rewrite 

接下来,需要修改Apache的默认配置。请添加/修改你的配置,使它看起来像下面这样。

# vim /etc/apache2/sites-enabled/000-default 
<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
</Directory>

最后,重启Apache Web服务。

# service apache2 restart 

完成安装

我们可以使用浏览器来完成phpIPAM的安装。将浏览器地址指向URL: http:///phpIPAM,将会显示以下phpIPAM安装页面。我们可以开始自动化数据库安装。

现在,phpIPAM应该已经起来,并正在运行了,我们可以使用以下默认用户来登录。

  • URL: http:///phpipam
  • User: Admin
  • Pass: ipamadmin

使用phpIPAM管理IP地址

在本教程的剩下部分,我们将引领你进入phpIPAM的子网和IP地址管理。

创建区域

让我们从为我们的网络创建区域开始吧。点击“管理” > “区域”。

点击“添加区域”。现在我们可以为我们的添加的区域取个你想要的名称了(如:"Our Network"),填上区域的详细情况。

]3

创建子网

接下来,在上面场景的区域“Our Network”下添加一个新的子网172.16.1.0/24。点击“Our Network” > “添加子网”

现在,我们可以很容易地在子网中添加IP地址了。一种方法是逐个来添加它们,phpIPAM提供了一个可选的方法:扫描所有主机并自动添加,这一点都不麻烦。它可以扫描位于同一广播域下的本地子网,也可以通过路由扫描到远程子网。在选择一个子网后,像下面这样点击“扫描子网中的新主机”来扫描IP地址。

]4

在扫描完成后,发现的IP地址可以通过点击底部“添加发现的主机”按钮来将IP地址添加到数据库。

创建IPv6子网

可以通过相似的步骤来创建IPv6子网,像下面截图中展示的那样来指定IPv6网络。

所有用于IPv4的工具也可以用于IPv6.

创建嵌套子网

phpIPAM也提供了创建嵌套子网的选项,可以用于IPv4和IPv6。例如,我们将172.16.1.0/24 IP区块划分成4个更小的子网(/26),每个子网用于组织内特定的部门。在选择/24子网后,我们可以使用“添加新的嵌套子网”按钮来创建嵌套子网。截图中展示了添加嵌套子网的图标。

5

在所有的子网创建完毕后,我们应该有相同的输出。以下是嵌套子网预览窗口。

6

添加用户和组

首先,我们将为区域“Our Network”创建一个具有读/写权限的组。这项工作可以通过选择“管理” > “组” > “创建组”来完成。

既然组已经被创建完成,那么我们来修改区域权限,选择“管理” > “区域”,然后编辑区域。

7

我们将创建一个名为“user1”的用户,添加该用户到“演示组”,以便该用户能从该组集成有所必要的权限。我们从点击“管理” > “用户” > “创建用户”开始。

现在,我们能以该用户身份登录,并添加/修改“我们的网络”下的IP地址。

最后小结,phpIPAM是一个多样化的IP地址管理工具,可以用于IPv4和IPv6。本教程仅关注基本内容,以帮助你开始使用该工具。你一定要测试所有可用的特性,如使用IP地址计算器,添加设备,VLAN和VRF,以及使用.xls导入/导出。

希望本教程对你有所帮助。


via: http://xmodulo.com/2014/05/manage-ip-addresses-subnets-phpipam.html

译者:GOLinux 校对:wxy

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

Linux 和 BSD 都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直就像是一个操作系统,那么,它们有什么不同吗?

其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。

基础

许多人所称的“Linux”实际上不是 Linux。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是为什么 Linux 有时被称为 GNU/Linux。事实上,许多在 Linux 上使用的软件同样也在 BSD 上使用。

Linux 和 BSD 都是类 UNIX 操作系统。我们可以通过阅读类 UNIX 操作系统历史发现 Linux 和 BSD 有不同的谱系。Linux 是由 Linus Torvalds 在芬兰上大学的时候开发的。BSD 则代表“Berkeley Software Distribution,伯克利软件套件”,其源于对加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改,它最终发展成一个完整的操作系统,现在有多个不同的BSD分支。

内核 vs. 完整操作系统

严格的说,Linux 是只是一个内核。制作 Linux 发行版所要做的工作就是,汇集那些创建一个完整 Linux 操作系统所需的所有软件,将它组合成一个像 Ubuntu、Mint、Debian、RedHat 或者是 Arch 这样的 Linux 发行版。有许多不同的 Linux 发行版。

与此相反的是,BSD 这个名字则代表其内核和操作系统。例如,FreeBSD 提供了 FreeBSD 内核和 FreeBSD 操作系统。它是作为一个单一的项目维护的。换句话说,如果你想要安装 FreeBSD,就只有一个 FreeBSD 可供你安装。如果你想要安装 Linux,你首先需要在许多 Linux 发行版之间选择。

BSD 包括一个名为 Ports 的系统,它提供了一种安装软件包的方式。Ports 系统包含了软件包的源代码,所以您的计算机如果想安装软件的话,则需要先编译他们。(如果您曾经使用过以前流行的 Gentoo,有点类似那样。)不过,软件包也可以是预安装的二进制形式,以便你不需要花时间和系统资源编译他们就能运行。

许可证

许可证是典型的差异,虽然它不会对大多数人产生影响。Linux 使用 GNU 通用公共许可证,即 GPL。如果你修改了 Linux 内核,并将其分发,你就必须放出您的修改的源代码。

BSD 使用 BSD 许可证。如果你修改了 BSD 内核或发行版,并且发布它,你根本不需要必须发布其源代码。你可以自由地对你的 BSD 代码做任何你想做的事情,你没有义务发布的你修改的源代码,当然你想发布也行。

两者都是开放源码的,但是以不同的方式。人们有时会陷入关于哪种许可证是“更自由”的辩论。GPL 可以帮助用户以确保他们可以拥有 GPL 软件的源代码,并限制开发人员迫使他们开放代码。BSD 许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。

BSD分支

以下是通常认可的三个“主流” BSD 操作系统:

  • FreeBSD: FreeBSD 是最受欢迎的 BSD,针对高性能和易用性。它支持英特尔和 AMD 的32位和64位处理器。
  • NetBSD: NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是"理所当然,我们运行在 NetBSD 上"。
  • OpenBSD:OpenBSD 为最大化的安全性设计的 —— 这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。

还有两个其他的重要 BSD 操作系统:

  • DragonFly BSD: DragonFly BSD 的设计目标是提供一个运行在多线程环境中的操作系统 —— 例如,计算机集群。
  • Darwin / Mac OS X: Mac OS X 实际上基于 Darwin 操作系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层内核和其他的软件是开源代码(BSD 代码),但操作系统的大部分是闭源的 Mac OS 代码)。苹果在 BSD 基础上开发了 Mac OS X 和 iOS,这样他们就不必写操作系统底层,就像 谷歌在 Linux 基础上开发 android 系统一样。

你为什么会选择 BSD 而不是 Linux?

Linux 显然比 FreeBSD 更受欢迎。例如,Linux 往往会比 FreeBSD 更早提供新硬件的支持。BSD 有一个兼容包可用,使之能像大多数的其他软件一样原生的执行 Linux 二进制程序。

如果您使用过 Linux, FreeBSD 不会让你感觉到太大的不同。如果把 FreeBSD 作为桌面操作系统,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面环境,你也可以在BSD上使用 Linux 上的大多数的其他软件。有一点需要注意,FreeBSD 不会自动安装的图形化桌面,所以你要花相对于 Linux 更多的心思来照顾你的BSD。BSD 更守旧一些。

FreeBSD 的可靠性和稳定性也许更适合作为服务器的操作系统。而厂商也会选择 BSD 而不是 Linux 作为其操作系统,因为这样他们就不必放出他们修改的代码。

如果你是一个 PC 桌面用户,你真的不需要太过在意 BSD。你可能会喜欢 Linux,因为它具有更先进的硬件支持,更容易安装,具有现代操作系统的特点。如果你关注服务器或嵌入式的设备,你可能会更喜欢 FreeBSD。

我们可能会听到一些人说他们在桌面电脑上使用 FreeBSD,你当然也可能是其中之一!但像 Ubuntu 或 Mint 一样的开源操作系统对于多数用户来说更体验良好和更先进些。

图片来源: atzerok on Flickr


via: http://www.howtogeek.com/190773/htg-explains-whats-the-difference-between-linux-and-bsd/

译者:MikeCoder 校对:wxy

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

你是否从来都没有错过xkcd上的漫画连载?及时地阅读到网络漫画。或者你是否想过从你喜欢的网站上备份所有漫画连载?如你所愿,开源社区将为你提供解决方案:使用命令行程序从终端上下载所有你喜欢的漫画连载。

在我们开始之前,请记住一点,你下载的漫画连载仅供个人使用,在没有授权的情况下是不可以散播出去的。如果你确实喜欢该作者的作品,请支持通过捐赠或购买正版商品获得。

在Linux中安装Dosage

有一个下载漫画连载的开源程序叫dosage。由于该程序是用python写的,所以安装漫画连载工具的方式有几种。今天我们就从一种简单的方法开始吧。

第一步,你需要安装pip(LCTT译注,这是一个用于安装和管理python包的工具),并确保你的python版本在2.7.0至3.3区间。接下来使用pip安装dosage。

$ sudo pip install dosage

如果pip不能以某种方式来找到相关包(例如Ubuntu14.04系统),可以使用下列命令来找到。

$ sudo pip install http://wummel.github.io/dosage/dist/dosage-2.13.tar.gz

dosage将会自动创建一个名为“Comics”新的文件夹。

Dosage的基本用法

dosage的基本用法如下所述。使用dosage,你可以在数据库中找到你喜欢阅读的网络漫画,当最新一期的连载发布时,你可以及时获取最新一期。从某种意义来说,无论你在网络漫画中订阅多少连载,dosage都会确保一期不落地帮你把没有读过的漫画连载下载下来。

下载和阅读你的离线网络漫画,首先要用以下命令将它们列出:

$ dosage -l

现在,我们可以看到dosage将2000多套漫画从数据库列出。我个人建议用下面的这个命令来查找我们想要看的漫画:

$ dosage -l | grep [keyword]

这样就会返回所有包含关键字标题的漫画了。

一旦你确定列表中哪一本漫画是你想要阅读的,使用以下命令订阅这本漫画:

$ dosage [name of the webcomic] 

订阅漫画时会自动在"Comics"目录下创建子目录,并把最新的连载漫画下载到在里边。

如果你不仅仅想下载最新连载的漫画而是完整的一部,那么你使用以下的命令就可以了:

$ dosage -a [name of the comic] 

最后,订阅了几本网络漫画之后,你可以使用下面这条简单的命令,方便地下载到这几本漫画的所有更新:

$ dosage @ 

如果你不想错过每天的漫画更新,你可以每天执行这条命令确保不会错过。

Dosage的高级用法

玩了一天dosage,你也许想知道它的更多使用方法。这需要你掌握更多的命令语法和快捷入门。

如果你想在xkcd上下载更多的漫画连载,你应该会看到一条dosage拒绝的提示(使用成人选项,确认你的年龄):

use the --adult option to confirm your age

因为默认情况下,dosage会忽略任何标记为仅限18岁以上的成年人浏览的网络漫画(由于某些原因,xkcd也属于其中的一个)。如果你已经成人了,请输入:

$ dosage --adult xkcd

从之前的例子,你也许注意到'@'这个参数代表你所有已经下载的漫画书。而这个'@@'这个参数则是表示dosage数据库中的所有漫画书。

$ dosage @@

上面的命令会下载dosage所知道的每一本漫画的最新连载。

如果你想获取漫画从开始到特定的某一天的连载,你可以使用以下命令:

$ dosage -a [name of the comic]:[year-month-day]

举个例子,我们想看《Calvin and Hobbes》2014年之前的所有连载,运行这条命令:

$ dosage -a calvinandhobbes:2014-01-01

最后,对于所有想自己做些开发的人来说,dosage可以在下载时生成rss,json和html日志文件。

$ dosage -o [type] [name of the comic]

在以上命令中,,[type]可以是rss,json或者html,[name of comic]也可以只用'@'。例如,用'html'参数就会创建一个漂亮的HTML代码,以看到所有已经下载到的漫画连载。

下面的命令会下载所有关于Calvin and Hobbes的连载并生成一个网页,可以在你的浏览器中看到一个漂亮的网页,呈现出所有连载漫画。

$ dosage -o html -a calvinandhobbes 

最后,我会建议你阅读手册获取更多相关信息。dosage的确是一个非常简洁的工具,它为广大网页漫画迷们服务。我很好奇地想知道像创建出一个json文件来下载连载漫画的这种创意是怎么诞生的?

你还有其它更好的取代dosage的工具么?或者说你是这些工具的粉丝并且用得非常过瘾,那就在评论里推荐给我们吧。


via: http://xmodulo.com/2014/04/download-webcomics-command-line-linux.html

译者:disylee 校对:wxy

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

SoundCloud是一个发现alternate音乐和 indi音乐的很棒的平台。如果你是声云(SoundCloud)的粉丝,你可以在Ubuntu 14.04,或者其早期版本以及Linux Mint、Elementary OS等其它Linux发行版中作为“桌面应用”来尝试。

在Ubuntu 14.04中安装声云(SoundCloud),我们将使用与在Ubuntu中安装Google Keep相同的方法来安装。上次我们使用Google Chrome来安装Google Keep,而这次我们将使用Firefox来安装声云(SoundCloud)。

在Ubuntu 14.04和Linux Mint中安装声云(SoundCloud):

由于Ubuntu(以及大多数其它Linux发行版)预装了Firefox,只需打开Firefox并转到该地址:https://marketplace.firefox.com/

Firefox应用市场是Chrome商店的替代品,类似于Firefox网页浏览器的应用市场,里面提供了一些用于Firefox智能手机OS的应用。在Firefox应用市场中搜索声云(SoundCloud),点击安装(install)来安装,并作为Web应用添加到Ubuntu中。

完成后,你可以通过在Unity Dash中搜索声云(SoundCloud)应用来启动它。下图展示了Ubuntu 14.04 Unity中该应用的外观:

卸载从Firefox应用市场安装的声云(SoundCloud)应用

不要过于兴奋了。该桌面没有整合声音菜单,桌面通知也一样没有,但是这的确比Web版应用要好,至少我是这么认为的。但是如果你感到不满意,那么就卸载它吧,这在Ubuntu中也很容易。

运行声云(SoundCloud),在Unity启动器上右击声云(SoundCloud)图标,然后点击卸载应用(uninstall app)

我不是一个十足的声云(SoundCloud)粉丝。我更喜欢在Ubuntu中安装声破天(Spotify)超过任何其它流媒体音乐应用。而你呢?


via: http://itsfoss.com/install-soundcloud-ubuntu-1404/

译者:GOLinux 校对:wxy

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