Posts

Showing posts from April, 2016

Ubuntu使用xCHM和kchmViewer阅读 CHM 文档

Image
在Ubuntu 14.04之前,用户可以使用sudo apt-get install chmsee命令安装chmsee来查看 chm 文档。但是自2014年后,chmsee项目的负责人放弃了chmsee,所以之后Debian将chmsee从软件库中删除了。Ubuntu软件库也不再收录Chmsee。但我们可以安装xCHM或kchmViewer来阅读chm文档。 xCHM xCHM是为X.org显示服务器编写的一款CHM文件阅读器。它可以显示目录树,打印当前页面,并能显示阅读历史。xCHM可以更改字体和字体大小,在全文中搜索关键字。但它不能处理chm电子书中的JavaScript代码。 Ubuntu 14.04/15.10/16.04用户只要打开终端窗口,输入下面的命令就能安装xCHM阅读器。 sudo apt-get install xchm xCHM更改字体和字体大小 kchmViewer kchmViewer是KDE桌面下的一款CHM文件阅读器。你可以用它来添加标签,改变字体大小,在全文中搜索关键字。虽然kchmViewer是一个KDE程序,但也能在Gnome和Unity桌面环境下运行。 Ubuntu 14.04/15.10/16.04用户只要打开终端窗口,输入下面的命令就能安装kchmViewer阅读器。 sudo apt-get install kchmviewer 由于kchmViewer是一个KDE程序,所以上面这条安装命令会安装一些KDE运行库。 本文翻译自: linuxbabe.com – View CHM files with xCHM and kchmViewer on Ubuntu Ubuntu使用xCHM和kchmViewer阅读 CHM 文档

Ubuntu 16.04桌面版 Gufw 防火墙的基本使用方法

Image
对于Linux新手,设置iptables防火墙是一件比较困难的事。Ubuntu简化了iptables防火墙,可以安装UFW,即Uncomplicated Firewall (简单的防火墙)。UFW 是iptables的前端,而 Gufw 则是UFW的图形界面前端。Gufw自称是世界上最简单的防火墙。 Ubuntu 16.04安装Gufw的方法很简单,打开一个终端窗口,输入下面的命令就行了。 sudo apt-get install gufw 现在,我们可以从Unity桌面的Dash菜单里打开Gufw。 Gufw默认提供3种防火墙配置文件:办公室,家庭,公共场所。(Gufw把home翻译成了主页,是不恰当的。) 对于家庭计算机,最基本的防火墙配置是否认所有传入流量,同时允许所以传出流量。也就是说,别的计算机不可以访问你的计算机,而你可以访问其他计算机,包括互联网。我们只要选择家庭(主页)配置文件,然后将状态切换为打开就行了。 要添加自己的防火墙规则,首先需要将 状态 切换为 打开 ,点击 规则(Rules) 标签,再点击加号按钮。 然后,你可为某个应用程序如0 A.D.添加规则,也可以为某个网络协议,如SSH,添加规则。 假如,你需要禁止其他计算机通过 SSH 登录你的Ubuntu 16.04系统,而同时你需要在Ubuntu 16.04系统SSH登录其他远程计算机,那么你需要将政策设为否认,方向设为进入,类别选择网络、服务,应用程序选择SSH,最后点击添加按钮。 在Rules标签中你会看见新添加的防火墙规则。 我们可以在终端中输入下面的命令来查看UFW防火墙的状态。 sudo ufw status 状态为激活,表示ufw防火墙正在工作,另外还可以看见我们添加的防火墙规则。 如果要让ufw防火墙在开机时自动激活,输入下面的命令。 sudo ufw enable 否认与拒绝的区别 Gufw防火墙有4种政策:允许,否认,拒绝,限制。 允许:将允许访问 否认:会否认访问 拒绝:将否认访问,并通知对方计算机已被拒绝 限制:如果特定IP尝试几个连接,那么否认其访问。 如果需要添加更多的配置文件,点击 编辑 > 首选项 ,再点击加号按钮。 你的Ubuntu 16.04系统是否需要 Gufw 防火墙? 如果你在家中使用Ubuntu 16.04,通过路由器连接互联网,那么Guf

Ubuntu 16.04 LTS安装 TeamViewer 远程协助软件

Image
这篇教程介绍Ubuntu 16.04 LTS如何安装 TeamViewer 。Teamviewer 是一个远程协助软件,个人使用是免费的。如果对方的电脑也安装了 TeamViewer,那么你只需要输入对方的 TeamViewer ID号就能远程控制对方电脑了。让我们开始吧。 Ubuntu 16.04 LTS安装TeamViewer 首先,打开 TeamViewer的下载页面 ,下载Debian/Ubuntu的Deb安装包。 这是一个32位的deb包。Debian 6/Ubuntu 10等旧发行版本可以下载64位deb包,因为它们没有Multiarch多架构功能。对于Ubuntu 16.04,我们必须下载32位deb包,因为Ubuntu 16.04具备多架构功能,即使是64位的Ubuntu 16.04系统也能安装32位的deb包。 下载完成后,打开一个终端窗口,将目录切换(cd)到下载目录。 64位Ubuntu 16.04系统需要添加32位架构支持,命令如下。 sudo dpkg --add-architecture i386 sudo apt-get update 现在,安装TeamViewer的依赖包。 sudo apt-get install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386 再安装TeamViewer。 sudo dpkg -i teamviewer*.deb 安装完成后就能从Unity的Dash菜单里启动TeamViewer了。我们也可以输入下面的命令启动TeamViewer。 teamviewer 如果你要请求对方远程控制,将你的ID告诉对方。如果对方需要你来远程控制,那么在TeamViewer界面输入对方的ID,点击Connect to partner按钮就行了。 用A

使用 X11 显示服务器的Ubuntu不能保证Snap包的安全

Image
CoreOS的安全研究人员,Linux内核开发贡献者Matthew Garrett发表文章说 X11 显示服务器的Ubuntu不能保证Snap包的安全。 Ubuntu 16.04于4月21日发布,其中的一个亮点是 Snap包格式 。Snap让上游开发者更加方便地向Ubuntu发布新版本软件。Snap包自带相关依赖包,并且能自行升级到新版本,不需依赖apt-get包管理器升级。Snap包在沙盒环境中运行,不能窃取用户的数据。 这是Canonical的官方说法。如果你用的是Mir显示服务器,那么这些说法是正确的,Snap确实加固了安全。但是Ubuntu 16.04桌面版的显示服务器默认是X11。X11老旧的设计很不安全,这是众所周知的。Snap软件包可以访问其他X11软件的数据并发送到其他计算机。实际上在X11显示服务器环境中,任何程序都能接收其他程序的按键数据。 Mir和Wayland显示服务器都没有X11的安全漏洞。和Snap类似的一个项目是Gnome的xdg-app,同样是为了让应用程序在沙盒环境中运行,但xdg-app不支持X11,只支持Wayland,因为X11存在先天性的安全隐患。 为了证明他的观点,Matthew Garrett在Github写了一个程序,证明snap包在X11环境下是可以访问用户数据的。读者若有兴趣,可以在虚拟机中安装Ubuntu 16.04,按照下面的步骤测试。 首先在Ubuntu 16.04安装git sudo apt-get install git 克隆Matthew Garrett的Github仓库 git clone https://github.com/mjg59/xevilteddy cd进入新创建的xevilteddy目录。 cd xevilteddy/ 安装snapcraft sudo apt-get install snacraft 安装libxtst-dev sudo apt-get install libxtst-dev 制作snap包,在当前目录下会生成一个 xevilteddy_0.1.snap 文件。 snapcraft snap 安装生成的snap包。 sudo snap install xevilteddy_0.1*.snap 运行这个snap程序。 /snap/bin/xevilteddy.xteddy

Ubuntu Snap的开发者模式

Ubuntu 16.04 LTS可以使用Snap命令来安装snap软件包。通常的命令语法如下: snap install <包名> 但snap命令的 –devmode 选项是很有趣的。 snap install --devmode <包名> 之前说过 ,snap包默认是与系统隔离开来,在沙盒环境中运行,访问系统受到限制,这种模式被称为强制模式(enforcing mode) 。 而 –devmode 就是开发者模式(developer mode),用这个选项安装的snap软件不受到沙盒环境的监禁,它继承当前用户的权限,这种模式也被称为抗议模式(complain mode)。 –devmode 是提供给开发者用的,可以让他们明白自己的snap软件在底层所能做的事。普通用户请勿使用开发者模式。 Ubuntu Snap的开发者模式

解读Ubuntu 16.04 LTS新特性以及具体升级步骤

Image
Ubuntu 16.04 LTS,代号为Xenial Xerus(非洲的一种地松鼠),于UTC时间2016年4月21日正式发布。这是英国Canonical公司发布的第6个长期支持版本。Ubuntu桌面版、服务器版、Ubuntu Core、Ubuntu Kylin和Kubuntu将有5年的支持。其他的Ubuntu分支版如Lubuntu 16.04 LTS、 Xubuntu 16.04 LTS将有3年的支持。 Ubuntu 16.04 LTS新特性 Snap软件包格式 之前, linux大神博客就报导过snap软件包格式 。snap包可以与deb包同时安装在Ubuntu 16.04系统上,不会发生冲突。Snap软件包可以让上游开发者更快地向用户推送软件包更新,同时snap软件包自带相应的依赖包,不需用户来解决依赖问题。另外,snap软件包默认与系统隔离,增加了系统安全。 Firefox宣布将推出snap格式的软件包 。 Unity以及Compiz的改进 改善了Unity的启动器与文件管理器、设备之间的融合。 可以在快速列表(quicklist)中格式化可移动设备。 Unity启动器可以从左侧移动到桌面底部 Unity桌面的流畅度有了明显提升。 其他更新 使用Linux 4.4 LTS内核 更加流畅的Gnome软件(Gnome software)替代了ubuntu软件中心。不过Gnome软件在Ubuntu系统中被重命名为Ubuntu软件。 LibreOffice 5.1默认使用Breeze主题,通过HTTPS支持WebDAV,可以隐藏空白字符。 增加了Gnome日历 删除了Empathy即时通讯工具和Brasero光盘刻录工具 Chromium 48浏览器 Firefox 45 浏览器 Dash菜单的搜索功能默认不提供在线资源 改善了HiDPI支持 增加了更多的语言支持 自Ubuntu 15.04起,Systemd就替代了upstart,Ubuntu 16.04 LTS也采用Systemd。 其他的bug修复 Ubuntu 16.04 LTS 服务器版的更新 支持ZFS文件系统 支持OpenStack的最新版本Mitaka Libvirt 1.3.1 qemu 2.5 Open vSwitch 2.5.0 Ceph Jewel 10.1.2 Nginx 1.9.15网站服

Firefox浏览器将支持Ubuntu新推出的 Snap软件包格式

昨天4月21日,Ubuntu 16.04 LTS发布了正式版。其中的一个新特性是 snap软件包格式。 Linux大神博客之前报导过 ,Snap软件包可以与deb包同时安装在Ubuntu 16.04系统上。Snap包可以让上游开发者以更快的速度向用户推送最新的软件包,不管用户使用最新版的Ubuntu还是旧版Ubuntu,因为Snap包自带了相关依赖包,用户不再需要为解决依赖问题而烦恼。所有snap包都在沙盒环境中运行,与系统隔离。 Firefox将支持 Snap软件包格式 Mozilla在4月21日宣布,Firefox将在今年年底为用户提供snap格式的软件包。Firefox产品副经理Nick Nguyen说,”Snap让我们直接向用户推送最新版的Firefox,而不必再经过Canonical的中间检查。” Mozilla与Canonical都是开源领域的机构组织,他们有超过10年的合作关系,Firefox一直是Ubuntu系统的默认浏览器。 Firefox浏览器将支持Ubuntu新推出的 Snap软件包格式

Ubuntu 16.04 如何把Unity启动器移动到桌面底部

Image
Ubuntu 16.04 LTS添加了一个新的功能,可以把Unity桌面左侧的启动器一栏移动到桌面底部。这还得谢谢国内Ubuntu Kylin团队。 Unity启动器移动到桌面底部的步骤 首先,使用 apt-get 或 apt 安装dconf编辑器。 sudo apt install dconf-editor 然后在Unity的Dash菜单里启动dconf编辑器。 在左侧面板中选择 com > canonical > unity > launcher ,把 launcher-position 的值设为 Bottom 。 更改为Bottom后,启动器一栏就移动到了桌面底部了。 如果你偏爱命令行,那么在终端里粘贴下面的一条命令就可以达到同样的效果。 gsettings set com.canonical.Unity.Launcher launcher-position Bottom 如果要把启动器一栏重新放回左侧,粘贴这条命令, gsettings set com.canonical.Unity.Launcher launcher-position Left 启动器移动到桌面底部后,Dash菜单会占据整个屏幕,我们可以点击左上角的最大化按钮来更改Dash菜单的大小。 不幸的是,启动器移动到桌面底部后,自动隐藏功能会失效。 实际上我更喜欢启动器在左侧,因为我用的是笔记本电脑,垂直空间很少,启动器在底部的话,会占据大量垂直空间。 Ubuntu 16.04 如何把Unity启动器移动到桌面底部

FBI 告诉国会它需要黑客破解技术公司的加密

Image
星期二,一位 FBI 的高级技术官员告诉国会议员,即使有额外的资源,FBI自己也没有能力破解被锁的手机和设备。Amy Hess是FBI科学技术部的执行董事助理,他对美国家庭能源与商业委员会小组成员说,加密通信仍然对美国政府机构的执法行动以及美国公众的安全构成挑战。但是当她被立法者要求提供一个实际的解决方案时,她表示技术公司的合作是必要的。 据纽约时报称,在去年加州的圣⋅伯纳迪诺大规模枪杀事件后,FBI雇佣第三方公司来破解持枪者的iPhone手机并对此行为进行辩护,FBI告诉立法者技术公司拒绝提供消费者信息,为此他们需要与商业黑客合作。他们强调与技术公司和第三方的合作对打击恐怖主义是十分重要的,因为他们自己没有能力和资源来破解加密设备。美国国会正在讨论是否需要对加密立法。 消息来源:slashdot FBI 告诉国会它需要黑客破解技术公司的加密

Ubuntu如何正确地切换Intel和Nvidia显卡

Image
现在的笔记本电脑通常有两块显卡:Intel集成显卡和Nvidia(英伟达)独立显卡。这篇教程介绍Ubuntu如何正确地切换Intel和Nvidia显卡。 你应该使用哪一个显卡? 对于玩游戏或3D制图,图形计算这样对显卡要求高的任务,你需要使用Nvidia独立显卡。如果你既不玩游戏,不绘制3D制图,也不用图形计算,那么集成在Intel处理器的Intel显卡就足够了。Intel显卡耗电更少。 第1步:检查你的电脑有哪些显卡 这很简单,打开终端,粘贴下面的命令就行了。 lspci -k | grep -A 2 -i "VGA" 可以看见,我们笔记本有两Intel显卡和Nvidia显卡。如果你的电脑也有这两种显卡,那么继续阅读。 第2步:查看Ubuntu正在使用哪块显卡 Ubuntu默认使用Intel集成显卡。如果你以前做过更改,但现在你不记得使用哪一块显卡了,那么打开 系统设置 > 细节 窗口。你将会看见Ubuntu正在使用哪一块显卡。 第3步:安装Nvidia专有显卡驱动 Ubuntu自带了为Nvidia显卡开发的开源Nouveau驱动。这个Nouveau驱动是包含在Linux内核中的。但是它不支持3D加速。为了获得最佳图形性能,我们用 software-properties-gtk 这个程序来安装专有的Nvidia显卡驱动。在终端里输入下面的命令打开software-properties-gtk。 software-properties-gtk 这将打开 软件与更新 窗口。点击 额外驱动 标签。你可以看见Ubuntu默认为Nvidia显卡启用了Nouveau开源驱动,并且列出了可以安装的专有显卡驱动。 一般我们可以安装最高版本的专有显卡驱动。也可以在终端里输入下面的命令来查看哪一个专有驱动是推荐安装的。  sudo ubuntu-drivers devices 可以看见,在我的电脑上,nvidia-352是推荐安装的驱动。所以我在终端里输入下面的命令安装这个驱动。 sudo apt-get install nvidia-352 专有驱动安装后,重新打开 软件与更新 窗口。你应该可以发现Ubuntu自动选择了新安装的专有驱动。如果没有的话,则选择刚安装好的专有驱动,再点击右下角的 应用更改 按钮。 第4步:切换到Nvidia显卡 为Nvid

Debian 8搭建LAMP环境(Apache MariaDB PHP7)

Image
这篇教程介绍如何在Debian 8服务器搭建LAMP环境。选择MariDB作为数据库服务器,PHP7作为脚本语言。 1升级系统软件 在安装Apache网站服务器,MariaDB数据库服务器和PHP7之前,我们先更新一下系统软件。 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade 2 安装Apache网站服务器 sudo apt-get install apache2 安装完成后启动Apache2 sudo service apache2 start 或 sudo systemctl start apache2 如果之前安装过Nginx,那么先要停止Nginx进程,以释放80端口。 sudo service nginx stop 或 sudo systemctl stop nginx 现在,在浏览器地址栏输入Debian 8服务器的IP地址。你将看到如下页面。 这表示,Apache网站服务器在正常工作。这个网页就是保存在服务器/etc/www/html/目录下的index.html文件。我们要将这个文件删除。 sudo rm /var/www/html/index.html 然后,将网站根目录/var/www/html/的所有者更改为www-data,也就是Apache进程用户。 sudo chown www-data /var/www/html/ -R 3 安装MariaDB数据库服务器 MariaDB与MySQL完全兼容,它是由MySQL的原开发人员开发出的MySQL分支。MariaDB有更多的存储引擎,在MySQL的基础上改善了运行速度。 输入下面的命令安装MariaDB。 sudo apt-get install mariadb-server mariadb-client 在安装过程中会要求你为MariaDB root用户设置一个密码。输入密码后按回车。记住,MariaDB root用户是数据库的管理员,与Linux的root用户是不同的。 再次输入密码并回车。 查看MariaDB版本 $ mysql --version mysql Ver 15.1 Distrib 10.0.22-MariaDB, for debian-linux-

notepadqq, Linux系统下的Notepad++编辑器

Image
我们都知道,Notepad++是M$ Windows系统常用的文本编辑器。而 Notepadqq 是Linux系统下Notepad++的免费开源替代品。这篇文章介绍各类Linux系统如何安装 Notepadqq。 Ubuntu 14.04 LTS/15.10/16.04 LTS/Linux Mint/Elementary OS安装Notepadqq Ubuntu官方软件源没有notepaddqq,但我们可以用PPA来安装。添加PPA。 sudo add-apt-repository ppa:notepadqq-team/notepadqq 更新软件源。 sudo apt-get update 安装notepadqq sudo apt-get install notepadqq 现在就可以从Dash或程序菜单里启动Notepadqq了。 Debian 8 Jessie安装 Notepadqq Debian 8也可以使用PPA来安装Notepadqq,但我们需要手动添加PPA。打开sources.list文件。 sudo nano /etc/apt/sources.list 将下面两行文字添加到文件末尾。 deb http://ppa.launchpad.net/notepadqq-team/notepadqq/ubuntu trusty main deb-src http://ppa.launchpad.net/notepadqq-team/notepadqq/ubuntu trusty main 保存文件。输入下面的命令添加notepadqq的公钥。 sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 63DE9CD4 更新软件源。 sudo apt-get update 安装Notepadqq。 sudo apt-get install notepadqq Arch Linux安装Notepadqq Arch Linux可以用 yaourt工具 从AUR仓库安装。 yaourt notepadqq notepadqq, Linux系统下的Notepad++编辑器

Opera浏览器最新Beta测试版添加视频跳出网页功能

Image
Opear浏览器最新Beta测试版添加了一个很炫的功能:视频可以跳出网页。所有桌面版(Linux,OS X,Windows)的Opera浏览器beta版都可以使用这个新功能。 视频跳出网页功能没有经过Opera的开发者频道,直接进入了Beta测试,对Opera用户可能是一个意外。但目前只支持HTML5视频,Flash视频还不能跳出网页。Youtube的视频基本上都有HTML5版的。国内视频网站落后了一大截。 用Opera最新Beta测试版打开Youtube网站,再打开一个视频,在视频的上方会有一个按钮,点击这个按钮视频就跳出网页了。 跳出网页的视频窗口可以移动到桌面的任何位置,可以调整大小,并且这个窗口总是在最前面。在小视频窗口的右上角也有一个按钮,点击这个按钮,小视频窗口就回到原网页中了。 Debian/Ubuntu/Linux Mint/Elementary OS安装Opera Beta 我们可以添加Opera的官方软件源。打开 /etc/apt/sources.list 文件。 sudo nano /etc/apt/souces.list 在文件末尾添加下面一行文字。 deb http://deb.opera.com/opera/ stable non-free 保存文件。 用wget下载Opera的公钥,然后用apt-key导入公钥。 sudo sh -c 'wget -O - http://deb.opera.com/archive.key | apt-key add -' 更新本地软件包索引。 sudo apt-get update 安装Opera Beta sudo apt-get install opera-beta Opera的官方软件源有3个版本 稳定版: opera-stable     安装命令: sudo apt-get install opera-stable beta测试版: opera-beta  安装命令: sudo apt-get install opera-beta 开发者版:opera-developer  安装命令: sudo apt-get install opera-developer Arch Linux安装Opera Beta测试版 Arch Linux的community软件库收录了Opera稳定版

ubuntuBSD Beta 5发布, 使用BSD内核的Ubuntu

看过 之前的文章 就知道,ubuntuBSD系统是Ubuntu的一个分支(fork),它去掉了Linux内核,换用FreeBSD内核。 几天前,ubuntuBSD发布了Beta 5测试版,修复了多处bug,改善了底层代码,XFE替代Thunar成为默认的文件管理器。ubuntuBSD采用XFCE为默认的桌面环境,ZFS为默认的文件系统,并且有一个类似Debian的文本界面安装程序。 如果你现在使用的是Beta 4或之前的ubuntuBSD测试版本,那么只需要用平常升级软件的命令就能升级到Beta 5测试版。 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade ubuntuBSD Beta 5发布, 使用BSD内核的Ubuntu

Ubuntu/Linux Mint安装 Linux 4.5.1内核

Linux 4.5.1内核 是4.5版本的第一个修正版。Ubuntu/Linux Mint用户可以从Ubuntu的Linux内核网页下载deb包后安装。如果你的一个硬件设备不正常工作,安装最新版的Linux内核也许可以帮助这个硬件设备正常运转。但如果你的硬件设备已经在正常工作,那么安装最新版的Linux内核就不是很必要了,有时甚至会带来新的问题,如网络连接异常,没有声音,或者无法启动系统。 如果你的电脑使用Nvidia或AMD显卡,那么在安装Linux内核前,尽量使用开源的驱动。 Ubuntu/ Linux Mint 安装 Linux 4.5.1内核 打开终端,使用下面的命令下载Linux 4.5.1内核并安装 32 位系统: 下载3个Linux的deb包:linux-headers-generic, linux-headers-all, linux-image-i386 wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.1-wily/linux-headers-4.5.1-040501-generic_4.5.1-040501.201604121331_i386.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.1-wily/linux-headers-4.5.1-040501_4.5.1-040501.201604121331_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.1-wily/linux-image-4.5.1-040501-generic_4.5.1-040501.201604121331_i386.deb 一次性安装三个deb包。 sudo dpkg -i *.deb 64位系统 下载3个Linux的deb包:linux-headers-generic, linux-headers-all, linux-image-amd64 wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.1-wily/linux-headers-4.5.1-040501-generic_4.5.1-040

Puppet 是什么?为什么Unix/Linux管理员需要Puppet?

Image
什么是 Puppet? Puppet 是系统管理员和Devops在构建和配置IT基础设施中使用的配置管理工具(Configuration Management Tool)。为了理解Puppet,我们首先需要知道信息技术是如何发展的。 早期的电脑和机器是独立存在的,硬件资源有限,运行分时操作系统。美国国防部先进研究项目局(DARPA)想要研发一种分布式的计算机网络,以避免与苏联(USSR)发生战争时出现单点故障(Single Point of Failure)问题。他们将不同地理位置的计算机互相连接通信,以减少单点故障,同时可以有效地使用打印机,扫描仪等其他系统资源。计算机网络就是这样产生的。今天的互联网发展离不开DARPA。互联网的下一个版本物联网(Internet of Things)开始于大约10年前。 物联网的发展路程 分散的计算机 计算机网络 互联网 物联网 物联网的工作就是让电子设备变得智能。比如智能水表可以检测出输水系统的溢水或漏水故障,并发出实时报告。 网络中计算机的命名也有相似的发展史。最初人们使用本地主机的hosts解析文件与其他计算机通信,至今这个文件仍然存在于Linux,Mac和Windows系统中。但随着计算机网络的不断扩大,分散式的hosts文件显得乏力低效,所以DNS这种集中式的计算机命名系统就诞生了。后来LDAP与AD也出现了。 LDAP/AD的发展路程 本地主机的hosts解析文件 DNS LDAP/AD 我们可以总结出一个模式:在起始阶段总是依靠单个实体,但最终需要与其他实体合作。团队合作的力量总是要大于单枪匹马。 系统管理 也不例外。随着系统的不断扩大,系统管理的任务量也不断上涨,传统分散式的系统存在很多缺陷,大多数系统管理任务如编辑配置文件、启动服务、甚至安装程序都是在各个计算机上分别完成。一些系统管理员使用Shell脚本、Python/Ruby/Go实现自动化管理。Python系统管理员应该都知道fabric库。 集中式系统管理的发展路程 开发者管理系统 专业的系统管理员(Sysadmin)出现 系统管理员写脚本使一些任务自动化 集中式系统管理(cfengine, Puppet, Ansible, chef, salt等) 为什么需要配置管理工具? 系统管理员的很多工作都是重复性的。基础设施的扩大使这些重复性工作花费大量时间。