2015年5月

提问: 我使用了Ubuntu的标准仓库安装了Docker。然而,默认安装的Docker不能满足我另外一个依赖Docker程序的版本需要。我该如何在Ubuntu中升级到Docker的最新版本?

Docker第一次在2013年发布,它快速地演变成了一个针对分布式程序的开发平台。为了满足工业期望,Docker正在紧密地开发并持续地带来新特性的升级。这样Ubuntu发行版中的Docker版本可能很快就会过时。比如, Ubuntu 14.10 Utopic 中的Docker版本是1.2.0, 然而最新的Docker版本是1.6.0(截止至本文发布时)。

对于那些想要跟随Docker的最新开发的人而言,Canonical为Docker维护了一个独立的PPA。使用这个PPA仓库,你可以很容易地在Ubuntu上升级到最新的Docker版本。

下面是如何设置Docker的PPA和升级Docker。

$ sudo add-apt-repository ppa:docker-maint/testing
$ sudo apt-get update
$ sudo apt-get install docker.io

检查安装的Docker版本:

$ docker --version

Docker version 1.5.0-dev, build a78ce5c

via: http://ask.xmodulo.com/upgrade-docker-ubuntu.html

作者:Dan Nanni 译者:geekpi 校对:wxy

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

假如你是一个命令行爱好者,我很确信你会使用这个强大的工作环境来执行哪怕是一项日常任务的工具,并为之欢呼,例如从 安排日程管理财务 到 获取 FacebookTwitter等任务。(LCTT 译注:阅读本文的另一个前提是,假如你还能访问 Gmail 或者知道 Gmail 是什么的话。)

在这个帖子中,我将为你展示 Linux 命令行的另一个漂亮干练的使用案例:访问 Google 的 Gmail 服务,为此,我们将使用 Alpine,一个基于 ncurses 的多功能命令行邮件客户端(不要和 Alpine Linux 搞混淆)。我们将在 Alphine 中配置 Gmail 的 IMAP 和 SMTP 设定,通过 Google 的邮件服务器在终端环境中收取和发送邮件。在这个教程的最后,你将发现只需几步就可以在 Alpine 中使用其他的邮件服务。

诚然,已有许多卓越的基于 GUI 的邮件客户端存在,例如 Thunderbird, Evolution 或者甚至是 Web 界面,那么为什么还有人对使用命令行的邮件客户端来收取 Gmail 这样的事感兴趣呢?答案很简单。假如你需要快速地处理好事情并想避免浪费不必要系统资源;或者你正工作在一个精简安装无操作台的服务器上,它没有安装用于图形显示的 X 服务;又或者是 X 服务在你的桌面上崩溃了,而你需要在解决这个问题之前急切地发送一些邮件。在上述所有的情况下, Alpine 都可以派上用场并在任何时间满足你的需求。

除了简单的编辑,发送和接收文本类的邮件信息等功能外, Alpine 还可以进行加密,解密和对邮件信息进行数字签名,以及与 TLS(注:Transport Layer Security,传输层加密)无缝集成。

在 Linux 上安装 Alpine

在基于 Red Hat 的发行版本上,可以像下面那样来安装 Alpine。需要注意的是,在 RHEL 或 CentOS 上,你需要首先启用 EPEL 软件仓库

# yum install alpine 

在 Debian,Ubuntu 或它们的衍生发行版本上,你可以这样做:

# aptitude install alpine

在安装完成后,你可以运行下面的命令来启动该邮件客户端:

# alpine

在你第一次启用 Alpine 时,它将在当前用户的家目录下创建一个邮件文件夹(~/mail),并显现出主界面,正如下面的视频所显示的那样:YOUTUBU 视频 - http://www.youtube.com/kuKiv3uze4U

它的用户界面有下列几个模块:

请随意地浏览、操作来熟悉 Alpine。你总是可以在任何时候通过敲 'Q' 来回到命令提示符界面。请注意,所有的字符界面下方都有与操作相关的帮助。

在进一步深入之前,我们将为 Alpine 创建一个默认的配置文件。为此,请关闭 Alpine,然后在命令行中执行下面的命令:

# alpine -conf > /etc/pine.conf 

配置 Alpine 来使用 Gmail 账号

当你安装了 Alpine 并至少花费了几分钟的时间来熟悉它的界面和菜单,下面便是实际配置它来使用一个已有的 Gmail 账户的时候了。

在 Alpine 中执行下面的步骤之前,记得首先要通过你的 Web 邮件界面,在你的 Gmail 设定里启用 IMAP 协议。一旦在你的 Gmail 账户中启用了 IMAP ,执行下面的步骤来在 Alpine 中启用阅读 Gmail 信息的功能。

首先,启动 Alpine。

按 'S' 来进行设置,再按 'L' 选择 collectionLists 选项来定义不同的文件夹类别以帮助你更好地组织你的邮件:

按 'A' 来新建一个文件夹并填写必要的信息:

  • Nickname: 填写任何你想写的名字;
  • Server: imap.gmail.com/ssl/user=[email protected]

你可以将 PathView 留白不填。

然后按 Ctrl+X 并在提示时输入你的 Gmail 密码:

假如一切如预期一样进展顺利,就会出现一个以你先前填写的昵称来命名的新文件夹。你应该可以在这里找到你的 Gmail 信箱:

要验证的话,你可以比较在 Alpine 中显示的 "Gmail Sent" 信箱和在 Web 界面下的信箱:

默认情况下,每隔 150 秒,它将自动检查新邮件或提示,你可以在文件 /etc/pine.conf中改变这个值,同时你还可以修改许多其他设定。这个配置文件拥有详细且清晰的注释。例如,为了将检查新邮件的时间间隔设定为 10 秒,你需要这样设定:

# The approximate number of seconds between checks for new mail
mail-check-interval=10

最后,我们需要配置一个 SMTP 服务器来通过 Alpine 发送邮件。回到先前解释过的 Alpine 的设置界面,然后按 'C' 来设定一个 Google 的 SMTP 服务器地址,你需要像下面这样编辑 SMTP Server(用于发送邮件)这一行内容:

smtp.gmail.com:587/tls/[email protected]

当你按 'E' 离开设定界面时,将会提醒你保存更改。一旦你保存了更改,马上你就可以通过 Alpine 来发送邮件了!为此,来到主菜单中的 Compose 选项,接着开始从命令行中操作你的 Gmail 吧。

总结

在这个帖子里,我们讨论了在终端环境中如何通过一个名为 Alpine 的轻量且强大的命令行邮件客户端来访问 Gmail。 Alpine 是一个发布在 Apache Software License 2.0 协议下的自由软件,该协议与 GPL 协议相兼容。 Alpine 引以自豪的是:它不仅对新手友好,同时还做到了让那些经验丰富的系统管理员认为它是强大的。我希望在你阅读完这篇文章后,你能意识到我最后一个论断是多么的正确。

非常欢迎使用下面的输入框来留下你的评论或问题。我期待着你们的反馈!


via: http://xmodulo.com/gmail-command-line-linux-alpine.html

作者:Gabriel Cánepa 译者:FSSlc 校对:wxy

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

jolla_russia_launch

Jolla 公司最近一直在后面默默努力,以期给大家带来一些激动人心的新消息。那么,有什么能比得到一个大国支持,并把你的操作系统称作他们的国家官方的移动操作系统更令人兴奋呢?

RBC 报纸报道,俄罗斯通信部决定选用 Jolla 的 Sailfish OS作为该国的官方电话操作系统,Sailfish OS 是 Jolla 公司在被诺基亚放弃的 MeeGo 基础上开发的移动操作系统。

Jolla 的发言人 Juhani Lasslia 说,Antti Saarnio 上周访问了俄罗斯,与俄罗斯官方、通信公司及 IT 公司磋商了合作可能与合同事项。这实际上是 Saarnio 先生第二次访问俄罗斯,与官方磋商了。

据 Lassila 说,该项目尚处于相当早期。俄罗斯的 Sailfish 计划是金砖五国(巴西、中国、俄罗斯、印度和南非)的相关项目的一部分,旨在协作这些新兴大国之间的合作。

如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件。实际上,SSH 是一个网络协议,它允许你通过网络连接到 Linux 和 Unix 服务器。SSH 使用公钥加密来认证远程的计算机。你可以有多种途径使用 SSH,无论是自动连接,还是使用密码认证登录。

本篇文章介绍了几种可以连接 Linux 服务器 SSH 客户端。

让我们开始吧。

Putty

Putty 是最有名的 SSH 和 telnet 客户端,最初由 Simon Tatham 为 Windows 平台开发。Putty 是一款开源软件,有可用的源代码,和一群志愿者的开发和支持。

Putty 非常易于安装和使用,通常大部分的配置选项你都不需要修改。你只需要输入少量基本的参数,就可以开始很简单地建立连接会话。点此下载 Putty。

Bitvise SSH Client

Bitvise SSH 是一款支持 SSH 和 SFTP 的 Windows 客户端。由 Bitvise 开发和提供专业支持。这款 SSH 客户端性能强悍,易于安装、便于使用。Bitvise SSH 客户端拥有功能丰富的图形界面,通过一个有自动重连功能的内置代理进行动态端口转发。

Bitvise SSH 客户端对个人用户使用是免费的,同时对于在组织内部的个人商业使用也一样。你可以在这里下载 Bitvise SSH 客户端

MobaXterm

MobaXterm 是你的远程计算的终极工具箱。在一个 Windows 应用里,它为程序员、网管、IT 管理员及其它用户提供了精心裁剪的一揽子功能,让他们的远程操作变得简约时尚。

MobaXterm 提供了所有重要的远程网络工具 (如SSH、 X11、 RDP、 VNC、 FTP、 MOSH 等等),以及 Windows 桌面上的 Unix 命令(bash、 ls、 cat、sed、 grep、 awk、 rsync等等),而这些都是由一个开箱即用的单一的便携程序所提供。MobaXterm 对个人使用免费,你可以在这里下载 MobaXterm。

DameWare SSH

我认为 DameWare SSH 是最好的免费SSH客户端。(LCTT 译注:似乎 DameWare 已经取消了该软件的下载。)

这个免费工具是一个终端模拟器,可以让你从一个易用的控制台建立多个 telnet 和 SSH 连接。

  • 用一个带标签的控制台界面管理多个会话
  • 将常用的会话保存在 Windows 文件系统中
  • 使用多套保存的证书来轻松登录不同的设备
  • 使用 telnet、SSH1 和 SSH2 协议连接计算机和设备

SmarTTY

  SmarTTY 是一款免费的多标签 SSH 客户端,支持使用 SCP 命令随时复制文件和目录。

大多数 SSH 服务器每个连接支持最多10个子会话.SmarTTY 在这方面做得很好:没有烦人的多个窗口,不需要重新登录,仅仅打开一个新的标签页就可以开始了!

Cygwin

Cygwin 是一款 GNU 和开源工具的大杂烩,提供的功能近似于一个 Windows 平台下的 Linux。

Cygwin 包括了一个称为模拟库的 Unix 系统:cygwin.dll,集成了大量的 GNU 和其它的免费软件,以大量的可选包方式组织而成。在这些安装包中,有高质量的编译器和其他软件开发工具、一个X11服务器、一套完整的X11开发套件、GNU emacs 编辑器、Tex 和 LaTeX、openSSH(客户端和服务器),除此之外还有很多,包括在微软 Windows 下需要编译和使用 PhysioToolkit 软件的每一样东西。

读完我们的文章后,不知你中意哪一款 SSH 客户端?你可以留下你的评论,描述你喜欢的系统和选择的原因。当然,如果有另外的 SSH 客户端没有被本文列举出来,你可以帮助我们补充。


via: http://www.unixmen.com/list-free-windows-ssh-client-tools-connect-linux-server/

作者:anismaj 译者:wi-cuckoo 校对:wxy

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

本文全面详细地向你描述了在Ubuntu中如何实现局域网内的文件夹共享

你的家中是不是有多台电脑?当你需要从一台Ubuntu电脑向另一台电脑传输数据时,是不是必须用到U盘或SD卡?你是否也觉得这个方法很烦人?我想肯定是。本文的目的就是使你在局域网内快速方便地传输文件、文档和其它较大的数据,以节省你的宝贵时间。只需一次设置,然后轻点鼠标,你就可以自由地在Ubuntu和Windows之间共享文件,当然这对其它Linux系统同样使用。不要担心,这很容易操作,不会花费太多时间。

除此之外,尽管本文是在Ubuntu上进行实践,但这个教程在其它Linux系统上同样有用。

在Ubuntu上实现局域网共享文件夹

如果你的系统是Ubuntu 14.04、14.10或12.04,有两个方法可以使你通过局域网在搭载Windows或其他Linux的电脑上共享本地文件。

  • 对局域网中的每个用户提供无密码共享
  • 仅限特定访问,提供文件夹密码保护

这篇文章包括两种方法,你可以选择你想用的那种。

1. 局域网无密码共享文件夹

步骤一:

为了在Ubuntu上实现局域网共享文件夹,右键点击打算共享的文件夹,并选择“Local Network Share(本地网络共享)”:

可能有用的故障解决方案:如果在右键菜单中看不到“Local Network Share”的选项,那就新建一个终端,使用下面的命令去安装nautlius-share插件:

sudo apt-get install nautilus-share

然后重启Nautilus。可以选择注销再登录,或者使用这个命令:

nautilus -q

步骤二:

一旦点击“Local Network Share”,就会出现共享文件夹的选项。只需选中“Share this folder(共享该文件夹)”这一项:

可能的故障解决方案:如果提示共享服务还未安装,就像下图所示,那就点击安装服务,按照提示操作。

步骤三:

当选中“Share this folder”的选项,就会看到按钮“Create Share(创建共享)”变得可以点击了。你也可以“Allow others to create and delete fies in this folder(允许其他用户在共享文件夹中编辑文件)”。选项“Guest access(允许访客访问)”也是如此。

你会看到文件夹图标已经显示为共享的。如果要停止共享文件夹,只需取消“Share this floder”这个选项。

这个方法就是这么简单,使得局域网中的任何人都可以访问共享文件夹中的文件。在正常情况下,你会选择这种方式。因为,家用局域网中的电脑通常都是可信电脑。但情况也不总是这样。如果你只是想特定的用户才能访问怎么办?这个时候就需要Samba服务器了。我们在本文的第二部分讨论这种方法。

2. 在Ubuntu上使用密码保护实现局域网共享文件夹

为了达到这个目的,首先需要配置Samba服务器。事实上,在这篇教程的前一部分我们已经用到了Samba,只是我们没有刻意强调。在介绍如何在Ubuntu上搭建Samba服务器实现局域网共享的方法之前,先快速预览一下Samba到底是什么。

Samba是什么?

Samba是一个允许用户通过网络共享文件、文档和打印机的软件包,无论是在Linux、Windows,还是Mac上。它适用于所有的主流平台,可以在所有支持系统上流畅运行。下面是维基百科的介绍:

Samba是一款重新实现SMB/CIFS网络协议的自由软件,最初由安德鲁·垂鸠开发。在第三版中,Smaba不仅支持通过不同的Windows客户端访问及分享SMB的文件夹及打印机,还可以集成到Windows Server域,作为主域控制器(PDC)或者域成员。它也可以作为活动目录域的一部分。

在Ubuntu上安装Samba服务器

你可以很方便地在Ubuntu电脑上安装Samba。安装前,请先更新系统以便安装任何可用的更新。

sudo apt-get update && apt-get upgrade

然后按照这条命令安装samba和少量所需的软件包:

sudo apt-get install samba samba-common system-config-samba python-glade2 gksu

一旦安装完成Samba服务器,就可以从图形界面配置Samba来分享文件。

在Ubuntu上配置Samba服务器

从dash中打开Samba配置工具:

进入到Preference->Server Settings。尽管默认已经设置好,可能就是你需要的。但在某些情况下你可能需要做一些改动。

在Server Setting中可以看到两个选项卡,‘Basic’和‘Security’。在Basic选项卡下的选项含义如下:

  • 工作组 - 用户要连接的电脑所在工作组的名字。比如,如果你想连接到一台Windows电脑,你就要输入Windows电脑的工作组名字。在Windows的Samba服务器设置中,已经默认设置好统一的工作组名字。但如果你有不同的工作组名字,就在这个字段中输入自定义的工作组名字。(在Windows 7中获取工作组名字,右击计算机图标,进到属性,就能看到Windows工作组名字。)
  • 描述 - 其他用户看到的你的电脑名字。不要使用空格或不适用于网络的字符。

设置samba服务器允许‘Guests’可用是不明智的,所以没必要修改安全设置,保持原样即可。

这就搞定了!你已经搭建好Samba服务器,距离实现网络共享第一个文件夹的目标不远了!

为网络文件共享创建一个系统用户

现在我们需要为网络共享文件创建一个系统用户。下面是非常简单的步骤:

  • 在Systems Settings下点击User Accounts
  • 点击unlock使其可用,以及+(加号)图标。
  • 点击+(加号)图标,创建一个新的系统用户。

如上图所示,需要输入‘Full name’。当你输入‘Full name’时,Username会自动填充为Full name。因为创建这个用户是为了共享文件,所以还要指定Account Type为‘Standard’。

完成上述步骤,点击添加,你就创建好一个系统用户。这个用户还没有被激活,所以需要为其设置密码来激活。确保Users accounts界面已经解锁。点击尚不可用的账户,输入一个新密码,然后确认密码,点击Change。

耶!到目前为止我们已经安装并配置好Samba,已经创建了一个系统用户以通过这个账户在网络上共享文件,而且也已经激活了新用户。现在来到配置Samba的最后一步,然后就可以共享文件夹了。

添加Samba新用户

打开Samba,在Preference先点击Samba Users。填写弹出的对话框,下面是其中几个字段的说明:

Unix Username - 在这种情况下,我选择刚才创建的用户。

Windows Username - 输入你要访问的Windows电脑的用户名。

Samba Password - 输入你要访问的Windows电脑的密码。

完成后点击OK。现在做个深呼吸。你已经在Samba的帮助下成功创建一个网络。然后重启网络或Samba服务,准备好和其它电脑共享文件。

sudo restart smbd && sudo restart nmbd

通过网络共享文件夹或文件

在图形用户界面下通过Samba共享文件是很简单的。点击加号图标,会看到如图所示的对话框:

填写完这些字段。在‘Directory’中,浏览要共享的文件夹。你会看到的字段的含义如下:

  • Share name 是其它人会看到的文件夹名字。
  • Description 是要共享内容的简单描述。
  • Writeable 默认情况下共享的文件夹是‘read only’。如果允许网络上的其他用户修改它们,设置为writable。
  • Visiable 当你点击Visiable时,就像它的名字一样,共享文件夹就对网络上的其他人可见。

现在你可以设置共享文件夹的权限。点击‘Access’选项,选择想要共享文件夹的用户。当你选择对所有人允许访问后,这个文件夹就对网络上的所有人可见。

最后点击OK,完成共享。现在这个文件夹就与你想要共享的用户实现共享。你已经完成了网络共享文件。还有其它要做的吗?对!还不知道如何从网络上移除文件夹?

移除共享文件夹

在网络共享一段时间后,我们也需要移除其中的一些文件夹。操作很简答,下面就是我们要做的。

全部搞定!我们也可以使用终端进行网络文件共享,但这样没有本文介绍的方法这么容易。如果你确实想知道命令行操作,我会再写一篇关于在Linux上使用命令行实现网络文件共享的文章。

所以,你是怎么找到这篇教程的呢?我希望看了这篇教程你可以很容易地在Ubuntu和Windows之间共享文件。如果你有任何问题或建议,请在评论里说出来。


via: http://itsfoss.com/share-folders-local-network-ubuntu-windows/

作者:Mohd Sohail 译者:KayGuoWhu 校对:wxy

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

假如你想对Linux中的一些重要文件做写保护,这样它们就不能被删除或者被篡改成之前的版本或者其他东西,或者在其他情况下,你可能想避免某些配置文件被软件自动修改。使用chownchmod命令修改文件的归属关系或者权限位是处理这种情况的一个解决方法,但这并不完美,因为这样无法避免有root权限的操作。这时chattr就派上用场了。

chattr是一个可以设置或取消文件的标志位的Linux命令,它和标准的文件权限(读、写、执行)是分离的。与此相关的另一个命令是lsattr,它可以显示文件的哪些标志位被设置上了。最初只有EXT文件系统(EXT2/3/4)支持chattrlsattr所管理的标志位,但现在很多其他的原生的Linux文件系统都支持了,比如XFS、Btrfs、ReiserFS等等。

在这个教程中,我会示范如果使用chattr来让Linux中的文件不可变更。

chattrlsattr命令是e2fsprogs包的一部分,它在所有现代Linux发行版都预装了。

下面是chattr的基本语法。

$ chattr [-RVf] [操作符][标志位] 文件...

其中操作符可以是“+”(把选定的标志位添加到标志位列表)、“-”(从标志位列表中移除选定的标志位)、或者“=”(强制使用选定的标志位)。

下面是一些可用的标志位。

  • a: 只能以追加模式打开。
  • A: 不能更新atime(文件访问时间)。
  • c: 当被写入磁盘时被自动压缩。
  • C: 关掉“写时复制”。
  • i: 不可变更。
  • s: 通过自动归零来安全删除。(LCTT 译注:一般情况文件被删后内容不会被修改,改标志位会使得文件被删后原有内容被“0”取代)

“不可变更”标志位

为了让一个文件不可变更,你需要按照如下方法为这个文件添加“不可变更”标志位。例如,对/etc/passwd文件做写保护:

$ sudo chattr +i /etc/passwd

注意设置或取消一个文件的“不可变更”标志位是需要root用户权限的。现在检查该文件“不可变更”标志位是否被添加上了。

$ lsattr /etc/passwd

一旦文件被设置为不可变更,任何用户都将无法修改该文件。即使是root用户也不可以修改、删除、覆盖、移动或者重命名这个文件。如果你想再次修改这个文件,需要先把“不可变更”标志位取消了。

用如下命令取消“不可变更”标志位:

$ sudo chattr -i /etc/passwd

如果你想让一个目录(比如/etc)连同它下边的所有内容不可变更,使用“-R”选项:

$ sudo chattr -R +i /etc

“只可追加”标志位

另一个有用的的标志位是“只可追加”,它只允许文件内容被追加的方式修改。你不能覆盖或者删除一个设置了“只可追加”标志位的文件。这个标志位在你想避免日志文件被意外清理掉的情况很有用。

和“不可变更”标志位类似,你可以使用如下命令让文件变成“只可追加”模式:

$ sudo chattr +a /var/log/syslog

注意当你复制一个“不可变更”或者“只可追加”的文件到其他地方后,新文件不会保留这些标志位!

结论

在这个教程中,我展示了如何使用chattrlsattr命令来管理额外的文件标志位,来避免文件被篡改(意外或者其他情况)的方法。注意你不能将chattr作为一个安全措施,因为“不可变更”标志位可以很容易被取消掉。解决这个问题的一个可能的方式是限制chattr命令自身的可用性,或者去掉CAPLINUXIMMUTABLE内核权能标志。关于chattr以及可用的标志位的更多细节,请参考它的man手册。


via: http://xmodulo.com/make-file-immutable-linux.html

作者:Dan Nanni 译者:goreliu 校对:wxy

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