2016年7月

如果你已经厌倦了每次重启 Linux 就得重新挂载 Windows 共享,读读这个让共享永久挂载的简单方法。

图片: Jack Wallen

在 Linux 上和一个 Windows 网络进行交互从来就不是件轻松的事情。想想多少企业正在采用 Linux,需要在这两个平台上彼此协作。幸运的是,有了一些工具的帮助,你可以轻松地将 Windows 网络驱动器映射到一台 Linux 机器上,甚至可以确保在重启 Linux 机器之后共享还在。

在我们开始之前

要实现这个,你需要用到命令行。过程十分简单,但你需要编辑 /etc/fstab 文件,所以小心操作。还有,我假设你已经让 Samba 正常工作了,可以手动从 Windows 网络挂载共享到你的 Linux 机器,还知道这个共享的主机 IP 地址。

准备好了吗?那就开始吧。

创建你的挂载点

我们要做的第一件事是创建一个文件夹,他将作为共享的挂载点。为了简单起见,我们将这个文件夹命名为 share,放在 /media 之下。打开你的终端执行以下命令:

sudo mkdir /media/share

安装一些软件

现在我们得安装允许跨平台文件共享的系统;这个系统是 cifs-utils。在终端窗口输入:

sudo apt-get install cifs-utils

这个命令同时还会安装 cifs-utils 所有的依赖。

安装完成之后,打开文件 /etc/nsswitch.conf 并找到这一行:

hosts: files mdns4_minimal [NOTFOUND=return] dns

编辑这一行,让它看起来像这样:

hosts: files mdns4_minimal [NOTFOUND=return] wins dns

现在你需要安装 windbind 让你的 Linux 机器可以在 DHCP 网络中解析 Windows 机器名。在终端里执行:

sudo apt-get install libnss-windbind windbind

用这个命令重启网络服务:

sudo service networking restart

挂载网络驱动器

现在我们要映射网络驱动器。这里我们必须编辑 /etc/fstab 文件。在你做第一次编辑之前,用这个命令备份以下这个文件:

sudo cp /etc/fstab /etc/fstab.old

如果你需要恢复这个文件,执行以下命令:

sudo mv /etc/fstab.old /etc/fstab

在你的主目录创建一个认证信息文件 .smbcredentials。在这个文件里添加你的用户名和密码,就像这样(USER 和 PASSWORD 替换为实际的用户名和密码):

username=USER

password=PASSWORD

你需要知道挂载这个驱动器的用户的组 ID(GID)和用户 ID(UID)。执行命令:

id USER

USER 是你的实际用户名,你应该会看到类似这样的信息:

uid=1000(USER) gid=1000(GROUP)

USER 是实际的用户名,GROUP 是组名。在(USER)和(GROUP)之前的数字将会被用在 /etc/fstab 文件之中。

是时候编辑 /etc/fstab 文件了。在你的编辑器中打开那个文件并添加下面这行到文件末尾(替换以下全大写字段以及远程机器的 IP 地址):

//192.168.1.10/SHARE /media/share cifs credentials=/home/USER/.smbcredentials,iocharset=uft8,gid=GID,udi=UID,file_mode=0777,dir_mode=0777 0 0

注意:上面这些内容应该在同一行上。

保存并关闭那个文件。执行 sudo mount -a 命令,共享就会挂载上。看看一下 /media/share,你应该能看到那个网络共享上的文件和文件夹了。

共享很简单

有了 cifs-utils 和 Samba,映射网络共享在一台 Linux 机器上简单得让人难以置信。现在,你再也不用在每次机器启动的时候手动重新挂载那些共享了。


via: http://www.techrepublic.com/article/how-to-permanently-mount-a-windows-share-on-linux/

作者:Jack Wallen 译者:alim0x 校对:wxy

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

在 Kickstarter 众筹网站上,一个叫 “MyPi” 的项目用树莓派计算模块制作了一款 SBC( 单板计算机 Single Board Computer ),提供一个 mini-PCIe 插槽,串口,宽范围输入电源,以及模块扩展等功能。

你也许觉得奇怪,都 2016 年了,为什么还会有人发布这样一款长得有点像三明治,用过时的 ARM11 构建的 COM ( 模块化计算机 Compuer on Module )版本的树莓派单板计算机:树莓派计算模块。原因是这样的,首先,目前仍然有大量工业应用不需要太多 CPU 处理能力,第二,树莓派计算模块仍是目前仅有的基于树莓派硬件的 COM,虽然更便宜、有点像 COM 并采用同样的 700MHz 处理器的 零号树莓派 也很类似。

安装了 COM 和 I/O 组件的 MyPi

装入了可选的工业外壳中

另外,Embedded Micro Technology 还表示它的 SBC 还设计成可升级替换为支持的树莓派计算模块 —— 采用了树莓派 3 的四核、Cortex-A53 博通 BCM2837处理器的 SoC。因为这个产品最近很快就会到货,不确定他们怎么能及时为 Kickstarter 赞助者处理好这一切。不过,以后能支持也挺不错,就算要为这个升级付费也可以接受。

MyPi 并不是唯一一款新的基于树莓派计算模块的商业嵌入式设备。Pigeon Computers 在五月份启动了 Pigeon RB100 的项目,是一个基于 COM 的工业自动化控制器。不过,包括 Techbase Modberry 在内的这一类设备大都出现在 2014 年 COM 发布之后的一小段时间内。

MyPi 的目标是 30 天内筹集 $21,696,目前已经实现了三分之一。早期参与包的价格 $119 起,九月份发货。其他选项有 $187 版本,里面包含了价值 $30 的树莓派计算模块,以及各种线缆。套件里还有各种插件板以及工业外壳可选。

不带 COM 和插件板的 MyPi 主板

以及它的接口定义

树莓派计算模块能给 MyPi 带来博通 BCM2835 Soc,512MB 内存,以及 4GB eMMC 存储空间。MyPi 主板扩展了一个 microSD 卡槽,一个 HDMI 接口,两个 USB 2.0 接口,一个 10/100M 以太网口,还有一个像网口的 RS232 端口(通过 USB 连接)。

插上树莓派计算模块和 mini-PCIe 模块的 MyPi 的两个视角

插上树莓派计算模块和 mini-PCIe 模块的 MyPi 的两个视角

MyPi 还将配备一个 mini-PCIe 插槽,据说“只支持 USB,以及只适用 mPCIe 形式的调制解调器”。还带有一个 SIM 卡插槽。板上还有双标准的树莓派摄像头接口,一个音频输出接口,自带备用电池的 RTC,LED 灯。还支持宽范围的 9-23V 直流输入。

Embedded Micro 表示,MyPi 是为那些树莓派爱好者们设计的,他们拼接了太多 HAT 外接板,已经不能有效地工作了,或者不能很好地装入工业外壳里。MyPi 支持 HAT,另外还提供了公司自己定义的 “ASIO” (特定应用接口)插件模块,它会将自己的 I/O 扩展到载板上,载板再将它们连到载板边上的 8针的绿色凤凰式工业 I/O 连接器(标记了“ASIO Out”)上,在下面图片里有描述。

MyPi 的模块扩展接口

就像 Kickstarter 页面里描述的:“比起在板边插满带 IO 信号接头的 HAT 板,我们更愿意把同样的 IO 信号接到另一个接头,它直接接到绿色的工业接头上。” 另外,“通过简单地延长卡上的插脚长度(抬高),你将来可以直接扩展 IO 集 - 这些都不需要任何排线!”Embedded Micro 表示。

MyPi

它的可选 I/O 插件板卡

像上面展示的,这家公司为 MyPi 提供了一系列可靠的 ASIO 插卡,。一开始这些会包括 CAN 总线,4-20mA 传感器信号,RS485,窄带 RF,等等。

更多信息

MyPi 在 Kickstarter 上提供了 7 月 23 日到期的 79 英镑($119)早期参与包(不包括树莓派计算模块),预计九月份发货。更多信息请查看 Kickstarter 上 MyPi 的页面 以及 Embedded Micro Technology 官网


via: http://hackerboards.com/industrial-sbc-builds-on-rpi-compute-module/

作者:Eric Brown 译者:zpl1025 校对:Ezio

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

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中国 荣誉推出

今日关注

在 Linux Mint 18 发布两周后,他们发布了 17.3 升级到 18 的升级包,升级指南在此。不过,如果你觉得 17.3 用的挺好的话,就没有必要升级到 Linux Mint 18,因为 Linux Mint 17 系列会一直支持到 2019 年。当然, Linux Mint 18 是基于 Ubuntu 16.04 LTS 的,其支持期是五年,直到 2021 年都会得到安全补丁和软件更新。

图文摘要

预计今年秋天发布的 openSUSE Leap 42.2 将会搭载 GNOME 3.20,KDE Plasma 5.6,以及 Linux 内核 4.4 LTS。

GIMP 2.8.18 发布,这是一款在多款基于Linux内核的操作系统中自带的图像编辑器。修复了若干错误,完善了部分功能。软件的安装包的大小也压缩了至少20%。

Linux Kernel 4.1.28 LTS 以及 Linux Kernel 3.18.37 LTS 都进行了更新。这两个版本都对网络协议和声音栈进行了完善。

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中国 荣誉推出