merge from LCTT.
This commit is contained in:
runningwater
2014-08-20 23:45:36 +08:00
34 changed files with 2516 additions and 469 deletions

View File

@@ -1,38 +0,0 @@
Lime Text: 一款可以替代 Sublime Text 的开源项目
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/Lime_Text_Editor.jpeg)
[Sublime Text][1] 可能是为程序员准备的一个最好的尽管不是最最好的文本编辑器。Sublime 囊括了众多特色并且拥有很棒的界面外观,能够运行在所有的三大主流桌面操作系统,亦即 Windows, Mac 还有 Linux 之上。
但这并不表示 Sublime Text 是完美的。时常会出现 bug崩溃但却几乎没有任何技术支持。如果你注意到 Sublime Text 的开发过程,你就会发现此时 Sublime Text beta 版已经公开超过一年了却没有告知用户任何关于它的发行日期的确切信息。最重要的是Sublime Text 既不免费也不[开源][2]。
这一系列问题也使 [Fredrik Ehnbom][3] 感到沮丧,因此他在 [Github][5] 上发起了一个开源项目 [Lime Text][4],希望能开发出一款新的文本编辑器,其外观和工作方式完全与 Sublime Text 一致。在关于为什么他决定去“克隆”一款现有的文本编辑器这个问题上Frederic 说道:
> 因为没有一款我试过的其他文本编辑器能达到我对 Sublime Text 的喜爱程度,我决定了我不得不开发出我自己的文本编辑器。
Lime Text 后台用 Go 写成,前端则使用了 ermboxQt (QML) 及 HTML/JavaScript。开发过程正在进行中同时完全公布确切[目标][6]。你可以在它的 [Github 页面][7]为项目做贡献。
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/LimeTextEditor.jpeg)
如果你想要尝试 beta 版本,你可以通过 [wiki][8] 的介绍搭建 Lime Text。同时如果你想找寻其他强大的文本编辑器的话试一试 [SciTE][9] 吧。
--------------------------------------------------------------------------------
via: http://itsfoss.com/lime-text-open-source-alternative/
作者:[bhishek][a]
译者:[SteveArcher](https://github.com/SteveArcher)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/Abhishek/
[1]:http://www.sublimetext.com/
[2]:http://itsfoss.com/category/open-source-software/
[3]:https://github.com/quarnster
[4]:http://limetext.org/
[5]:https://github.com/
[6]:https://github.com/limetext/lime/wiki/Goals
[7]:https://github.com/limetext/lime/issues
[8]:https://github.com/limetext/lime/wiki/Building
[9]:http://itsfoss.com/scite-the-notepad-for-linux/

View File

@@ -1,126 +0,0 @@
10个调整让Ubuntu找到家的感觉
================================================================================
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/08/ubuntu-home-840x420.jpg?15f1a2)
不久以前我提供给大家[12个调整Ubuntu的小建议][1]。 然而,从那以后多了一段时间了, 我们又提出了另外10个建议能够使你的Ubuntu找到家的感觉。
这10个建议执行起来十分简单方便那就让我们开始吧
### 安装 TLP ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/01/tlp_stat.jpg?15f1a2)
[We covered TLP a while back][2], 这是一款优化电源设置的软件为了让你能享受到一个更长的电池寿命。之前我们深入的探讨过TLP 并且我们也在列表中提到这真是一个好东西。要安装它,在终端运行以下命令:
sudo add-apt-repository -y ppa:linrunner/tlp && sudo apt-get update && sudo apt-get install -y tlp tlp-rdw tp-smapi-dkms acpi-call-tools && sudo tlp start
上面的命令将添加必要的仓库更新包的列表以便它能包含被新仓库提供的包安装TLP并且开启这个服务。
### 系统负载指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_systemload.jpg?15f1a2)
给你的Ubuntu桌面添加一个系统负载指示器能让你了解到你的系统资源被占用了多少。 如果你宁愿不在桌面上添加这个技术图表,那么可以不要添加它, 但是对于那些对这个感兴趣的人来说,这真是一个好的扩展。 你可以运行这个命令去安装它:
sudo apt-get install indicator-multiload
然后在Dash里面找到它并且打开。
### 天气指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_weatherind.jpg?15f1a2)
Ubuntu过去提供内置的天气指示器 但是自从它切换到Gnome 3以后就不在默认提供了。代替地你需要安装一个独立的指示器。 你可以通过以下命令安装它:
sudo add-apt-repository -y ppa:atareao/atareao && sudo apt-get update && sudo apt-get install -y my-weather-indicator
这将添加另外一个仓库更新包的列表并且安装这个指示器。然后在Dash里面找到并开启它。
### 安装 Dropbox 或其他云存储解决方案 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/Dropbox-2.png?15f1a2)
我在我所有的Linux系统里面都安装过的一个东西就是Dropbox。没有它真的就找不到一个家的感觉主要是因为我所有经常使用的文件都储存在Dropbox中。安装Dropbox非常直截了当但是要花点时间执行一个简单的命令。 在开始之前你需要运行这个命令为了你能在系统托盘里看到Dropbox的图标
sudo apt-get install libappindicator1
然后你需要去Dropbox的下载页面接着安装你已下载的.deb文件。现在你的Dropbox应该已经运行了。
如果你有点讨厌Dropbox, 你也可以尝试使用Copy [或者OneDrive][3]。两者提供更多免费存储空间这是考虑使用他们的很大一个原因。比起OneDrive我更推荐使用Copy因为Copy能工作在所有的Linux发行版上。
### 安装Pidgin和Skype ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/12/skype_linux_conversation.jpg?15f1a2)
和朋友们保持联系特别好,并且如果你使用即时通讯,那么你很幸运。 Pidgin和Skype在Linux都十分出色它们都能连接所有主要网络。安装Pidgin就像运行这个命令一样简单
sudo apt-get install pidgin
安装Skype也很简单 — 你仅仅需要去Skype的下载页面并且下载你Ubuntu12.04对应架构的.deb文件就可以了。
###移除键盘指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_keyboard_indicator.jpg?15f1a2)
在桌面上显示键盘指示器可能让一些人很苦恼。对于讲英语的人来说它仅仅显示一个“EN”这可能是恼人的因为很多人不需要改变键盘布局或者被提醒他们正则使用英语。要移除这个指示器选择系统设置然后文本输入接着去掉“在菜单栏显示当前输入源”的勾。
>[译注]:国人可能并不适合这个建议。
### 回归传统菜单###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_classicmenu.jpg?15f1a2)
在Ubuntu切换到Unity之前它使用Gnome 2 作为默认的桌面环境。 这包含一个简单的菜单去访问已安装的应用,菜单包含的很多分类,比如: 游戏,办公, 互联网,等等。 你可以用另外一个简单的包找回这个“传统菜单” 。要安装它,运行这个命令:
sudo add-apt-repository -y ppa:diesch/testing && sudo apt-get update && sudo apt-get install -y classicmenu-indicator
### 安装Flash和Java ###
在之前的文章中我提到了安装解码器和Silverlight我应该也提到了Flash和Java是他们所需要的主要插件虽然他们有时可能忘了它们。要安装它们只需运行这个命令
sudo add-apt-repository -y ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java7-installer flashplugin-installer
安装Java需要新增仓库因为Ubuntu不再包含它的专利版本大多数人为了最好的性能推荐使用这个版本而是使用开源的OpenJDK。
### 安装VLC ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweaks_vlc.jpg?15f1a2)
默认的媒体播放器, Totem十分优秀但是它依赖很多独立安装的解码器才能很好的工作。我个人推荐你安装VLC媒体播放器 因为它包含所有解码器并且实际上它支持世界上每一种媒体格式。要安装它,仅仅需要运行如下命令:
sudo apt-get install vlc
### 安装PuTTY (或者不) ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweaks_putty.jpg?15f1a2)
最近如果你出于SSH的需要而使用PuTTY你有两个选择为Linux安装PuTTY或者直接使用终端。如果你想使用终端安装PuTTY需要用到这个命令
sudo apt-get install putty
然而,并不需要直接安装它,因为你可以使用这个命令来连接任何远程主机。
ssh username@this.domain.here
用你想要连接的用户名来替换掉“username”然后用主机的直接域名或者IP地址替换掉“this.domain.here” 都可以。
### 你推荐如何调整? ###
补充了这10个调整你应该感觉你的Ubuntu真的找到了家的感觉这很容易重建或击溃你的Linux体验。有许多不同的方式去定制你自己的体验去让它更适合你的需要你只需要环顾自己并且找到你想要的东西
**你有什么调整和建议想和读者分享?**在评论中让我们知道吧!
*图片致谢: Home doormat Via Shutterstock*
--------------------------------------------------------------------------------
via: http://www.makeuseof.com/tag/10-tweaks-make-ubuntu-feel-like-home/
作者:[Danny Stieben][a]
译者:[guodongxiaren](https://github.com/guodongxiaren)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.makeuseof.com/tag/author/danny/
[1]:http://www.makeuseof.com/tag/11-tweaks-perform-ubuntu-installation/
[2]:http://www.makeuseof.com/tag/easily-increase-battery-life-tlp-linux/
[3]:http://www.makeuseof.com/tag/synchronize-files-ubuntu-onedrive/

View File

@@ -1,106 +0,0 @@
Linux 内核测试与调试 - 2
================================================================================
### 编译安装稳定版内核 ###
如果你用 git 下载源码,就执行以下命令:
cd linux-stable
git checkout linux-3.x.y
如果是直接下载压缩文件,用以下命令进入源码目录:
cd linux-3.x.y
如果你想把内核安装到自己的系统上,最安全的方法是使用你安装好的发行版拥有的配置文件。你可以在 /boot 目录找到当前发行版的内核配置文件:
cp /boot/config-3.x.y-z-generic .config
运行下面的命令,可以在当前内核配置的基础上修改一些小地方,然后产生新的内核配置文件。比如说新的内核比你的 Ubuntu 发行版自带的内核多了些新功能,而你正好需要用到它们,这个时候你就要修改配置了。
make oldconfig
完成配置后,就可以编译了:
make all
完成编译后,安装这个新的内核:
sudo "make modules_install install"
上面的命令安装新内核,并把新内核作为启动项添加到 grub 文件LCTT就是你下次开机时会多出一个开机选项。好了你可以重启电脑然后选择新的内核启动系统。等等先别冲动在重启电脑之前我们保存下编译内核产生的日志用于比较和查找错误如果有错误发生的话
dmesg -t > dmesg_current
dmesg -t -k > dmesg_kernel
dmesg -t -l emerg > dmesg_current_emerg
dmesg -t -l alert > dmesg_current_alert
dmesg -t -l crit > dmesg_current_alert
dmesg -t -l err > dmesg_current_err
dmesg -t -l warn > dmesg_current_warn
正常的话dmesg 不会输出 emerg, alert, crit 和 err 级别的信息。如果你不幸看到这些输出了,说明内核或者你的硬件环境有问题。
再介绍一些重启前的需要执行的操作。谁也不能保证新内核能够正常启动,所以请不要潇洒地把老内核删除,至少保留一个稳定可用的内核在系统上。修改一下 /etc/default/grub 文件:
使用 earlyprink=vga 作为内核启动选项,把系统早期启动的信息打印到显示屏上:
GRUB_CMDLINE_LINUX="earlyprink=vga"
将 GRUB_TIMEOUT 的值设置成10秒到15秒之间的值保证在开机启动的时候你有足够的时间来选择启动哪个内核
取消对 GRUB_TIMEOUT 的注释并把它设置为10GRUB_TIMEOUT=10
注释掉 GRUB_HIDDEN_TIMEOUT 和 GRUB_HIDDEN_TIMEOUT_QUIET
运行 update-grub 命令,更新 /boot 目录下的 grub 配置文件:
sudo update-grub
现在可以重启系统了。新内核起来后,比较新老内核的 dmesg 信息,看看新的内核有没有编译错误。如果新内核启动失败,你需要通过老内核启动系统,然后分析下为什么失败。
### 跟上节奏,永不落后(编译最新版内核) ###
如果你想开上内核快车道,追求与时俱进,那就去下载 mainline 状态的内核或 linux-next 状态的内核LCTT读者可进入 kernel.org 获取代码linux 代码被分为4种状态mainline, stable, longterm, linux-next。安装测试 mainline 状态或 linux-next 状态的内核,你就可以在正式发布之前帮助内核找到并修复里面的 bug。
mainline 状态的内核源码:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
linux-next 状态的内核源码:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
编译安装这两种内核的步骤与编译安装稳定版内核一样。按之前讲过的步骤来就行了。
### 打补丁 ###
Linux 内核的补丁是一个文本文件,包含新源码与老源码之间的改变量。每个补丁只包含自己依赖的源码的增量,除非它被特意包含进一系列补丁之中。打补丁方法如下:
patch -p1 < file.patch
git apply --index file.patch
两种方法都可以打补丁。但是如果你要打的补丁包含一个新文件git 命令不能识别这个新增的文件,也就是说这个新文件在 git 里面属于 untracked 文件LCTT玩 git 的人对这个会比较熟悉,就是文件处于未被跟踪的状态,你需要使用 git add <file> 命令将文件放入暂存区。git diff 命令不会将这个文件的增量显示出来,并且 git status 命令会显示这个文件处于 untracked 状态。
大多数情况下,有个没被跟踪的文件,对于编译安装内核来说没什么问题,但是 git 操作就会出现一些问题了: git reset --hard 命令不会删除这个新加的文件,并且接下来的 git pull 操作也会失败。你有多种选择来避免上面所说的状况:
选项1不跟踪这个新文件
> 如果打补丁后新添加了文件,在 git reset --hard 前使用 git clean 命令来删除没有被跟踪的文件。举个例子git clean -dfx 命令会强制删除未被跟踪的目录和文件,忽略在 .gitigniore 文件内规定的文件。如果你不在乎哪些文件会被删除,你可以使用 -q 选项让 git clean 命令进入安静模式,不输出任何处理过程。
选项2跟踪新文件
> 你可以在使用 git apply --index file.patch 命令后让 git 跟踪打完补丁后新产生的文件LCTT使用 git add <new file> 命令),就是让 git 把文件放入 index 区域。做完这个后git diff 命令会将新文件的增量打印出来git status 也会显示者这是一个正常的新增文件。
--------------------------------------------------------------------------------
via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,1
译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,124 +0,0 @@
Linux 内核测试与调试 - 3
================================================================================
### 基本测试 ###
安装好内核后,试试能不能启动它。能启动的话,检查 dmesg 看看有没有隐藏的错误。试试下面的功能:
- 网络Wifi 或者网线)是否可用?
- ssh 是否可用?
- 使用 ssh 远程传输文件。
- 使用 git clone 和 git pull 命令。
- 用用网络浏览器。
- 查看 email。
- 使用 ftp, wget 等软件下载文件。
- 播放音频视频文件。
- 连上 USB 鼠标等设备。
### 检查内核日志 ###
使用 dmesg 查看隐藏的问题,对于定位新代码带来的 bug 是一个好方法。一般来说dmesg 不会输出新的 crit, alert, emerg 级别的错误信息,也不应该出现新的 err 级别的信息。你要注意的是那些 warn 级别的日志信息。请注意 warn 这个级别的信息并不是坏消息,新代码带来新的警告信息,不会给内核带去严重的影响。
- dmesg -t -l emerg
- dmesg -t -l crit
- dmesg -t -l alert
- dmesg -t -l err
- dmesg -t -l warn
- dmesg -t -k
- dmesg -t
下面的脚本运行了上面的命令,并且将输出保存起来,以便与老的内核的 dmesg 输出作比较LCTT老内核的 dmesg 输出在本系列的第一篇文章中有介绍)。然后运行 diff 命令,查看新老内核 dmesg 日志之间的不同。脚本需要输入老内核版本号,如果不输入参数,它只会生成新内核的 dmesg 日志文件后直接退出不再作比较LCTT话是这么说没错但点开脚本一看没输参数的话这货会直接退出连新内核的 dmesg 日志也不会保存的)。如果 dmesg 日志有新的警告信息表示新发布的内核有漏网之鱼LCTT漏网之 bug 会更好理解些么?),这些 bug 逃过了自测和系统测试。你要看看,那些警告信息后面有没有栈跟踪信息?也许这里有很多问题需要你进一步调查分析。
- [**dmesg 测试脚本**][1]
### 压力测试 ###
执行压力测试的一个好办法是同时跑三四个内核编译任务。下载各种版本的内核同时编译它们并记录时间。比较新内核跑压力测试和老内核跑压力测试所花的时间然后可以定位新内核的性能。如果新内核跑压力测试的时间比老内核的更长说明新内核的部分模块性能退步了。性能问题很难调试出来。第一步是找出哪里导致的性能退步。同时跑多个内核编译任务对检测内核整体性能来说是个好方法但是这种方法涵盖了多个内核模块比如内存管理、文件系统、DMA、驱动等LCTT也就是说这种压力测试没办法定位到是哪个模块造成了性能的下降
time make all
### 内核测试工具 ###
我们可以在 Linux 内核本身找到多种测试方法。下面介绍一个很好用的功能测试工具集: ktest 套件
ktest 是一个自动测试套件它可以提供编译安装启动内核一条龙测试服务也可以跑交叉编译测试前提是你的系统有安装交叉编译所需要的软件。ktest 依赖于 flex 和 bison。详细信息请参考放在 tools/testing/ktest 目录下的文档,你可以自学成材。另外还有一些参考资料教你怎么使用 ktest
- [**ktest-eLinux.org**][2]
### tools/testing/selftests 套件 ###
我们来玩玩自测吧。内核源码的多个子系统都有自己的自测工具到目前为止断点、cpu热插拔、efivarfs、IPC、KCMP、内存热插拔、mqueue、网络、powerpc、ptrace、rcutorture、定时器和虚拟机子系统都有自测工具。另外用户态内存的自测工具可以利用 test_user_copy 模块来测试用户态内存到内核态的拷贝过程。下面的命令演示了如何使用这些测试工具:
编译测试:
make -C tools/testing/selftests
测试全部:(有些测试需要 root 权限,你需要以 root 用户登入系统然后运行命令)
make -C tools/testing/selftests run_tests
只测试单个子系统:
make -C tools/testing/selftests TARGETS=vm run_tests
### tools/testing/fault-injection 套件 ###
在 tools/testing 目录下的另一个测试套件是 fault-injection。failcmd.sh 脚本用于检测 slab 和内存页分配器的错误。这些工具可以测试内核能否很好地从错误状态中恢复回来。这些测试需要用到 root 权限。下面简单介绍了一些当前能提供的错误检测方法。随着错误检测方法的增加,这份名单也会不断增长。最新的名单请参考 Documentation/fault-injection/fault-injection.txt 文档。
failslab (默认选项)
产生 slab 分配错误。作用于 kmalloc(), kmem_cache_alloc() 等函数LCTT产生的结果是调用这些函数就会返回失败可以模拟程序分不到内存时是否还能稳定运行下去
fail_page_alloc
产生内存页分配的错误。作用于 alloc_pages(), get_free_pages() 等函数LCTT同上调用这些函数返回错误
fail_make_request
对满足条件(可以设置 /sys/block//make-it-fail 或 /sys/block///make-it-fail 文件)的磁盘产生 IO 错误,作用于 generic_make_request() 函数LCTT所有针对这块磁盘的读或写请求都会出错
fail_mmc_request
对满足条件(可以设置 /sys/kernel/debug/mmc0/fail_mmc_request 这个 debugfs 属性)的磁盘产生 MMC 数据错误。
你可以自己配置 fault-injection 套件的功能。fault-inject-debugfs 内核模块在系统运行时会在 debugfs 文件系统下面提供一些属性文件。你可以指定出错的概率,指定两个错误之间的时间间隔,当然本套件还能提供更多其他功能,具体请查看 Documentation/fault-injection/fault-injection.txt。 Boot 选项可以让你的系统在 debugfs 文件系统起来之前就可以产生错误,下面列出几个 boot 选项:
- failslab=
- fail_page_alloc=
- fail_make_request=
- mmc_core.fail_request=[interval],[probability],[space],[times]
fault-injection 套件提供接口,以便增加新的功能。下面简单介绍下增加新功能的步骤,详细信息请参考上面提到过的文档:
使用 DECLARE_FAULT_INJECTION(name) 定义默认属性;
> 详细信息可查看 fault-inject.h 中定义的 struct fault_attr 结构体。
配置 fault 属性,新建一个 boot 选项;
> 这步可以使用 setup_fault_attr(attr, str) 函数完成,为了能在系统启动的早期产生错误,添加一个 boot 选项这一步是必须要有的。
添加 debugfs 属性;
> 使用 fault_create_debugfs_attr(name, parent, attr) 函数,为新功能添加新的 debugfs 属性。
为模块设置参数;
> 为模块添加一些参数对于配置错误属性来说是一个好主意特别是当新功能的应用范围受限于单个内核模块的时候LCTT不同内核你的新功能可能需要不同的测试参数通过设置参数你的功能可以不必为了迎合不同内核而每次都重新编译一遍
添加一个钩子函数到错误测试的代码中。
> should_fail(attr, size) —— 当这个钩子函数返回 true 时,用户的代码就应该产生一个错误。
应用程序使用这个 fault-injection 套件可以指定某个具体的内核模块产生 slab 和内存页分配的错误,这样就可以缩小性能测试的范围。
--------------------------------------------------------------------------------
via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,2
译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://linuxdriverproject.org/mediawiki/index.php/Dmesg_regression_check_script
[2]:http://elinux.org/Ktest#Git_Bisect_type

View File

@@ -1,10 +1,10 @@
设置Samba文件服务器以使用Windows客户端
怎样设置Samba文件服务器以使用Windows客户端
================================================================================
根据[Samba][1]项目网站所述Samba是一个开源/自由软件套件提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署如HP-UX的LM服务器OS/2的LAN服务器或者VisionFSSamba及其源代码是可以自由获取的终端用户无需付费允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。
根据[Samba][1]项目网站所述Samba是一个开源/自由软件套件提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署如HP-UX的LM服务器OS/2的LAN服务器或者VisionFSSamba及其源代码是可以自由获取的终端用户无需付费允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。
出于这些理由Samba在不同操作系统除了Linux共存的网络中首选的文件服务器解决方案——最常见的结构是多个微软Windows客户端访问安装有Samba的Linux服务器该情形也是本文将要解决的问题。
请注意另外一方面如果我们的网络仅仅是由基于Unix的客户端如LinuxAIX或者Solaris还可以举更多的例子组成我们可以考虑使用NFS尽管在此种情况下Samba仍然是可选方案它可以提供更快的速度。
请注意另外一方面如果我们的网络仅仅是由基于Unix的客户端如LinuxAIX或者Solaris等等组成我们可以考虑使用NFS尽管在此种情况下Samba仍然是可选方案它可以提供更快的速度。
### 在Debian和CentOS中安装Samba ###
@@ -22,7 +22,7 @@
![](https://farm4.staticflickr.com/3868/14837993244_0fa525eb35_z.jpg)
现在让我们来安装Samba吧下面的截图来自Debian 7[Wheezy]服务器上的安装):
现在让我们来安装Samba吧下面的截图来自Debian 7[Wheezy]服务器上的安装):
在Debian上
@@ -58,7 +58,7 @@
public = yes
writeable = yes
我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误
我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误
# service samba restart
# testparm
@@ -113,25 +113,27 @@
![](https://farm4.staticflickr.com/3867/14837993054_081dc9b0dc_z.jpg)
每个文件系统具有最多5种类型能够强制使用的配额限制用户软限制用户硬限制组软限制组硬限制以及宽限期限。
每个文件系统最多5种类型能够强制使用的配额限制用户软限制用户硬限制组软限制组硬限制以及宽限期限。
我们现在将为/home文件系统启用磁盘配额在/etc/fstab文件对应的/home文件系统行现存的默认选项后添加usrquota和grpquto挂载选项然后重新挂载文件系统以令修改生效
![](https://farm6.staticflickr.com/5561/14653806067_b8b0dc2333_z.jpg)
接下来,我们需要在**/home**目录各自创建两个文件以用于作为用户和组配额的数据库文件:**aquota.user**和**aquota.group**。然后,我们将生成启用配后每个文件系统的当前磁盘使用表:
接下来,我们需要在**/home**目录创建两个文件以用于作为用户和组配额的数据库文件:**aquota.user**和**aquota.group**。然后,我们将生成启用配后每个文件系统的当前磁盘使用表:
# quotacheck -cug /home
# quotacheck -avugm
![](https://farm6.staticflickr.com/5584/14837265971_654e8f3bc0_o.png)
尽管已经为/home文件系统启用磁盘配额我们还没有给任何用户或组设置权限。检查现有用户/组的配额信息:
# quota -u <username>
# quota -g <groupname>
![](https://farm6.staticflickr.com/5582/14653735848_8de88d69c4_o.png)
最后,在这最后步中使用quotatool命令来为每个用户和/或组来分配磁盘配额注意该任务也可以使用edquota来完成但是quotatool更为直接更不易犯错
在这最后步中使用quotatool命令来为每个用户和/或组来分配磁盘配额注意该任务也可以使用edquota来完成但是quotatool更为直接更不易犯错
要为用户xmodulo设置软限制为4MB硬限制为5MBxmodulo组为10MB/15MB
@@ -150,7 +152,7 @@ via: http://xmodulo.com/2014/08/samba-file-server-windows-clients.html
作者:[Gabriel Cánepa][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,124 +0,0 @@
CentOS 7最小化安装后找不到ifconfig命令——修复小提示
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/08/centos7-790x493.jpg)
就像我们所知道的,“**ifconfig**”命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息包括IP地址MAC地址以及网络接口卡状态之类。但是该命令已经过时了而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7Oracle Linux 7以和Scientific Linux 7中也找不到该命令。
### 在CentOS最小化服务器版本中如何查找网卡IP和其它详细信息 ###
CentOS 7最小化系统使用“**ip addr**”和“**ip link**”命令来查找网卡详情。要知道统计数据,可以使用“**ip -s link**”。
要查看网卡细节,输入以下命令:
ip addr
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/void
inet 127.0.0.1/32 scope host venet0
inet 192.168.1.101/32 brd 192.168.1.101 scope global venet0:0
要查看网络接口统计数据,输入命令:
ip link
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
link/void
或者
ip -s link
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
link/void
RX: bytes packets errors dropped overrun mcast
8515667 6667 0 0 0 0
TX: bytes packets errors dropped carrier collsns
300403 4249 0 0 0 0
### 在CentOS 7最小化服务器版本中如何启用并使用“ifconfig”命令 ###
如果你不知道在哪里可以找到ifconfig命令请按照以下简单的步骤来找到它。首先让我们找出哪个包提供了ifconfig命令。要完成这事输入以下命令
yum provides ifconfig
输出样例:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.aol.in
* extras: centos.aol.in
* updates: centos.aol.in
net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig
或者你也可以使用以下命令。
yum whatprovides ifconfig
这里“provides”或者“whatprovides”开关用于找出某个包提供了某些功能或文件。
就像你在上面的输出中所看到的,**net-tools**包提供了ifconfig命令。因此让我们安装net-tools包来使用ifconfig命令。
yum install net-tools
现在,你就可以像以往一样使用**ifconfig**命令了。
ifconfig -a
输出样例:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0 destination 127.0.0.1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
RX packets 7073 bytes 8549159 (8.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4611 bytes 359201 (350.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 192.168.1.101 netmask 255.255.255.255 broadcast 192.168.1.101 destination 192.168.1.101
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
尽情享受吧!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/ifconfig-command-found-centos-7-minimal-installation-quick-tip-fix/
作者:[Senthilkumar][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/

View File

@@ -1,6 +1,6 @@
Linux常见问题与答案—如何在Apache网站服务器上关闭服务器签名
Linux常见问题与答案—如何在Apache网站服务器上关闭服务器签名
================================================================================
>**问题**每当Apache2网站服务器返回错误页时404 页面无法找到403 禁止访问页面它会在页面底部显示网站服务器签名Apache版本号和操作系统信息。同时当Apache2网站服务器为PHP页面服务时它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名
>**问题**每当Apache2网站服务器返回错误页时404 页面无法找到403 禁止访问页面它会在页面底部显示网站服务器签名Apache版本号和操作系统信息。同时当Apache2网站服务器为PHP页面服务时它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名
透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患因为你基本上将你系统上的已知漏洞告诉给了攻击者。因此作为服务器加固的一个部分强烈推荐你禁用所有网站服务器签名。
@@ -34,19 +34,19 @@ Linux常见问题与答案——如何在Apache网站服务器上关闭服务器
![](https://farm6.staticflickr.com/5556/14879982016_7c7b8bbf3d_o.png)
然而没有第二行的ServerTokens ProdApache服务器将仍然在HTTP回应头部包含详细的服务器标记这会泄漏Apache的版本号。
然而,没有第二行的ServerTokens ProdApache服务器将仍然在HTTP回应头部包含详细的服务器标记这会泄漏Apache的版本号。
![](https://farm4.staticflickr.com/3889/14902970535_e84ec23090_z.jpg)
第二行‘**ServerTokens Prod**所要做的是在HTTP应头中将服务器标记压缩到最小。
第二行‘**ServerTokens Prod**所要做的是在HTTP应头中将服务器标记压缩到最小。
因此同时放置两行时Apache将不会在页面中或者HTTP应头中泄漏版本信息。
因此同时放置两行时Apache将不会在页面中或者HTTP应头中泄漏版本信息。
![](https://farm4.staticflickr.com/3902/14902970505_d79225f25d_z.jpg)
### 隐藏PHP版本 ###
另外一个潜在的安全威胁是HTTP应头中的PHP版本信息泄漏。默认情况下Apache网站服务器通过HTTP应头中的“X-Powered-By”字段包含有PHP版本信息。如果你想要在HTTP头部中隐藏PHP版本请使用文本编辑器打开php.ini文件找到“expose_php = On”这一行将它改为“expose_php = Off”即可。
另外一个潜在的安全威胁是HTTP应头中的PHP版本信息泄漏。默认情况下Apache网站服务器通过HTTP应头中的“X-Powered-By”字段包含有PHP版本信息。如果你想要在HTTP头部中隐藏PHP版本请使用文本编辑器打开php.ini文件找到“expose_php = On”这一行将它改为“expose_php = Off”即可。
![](https://farm4.staticflickr.com/3853/14899917981_aaef71eb0a.jpg)
@@ -60,15 +60,15 @@ Linux常见问题与答案——如何在Apache网站服务器上关闭服务器
> expose_php = Off
最后重启Apache2网站服务器重新加载更新的PHP配置文件。
最后重启Apache2网站服务器重新加载更新的PHP配置文件。
现在你不会再看到带有“X-Powered-By”字段的HTTP应头了。
现在你不会再看到带有“X-Powered-By”字段的HTTP应头了。
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/turn-off-server-signature-apache-web-server.html
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,353 @@
在Linux中使用逻辑卷管理器构建灵活的磁盘存储——第一部分
================================================================================
**逻辑卷管理器LVM**让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间,它可以在它的卷组中将空闲空间添加到它的逻辑卷中,而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败,替换磁盘可以使用卷组注册成一个物理卷,而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。
![Create LVM Storage in Linux](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage.jpg)
在Linux中创建LVM存储
在现代世界中每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于RAIDSAN。单个物理卷将会被加入组以创建卷组在卷组中我们需要切割空间以创建逻辑卷。在使用逻辑卷时我们可以使用某些命令来跨磁盘、跨逻辑卷扩展或者减少逻辑卷大小而不用重新格式化和重新对当前磁盘分区。卷可以跨磁盘抽取数据这会增加I/O数据量。
### LVM特性 ###
- 可以在任何时候灵活地扩展空间。
- 可以安装和处理任何文件系统。
- 可以通过迁移来恢复错误磁盘。
- 可以使用快照功能恢复文件系统到先前的阶段。等等……
####我的服务器设置 - 需求 ####
- 操作系统 —— 安装有LVM的CentOS 6.5
- 服务器IP地址 —— 192.168.0.200
### 在Linux中创建LVM磁盘存储 ###
**1.** 我们已经在虚拟磁盘VDA中使用了带LVM的CentOS 6.5操作系统。在此我们可以使用下列命令查看到物理卷PV卷组VG逻辑卷LV
# pvs
# vgs
# lvs
![Check Physical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-03.jpg)
检查物理卷
下面是上面截图中各个参数的说明。
- 物理磁盘大小PV Size
- 用作虚拟磁盘vda的磁盘
- 卷组大小VG Size
- 卷组名称vg_tecmint
- 逻辑卷名称LogVol00LogVol01
- LogVol00分配给swap大小1GB
- LogVol01分配给/大小16.5GB
从上面看我们可以知道VDA磁盘中没有足够的空闲空间。
**2.** 为了创建一个**新卷组**,我们需要在这台服务器上添加额外的**3个硬盘**。3个驱动器不是强制使用的只要一个就足够用来创建新的**VG**,并在其中创建**LV**了。我在这里添加了更多的磁盘,目的只是用于演示和更多命令功能的说明。
下面是我已经额外添加的磁盘。
sda, sdb, sdc
----------
# fdisk -l
![Verify Added Disks](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-04.jpg)
验证添加的磁盘
- 用于操作系统CentOS 6.5)的默认磁盘。
- 默认磁盘上定义的分区vda1 = swapvda2 = /)。
- 额外添加的磁盘Disk1Disk2Disk3。
各个磁盘大小都是20GB默认的卷组的PE大小为4MB我们在该服务器上配置的卷组使用默认PE。
![Volume Group Display](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-05.jpg)
卷组显示
- **VG Name** 卷组名称。
- **Format** LVM架构使用LVM2。
- **VG Access** 卷组为读写模式,备好待用。
- **VG Status** 卷组可调整大小,如果我们需要添加更多空间,我们可以扩展更多。
- **Cur LV** 当前卷组中有2个逻辑卷。
- **CurPV and Act PV** 当前使用的物理磁盘是1vda已被激活因此我们可以使用该卷组。
- **PE Size** 磁盘的物理扩展大小可以定义使用PE或者GBLVM的默认PE大小是4MB。例如如果我们需要创建5GB大小的逻辑卷我们可以使用总计1280 PE你们懂我的意思么
这里解释一下 -> 1024MB = 1GB这样的话1024MB x 5 = 5120PE = 5GB然后5120/4 = 12804是默认的PE大小。
- Total PE 该卷组具有的PE数量。
- Alloc PE 总的PE使用量已经使用的全部PE4482 x 4PE = 17928。
- Free PE 这里因为已经使用所以没有空闲PE了。
**3.** 只使用了vda当前CentOS在使用lvm的vda物理磁盘中安装了**/boot/swap,**,该磁盘中没有空间剩余。
# df -TH
![Check the Disk Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-06.jpg)
检查磁盘空间
上面的图片中显示了用于根的挂载点已使用了**18GB**,因此没有空闲空间可用了。
**4.** 那么,让我们创建新的物理卷(**pv**),以及名为**tecmint_add_vg**的卷组(**vg**),并在其中创建逻辑卷(**lv**。这里我们可以创建4个逻辑卷分别名为 **tecmint_documents****tecmint_manager**以及**tecmint_add_vg**。
我们可以扩展当前使用的卷组以获得更多空间。但在这里,我们将要做的是,创建新的卷组,然后在里面肆意妄为吧。过会儿,我们可以看到怎样来扩展使用中的卷组的文件系统。
在使用新磁盘钱我们需要使用fdisk来对磁盘分区。
# fdisk -cu /dev/sda
- **c** 关闭DOS兼容模式推荐使用该选项。
- **u** 当列出分区表时,会以扇区而不是柱面显示。
![Create New Physical Partitions](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-07.jpg)
创建新的物理分区
接下来,请遵循以下步骤来创建新分区。
- 选择**n**来创建新分区。
- 选择**p**来创建主分区。
- 选择我们需要创建的分区号。
- 按**Enter**两次来使用整个磁盘空间。
- 我们需要修改新创建的分区类型,输入**t**。
- 选择需要修改的分区号,选择我们创建的分区号**1**。
- 这里我们需要修改类型。我们需要创建LVM因此我们使用LVM的类型代码8e。如果不知道类型代码按**L**来列出所有类型代码。
- 打印我们创建的分区以确认。
- 这里我们可以看到Linux LVM的ID 8e。
- 写入修改并退出fdisk。
重复以上步骤为另外2个磁盘sdb和sdc创建新分区。然后重启机器使用fdisk命令来验证分区表。
# fdisk -l
![Verify Partition Table](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-08.jpg)
验证分区表
### 创建物理卷 ###
**5.** 现在该使用3个磁盘来创建物理卷了。这里我已经使用pvs命令将物理磁盘列了出来现在只有一个默认的**pvs**被列出来了。
# pvs
然后,使用命令创建新的物理磁盘。
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
再次列出磁盘来查看新创建物理磁盘。
# pvs
![Create Physical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-09.jpg)
创建物理卷
### 创建卷组 ###
**6.** 使用可用的空闲PV来创建名为**tecmint_add_vg**的卷组PE大小为32。显示当前卷组我们可以看到只有带有1个PV的一个卷组在使用。
# vgs
这将使用上面创建的3个物理卷创建名为**tecmint_add_vg**的卷组PE大小为32MB。
# vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1
接下来再次运行vgs命令来验证卷组。
# vgs
![Create Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-10.jpg)
创建卷组
![Verify Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-11.jpg)
验证卷组
理解vgs命令输出
- 卷组名。
- 本卷组中使用的物理卷。
- 显示本卷组中的可用空闲空间。
- 卷组总大小。
- 本卷组中的逻辑卷这里我们还没创建所以是0。
- SN = 卷组包含的快照数量。(后面,我们会创建一个快照。)
- 卷组状态如可写可读可调整大小已导出部分的和集群的。这里是wz——意为w = 可写z = 可调整大小。
- 卷组中使用的物理卷PV数量。
**7.** 使用命令来显示更多卷组信息。
# vgs -v
![Check Volume Group Information](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-12.jpg)
检查卷组信息
**8.** 要获取更多关于新创建的卷组信息,运行以下命令。
# vgdisplay tecmint_add_vg
![List New Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-13.jpg)
列出新卷组
- 卷组名称
- 使用的LVM架构。
- 可读写,备好待用。
- 该卷组可以调整大小。
- 使用和激活的物理磁盘数量。
- 卷组总大小。
- 这里单个PE大小为32。
- 该卷组中可用的PE总数。
- 当前还没有在卷组中创建任何LV因此它是空闲的。
- 该卷组的UUID。
### 创建逻辑卷 ###
**9.** 现在创建3个名为**tecmint_documents**,**tecmint_manager**和**tecmint_public**的逻辑卷。这里我们可以看到如何分别以PE为单位和GB为单位来创建逻辑卷。首先使用以下命令来列出当前逻辑卷。
# lvs
![List Current Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-14.jpg)
列出当前卷组
**10.** 这些逻辑卷处于**vg_tecmint**卷组中使用**pvs**命令来列出并查看有多少空闲空间可以创建逻辑卷。
# pvs
![Check Free Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-15.jpg)
检查空闲空间
**11.** 卷组大小为**54GB**而且未被使用所以我们可以在该组内创建LV。让我们将卷组平均划分大小来创建3个逻辑卷就是说**54GB**/3 = **18GB**创建出来的单个逻辑卷应该会是18GB。
#### 方法1 使用PE创建逻辑卷 ####
首先让我们使用物理扩展PE为单位来创建逻辑卷。我们需要知道分配到该卷组的默认PE大小以及总的可用PE大小来创建新的逻辑卷运行下面的命令来获取使用中的卷组信息。
# vgdisplay tecmint_add_vg
![Create New Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-16.jpg)
创建新逻辑卷
- 默认分配给该卷组的PE为32MB这里单个的PE大小为32MB。
- 总可用PE是1725。
只要用bc命令做一点小小的计算来看看就知道了。
# bc
----------
1725PE/3 = 575 PE.
575 PE x 32MB = 18400 --> 18GB
![Calculate Disk Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-17.jpg)
计算磁盘空间
按**CRTL+D**退出**bc**。现在让我们使用575个PE来创建3个逻辑卷。
# lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)
# lvcreate -l 575 -n tecmint_documents tecmint_add_vg
# lvcreate -l 575 -n tecmint_manager tecmint_add_vg
# lvcreate -l 575 -n tecmint_public tecmint_add_vg
- -**l** 使用扩展大小创建
- -**n** 给逻辑卷命名
使用lvs命令来列出创建的逻辑卷。
# lvs
![List Created Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-18.jpg)
列出创建的逻辑卷
#### 方法2 使用GB大小创建逻辑卷 ####
在使用GB大小创建逻辑卷时我们不能获得精确的大小。因此最好的办法是用扩展。
# lvcreate -L 18G -n tecmint_documents tecmint_add_vg
# lvcreate -L 18G -n tecmint_manager tecmint_add_vg
# lvcreate -L 18G -n tecmint_public tecmint_add_vg
# lvcreate -L 17.8G -n tecmint_public tecmint_add_vg
使用lvs命令来列出创建的逻辑卷。
# lvs
![Verify Created Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-19.jpg)
验证创建的逻辑卷
这里我们可以看到当创建第三个LV的时候我们不能收集到18GB空间。这是因为尺寸有小小的改变但在使用或者尺寸来创建LV时这个问题会被忽略。
### 创建文件系统 ###
**12.** 要使用逻辑卷我们需要格式化。这里我使用ext4文件系统来创建卷并打算挂载到**/mnt**。
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager
![Create Ext4 File System](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-20.jpg)
创建Ext4文件系统
**13.** 让我们在**/mnt**下创建目录,并将已创建好文件系统的逻辑卷挂载上去。
# mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
# mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
# mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/
使用下面的命令来列出并确认挂载点。
# df -h
![Mount Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-22.jpg)
挂载逻辑卷
#### 永久挂载 ####
现在这些逻辑卷是临时挂载上去的要永久挂载我们需要添加条目到fstab中。要达到这个目的让我们使用下面的命令来获取挂载条目
# cat /etc/mtab
在输入来自mtab中的挂载条目内容时我们需要在fstab中做些小小的改变修改rw为默认。
# vim /etc/fstab
我们的fstab条目应该和下面的类似使用wq保存并退出fstab。
/dev/mapper/tecmint_add_vg-tecmint_documents /mnt/tecmint_documents ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public /mnt/tecmint_public ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager /mnt/tecmint_manager ext4 defaults 0 0
![Get mtab Mount Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-23.jpg)
获取mtab挂载条目
![Open fstab File](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-24.jpg)
打开fstab文件
![Add Auto Mount Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-25.jpg)
添加自动挂载条目
重启前执行mount -a命令来检查fstab条目。
# mount -av
![Verify fstab Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-26.jpg)
验证fstab条目
这里,我们已经了解了怎样来使用逻辑卷构建灵活的存储,从使用物理磁盘到物理卷,物理卷到卷组,卷组再到逻辑卷。
在我即将奉献的文章中我将介绍如何扩展卷组、逻辑卷减少逻辑卷拍快照以及从快照中恢复。到那时保持TecMint更新到这些精彩文章中的内容。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/create-lvm-storage-in-linux/
作者:[Babin Lonston][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/babinlonston/

View File

@@ -1,67 +0,0 @@
命令行星期二——第八部分
================================================================================
极客们我们回来了来完成最后一章的CLT。今天我们将讨论一下任务控制。在这个里头我们也将学习怎样来控制运行在我们计算机上的进程
### 一个例子 ###
正如我们所学的我们可以直接在CLI中输入程序名称来运行该程序。例如dolphin。如果我们输入
dolphin
……dolphin这个文件管理器就打开了。如果在进程打开时你查看终端你就不能访问命令提示符了而且你也不能在同一个窗口中写一个新命令进去了。如果你终止dolphin提示符又会出现了而你又能输入一个新命令到shell中去了。那么我们怎么能在CLI运行一个程序时同时又能获得提示符以便进一步发命令。
dolphin &
……现在你让dolphin文件管理器在后台运行了终端就可以空出来输入你需要的另外一个命令了。
现在假设你忘了在dolphin后面输入&字符你只需要输入ctrl+z它会停止你的进程并把它放到空闲列表中去。要继续停止的进程输入
bg
……它会从后台重启进程。
### jobs, ps ###
由于我们在后台运行着进程你可以使用jobs或者使用ps来来列出它们。试试吧只要输入jobs或者输入ps就行了。下面是我得到的结果
nenad@linux-zr04:~> ps
PID TTY TIME CMD
8356 pts/1 00:00:00 bash
8401 pts/1 00:00:00 dolphin
8406 pts/1 00:00:00 kbuildsycoca4
8456 pts/1 00:00:00 ps
### 杀死进程 ###
如果有个进程无响应了怎么来处理掉它呢可以使用kill命令。让我们在先前提到的dolphin进程上试试。首先我们必须使用ps来鉴别该进程的PID。在我上述情况中dolphin的PID是8401。那么让我们来杀死它我只要输入
kill 8401
……那么它就把dolphin给杀死了。
### Kill更多细节 ###
Kill的存在不仅仅是为了终止进程它最初是设计用来发送信号给进程。当然有许多kill信号可以使用根据你使用的应用程序不同而不同。请看下面的表
![](https://news.opensuse.org/wp-content/uploads/2014/08/snapshot1.png)
务必试试这些信号。
### 结尾 ###
我们以本节课来结束我们的CLT系列和周二必达我希望其他像我这样的新手们能设法在他们的思想中摆脱控制台的神秘而学习掌握一些基本技能。现在对你们而言所有剩下来要做的事就是尽情摆弄它吧只是别把/目录搞得太乱七八糟,因而你也不会诋毁什么东西了 :D
Well be seeing a lot more of each other soon, as theres more series of articles from where these came from. Stay tuned, and meanwhile…
我们将在不久的将来看到其它更多的东西,因为有更多的系列文章来自这些文章的出处。别走开,同时……
### ……尽情享受! ###
--------------------------------------------------------------------------------
via: https://news.opensuse.org/2014/08/12/command-line-tuesdays-part-eight/
作者:[Nenad Latinović][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://news.opensuse.org/author/holden87/