分类 技术 下的文章

Vagrant 是一个使用虚拟机创建和支持虚拟开发环境的应用。Fedora 官方已经在本地系统上通过库 libvirt 支持 VagrantDigitalOcean 是一个提供一键部署 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 作为文件名,当然,你也可以改成你用的文件名)

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

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

导出成 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 上的 ESCRefresh 键,然后按下电源按钮几秒钟,直到你看到一个警告屏幕。马上按下 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 可能行。

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