Adrian Dinu 发布的文章

今天我们来谈谈 Centos 7 中的一个文件系统tmpfs,这是一个将所有文件和文件夹写到虚拟内存中而不是实际写到磁盘中的虚拟文件系统。这意味中tmpfs中所有的内容都是临时的,在tmpfs卸载、系统重启或者电源切断后内容都将会丢失。技术的角度上来说,tmpfs将所有的内容放在内核内部缓存中并且会调整大小来容纳文件,并可从交换空间中交换出不需要的页。

CentOS默认使用tmpfs做的几种用途可用df -h命令的输出来看:

# df –h

df

  • /dev - 含有针对所有设备的设备文件的目录
  • /dev/shm - 包含共享内存分配
  • /run - 用于系统日志
  • /sys/fs/cgroup - 用于cgrpups, 一个针对特定进程限制、管制和审计资源利用的内核特性

显然,它也可以用作/tmp目录, 你可以用下面的两种方法来做到:

使用systemctl来在/tmp中启用tmpfs

你可以使用systemctl命令在tmp目录启用tmpfs, 首先用下面的命令来检查这个特性是否可用:

# systemctl is-enabled tmp.mount

这会显示当先的状态,(如果未启用,)你可以使用下面的命令来启用它:

# systemctl enable tmp.mount

systemctl

这会让系统控制/tmp目录并在该目录下挂载一个tmpfs文件系统。

手动挂载/tmp文件系统

你可以在/etc/fstab中添加下面这行,来手工在/tmp下挂载 tmpfs。

tmpfs /tmp tmpfs size=512m 0 0

接着运行这条命令

# mount –a

df

这应该就会在df -h中显示tmpfs了,同样也会在你下次重启时自动挂载。

立即创建tmpfs

如果由于一些原因,你需要在一个文件夹下立即创建tmpfs,你可以使用下面的命令:

# mount -t tmpfs -o size=1G tmpfs /mnt/mytmpfs

当然你可以在size选项中指定你希望的大小和希望的挂载点,只要记住是有效的目录就行了。


via: http://linoxide.com/file-system/use-tmpfs-rhel-centos-7-0/

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

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

Red Hat Enterprise Linux 7CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。

NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。

可以用命令行工具 nmcli 来控制 NetworkManager。

nmcli 用法

# nmcli [ OPTIONS ] OBJECT { COMMAND | help }

我们可以通过 TAB 键补全命令,当你忘记这个命令的语法时只需要按下 TAB 就可以看到选项列表。

nmcli tab

使用 nmcli 的一些例子:

# nmcli general status

这条命令将 NetworkManager 的所有状态都打印出来。

# nmcli connection show

显示所有连接。

# nmcli connection show -a

仅显示当前活动的连接。

# nmcli device status

列出 NetworkManager 识别出的设备列表及他们的状态。

nmcli general

启动/停止 网络接口

使用 nmcli 工具启动或停止网络接口,与 ifconfig 的 up/down 是一样的。

使用下列命令停止某个接口:

# nmcli device disconnect eno16777736

下列命令用来启动接口:

# nmcli device connect eno16777736

添加静态IP的以太网连接

以下命令可以添加一个静态IP地址的以太网连接:

# nmcli connection add type ethernet con-name NAME_OF_CONNECTION ifname interface-name ip4 IP_ADDRESS gw4 GW_ADDRESS

根据你需要的配置更改 NAME\_OF\_CONNECTION,IP\_ADDRESS, GW\_ADDRESS 参数(如果不需要网关的话可以省略最后一部分)。

# nmcli connection add type ethernet con-name NEW ifname eno16777736 ip4 192.168.1.141 gw4 192.168.1.1

使用下列命令设置DNS服务器:

# nmcli connection modify NEW ipv4.dns "8.8.8.8 8.8.4.4"

下列命令启动新的 Ethernet 连接:

# nmcli connection up NEW ifname eno16777736

查看新连接的配置信息:

# nmcli -p connection show NEW

nmcli add static

增加一个使用 DHCP 的新连接

增加新的连接,使用DHCP自动分配IP地址,网关,DNS等,你要做的就是将命令行后 ip/gw 地址部分去掉就行了,DHCP会自动分配这些参数。

例,在 eno 16777736 设备上配置一个 名为 NEW\_DHCP 的 DHCP 连接

# nmcli connection add type ethernet con-name NEW_DHCP ifname eno16777736

via: http://linoxide.com/linux-command/nmcli-tool-red-hat-centos-7/

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

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

Mumble是一个自由开源的VoIP应用,在新的 BSD 许可证下发布,主要面向的用户群体是游戏玩家。运行起来类似于TeamSpeak和Ventrilo,用户通过连接到同一个服务器来实现相互通讯。

Mumble提供了如下的漂亮特性:

  • 低延迟,这点对游戏相当重要
  • 提供游戏中的可视插件,通过它你可以知道是谁正在和你通话并定位他们的位置
  • 交谈内容经过加密的,能够保护你的隐私和安全
  • 界面简单易于上手
  • 稳定高效的使用你的服务器资源

安装 Mumble

Mumble已经流行开来,进入了许多linux主流发行版的软件仓库,这使它安装起来更加的方便。若你使用的是Ubuntu那么使用apt-get就能安装,详细命令如下:

$ sudo apt-get install mumble-server

mumble install

这条命令将会在你的服务器上安装服务端(亦称Murmur)。

配置 Mumble

运行以下命令启动Mumble:

$ sudo dpkg-reconfigure mumble-server

会弹出以下一些问题:

mumble q1

选择“是”让服务器开机时自动启动mumble,接着它会询问你是否运行高优先级模式以保持低延迟,为了让它保持最佳性能这是个不错的主意。

mumble q2

接着为你刚安装好的mumble服务端设管理员用户的密码,记住这个密码,它会在登录时用到。

mumble q3

安装 Mumble 客户端

客户端可以安装到许多的主流操作系统中,例如windows,mac和linux。我们将教你在Ubuntu linux上安装和配置,你可以使用软件中心也可以用命令安装客户端:

$ sudo apt-get install mumble

第一次运行mumble时,配置向导将会帮助你配置音频的输入输出,使其能在客户端上保持最好的效果。第一次同样也会询问你要使用的是什么声音设备和麦克风:

mumble client 1

然后它将帮你校准设备:

mumble client 2

因为mumble会帮你加密所有的通讯内容所以它会要求你创建证书:

mumble client 3

完成配置向导后你就能添加第一个服务器,连接对话框如下图所示:

mumble add server

首先输入一个标签,名字任意因为那只不过是为了记住服务器的,然后输入服务器的地址和端口,最后使用“SuperUser”作为用户名,而密码则是你配置mumble服务器端时输入的密码。

现在你可以连接到服务器了,在联网玩游戏或与你好友、队友聊天开黑时享受这些功能给你带来的乐趣吧!


via: http://linoxide.com/ubuntu-how-to/install-mumble-ubuntu/

作者:Adrian Dinu 译者:martin2011qi 校对: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中国 荣誉推出

Red Hat Enterprise Linux 7CentOS 7的一个新特性是默认的网络服务由NetworkManager提供,这是一个动态的网络控制和配置守护进程,它在网络设备和连接可用时保持链接正常,同时也提供了典型的ifcfg类型的配置文件。NetworkManager可以用于下面这些连接:Ethernet、 VLANs、桥接、Bonds、Teams、 Wi-Fi、 移动宽带 (比如 3G)和IP-over-InfiniBand(IPoIB)。

NetworkManager可以由命令行工具nmcli控制。

nmcli的通常用法

nmcli的通常语法是:

# nmcli [ OPTIONS ] OBJECT { COMMAND | help }

一件很酷的事情是你可以使用tab键来补全操作,这样你在何时忘记了语法你都可以按下tab来看到可用的选项了。

nmcli tab

nmcli通常用法的一些例子:

# nmcli general status

会显示NetworkManager的整体状态。

# nmcli connection show

会显示所有的连接

# nmcli connection show -a

仅显示活跃的连接

# nmcli device status

显示NetworkManager识别的设备列表和它们当前的状态。

nmcli general

启动/停止网络设备

你可以使用nmcli从命令行启动或者停止网络设备,这等同于ifconfig中的up和down。

停止网络设备使用下面的语法:

# nmcli device disconnect eno16777736

要启动它使用下面的语法:

# nmcli device connect eno16777736

添加一个使用静态IP的以太网连接

要用静态IP添加一个以太网连接可以使用下面的命令:

# nmcli connection add type ethernet con-name NAME_OF_CONNECTION ifname INTERFACE-NAME ip4 IP_ADDRESS gw4 GW_ADDRESS

将NAMEOFCONNECTION替换成新的连接名(LCTT 译注:这个名字以后可以用来对其操作,可以使用任何简单明了的名称),INTERFACE-NAME 替换成你的接口名,IPADDRESS替换成你要的IP地址,GWADDRESS替换成你使用的网关地址(如果你并不使用网关,你可以忽略这部分)。

# nmcli connection add type ethernet con-name NEW_STATIC ifname eno16777736 ip4 192.168.1.141 gw4 192.168.1.1

要设置这个连接所使用的DNS服务器使用下面的命令:

# nmcli connection modify NEW_STATIC ipv4.dns "8.8.8.8 8.8.4.4"

要启用新的以太网连接,使用下面的命令:

# nmcli connection up NEW_STATIC ifname eno16777736

要查看新配置连接的详细信息,使用下面的命令:

# nmcli -p connection show NEW_STATIC

nmcli add static

添加一个使用DHCP的连接

如果你想要添加一个使用DHCP来配置接口IP地址、网关地址和dns服务器地址的新的连接,你要做的就是忽略上述命令中的ip/gw部分,NetworkManager会自动使用DHCP来获取配置细节。

比如,要创建一个新的叫NEW\_DHCP的DHCP连接,在设备eno16777736上你可以使用下面的命令:

# nmcli connection add type ethernet con-name NEW_DHCP ifname eno16777736

via: http://linoxide.com/linux-command/nmcli-tool-red-hat-centos-7/

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

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

今天我会讲述如何为你的个人网站或者博客安装SSL 证书,来保护你的访问者和网站之间通信的安全。

安全套接字层或称SSL,是一种加密网站和浏览器之间连接的标准安全技术。这确保服务器和浏览器之间传输的数据保持隐私和安全。它被成千上万的人使用来保护他们与客户的通信。要启用SSL链接,Web服务器需要安装SSL证书。

你可以创建你自己的SSL证书,但是这默认不会被浏览器所信任,要解决这个问题,你需要从受信任的证书机构(CA)处购买证书,我们会向你展示如何获取证书并在apache中安装。

生成一个证书签名请求

证书机构(CA)会要求你在你的服务器上生成一个证书签名请求(CSR)。这是一个很简单的过程,只需要一会儿就行,你需要在你的服务器上运行下面的命令并输入需要的信息:

# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr

输出看上去会像这样:

generate csr

这一步会生成两个文件:一个用于解密SSL证书的私钥文件,一个证书签名请求(CSR)文件(用于申请你的SSL证书)。

根据你申请的机构,你会需要上传csr文件或者在网站表格中粘帖该文件内容。

在Apache中安装实际的证书

生成步骤完成之后,你会收到新的数字证书。本篇教程中我们使用Comodo SSL,并在一个它发给我们的zip文件中收到了证书。要在apache中使用它,你首先需要用下面的命令用收到的证书创建一个组合的证书:

# cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > bundle.crt

bundle

用下面的命令确保ssl模块已经加载进apache了:

# a2enmod ssl

如果你看到了“Module ssl already enabled”这样的信息就说明你成功了,如果你看到了“Enabling module ssl”,那么你还需要用下面的命令重启apache:

# service apache2 restart

最后像下面这样修改你的虚拟主机文件(通常在/etc/apache2/sites-enabled 下):

DocumentRoot /var/www/html/
ServerName linoxide.com
SSLEngine on
SSLCertificateFile /usr/local/ssl/crt/yourdomainname.crt
SSLCertificateKeyFile /usr/local/ssl/yourdomainname.key
SSLCACertificateFile /usr/local/ssl/bundle.crt

你现在应该可以用https://YOURDOMAIN/(注意使用‘https’而不是‘http’)来访问你的网站了,并可以看到SSL的进度条了(通常在你浏览器中用一把锁来表示)。

注意: 现在所有的内容链接都必须指向https,如果网站上的一些内容(像图片或者css文件等)仍旧指向http链接的话,你会在浏览器中得到一个警告,要修复这个问题,请确保每个链接都指向了https。

在你的网站上重定向HTTP请求到HTTPS中

如果你希望重定向常规的HTTP请求到HTTPS,添加下面的文本到你希望修改的虚拟主机,或者如果希望给服务器上所有网站都添加的话就加入到apache.conf中:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

via: http://linoxide.com/ubuntu-how-to/install-ssl-apache-2-4-in-ubuntu/

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

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