2015年3月

iSCSI 是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,可以用已经存在的IP和以太网如网卡、交换机、路由器等通过iSCSI协议共享和访问存储。iSCSI target是一种由远程iSCSI服务器(target)提供的远程硬盘。

Install iSCSI Target in Linux

在Linux中安装iSCSI Target

我们不需要占用很大的资源就可以为客户端提供稳定的连接和性能。iSCSI服务器称为“Target(目标器)”,它提供服务器上的存储共享。iSCSI客户端称为“Initiator(发起程序)”,它访问目标器共享的存储。市场中有卖的用于大型存储服务如SAN的iSCSI适配器。

我们为什么要在大型存储领域中使用iSCSI适配器

以太网适配器(NIC)被设计用于在系统、服务器和存储设备如NAS间传输分组数据,它不适合在Internet中传输块级数据。

iSCSI Target的功能

  • 可以在一台机器上运行几个iSCSI 目标器
  • 一台机器可以提供多个iSCSI 目标器用于iSCSI SAN访问
  • 一个目标器就是一块存储,并且可以通过网络被发起程序(客户端)访问
  • 把这些存储汇聚在一起让它们在网络中可以访问的是iSCSI LUN(逻辑单元号)
  • iSCSI支持在同一个会话中使用多个连接
  • iSCSI发起程序在网络中发现目标接着用LUN验证并登录,这样就可以本地访问远程存储。
  • 我们可以在本地挂载的LUN上安装任何操作系统,就像我们安装我们本地的操作系统一样。

为什么需要iSCSI?

在虚拟化中,我们需要存储拥有高度的冗余性、稳定性,iSCSI以低成本的方式提供了这些特性。与使用光纤通道的SAN比起来,我们可以使用已经存在的设备比如NIC、以太网交换机等建造一个低成本的SAN。

现在我开始使用iSCSI 目标器安装并配置安全存储。本篇中,我们遵循下面的步骤:

  • 我们需要隔离一个系统来设置iSCSI 目标器和发起程序(客户端)。
  • 在大型存储环境中可以添加多个硬盘,但是这里我们除了基本的安装盘之外只使用了一个额外的驱动器。
  • 这里我们只使用了2块硬盘,一个用于基本的服务器安装,另外一个用于存储(LUN),这个我们会在这个系列的第二篇描述。

主服务器设置

  • 操作系统 – CentOS 6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.200
  • 使用的端口 : TCP 860, 3260
  • 配置文件 : /etc/tgt/targets.conf

安装 iSCSI Target

打开终端并使用yum命令来搜索需要在iscsi 目标器上安装的包名。

# yum search iscsi

输出示例

========================== N/S matched: iscsi =======================
iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils
lsscsi.x86_64 : List SCSI devices (or hosts) and associated information
scsi-target-utils.x86_64 : The SCSI target daemon and utility programs

你会的到上面的那些结果,选择Target包来安装。

# yum install scsi-target-utils -y

Install iSCSI Utils

安装iSCSI工具

列出安装的包里面的内容来了解默认的配置、服务和man页面的位置。

# rpm -ql scsi-target-utils.x86_64

List All iSCSI Files

列出所有的iSCSI包里面的文件

让我们启动iSCSI服务,并检查服务运行的状态,iSCSI的服务名是tgtd

# /etc/init.d/tgtd start
# /etc/init.d/tgtd status

Start iSCSI Service

启动iSCSI服务

现在我们需要配置开机自动启动。

# chkconfig tgtd on

现在验证tgtd服务的运行级别是否配置正确。

# chkconfig --list tgtd

Enable iSCSI on Startup

开机启动iSCSI

现在使用tgtadm来列出在我们的服务器上已经配置了哪些target和LUN。

# tgtadm --mode target --op show

tgtd已经安装并在运行了,但是上面的命令没有输出因为我们还没有在Target服务器上定义LUN。要查看手册,可以运行‘man‘命令。

# man tgtadm

iSCSI Man Pages

iSCSI Man 页面

如果你的目标器上有iptable的话,那么我们需要为iSCSI添加iptable规则。首先使用netstat命令找出iscsi target的端口号,目标器总是监听TCP端口3260。

# netstat -tulnp | grep tgtd

Find iSCSI Port

找出iSCSI端口

下面加入如下规则让iptable允许广播iSCSI 目标器发现包。

# iptables -A INPUT -i eth0 -p tcp --dport 860 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp --dport 3260 -m state --state NEW,ESTABLISHED -j ACCEPT

Open iSCSI Ports

打开iSCSI端口

Add iSCSI Ports to Iptables

添加iSCSI端口到iptable中

注意: 规则可能根据你的默认链策略而不同。接着保存iptable并重启该服务。

# iptables-save
# /etc/init.d/iptables restart

Restart iptables

重启iptable

现在我们已经部署了一个目标器来共享LUN给通过TCP/IP认证的发起程序。这也适用于从小到大规模的生产环境。

在我的下篇文章中,我会展示如何在目标器中使用LVM创建LUN,并且如何在客户端中共享LUN,不要忘记留下有价值的评论。


via: http://www.tecmint.com/create-centralized-secure-storage-using-iscsi-targetin-linux/

作者:Babin Lonston 译者:geekpi 校对:wxy

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

愉(xin)快(sai)的开学季又来了,你准备好迎接新的挑战了吗?在这里,我们为大家准备了6本学习Linux的干货书籍作为开学礼。即日起,关注@Linux中国 @图灵教育 转发此微博就有机会获赠以下图书,活动时间:2015年3月2日-3月9日。带着新书,满血复活吧。

微博地址:http://weibo.com/1772191555/C6IbPlGJ5

活动时间:2015年3月2日-2015年3月9日

特此注意:

微博用户参与活动,注意查看@Linux中国\_笑语彦然 微博公布的中奖名单或留意您的微博私信。我们会通过微博私信的方式获取您的邮寄信息。

1、《Linux shell脚本编程入门》

图书介绍:

Linux OS在服务器以及近来引发热议的嵌入式系统中都得到广泛应用,本书介绍的就是关于这个程序所必备的Shell编程要素。尤其还收录了现在门户网站、企业等使用的主流套件CentOS(Community ENTerprise Operating System)为基础的各种Linux命令,编写了Linux Shell脚本编程示例,使读者可以亲自测试。
通过此书读者可以了解到Linux学习中必知的Shell(Bourne shell,Bash shell)指令,学习Linux整体系统要素,熟悉Linux服务器和嵌入式Linux的基础知识。另外,通过对Linux服务器运行中的必要因素——Shell脚本编程的理解和示例,读者可以成长为善于思考的管理员、程序员,提高自己的知识水平。

试读样章:【第一章】

购买链接:http://product.china-pub.com/3804070

2、《Linux就是这个范儿》

图书介绍:

本书内容源自淘宝技术大学的培训实战。由来自阿里巴巴集团的资深Linux系统专家赵鑫磊和同样来自阿里巴巴集团的支付宝网络技术有限公司的高级专家Jie Zhang(张洁)共同著写。
两位作者用轻松、诙谐的语言讲解了高深的Linux特性。通俗易懂、深入浅出,从Linux设计思想的角度出发,授人以渔。同时,又密切结合应用案例,透彻展示出Linux的系统架构设计是如何在实际中贯穿的,从而让读者真正掌握Linux的强大之处。书中不含较为复杂的技术理论问题,一切从实际出发。
全书共分为三个部分:基础篇、进阶篇和扩展篇。通过对Linux的版本选择与安装、基本使用与系统结构、设计哲学与思想、脚本编程与软件开发、内核编译、网络与认证,以及多媒体等几个方面的精彩讲解,将Linux操作系统的灵魂与运用教授给读者。

试读样章:【第一章】 【第二章】 【第四章】 【第九章】

购买链接:http://product.china-pub.com/3803956

3、《ARM Linux内核源码剖析》

图书介绍:

《ARM Linux内核源码剖析》是多位作者在3 年Liunx 内核分析经验和庞大资料基础上写成的,收录了其他同类书未曾讲解的内容并进行逐行分析,一扫当前市场中其他理论书带给读者的郁闷。书中详细的代码分析与大量插图能够使读者对Linux 内核及ARM 获得正确认识,自然而然习得如何有效分析定期发布的Linux 内核。
《ARM Linux内核源码剖析》适合想从Linux 内核启动开始透彻分析全部启动过程的读者,因Linux 代码量庞大而束手无策的人、想要了解Linux 实际运行过程的人、渴求OS 实操理论的人,本书必将成为他们不可或缺的参考书。

试读样章:【第一章】

购买链接:http://product.china-pub.com/3770309

4、《Linux系统架构和应用技巧》

图书介绍:

《Linux系统架构和应用技巧》内容涉及Linux内部结构、虚拟化基础设施环境的构建、内核源代码的阅读以及RHEL6新功能综述。通过搭建虚拟化基础设施,给读者提供了方便实用的Linux系统的学习和实践的环境;同时,设计了10个可操作的脚本实验,尽可能覆盖Linux操作系统的关键应用技术,包括进程监控、远程登录、文本处理等。其中的技巧根植于作者的多年经验,具有极强的现场感和可操作性。
《Linux系统架构和应用技巧》适合有一定经验的Linux程序员和爱好者阅读。

试读样章:【第三章】

购买链接:http://product.china-pub.com/3770632

5、《跟阿铭学Linux》

图书介绍:

《跟阿铭学Linux》是一本入门级的Linux学习教材,适合初学者阅读。本教程由浅入深,内容精湛,案例丰富,通俗易懂!主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。对于有工作经验的人,它也是一本详尽的工具书,助你解决工作当中的一些需求和难题,让你受益匪浅。

试读样章:【第一章】

购买链接:http://product.china-pub.com/3770553

6、《只是为了好玩》

图书介绍:

《只是为了好玩:Linux之父林纳斯自传》是Linux 之父林纳斯·托瓦兹的自传,内容不只包括他的成长经历、Linux 系统的诞生过程、与之相关的争议,还有他本人对于版权、开源、商业软件等的看法以及对生活意义的思考。
《只是为了好玩:Linux之父林纳斯自传》语言幽默活泼,读来生动有趣且发人深思,适合所有人,尤其是对Linux 感兴趣的读者阅读。

试读样章:【第一章】

购买链接:http://product.china-pub.com/3770407

不需要再介绍Telegram了,对吧。Telegram是一款流行的免费即时通信工具,可以让你在全球与朋友聊天。不像Whatsapp,Telegram是永久免费、没有广告、没有订阅费用的。并且Telegram客户端也是开源的。Telegram在许多不同的平台中都有,包括Linux、Android、iOS、Windows Phone和Mac OS X。使用telegram发送的消息是高度加密且会自我销毁。它很安全,并且没有对你的多媒体和聊天的大小作限制。

先前的教程中我们已经提到你可以在Ubuntu/Debian中安装Telegram。然而,有一个新的Telegram客户端叫Cutegram出现了,可以使你的聊天体验更加有趣和简单。

Cutegram是什么?

Cutegram是一款专注于用户友好、与Linux桌面环境兼容和易于使用的开源 telegram 的 GNU/Linux客户端。Cutegram使用Qt5、QML、libqtelegram、libappindication、AsemanQtTools技术和Faenzatu图标和Twitter emojie图片集。它在GPLv3许可证下免费发布。

安装 Cutegram

进入Cutegrm的首页病根据你的发行版版本选择最新的版本。我使用的是Ubuntu 64位版,所以我下载的是.deb文件。

wget http://aseman.co/downloads/cutegram/cutegram_1.0.2-1-amd64.deb

现在,如下安装Cutegram:

sudo apt-get install gdebi
sudo gdebi cutegram_1.0.2-1-amd64.deb

对于其他发行版,运行下面的命令。

64位:

wget http://aseman.co/downloads/cutegram/cutegram-1.0.2-linux-x64-installer.run

32位:

wget http://aseman.co/downloads/cutegram/cutegram-1.0.2-linux-installer.run

设置执行权限:

chmod a+x cutegram-1.0.2-linux*.run

如下进行安装。

sudo ./cutegram-1.0.2-linux*.run

使用

在菜单或者Unity dash中启动Cutegram。在登录界面,选择你的国家并输入电话号码,最好点击Login

一个验证码将会发送到你手机上。输入验证码并点击Sign in

你会看到

开始聊天吧!

接着,你可以设置头像,开始新的聊天/群聊,或者使用左边面板的按钮开始秘密聊天。

玩得开心!干杯!!

更多细节,请关注Cutegram 网站


via: http://www.unixmen.com/cutegram-better-telegram-client-gnulinux/

作者:SK 译者:geekpi 校对:wxy

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

Xen 是一个直接运行在硬件上的虚拟机监视器,这意味着你必须准备一个裸机来安装和运行 Xen。而 KVM 则和 Xen 有一些不同 —— 你可以把它添加到任何已经正在运行 Linux 的机器上。本教程描述了如何在废旧的硬件上安装和配置 Xen 虚拟机监视器。

整个安装过程使用 Debian Jessie(Debian 的测试发行版)作为宿主机操作系统(也称作 Dom0)。Jessie 并不是唯一的选择 —— Xen 的支持是内建在 Linux 内核中的,许多 Linux 发行版 都包含支持 Xen 的内核。

找点废旧的硬件

首先,找一个可以格式化的合适的工作站,比如一台旧的笔记本或者台式机。旧的硬件可能不适合玩游戏,但是足够安装一个宿主机和一些客户机了。一个满足下面这些要求的 PC 机就可以了。

  • 一个双核 CPU(64 位)
  • 4GB 内存
  • 80GB 硬盘
  • 能够从 CD,DVD 或者 USB 引导启动
  • 一块网卡

注意 CPU 必须是 64 位的,因为 Debian 已经不再支持 32 位的 Xen 安装包。如果你没有空余的硬件,你可以花点钱买一台旧机器。2010 年值 $1000 的旗舰级笔记本现在只需要 $100。从 eBay 买台二手笔记本并升级下内存也可以满足需求。

刻录一个引导 CD/USB

下载 Debian Jessie 的 ISO 镜像。从 Debian 官网 下载网络安装镜像就可以了。

$ wget http://cdimage.debian.org/cdimage/jessie_di_beta_2/amd64/iso-cd/debian-jessie-DI-b2-amd64-netinst.iso 

接下来,记下你的 CD/DVD 或者 USB设备 所识别的设备名 (例如 /dev/sdc)。

使用 dd 命令将 ISO 镜像刻录至 CD 或者 USB 中。将下面的 /dev/sdc 替换为你上面识别出的设备名。

$ sudo dd if=debian-jessie-DI-b2-amd64-netinst.iso of=/dev/sdc 

开始安装

安装前,使用刻录的 CD/USB 启动 Debian 的安装界面。

最好是使用有线网络,而不是 WIFI。如果因为固件或者驱动的原因导致 WIFI 不能连接,你将无法完成下面的步骤。

硬盘分区

这里的设置使用了四个分区。自动安装时通常会创建一个包含逻辑分区的扩展分区。像下面这样给硬盘分四个区。

  • sda1 挂载至 /boot,200MB
  • sda2 做为 /, 20GB, Ubuntu 占用 4GB
  • sda3 做为 swap, 6GB (4GB x 1.5 = 6)
  • sda4 保留用作 LVM, 不挂载,大小为剩余的硬盘大小

安装基本的系统

这里尽可能的让系统的安装更简单快速一些。一个基本的工作用系统可以稍后再添加。Debian 的 APT(Advanced Package Tool)使得添加软件非常的简单。在机器上安装 Debian 可能会有一些很浪费时间的问题。可能显卡驱动与内核不监控或者可能老旧的 CD-ROM 驱动器只能间歇性的工作。

当选择安装软件时,选择安装一个 SSH 服务器,不要安装桌面环境如 Gnome。

安装一个图形桌面需要安装成百上千的包 —— 这些额外的工作可以稍后再进行。如果你遇到问题了,等待图形桌面的安装会浪费很多时间。同时,没有桌面组件,系统的启动可以更快一些 —— 只需要几十秒而不是几分钟。整个安装过程会需要重启几次,因此这样做可以节省不少时间。

一个 SSH 服务器可以让你从另一台电脑来配置这台工作站。这可以避免一些旧硬件的问题 —— 可能旧机器的键盘少了几个键,LCD 屏幕有坏点或者触摸板没有反应等等。

添加 LVM (Logical Volume Manager)

以 root 身份安装 LVM 工具。

# apt-get update
# apt-get install lvm2

选择一个分区创建物理卷。

# pvcreate /dev/sda4

创建卷组。

# vgcreate vg0 /dev/sda4

你并不需要创建逻辑卷。如果你想测试 LVM 是否正常,可以创建一个逻辑卷然后删掉它。

# lvcreate -nmytempvol -L10G vg0
# lvremove /dev/vg0/mytempvol 

检查 LVM 状态。

# pvs (查看物理卷的信息)
# vgs (查看卷组的信息)
# lvs (查看逻辑卷的信息)

添加一个 Linux 网桥

这里我们要添加一个桥接网卡,这样 Xen 客户机就可以通过网桥连接网络。

安装桥接的工具。

# apt-get install bridge-utils

查看在哪块网卡配置桥接。

# ip addr 

在这个例子中,我们有一块网卡名称为 eth0。我们准备修改配置文件(/etc/network/interfaces)将 eth0 作为桥接设备。

在进行更改之前,备份网络配置文件以保证原来的工作配置是安全的。

# cd /etc/network/
# cp interfaces interfaces.backup
# vi /etc/network/interfaces 

文件的内容类似下面这样。

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

修改成这样。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0

激活网卡配置的修改:

# systemctl restart networking 

验证网络设置

验证桥接设备 xenbr0 创建成功。

# ip addr show xenbr0 

同时检查 eth0 被成功加入网桥。

# brctl show 

你现在安装好了 Jessie 系统。不过此时 Xen 还没有安装。下面我们开始安装 Xen。

安装 Xen 虚拟机监视器

安装 Xen 和 QEMU 包,并升级 GRUB 引导程序。

# apt-get install xen-linux-system 

重启。

当 GRUB 界面出现时,你可以看到列出的额外的启动选项。

第一个选项会在 5 秒钟内自动启动(在 /etc/default/grub 的 GRUB\_TIMEOUT 这行设置),因此这点时间可来不及喝咖啡。

按下方向键选择 "Debian GNU/Linux, with Xen hypervisor" 这个选项,然后按回车。这时屏幕会出现很多行信息,接着是正常的登录界面。

检查 Xen 工作是否正常

Xen 虚拟机监视器带有一个管理 Xen 的命令行程序叫做 xl,可以用来创建和管理 Xen 虚拟机。使用 xl 命令来检查 Xen 是否成功安装了。

以 root 用户登录,执行:

# xl info

将会显示很多关于 Xen 主机的信息。

查看已有 Xen 虚拟机的列表:

# xl list 

这里显示了一个主机的列表。因为没有创建任何的 Xen 客户机,唯一的条目是 Domain-0,即你安装的 Debian 系统。

修改启动顺序

当你到这一步之后,Xen 的安装已经完成了。这里还有一件事需要修改 —— 默认的启动选项不会加载 Xen。GRUB 选择启动菜单的第一个选项 (Debian GNU/Linux),而不是第三个(Debian GNU/Linux, with Xen hypervisor)。

启动菜单的默认选项是在 grub 配置文件 /boot/grub/grub.cfg 中定义的。修改选项时,不要直接修改这个文件,而是编辑 /etc/default/grub 这个文件。有一个叫做 grub-mkconfig 的工具可以读取这个配置文件和 /etc/grub.d/ 中的所有莫爸妈,并写入到 grub.cfg 文件中。

编辑 Debian 的 grub-mkconfig 的配置文件

# vi /etc/default/grub 

修改这一行:

GRUB_DEFAULT=0

改为

GRUB_DEFAULT='Debian GNU/Linux, with Xen hypervisor'

然后更新 grub 的配置文件。

# grub-mkconfig -o /boot/grub/grub.cfg 

最后重启。几秒钟后,grub 启动菜单出现了。检查看第三个选项 "Debian GNU/Linux, with Xen hypervisor" 是否是自动选中的选项。

最后

如果你使用这台主机作为你的工作站,可以安装一个图形桌面。Debian 包括好几种桌面环境。如果你想要一个包含所有东西的图形桌面,那么安装 Gnome 吧。如果它的图形效果并不是你的菜,试试 Awesome 吧。

注意 Debian 的默认 Gnome 环境有大量的额外应用程序包括办公套件 LibreOffice,Iceweasel 浏览器和 Rhythmbox 音乐播放器。安装命令 "apt-get install gnome" 会安装 1,000 多个包并需要将近 2GB 的硬盘空间。运行这个重量级的桌面环境需要占用 1GB 的内存。

(LCTT 译注:本文没有涉及如何安装 guest 虚拟机,请关注后继文章)


via: http://xmodulo.com/install-xen-hypervisor.html

作者:Nick Hardiman 译者:Liao 校对:wxy

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

怎样通过 Twitter 的开源库来随处使用 Emoji 表情符号

通过 GitHub 将它们嵌入到网页和其他项目中。

Emoji, 来自日本的小巧符号,通过图像表达感情,已经征服了移动互联网的信息世界。

现在,你可以在虚拟世界中随处使用它们了。 Twitter 最近开源了他们的 emoji 符号库,使得你可以在你自己的网站,应用,和项目中使用它们。

但这需要一点体力活。 Unicode 已经识别甚至标准化了 emoji 字母表, 然而 emoji 仍然不能完全与所有的网络浏览器相兼容,这意味着大多数情况下,它们将呈现为 “豆腐块”或“空白盒子”。当 Twitter 想使得 emoji 到处可用时,这家社交网络联合了一家名为Icon Factory的公司来渲染浏览器以模仿文本信息符号的效果。Twiter 认为人们对他们的 emoji 库有很大的需求。

现在, 你可以从 GitHub 上克隆 Twitter 的整个库,从而在你的开发项目中使用它们。 下面将为你介绍如何达到上面的目的以及如何使得 emoji 更容易被使用。

为 Emoji 得到 Unicode 支持

Unicode 是国际编码标准,它为任意的符号、字母或人们想在网络上使用的数字配置了一串编码。换句话说,它是你如何在计算机上阅读文本与计算机如何读取文本之间的缺失环节。例如,对于你正看到的位于这些句子中的空格(LCTT 译注:英文分词中间的空格),计算机读取为 “ ”。

Unicode 甚至拥有其自己的原始 emoji,它们可以在没有你的任何努力的情况下在浏览器中被阅读。例如,当你看到了 一个 ❤ 符号,你的计算机正在解码字符串 “2665” 。

要在大多数情况下使用 Twitter 的 emoji 库,你只需在你的 HTML 网页中的 块中添加如下脚本:

<script src="//twemoji.maxcdn.com/twemoji.min.js"></script>

这样就使得你的项目可以访问包含有已经在 Twitter 中可使用的数以百计的 Emoji 符号的 JavaScript 库。然而,创建一个仅仅包含这个脚本的文档并不能使得在你的网站中呈现出 emoji 符号,实际上,你仍需要嵌入这些 emoji 符号!

在 块中,粘贴一些可以在 Twitter 的preview.html 文件源代码 中找到的 emoji 字符串。我使用了 和 🏁,当然我并不知道在浏览器窗口中它们的样子。是的,你必须粘贴并猜测它们。你已经看出了问题,我们将在第二小节中予以解决。

无论如何,通过一些尝试,你可以将一个如下图的原始 HTML 文件---

---显示为如下图的网页:

将 Emoji 转换为可阅读的语言

对于一个网站或应用,Twitter 的解决方案是非常适用的。但如果你想通过 HTML 轻易地插入你喜爱的 emoji 符号,你需要一个更易实现的解决方案,而不是记住所有代表 emoji 的 Unicode 字符串。

那正是程序员 Elle Kasai 的 Twemoji Awesome 样式大展身手的地方。

通过向任意网页中添加 Elle 的开源样式表,你可以适用 英语单词来理解你正插入的 emoji 符号的意义。所以如若你想展示一个 心形 emoji 符号,你可以简单地输入:

<i class="twa twa-heart"></i>

为了实现上面的目的,让我们下载 Elle 的项目,通过点击在 GitHub 上 “Download ZIP” 按钮。

接着,我们在桌面上新建一个文件夹,然后进入该文件夹,并将 emoji.html---我先前向你展示的 HTML 源文件--- 和 Elle 的 twemoji-awesome.css 一同放进去。

我们还需要 HTML 文件识别这个 CSS 文件,所以在 html 网页中的 块中,为 CSS 文件添加一个链接:

<link rel="stylesheet" href="twemoji-awesome.css">

一旦你将上面的代码添加了进去,你便可以删除先前添加的 Twitter 的脚本链接。

现在,找到 body 块部分的代码,然后添加一些 emoji 符号。我使用了 , ,

最终,你将得到如下的代码:

保存并在浏览器中查看上面的文件:

Duang!这样你不仅得到了一个可以在浏览器中支持 emoji 符号的基本网页,而且还知道了如何简单地实现它。你可以随意的在我的 GitHub 中查看这个教程,并且可以克隆这些实际的文件而不只是看看这些截图。

题图来自于得到 Emoji; Lauren Orsini 截图。


via: http://readwrite.com/2014/11/12/how-to-use-emoji-in-the-browser-window

作者:Lauren Orsini 译者:FSSlc 校对:wxy

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

Btrfs(B-tree file system,B-tree文件系统)是针对Linux开发的一个新的CoW(copy-on-write,写时复制)文件系统。它最初是由甲骨文公司在2007年着手开始开发的,并在2014年8月正式发布其稳定版。开发Btrfs的目的在于解决Linux文件系统中缺少池、快照、校验和以及集成的跨多设备访问等问题,目标在于实现Linux的规模化存储。规模化不仅仅是指解决存储问题,也意味着通过简洁的界面提供对存储的管控和管理能力,让大家能看到已使用的内容并使它更可靠。

你应该注意到,Btrfs才刚刚发布稳定版,所以强烈推荐你使用最新版的内核以避免可能出现的问题和漏洞。

Btrfs特性

新文件系统的最重要的特性有:

  • 基于扩展的文件存储
  • 文件大小上限16EiB
  • 小文件和索引目录的高效空间利用
  • 动态索引节点分配
  • 支持快照可写和快照只读
  • 子卷(分离内部文件系统的根)
  • 支持数据和元数据的校验和
  • 压缩 (gzip和LZO)
  • 整合的多设备支持
  • 支持文件条块化、文件镜像和文件条块化+镜像三种部署方案
  • 高效的增量备份
  • 后台消除进程支持查找和修复冗余副本上的文件错误
  • 支持在线文件系统碎片整理和离线文件系统检查
  • Btrfs文件系统对RAID 5/RAID 6加强支持,在linux 3.19中添加了许多漏洞修补

你可以在此关于本主题的维基文章中阅读关于新特性的内容

转换到Btrfs

警告:在尝试转换文件系统前,请务必备份数据!虽然此操作很稳定,也很安全,但它仍然可能导致数据丢失,而防止此情况发生的唯一途径就是进行数据备份。

将现存的ext4文件系统转换到btrfs是相当简单而易懂的。你首先需要使用fsck来检查你现存分区上是否存在错误,然后使用btrfs-convert命令进行转换。如果你想要对/dev/sda3分区进行转换,你可以进行以下操作:

# fsck.ext4 /dev/sda4
# btrfs-convert /dev/sda4

然后,你就可以使用mount命令将它挂载到你想要的任何位置。

btrfs-convert

转换根分区

如果你想要对你系统上的根分区进行转换,你首先需要使用Live CD启动。对于Ubuntu,你可以使用Ubuntu安装盘来完成此操作,在启动后第一个屏幕选择“尝试Ubuntu”。对于其它系统,你同样可以使用Live CD镜像,操作类似。

在启动后,打开终端,使用下面的命令来转换文件系统。

# fsck.ext4 /dev/sda1
# btrfs-convert /dev/sda1

接下来,chroot到文件系统,这样你就可以修改fstab并重新安装grub了。

# mount /dev/sda1 /mnt
# for i in dev dev/pts proc sys ; do mount --bind /$i /mnt/$i ; done
# chroot /mnt
# blkid | grep sda1

btrfs-root-convert

现在来编辑fstab,并根据blkid输出的结果来修改当前“/”文件系统的UUID,并将它的文件系统类型修改为btrfs,修改后的行如下:

UUID=8e7e80aa-337e-4179-966d-d60128bd3714 / btrfs defaults 0 1

然后,重新安装Grub:

# grub-install /dev/sda
# update-grub

现在,你可以把启动光盘丢到一边了,重启机器后,你就可以使用新的文件系统了。


via: http://linoxide.com/file-system/create-btrfs-features/

作者:Adrian Dinu 译者:GOLinux 校对:wxy

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