kml 文件学习

维基百科对 KML 文件解释:

KML全称:Keyhole Markup Language,是基于XML(eXtensible Markup Language,可扩展标记语言)语法标准的一种标记语言(markup language),采用标记结构,含有嵌套的元素和属性。由Google(谷歌)旗下的Keyhole公司发展并维护,用来表达地理标记。根据KML语言编写的文件则为KML文件,格式同样采用的XML文件格式,应用于Google地球相关软件中(Google Earth,Google Map, Google Maps for mobile…),用于显示地理数据(包括点、线、面、多边形,多面体以及模型…)。而现在很多GIS相关企业也追随Google开始采用此种格式进行地理数据的交换。

KML在 2008 年成为国际标准

KML在2008年4月14日被OGC(Open Geospatial Consortium, Inc.開放地理信息系統協會,或譯成開放式地理空間協會)宣布為開放地理資訊編碼標準(OGC KML, OpenGIS® KML Encoding Standard),而Google同時也在網站Blog上宣布不再控制KML標準,而移交給OGC去維護發展,而被採用的開放地理資訊編碼標準(OpenGIS KML 2.2 Encoding Standard)可以在這個網頁見到完整的手冊內容:http://www.opengeospatial.org/standards/kml/

地标

These are just some of the different kinds of placemarks with which you can mark your favorite places

表示地图上的点,只包含一个 <Point> 元素。在Google Earth中通常是黄色图钉。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark>
 <name>Simple placemark</name>
 <description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description>
 <Point>
 <coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
 </Point>
 </Placemark>
</kml>

文件结构解释:

  • XML 表头
  • KML 命名空间声明
  • 包含以下元素的地标对象:
    • 用作地标标签的名称
    • 地标提示信息
    • 指定地标在地球表面的位置点-经度、纬度和高度(可选)

路径 Path

在 KML 中,路径是用 <LineString> 元素创建的。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document>
 <name>Paths</name>
 <description>Examples of paths. Note that the tessellate tag is by default
 set to 0. If you want to create tessellated lines, they must be authored
 (or edited) directly in KML.</description> <Style id="yellowLineGreenPoly">
 <LineStyle>
 <color>7f00ffff</color>
 <width>4</width>
 </LineStyle>
 <PolyStyle>
 <color>7f00ff00</color>
 </PolyStyle>
 </Style> <Placemark>
 <name>Absolute Extruded</name>
 <description>Transparent green wall with yellow outlines</description>
 <styleUrl>#yellowLineGreenPoly</styleUrl>
 <LineString>
 <extrude>1</extrude>
 <tessellate>1</tessellate>
 <altitudeMode>absolute</altitudeMode>
 <coordinates> -112.2550785337791,36.07954952145647,2357
 -112.2549277039738,36.08117083492122,2357
 -112.2552505069063,36.08260761307279,2357
 -112.2564540158376,36.08395660588506,2357
 -112.2580238976449,36.08511401044813,2357
 -112.2595218489022,36.08584355239394,2357
 -112.2608216347552,36.08612634548589,2357
 -112.262073428656,36.08626019085147,2357
 -112.2633204928495,36.08621519860091,2357
 -112.2644963846444,36.08627897945274,2357
 -112.2656969554589,36.08649599090644,2357 </coordinates>
 </LineString> </Placemark>
 </Document> </kml>

请注意,该代码生成的其实只是高于地面的一条折线。<tessellate> 标签将该折线切成小段,而 <extrude> 标签将其向下延伸到地面。

多边形 Polygon

五角大楼的示例是通过绘制简单的内外壳,然后将它们向下凸出到地面生成的。代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark>
 <name>The Pentagon</name>
 <Polygon>
 <extrude>1</extrude>
 <altitudeMode>relativeToGround</altitudeMode>
 <outerBoundaryIs>
 <LinearRing>
 <coordinates>
 -77.05788457660967,38.87253259892824,100 
 -77.05465973756702,38.87291016281703,100 
 -77.05315536854791,38.87053267794386,100 
 -77.05552622493516,38.868757801256,100 
 -77.05844056290393,38.86996206506943,100 
 -77.05788457660967,38.87253259892824,100
 </coordinates>
 </LinearRing>
 </outerBoundaryIs>
 <innerBoundaryIs>
 <LinearRing>
 <coordinates>
 -77.05668055019126,38.87154239798456,100 
 -77.05542625960818,38.87167890344077,100 
 -77.05485125901024,38.87076535397792,100 
 -77.05577677433152,38.87008686581446,100 
 -77.05691162017543,38.87054446963351,100 
 -77.05668055019126,38.87154239798456,100
 </coordinates>
 </LinearRing>
 </innerBoundaryIs>
 </Polygon>
 </Placemark> </kml> 

参考:


2015-07-24 wiki , kml , google-earth

Windows 10 无法连接 Openwrt Samba

安装完 Win10 之后,发现无法使用 \\ip\\ 这样的方式来访问 Openwrt 共享出来的文件。这个问题纠结我一整天,差点想要降级到 Win8.1 去,后来总算解决了。首先介绍一下环境:Windows build 10162, Openwrt Samba。

网上介绍说,Win10 最新版的安全机制导致此类“不安全”的访问形式被禁止。所以我尝试这个帖子,给 Samba 加上密码,然后还尝试了关闭了防火墙,最后还是没什么用。然后只能继续寻找方案。然后找到如下方案:

首先确认您的权限设置没有问题。然后尝试如下方法 打开注册表 Win+R 输入 regedit, 定位到如下位置 HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters 创建一个 DWORD 项, 命名为 ‘AllowInsecureGuestAuth’ , 值设置为“1”. 最后重启计算机再次访问查看结果。

详细介绍请看这里,这个链接同样详细介绍了错误原因,AllowInsecureGuestAuth 这个键值的意思是允许 guest 用户访问共享。然后设置注册表之后必须使用本地账号,而不能登陆 Microsoft 账号,如果使用微软账号登陆,则又不能访问。出现如下问题:

无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。此账户并未得到从这个工作站登录的授权。

所以在设置中使用本地账号,然后重启,就解决了这件事情。

本文可解决如下错误:

  • 你没有权限访问、****。请与网路管理员联系请求访问权限
  • The account is not authorized to log in from this station
  • 无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。此账户并未得到从这个工作站登录的授权。
  • 无法访问,你可能没有权限使用。网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。指定的登录会话不存在,可能已被终止

参考:1 2 3 4 5


2015-07-12 samba , windows , openwrt

纪念最后的英语课

学期最后的英语课结束了,这也可能是我最后的英语课了吧。说实话我一点也不后悔上这门似乎已经多余的英语课。或许是我庆幸有一个不太一样的老师。一个上课会讲宗教的英语老师,一个上课会讲政治的英语老师,一个甚至会用英语讲哲学的英语老师。虽然我也觉得老师上课没有教案,没课件,甚至是想到什么讲什么,这样的英语课是浪费时间,但回过来想。似乎到了我们这个阶段也不需要在过多的练习阅读、听力和口语了。我总觉得学习一门新的语言,就像打开了一扇未知的大门,里面是一个新的世界。之前我可能需要借助翻译来了解那个世界,而学会了一门新的语言,我就可以徜徉在那门语言的殿堂,那里有无数的经典著作,无数的哲学思考,那些文字不会有任何的扭曲,不会被任何翻译所玷污,也不会被任何错误的翻译所曲解。我想这也就是我这门英语课给我的最大收获了。

我曾经一度的认为英语并没有什么用途,那时从来没有人告诉过我英语的诗歌也可以同样的朗朗上口,没有人告诉我大部分影响着世界的政治经济哲学的书籍都是英文写的,那个时候英语好像就是冷冰冰的语法,死板的搭配,还有无穷无尽的陌生词汇。所以我感谢最后的英语课,并不是那么死气沉沉。所以我要写一篇文章来纪念这最后的英语课。

几个网站,一本词典

时间跳回到一年前,刚刚上这门课的时候,第一节课,老师什么具体的内容都没讲,只是带我们简简单单的看了几个网站,以及介绍了几本字典。老师对比了Oxford,Longman,Collins等等几部字典,最后推荐我们用朗文字典,因为朗文是英英解释,原话是“explain everything using 2000 words”。我觉得整整一门课,自这节课之后,整门课就已经修完了。师傅领进门,修行在个人,第一节课老师把学习的方法,学习的材料都已经给了,并且推荐了一本好的词典,学习路上的一切障碍都在这一节课扫清了。听BBC,VOA,经济学人,遇到陌生单词查朗文,那日复一日之后英语自然就进步了。

几部剧,一本书

上完第一节课之后,我们的课程就开始变得多样化了,没有特定主题,苏格兰闹独立了,我们会听一些新闻,顺带了解一下苏格兰英格兰的历史,谁谁谁又宣布出柜了,我们会讨论一下同性恋的观点,我们能够讨论的东西很多很多,但学期中有条主线那就是我讲的“几部剧,一本书”,这一本书是指的快乐学哲学,当然是英文版的,而几部剧包括纸牌屋,圣经故事公平与公正公开课。整个学期中,总是会有几节课来讨论哲学家的思考。 我曾经一度想过,如果我大学没有选修过《西方哲学史》,没有上过这门英语课,我离哲学有多远,我觉得可能我的余生都很难机会去接触这些思想。我所以庆幸,我庆幸能有这样的老师,能够带领我进入这个领域。虽然到学期结束的时候,我们讨论过的哲学思想只是那本书中提到的冰上一角,我觉得即使是那冰山一角都能够让我消化很久。书中提到马克思哲学“哲学家只是在用不同的方式解释世界,而问题在于改变世界”,哲学让我们明白这个世界的运作机理。在明白这个世界为什么是这样的之后,我们所学习的专业知识,就可以改变这个世界。如果学习计算机,可以尽自己所能帮助更多的人接触到互联网,如果学习新闻,可以用自己的笔为那些不能发声的群体说出那些社会不公,如果学建筑,可以尽己所能将这栋建筑做的牢固,虽然可能并不会有人真正理解你现在所做所为,但是当你所建造的大楼或者桥梁或者你曾写过的文字或者你曾开发出的工具被历史长河荡涤,后人会铭记。 所以我准备在接下来的日子里,把那些我们还没接触到的哲学家读完,虽然可能我并不会完全理解那些思考,但是总有一天会明白哲学家们用他们的视角解释这个世界的方式。

最后贴一张图

max


2015-07-12

如何将OneDrive移动到其他位置

和 Windows 集成的 OneDrive ,总之对我来说就是空间大了一些,之前参加几个活动有 >200G 的空间,这也许是唯一好过 Dropbox 的地方了。想要知道 Dropbox 有哪些神奇的用法,可以参考另一篇文章

回到正题,Win10 下如何移动 OneDrive 到另外的位置,在 Windows 下应该都知道,音乐,下载,视频,桌面等等几个系统默认的文件夹都是可以移动位置的,我在装完移动之后的第一件事情往往就是将这些系统默认的文件夹移动到其他盘去,一来方便管理,二来系统崩了也没事,重装之后直接更改位置到曾经改过的位置,那什么文件都回来了。而这几天安装完 Win10 之后发现 OneDrive 默认的位置在系统盘用户目录下,这样怎么看都不爽,所以找到了以下方法:

  1. 右击任务栏中的 OneDrive,选择设置
  2. Unlink 解除链接
  3. 重新登录 OneDrive,登录之后就会出现界面让你选择一个新的位置

如果本地已经有过 OneDrive 的文件夹,关联之前的 OneDrive 文件夹,可以参考 Dropbox 关联原先文件夹的文章

参考: 1


2015-07-08 OneDrive

Dropbox同步已存在的文件夹

重装系统,或者在一台新电脑上重装 Dropbox 之后,如果不想 Dropbox 下载一遍所有的文件,可以使用以下的方法,让 Dropbox 同步已经存在的 Dropbox 文件夹。保证自己本地已经有一份 Dropbox 文件夹拷贝。然后执行以下操作:

  1. 假设已经存在的 Dropbox 文件夹在 E:\Dropbox
  2. 安装 Dropbox
  3. 安装完成之后,登陆,在某一界面会显示高级选项,点击高级
  4. 进入高级界面之后,可以选择将 Dropbox 放到硬盘的位置,设置自己本地的目录
  5. 因为我本地已经有了一份 Dropbox 备份,所以将 Dropbox 设置中的位置选到 E:\
  6. 因为本地已经有 Dropbox 目录,所以程序会告诉你本地已经有一份,你是否想要合并—-“There is already a folder here called Dropbox. Do you want to merge all the existing files in that folder into your Dropbox?”,选择是,即可
  7. 之后 Dropbox 就会自己比较文件差异,然后就很快的将整个文件夹同步了

解决方案来自:http://forums.dropbox.com/topic.php?id=29612

附英文版:

Just copy from your existing Dropbox folder to Dropbox folder on new machine, and do the followting step:

  1. Put the existing Dropbox folder in /home/Me/, so it will be /home/Me/Dropbox
  2. Install Dropbox and do all things it requires you to do
  3. After installation, at some point, you will be asked to choose setup type. Here you will choose “Advanced”, and “Next”
  4. Now you want to specify where to put your Dropbox folder, so tick “I want to choose where to put my Dropbox”.
  5. Since I have my existing Dropbox folder at /home/Me/Dropbox, so I change the folder to ” /home/Me/”.
  6. Since you have the Dropbox folder already in the directory, the program would say “There is already a folder here called Dropbox. Do you want to merge all the existing files in that folder into your Dropbox?”. Here we click OK, and Next.
  7. In the extended attributes, we tick “Yes, enable synching for extended file attributes (may require root password)”
  8. Next, choose whatever you want. For me I choose to synch all files inthe Dropbox folder.

来源: 1


2015-07-08 Dropbox

Dropbox 技巧

Dropbox是一个云端硬盘,你可以在任何有网络的地方访问到它。它本身就足够的强大,和别人共享一个文件夹,添加到文件到该文件夹,文件就能出现在所有共享的人文件夹下。并且因为它公开的API,它变得更加强大。

同步任意文件夹到 Dropbox

“如何同步任意文件夹到Dropbox?”,这个问题好多人问过我,国内有家坚果云能够实现,其实 Dropbox 完全能够同步PC端任意文件夹的。查看官方的帮助

Right now, Dropbox will only sync the files in your Dropbox folder.

当时官方并没有直接说死,并且简单的提供了他们的解决方案:将文件移动到Dropbox文件夹下,在Windows下建立一个快捷方式(shortcut),在Mac OS X下alias,Linux下使用Link来实现从Dropbox文件夹外访问的目的。

当然如果要实现的更加智能的话,关键词—-mklink。Windows 7以上内部支持,Windows 7以下关键词—-junction。

D:\>mklink /?
创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target

		/D      创建目录符号链接。默认为文件
				符号链接。
		/H      创建硬链接,而不是符号链接。
		/J      创建目录联接。
		Link    指定新的符号链接名称。
		Target  指定新链接引用的路径
				(相对或绝对)。

例如:

mklink /D "D:\Dropbox\DestFolder" "D:\SourceFolder"

命令的意思是创建一个在D盘的SourceFolderm目录,指向Dropbox下DestFolder 目录。如果对其中任意一个文件夹里内容做修改,另一个同样会改变。junction 目录是 NTFS 文件系统的一个特性,语法类似,更多内容参考这里。需要注意的是,对于Dropbox来说,只能将Target目录放在Dropbox中,而不能在Dropbox目录里创建junction目录。而mklink命令没有这样的限制,Dropbox中的目录无论是Link,还是Target,Dropbox都能同步。附加一句,Target目录是事实上占用硬盘空间的目录。

如果你不熟悉命令行,那么GUI也是很好的选择,有许多的工具能够实现:

附加:如果想知道mklink /D 和 mklink /J 的区别,可以查看这里

哦,对了Mac OS X和Linux下使用 ln -s 吧。

Dropbox搭建静态网站或博客

你的Dropbox有一个公共文件夹,你在这个文件夹中添加的文件,网络上任何人都可以访问到,只要他们有一个链接指向该文件。从而可以把所有的HTML,JAVASCRIPT,CSS和图像文件放到这个文件夹中, 定向到你的域名,你的迷你网站就正式上线了。 另外,如果你想有一个更简单的解决方案,使用 DropPages.comScriptogr.amPancake.io 这样的应用,它们都可以使用Dropbox免费的发布你的简单的网站。DropPages和Pancake适合定期发布网页,而Scriptogram更适合于博客格式(按时间倒序)。国内还有一家 Farbox ,最初也是同类型的网站,后来渐渐的有了其他功能。

我自己的体验来说 Pancake 的体验最好,可以绑定域名,支持https,支持 Jekyll,支持git 等等,这里是我的主页 http://pancake.einverne.info 也可以是 https://einverne.pancakeapps.com

更多类似 Pancake 服务请看 alternativeto ,比较出名的还有Droppages,和国产的 Farbox

保存网页图片到Dropbox

Chrome扩展 Ballloon for Chrome,这个并不是单纯的Dropbox应用,这个扩展支持的云端存储覆盖面还是挺广泛的,从Dropbox,OneDrive,Google Drive,到Box,以及可能在国外流行的 Copy,SugarSync等等。

给我发送文件 Send me file direct to Dropbox

我使用 DropITtoMe,你可以通过这个网页向我发送文件 up to 75M,发送密码为:einverne

结合IFTTT产生更多火花

Save all Gmail attachments to Dropbox

将Gmail附件添加到 Dropbox,网络上有些应用可以生成一个Dropbox的邮箱,发送到邮箱就能将文件存入Dropbox,我觉得还是没有这个方便,我自己的Gmail,我自己的账号,安全性好,并且不容易忘记。

Link:https://ifttt.com/recipes/98759-save-all-your-gmail-attachments-to-dropbox

Send to kindle if file is stored under kindle folder

只要有文件存入 kindle 文件夹,自动将文件作为附件发送到 @kindle.com 邮箱。

Link:https://ifttt.com/recipes/17578-if-stored-in-kindle-dropbox-folder-then-send-it-to-your-kindle

Save all Instagram photos to Dropbox

将Instagram 照片保存到Dropbox

Link:https://ifttt.com/recipes/56-save-all-your-instagram-photos-to-dropbox

Save all liked Instagram photos into Dropbox

将Instagram 加心照片保存到 Dropbox

Link:https://ifttt.com/recipes/21350-shuffle-your-liked-instagram-photos-into-a-screensaver

更多 IFTTT 内容可参考另一篇 IFTTT 文章。

reference

参考文章:

最后,如果你还没有注册Dropbox,欢迎使用我的邀请,这样你我都增加500M的永久空间。


2015-07-01 Dropbox

IFTTT

###简介

IFTTT类似于一个自定义的触发器,和 Google Now,有异曲同工之妙,Google Now能够实现的,是基于使用 Google 的数据,而 IFTTT 则是使用这个互联网的数据。稍微举几个例子, IFTTT 能够实现的神奇功能,原先可能需要自己操作很多才能实现的功能,IFTTT可以自动化的完成。

比如, Gmail 收到一封带附件的邮件,你可能的操作就是查看邮件内容,下载附件,修改附件,然后回复邮件,而通过 IFTTT ,你可以设定一个触发,收到一份携带附件的邮件,自动将附件保存到 Dropbox ,这样当你查看邮件内容时, 可免去下载过程,直接修改本地文件,然后回复即可。https://ifttt.com/recipes/98759-save-all-your-gmail-attachments-to-dropbox

如果有人使用 Kindle ,会用 @Kindle.com 邮箱吧, 那我可以做一个触发,当我把文件保存到Dropbox 下的 kindle 文件夹中的时候,自动将文件 通过 Gmail 发送到 @kindle.com 。

还有我想保存我加心的 Instagram 图片到 Dropbox ,我想同步Blogger等等,只要你能想到,只要这个平台够开放,IFTTT就能实现。

###一些好用的recipes

Share broadcasted articles from Inoreader to Blogger https://ifttt.com/recipes/299846-share-broadcasted-articles-from-inoreader-to-blogger

Kindle标注内容分享到Goodreads自动同步到Evernote https://ifttt.com/recipes/278505-kindle-to-goodreads-to-evernote

Instagrams 加心的图片自动保存到 Dropbox https://ifttt.com/recipes/14475-save-the-instagrams-you-like-to-a-dropbox-folder

Instagram 点赞照片自动存入Google Drive https://ifttt.com/recipes/301649-save-the-photos-you-liked-on-instagram-to-google-drive

保存新浪微博到 Google Drive spreadsheet https://ifttt.com/recipes/197676-track-all-posts-you-publish-on-sina-weibo-in-a-google-spreadsheet

自动同步特定 #hashtag 的推文到新浪微博 https://ifttt.com/recipes/301676-share-your-tweets-with-specific-hashtag-to-sina-weibo

当然官方也提供了很多,可以视自己的需求来添加自己的recipes https://ifttt.com/recipes

###总结

可能是受 InoReader 的影响,我在使用 InoReader 的时候,产生了自动化的想法,可以依靠IFTTT 来实现, 比如 InoReader 的广播文章自动发布到Blogger, 因为 InoReader 集成了 Pinterest 所以我可以很方便的将文章图片保存到 Pinterest ,因此我有产生了一个想法,将 Pinterest 中的图片保存到云盘link。 InoReader 中有些文章,我加上 tag Evernote,我可以自动将这些文章备份到 Evernote。 当然作为一个深度 InoReader 用户,可能觉得会很方便。然而脱离了 InoReader , 其实 IFTTT 的应用场景也并不是那么的多。

当然应用的多少和平台的开放程度也密不可分,比如上面提到的 Pinterest ,它并不提供直接的 API ,而只是我们拿到了它的 RSS ,所以可以用来做一个触发器。 而打开 InoReader 的 Trigger 可以发现慢慢一屏幕可以作为触发器。

###产生的小火花

如何将网页文件保存到云盘?

网页上右击直接将文件保存到云盘 Google Drive , Dropbox 中 Chrome插件 Balloon for Chrome https://chrome.google.com/webstore/detail/kbmligehjhghebleanjcmenomghmcohn

原文地址:https://docs.google.com/document/d/1GQIkkM_maAolbBp_hrJeDFjbsRvS5Il3s_eCxsj6CII/edit?usp=sharing

本文的产生感谢吴校杰Harry Xu张燕


2015-06-23 ifttt

Windows下查看占用端口程序

今天启动shadowsocks,突然发现本地1080端口被占用,原本是只要改一下配置中的本地端口即可,但是不想修改Chrome和Proxifier中的配置,所以就找了一下Windows查找下端口占用的方法。

##查看所有端口占用情况

cmd命令行下

netstat -ano

查看所有端口占用情况

##查看特定端口占用情况

cmd命令行下

netstat -ano|findstr "1080"

查看特定本地1080端口占用

以上两个命令中最后一列就是PID,程序对应进程ID,知道了进程ID,在任务管理器中杀死该进程即可,而在我的情况下就是NVIDIA的一个进程占用了1080端口,杀死该进程重启shadowsocks即可。

##查看PID对应进程

用以下命令查看PID对应进程

tasklist|findstr "5376"

查看PID为5376的进程名字,在我重启了shadowsocks之后就显示了以下

shadowsocks.exe         5376 Console            1     28,020 K

##附录

shadowsocks报错内容

Error: listen EACCES

2015-06-13 Windows

CentOS 安装文件区别

##下载地址

  • 官网:http://www.centos.org/
  • 下载:http://www.centoscn.com/CentosSoft/iso/
  • 阿里云开源镜像站: http://mirrors.aliyun.com/
  • 搜狐开源镜像站:http://mirrors.sohu.com/
  • 网易开源镜像站:http://mirrors.163.com/

i386是给32位机器使用的,而x86_64适用于64位机器。前者只能使用32位软件,后者可以兼用32位软件,这就是两者区别。如果你的服务器内存超4GB,强烈建议使用64位版本;如果只在虚拟机器里安装学习,那么32位就行了,也就是选择i386版本。如果想做服务器,则建议选64位。

http://mirrors.pubyun.com/centos/6.6/isos/

##版本区别

我们看到共分为LiveCD、LiveDVD、bin-DVD、bin-DVD和netinstall五种,分别作下介绍:

  1. BinDVD版:这就是普通安装版,需安装到计算机硬盘才能用,bin版也是最完整的版本,一般都比较大,因为包含了大量的常用软件,安装时无需再在线下载。如果是安装到虚拟机里学习使用的,选它没错。

     DVD1:基本系统+部分软件包。
     DVD2:更多的软件包。
    
  2. LiveDVD版:看名字就知道了,就是光盘安装版。它可以通过光盘启动电脑,启动出CentOS系统,也有图形界面,也有终端。也可以安装到计算机,但是有些内容可能还需要再次到网站下载(自动)。
  3. LiveCD版:相比LiveDVD这是个更精简的光盘CentOS系统,体积更小,便于维护使用。
  4. minimal版:就是迷你版,精简了更多的东西,针对服务器优化了许多内容。如果是虚拟机学习安装,不推荐用此版本。因为minimal不带一些最基本的软件,有时候用起来比较麻烦,例如minimal连文本编辑器都不带。相比而言,bin版本则带的太多了,装过一次把桌面都带上了,如果作为服务器就不需要这么多功能。
  5. netinstall版:顾名思义,网络安装版。除非是逼不得已的情况,不然不推荐。 其实README.txt文件里面(如上图)已经写得比较清楚了,只不过都是英文的,可以看一下。另外,md5sum和sha1sum文件是MD5和SHA1的校验值。ISO文件下载后可以对照一下,以保证文件的原版完整性。

2015-06-10 linux , centos

加密入门(三):TrueCrypt

TrueCrypt 是一款功能强大的开源加密工具,利用 TrueCrypt 可以创建一个加密文件作为虚拟加密卷,将需要保护的文件保存在这个加密文件之中,也可以对硬盘分区进行加密,甚至是对系统分区进行加密。

下面我们一起来认识一下强大的 TrueCrypt。

##1. 下载安装 TrueCrypt

首先到官方网站下载 TrueCrypt,进入下载页面之后,在 “Windows 7/Vista/XP/2000” 下方点击 Download 按钮下载 Windows 版本。

安装过程是英文界面,请按照以下的步骤进行安装:

  1. 运行下载的安装程序,进入“License”(授权)页面,勾选授权文本下方的“I accept and agree to be bound by the license terms”(我同意并接受授权协议的约束)复选框,点击“Accept”(接受)即可。
  2. 进入“Wizard Mode”(向导模式)页面。可供选择的选项有以下两个:
    • Install(安装模式):正常安装 TrueCrypt,将向注册表中写入相关信息并且创建快捷方式。
    • Extract(解压模式):将 TrueCrypt 解压到指定文件夹,不会向计算机中写入任何信息,执行 TrueCrypt.exe 即可运行 TrueCrypt。
  3. 假如上一步选择 Install 选项,点击 Next进入“Setup Mode”(安装模式)页面,请参照下图文字说明进行设置,设置完成点击 Install(安装)即可开始安装。
  4. 假如上一步选择 Extract 选项,安装程序将弹出对话框要求确认,文字大意是:假如选择 Extract 选项进行安装,TrueCrypt 每次启动都必须以 Portable Mode(移动模式)运行,因此每次运行时都必须以管理员身份启动,而且触发 UAC(用户帐户控制)提示。确认之后进入下一页面,选择解压路径之后点击“Extract”开始解压。 安装完成后请到 http://www.truecrypt.org/localizations 下载简体中文语言包,下载后解压到 TrueCrypt 的安装目录中,然后运行 TrueCrypt,选择“Setting”菜单中的“Language”选项,在弹出的对话框中选择“简体中文”即可。

##2. 创建挂载加密文件/分区

创建加密文件/分区是 True Crypt 最基本的加密功能,两者统称为加密卷。在创建方法和使用方法上两者并无太大区别。

按照下述步骤创建加密卷。

  1. 运行 TrueCrypt,选择“加密卷”菜单中的“创建加密卷”选项,TrueCrypt 将弹出加密卷创建向导对话框。此处有三个选项可供选择:
    • 创建文件型加密卷:创建加密文件,将机密数据保存在某个加密文件中。
    • 加密非系统分区/设备:创建加密分区,将机密数据保存在某个加密分区中。
    • 加密系统分区或者整个系统所在硬盘:将整个系统分区进行加密,在开机之前需要输入密码。

选择第一项或者第二项,点击下一步继续。

  1. 进入“卷类型”页面,此处有两个选项可供选择:
    • 标准TrueCrypt加密卷
    • 隐藏的TrueCrypt加密卷

这里选择第一项,后文将对隐藏加密卷这一功能做介绍。点击下一步继续。

  1. 如果之前选择的是“创建文件型加密卷”,现在就进入“加密卷位置”页面,在此选择存放加密卷文件的位置,由于 TrueCrypt 允许你使用任何扩展名,你可以使用 .doc 等常见扩展名进行伪装,设置完成之后点击下一步继续。
  2. 如果之前选择的是“加密非系统分区/设备”,现在同样进入“加密卷位置”页面,不过选择的是需要加密的设备,选择设备之后需要设置“加密卷创建方式”,包括“创建加密卷并格式化”和“就地加密分区”两个选项,设置完成之后点击下一步继续。
  3. 现在进入“加密选项”页面,在此可以选择加密算法和哈希算法,默认的设置是 [[AES 加密算法]]和 RIPEMD-160 哈希算法,建议保留默认设置即可,设置完毕点击下一步继续。
  4. 进入“加密卷大小”页面,如果创建文件型加密卷在此可以指定加密卷的大小,加密卷大小实际上就是加密卷的最大容量,请按照自己的需要和数据大小进行设置,点击下一步继续。
  5. 进入“加密卷密码”页面,在此可以选择两种不同的解密方式:密码和密钥文件。两种解密方式可以叠加,设置完毕点击下一步继续。
  6. 进入“加密卷格式化”页面,在此可以设置加密卷的文件系统类型、簇大小。如果之前选择的是“创建文件型加密卷”,此处可以设置是否动态卷,动态卷是指加密文件的大小根据数据容量自动扩展。如果之前选择的是“加密非系统分区/设备”,此处可以设置是否快速格式化,设置完成点击“格式化”按钮即可开始创建加密卷的过程。

加密卷需要挂载才能使用,请按以下步骤进行挂载:

  1. 在 TrueCrypt 主界面点击“加载文件”或“加载设备”按钮,选择加密文件或者加密分区。
  2. 在盘符列表中选择某个空闲的盘符,点击下方的“加载”按钮。
  3. 按照预设的解密方式输入密码或提供密钥文件进行解密。
  4. 如果有需要,点击对话框中的“加载选项”按钮,可以进一步调整加载设置。

挂载完成之后在资源管理器就可以看到加密卷了,使用加密卷与使用普通分区无异,解密处理自动在后台进行,对用户透明。

使用完这个加密卷之后请在 TrueCrypt 主界面下方点击“卸载”按钮卸载这一加密卷,以确保数据安全。

假如你需要修改加密卷密码的话,请先将加密卷卸载,然后点击“加密卷工具”按钮,在菜单中选择“更改加密卷密码”,然后在弹出的对话框中更改密码即可。

##3. 创建挂载隐藏加密卷

隐藏加密卷是一种迷惑入侵者、隐藏加密数据的方法,即是通过在加密卷中隐藏另一个加密卷来保护保密数据,如果你被强迫要求提供加密卷密码,可以提供外层加密卷密码,入侵者不能证明存在隐藏加密卷。

创建隐藏加密卷的步骤实际上与创建普通加密卷很类似,在创建加密卷向导第二步选择创建隐藏加密卷,然后选择创建隐藏加密卷模式,有以下两种模式可供选择:

  • 常规模式:首先创建一个普通加密卷作为外层加密卷,然后创建内层隐藏加密卷。
  • 直接模式:利用已经创建的普通加密卷作为外层加密卷,然后创建内层隐藏加密卷。

此后步骤与创建普通加密卷类似,请按照向导操作即可。

挂载隐藏加密卷的方法是直接输入隐藏加密卷的密码,也就是说,载入的加密卷是外层加密卷还是隐藏加密卷是依靠输入的密码来决定的,而非先载入外层加密卷,再载入隐藏加密卷。

由于隐藏加密卷和外层加密卷共用空间,所以向外层加密卷写入数据可能破坏隐藏加密卷,所以在隐藏加密卷创建完成之后不要再修改外层加密卷的内容,如果需要修改请在挂载时对隐藏加密卷进行保护,以免导致隐藏加密卷被破坏。方法如下:

在挂载外层加密卷输入密码时,点击“加载选项”,在弹出的“加载选项”对话框中选择“向外层加密卷写入数据时保护隐藏加密卷”,然后输入隐藏加密卷密码加载即可对隐藏加密卷进行写入保护。但是应该注意的是保护隐藏加密卷会使别人很容易发现隐藏加密卷,因为 TrueCrypt 中显示的加密卷类型是“外层”。

##4. 加密系统分区

在对系统分区进行加密之前请做好以下的准备工作:

  • 准备一张空白光盘以刻录 TrueCrypt 应急盘,或者安装虚拟光驱软件。
  • 确认 TrueCrypt 为安装版。

请按照以下步骤进行设置:

  1. 启动“创建加密卷”向导,选择“加密系统分区或者系统所在硬盘”选项,点击“下一步”继续。
  2. 进入“系统加密类型”页面,此处有两个选项可供选择:
    • 常规:直接对系统分区或整个硬盘进行加密。
    • 隐藏:创建隐藏操作系统,类似于隐藏加密卷。

此处我们选择第二项,点击下一步继续。

  1. 进入“要加密的区域”页面,此处有两个选项可供选择:
    • 加密 Windows 所在的分区:仅仅加密 Windows 安装所在的分区,通常是指C盘。
    • 加密整个硬盘:将安装 Windows 的硬盘进行加密。

请根据自己的需要选择,点击“下一步”继续。

  1. 假如刚才选择加密整个硬盘,向导将询问是否加密主机保护区域,建议选择“否”,点击下一步继续。
  2. 现在进入“操作系统数目”页面,请根据实际情况选择“单系统”或者“多重启动”(建议多重启动用户不要使用此类加密),点击下一步继续。
  3. 此后几个步骤与创建普通加密卷相同,包括选择加密算法和输入密码等等,根据向导设置即可。
  4. 现在 TrueCrypt 会要求刻录 TrueCrypt 应急盘,必须刻录之后才能继续。如果不想刻录的话使用虚拟光驱挂载镜像文件即可,验证光盘完毕之后点击“下一步”。
  5. 现在 TrueCrypt 会询问擦除模式,可选选项为“不擦除”、“3 次擦除”、“7 次擦除”和“35 次擦除”,擦除次数越多,数据安全性越好,但耗费时间就越长,设置完成后点击“下一步”。
  6. 现在 TrueCrypt 会对系统进行预测试,点击“测试”按钮重启计算机进行测试,重启后 Windows 启动之前会要求输入密码。
  7. 进入系统之后 TrueCrypt 会提示可以开始加密,注意开始加密之后无法中途取消,只能暂停或者推迟加密操作。
  8. 加密完成,以后每次开机都需要输入密码才能使用操作系统。

假如你需要对加密的系统进行解密的话,运行 TrueCrypt,选择“系统”菜单中的“永久解密系统分区/驱动器”,确认之后即可开始解密。

TrueCrypt 是一个既专业又易用的加密软件,可以为本机的机密数据提供高质量的加密保护,推荐对数据安全有较高要求的朋友使用。

##本文历史:

2011 年 3 月 20 日:初稿完成 2011 年 8 月 13 日:精简文字,调整结构

原文地址:加密入门(三):TrueCrypt http://terrychen.info/encryption-truecrypt/


2015-05-27 encryption , TrueCrypt , windows

电子书

最近文章

  • So you Start 独服 Proxmox VE 配置 RAID 10 之前购买的 So you Start(OVH 旗下品牌) 的独服,配置有 4 块 2T 的硬盘,但是 So you Start 后台默认的 RAID 级别是 RAID1,这样使得可用的空间只有 8T 中的 2T,25% 的使用率,虽然硬盘安全性级别比较高(允许多块硬盘损坏的情况下依然不丢数据),但是空间可用率太低了,所以折中一下可以使用 RAID-10(允许一块硬盘损坏而不丢失数据),这里就记录一下如何把 So you Start 的独服从 RAID-1 级别在线调整成 RAID-10。正常情况下 OVH 旗下的主机品牌,包括 OHV,So you Start, Kimsufi 都可以适用本教程,其他独服的操作也类似。
  • Ubuntu 20.04 使用 MergerFS [[so-you-start]] 的独服有4块 2T 的硬盘,本来想配置一个 Soft RAID-10,但折腾了一个礼拜,重装了无数遍系统,配置了很多次,从 Ubuntu,Proxmox VE,Debian 都尝试了一遍,最终放弃了,想着充分利用其空间,使用 Proxmox VE,备份好数据,不用 RAID 了,毕竟如果使用默认的 RAID-1,我只能利用8T空间中的 2T 不到,而使用 RAID-10 也只能利用不到 4T 左右空间。至于使用单盘,所有的数据备份,和数据安全性的工作就完全依靠自己的备份去完成了。但是好处是可利用的空间大了。
  • 独服 Proxmox VE 配置 NAT 使虚拟机共用一个公网 IP [[so-you-start]] 的独立服务器本来安装了 Ubuntu 20.04,后来想想为了充分利用 CPU 和内存,不如安装一个 [[Proxmox VE]] 然后在其基础之上再安装 Ubuntu 或者其他的系统测试。So you Start 通过后台安装 Proxmox 的过程比较简单,我直接使用了后台的 Proxmox VE 6 模板安装了 Proxmox。
  • So you Start 独服 Proxmox VE 虚拟机配置 Failover IP 最近买了一台 [[so-you-start]] 的独立服务器,开始的时候安装了 Ubuntu 没有充分利用独立服务器的优势,所以这两天把系统重新安装成了 Proxmox VE,然后在上面又安装了 Ubuntu 20.04,So you Start 提供了额外可以购买的 16 个 [[Failover IPs]],Failover IP 本来是为了可以将服务器迁移到另外的服务器而提供的机制,但在 Proxmox VE 虚拟化技术系统下,可以给虚拟机也分配不同的 IP,这样就实现了从一台服务器虚拟化多个 VPS 的操作。
  • 使用 Remark42 替换博客的 Disqus 评论系统 前两天用隐身窗口打开自己的博客的时候突然发现 Disqus 评论框上一大片广告,没想到现在 Disqus 已经这样了,并且之前还暴露出过隐私问题。所以就想着什么时候替换掉它。