分类 技术 下的文章

Vagrant 是一个使用虚拟机创建和支持虚拟开发环境的应用。Fedora 官方已经在本地系统上通过库 libvirt 支持 Vagrant。DigitalOcean 是一个提供一键部署 Fedora 云服务实例到全 SSD 服务器的云计算服务提供商。在最近的 Raleigh 举办的 FAD 大会中,Fedora 云计算队伍为 Vagrant 打包了一个新的插件,它能够帮助 Fedora 用户通过使用本地的 Vagrantfile 文件来管理 DigitalOcean 上的云服务实例。

如何使用这个插件

第一步在命令行下是安装软件。

$ sudo dnf install -y vagrant-digitalocean

安装 结束之后,下一步是创建本地的 Vagrantfile 文件。下面是一个例子。

$ mkdir digitalocean
$ cd digitalocean
$ cat Vagrantfile
Vagrant.configure('2') do |config|
    config.vm.hostname = 'dropletname.kushaldas.in'
    # Alternatively, use provider.name below to set the Droplet name. config.vm.hostname takes precedence.

    config.vm.provider :digital_ocean do |provider, override|
    override.ssh.private_key_path = '/home/kdas/.ssh/id_rsa'
    override.vm.box = 'digital_ocean'
    override.vm.box_url = "https://github.com/devopsgroup-io/vagrant-   digitalocean/raw/master/box/digital_ocean.box"

    provider.token = 'Your AUTH Token'
    provider.image = 'fedora-23-x64'
    provider.region = 'nyc2'
    provider.size = '512mb'
    provider.ssh_key_name = 'Kushal'
    end
end

Vagrant DigitalOcean 插件的注意事项

一定要记住的几个关于 SSH 的关键命名规范 : 如果你已经在 DigitalOcean 上传了秘钥,请确保 provider.ssh_key_name 和已经在服务器中的名字吻合。 provider.image 具体的文档可以在DigitalOcean documentation找到。在控制面板上的 App & API 部分可以创建 AUTH 令牌。

你可以使用下面的命令启动一个实例。

$ vagrant up --provider=digital_ocean

这个命令会在 DigitalOcean 的启动一个服务器实例。然后你就可以使用 vagrant ssh 命令来 ssh 登录进入这个实例。可以执行 vagrant destroy 来删除这个实例。


via: https://fedoramagazine.org/using-vagrant-digitalocean-cloud/

作者:Kushal Das 译者:MikeCoder 校对:Ezio

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

Netdata 是一个实时的资源监控工具,它拥有基于 web 的友好界面,由 FireHQL 开发和维护。通过这个工具,你可以通过图表来了解 CPU,RAM,硬盘,网络,Apache, Postfix 等软硬件的资源使用情况。它很像 Nagios 等别的监控软件;但是,Netdata 仅仅支持通过 Web 界面进行实时监控。

了解 Netdata

目前 Netdata 还没有验证机制,如果你担心别人能从你的电脑上获取相关信息的话,你应该设置防火墙规则来限制访问。UI 很简单,所以任何人看懂图形并理解他们看到的结果,至少你会对它的快速安装印象深刻。

它的 web 前端响应很快,而且不需要 Flash 插件。 UI 很整洁,保持着 Netdata 应有的特性。第一眼看上去,你能够看到很多图表,幸运的是绝大多数常用的图表数据(像 CPU,RAM,网络和硬盘)都在顶部。如果你想深入了解图形化数据,你只需要下滑滚动条,或者点击在右边菜单的项目。通过每个图表的右下方的按钮, Netdata 还能让你控制图表的显示,重置,缩放。

Netdata 图表控制

Netdata 并不会占用多少系统资源,它占用的内存不会超过 40MB。因为这个软件是作者用 C 语言写的。

Netdata 显示的内存使用情况

下载 Netdata

要下载这个软件,你可以访问 Netdata 的 GitHub 页面,然后点击页面左边绿色的 "Clone or download" 按钮 。你应该能看到以下两个选项:

通过 ZIP 文件下载

一种方法是下载 ZIP 文件。它包含仓库里的所有东西。但是如果仓库更新了,你需要重新下载 ZIP 文件。下载完 ZIP 文件后,你要用 unzip 命令行工具来解压文件。运行下面的命令能把 ZIP 文件的内容解压到 netdata 文件夹。

$ cd ~/Downloads
$ unzip netdata-master.zip

解压 Netdata

没必要在 unzip 命令后加上 -d 选项,因为文件都是放在 ZIP 文件的根文件夹里面。如果没有那个文件夹, unzip 会把所有东西都解压到当前目录下面(这会让文件非常混乱)。

通过 Git 下载

还有一种方式是通过 git 下载整个仓库。当然,你的系统需要安装 git。Git 在 Fedora 系统是默认安装的。如果没有安装,你可以用下面的命令在命令行里安装 git。

$ sudo dnf install git

安装好 git 后,你要把仓库 “clone” 到你的系统里。运行下面的命令。

$ git clone https://github.com/firehol/netdata.git

这个命令会在当前工作目录克隆(或者说复制一份)仓库。

安装 Netdata

有些软件包是你成功构造 Netdata 时候需要的。 还好,一行命令就可以安装你所需要的东西(这写在它的安装文档中)。在命令行运行下面的命令就能满足安装 Netdata 需要的所有依赖关系。

$ dnf install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig

当所有需要的软件包都安装好了,你就 cd 到 netdata/ 目录,运行 netdata-installer.sh 脚本。

$ sudo ./netdata-installer.sh

然后就会提示你按回车键,开始安装程序。如果要继续的话,就按下回车吧。

Netdata 的安装

如果一切顺利,你的系统上就已经安装并且运行了 Netdata。安装脚本还会在相应的文件夹里添加一个卸载脚本,叫做 netdata-uninstaller.sh。如果你以后不想使用 Netdata,运行这个脚本可以从你的系统里面卸载掉 Netdata。

你可以通过 systemctl 查看它的运行状态。

$ sudo systemctl status netdata

使用 Netdata

既然我们已经安装并且运行了 Netdata,你就能够通过 19999 端口来访问 web 界面。下面的截图是我在一个测试机器上运行的 Netdata。

关于 Netdata 运行时的概览

恭喜!你已经成功安装并且能够看到漂亮的外观和图形,以及你的机器性能的高级统计数据。无论是否是你个人的机器,你都可以向你的朋友们炫耀,因为你能够深入的了解你的服务器性能,Netdata 在任何机器上的性能报告都非常出色。


via: https://fedoramagazine.org/monitor-linux-netdata/

作者:Martino Jones 译者:GitFuture 校对:wxy

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

如果你是 Linux 命令行的用户,有的时候你可能不希望某些命令记录在你的命令行历史中。原因可能很多,例如,你在公司担任某个职位,你有一些不希望被其它人滥用的特权。亦或者有些特别重要的命令,你不希望在你浏览历史列表时误执行。

然而,有方法可以控制哪些命令进入历史列表,哪些不进入吗?或者换句话说,我们在 Linux 终端中可以开启像浏览器一样的无痕模式吗?答案是肯定的,而且根据你想要的具体目标,有很多实现方法。在这篇文章中,我们将讨论一些行之有效的方法。

注意:文中出现的所有命令都在 Ubuntu 下测试过。

不同的可行方法

前面两种方法已经在之前一篇文章中描述了。如果你已经了解,这部分可以略过。然而,如果你不了解,建议仔细阅读。

1. 在命令前插入空格

是的,没看错。在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中。但是这种方法有个前提,只有在你的环境变量 HISTCONTROL 设置为 "ignorespace" 或者 "ignoreboth" 才会起作用。在大多数情况下,这个是默认值。

所以,像下面的命令(LCTT 译注:这里[space]表示输入一个空格):

[space]echo "this is a top secret"

如果你之前执行过如下设置环境变量的命令,那么上述命令不会出现在历史记录中。

export HISTCONTROL = ignorespace

下面的截图是这种方式的一个例子。

第四个 "echo" 命令因为前面有空格,它没有被记录到历史中。

2. 禁用当前会话的所有历史记录

如果你想禁用某个会话所有历史,你可以在开始命令行工作前简单地清除环境变量 HISTSIZE 的值即可。执行下面的命令来清除其值:

export HISTSIZE=0

HISTSIZE 表示对于 bash 会话其历史列表中可以保存命令的个数(行数)。默认情况,它设置了一个非零值,例如在我的电脑上,它的值为 1000。

所以上面所提到的命令将其值设置为 0,结果就是直到你关闭终端,没有东西会存储在历史记录中。记住同样你也不能通过按向上的箭头按键或运行 history 命令来看到之前执行的命令。

3. 工作结束后清除整个历史

这可以看作是前一部分所提方案的另外一种实现。唯一的区别是在你完成所有工作之后执行这个命令。下面是刚说到的命令:

history -cw

刚才已经提到,这个和 HISTSIZE 方法有相同效果。

4. 只针对你的工作关闭历史记录

虽然前面描述的方法(2 和 3)可以实现目的,它们可以清除整个历史,在很多情况下,有些可能不是我们所期望的。有时候你可能想保存直到你开始命令行工作之间的历史记录。对于这样的需求,你开始在工作前执行下述命令:

[space]set +o history

备注:[space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录。

上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。

要重新开启历史功能,执行下面的命令:

[Space]set -o history

它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会出现在历史中。

5. 从历史记录中删除指定的命令

现在假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。直接动手删除它们。通过下面的命令来删除:

history | grep "part of command you want to remove"

上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。

一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项:

history -d [num]

下面是这个例子的截图。

第二个 ‘echo’命令被成功的删除了。

(LCTT 译注:如果你不希望上述命令本身也被记录进历史中,你可以在上述命令前加个空格)

同样的,你可以使用向上的箭头一直往回翻看历史记录。当你发现你感兴趣的命令出现在终端上时,按下 “Ctrl + U”清除整行,也会从历史记录中删除它。

总结

有多种不同的方法可以操作 Linux 命令行历史来满足你的需求。然而请记住,从历史中隐藏或者删除命令通常不是一个好习惯,尽管本质上这并没有错。但是你必须知道你在做什么,以及可能产生的后果。


via: https://www.maketecheasier.com/linux-command-line-history-incognito/

作者:Himanshu Arora 译者:chunyang-wen 校对:wxy

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

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。在这次的文章中,我们将简单的了解一下以 gif 格式记录和分享终端会话的方法。

预先要求

如果你只是希望能记录你的终端会话,并且能在终端进行回放或者和他人分享,那么你只需要一个叫做:ttyrec 的软件。Ubuntu 用户可以通过运行这行代码进行安装:

sudo apt-get install ttyrec

如果你想将生成的视频转换成一个 gif 文件,这样能够和那些不使用终端的人分享,就可以发布到网站上去,或者你只是想做一个 gif 方便使用而不想写命令。那么你需要安装额外的两个软件包。第一个就是 imagemagick , 你可以通过以下的命令安装:

sudo apt-get install imagemagick

第二个软件包就是:tty2gif.py,访问其项目网站下载。这个软件包需要安装如下依赖:

sudo apt-get install python-opster

录制

开始录制终端操作,你需要的仅仅是键入 ttyprec ,然后回车。这个命令将会在后台运行一个实时的记录工具。我们可以通过键入exit或者ctrl+d来停止。ttyrec 默认会在主目录下创建一个ttyrecord的文件。

回放

回放这个文件非常简单。你只需要打开终端并且使用 ttyplay 命令打开 ttyrecord 文件即可。(在这个例子里,我们使用 ttyrecord 作为文件名,当然,你也可以改成你用的文件名)

然后就可以开始播放这个文件。这个视频记录了所有的操作,包括你的删除,修改。这看起来像一个拥有自我意识的终端,但是这个命令执行的过程并不是只是为了给系统看,而是为了更好的展现给人。

注意一点,播放这个记录是完全可控的,你可以通过点击 + 或者 - 进行加速减速,或者 0和 1 暂停和恢复播放。

导出成 GIF

为了方便,我们通常会将视频记录转换为 gif 格式,并且,这个非常容易做到。以下是方法:

将之前下载的 tty2gif.py 这个文件拷贝到 ttyprecord 文件(或者你命名的那个视频文件)相同的目录,然后在这个目录下打开终端,输入命令:

python tty2gif.py typing ttyrecord

如果出现了错误,检查一下你是否有安装 python-opster 包。如果还是有错误,使用如下命令进行排除。

sudo apt-get install xdotool
export WINDOWID=$(xdotool getwindowfocus)

然后重复这个命令 python tty2gif.py 并且你将会看到在 ttyrecord 目录下多了一些 gif 文件。

接下来的一步就是整合所有的 gif 文件,将他打包成一个 gif 文件。我们通过使用 imagemagick 工具。输入下列命令:

convert -delay 25 -loop 0 *.gif example.gif

你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改变这个延时和循环时间。 Enjoy。


via: https://www.howtoforge.com/tutorial/how-to-record-your-terminal-session-on-linux/

作者:Bill Toulas 译者:MikeCoder 校对:wxy

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

Mate 桌面环境 1.14 现在可以在 Ubuntu Mate 16.04 ("Xenial Xerus") 上使用了。根据这个发布版本的描述,为了全面测试 Mate 1.14,所以 Mate 桌面环境 1.14 已经在 PPA 上发布 2 个月了。因此,你不太可能遇到安装的问题。

现在 PPA 提供 Mate 1.14.1 包含如下改变(Ubuntu Mate 16.04 默认安装的是 Mate 1.12.x):

  • 客户端的装饰应用现在可以正确的在所有主题中渲染;
  • 触摸板配置现在支持边缘操作和双指滚动;
  • 在 Caja 中的 Python 扩展可以被单独管理;
  • 所有三个窗口焦点模式都是可选的;
  • Mate Panel 中的所有菜单栏图标和菜单图标可以改变大小;
  • 音量和亮度 OSD 目前可以启用和禁用;
  • 更多的改进和 bug 修改;

Mate 1.14 同时改进了整个桌面环境中对 GTK+ 3 的支持,包括各种 GTK+3 小应用。但是,Ubuntu MATE 的博客中提到:PPA 的发行包使用 GTK+ 2 编译是“为了确保对 Ubuntu MATE 16.04 还有各种各样的第三方 MATE 应用、插件、扩展的支持"。

MATE 1.14 的完整修改列表点击此处阅读。

在 Ubuntu MATE 16.04 中升级 MATE 1.14.x

在 Ubuntu MATE 16.04 中打开终端,并且输入如下命令,来从官方的 Xenial MATE PPA 中升级最新的 MATE 桌面环境:

sudo apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt update
sudo apt dist-upgrade

注意: mate-netspeed 应用将会在升级中删除。因为该应用现在已经是 mate-applets 应用报的一部分,所以它依旧是可以使用的。

一旦升级完成,请重启你的系统,享受全新的 MATE!

如何回滚这次升级

如果你并不满意 MATE 1.14, 比如你遭遇了一些 bug 。或者你想回到 MATE 的官方源版本,你可以使用如下的命令清除 PPA,并且下载降级包。

sudo apt install ppa-purge
sudo ppa-purge ppa:ubuntu-mate-dev/xenial-mate

在所有的 MATE 包降级之后,重启系统。

参考: Ubuntu MATE blog


via: http://www.webupd8.org/2016/06/install-mate-114-in-ubuntu-mate-1604.html

作者:Andrew 译者:MikeCoder 校对:wxy

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

首先,你得有个 Chromebook。

其次,你得有不用 Chrome OS 的理由——为了自由、自由、自由。

Chromebook 不但非常酷,而且极其便宜,它运行的操作系统是 Chrome OS ,这是一个基于 Linux 内核的操作系统,是由 Google 开发的。

不过,有时候你会发现 Chromebook 所运行的操作系统限制很多。因此,许多用户会在上面安装另外的 GNU/Linux 操作系统,要么是双引导,要么干脆就整个替换了 Chrome OS。已经有很多教程教你如何在你的 Chromebook 上以双引导方式安装一个 Linux 系统,不过,这篇指南将会介绍得更明白。

是的,没错,我们教你的是将 Chrome OS 替换成一个 GNU/Linux 发行版。当 Google 不再为你的 Chromebook 提供更新后,你需要决定是否将这个限制很多的操作系统换掉。这里,我们用一个完美的操作系统来替换,它就是刚刚成为滚动发行版的 Solus。

最妙的事情是,Solus 看起来很像 Chrome OS,而且不仅仅是看起来像而已,它能满足你的需求,同时提供了稳定、快捷和完整的功能。当然,下面的教程也适用于其他的发行版。

打开 Chrome OS 的开发者模式并用 USB 启动

在开始之前,我们需要提醒你一些事情。首先,如果你按照下面的教程来安装 GNU/Linux 发行版,这会擦除你的 Chrome OS 系统——但是你之后可以通过 Google 的支持网站提供的几种方式恢复。

其次,每次你需要使用你的新 Linux 系统时,你需要按下 CTRL-L 快捷键。

最后,你的 Chromebook 需要是 Intel 架构的,而不是 ARM 的,否则在一些 Chromebook 型号上你看不到任何启动引导器信息的。

我们在宏碁 C740 Chromebook 上测试了这篇教程。

首先第一件事情是你需要决定你要使用的 Linux 发行版是哪个,然后去下载最新的 ISO 镜像(需要确保它是一个带有图形桌面环境的 Live ISO),然后将其写入到一个 USB 存储棒上。做好之后将其插入到你的 Chromebook 上。

打开你的 Chromebook 盖子并关机,现在按下不放你的 Chromebook 上的 ESC 和 Refresh 键,然后按下电源按钮几秒钟,直到你看到一个警告屏幕。马上按下 CTRL+D 组合键来激活开发者模式,这可能需要几分钟。

当启用了开发者模式后,会要求你输入你的 Chrome OS 身份,然后所有数据都会同步回你的 Chromebook。这时,按下 CTRL+ALT+T 组合键来打开开发者模式终端,输入以下命令:

shell 

并回车。现在输入以下命令:

sudo crossystem dev_boot_usb=1 dev_boot_legacy=1

并回车,确认你要安装的 Linux 发行版的 USB 存储棒一直插在你的 Chromebook 上。关机。重启,当你再次看到警告屏时,快速按下 CTRL+L 组合键以从 USB 进行引导。

从 USB 引导并安装 Linux 操作系统

现在 GNU/Linux 操作系统会从 USB 存储棒上加载,大概一到两分钟之后,你会看到实时会话。连接到互联网,并像你在其它计算机上一样正常安装该系统即可。当安装完成后,关机。移除 USB 存储棒之后重新开机,然后快速按下 CTRL+L 组合键。

你的新 GNU/Linux 发行版现在跑起来了!

 title=

再次补充一下,在我们的宏碁 C740 Chromebook 上,我们找不到 16位 x86 BIOS 的开源实现 SeaBIOS,所以不能在开机时选择引导设备,不过其它的 Chromebook 可能行。

如果你有任何问题,欢迎在下面留言。