mirror of
https://github.com/LCTT/TranslateProject.git
synced 2026-08-20 03:53:30 +08:00
renamed: 10 Database Tools For Linux Users To Use!.md -> 201406/10 Database Tools For Linux Users To Use!.md
renamed: 10 Linux Platforms Meant For Embedded Systems.md -> 201406/10 Linux Platforms Meant For Embedded Systems.md renamed: 20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md -> 201406/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md renamed: 20140527 A Complete Historical Timeline of Linux Evolution.md -> 201406/20140527 A Complete Historical Timeline of Linux Evolution.md renamed: 20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md -> 201406/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md renamed: 20140528 Why We Shouldn't Accept Bad Linux Ports.md -> 201406/20140528 Why We Shouldn't Accept Bad Linux Ports.md renamed: 20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md -> 201406/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md renamed: 20140529 Command Line Tuesdays--The Introductory.md -> 201406/20140529 Command Line Tuesdays--The Introductory.md renamed: 20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md -> 201406/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md renamed: 20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md -> 201406/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md renamed: 20140529 What is a good terminal emulator on Linux.md -> 201406/20140529 What is a good terminal emulator on Linux.md renamed: 20140529 Why No Flash Support for Linux Is Good for Open Source.md -> 201406/20140529 Why No Flash Support for Linux Is Good for Open Source.md renamed: 20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md -> 201406/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md renamed: 20140530 How To Install Linux On A MacBook Pro Retina.md -> 201406/20140530 How To Install Linux On A MacBook Pro Retina.md renamed: 20140530 Linux script command--A recorder inside your Terminal.md -> 201406/20140530 Linux script command--A recorder inside your Terminal.md renamed: 20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md -> 201406/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md renamed: 20140603 Linux Foundation to donate portion of membership fees to Code.org.md -> 201406/20140603 Linux Foundation to donate portion of membership fees to Code.org.md renamed: 20140603 Write your first Linux Kernel module.md -> 201406/20140603 Write your first Linux Kernel module.md renamed: 20140604 Command line secrets.md -> 201406/20140604 Command line secrets.md renamed: 20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md -> 201406/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md renamed: 20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md -> 201406/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md renamed: 20140607 How To Extract Images From Videos Using ffmpeg.md -> 201406/20140607 How To Extract Images From Videos Using ffmpeg.md renamed: 20140607 How To Install iCup 2014 In Linux.md -> 201406/20140607 How To Install iCup 2014 In Linux.md renamed: 20140607 Linux--Bash Delete All Files In Directory Except Few.md -> 201406/20140607 Linux--Bash Delete All Files In Directory Except Few.md renamed: 20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md -> 201406/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md renamed: 20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md -> 201406/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md renamed: 20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md -> 201406/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md renamed: 20140607 Steam Hits The Big 500 For Linux Games.md -> 201406/20140607 Steam Hits The Big 500 For Linux Games.md renamed: 20140607 Ubuntu One Formally Shuts Down.md -> 201406/20140607 Ubuntu One Formally Shuts Down.md renamed: 20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md -> 201406/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md renamed: 20140609 Open Source LDAP Solutions.md -> 201406/20140609 Open Source LDAP Solutions.md renamed: "20140609 OpenELEC 4.0.4 \347\216\260\345\267\262\345\217\221\345\270\203, \345\237\272\344\272\216 XBMC 13.1 \342\200\234Gotham\342\200\235.md" -> "201406/20140609 OpenELEC 4.0.4 \347\216\260\345\267\262\345\217\221\345\270\203, \345\237\272\344\272\216 XBMC 13.1 \342\200\234Gotham\342\200\235.md" renamed: 20140610 How to set up Internet connection sharing with iptables on Linux.md -> 201406/20140610 How to set up Internet connection sharing with iptables on Linux.md renamed: 20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md -> 201406/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md renamed: 20140610 Open Source SDN Project OpenDaylight Adds New Members.md -> 201406/20140610 Open Source SDN Project OpenDaylight Adds New Members.md renamed: 20140610 Top 7 Desktop Environment For Linux.md -> 201406/20140610 Top 7 Desktop Environment For Linux.md renamed: 20140611 HTG Explains--What' s the Difference Between Linux and BSD.md -> 201406/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md renamed: 20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md -> 201406/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md renamed: 20140612 Command Line Tuesdays--Part One.md -> 201406/20140612 Command Line Tuesdays--Part One.md renamed: 20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md -> 201406/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md renamed: 20140616 How To Install Numix Icon Theme In Fedora 20.md -> 201406/20140616 How To Install Numix Icon Theme In Fedora 20.md renamed: 20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md -> 201406/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md renamed: 20140616 Ubuntu for Phones Activated on 10,000 Devices.md -> 201406/20140616 Ubuntu for Phones Activated on 10,000 Devices.md renamed: 20140617 14 Apps To Boost Ubuntu.md -> 201406/20140617 14 Apps To Boost Ubuntu.md renamed: 20140619 Improve Battery Life with Laptop Mode Tools 1.65.md -> 201406/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md renamed: 20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md -> 201406/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md renamed: 20140620 Celebrating 30 Years of X.md -> 201406/20140620 Celebrating 30 Years of X.md renamed: 20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md -> 201406/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md renamed: 20140620 How to enable testing and unstable repository on Debian.md -> 201406/20140620 How to enable testing and unstable repository on Debian.md renamed: 20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md -> 201406/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md renamed: 8 examples of findmnt command to check mounted file systems on Linux.md -> 201406/8 examples of findmnt command to check mounted file systems on Linux.md renamed: Bash Getopts--Scripts with Command Line Options.md -> 201406/Bash Getopts--Scripts with Command Line Options.md renamed: Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md -> 201406/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md renamed: Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md -> 201406/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md renamed: Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md -> 201406/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md renamed: How To Install 'California' Calendar App in Ubuntu 14.04.md -> 201406/How To Install 'California' Calendar App in Ubuntu 14.04.md renamed: How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md -> 201406/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md renamed: How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md -> 201406/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md renamed: How to download webcomics from the command line on Linux.md -> 201406/How to download webcomics from the command line on Linux.md renamed: How to launch applications differently with Gnome-Pie on Linux desktop.md -> 201406/How to launch applications differently with Gnome-Pie on Linux desktop.md renamed: How to manage Linux containers with Docker on Ubuntu.md -> 201406/How to manage Linux containers with Docker on Ubuntu.md renamed: How to manage ip addresses and subnets with phpIPAM.md -> 201406/How to manage ip addresses and subnets with phpIPAM.md renamed: How to manage passwords from the command line on Linux.md -> 201406/How to manage passwords from the command line on Linux.md renamed: How to monitor Nginx web server from the command line in real time.md -> 201406/How to monitor Nginx web server from the command line in real time.md renamed: How to set up a web-based lightweight system monitor on Linux.md -> 201406/How to set up a web-based lightweight system monitor on Linux.md renamed: How to take a screenshot from the command line on Linux.md -> 201406/How to take a screenshot from the command line on Linux.md renamed: How to take full length screenshots of websites via terminal.md -> 201406/How to take full length screenshots of websites via terminal.md renamed: How to use LVM in Linux.md -> 201406/How to use LVM in Linux.md renamed: How to verify DDOS attack with netstat command on Linux Terminal.md -> 201406/How to verify DDOS attack with netstat command on Linux Terminal.md renamed: Install SoundCloud In Ubuntu 14.04.md -> 201406/Install SoundCloud In Ubuntu 14.04.md renamed: Linux Pros' Top Command Line Secrets.md -> 201406/Linux Pros' Top Command Line Secrets.md renamed: Linux Terminal--Dstat monitoring tools.md -> 201406/Linux Terminal--Dstat monitoring tools.md renamed: Making Linux Feel at Home.md -> 201406/Making Linux Feel at Home.md renamed: Open Source's Cult Of Personality Is Dying--Thankfully.md -> 201406/Open Source's Cult Of Personality Is Dying--Thankfully.md renamed: Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md -> 201406/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md renamed: Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md -> 201406/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md renamed: TechView--Linus Torvalds Inventor of Linux.md -> 201406/TechView--Linus Torvalds Inventor of Linux.md renamed: Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md -> 201406/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md renamed: Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md -> 201406/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md renamed: What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md -> 201406/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md renamed: Why htop Command Compete Linux top Command.md -> 201406/Why htop Command Compete Linux top Command.md
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
10款适合Linux用户使用的数据库管理工具!
|
||||
================================================================================
|
||||
从内容管理系统到简单的表格,数据库是每一个开发项目的一部分。这就是为什么开发者们如此强调使用正确类型的数据库工具。下面这些可能对您有所帮助!
|
||||
|
||||

|
||||
|
||||
#### 1. [Autotabla][1] ####
|
||||
|
||||
Autotabla是一个你的程序的SQL数据表的CGI管理界面。只需要提供你数据库架构的XML描述,你就可以创建/修改/删除数据库记录。 HTML输出可以通过CSS完全自定义。使用Perl/DBI模块而支持各种数据库。
|
||||
|
||||
#### 2. [Cruddy!][2] ####
|
||||
|
||||
Cruddy!是一个以CGI::CRUD为框架的应用程序,它为你的数据库提供了一个即时的Web前端的CRUD接口。
|
||||
|
||||
#### 3. [myPhile][3] ####
|
||||
|
||||
这是一个可定制的MySQL表的通用管理界面。
|
||||
|
||||
#### 4. [NG-Admin][4] ####
|
||||
|
||||
这是一个数据库内容的管理工具。
|
||||
|
||||
#### 5. [phpMoAdmin][5] ####
|
||||
|
||||
这是一个PHP写的MongoDB管理工具。
|
||||
|
||||
#### 6. [phpMSAdmin][6] ####
|
||||
|
||||
phpMSAdmin是用PHP编写的工具,它允许您通过Web浏览器管理一个微软的SQL Server ,而不需要Windows或专有的企业管理器。它允许你创建/修改:数据库,表,视图,触发器等
|
||||
|
||||
#### 7. [RockMongo][7] ####
|
||||
|
||||
RockMongo,一个MongoDB的管理工具,在PHP5中实现,类似phpMyAdmin。
|
||||
|
||||
#### 8. [WizMySQLAdmin][8] ####
|
||||
|
||||
WizMySQLAdmin类似最有名的MySQL数据库管理器phpMyAdmin,但它非常易于安装和维护。它只由一个文件组成,并支持多种数据库和表的创建和处理。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.efytimes.com/e1/fullnews.asp?edid=138307
|
||||
|
||||
译者:[乌龙茶](https://github.com/yechuxiao19) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://sourceforge.net/projects/autotabla/
|
||||
[2]:http://www.thesmbexchange.com/cruddy/
|
||||
[3]:http://efytimes.com/e1/companionway.net
|
||||
[4]:http://www.ng-marketing.com/wuerzburg/
|
||||
[5]:http://phpmoadmin.com/
|
||||
[6]:http://sourceforge.net/projects/phpmsadmin/
|
||||
[7]:http://rockmongo.com/
|
||||
[8]:http://sourceforge.net/projects/wizmysqadmin/
|
||||
@@ -0,0 +1,67 @@
|
||||
10款专为嵌入式系统打造的Linux平台
|
||||
==========================================
|
||||
|
||||
Linux 有着广泛的用途。该平台用于很多家庭的简单使用,同时它也深受程序员和黑客们的青睐。此外,Linux 还广泛地应用在嵌入式系统中,有一系列专门适用于此类系统的发行版。我们将为大家推荐十个非常优秀的专为嵌入式系统发行的linux版本!
|
||||
|
||||
|
||||
![] (http://www.efytimes.com/admin/useradmin/photo/UJVP24130PM532014.jpeg)
|
||||
|
||||
|
||||
### 1.[Ampro 嵌入式 Linux][1] ###
|
||||
|
||||
这是一个自由和开放源代码的从Ubuntu精简来的轻量级操作系统。
|
||||
|
||||
### 2. [BlueCat Linux from Lynx][2] ###
|
||||
|
||||
这个基于 Linux 的发行版是Lynx套件的一部分,并为嵌入式系统打造。
|
||||
|
||||
### 3. [CacheGuard OS][3] ###
|
||||
|
||||
CacheGuard OS 是一个从零开始建立的集成了安全解决方案的基于Linux的版本,专门为网络管理设计的。
|
||||
|
||||
### 4. [Darma NAS OS][4] ###
|
||||
|
||||
这个发行版有一个基于 SSL 的加密客户端的服务器和基于 Java 的图形用户界面。
|
||||
|
||||
### 5. [DIET-PC][5] ###
|
||||
|
||||
这是开源的瘦客户端软件 kitset,它允许用户建立网络应用。
|
||||
|
||||
### 6. [ELinOS][6] ###
|
||||
|
||||
这个发行版为在嵌入式系统上工作的用户提供大量的技术。它是一个相当受欢迎的嵌入式 Linux 平台。
|
||||
|
||||
### 7. [eLux][7] ###
|
||||
|
||||
这个发行版有一个非常简单和容易使用的界面,适用于用户和管理员都不具有任何有关 Linux 的知识的特殊情况下。
|
||||
|
||||
### 8. [eLux NG][8] ###
|
||||
|
||||
这个发行版为支持 eLux 的处理器列表中添加了新的型号。
|
||||
|
||||
### 9. [Embedded Coyote Linux][9] ###
|
||||
|
||||
这种基于 Coyote Linux的防火墙和 VPN 服务器一直为很多人选择的平台。
|
||||
|
||||
### 10. [嵌入式 Debian 项目][10] ###
|
||||
|
||||
这个项目的目的是使 Debian GNU/Linux 成为嵌入式系统的第一选择。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.efytimes.com/e1/fullnews.asp?edid=137612
|
||||
|
||||
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ampro.com/company/News/04_08_08_Ampro_Reveals_Ubuntu_Embedded_Linux.htm
|
||||
[2]:http://www.lynuxworks.com/embedded-linux/embedded-linux-virtualization.php
|
||||
[3]:http://www.cacheguard.com/cacheguard-os.html
|
||||
[4]:http://nas.darma.com/
|
||||
[5]:http://www.dietpc.org/
|
||||
[6]:http://www.sysgo.com/products/elinos-embedded-linux/
|
||||
[7]:http://www.myelux.com/index.htm?Unicon_Session=32bf53f198c94ba2ac2ce1ea45211754
|
||||
[8]:http://www.myelux.com/eluxng.htm
|
||||
[9]:http://www.myelux.com/eluxng.htm
|
||||
[10]:http://www.emdebian.org/
|
||||
@@ -0,0 +1,42 @@
|
||||
麻雀虽小五脏俱全,4MLinux现在才仅55MB
|
||||
================================================================================
|
||||

|
||||
|
||||
**4MLinux是一个已经发展到版本9.0 Beta版的小型Linux发行版,专注于计算机的4MS,即维护(用于系统救援的Live CD)、多媒体(像是播放DVD)、迷你服务器(使用inetd守护进程)和Mystery (Linux小游戏)。**
|
||||
|
||||
4MLinux是世界上最小的,能够为用户提供一个桌面环境和一些应用,可以日常应用的发行版。
|
||||
|
||||
大多数mini版本的Linux发行版通常从一开始就不提供这样的大量的应用程序,特别是在只有55MB大小的情况下。
|
||||
|
||||
“这个版本的亮点是维护(MBR和GPT分区软件,4MLinux备份脚本9.0,ClamAV0.98.3)、多媒体(MPlayer SVN-r37146,FFmpeg Git-2014-04-10),迷你服务器(FTP,HTTP,SSH,SFTP)和Mystery(一组小游戏)。“
|
||||
|
||||
开发者在博客里说:“4MLinux的X Window基于X.Org Server 1.15.1、Mesa 10.1.3,、JWM 2.2.2 和 FOX toolkit 1.6.49。4MLinux还支持全自动安装的'vanilla'版本的LibreOffice4.2.4、Java RE 7u55和VirtualBox 4.3.12。ISO映像的大小约为55 MB”
|
||||
|
||||
正如你所看到的,大部分提供的包都是很新的,如VirtualBox、LibreOffice、Mesa、ffmpeg、ClamAV等等。如果你有关于这个版本不太有信心,可以随时用虚拟机尝试它。
|
||||
|
||||
有趣的是用户可以在X Server 启动前切入启动进程并使用命令行,这是一个不错的做法。
|
||||
|
||||
开发者在完成了主要的更新后将开始发布所有的其它分支版本,比如完整版、游戏版、服务器版、媒体版、救援版等等。请记住,你可以从一个非常简单的软件的帮助下,从主面板选择并安装这些Linux分支版。
|
||||
|
||||
用户还会发现,大部分你所需要的应用程序都可以在仓库找到,而4MLinux发行版可以通过下载相应的软件包来执行上面的任务。
|
||||
|
||||
完整的更新说明可在官方找到 [说明][1].
|
||||
|
||||
### 下载4MLinux 9.0 Beta: ###
|
||||
|
||||
- [4MLinux 8.2 (ISO)][2][iso] [53.90 MB]
|
||||
- [4MLinux 9.0 Beta (ISO)][3][iso] [53 MB]
|
||||
|
||||
请记住,目前9.0还是一个开发版,它不应该在生产机器上安装。它的目的仅用于测试目的。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/4MLinux-9-0-Beta-Is-a-55-MB-Operating-System-that-Has-It-All-443946.shtml
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://4mlinux-releases.blogspot.ro/2014/05/4mlinux-90-beta-released.html
|
||||
[2]:http://sourceforge.net/projects/linux4m/files/8.0/updates/8.2/livecd/4MLinux-8.2.iso/download
|
||||
[3]:http://sourceforge.net/projects/linux4m/files/9.0/livecd/4MLinux-9.0.iso/download
|
||||
@@ -0,0 +1,138 @@
|
||||
Linux发展编年表
|
||||
================================================================================
|
||||

|
||||
|
||||
[我们周围到处都有Linux的身影][0],在家中、公司里、大学、实验室,太空空间站。但是过去它不像现在一样是计算机发展的中坚力量,它只是开始于一个芬兰大学生的个人爱好。现在的Linux已经从一个个人爱好发展成了一场计算机革命。在这篇文章里,我们向你展示最完整的Linux 23年来发展的历史年表。
|
||||
|
||||
### 1991 ###
|
||||
|
||||
**8月25号** : 21岁的芬兰学生Linus Benedict Torvalds 在comp.os.minix 新闻组上宣布了它正在编写一个免费的操作系统。
|
||||
|
||||
**9月1号** : Linux 0.01在网上发布。
|
||||
|
||||
### 1992 ###
|
||||
|
||||
**1月5号** : Linux [v0.12 release][1] 版本的内核重新以GUN GPL的协议发布。原来的许可证是禁止任何商业用途的。通过这次协议变更,发布和出售修改或未修改版的Linux成为了可能,只要你将这些复制版本以相同的GPL许可证发布,并且有相对应完整的源代码。在后来的一次[采访][2]中,Linus对这次许可证的更改说了这样一句话(让Linux遵守GPL绝对是我干过的最正确的事):
|
||||
|
||||
" Making Linux GPL'd was definitely the best thing I ever did."
|
||||
|
||||
**1月29号** : Andrew S. Tanenbaum向comp.os.minix邮件列表发送了一封名为[LINUX is obsolete][3]的邮件。总的来说,这次被一些人升级为“战火”的争论是关于Linux和内核架构的。Tanenbaum争辩说微内核比宏内核更加高级,所以Linux是过时的。
|
||||
|
||||
**4月5号** : 第一个Linux新闻组,comp.os.linux由Ari Lemmke提议和开通。
|
||||
|
||||
**5月21号** : Peter MacDonald 发布第一个独立的Linux安装包SLS。可以通过软盘安装,包括比较前沿的TCP-IP网络支持和X Window系统。建议至少预留10M的磁盘空间来安装。
|
||||
|
||||
### 1993 ###
|
||||
|
||||
**6月17号** : Slackware Linux由Patrick Volkerding发布。[Slackware][4]被认为是第一个取得广泛成功的Linux发行版,而且它现在还在使用。
|
||||
|
||||
**8月16号** : Ian Murdock(Debian中的'ian')发布了第一个Debian Linux的发行版。Debian是最有影响力的Linux发行版之一,是MEPIS,Mint,Ubuntu和很多其它发行版的鼻祖。
|
||||
|
||||
**8月19号** : Matt Welsh写的《Linux Installation and Getting Started》第1版出版,这是第一本关于Linux的书籍。
|
||||
|
||||
### 1994 ###
|
||||
|
||||
**3月14号** : [Linux内核V1.0][5]发布。它支持基于i386单处理器的计算机系统。这3年来,内核代码库已经增长到了176,250行。
|
||||
|
||||
**3月26号** : 第一期《Linux Journal》杂志发行。这一期杂志的特点是发表了一篇对Linus Torvalds的采访和一些Phil Hughes, Robert “Bob” Young, Michael K. Johnson, Arnold Robbins, Matt Welsh, Ian A写的文章。
|
||||
|
||||
**8月15号** : Willian R. Della Croce, Jr. 申请了“Linux”商标,9月进行了注册。Della Croce在不知道Linux社区财政窘迫的前提下,向煊赫的“Linux公司”写了一封信,要求他们为“Linux”商标使用支付费用。直到1997年,这次风波以将商标转让给代表所有请愿者和Linux使用者的Linus Torvalds而告终。
|
||||
|
||||
**11月3号** : Red Hat的共同创始人Marc Ewing宣布可以以49.95美元的零售价格获得Red Hat Software Linux的CD-ROM和30天的安装支持。2012年Red Hat成为[第一家市值达10亿美元的开源公司][6]。
|
||||
|
||||
### 1995 ###
|
||||
|
||||
**4月4号** : 开展了第一个专门针对Linux的贸易展和会议系列,名字叫Linux Expo。这成为接下来几年中,最流行和备受关注的年度Linux盛会。贸易展和会议的入场券价格是4美元。3年后,Red Hat接管了组织工作,同时也是主要的赞助商。
|
||||
|
||||
### 1996 ###
|
||||
|
||||
**5月9号** : 最初由Alan Cox提议,之后又经Linus Torvalds改良,Larry Ewing在1996年创造了现在看到的这只叫做Tux的吉祥物。选定企鹅作为Linux吉祥物的主意来自Linus Torvalds,他说自己被一只企鹅轻轻地咬了一口之后就具有了企鹅的特征。(这是要变成企鹅侠吗?估计是原作者调皮了?--译注)
|
||||
|
||||
**6月9号** : [Linux内核V2.0][7]发布。相比更早的版本这是一次意义重大的提升,这是第一个在单系统中支持多处理器的稳定内核版本,也支持更多的处理器类型。Linux从此以后成了很多公司一个郑重选择的对象。你可以阅读1996年8月在Linux Journal上发布的[回顾Linux V2.0][8]来了解更多相关的提升。
|
||||
|
||||
**10月14号** : 1996年Mattias Ettrich发起了KDE项目,因为他深受Unix桌面系统下应用程序的不一致之苦。(在此之前Unix和Linux都没有一个统一的桌面系统,编写桌面软件非常复杂--译注)
|
||||
|
||||
### 1997 ###
|
||||
|
||||
**1月9号** : 第一个“Linux病毒”Bliss被发现了。Bliss不危害系统的安全,它依赖于人们用特权干蠢事来感染系统,然后提醒用户只安装从可靠站点下载的可以验证数字签名的软件,并且安装之前一定要先验证签名(很多地方把这个算作第2个Linux病毒,因为之前还有一个更加“绿色”的病毒--译注)。
|
||||
“事实上,在Linux上写一个病毒可能会更加的简单,因为Linux是开源的,所有的源代码都是可以获取的。所以,随着Linux变得更加通用和流行的时候,我们将看到更多的Linux病毒。”--来自McAfee的畅想。
|
||||
|
||||
### 1998 ###
|
||||
|
||||
**5月1号** : Google搜索引擎面世。它不仅仅是世界上最好的搜索引擎之一,更是基于Linux的,它的特征是有一个Linux的搜索页面。
|
||||
|
||||
**12月4号** : 一份来自IDC的报告称1998年Linux的出货量至少上升了200%,市场占有率上升至少150%。Linux的市场占有率为17%,并且以其它任何操作系统无法企及的速度增长着。
|
||||
|
||||
### 1999 ###
|
||||
|
||||
**2月9号** : Linux和BSD使用者们发起了“Windows退款日”。他们联合起来造访了微软公司,希望退还他们在买电脑时绑定购买Windows许可证的钱,这些许可证他们从来没有用过。
|
||||
|
||||
**3月3号** : 另一个颇具影响力的桌面系统进入了Linux的世界,就是[GNOME桌面系统][9]。在很多主要的Linux发行版比如Debian,Fedora,RedHad Enterprise Linux和SUSE Linux Enterprise Desktop中,GNOME是默认的桌面环境。
|
||||
|
||||
### 2000 ###
|
||||
|
||||
**2月4号** : 最新的IDC报告表明Linux现在排在“最受欢迎的服务器操作系统的第2位”,1999年服务器系统销售量占总量的25%。Windows NT以38%位列第1,NetWare以19%排在第3位。
|
||||
|
||||
**3月11号** : 摩托罗拉公司宣布发行HA Linux。这个发行版专注于通信应用领域,对系统不关机连续运行时间要求非常高。它还包括了热交换能力和支持i386和PowerPC架构。
|
||||
|
||||
**3月23号** : 爱立信公布了“Screen Phone HS210”,这是一款基于Linux的触屏手机,具备邮件和网页浏览等功能。爱立信和Opera Software公司同时宣布这款手机将会安装Opera的网页浏览器。
|
||||
|
||||
**10月30号** : 第一个Linux live发行版由Linux咨询顾问Klaus Knopper发布,名字叫做Knoppix。
|
||||
|
||||
### 2001 ###
|
||||
|
||||
**1月3号** : 美国NAS(美国国家安全局)以GPL许可证发布了SELinux。SELinux提供了标准Unix权限管理系统以外的另一层安全检查。
|
||||
|
||||
### 2003 ###
|
||||
|
||||
**3月6号** : SCO Group公司宣布他们正在发起对IBM高达10亿美元的诉讼,他们声称IBM把SCO的商业机密整合到了Linux中。之后SCO公司发起了一系列的法律诉讼案,这威胁到了很多计算机行业的巨头包括惠普,微软,Novell,Silicon Graphics,Sun Microsystems和RedHat。这次案件在Novell公司的支持下于2010年3月30号判决完毕。(著名的SCO-Linux争议,SCO声称拥有System V的部分源码所有权,IBM将这部分源码整合到Linux中侵犯了SCO著作权。最后联邦法院裁定Novell才是Unix商标的合法拥有者。--译注)
|
||||
|
||||
### 2004 ###
|
||||
|
||||
**10月20号** : [Ubuntu][10]以一个不同寻常的版本号4.10和怪异的版本代号“Warty Warthog”(长满疙瘩的非洲疣猪)进入大家的生活。用这个版本号是因为发布日期是2004年10月。Ubuntu的开发由Cannonical Ltd公司主导,公司的创始人是Mark Shuttleworth(就是那个不到30岁的亿万富翁,钱多的不知道怎么花,只能烧钱上太空的游一圈的人--译注)。Ubuntu虽然不是内核的主要贡献者,然而对于Linux的台式机和笔记本电脑的普及,Ubuntu扮演着一个重要的角色。
|
||||
|
||||
### 2007 ###
|
||||
|
||||
**6月6号** : 华硕在2007的台北电脑展上展出了两款“易PC”(Eee PC):701和1001。第1批易PC预装的是Xandros Linux,这是一个基于Debian,轻量级的为适应小屏幕进行过优化的Linux发行版。
|
||||
|
||||
**8月8号** : 2007年Linux基金会由[开源发展实验室(OSDL)][11]和[自由标准组织(FSG)][12]联合成立。这个基金会目的是赞助Linux创始人Linus的工作。基金会得到了主要的Linux和开源公司,包括富士通,HP,IBM,Intel,NEC,Oracle,Qualcomm,三星和来自世界各地的开发者的支持。
|
||||
|
||||
**11月5号** : 与之前大家推测的发布Gphone不同,[Google宣布][13]组建开放手机联盟(Open Handset Alliance)和发布[Android][14],它被称为“第一个真正开放的综合移动设备平台”。
|
||||
|
||||
### 2009 ###
|
||||
|
||||
**1月29号** : 2009年1月纽约时报称“现在预计有超过10亿人在运行Ubuntu系统”。
|
||||
|
||||
### 2011 ###
|
||||
|
||||
**5月11号** : 2011年Google I/O大会发布了Chrombook。这是一款运行着所谓云操作系统Chrome OS的笔记本。Chome OS是基于Linux内核的。
|
||||
|
||||
**6月21号** : Linus Torvalds 发布了Linux3.0版本。
|
||||
|
||||
### 2013 ###
|
||||
|
||||
**12月13号** : Valve公司发布基于Linux的SteamOS操作系统,这是一个视频游戏控制台系统。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxfederation.com/complete-historical-timeline-linux-evolution/
|
||||
|
||||
译者:[love\\_daisy\\_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[0]:http://linux.cn/article-2480-1.html
|
||||
[1]:https://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12
|
||||
[2]:http://j.mp/fs-pragmatist
|
||||
[3]:https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate
|
||||
[4]:http://www.slackware.com/
|
||||
[5]:https://www.kernel.org/pub/linux/kernel/v1.0/
|
||||
[6]:http://www.informationweek.com/software/operating-systems/red-hat-first-$1-billion-open-source-company/d/d-id/1103616
|
||||
[7]:https://www.kernel.org/pub/linux/kernel/v2.0/
|
||||
[8]:http://www.linuxjournal.com/article/1311
|
||||
[9]:http://www.gnome.org/
|
||||
[10]:http://www.ubuntu.com/
|
||||
[11]:https://en.wikipedia.org/wiki/Open_Source_Development_Labs
|
||||
[12]:https://en.wikipedia.org/wiki/Free_Standards_Group
|
||||
[13]:http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
|
||||
[14]:http://www.android.com/
|
||||
@@ -0,0 +1,189 @@
|
||||
在Ubuntu 14.04 上使用Bacula和Webmin设置备份服务器
|
||||
================================================================================
|
||||
**Bacula**是一个开源网络备份解决方案,允许你在本地或者远程计算机组上备份或者还原数据。配置与安装很容易,并支持许多高级存储管理特性。
|
||||
|
||||
本教程中,让我们来学习一下如何在Ubuntu 14.04服务器上安装和配置Bacula。我的机器的IP是**192.168.1.250/24**,主机名是**server.unixmen.local**。现在让我们进入教程吧。
|
||||
|
||||
### 安装 Bacula ###
|
||||
|
||||
Bacula使用SQL数据库管理它的信息。我们可以使用MySQL或者PostgreSQL数据库。本篇教程中,我使用MySQL。
|
||||
|
||||
输入下面的命令安装MySQL服务器。
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get upgrade
|
||||
sudo apt-get install mysql-server
|
||||
|
||||
在安装MySQL的过程中,可能提示需要输入数据库管理员密码。输入密码后按下OK。
|
||||
|
||||

|
||||
|
||||
重新输入密码:
|
||||
|
||||

|
||||
|
||||
现在使用下面的命令安装bacula:
|
||||
|
||||
sudo apt-get install bacula-server bacula-client
|
||||
|
||||
Bacula默认使用Postfix MTA。安装过程中,你会被要求配置Postfix。
|
||||
|
||||

|
||||
|
||||
选择Internet站点并点击OK。
|
||||
|
||||

|
||||
|
||||
输入服务器完整域名(FQDN):
|
||||
|
||||

|
||||
|
||||
现在输入yes用dbconfig-common来配置Bacula数据库。
|
||||
|
||||

|
||||
|
||||
输入MySQL数据库管理员密码:
|
||||
|
||||

|
||||
|
||||
设置数据库的bacula-director-mysql用户的密码。如果留空不输入,会生成一个随机密码。
|
||||
|
||||

|
||||
|
||||
重新输入密码:
|
||||
|
||||

|
||||
|
||||
### 创建备份与还原目录 ###
|
||||
|
||||
现在,让我们创建备份与还原目录。
|
||||
|
||||
sudo mkdir -p /mybackup/backup /mybackup/restore
|
||||
|
||||
设置上面目录的权限与所属用户/组:
|
||||
|
||||
sudo chown -R bacula:bacula /mybackup/
|
||||
sudo chown -R 700 /mybackup/
|
||||
|
||||
### 配置 Bacula ###
|
||||
|
||||
Bacula有很多配置文件需要我们配置。
|
||||
|
||||
**更新 Bacula Director 配置:**
|
||||
|
||||
sudo vi /etc/bacula/bacula-dir.conf
|
||||
|
||||
找到下面的字段,并更新还原路径。本篇中,** /mybackup/restore**是我的还原位置。
|
||||
|
||||
[...]
|
||||
Job {
|
||||
Name = "RestoreFiles"
|
||||
Type = Restore
|
||||
Client=server-fd
|
||||
FileSet="Full Set"
|
||||
Storage = File
|
||||
Pool = Default
|
||||
Messages = Standard
|
||||
Where = /mybackup/restore
|
||||
}
|
||||
[...]
|
||||
|
||||
滚动到“list of files to be backed up”字段,并设置备份的目录。本篇教程中,我希望备份“**/home/sk**”目录。所以我把这个目录包含进了“File”参数中。
|
||||
|
||||
[...]
|
||||
|
||||
# By default this is defined to point to the Bacula binary
|
||||
# directory to give a reasonable FileSet to backup to
|
||||
# disk storage during initial testing.
|
||||
#
|
||||
File = /home/sk
|
||||
}
|
||||
[...]
|
||||
|
||||
继续向下滚动,找到**Exclude** 字段,设置排除在备份目录外的目录列表。这里,我排除了目录**/mybackup**。
|
||||
|
||||
[...]
|
||||
|
||||
# If you backup the root directory, the following two excluded
|
||||
# files can be useful
|
||||
#
|
||||
Exclude {
|
||||
File = /var/lib/bacula
|
||||
File = /nonexistant/path/to/file/archive/dir
|
||||
File = /proc
|
||||
File = /tmp
|
||||
File = /.journal
|
||||
File = /.fsck
|
||||
File = /mybackup
|
||||
}
|
||||
}
|
||||
[...]
|
||||
|
||||
保存并关闭文件。
|
||||
|
||||
**更新 Bacula 存储守护进程设置:**
|
||||
|
||||
编辑 **/etc/bacula/bacula-sd.conf**,
|
||||
|
||||
sudo vi /etc/bacula/bacula-sd.conf
|
||||
|
||||
设置备份目录位置,也就是本篇中的**/mybackup/backup**。
|
||||
|
||||
[...]
|
||||
|
||||
Device {
|
||||
Name = FileStorage
|
||||
Media Type = File
|
||||
Archive Device = /mybackup/backup
|
||||
LabelMedia = yes; # lets Bacula label unlabeled media
|
||||
Random Access = Yes;
|
||||
AutomaticMount = yes; # when device opened, read it
|
||||
RemovableMedia = no;
|
||||
AlwaysOpen = no;
|
||||
}
|
||||
[...]
|
||||
|
||||
现在如下检查是否所有的配置是有效的。如果下面的命令没有显示,那么配置就是有效的。
|
||||
|
||||
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
|
||||
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf
|
||||
|
||||
一旦你完成所有的设置,重启所有的bacula服务。
|
||||
|
||||
sudo /etc/init.d/bacula-director restart
|
||||
sudo /etc/init.d/bacula-fd restart
|
||||
sudo /etc/init.d/bacula-sd restart
|
||||
|
||||
就是这样。现在,bacula已经成功安装与配置了。
|
||||
|
||||
### 使用Webmin 管理 Bacula ###
|
||||
|
||||
使用命令行管理Bacula是有点困难的。所以我们使用一个图形化的管理工具“webmin”来简化我们的任务。
|
||||
|
||||
使用下面的命令在Ubuntu 14.04上安装Webmin。
|
||||
|
||||
- [在 Ubuntu 14.04 LTS上安装Webmin][1]
|
||||
|
||||
现在使用URL https://ip-address:10000进入Webmin界面。在左边的窗格中进入系统标签并点击模块配置链接。如果在系统下没有找到它,在未使用模块一栏中查找。
|
||||
|
||||

|
||||
|
||||
在数据库一栏中选择MySQL数据库。输入MySQL管理员密码,并点击保存。
|
||||
|
||||

|
||||
|
||||
就是这样。现在你可以在webmin中简单地配置Bacula了。开始加入备份客户端,磁盘卷和计划任务吧。
|
||||
|
||||

|
||||
|
||||
干杯!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/setup-backup-server-using-bacula-webmin-ubuntu-14-04/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linux.cn/article-3113-1.html
|
||||
@@ -0,0 +1,33 @@
|
||||
为什么我们不应该接受低劣的Linux移植游戏
|
||||
================================================================================
|
||||
由于最近The Witcher 2的惨败,我想写下些想法,为什么我们不应该接受来自开发人员的品质低劣的移植游戏。
|
||||
|
||||
最近几年在我们的Linux游戏库里面有如此多游戏,以至于你现在可以看到来自Linux玩家的评论“我们已经有很多游戏了!”可能这些声音来自很多像你一样的人。感谢Valve 和 Steam,之前我们从来没有得到过这么多的开发者的关注。
|
||||
|
||||
同样由于开发者的推进,我们看见了伴随而来的各种移植游戏,坦率地说,它们的质量十分的低劣,或者说对于大多数人们来说根本不值得去看一眼。
|
||||
|
||||
现在的问题就是,如果我们继续接受这种低水平质量的移植,Linux就会赢得一个游戏质量水平低的名声。请认真考虑一下这样的后果吧!
|
||||
|
||||
再想象一下,如果那些AAA级的开发者给Linux推送了大量游戏,其中使用了The Witcher2 移植所用的“eON”技术。看起来就像我们有了大量开发者,突然之间Linux有很多大牌游戏了。然后你可以看见大量的人尝试Linux,却发现它们的游戏在同等硬件之下却有着糟糕的画面,就会给他们一个印象,Linux对游戏不友好。这对我们所有人都很糟糕。
|
||||
|
||||
我已经看见许多人说“这个工具包用于移植没关系?”。这在我的眼里看来是一个非常天真的想法。当然,这有关系, 它意味Linux的游戏里面的光线和白天的不同品质。这就直接追溯到我上面关于Linux游戏的观点上了。
|
||||
|
||||
你可以坚持说工具包没有关系,而且使用任何一个你想用的比较/类比的效果,但如果工具包是导致问题的根源,就像我们说的计算机占用了99%的处理能力的软件一样,是的,它当然有关系!
|
||||
|
||||
如今,我已经看见许多来自其他主流网站发表的评论,“我们应该接受它们并且作感谢状,我们毕竟拥有了它们”。那些都是鼠目寸光的人们说的胡话!
|
||||
|
||||

|
||||
|
||||
想想,那些开发者和发行商看到那些低劣的Linux移植游戏也能被接受时,他们的脑里只有钱。消费者对Linux游戏的感知就会进一步恶化,就是因为这些低劣的移植品。
|
||||
|
||||
我可以接受这些来自开发者的移植,毕竟是我运营着这个网站( http://www.gamingonlinux.com/ )。但是,如果我作为一个消费者不愿意为在windows运行挺好的游戏买单,而却为在Linux慢得像蜗牛一样的游戏买单?我会么?你会么?
|
||||
|
||||
最后附加的一点:你绝不应该攻击一个试图在社区里面解决问题的开发者,这样是不可以的。反馈是很好,骂人却是很幼稚的,这会使得Linux看起来更糟。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.gamingonlinux.com/articles/why-we-shouldnt-accept-bad-linux-ports.3765
|
||||
|
||||
译者:[Vic020](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,39 @@
|
||||
在Ubuntu Unity 14.04中添加Windows风格的底部任务栏
|
||||
================================================================================
|
||||

|
||||
|
||||
一些从Windows转到Ubuntu的新用户可能发现,在Ubuntu下默认的Unity界面占据了一切。大多数Windows用户,也包括一些非Gnome 3用户和一些非Unity Linux用户也许在Ubuntu中看不到底部任务栏。我们都知道,[Unity中的拖放操作][1]对用户不是很友好。
|
||||
|
||||
不管出于什么原因,如果你在Ubuntu中想要个底部面板,那么[tint][2]就是你的菜。
|
||||
|
||||
### 在Ubuntu 14.04中添加底部任务栏 ###
|
||||
|
||||
打开终端(Ctrl+Alt+T),然后输入下面的命令:
|
||||
|
||||
sudo apt-get install tint2
|
||||
|
||||
这样就把tint2安装好了。你可以在终端中输入tint2来运行它了,但这不是我们希望的方式,因为我们的并不想这么麻烦每次手工运行它。在此,我们需要让tint2来开机启动,这样每次启动Ubuntu的时候,它都会在桌面底部恭候你了。
|
||||
|
||||
#### 怎样让tint2开机启动? ####
|
||||
|
||||
打开Unity Dash(按下Windows键吧),然后搜索启动程序。
|
||||
|
||||

|
||||
|
||||
打开**启动程序**,在那儿猛戳**添加**按钮,你就可以添加一个新的开机启动程序了。你可以给它起个好认的名字,那命令那栏输入**tint2**,然后猛戳**添加**,然后继续猛戳**关闭**来保存。如果我说得不够清楚,还是看看下面的图片吧,它应该很直观了:
|
||||
|
||||

|
||||
|
||||
好了。赶快注销并重新登录进去看看吧,任务栏会乖乖地在下面等着你了。题图看到了吗?就是那个样子的。像[Conky][3]一样,tint2也能有大量的配置选项,但要进行深度配置,你得修改配置文件了。不过就算你很懒惰,安好了啥都不做,那它也会干得很好了。你已经试过了?你感觉tint2怎么样呢?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/add-windows-like-bottom-taskbar-in-ubuntu-unity-14-04/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/drag-drop-files-ubuntu-1404-unity/
|
||||
[2]:https://code.google.com/p/tint2/
|
||||
[3]:http://conky.sourceforge.net/
|
||||
@@ -0,0 +1,57 @@
|
||||
命令行星期二 —— 序
|
||||
================================================================================
|
||||
**嗨,极客们!**
|
||||
|
||||
今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,每天坐在计算机前的你们,将会试着走出图形用户界面(GUI)文化的藩篱,从今天开始“让事情变得简单而大众化”。
|
||||
|
||||
当然,如果你访问过任何与GNU/Linux相关的社区论坛的话,你可能已经看到了,关于GUI和命令行哪个更好的讨论非常热烈。是让GUI掌控一切,还是只是学习并享受命令行界(CLI)面带来的乐趣呢?
|
||||
|
||||

|
||||
|
||||
对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一,就是我们是在点击的计算模式下长大的,所以它基本上就是我们和机器进行交互的一种语言,或者你可以说是一种文化。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。
|
||||
|
||||
而对于反方,我读到的关于命令行的优点的最有趣的评论之一,就是你可以通过命令行来更快,更简单地做更多事情,比GUI工具来得快。但你需要明白的是:你需要学习命令。是的,学习它们,就像学一首诗一样。
|
||||
|
||||
现在,因为对于我们,半知半解毫无头绪的用户们,它让人听起来就像是某个没用的杂记小丑表演得表演过头,太过火了。让我来用个寓言讲得通俗一点吧:
|
||||
|
||||
### 寓言 ###
|
||||
|
||||
我已经用了Linux超过3年了。27岁,是个文学专业学生,我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机,我想大概是17岁那年吧。对于我而言,只用了10年的计算机。我只用过三个程序,BS播放器,Winamp和足球经理,偶尔也用用MS Word。大约三年多以前,我做临时工时的一位同事,在我正和另外一位同僚谈话时告诉我说,有个新版的东西,它一下子就抓住了我的心,它看起来确实与众不同。我现在想想,它就是Ubuntu的“敏捷的独角鲸”。在和这位同事讨论这个新版本后,他指出了一些常见的优点,这些优点也是我们经常向新手宣传的,不需要杀毒软件,启动快捷,安全性更高,附带有软件中心等等之类。最突出的一点:它背后的自由和开源(FOSS)哲学。他用他温和而优雅的方式把我带了进去。
|
||||
|
||||
我决定来一次尝试,而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲时,那就完完全全另外一回事了。问题在于,我最终进入了Linux领域。这很有趣,感觉很不一样,它让我的计算机跑得更好,它也更稳定,我也和它相处得很好(似乎我是在不经意间买到了相当普通的硬件)。似乎Linux并不是一个完全的桌面系统,所以我有时不得不使用终端。但是这么说吧,它是Linux中一个最为讨厌的,最为可怕,最令人不爽的工具之一。如果某些操作没有GUI可以做的话,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。
|
||||
|
||||
随着时间流逝,情况发生了变化。相对于其他以消费者为导向的系统,发生在我身上的事可能有点与一般人相反。在那三年中,我感觉不是我在玩系统,而是系统在玩我。我学会了怎样寻找基本问题,提交bug报告,怎样正确地在论坛上提问。对于碰到的每个问题,我学会了为那些更有能力帮我解决问题的人提供更有用的信息。
|
||||
|
||||
不久以前,我女朋友发泄说,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。“你只用它来进行音乐收藏和做些Linux的乱七八糟的事情,Nenad. Gaawd”它让我想啊,使劲想。Linux,特别是openSUSE发行版它成了我的爱好之一。我不是一个专家,不管怎么看都是这样,Linux不在我的专业知识范畴内。但我有足够的知识来搞定它,搞定一些小问题,修改一些配置文件等等。但是我终于认识到,随着玩Linux日久,对系统的调整日多,我真的需要熟悉一下命令行(CLI)了。我也了解到,我在对底层的东西一无所知的情况下对系统胡作非为。我要对着etc大喊大叫了,它究竟是个什么东西?bin又是个什么东西?为什么会有个.sh在后面?问什么这个文件在这里?那个文件又在那里?为什么我得点击那一大堆的文件夹来找到正确的文件进行修改?然后,我读到“你可以用一个命令来简单地列出某个地方的所有文件”时,它又变得很有趣了,我突然感到迫不及待要想试试了。
|
||||
|
||||
### 好吧,让我们干吧! ###
|
||||
|
||||
我们来了……。作为一位新的openSUSE的新闻发布者,我会试着以我所见最有成效的方式来发表我的看法,这样的方式我想对社区中绝大多数人会奏效。该高举旗帜,一起开始学习命令行了。如果是哲学理念吸引你到Linux和openSUSE中来的,就像我一样,那么是时候走得更远一点了。
|
||||
|
||||

|
||||
|
||||
看,我就知道在那外头有一大堆像我这样的人。我知道,你也许没有抓住90后极客们的要点,黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又通用的方式来学习,目录是用来干什么,什么文件放在什么地方,以及一些最常用的终端命令。在我们在控制台处理一些任务时,这将让我们更轻松一些;在碰到一些问题时,获得更大的回报。它也会让bug处理者更轻松些,如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。
|
||||
|
||||
我是说,我的天啊,你已经过渡到连Dilber和xkcd都感到有趣的阶段了。是时候到终端下去了。
|
||||
|
||||
附录:
|
||||
|
||||
要用到的一些参考资料:威廉·肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求:
|
||||
|
||||
- 每周1到2小时的空闲时间
|
||||
- 一品脱冰冻啤酒或者其它饮料
|
||||
- 有人已经指出,使用[Gedit][1],或者手工记录本(你懂的,笔和纸,呵呵)可以让学习更简单一些。
|
||||
|
||||
肖茨写的书可是精品,但读它可要花点时间和毅力。这里,我尽力让课程变得更通俗易懂一点,花点时间来帮助你们,而最重要的是——我希望我们能一起学习,一起互相帮助(评论还有论坛,人!!),并且加入一个组织严密的openSUSE社区!下周的这个时间(已经会是六月了吧),我们讲学习我们的第一部分命令。切记……
|
||||
|
||||
**尽情享受吧!**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/05/27/command-line-tuesdays-the-introductory/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://software.opensuse.org/package/gedit
|
||||
@@ -0,0 +1,47 @@
|
||||
如何在VirtualBox中的Linux客户机系统间共享磁盘
|
||||
================================================================================
|
||||
在本教程中,让我来给你们展示一下如何在VirtualBox中的两个Linux客户机系统间共享一个磁盘。
|
||||
|
||||
本教程对于那些想配置一下并玩玩GFS或者集群的人来说还是很有帮助的。
|
||||
|
||||
下图是VirtualBox的标准界面:
|
||||
|
||||

|
||||
|
||||
第一个客户系统机CentOS1:
|
||||
|
||||

|
||||
|
||||
第二个客户机系统CentOS2:
|
||||
|
||||

|
||||
|
||||
给第一台机器添加额外的磁盘:
|
||||
|
||||

|
||||
|
||||
点击文件->虚拟介质管理器(Control+D)打开虚拟介质管理器界面:
|
||||
|
||||

|
||||
|
||||
设置磁盘为可共享(Shareable):
|
||||
|
||||

|
||||
|
||||
在客户机CentOS 2上,你可以添加现有磁盘,该磁盘在CentOS1客户机系统之前已经创建好:
|
||||
|
||||

|
||||
|
||||
完成后,你可以重启第二个客户机系统,并检查驱动器是否已经添加:
|
||||
|
||||

|
||||
|
||||
大功告成。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/share-disks-virtualbox-linux-guest-os/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,384 @@
|
||||
在Arch上使用Nginx/Apache安装RainLoop Webmail
|
||||
================================================================================
|
||||
Rainloop是一个使用PHP编写的,开源免费的网页邮件客户端。他支持包括Google、Yahoo、OutLook在内的主流的邮件服务器,当然,他也支持你自己的本地邮件服务器。它看起来大致就像使用IMAP和SMTP协议的MUA(邮件客户端)一样。
|
||||
|
||||
#### RainLoop 示例 ####
|
||||
|
||||
可以看一下RainLoop作者安装的演示页面: [http://demo.rainloop.net/][1]。
|
||||
|
||||

|
||||
在Arch Linux上安装RainLoop
|
||||
|
||||
一旦在您的服务器部署上Rainloop,剩余要做的唯一的事情是通过Web浏览器访问您的Rainloop,并提供你正在使用的邮件服务器信息。
|
||||
|
||||
本教程包含了在 **Arch Linux**上的**Rainloop** 网页客户端的安装流程,包括如何进行配置 **Apache** 或 **Nginx**, 当然本教程使用修改Hosts的方式,从而避免了DNS的访问。
|
||||
|
||||
If you also need references on installing Rainloop on **Debian** and **Red Hat** systems visit the previous RainLoop Webmail article at.
|
||||
|
||||
如果你还是需要一篇在**Debian** 和 **Red Hat** 安装 RainLoop Webmail 的教程,你可以看这篇文章:
|
||||
|
||||
- [在 Debian 和 RedHat 系的 Linux 上安装 RainLoop Webmail][2]
|
||||
|
||||
以及在 **Ubuntu** 服务器中安装 RainLoop Webmail 的教程,你可以看这篇文章:
|
||||
|
||||
- [如何在 Ubuntu server 中设置 RainLoop Webmail][8]
|
||||
|
||||
### 系统要求 ###
|
||||
|
||||
#### 对 Nginx ####
|
||||
|
||||
- [在 Arch Linux 上安装 LEMP (Nginx, PHP, MySQL/MariaDB 和 PhpMyAdmin)][3]
|
||||
- [在 Nginx 上创建虚拟主机][4]
|
||||
|
||||
#### 对 Apache ####
|
||||
|
||||
- [在 Arch Linux 上安装 LAMP (Linux, Apache, MySQL/MariaDB 和 PHP/PhpMyAdmin)][5]
|
||||
|
||||
### Step 1:在 Nginx 或者 Apache 上创建虚拟主机###
|
||||
|
||||
**1.** 假设你已经如上面介绍的链接所述,配置好了您的服务器(**Nginx**或**Apache**),你需要做的第一件事是在Hosts文件里创建一个原始解析记录,以指向**的Arch Linux**系统的IP。
|
||||
|
||||
对于Linux系统,修改 **/etc/hosts** 文件并且在你的localhost条目之下添加 Rainloop 的虚拟域。如下:
|
||||
|
||||
127.0.0.1 localhost.localdomain localhost rainloop.lan
|
||||
192.168.1.33 rainloop.lan
|
||||
|
||||

|
||||
添加域信息
|
||||
|
||||
如果是Windows系统,则修改 **C:\Windows\System32\drivers\etc\hosts** 并且将接下来的内容添加到你的文件里:
|
||||
|
||||
192.168.1.33 rainloop.lan
|
||||
|
||||
**2.** 使用 **ping** 命令确认本地的 Rainloop 域名创建成功之后,然后在 **Apache** 或 **Nginx** 中创建所需的 **虚拟主机** 和 **SSL** 配置。
|
||||
|
||||
#### Nginx 虚拟主机 ####
|
||||
|
||||
在**/etc/nginx/sites-available/** 目录下使用如下命令创建一个名叫**rainloop.lan**的文件:
|
||||
|
||||
$ sudo nano /etc/nginx/sites-available/rainloop.conf
|
||||
|
||||
添加如下的文件内容:
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name rainloop.lan;
|
||||
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
access_log /var/log/nginx/rainloop.lan.access.log;
|
||||
error_log /var/log/nginx/rainloop.lan.error.log;
|
||||
root /srv/www/rainloop/;
|
||||
|
||||
# serve static files
|
||||
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
|
||||
root /srv/www/rainloop/;
|
||||
expires 30d;
|
||||
}
|
||||
|
||||
location / {
|
||||
index index.html index.htm index.php;
|
||||
autoindex on;
|
||||
autoindex_exact_size off;
|
||||
autoindex_localtime on;
|
||||
}
|
||||
|
||||
location ^~ /data {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
#fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
|
||||
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi.conf;
|
||||
}
|
||||
}
|
||||
|
||||
接下来创建SSL配置文件:
|
||||
|
||||
$ sudo nano /etc/nginx/sites-available/rainloop-ssl.conf
|
||||
|
||||
添加如下内容:
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name rainloop.lan;
|
||||
|
||||
ssl_certificate /etc/nginx/ssl/rainloop.lan.crt;
|
||||
ssl_certificate_key /etc/nginx/ssl/rainloop.lan.key;
|
||||
ssl_session_cache shared:SSL:1m;
|
||||
ssl_session_timeout 5m;
|
||||
ssl_ciphers HIGH:!aNULL:!MD5;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
access_log /var/log/nginx/rainloop.lan.access.log;
|
||||
error_log /var/log/nginx/rainloop.lan.error.log;
|
||||
|
||||
root /srv/www/rainloop/;
|
||||
|
||||
# serve static files
|
||||
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
|
||||
root /srv/www/rainloop/;
|
||||
expires 30d;
|
||||
}
|
||||
|
||||
location ^~ /data {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location / {
|
||||
index index.html index.htm index.php;
|
||||
autoindex on;
|
||||
autoindex_exact_size off;
|
||||
autoindex_localtime on;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
#fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
|
||||
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi.conf;
|
||||
}
|
||||
}
|
||||
|
||||
接下来将会自动生成**Certificate**和**Keys**文件,然后在文件中叫**Common Name*的证书里中添加您的虚拟域名(** rainloop.lan**)。
|
||||
|
||||
$ sudo nginx_gen_ssl.sh
|
||||
|
||||

|
||||
生成证书和密钥
|
||||
|
||||
生成证书和SSL密钥后,创建Rainloop Web服务器**根**的文件路径(Rainloop PHP文件所在的位置),然后启用虚拟主机,并重新启动Nginx的守护进程,应用配置。
|
||||
|
||||
$ sudo mkdir -p /srv/www/rainloop
|
||||
$ sudo n2ensite rainloop
|
||||
$ sudo n2ensite rainloop-ssl
|
||||
$ sudo systemctl restart nginx
|
||||
|
||||

|
||||
创建RainLoop 网页向导
|
||||
|
||||
#### Apache 虚拟主机 ####
|
||||
|
||||
在**/etc/httpd/conf/sites-available/**中创建 **rainloop.conf**文件:
|
||||
|
||||
$ sudo nano /etc/httpd/conf/sites-available/rainloop.conf
|
||||
|
||||
添加如下内容:
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName rainloop.lan
|
||||
DocumentRoot "/srv/www/rainloop/"
|
||||
ServerAdmin you@example.com
|
||||
ErrorLog "/var/log/httpd/rainloop-error_log"
|
||||
TransferLog "/var/log/httpd/rainloop-access_log"
|
||||
|
||||
<Directory />
|
||||
Options +Indexes +FollowSymLinks +ExecCGI
|
||||
AllowOverride All
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
||||
|
||||

|
||||
创建Apache虚拟主机
|
||||
|
||||
为Apache添加SSL支持:
|
||||
|
||||
$ sudo nano /etc/httpd/conf/sites-available/rainloop-ssl.conf
|
||||
|
||||
添加如下文件内容:
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName rainloop.lan
|
||||
DocumentRoot "/srv/www/rainloop/"
|
||||
ServerAdmin you@example.com
|
||||
ErrorLog "/var/log/httpd/rainloop-ssl-error_log"
|
||||
TransferLog "/var/log/httpd/rainloop-ssl-access_log"
|
||||
|
||||
SSLEngine on
|
||||
SSLCertificateFile "/etc/httpd/conf/ssl/rainloop.lan.crt"
|
||||
SSLCertificateKeyFile "/etc/httpd/conf/ssl/rainloop.lan.key"
|
||||
|
||||
<FilesMatch "\.(cgi|shtml|phtml|php)$">
|
||||
SSLOptions +StdEnvVars
|
||||
</FilesMatch>
|
||||
|
||||
BrowserMatch "MSIE [2-5]" \
|
||||
nokeepalive ssl-unclean-shutdown \
|
||||
downgrade-1.0 force-response-1.0
|
||||
|
||||
CustomLog "/var/log/httpd/ssl_request_log" \
|
||||
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
|
||||
|
||||
<Directory />
|
||||
Options +Indexes +FollowSymLinks +ExecCGI
|
||||
AllowOverride All
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
接下来将会自动生成**Certificate**和**Keys**文件,然后在文件中叫**Common Name*的证书里中添加您的虚拟域名(** rainloop.lan**)。
|
||||
|
||||
$ sudo apache_gen_ssl
|
||||
|
||||

|
||||
创建SSL证书和密钥
|
||||
|
||||

|
||||
输入组织信息
|
||||
|
||||
After the Certificate and SSL keys are created, add Rainloop **DocumentRoot** path, then enable Virtual Hosts and restart Apache daemon to apply configurations.
|
||||
在证书和密钥建立之后,创建 RainLoop 的 **DocumentRoot** 所指向的目录,之后激活虚拟主机,并且重启Apache应用设置。
|
||||
|
||||
$ sudo mkdir -p /srv/www/rainloop
|
||||
$ sudo a2ensite rainloop
|
||||
$ sudo a2ensite rainloop-ssl
|
||||
$ sudo systemctl restart httpd
|
||||
|
||||

|
||||
激活虚拟主机
|
||||
|
||||
### Step 2: 添加必要的PHP支持 ###
|
||||
|
||||
**3.** 无论您使用的是**Apache**或**Nginx**Web服务器,您需要激活**php.ini**文件下中的PHP扩展,并将新服务器的**DocumentRoot**目录放到 open_basedir 配置中。
|
||||
|
||||
$ sudo nano /etc/php/php.ini
|
||||
|
||||
找到并且取消如下的PHP扩展的注释(LCTT译注,即启用这些模块):
|
||||
|
||||
extension=iconv.so
|
||||
extension=imap.so
|
||||
extension=mcrypt.so
|
||||
extension=mssql.so
|
||||
extension=mysqli.so
|
||||
extension=openssl.so ( enables IMAPS and SMTP SSL protocols on mail servers)
|
||||
extension=pdo_mysql.so
|
||||
|
||||
open_basedir语句应该看起来类似如下:
|
||||
|
||||
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
|
||||
|
||||
**4.** 在修改好**php.ini**之后,重启你的服务器,然后检查 **phpinfo()** 输出,去看看**SSL**协议是否已经激活。
|
||||
|
||||
----------对于 Apache Web 服务器----------
|
||||
$ sudo systemctl restart httpd
|
||||
|
||||
----------
|
||||
|
||||
----------对于 Nginx Web 服务器----------
|
||||
$ sudo systemctl restart nginx
|
||||
$ sudo systemctl restart php-fpm
|
||||
|
||||

|
||||
查看 PHP 信息
|
||||
|
||||
### Step 3: 下载和安装 RainLoop Webmail ###
|
||||
|
||||
**5.**现在可以从官方网站下载Rainloop应用并解压缩到文档根目录了,但是需要首先安装**wget的**和**unzip**程序(LCTT译注,如果你已经有了可以忽略此步)。
|
||||
|
||||
$ sudo pacman -S unzip wget
|
||||
|
||||
**6.** 使用**wget**命令或通过使用浏览器访问[http://rainloop.net/downloads/] [6]下载最新的源码包Rainloop 压缩包。
|
||||
|
||||
$ wget http://repository.rainloop.net/v1/rainloop-latest.zip
|
||||
|
||||

|
||||
下载 RainLoop 包
|
||||
|
||||
**7.** 下载过程完成后,解压Rainloop压缩包到虚拟主机文档根目录路径( **/srv/www/rainloop/** )。
|
||||
|
||||
$ sudo unzip rainloop-latest.zip -d /srv/www/rainloop/
|
||||
|
||||

|
||||
解压
|
||||
|
||||
**8.** 然后设置应用程序的默认路径下的权限。
|
||||
|
||||
$ sudo chmod -R 755 /srv/www/rainloop/
|
||||
$ sudo chown -R http:http /srv/www/rainloop/
|
||||
|
||||

|
||||
设置权限
|
||||
|
||||
### Step 4: 通过网页配置RainLoop###
|
||||
|
||||
**9.** Rainloop应用程序可以通过两种方式进行配置:使用浏览器或者系统shell。如果要在终端配置就打开和编辑位于**/ srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/**的application.ini**文件。
|
||||
|
||||
**10.** 若要从浏览器访问管理界面,使用下面的URL地址** https://rainloop.lan/?admin**,然后提供输入默认的应用程序用户名密码,如下:
|
||||
|
||||
User= admin
|
||||
Password= 12345
|
||||
|
||||

|
||||
Rainloop Web 界面
|
||||
|
||||
**11.** 首次登录后,你会被警示需要更改默认密码,所以我劝你做这一点。
|
||||
|
||||

|
||||
修改默认 Password
|
||||
|
||||

|
||||
设置新的 Admin Password
|
||||
|
||||
**12.** 如果您要启用**Contact**(联系人)功能,就登录到MySQL数据库并创建一个新的数据库及其用户,然后提供在**Contacts**字段里面输入数据库信息。
|
||||
|
||||
mysql -u root -p
|
||||
create database if not exists rainloop;
|
||||
create user rainloop_user@localhost identified by “password”;
|
||||
grant all privileges on rainloop.* to rainloop_user@localhost;
|
||||
flush privileges;
|
||||
exit;
|
||||
|
||||

|
||||
在 RainLoop 中激活联系人
|
||||
|
||||

|
||||
添加联系人数据库配置
|
||||
|
||||
**13.** 默认情况下Rainloop提供了** Gmail**,**Yahoo**和**Outlook**的邮件服务器的配置文件,但是你如果愿意,你也可以添加其他的邮件服务器域。
|
||||
|
||||

|
||||
默认 Mail 域
|
||||
|
||||

|
||||
添加新域
|
||||
|
||||
**14.** 登录你的邮件服务器,访问** https://rainloop.lan**,并提供您的域名服务器验证信息。
|
||||
|
||||

|
||||
登录到Yahoo邮件页面
|
||||
|
||||

|
||||
登录Gmail
|
||||
|
||||

|
||||
RainLoop 登录后的Email 界面
|
||||
|
||||
想要了解更多的文件,可以访问:[http://rainloop.net/docs/][7].
|
||||
|
||||
通过Rainloop你可以从浏览器中访问具有Internet连接的任何邮件服务器。唯一的缺憾就是在Arch Linux下使用Rainloop应用的话,少一个修改电子邮件帐户密码的poppassd插件包。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/install-rainloop-webmail-in-arch-linux/
|
||||
|
||||
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://demo.rainloop.net/
|
||||
[2]:http://www.tecmint.com/rainloop-webmail-a-modern-fast-web-based-email-client-for-linux/
|
||||
[3]:http://www.tecmint.com/install-nginx-php-mysql-with-mariadb-engine-and-phpmyadmin-in-arch-linux/
|
||||
[4]:http://www.tecmint.com/create-virtual-hosts-using-nginx-on-arch-linux/
|
||||
[5]:http://www.tecmint.com/install-lamp-in-arch-linux/
|
||||
[6]:http://rainloop.net/downloads/
|
||||
[7]:http://rainloop.net/docs/
|
||||
[8]:http://linux.cn/article-2794-1.html
|
||||
@@ -0,0 +1,89 @@
|
||||
Linux上有哪些好的终端模拟器?
|
||||
================================================================================
|
||||
一个好的终端模拟器是一个选择Linux而不是Windows或Mac的充分理由,任何Linux的资深用户都会同意这点。通过使用shell,用户可以完成在图形环境下不可能或者太重复的任务。但是终端模拟器的选择是非常重要的,因为它会成为你使用最多的程序。我会尝试列出在Linux上好的终端模拟器的清单,从经典的到奇特的,但是它们都是有效率且独特的。
|
||||
|
||||
如果你认为还有好的终端程序在这里没有提到,请在评论区让我们知道。这里列出了许多,大多数是值得你了解一下。
|
||||
|
||||
### 1. Gnome-terminal ###
|
||||
|
||||

|
||||
|
||||
让我们先从“经典”终端开始,对于Gnome而言,Gnome-terminal和Gnome一样经典。它支持多用户配置,标签,文本大小调整,背景转换和高度定制。如它名字暗示的那样,它适用于Gnome环境。
|
||||
|
||||
### 2. Konsole ###
|
||||
|
||||

|
||||
|
||||
同样大名鼎鼎,Konsole在KDE环境下等同于Gnome-terminal。Konsole额外支持的一点是分割视图和书签目录。
|
||||
|
||||
### 3. (Xfce) terminal ###
|
||||
|
||||

|
||||
|
||||
Xfce用户同样有他们的Xfce4终端。这个项目的目的是制造一个在外观上相似Gnome-terminal的产品,但是更少占用资源需求。它是高端定制化的,虽然没有用户配置功能或者透明背景。
|
||||
|
||||
### 4. LXTerminal ###
|
||||
|
||||
[][1]
|
||||
|
||||
其目标是为了成为桌面环境下的最有名的终端,LXTerminal是为LXDE环境设计的。如你所能想到的,它甚至比xfce-terminal更轻量快速,去除了复杂的自定义和高级选项,只保持了标签功能。
|
||||
|
||||
### 5. Terminator ###
|
||||
|
||||

|
||||
|
||||
现在让我们看看终端模拟器中的劳斯莱斯,Terminator是这些终端里面功能最完备的一款,它包括了标签、水平和垂直分割视图、截屏、用户配置、插件、布局管理。可能还有一些你永远都用不到的选项。它的缺点是太大和大量的资源消耗,这些就是你付出的代价。
|
||||
|
||||
### 6. Tilda ###
|
||||
|
||||
[][2]
|
||||
|
||||
这里还有一款完全不同的一款终端,它称为“下拉”式。如果你喜欢你的终端总是一键可达,也许你会喜欢下面提到的三个特点。首先,Tilda是一个典型的下拉式终端;它不依赖于环境并且非常轻量;你可以设置透明度或者甚至是不同的背景,并且选择出现在屏幕的那个边。除去这些,不要期待太复杂的功能,比如标签或者分割视图。Tilda只做一件事:在你需要的时候快速显示出来。
|
||||
|
||||
### 7. Guake ###
|
||||
|
||||

|
||||
|
||||
如果喜欢Tilda的方式,而且希望与Gnome结合更紧密,你应该试试Guake。在功能方面,它多多少少与Tilda相似。两者之间最大的不同是Guake更美观。
|
||||
|
||||
### 8. Yakuake ###
|
||||
|
||||
[][3]
|
||||
|
||||
KDE用户当然也不会被遗忘,他们有Yakuake,它基本上就是KDE环境下的Guake的替代品。它和Quake功能一样,除了还有标签化接口和用户配置。
|
||||
|
||||
### 9. Terra ###
|
||||
|
||||

|
||||
|
||||
对于既喜欢Terminator,也喜欢下拉式的资深用户而言,我估计Terra是最好的。介于Guake和Terminator之间,Terra在下拉式中支持分割视图和标签。
|
||||
|
||||
### 10. rxvt ###
|
||||
|
||||

|
||||
|
||||
如果你的目标是尽可能的轻量,并且你希望类似xterm,那么rxvt就是为你设计的。它没有标签和自定义,没有分割视图,没有任何东西,要极轻量就用rxvt。如果有时你只需要刚好够的功能,那么rxvt就是为你提供的。
|
||||
|
||||
### 11. Sakura ###
|
||||
|
||||

|
||||
|
||||
作为一款并不有名的终端模拟器,Sakura基于GTK但是并不需要完整的Gnome环境。不像rxvt,Sakura有一些额外的功能,像标签和颜色自定义,但是它尝试着保持简单和基本。因此如果你想要一款不针对特定环境的基础终端,Sakura可能是你想要的。
|
||||
|
||||
### 12. Terminology ###
|
||||
|
||||

|
||||
|
||||
这里面最奇异的终端是Terminology。它原本是为Enlightment设计的,它包括了目前我们看到的常规功能,并且还有我之前没有见过的功能。比如,直接在终端中播放流媒体,以及在文件列表中显示略缩图。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/good-terminal-emulator-linux.html
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://www.flickr.com/photos/xmodulo/14100905020/
|
||||
[2]:https://www.flickr.com/photos/xmodulo/14284203351/
|
||||
[3]:https://www.flickr.com/photos/xmodulo/14100857589/
|
||||
@@ -0,0 +1,31 @@
|
||||
为什么Flash不支持Linux对开源比较好
|
||||
================================================================================
|
||||
> Linux中开源软件Chromium浏览器对Adobe Flash的支持即将结束,这实际上对Linux世界是件好事。
|
||||
|
||||

|
||||
|
||||
Flash,这个无处不在的网络媒体框架,很快将不能在linux的[Chromium][1]浏览器中使用了。Chromium是开源版的[Google Chrome][2]浏览器。现在我们要为Linux世界恐慌了吗?答案是根本不用。
|
||||
|
||||
事情是这样的:Chromium对Flash支持的传统方法是通过使用最初设计用于Netscape浏览器的一个插件实现的,不过很快这个方法将[不能使用了][3]。取而代之的是,Flash支持将通过新的叫做Pepper的API而实现,这是Google为Chrome而制作的。
|
||||
|
||||
对于Linux用户,问题是Pepper只能用于Chrome,而不能用于其表兄弟Chromium。虽然在技术上可以使Pepper在Chromium上使用,但需要你比一般Linux用户拥有更多的知识才能搞定。
|
||||
|
||||
这对Linux世界来说是个坏消息,根据[一个统计数据][4]称,有近一半的Linux用户在使用Chromium。在Linux上的其他浏览器,对Flash的支持将在Flash 11.2版本结束,现在它仍然能够良好工作,但是将来可能就不能使用了。这就是说,不久,不论Chromium还是Firefox或者他们的分支或其他的开源软件,将不能可靠地显示基于Flash的内容。
|
||||
|
||||
但到目前为止,很少有人对此事感到恐慌,事实上他们确实不应该恐慌。从很多方面来说,Flash对Linux不再支持实际上是件好事,因为这将有助于加速Flash的完全消失。毕竟,就如Jim Lynch在IT World上[写的][5],苹果iOS从没有过Flash支持,但这并没有阻碍iPads或iPhones变得的极为流行。尤其是一些技术如HTML5使得在提供网络内容时不必使用Flash。
|
||||
|
||||
这件事情里,拒绝支持一个特定的软件包,从长远来看对于Linux社区和更大范畴的IT世界更有好处。这种情况很少见,但当发生在Flash上时,Linux不支持的确是件好事。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/052814/why-no-flash-support-linux-good-open-source
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.chromium.org/
|
||||
[2]:https://www.google.com/intl/en-US/chrome/browser/
|
||||
[3]:http://www.techrepublic.com/article/browsers-will-flash-linux-into-the-future-or-drag-it-into-the-past/#.
|
||||
[4]:http://www.techrepublic.com/article/browsers-will-flash-linux-into-the-future-or-drag-it-into-the-past/#.
|
||||
[5]:http://www.itworld.com/open-source/420319/adobe-flash-critical-future-linux
|
||||
@@ -0,0 +1,35 @@
|
||||
如何修复Ubuntu/Mint中无法添加PPA源的错误
|
||||
================================================================================
|
||||

|
||||
|
||||
一名It’s FOSS的普通读者Chetan Jain今天联系了我,并询问道:我要怎样修复Ubuntu 14.04中无法添加PPA源的错误。Chetan在尝试安装[TLP (一个用于减少过热发生的电源管理工具)][1]的时候遇到了这个错误:
|
||||
|
||||
chetan@Inspiron-3521:~$ sudo add-apt-repository ppa:linrunner/tlp
|
||||
Cannot add PPA: ‘ppa:linrunner/tlp’.
|
||||
Please check that the PPA name or format is correct.
|
||||
|
||||
如果你在Ubuntu或Mint上添加PPA源时遇到了类似的情况,别担心。这是PPA源的一个常见情况(一般很少发生)之一,很容易就能够得到解决。
|
||||
|
||||
### 修复Ubuntu 14.04和Linux Mint中无法添加PPA源的错误 ###
|
||||
|
||||
发生这种错误主要有两种原因。一种是您电脑中的CA证书已经损坏,或者是您的网络设置了一个代理。
|
||||
|
||||
首先让我们重新安装一下CA证书:
|
||||
|
||||
sudo apt-get install --reinstall ca-certificates
|
||||
|
||||
如果上面的命令不起作用,可能是网络使用了一个代理设置。要略过代理设置,使用sudo命令并加上参数E,就像下面这样:
|
||||
|
||||
sudo -E add-apt-repository ppa:linrunner/tlp
|
||||
|
||||
这样PPA源应该就能正常工作了。Chetan的情况通过第二种方法解决了。我希望这个快速指南同样能够帮助您摆脱PPA源错误。欢迎您提出任何问题或是建议来帮助我们改进。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/fix-add-ppa-error-ubuntu-1404-linux-mint/
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/solve-overheating-issue-battery-life-ubuntu-1304/
|
||||
@@ -0,0 +1,140 @@
|
||||
如何在MacBook Pro Retina上安装Linux
|
||||
================================================================================
|
||||

|
||||
|
||||
MacBook Pros拥有非常强大的配置,但是有些人想强上加强,他们想用Linux系统。
|
||||
|
||||
不管您是想要更开放和个性化的操作系统又或者是您只想要使用某些在Linux特有的软件,您都会想要在您的MacBook上安装Linux。 可惜的是MacBook Pro们可是一块块密不透风砖头,让您想装其他系统又无从下手。尤其是Linux,比在MacBook上装Windows还难。 Boot Camp对于Linux来说也没有什么用处。 虽然如此,但并不代表您完全不能做到,装机走起!
|
||||
|
||||
### 为什么要在MacBook Pro Retina上装Linux? ###
|
||||
|
||||
买MacBook不就是为了OS X吗?为何要装Linux? 其实买MacBook的原因不仅仅只是因为它的操作系统, 其极致的硬件性能,超长的电池寿命,以及抗操抗造都是购买它的原因。 这些这么好的硬件再加上一块能让您体验到HiDPI的清晰度Retina显示屏,其不皆是买入的理由乎?
|
||||
|
||||
但是如果您对OS X无爱,又或者您真心想要使用Linux,为何不将这自由、开源、小巧、个性化的Linux塞进您的高大上的硬件呢?苹果可能有话要说了,可谁在乎呢~
|
||||
|
||||
注:在本期教程我们将会使用[最流行的Linux发行版][1] - Ubuntu来作为我们这次安装的选择。您也可以用自己想用的的Linux发行版,但相关的步骤会和本教程略有出入。 如果您把自己的系统玩坏了,我们将不承担任何责任。 本教程将教您如何 Linux 和 OS X 双系统启动,另外只有在OS X才能升级固件,所以我们建议您不要将OS X 删除。
|
||||
|
||||
但在我们开始之前,请您用您喜欢的方法(比如Time Machine 或 CrashPlan)将您的电脑彻底备份,以防万一。
|
||||
|
||||
### 下载 Ubuntu ###
|
||||
|
||||
首先您需要下载一份[Ubuntu桌面版安装镜像][2] 。 务必选择64位的桌面版,虽然该镜像并不是为Mac提供的。该镜像在BIOS和EFI模式下都能启动,而Mac的镜像却只能在BIOS启动。Mac是专门设计成这样的,但是我们要使之以EFI模式下启动。
|
||||
|
||||
### 写到U盘(USB) ###
|
||||
|
||||
其次, 找个2GB以上的USB, 我们将会用该USB作为Ubuntu的安装启动盘。 你可以按照 [Ubuntu官方指导的步骤][3] 或者 [使用专用的图形化工具][4] 来准备安装盘.
|
||||
|
||||
### 调整分区大小 ###
|
||||
|
||||

|
||||
|
||||
当你完成上一步后,你的Mac Book Pro就做好安装的准备了。 打开Disk Utility(磁盘工具), 点击左边选择你的硬盘, 选择Partitions(分区)标签页。 把Mac分区缩小到你喜欢的大小 - 我们将会用新创建的可用空间来安装Ubuntu。
|
||||
|
||||
### 启动Ubuntu镜像 ###
|
||||
|
||||

|
||||
|
||||
上述步骤完成后,将U盘插入并重启Mac Book Pro。当关机之后屏幕一黑时,请按住Option键(alt)直到你看到不同的启动选项。选择EFI选项(如果有两个的话选择左边的哪一个)来从USB启动Ubuntu.
|
||||
|
||||
当你看到“Try Ubuntu" 和 "Install Ubuntu" 两个选项的时候, 选择 "Try Ubuntu" 因为我们需要在安装完成之后重启之前弄一些其他的东西。
|
||||
|
||||
### 安装器 ###
|
||||
|
||||
当Ubuntu的桌面加载好之后,一路向下走直到你看到分区的这一步。 如果你连接不上WiFi的话就代表你的Ubuntu还暂时不知道如何跟你这位高大上Mac做朋友, 不过不用担心, 我们暂时还不需要网络, 在你迟些重启的时候会自动识别你的驱动。
|
||||
|
||||

|
||||
|
||||
到分区这个步骤之后, 选择 "Do Something else" 这个选项。 然后请确保那块大约128MB左右的分区已经被识别为EFI启动分区(你可以点击它然后选择Option来确定一下; 另外,那个分区应该是 /dev/sda1)。下一步, 你要在新建的空间里创建一个 ext4分区,在其上挂载“/”路径。 如果你知道你自己在干嘛的话也可以创建几个不同的分区(切记这不是Windows啊孩纸)。
|
||||
|
||||
在你开始下一步之前,请确保你的安装引导程序(boot loader)是选择了 /dev/sda1,GRUB也是装到该分区的。 然后按照平常一样该咋装咋装。
|
||||
|
||||
### 修改 EFI 引导 ###
|
||||
|
||||

|
||||
|
||||
当你的安装器装完Ubuntu之后,不要按重启!!! 我们还需要弄这么点东西才能使用GRUB。 请运行下列的指令:
|
||||
|
||||
sudo apt-get install efibootmgr
|
||||
|
||||
这个将会暂时地安装一个EFI boot的配置工具,然后 运行:
|
||||
|
||||
sudo efibootmgr
|
||||
|
||||
这个将会显示出当前的启动设置, 你应该看到的是 "ubuntu" 和 "Boot0000*",当前的EFI设置是把系统指向 Boot0080*,这样的话就会跳过GRUB然后直接跳入OS X,所以我们要用以下指令来修复它:
|
||||
|
||||
sudo efibootmgr -o 0,80
|
||||
|
||||
现在就可以重启了!
|
||||
|
||||
恭喜你啦~你的Ubuntu现在应该就可以用了哦!不过下列的一些调整会让性能提升哦!
|
||||
|
||||
### 坑爹地调整设置 ###
|
||||
|
||||
首先你需要改一下GRUB的设置,这样你的SSD盘才不会偶尔死机, 在Terminal输入:
|
||||
|
||||
sudo nano /etc/default/grub
|
||||
|
||||
找到 **GRUB\_CMDLINE\_LINUX**那一行 , 把它改成 **GRUB\_CMDLINE\_LINUX="libata.force=noncq"** 。 按下CTRL + X保存,然后按Y来确定保存。 接下来你要在Terminal输入:
|
||||
|
||||
sudo nano /etc/grub.d/40_custom
|
||||
|
||||
打开一个新的文件,请使用真丶精准手指准确地一字一字输入:
|
||||
|
||||
menuentry "Mac OS X" {
|
||||
exit
|
||||
}
|
||||
|
||||
这将会让你boot到你安装好的Mac OS X(GRUB的32-bit和64-bit项不能用)。然后CTRL+X 和 Y 保存退出,然后输入:
|
||||
|
||||
sudo update-grub
|
||||
|
||||
最后必须要重启才能生效。
|
||||
|
||||

|
||||
|
||||
在极其高清的Retina显示屏上神马都这么小,坑爹啊啊? 去Setting -> Display 里把 Scaling Factor弄大一点吧,不然妈妈又要担心你的近视眼了。
|
||||
|
||||
你也可能觉得在边边上改变窗口大小是一件极其困难的事情,坑爹啊啊? 去Terminal输入:
|
||||
|
||||
sudo nano /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml
|
||||
|
||||
然后在里面修改成下面的参数:
|
||||
|
||||
<distance name="left_width" value="4"/>
|
||||
<distance name="right_width" value="4"/>
|
||||
<distance name="bottom_height" value="4"/>
|
||||
|
||||
如果还是太小,把上面的东西改成6吧!
|
||||
|
||||
最后,如果你觉得你的Linux把你那Retina鲜艳的颜色洗掉了,请到你的OS X盘,找到以下的文件:
|
||||
|
||||
/Library/ColorSync/Profiles/Displays/Color LCD-xxxxxx.icc
|
||||
|
||||
xxxxxx只是一串随机的字符,不过这路径应该只有一个文件。把他搬到你Ubuntu的Home folder, 然后到 System Settings –> Color 选择 Add New Profile 并选择你那刚弄过来的icc文件。
|
||||
|
||||
### 总结 ###
|
||||
|
||||

|
||||
|
||||
恭喜你啦, 现在终于有一台属于你的Linux MacBook Pro Retina啦!如果你想把你的Ubuntu弄得更手熟,请按 [让你的Ubuntu 像家一样舒服][5] 尽情地修改配置吧! 该教程也可用于其他的Mac系统,当然每种Mac都有不同的好处和坏处。 如果你用的是其他的Mac,请翻一翻[这篇为Ubuntu写的文档][6]
|
||||
|
||||
另外,你还可以看一下其他可以在Mac安装的[Linux 发行包][7]哦!
|
||||
|
||||
Image Credits: [K?rlis Dambr?ns][8] Via Flickr
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.makeuseof.com/tag/install-linux-macbook-pro/
|
||||
|
||||
译者:[213edu](https://github.com/213edu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.makeuseof.com/tag/windows-xp-users-switch-ubuntu-14-04-lts-trusty-tahr/
|
||||
[2]:http://www.ubuntu.com/download/desktop/
|
||||
[3]:http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-mac-osx
|
||||
[4]:http://www.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-mac/
|
||||
[5]:http://www.makeuseof.com/tag/11-tweaks-perform-ubuntu-installation/
|
||||
[6]:https://help.ubuntu.com/community/MacBookPro
|
||||
[7]:http://www.makeuseof.com/pages/best-linux-distributions
|
||||
[8]:https://www.flickr.com/photos/janitors/10037346335
|
||||
@@ -0,0 +1,86 @@
|
||||
Linux script命令 —— 终端里的记录器
|
||||
================================================================================
|
||||
当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切。这些记录可以用来当作史料,保存终端所发生的一切。比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生的一切。要实现这个目标,你可以使用script命令。
|
||||
|
||||
### script是什么 ###
|
||||
|
||||
scirpt就是一个命令,可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。
|
||||
|
||||
### 怎么用 ###
|
||||
|
||||
默认情况下,我们可以通过在终端中输入script来启动scirpt命令。
|
||||
|
||||
pungki@dev-machine:~$ script
|
||||
Script started, file is typescript
|
||||
pungki@dev-machine:~$
|
||||
|
||||
你也可以指定目标文件名来记录打印结果。
|
||||
|
||||
pungki@dev-machine:~$ script myfile
|
||||
|
||||

|
||||
|
||||
当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。
|
||||
|
||||
你会看到当前目录,有个名为myscript的文件。(LCTT译注,此处原文有误。这里指定了记录文件名为myfile,而不是默认的 typescript。)
|
||||
|
||||
### 为什么我们要用script命令 ###
|
||||
|
||||
因为在之前已经提到过,script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景。
|
||||
|
||||
#### 和同事共事时 ####
|
||||
|
||||
当和同事一起工作时,我们可以通过script来记录你的活动。
|
||||
|
||||
比如,我们会使用名为**collaborate**的打印文件,来完成打印:
|
||||
|
||||
$ script collaborate
|
||||
|
||||

|
||||
|
||||
然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。
|
||||
|
||||
如果他想要更新该文件(以增加他的工作部分),可以使用**-a**选项。
|
||||
|
||||
$ script -a collaborate
|
||||
|
||||

|
||||
|
||||
#### 记录某人在终端中的所作所为 ####
|
||||
|
||||
你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。如果你正在使用**bash** shell,把这一行加进你的bash环境配置文件中。
|
||||
|
||||
$ vi ~/.profile
|
||||
|
||||
# run the script command to record everything
|
||||
# use -q for quite and -a option to append the script
|
||||
#
|
||||
/usr/bin/script -qa /usr/local/script/log_record_script
|
||||
|
||||

|
||||
|
||||
然后保存。下次他登录进你的系统时,script命令就会自动运行,并把日志记录进**/usr/local/script/log_record_script**。
|
||||
|
||||

|
||||
|
||||
**-q**选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了。而**-a**选项将会让记录附加到文件中,而不会擦除先前的记录。
|
||||
|
||||
如果不使用**-q**选项,那么当用户登录进来时,他会收到像下图中这样的通知。
|
||||
|
||||

|
||||
|
||||
### 退出记录 ###
|
||||
|
||||
要退出记录活动,我们可以在终端中按下**Ctrl+D**,或者输入**exit**。在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变。
|
||||
|
||||
### 结尾 ###
|
||||
|
||||
Script命令在你需要记录或者存档终端活动时可能很有用,记录文件会存储为文本文件,所以可以很方便地用文本编辑器打开。跟平常一样,我们都可以通过输入**man script**或者**scirpt -h**来显示帮助页并查看更多详细用法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/script-command-recorder/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,48 @@
|
||||
APP Grid:一个优秀的Ubuntu软件中心替代品
|
||||
================================================================================
|
||||

|
||||
|
||||
**Ubuntu软件中心使得查找、安装、购买并管理应用程序更简单,这一点无可否认。**
|
||||
|
||||
同样,也无可否认,它离最美的发行版默认自带软件的位置还远着呢。
|
||||
|
||||
### App Grid:Ubuntu软件中心替代品 ###
|
||||
|
||||
自从2011年的彻底改造后,Ubuntu的旗舰应用商店的界面就没怎么变过。这并不是说它在此期间被完全忽略了,在12.04的开发周期中可以看到已经做了一些[减少打开耗时的工作][1]。
|
||||
|
||||
撇开那个不算,Ubuntu软件中心还是一如既往,还有许多潜在功能还没被开发。
|
||||
|
||||
App Grid的目标是解决这些问题。从零开始,它要求更快的启动时间,更快的反应时间,而且“不感觉混乱,不让人失望”。
|
||||
|
||||
在大部分这些方面,App Grid取得了成功。它几乎可以立即打开,而在界面上点击也确实反应迅速。“不感觉混乱”这一承诺,或许有一点小小的争议。该应用有时候要你横向滚动,而另外的时候,又要你纵向滚动。也有人禁不住会想,如果这个应用能把它的网格背景样式扔了,可能看起来会显得更专业一些。
|
||||
|
||||
作为在Ubuntu上筛选应用程序的一个方式,App Grid做出了极大的努力。它支持Ubuntu One上的订购、评级和评论,作为Ubuntu默认应用商店的替代品,它更好用。
|
||||
|
||||
如果非要说点什么缺点的话,那就是它不是一个开源的应用程序,第一次运行时会显示以下免责声明:
|
||||
|
||||

|
||||
|
||||
### 安装App Grid ###
|
||||
|
||||
App Grid可运行在Ubuntu 12.04 LTS,13.10以及14.04 LTS版本下。可以通过添加以下PPA软件源来安装:
|
||||
|
||||
sudo add-apt-repository -y ppa:appgrid/stable
|
||||
sudo apt-get update && sudo apt-get install appgrid
|
||||
|
||||
或者,也可以[从项目网站][2]抓取一个.deb安装包来安装。
|
||||
|
||||
- [下载用于Ubuntu 14.04的App Grid安装包][3]
|
||||
|
||||
试试吧,试过后请发表一下你的看法吧……
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/05/appgrid-ubuntu-software-centre-alternative
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2011/10/plans-for-ubuntu-software-centre-plans-in-12-04-get-discussed
|
||||
[2]:https://launchpad.net/appgrid
|
||||
[3]:http://ppa.launchpad.net/appgrid/stable/ubuntu/pool/main/a/appgrid/appgrid_0.1.102~trusty_all.deb
|
||||
@@ -0,0 +1,27 @@
|
||||
Linux基金会捐赠部分会员费给Code.org
|
||||
================================================================================
|
||||

|
||||
|
||||
Linux基金会[宣布][1]鉴于年中个别成员的努力和推广。对于每一位在2014年6月1日到6月30日晚上11:59之间加入的新会员,Code.org将会得到25美元。
|
||||
|
||||
Code.org是通过让更多的学校提供机会,以提高女性和有色人种学生的参与,致力于扩展计算机科学教育的非营利性组织。其目标是提供给每所学校的学生学习计算机科学的机会。Code.org与Linux基金会的使命是增加人们学习编程的机会。
|
||||
|
||||
Linux基金会的CMO Amanda McPherson解释道,当今的许多Linux人才都是从学生时代开始摆弄电脑,并在大学期间编写了简单地程序。通过将提供这个月的个人会员捐款给Code.org,我们希望社会各界能够支持Linux和Linux创始人Linus Torvalds的工作,同时帮助增加获取计算机科学教育的下一代Linux开发人员和系统管理员。
|
||||
|
||||
学习和教育也是Linux基金会最优先考虑的。基金会最近宣布的第一个“Linux入门”大规模开放式网络课程(MOOC),它是免费提供给所有人的。已经有超过14万人登记预计8月开始的第一节课。它也提供并组织各种培训课程。
|
||||
|
||||
Linux基金会会员们支持着Linux和开源社区的发展。作为额外津贴,成员也会得到包括20%折扣的LinuxCon和CloudOpen大会门票的独家优惠;高达10%折扣的Linux基金会培训;一个Linux.com的电子邮件地址(例如john@linux.com);购买戴尔,惠普和联想电脑的员工优惠价;高达35%折扣的O'Reilly书籍和电子书;以及其他各种折扣。
|
||||
|
||||
每年的会员费为99美元。对于学生是25美元,但包含相同的个人会员优惠。要注册,请访问:
|
||||
[https://www.linuxfoundation.org/about/join/individual][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.muktware.com/2014/06/linux-foundation-donate-portion-membership-fees-code-org/27942
|
||||
|
||||
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linuxfoundation.org/news-media/announcements/2014/06/linux-foundations-biannual-membership-drive-kicks-portion-dues
|
||||
[2]:https://www.linuxfoundation.org/about/join/individual
|
||||
@@ -0,0 +1,370 @@
|
||||
黑客内核:编写属于你的第一个Linux内核模块
|
||||
================================================================================
|
||||
> 曾经多少次想要在内核游荡?曾经多少次茫然不知方向?你不要再对着它迷惘,让我们指引你走向前方……
|
||||
|
||||
内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了。Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就会影响到整个系统。浮点运算做起来可不容易,堆栈固定而狭小,而你写的代码总是异步的,因此你需要想想并发会导致什么。而除了所有这一切之外,Linux内核只是一个很大的、很复杂的C程序,它对每个人开放,任何人都去读它、学习它并改进它,而你也可以是其中之一。
|
||||
|
||||
学习内核编程的最简单的方式也许就是写个内核模块:一段可以动态加载进内核的代码。模块所能做的事是有限的——例如,他们不能在类似进程描述符这样的公共数据结构中增减字段(LCTT译注:可能会破坏整个内核及系统的功能)。但是,在其它方面,他们是成熟的内核级的代码,可以在需要时随时编译进内核(这样就可以摒弃所有的限制了)。完全可以在Linux源代码树以外来开发并编译一个模块(这并不奇怪,它称为树外开发),如果你只是想稍微玩玩,而并不想提交修改以包含到主线内核中去,这样的方式是很方便的。
|
||||
|
||||
在本教程中,我们将开发一个简单的内核模块用以创建一个**/dev/reverse**设备。写入该设备的字符串将以相反字序的方式读回(“Hello World”读成“World Hello”)。这是一个很受欢迎的程序员面试难题,当你利用自己的能力在内核级别实现这个功能时,可以使你得到一些加分。在开始前,有一句忠告:你的模块中的一个bug就会导致系统崩溃(虽然可能性不大,但还是有可能的)和数据丢失。在开始前,请确保你已经将重要数据备份,或者,采用一种更好的方式,在虚拟机中进行试验。
|
||||
|
||||
### 尽可能不要用root身份 ###
|
||||
|
||||
> 默认情况下,**/dev/reverse**只有root可以使用,因此你只能使用**sudo**来运行你的测试程序。要解决该限制,可以创建一个包含以下内容的**/lib/udev/rules.d/99-reverse.rules**文件:
|
||||
>
|
||||
> SUBSYSTEM=="misc", KERNEL=="reverse", MODE="0666"
|
||||
>
|
||||
> 别忘了重新插入模块。让非root用户访问设备节点往往不是一个好主意,但是在开发其间却是十分有用的。这并不是说以root身份运行二进制测试文件也不是个好主意。
|
||||
|
||||
#### 模块的构造 ####
|
||||
|
||||
由于大多数的Linux内核模块是用C写的(除了底层的特定于体系结构的部分),所以推荐你将你的模块以单一文件形式保存(例如,reverse.c)。我们已经把完整的源代码放在GitHub上——这里我们将看其中的一些片段。开始时,我们先要包含一些常见的文件头,并用预定义的宏来描述模块:
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Valentine Sinitsyn <valentine.sinitsyn@gmail.com>");
|
||||
MODULE_DESCRIPTION("In-kernel phrase reverser");
|
||||
|
||||
这里一切都直接明了,除了**MODULE\_LICENSE()**:它不仅仅是一个标记。内核坚定地支持GPL兼容代码,因此如果你把许可证设置为其它非GPL兼容的(如,“Proprietary”[专利]),某些特定的内核功能将在你的模块中不可用。
|
||||
|
||||
### 什么时候不该写内核模块 ###
|
||||
|
||||
> 内核编程很有趣,但是在现实项目中写(尤其是调试)内核代码要求特定的技巧。通常来讲,在没有其它方式可以解决你的问题时,你才应该在内核级别解决它。以下情形中,可能你在用户空间中解决它更好:
|
||||
|
||||
> - 你要开发一个USB驱动 —— 请查看[libusb][1]。
|
||||
> - 你要开发一个文件系统 —— 试试[FUSE][2]。
|
||||
> - 你在扩展Netfilter —— 那么[libnetfilter\_queue][3]对你有所帮助。
|
||||
|
||||
> 通常,内核里面代码的性能会更好,但是对于许多项目而言,这点性能丢失并不严重。
|
||||
|
||||
由于内核编程总是异步的,没有一个**main()**函数来让Linux顺序执行你的模块。取而代之的是,你要为各种事件提供回调函数,像这个:
|
||||
|
||||
static int __init reverse_init(void)
|
||||
{
|
||||
printk(KERN_INFO "reverse device has been registered\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit reverse_exit(void)
|
||||
{
|
||||
printk(KERN_INFO "reverse device has been unregistered\n");
|
||||
}
|
||||
|
||||
module_init(reverse_init);
|
||||
module_exit(reverse_exit);
|
||||
|
||||
这里,我们定义的函数被称为模块的插入和删除。只有第一个的插入函数是必要的。目前,它们只是打印消息到内核环缓冲区(可以在用户空间通过**dmesg**命令访问);**KERN\_INFO**是日志级别(注意,没有逗号)。**\_\_init**和**\_\_exit**是属性 —— 联结到函数(或者变量)的元数据片。属性在用户空间的C代码中是很罕见的,但是内核中却很普遍。所有标记为**\_\_init**的,会在初始化后释放内存以供重用(还记得那条过去内核的那条“Freeing unused kernel memory…[释放未使用的内核内存……]”信息吗?)。**\_\_exit**表明,当代码被静态构建进内核时,该函数可以安全地优化了,不需要清理收尾。最后,**module\_init()**和**module\_exit()**这两个宏将**reverse\_init()**和**reverse_exit()**函数设置成为我们模块的生命周期回调函数。实际的函数名称并不重要,你可以称它们为**init()**和**exit()**,或者**start()**和**stop()**,你想叫什么就叫什么吧。他们都是静态声明,你在外部模块是看不到的。事实上,内核中的任何函数都是不可见的,除非明确地被导出。然而,在内核程序员中,给你的函数加上模块名前缀是约定俗成的。
|
||||
|
||||
这些都是些基本概念 - 让我们来做更多有趣的事情吧。模块可以接收参数,就像这样:
|
||||
|
||||
# modprobe foo bar=1
|
||||
|
||||
**modinfo**命令显示了模块接受的所有参数,而这些也可以在**/sys/module//parameters**下作为文件使用。我们的模块需要一个缓冲区来存储参数 —— 让我们把这大小设置为用户可配置。在**MODULE_DESCRIPTION()**下添加如下三行:
|
||||
|
||||
static unsigned long buffer_size = 8192;
|
||||
module_param(buffer_size, ulong, (S_IRUSR | S_IRGRP | S_IROTH));
|
||||
MODULE_PARM_DESC(buffer_size, "Internal buffer size");
|
||||
|
||||
这儿,我们定义了一个变量来存储该值,封装成一个参数,并通过sysfs来让所有人可读。这个参数的描述(最后一行)出现在modinfo的输出中。
|
||||
|
||||
由于用户可以直接设置**buffer\_size**,我们需要在**reverse\_init()**来清除无效取值。你总该检查来自内核之外的数据 —— 如果你不这么做,你就是将自己置身于内核异常或安全漏洞之中。
|
||||
|
||||
static int __init reverse_init()
|
||||
{
|
||||
if (!buffer_size)
|
||||
return -1;
|
||||
printk(KERN_INFO
|
||||
"reverse device has been registered, buffer size is %lu bytes\n",
|
||||
buffer_size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
来自模块初始化函数的非0返回值意味着模块执行失败。
|
||||
|
||||
### 导航 ###
|
||||
|
||||
> 但你开发模块时,Linux内核就是你所需一切的源头。然而,它相当大,你可能在查找你所要的内容时会有困难。幸运的是,在庞大的代码库面前,有许多工具使这个过程变得简单。首先,是Cscope —— 在终端中运行的一个比较经典的工具。你所要做的,就是在内核源代码的顶级目录中运行**make cscope && cscope**。Cscope和Vim以及Emacs整合得很好,因此你可以在你最喜爱的编辑器中使用它。
|
||||
|
||||
> 如果基于终端的工具不是你的最爱,那么就访问[http://lxr.free-electrons.com][4]吧。它是一个基于web的内核导航工具,即使它的功能没有Cscope来得多(例如,你不能方便地找到函数的用法),但它仍然提供了足够多的快速查询功能。
|
||||
|
||||
现在是时候来编译模块了。你需要你正在运行的内核版本头文件(**linux-headers**,或者等同的软件包)和**build-essential**(或者类似的包)。接下来,该创建一个标准的Makefile模板:
|
||||
|
||||
obj-m += reverse.o
|
||||
all:
|
||||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
|
||||
clean:
|
||||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
|
||||
|
||||
现在,调用**make**来构建你的第一个模块。如果你输入的都正确,在当前目录内会找到reverse.ko文件。使用**sudo insmod reverse.ko**插入内核模块,然后运行如下命令:
|
||||
|
||||
$ dmesg | tail -1
|
||||
[ 5905.042081] reverse device has been registered, buffer size is 8192 bytes
|
||||
|
||||
恭喜了!然而,目前这一行还只是假象而已 —— 还没有设备节点呢。让我们来搞定它。
|
||||
|
||||
#### 混杂设备 ####
|
||||
|
||||
在Linux中,有一种特殊的字符设备类型,叫做“混杂设备”(或者简称为“misc”)。它是专为单一接入点的小型设备驱动而设计的,而这正是我们所需要的。所有混杂设备共享同一个主设备号(10),因此一个驱动(**drivers/char/misc.c**)就可以查看它们所有设备了,而这些设备用次设备号来区分。从其他意义来说,它们只是普通字符设备。
|
||||
|
||||
要为该设备注册一个次设备号(以及一个接入点),你需要声明**struct misc\_device**,填上所有字段(注意语法),然后使用指向该结构的指针作为参数来调用**misc\_register()**。为此,你也需要包含**linux/miscdevice.h**头文件:
|
||||
|
||||
static struct miscdevice reverse_misc_device = {
|
||||
.minor = MISC_DYNAMIC_MINOR,
|
||||
.name = "reverse",
|
||||
.fops = &reverse_fops
|
||||
};
|
||||
static int __init reverse_init()
|
||||
{
|
||||
...
|
||||
misc_register(&reverse_misc_device);
|
||||
printk(KERN_INFO ...
|
||||
}
|
||||
|
||||
这儿,我们为名为“reverse”的设备请求一个第一个可用的(动态的)次设备号;省略号表明我们之前已经见过的省略的代码。别忘了在模块卸下后注销掉该设备。
|
||||
|
||||
static void __exit reverse_exit(void)
|
||||
{
|
||||
misc_deregister(&reverse_misc_device);
|
||||
...
|
||||
}
|
||||
|
||||
‘fops’字段存储了一个指针,指向一个**file\_operations**结构(在Linux/fs.h中声明),而这正是我们模块的接入点。**reverse\_fops**定义如下:
|
||||
|
||||
static struct file_operations reverse_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = reverse_open,
|
||||
...
|
||||
.llseek = noop_llseek
|
||||
};
|
||||
|
||||
另外,**reverse\_fops**包含了一系列回调函数(也称之为方法),当用户空间代码打开一个设备,读写或者关闭文件描述符时,就会执行。如果你要忽略这些回调,可以指定一个明确的回调函数来替代。这就是为什么我们将**llseek**设置为**noop\_llseek()**,(顾名思义)它什么都不干。这个默认实现改变了一个文件指针,而且我们现在并不需要我们的设备可以寻址(这是今天留给你们的家庭作业)。
|
||||
|
||||
#### 关闭和打开 ####
|
||||
|
||||
让我们来实现该方法。我们将给每个打开的文件描述符分配一个新的缓冲区,并在它关闭时释放。这实际上并不安全:如果一个用户空间应用程序泄漏了描述符(也许是故意的),它就会霸占RAM,并导致系统不可用。在现实世界中,你总得考虑到这些可能性。但在本教程中,这种方法不要紧。
|
||||
|
||||
我们需要一个结构函数来描述缓冲区。内核提供了许多常规的数据结构:链接列表(双联的),哈希表,树等等之类。不过,缓冲区常常从头设计。我们将调用我们的“struct buffer”:
|
||||
|
||||
struct buffer {
|
||||
char *data, *end, *read_ptr;
|
||||
unsigned long size;
|
||||
};
|
||||
|
||||
**data**是该缓冲区存储的一个指向字符串的指针,而**end**指向字符串结尾后的第一个字节。**read_ptr**是**read()**开始读取数据的地方。缓冲区的size是为了保证完整性而存储的 —— 目前,我们还没有使用该区域。你不能假设使用你结构体的用户会正确地初始化所有这些东西,所以最好在函数中封装缓冲区的分配和收回。它们通常命名为**buffer\_alloc()**和**buffer\_free()**。
|
||||
|
||||
static struct buffer *buffer_alloc(unsigned long size)
|
||||
{
|
||||
struct buffer *buf;
|
||||
buf = kzalloc(sizeof(*buf), GFP_KERNEL);
|
||||
if (unlikely(!buf))
|
||||
goto out;
|
||||
...
|
||||
out:
|
||||
return buf;
|
||||
}
|
||||
|
||||
内核内存使用**kmalloc()**来分配,并使用**kfree()**来释放;**kzalloc()**的风格是将内存设置为全零。不同于标准的**malloc()**,它的内核对应部分收到的标志指定了第二个参数中请求的内存类型。这里,**GFP_KERNEL**是说我们需要一个普通的内核内存(不是在DMA或高内存区中)以及如果需要的话函数可以睡眠(重新调度进程)。**sizeof(*buf)**是一种常见的方式,它用来获取可通过指针访问的结构体的大小。
|
||||
|
||||
你应该随时检查**kmalloc()**的返回值:访问NULL指针将导致内核异常。同时也需要注意**unlikely()**宏的使用。它(及其相对宏**likely()**)被广泛用于内核中,用于表明条件几乎总是真的(或假的)。它不会影响到控制流程,但是能帮助现代处理器通过分支预测技术来提升性能。
|
||||
|
||||
最后,注意**goto**语句。它们常常为认为是邪恶的,但是,Linux内核(以及一些其它系统软件)采用它们来实施集中式的函数退出。这样的结果是减少嵌套深度,使代码更具可读性,而且非常像更高级语言中的**try-catch**区块。
|
||||
|
||||
有了**buffer\_alloc()**和**buffer\_free()**,**open**和**close**方法就变得很简单了。
|
||||
|
||||
static int reverse_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
int err = 0;
|
||||
file->private_data = buffer_alloc(buffer_size);
|
||||
...
|
||||
return err;
|
||||
}
|
||||
|
||||
**struct file**是一个标准的内核数据结构,用以存储打开的文件的信息,如当前文件位置(**file->f\_pos**)、标志(**file->f\_flags**),或者打开模式(**file->f\_mode**)等。另外一个字段**file->privatedata**用于关联文件到一些专有数据,它的类型是void *,而且它在文件拥有者以外,对内核不透明。我们将一个缓冲区存储在那里。
|
||||
|
||||
如果缓冲区分配失败,我们通过返回否定值(**-ENOMEM**)来为调用的用户空间代码标明。一个C库中调用的**open(2)**系统调用(如 **glibc**)将会检测这个并适当地设置**errno** 。
|
||||
|
||||
#### 学习如何读和写 ####
|
||||
|
||||
“read”和“write”方法是真正完成工作的地方。当数据写入到缓冲区时,我们放弃之前的内容和反向地存储该字段,不需要任何临时存储。**read**方法仅仅是从内核缓冲区复制数据到用户空间。但是如果缓冲区还没有数据,**revers\_eread()**会做什么呢?在用户空间中,**read()**调用会在有可用数据前阻塞它。在内核中,你就必须等待。幸运的是,有一项机制用于处理这种情况,就是‘wait queues’。
|
||||
|
||||
想法很简单。如果当前进程需要等待某个事件,它的描述符(**struct task_struct**存储‘current’信息)被放进非可运行(睡眠中)状态,并添加到一个队列中。然后**schedule()**就被调用来选择另一个进程运行。生成事件的代码通过使用队列将等待进程放回**TASK\_RUNNING**状态来唤醒它们。调度程序将在以后在某个地方选择它们之一。Linux有多种非可运行状态,最值得注意的是**TASK\_INTERRUPTIBLE**(一个可以通过信号中断的睡眠)和**TASK\_KILLABLE**(一个可被杀死的睡眠中的进程)。所有这些都应该正确处理,并等待队列为你做这些事。
|
||||
|
||||
一个用以存储读取等待队列头的天然场所就是结构缓冲区,所以从为它添加**wait\_queue\_head_t read\_queue**字段开始。你也应该包含**linux/sched.h**头文件。可以使用DECLARE\_WAITQUEUE()宏来静态声明一个等待队列。在我们的情况下,需要动态初始化,因此添加下面这行到**buffer\_alloc()**:
|
||||
|
||||
init_waitqueue_head(&buf->read_queue);
|
||||
|
||||
我们等待可用数据;或者等待**read\_ptr != end**条件成立。我们也想要让等待操作可以被中断(如,通过Ctrl+C)。因此,“read”方法应该像这样开始:
|
||||
|
||||
static ssize_t reverse_read(struct file *file, char __user * out,
|
||||
size_t size, loff_t * off)
|
||||
{
|
||||
struct buffer *buf = file->private_data;
|
||||
ssize_t result;
|
||||
while (buf->read_ptr == buf->end) {
|
||||
if (file->f_flags & O_NONBLOCK) {
|
||||
result = -EAGAIN;
|
||||
goto out;
|
||||
}
|
||||
if (wait_event_interruptible
|
||||
(buf->read_queue, buf->read_ptr != buf->end)) {
|
||||
result = -ERESTARTSYS;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
...
|
||||
|
||||
我们让它循环,直到有可用数据,如果没有则使用**wait\_event\_interruptible()**(它是一个宏,不是函数,这就是为什么要通过值的方式给队列传递)来等待。好吧,如果**wait\_event\_interruptible()**被中断,它返回一个非0值,这个值代表**-ERESTARTSYS**。这段代码意味着系统调用应该重新启动。**file->f\_flags**检查以非阻塞模式打开的文件数:如果没有数据,返回**-EAGAIN**。
|
||||
|
||||
我们不能使用**if()**来替代**while()**,因为可能有许多进程正等待数据。当**write**方法唤醒它们时,调度程序以不可预知的方式选择一个来运行,因此,在这段代码有机会执行的时候,缓冲区可能再次空出。现在,我们需要将数据从**buf->data** 复制到用户空间。**copy\_to\_user()**内核函数就干了此事:
|
||||
|
||||
size = min(size, (size_t) (buf->end - buf->read_ptr));
|
||||
if (copy_to_user(out, buf->read_ptr, size)) {
|
||||
result = -EFAULT;
|
||||
goto out;
|
||||
}
|
||||
|
||||
如果用户空间指针错误,那么调用可能会失败;如果发生了此事,我们就返回**-EFAULT**。记住,不要相信任何来自内核外的事物!
|
||||
|
||||
buf->read_ptr += size;
|
||||
result = size;
|
||||
out:
|
||||
return result;
|
||||
}
|
||||
|
||||
为了使数据在任意块可读,需要进行简单运算。该方法返回读入的字节数,或者一个错误代码。
|
||||
|
||||
写方法更简短。首先,我们检查缓冲区是否有足够的空间,然后我们使用**copy\_from\_userspace()**函数来获取数据。再然后**read\_ptr**和结束指针会被重置,并且反转存储缓冲区内容:
|
||||
|
||||
buf->end = buf->data + size;
|
||||
buf->read_ptr = buf->data;
|
||||
if (buf->end > buf->data)
|
||||
reverse_phrase(buf->data, buf->end - 1);
|
||||
|
||||
这里, **reverse\_phrase()**干了所有吃力的工作。它依赖于**reverse\_word()**函数,该函数相当简短并且标记为内联。这是另外一个常见的优化;但是,你不能过度使用。因为过多的内联会导致内核映像徒然增大。
|
||||
|
||||
最后,我们需要唤醒**read\_queue**中等待数据的进程,就跟先前讲过的那样。**wake\_up\_interruptible()**就是用来干此事的:
|
||||
|
||||
wake_up_interruptible(&buf->read_queue);
|
||||
|
||||
耶!你现在已经有了一个内核模块,它至少已经编译成功了。现在,是时候来测试了。
|
||||
|
||||
### 调试内核代码 ###
|
||||
|
||||
> 或许,内核中最常见的调试方法就是打印。如果你愿意,你可以使用普通的**printk()** (假定使用**KERN\_DEBUG**日志等级)。然而,那儿还有更好的办法。如果你正在写一个设备驱动,这个设备驱动有它自己的“struct device”,可以使用**pr\_debug()**或者**dev\_dbg()**:它们支持动态调试(**dyndbg**)特性,并可以根据需要启用或者禁用(请查阅**Documentation/dynamic-debug-howto.txt**)。对于单纯的开发消息,使用**pr\_devel()**,除非设置了DEBUG,否则什么都不会做。要为我们的模块启用DEBUG,请添加以下行到Makefile中:
|
||||
|
||||
> CFLAGS_reverse.o := -DDEBUG
|
||||
>
|
||||
> 完了之后,使用**dmesg**来查看**pr_debug()**或**pr_devel()**生成的调试信息。
|
||||
> 或者,你可以直接发送调试信息到控制台。要想这么干,你可以设置**console_loglevel**内核变量为8或者更大的值(**echo 8 /proc/sys/kernel/printk**),或者在高日志等级,如**KERN_ERR**,来临时打印要查询的调试信息。很自然,在发布代码前,你应该移除这样的调试声明。
|
||||
|
||||
> 注意内核消息出现在控制台,不要在Xterm这样的终端模拟器窗口中去查看;这也是在内核开发时,建议你不在X环境下进行的原因。
|
||||
|
||||
### 惊喜,惊喜! ###
|
||||
|
||||
编译模块,然后加载进内核:
|
||||
|
||||
$ make
|
||||
$ sudo insmod reverse.ko buffer_size=2048
|
||||
$ lsmod
|
||||
reverse 2419 0
|
||||
$ ls -l /dev/reverse
|
||||
crw-rw-rw- 1 root root 10, 58 Feb 22 15:53 /dev/reverse
|
||||
|
||||
一切似乎就位。现在,要测试模块是否正常工作,我们将写一段小程序来翻转它的第一个命令行参数。**main()**(再三检查错误)可能看上去像这样:
|
||||
|
||||
int fd = open("/dev/reverse", O_RDWR);
|
||||
write(fd, argv[1], strlen(argv[1]));
|
||||
read(fd, argv[1], strlen(argv[1]));
|
||||
printf("Read: %s\n", argv[1]);
|
||||
|
||||
像这样运行:
|
||||
|
||||
$ ./test 'A quick brown fox jumped over the lazy dog'
|
||||
Read: dog lazy the over jumped fox brown quick A
|
||||
|
||||
它工作正常!玩得更逗一点:试试传递单个单词或者单个字母的短语,空的字符串或者是非英语字符串(如果你有这样的键盘布局设置),以及其它任何东西。
|
||||
|
||||
现在,让我们让事情变得更好玩一点。我们将创建两个进程,它们共享一个文件描述符(及其内核缓冲区)。其中一个会持续写入字符串到设备,而另一个将读取这些字符串。在下例中,我们使用了**fork(2)**系统调用,而pthreads也很好用。我也省略打开和关闭设备的代码,并在此检查代码错误(又来了):
|
||||
|
||||
char *phrase = "A quick brown fox jumped over the lazy dog";
|
||||
if (fork())
|
||||
/* Parent is the writer */
|
||||
while (1)
|
||||
write(fd, phrase, len);
|
||||
else
|
||||
/* child is the reader */
|
||||
while (1) {
|
||||
read(fd, buf, len);
|
||||
printf("Read: %s\n", buf);
|
||||
}
|
||||
|
||||
你希望这个程序会输出什么呢?下面就是在我的笔记本上得到的东西:
|
||||
|
||||
Read: dog lazy the over jumped fox brown quick A
|
||||
Read: A kcicq brown fox jumped over the lazy dog
|
||||
Read: A kciuq nworb xor jumped fox brown quick A
|
||||
Read: A kciuq nworb xor jumped fox brown quick A
|
||||
...
|
||||
|
||||
这里发生了什么呢?就像举行了一场比赛。我们认为**read**和**write**是原子操作,或者从头到尾一次执行一个指令。然而,内核确实无序并发的,随便就重新调度了**reverse\_phrase()**函数内部某个地方运行着的写入操作的内核部分。如果在写入操作结束前就调度了**read()**操作呢?就会产生数据不完整的状态。这样的bug非常难以找到。但是,怎样来处理这个问题呢?
|
||||
|
||||
基本上,我们需要确保在写方法返回前没有**read**方法能被执行。如果你曾经编写过一个多线程的应用程序,你可能见过同步原语(锁),如互斥锁或者信号。Linux也有这些,但有些细微的差别。内核代码可以运行进程上下文(用户空间代码的“代表”工作,就像我们使用的方法)和终端上下文(例如,一个IRQ处理线程)。如果你已经在进程上下文中和并且你已经得到了所需的锁,你只需要简单地睡眠和重试直到成功为止。在中断上下文时你不能处于休眠状态,因此代码会在一个循环中运行直到锁可用。关联原语被称为自旋锁,但在我们的环境中,一个简单的互斥锁 —— 在特定时间内只有唯一一个进程能“占有”的对象 —— 就足够了。处于性能方面的考虑,现实的代码可能也会使用读-写信号。
|
||||
|
||||
锁总是保护某些数据(在我们的环境中,是一个“struct buffer”实例),而且也常常会把它们嵌入到它们所保护的结构体中。因此,我们添加一个互斥锁(‘struct mutex lock’)到“struct buffer”中。我们也必须用**mutex\_init()**来初始化互斥锁;**buffer\_alloc**是用来处理这件事的好地方。使用互斥锁的代码也必须包含**linux/mutex.h**。
|
||||
|
||||
互斥锁很像交通信号灯 —— 要是司机不看它和不听它的,它就没什么用。因此,在对缓冲区做操作并在操作完成时释放它之前,我们需要更新**reverse\_read()**和**reverse\_write()**来获取互斥锁。让我们来看看**read**方法 —— **write**的工作原理相同:
|
||||
|
||||
static ssize_t reverse_read(struct file *file, char __user * out,
|
||||
size_t size, loff_t * off)
|
||||
{
|
||||
struct buffer *buf = file->private_data;
|
||||
ssize_t result;
|
||||
if (mutex_lock_interruptible(&buf->lock)) {
|
||||
result = -ERESTARTSYS;
|
||||
goto out;
|
||||
}
|
||||
|
||||
我们在函数一开始就获取锁。**mutex\_lock\_interruptible()**要么得到互斥锁然后返回,要么让进程睡眠,直到有可用的互斥锁。就像前面一样,**\_interruptible**后缀意味着睡眠可以由信号来中断。
|
||||
|
||||
while (buf->read_ptr == buf->end) {
|
||||
mutex_unlock(&buf->lock);
|
||||
/* ... wait_event_interruptible() here ... */
|
||||
if (mutex_lock_interruptible(&buf->lock)) {
|
||||
result = -ERESTARTSYS;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
下面是我们的“等待数据”循环。当获取互斥锁时,或者发生称之为“死锁”的情境时,不应该让进程睡眠。因此,如果没有数据,我们释放互斥锁并调用**wait\_event\_interruptible()**。当它返回时,我们重新获取互斥锁并像往常一样继续:
|
||||
|
||||
if (copy_to_user(out, buf->read_ptr, size)) {
|
||||
result = -EFAULT;
|
||||
goto out_unlock;
|
||||
}
|
||||
...
|
||||
out_unlock:
|
||||
mutex_unlock(&buf->lock);
|
||||
out:
|
||||
return result;
|
||||
|
||||
最后,当函数结束,或者在互斥锁被获取过程中发生错误时,互斥锁被解锁。重新编译模块(别忘了重新加载),然后再次进行测试。现在你应该没发现毁坏的数据了。
|
||||
|
||||
### 接下来是什么? ###
|
||||
|
||||
现在你已经尝试了一次内核黑客。我们刚刚为你揭开了这个话题的外衣,里面还有更多东西供你探索。我们的第一个模块有意识地写得简单一点,在从中学到的概念在更复杂的环境中也一样。并发、方法表、注册回调函数、使进程睡眠以及唤醒进程,这些都是内核黑客们耳熟能详的东西,而现在你已经看过了它们的运作。或许某天,你的内核代码也将被加入到主线Linux源代码树中 —— 如果真这样,请联系我们!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxvoice.com/be-a-kernel-hacker/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) [disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.libusb.org/
|
||||
[2]:http://fuse.sf.net/
|
||||
[3]:http://www.linuxvoice.com/be-a-kernel-hacker/www.netfilter.org/projects/libnetfilter_queue
|
||||
[4]:http://lxr.free-electrons.com/
|
||||
42
published/201406/20140604 Command line secrets.md
Normal file
42
published/201406/20140604 Command line secrets.md
Normal file
@@ -0,0 +1,42 @@
|
||||
命令行之秘
|
||||
================================================================================
|
||||
有很多使用命令行的理由。正如我们在[issue 3 of Linux Voice][1]中展示的那样,它是与你的计算机交互的最强大和简明的方法。但是,我们还是先来看一下命令行的一些隐晦的使用场景(或许有些人会觉得没有意义)。
|
||||
|
||||
### 浏览网页 ###
|
||||
|
||||
Firefox和Chromium都是很好的浏览器,但是你有没有发现它们有点太图形化了?没有?看一下下面的视频,我们使用elinks web浏览器显示了与黑客相关的新闻。界面可能没有其他浏览器好看,但是它的目标是显示绝大多数的web页面!
|
||||
|
||||
<iframe width="570" scrolling="no" height="418" src="http://shelr.tv/records/5368d80796608063a3000072/embed" style="border: 0; id="shelr_record_5368d80796608063a3000072"></iframe>
|
||||
|
||||
作为一个极客,当你只有SSH连接方式时,需要快速检查一下能否访问网页时,这将是一个很便利的方法。
|
||||
|
||||
### 在维基百科上查找想要的信息 ###
|
||||
|
||||
是的,上面我们已经提到了使用Web,但是web不是查看维基百科的唯一方式。David Leadbeater已经构建了一个将维基百科的内容放入DNS记录的DNS服务器。这能够让你使用像dig这样的命令行工具来抓取你想要的信息。
|
||||
|
||||
<iframe width="570" scrolling="no" height="418" src="http://shelr.tv/records/5368bfa896608063a300006d/embed" style="border: 0;" id="shelr_record_5368bfa896608063a300006d"></iframe>
|
||||
|
||||
### 看电影 ###
|
||||
|
||||
当你想要看《星球大战 4 :新的希望》时,不再需要使用Netflix或者YouTube,只要在你的终端中直接telnet towel.blinkenlights.nl就行了。
|
||||
|
||||
<iframe width="570" scrolling="no" height="418" style="border: 0" src="http://shelr.tv/records/5368be5296608063a300006c/embed" id="shelr_record_5368be5296608063a300006c" border="0"></iframe>
|
||||
|
||||
### 玩游戏 ###
|
||||
|
||||
再Steam来之前Linux下就有许多游戏,并且很多都不需要图形界面,比如NetHack、Robots和Greed。下面是Moon Buggy 的一个演示:
|
||||
|
||||
<iframe width="570" scrolling="no" height="418" style="border: 0" src="http://shelr.tv/records/5368ca4596608063a300006f/embed" id="shelr_record_5368ca4596608063a300006f" border="0"></iframe>
|
||||
|
||||
LCTT译注:大家注意到这篇文章中的视频了么?不是通常的FLA,也不是MP4、AVI。而是一个专门演示脚本“功夫”的一个网站提供的:http://shelr.tv/ ,欢迎大家也去演练下你的脚本功夫吧!
|
||||
LCTT译注:为了正常呈现,我专门临时打开了网站对IFRAME的限制。。。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxvoice.com/commandline-secrets/
|
||||
|
||||
译者:[johnhoow](https://github.com/johnhoow ) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linuxvoice.com/issue-3-is-out/
|
||||
@@ -0,0 +1,233 @@
|
||||
在Ubuntu 14.04 LTS系统中设置Apache虚拟主机
|
||||
================================================================================
|
||||
|
||||
**虚拟主机**常用于在一个单独的IP地址上提供多个域名的网站服务。如果有人想在单个VPS的单个IP地址运行多个网站,这是非常有用的。
|
||||
|
||||
在这个教程中,让我告诉你如何设置在Ubuntu 14.04 LTS的Apache网页服务器设置虚拟主机。请注意,这个教程只针对Ubuntu14.04的32位版本。
|
||||
|
||||
我不保证它也可以工作在其它更低的Ubuntu版本或者Ubuntu衍生版本(虽然可能过程是类似的)。
|
||||
|
||||
###方案###
|
||||
|
||||
在这个教程中,我会使用Ubuntu 14.04 32位 LTS,并搭建2个测试网站分别命名为“**unixmen1.local**” 和 “**unixmen2.local**”.我的测试机分别为**192.168.1.250/24**和**server.unixmen.local**。你可以根据你的需要更改虚拟域名。
|
||||
|
||||
###安装Apache网站服务器###
|
||||
|
||||
安装apache服务器之前,我们来更新一下我们的Ubuntu服务器:
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
然后,用下面命令来安装apache网络服务器:
|
||||
|
||||
sudo apt-get install apache2
|
||||
|
||||
安装apache服务器之后,让我们通过这个URL **http://你的服务器的IP地址/** 来测试网站服务器是否正常工作
|
||||

|
||||
|
||||
如你所见,apache服务器已经工作了。
|
||||
|
||||
###设置虚拟主机###
|
||||
|
||||
#### 1.创建虚拟目录 ##
|
||||
|
||||
现在,让我们继续安装虚拟主机。正如我先前所述,我要新建2台虚拟主机分别命名为“**unixmen1.local**”和“**unixmen2.local**”.
|
||||
|
||||
创建一个公用的文件夹来存放这两台虚拟主机的数据。
|
||||
|
||||
首先,让我们为unixmen1.local这个站点创建一个目录:
|
||||
|
||||
sudo mkdir -p /var/www/unixmen1.local/public_html
|
||||
|
||||
接着,为for unixmen2.local站点创建一个目录:
|
||||
|
||||
sudo mkdir -p /var/www/unixmen2.local/public_html
|
||||
|
||||
### 2. 设置所有者和权限 ####
|
||||
|
||||
上面目录现在只有root拥有权限。我们需要修改这2个目录的拥有权给普通用户,而不仅仅是root用户。
|
||||
|
||||
sudo chown -R $USER:$USER /var/www/unixmen1.local/public_html/
|
||||
sudo chown -R $USER:$USER /var/www/unixmen2.local/public_html/
|
||||
|
||||
“**$USER**”变量指向了当前的登录用户。
|
||||
|
||||
设置读写权限给apache网页根目录(/var/www)及其子目录,这样每个人都可以从目录中读取文件。
|
||||
|
||||
sudo chmod -R 755 /var/www/
|
||||
|
||||
这样,我们就创建好了一些文件夹来保存网络相关数据并分配必要的权限和所属用户。
|
||||
|
||||
#### 4. 为虚拟主机创建示例页 ####
|
||||
|
||||
现在,我们给网站增加示例页。第一步,让我们给虚拟主机**unixmen1.local**创建一个示例页。
|
||||
|
||||
给unixmen1.local虚拟主机创建一个示例页,
|
||||
|
||||
sudo vi /var/www/unixmen1.local/public_html/index.html
|
||||
|
||||
添加以下内容:
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>www.unixmen1.local</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Welcome To Unixmen1.local website</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
保存并关闭文件。
|
||||
|
||||
同样的,添加示例页到第二台虚拟主机。
|
||||
|
||||
sudo vi /var/www/unixmen2.local/public_html/index.html
|
||||
|
||||
|
||||
添加以下内容:
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>www.unixmen2.local</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Welcome To Unixmen2.local website</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
保存并关闭文件。
|
||||
|
||||
#### 5. 创建虚拟主机配置文件####
|
||||
|
||||
默认情况下,apache有一个默认的虚拟主机文件叫000-default.conf。我们将会复制**000-default.conf**文件内容到我们新的虚拟主机配置文件中。
|
||||
|
||||
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen1.local.conf
|
||||
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen2.local.conf
|
||||
|
||||
确保虚拟主机配置文件末尾包含.conf扩展名。
|
||||
|
||||
现在,修改unximen1.local.conf文件以符合需求。
|
||||
|
||||
sudo vi /etc/apache2/sites-available/unixmen1.local.conf
|
||||
|
||||
使相关的变化直接呈现在unixmen1站点中(译注:以“#”开头的注释行可以忽略。)。
|
||||
|
||||
<VirtualHost *:80>
|
||||
# The ServerName directive sets the request scheme, hostname and port that
|
||||
# the server uses to identify itself. This is used when creating
|
||||
# redirection URLs. In the context of virtual hosts, the ServerName
|
||||
# specifies what hostname must appear in the request's Host: header to
|
||||
# match this virtual host. For the default virtual host (this file) this
|
||||
# value is not decisive as it is used as a last resort host regardless.
|
||||
# However, you must set it for any further virtual host explicitly.
|
||||
#ServerName www.example.com
|
||||
|
||||
ServerAdmin webmaster@unixmen1.local
|
||||
ServerName unixmen1.local
|
||||
ServerAlias www.unixmen1.local
|
||||
DocumentRoot /var/www/unixmen1.local/public_html
|
||||
|
||||
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
|
||||
# error, crit, alert, emerg.
|
||||
# It is also possible to configure the loglevel for particular
|
||||
# modules, e.g.
|
||||
#LogLevel info ssl:warn
|
||||
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
|
||||
# For most configuration files from conf-available/, which are
|
||||
# enabled or disabled at a global level, it is possible to
|
||||
# include a line for only one particular virtual host. For example the
|
||||
# following line enables the CGI configuration for this host only
|
||||
# after it has been globally disabled with "a2disconf".
|
||||
#Include conf-available/serve-cgi-bin.conf
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
同理,修改第二台主机文件。
|
||||
|
||||
sudo vi /etc/apache2/sites-available/unixmen2.local.conf
|
||||
|
||||
使相关的修改在unixmen2 站点呈现出来。
|
||||
|
||||
<VirtualHost *:80>
|
||||
# The ServerName directive sets the request scheme, hostname and port that
|
||||
# the server uses to identify itself. This is used when creating
|
||||
# redirection URLs. In the context of virtual hosts, the ServerName
|
||||
# specifies what hostname must appear in the request's Host: header to
|
||||
# match this virtual host. For the default virtual host (this file) this
|
||||
# value is not decisive as it is used as a last resort host regardless.
|
||||
# However, you must set it for any further virtual host explicitly.
|
||||
#ServerName www.example.com
|
||||
|
||||
ServerAdmin webmaster@unixmen2.local
|
||||
ServerName unixmen2.local
|
||||
ServerAlias www.unixmen2.local
|
||||
DocumentRoot /var/www/unixmen2.local/public_html
|
||||
|
||||
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
|
||||
# error, crit, alert, emerg.
|
||||
# It is also possible to configure the loglevel for particular
|
||||
# modules, e.g.
|
||||
#LogLevel info ssl:warn
|
||||
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
|
||||
# For most configuration files from conf-available/, which are
|
||||
# enabled or disabled at a global level, it is possible to
|
||||
# include a line for only one particular virtual host. For example the
|
||||
# following line enables the CGI configuration for this host only
|
||||
# after it has been globally disabled with "a2disconf".
|
||||
#Include conf-available/serve-cgi-bin.conf
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
修改虚拟主机文件后,禁用默认的虚拟主机配置(000.default.conf),然后启用新的虚拟主机配置,如下所示。
|
||||
|
||||
sudo a2dissite 000-default.conf
|
||||
sudo a2ensite unixmen1.local.conf
|
||||
sudo a2ensite unixmen2.local.conf
|
||||
|
||||
最后,重启apache服务器。
|
||||
|
||||
sudo service apache2 restart
|
||||
|
||||
就是这样。现在,我们成功地配置了apach虚拟主机在我们的Ubuntu服务器上
|
||||
|
||||
###测试虚拟主机###
|
||||
|
||||
编辑**/etc/hosts**文件,
|
||||
|
||||
sudo vi /etc/hosts
|
||||
|
||||
在文件末尾添加如下所示的虚拟域名。
|
||||
|
||||
192.168.1.250 unixmen1.local
|
||||
192.168.1.250 unixmen2.local
|
||||
|
||||
保存并关闭文件。
|
||||
|
||||
打开你的浏览器并访问**http://unixmen1.local** 或 **http://unixmen2.local**。你将会看到我们之前创建的示例页。
|
||||
|
||||
**Unixmen1.local 测试页:**
|
||||
|
||||

|
||||
|
||||
|
||||
**Unixmen2.local 测试页**
|
||||
|
||||

|
||||
|
||||
如果你想从你的远程系统访问这些站点,你需要在你的DNS服务器添加实际域名记录。不过,我没有真实的域名和DNS服务器,我只想通过我的本地系统测试,那么它刚好如我所愿地工作。
|
||||
|
||||
Cheers!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/setup-virtual-hosts-apache-ubuntu-14-04-lts/
|
||||
|
||||
译者:[disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,135 @@
|
||||
在linux桌面上观看2014年巴西世界杯比赛!
|
||||
================================================================================
|
||||
足球是世界上受众最广和观众最多的运动,现代足球起源于英国。足球运动员平均每场比赛要跑6个多英里。上届南非世界杯有近10亿的电视观众,而今年的的观赛数量预计还要增加。
|
||||
|
||||
2014年第20界世界杯在巴西举行,时间安排为从6月12号开始持续到7月13号,共有32个国家参加这项赛事。
|
||||
|
||||
爱足球的小伙子们,我们将要介绍一款可以提供最新的赛况以及你喜欢的球队的进球数信息的应用程序,它叫做“icup 2014 Brazil”。下面让我们介绍它的特点,用法和安装等。
|
||||
|
||||

|
||||
|
||||
*iCup 2014 Brazil*
|
||||
|
||||
### 什么是“icup 2014 Brazil” ###
|
||||
|
||||
“icup 2014 Brazil”简单的说是一个应用程序,在linux桌面为你提供2014年世界杯的最新比赛赛况。
|
||||
|
||||
### “icup 2014 Brazil”的特点###
|
||||
|
||||
- 自适应的用户界面,比如自动缩放
|
||||
- 迅速查看战绩
|
||||
- 支持Facebook、twitter和Google+社交分享功能
|
||||
- 支持Retina显示输出
|
||||
- 实时跟踪比赛结果
|
||||
- 包括32个国家的国歌小工具配合露天广场效果很不错
|
||||
- 内置日历和时区工具,实时的显示当天数据,图像化展示最新的战况和得分
|
||||
- 支持代理
|
||||
|
||||
|
||||
### 平台和框架支持 ###
|
||||
|
||||
这款软件可以运行在Mac、windows和linux上,特别提醒,在Linux上,它是为x86的CPU设计的,虽然它也可以在x64的平台上安装,不过我们需要做一下设置。
|
||||
|
||||
#### 在不同平台的技术规范 ####
|
||||
|
||||
- 实时结果,日历,数据分组,第二阶段整合,社交网络连接和多语言支持,这些支持全平台
|
||||
- Retina显示支持,这个不支持windows和linux,仅支持Mac OS
|
||||
- 详细的统计-支持linux。在windows和Mac需要捐赠才行
|
||||
- 声音小工具-支持MAC和linux,windows不确定
|
||||
|
||||
**重要**: 上面的特点都支持,一些具体的特性除了linux外都不是免费提供的,这是为了支付服务器和带宽费用。对于linux用户来说,任何细节不需要关心,高兴的用去吧。
|
||||
|
||||
### Linux下安装“icup 2014 Brazil” ###
|
||||
|
||||
首先去[“icup 2014 Brazil”官方下载页面][1]下载你电脑平台的软件版本
|
||||
|
||||
#### 32位下的安装步骤 ####
|
||||
|
||||
# cd Downloads/
|
||||
# tar xvf iCup_2014_FREE-Brazil_1.1_linux.tar.bz2
|
||||
# cd iCup\ 2014\ FREE\ -\ Brazil\ 1.1/
|
||||
# chmod 755 iCup\ 2014\ FREE\ -\ Brazil
|
||||
|
||||
如上文所说,这个应用程序只为X86架构设计,为了在64位架构下安装32位的软件,我们需要在系统上安装一些软件包:**GTK+2**和**libstdc++.so.6**。
|
||||
|
||||
不只是这款软件,一大堆Linux下的软件不支持64位架构,例如**Skype**,我们也需要这样调整我们的系统来安装这些软件。
|
||||
|
||||
#### 在64位系统下 ####
|
||||
|
||||
安装**GTK+2**和**libstdc++so.6**,用如下apt或者yum命令
|
||||
|
||||
$ sudo apt-get install libgtk2.0-0 libstdc++6 [在基于Debian系统上执行这个命令]
|
||||
|
||||
如果有报错的话,运行下面的命令来解决
|
||||
|
||||
$ sudo apt-get -f install
|
||||
|
||||
----------
|
||||
|
||||
# yum install gtk2 libstdc++ [在基于Redhat系统上执行这个命令]
|
||||
|
||||
需要的软件包安装完后,就可以在64位系统下安装32位的软件了,进入你的下载目录,找到“**icup 2014 Brazil**”安装包然后执行下面的命令
|
||||
|
||||
# cd Downloads/
|
||||
# tar xvf iCup_2014_FREE-Brazil_1.1_linux.tar.bz2
|
||||
# cd iCup\ 2014\ FREE\ -\ Brazil\ 1.1/
|
||||
# chmod 755 iCup\ 2014\ FREE\ -\ Brazil
|
||||
|
||||
然后,进入软件所在目录,双击可执行文件启动软件。下面的截屏图中看不到所有的信息,**因为本文写作时2014年世界杯现在还没开始呢,开始后我们就能看到结果了**。
|
||||
|
||||

|
||||
|
||||
iCup Brazil 2014
|
||||
|
||||
无具体信息,世界杯尚未开始。
|
||||
|
||||

|
||||
|
||||
Match Detailed Information
|
||||
|
||||
分组和队伍
|
||||
|
||||

|
||||
|
||||
Groups and Teams
|
||||
|
||||
第二阶段详细信息
|
||||
|
||||

|
||||
|
||||
2nd stage Detailed Information
|
||||
|
||||
比赛细节,尚未完整
|
||||
|
||||

|
||||
|
||||
Match Summary
|
||||
|
||||
集成语言切换和社交分享按钮
|
||||
|
||||

|
||||
|
||||
Language Change
|
||||
|
||||
Linux上捐赠是可选的,你可以贡献你的心意。
|
||||
|
||||

|
||||
|
||||
Donation
|
||||
|
||||
### 总结 ###
|
||||
|
||||
上面的这个软件有望成为足球粉丝的一大福利,赶快在线试用吧。
|
||||
|
||||
好了,我马上又有一个有趣的文章了。请保持关注Tecmint.com。请在评论区对我们的工作给予反馈。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/view-fifa-world-cup-matche-results/
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.e-link.it/icup/brazil2014/icup-brazil-2014-desktop-app.php
|
||||
@@ -0,0 +1,71 @@
|
||||
如何使用ffmpeg从视频中提取图片
|
||||
================================================================================
|
||||
|
||||
你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片。
|
||||
|
||||
### 什么是ffmpeg?What is ffmpeg? ###
|
||||
|
||||
ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分,其有很多功能,比如解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的由人和机器创建的媒体文件。
|
||||
|
||||
在这个框架中包含有各种工具,每一个用于完成特定的功能。例如,ffserver能够将多媒体文件转化为用于实时广播的流,ffprobe用于分析多媒体流,ffplay可以当作一个简易的媒体播放器,**ffmpeg**则能够转换多媒体文件格式。
|
||||
|
||||
如果你感兴趣,以下列出的是FFmpeg框架中包含的开发者库:
|
||||
|
||||
- libavutil是一个包含简化编程功能的库,其中包括随机数生成器,数据结构,数学代码,核心多媒体工具等更多东西。
|
||||
- libavcodec是一个包含音频/视频解码器和编码器的库。
|
||||
- libavformat是一个包含了多媒体格式的分离器和混流器的库。
|
||||
- libavdevice是一个包含输入输出设备的库,用于捕捉和渲染很多来自常用的多媒体输入/输出软件框架的数据,包括Video4Linux,Video4Linux2,VfW和ALSA。
|
||||
- libavfilter是一个包含媒体过滤器的库。
|
||||
- libswscale是一个用于执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
|
||||
- libswresample是一个用于执行高度优化的音频重采样,重新矩阵和取样格式转换操作的库。
|
||||
|
||||
**注意**:ffmpeg和FFmpeg不是同一个东西。FFmpeg是框架,而ffmpeg是一个其中的一个功能。
|
||||
|
||||
### 开始行动 ###
|
||||
|
||||
如果你想跟着教程做,你需要在你的linux机中安装ffmpeg命令行功能。Ubuntu用户可以在终端运行以下命令轻松安装ffmpeg功能。
|
||||
|
||||
sudo apt-get install ffmpeg
|
||||
|
||||
Fedora用户可以从源中直接安装ffmpeg。
|
||||
|
||||
yum install ffmpeg
|
||||
|
||||
或者你可以编译源代码。在你使用源代码编译并安装它之前,你需要从官网上下载源代码,使用以下命令。
|
||||
|
||||
wget http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2
|
||||
|
||||
用下面命令解压文档。
|
||||
|
||||
tar -xvjf ffmpeg-2.2.3.tar.bz2
|
||||
|
||||
文档解压完成后进入解压后的目录运行以下命令。
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
编译完成后运行下面的命令安装ffmpeg。
|
||||
|
||||
su -c 'make install'
|
||||
|
||||
全部的事情并没有完成,而你将要做的所有事就是在终端键入一些命令而且将能够从任何视频文件中抓取图片。
|
||||
|
||||
在做之后的步骤前,确保你在想要提取图片的视频文件的目录下。使用cd命令切换到正确的目录。教程中我使用的视频在我的桌面上,我用以下命令将目录切换到我的桌面。
|
||||
|
||||
cd /home/oltjano/Desktop
|
||||
|
||||
之后我使用以下命令从视频中提取图片。
|
||||
|
||||
ffmpeg -i "你是我的小呀小苹果儿.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg
|
||||
|
||||
**-i**选项用来获取输入文件,在这里是视频文件名**你是我的小呀小苹果儿.mp4**,-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。
|
||||
|
||||
之后有一个重要的选项是-q:v,应该留意这个选项并且我很喜欢用它,它用来设置提取到的图片质量。我总是设置值为2来从视频中获取高质量图片。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/extract-images-videos-using-ffmpeg/
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,33 @@
|
||||
在Linux上用iCup追世界杯
|
||||
================================================================================
|
||||

|
||||
|
||||
嗨,Linux 极客们,
|
||||
|
||||
在本文简短的叙述中,我将教您如何在Linux中安装一个非常棒的2014FIFA世界杯APP。这个应用叫iCup,支持Windows,Mac以及伟大的Linux。
|
||||
|
||||
我看足球比赛已经有很长的时间了,所以我得在我的电脑上装个这样的应用来保持更新2014世界杯的最新情况。我可不想在我朋友们面前看起来像一无所知的笨货。iCup应用正好提供了每一场赛程、比分、球队教练组等信息。更有提供实时比赛更新,给您提供 正在进行的比赛的最新数据。
|
||||
|
||||
### 支持以下功能: ###
|
||||
|
||||
- 30种语言支持,完全本地化(使用语言菜单选择)
|
||||
- 独家的灵活界面可随意调整窗口大小
|
||||
- 可按日期或阶段检索比赛日历
|
||||
- 可视化分组
|
||||
- 支持自动转变比赛时间来适应本地时间和格式
|
||||
- 一键化社交网络发表比赛评论(支持Facebook,Google+和Twitter)
|
||||
- 支持代理(支持基本认证和摘要认证方法)
|
||||
|
||||
我已经在Ubuntu12.04LTS上用过而且真的很好用!目前为止,这款软件还没有出错或者崩溃过。通过[官方网站][1]您可以下载到压缩包并且十分轻松地安装这个很棒的应用,然后您可以解压到任何您喜欢的地方。解压完成后,双击iCup 2014 FREE- Brazil运行。
|
||||
|
||||
iCup真心好用,我希望您也能用其享受世界杯!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/install-icup-2014-linux/
|
||||
|
||||
译者:[Vic020](http://www.vicyu.net) 校对:[213edu](http://ryanhu.me/)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.e-link.it/icup/brazil2014/icup-brazil-2014-desktop-app.php
|
||||
@@ -0,0 +1,115 @@
|
||||
Linux:使用bash删除目录中的特定文件
|
||||
================================================================================
|
||||

|
||||
|
||||
我是一名Linux新用户。现在我需要清理一个下载目录中的文件,其实我就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件:
|
||||
|
||||
- *.iso - 所有的iso格式的文件。
|
||||
- *.zip - 所有zip格式的文件。
|
||||
|
||||
我如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢?
|
||||
|
||||
Bash shell 支持丰富的文件模式匹配符例如:
|
||||
|
||||
- * - 匹配所有的文件。
|
||||
- ? - 匹配文件名中的单个字母。
|
||||
- [...] - 匹配封闭括号中的任何一个字母。
|
||||
|
||||
### 策略 #1: 见识一下扩展的模式匹配符 ###
|
||||
|
||||
这里你需要用系统内置的shopt命令来开启shell中的extglob选项,然后你就可以使用扩展的模式符了,这些模式匹配符如下:
|
||||
|
||||
1. ?(模式列表) - 匹配零次或一次给定的模式。
|
||||
1. *(模式列表) - 匹配零次或多次给定的模式。
|
||||
1. +(模式列表) - 至少匹配一次给定的模式。
|
||||
1. @(模式列表) - 匹配一次给定的模式。
|
||||
1. !(模式列表) - 不匹配给定模式。
|
||||
|
||||
一个模式列表就是一个或多个用 | 分开的模式(文件名)。
|
||||
|
||||
首先要打开extgolb选项:
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
#### 在Bash中删掉除*.zip和*.iso文件以外的所有文件 ####
|
||||
|
||||
rm 命令的语法格式为:
|
||||
|
||||
## 仅保留 file1 文件 ##
|
||||
rm !(file1)
|
||||
|
||||
## 仅保留 file1 和 file2 文件##
|
||||
rm !(file1|file2)
|
||||
|
||||
## 仅保留 zip 文件 ##
|
||||
rm !(*.zip)
|
||||
|
||||
## 仅保留 zip 和 iso 文件 ##
|
||||
rm !(*.zip|*.iso)
|
||||
|
||||
## 你也可以使用完整的目录 ##
|
||||
rm /Users/vivek/!(*.zip|*.iso|*.mp3)
|
||||
|
||||
## 也可以传递参数 ##
|
||||
rm [选项] !(*.zip|*.iso)
|
||||
rm -v !(*.zip|*.iso)
|
||||
rm -f !(*.zip|*.iso)
|
||||
rm -v -i !(*.php)
|
||||
|
||||
最后,关闭 extglob 选项方法如下:
|
||||
|
||||
shopt -u extglob
|
||||
|
||||
### 策略 #2: 使用bash的 GLOBIGNORE 变量删除指定文件以外的所有文件 ###
|
||||
|
||||
摘自 [bash(1)][1] 手册页:
|
||||
|
||||
> 这是一个用冒号分开的模式列表,通过路径展开方式定义了要忽略的文件集合。如果一个匹配到路径展开模式的文件也匹配GLOBIGNORE中的模式,那么它会从匹配列表中移除。
|
||||
|
||||
要删除所有文件只保留 zip 和 iso 文件,应如下设置 GLOBIGNORE:
|
||||
|
||||
## 只在 BASH 中可行 ##
|
||||
cd ~/Downloads/
|
||||
GLOBIGNORE=*.zip:*.iso
|
||||
rm -v *
|
||||
unset GLOBIGNORE
|
||||
|
||||
### 策略 #3: 用 find 命令删除所有其它文件仅保留 zip 和 iso 文件 ###
|
||||
|
||||
|
||||
如果你正在使用 tcsh/csh/sh/ksh 或者其它shell,你可以在Unix-like系统上试着用下面find命令的语法格式来删除文件:
|
||||
|
||||
find /dir/ -type f -not -name '匹配模式' -delete
|
||||
|
||||
或者
|
||||
|
||||
## 对于怪异的文件名可以使用 xargs ##
|
||||
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm {}
|
||||
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm [选项] {}
|
||||
|
||||
|
||||
想要删除 ~/source 目录下除 php 以外的文件,键入:
|
||||
|
||||
find ~/sources/ -type f -not -name '*.php' -delete
|
||||
|
||||
或者
|
||||
|
||||
find ~/sources/ -type f -not -name '*.php' -print0 | xargs -0 -I {} rm -v {}
|
||||
|
||||
只保留 *.zip 和 *.iso 文件的语法如下:
|
||||
|
||||
find . -type f -not \( -name '*zip' -or -name '*iso' \) -delete
|
||||
|
||||
|
||||
更多信息参见[bash command man page][1]和[find command man page][2]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.cyberciti.biz/faq/linux-bash-delete-all-files-in-directory-except-few/
|
||||
|
||||
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.manpager.com/linux/man1/bash.1.html
|
||||
[2]:http://www.manpager.com/linux/man1/find.1.html
|
||||
@@ -0,0 +1,58 @@
|
||||
新的OpenSSL分支未包含Heartbleed漏洞,但需要认真看待
|
||||
================================================================================
|
||||
> 摘要:当被最新的OpenSSL安全问题困扰时,你最好解决它,虽然它并不像Heartbleed那样糟糕。
|
||||
|
||||
这一周对于开源的Secure Socket Layer (SSL)来说真是糟糕的一周。
|
||||
|
||||
首先,[GnuTLS低调的宣称,存在一个不大][1]但确实存在的缺陷。然后,大范围流行的OpenSSL被发现包含一个[中间人漏洞][2]。在[Heartbleed漏洞][3]惨剧后,OpenSSL要醒醒了。
|
||||
|
||||

|
||||
|
||||
这个漏洞,根据谷歌高级软件工程师Adam Langley描述,已经[至少存在了15年时间][4]。可惜Core Infrastructure Initiative(CII)[提供了让更多的程序员来拯救OpenSSL的资金][5],却尚未来得及发挥作用。
|
||||
|
||||
也就是说这个漏洞依然是和Heartbleed漏洞一样糟糕。对于一些新手,攻击者需要在系统和浏览器或其它启用了SSL的客户端之间来利用这个安全漏洞。
|
||||
|
||||
尽管它只是可能被利用,你依然需要尽可能快的通过升级来解决这个漏洞。就像[NTT Com Security][6]的评估服务负责人Chris Camejo在邮件采访里说的,“这很糟糕,因为已经存在了这么长的时间,看起来传播范围相当广泛。”
|
||||
|
||||
他补充到:“如果利用它,攻击者可以解密流量。从SSL的设计目的看,这是一个很严重的问题。SSL被广泛地用来在网站和邮件中保护很多的密码,信用卡卡号和其他的敏感信息。”
|
||||
|
||||
在另外一个采访中,Red Hat的产品安全高级负责人Mark Cox详细深入地介绍了[细节][7]。Cox说,OpenSSL已修正了一些安全缺陷,但是我们需要想办法告诉人们不要因为Heartbleed而陷入恐慌。
|
||||
|
||||
Cox解释说,Heartbleed漏洞在公布之前得到了修补,但利用此漏洞的消息在修补程序之前传开,因此在这个问题上招致了许多抱怨。最新的情况,已有七个安全问题得到了修补,但其中只有两项需要管理员和用户的关注。
|
||||
|
||||
Cox继续说道,第一个,是数据报传输层安全 (DTLS)的bug。到目前为止,还没有已知的攻击,但是存在针对它攻击成功的潜在性。
|
||||
|
||||
因此,虽然DTLS使用不广泛,如果您确实在使用它,它应尽快修补。
|
||||
|
||||
Cox然后说,“这个问题的实际上是中间人攻击”。实际上,真的要有个“在中间的”人,来利用易受攻击的服务器和客户端之间的漏洞。
|
||||
|
||||
但如果有人真的这样做到了,他们就能“绕过SSL并拿到原始数据...这是一个相当严重的问题”。
|
||||
|
||||
但是,如同从理论上讲任何人都可以利用Heartbleed漏洞来攻击SSL服务器。攻击并利用此漏洞需要能接触到客户端和服务器之间的通信网络。例如,成功的攻击可能需要架设一个假的公开Wi-Fi接入点,才能攻击到使用这个WIFI的Android版本的Chrome网络浏览器与未安装修补程序的Web服务器之间的SSL通讯。幸运的是,谷歌[已经发布了更新的版本的浏览器][8],35.0.1916.141,以消除此问题。
|
||||
|
||||
Cox继续说,最易受攻击的系统是未安装修补程序的Android设备使用一个假的Wi-Fi接入点。Morrell补充说因为Android用户并没有被他们的手机供应商和电信公司重视,安全漏洞更新前他们可能会受漏洞影响相当长的时间。
|
||||
|
||||
幸运的是,如果他们用连接的服务器已经更新,他们也不会受到攻击。
|
||||
|
||||
OpenSSL安全社区自5月初以来已经知道这个问题。社区与Red Hat、其他主要Linux和开源社团和硬件供应商,要解决这个问题,不只是简单修补bug,而且要测试修复,以便他们可以确认漏洞已经修复,大家都已经安全了,而没有引入任何新的安全问题,并可在大多数 OpenSSL服务器和客户端的组合上工作。
|
||||
|
||||
现在,这个补丁已经有了,OpenSSL试着通过补丁解决安全缺陷,向公众表明对这些问题不必有任何不必要的恐慌。Cox补充说,主要的Linux供应商,如Red Hat和Ubuntu,已经有可用的修补程序。
|
||||
|
||||
所有的管理员都需要给服务器下载并安装补丁,而不是放任安全漏洞。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.zdnet.com/new-openssl-breech-is-no-heartbleed-but-needs-to-be-taken-seriously-7000030273/
|
||||
|
||||
译者:[lolipop](https://github.com/stduolc) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.zdnet.com/another-serious-gnutls-bug-exposes-linux-clients-to-server-attacks-7000030205
|
||||
[2]:http://www.zdnet.com/openssl-fixes-another-severe-vulnerability-7000030253/
|
||||
[3]:http://www.zdnet.com/heartbleed-serious-openssl-zero-day-vulnerability-revealed-7000028166
|
||||
[4]:https://www.imperialviolet.org/2014/06/05/earlyccs.html
|
||||
[5]:http://www.zdnet.com/corporations-put-their-cash-where-their-open-source-security-is-7000030023/
|
||||
[6]:http://www.nttcomsecurity.com/us/
|
||||
[7]:http://ec.libsyn.com/p/6/a/5/6a58036510bae37c/CloudEvangelistPodcast_Ep92_MarkCox.mp3?d13a76d516d9dec20c3d276ce028ed5089ab1ce3dae902ea1d06c88537d1ce596fdc&c_id=7251647)
|
||||
[8]:http://googlechromereleases.blogspot.com/2014/06/chrome-for-android-update.html
|
||||
@@ -0,0 +1,108 @@
|
||||
Linux下的在线云音乐播放器 —— Nuvola Player 2.4.0发布
|
||||
================================================================================
|
||||
**Nuvola Player**是一个开源的播放器,可以在其web界面中运行像Amazon云播放器,Bandcamp,Deezer,8tracks,Google Play音乐,Grooveshark,Hyper Machine以及Pandora等等云音乐服务,同时它也能整合到Linux桌面中。
|
||||
|
||||
该应用程序以插件的形式提供了大量的功能特性,像桌面通知、系统托盘、多媒体键、媒体播放器小程序、停靠栏菜单、歌词、last.fm等等。
|
||||
|
||||
**2014年5月31日**,**Nuvola Player 2.4.0**的一个新版本发布了 —— 它带来了一些新的特性,包括两个新的服务“Logitech Media Server”和“This is My Jam ”,以及众多的bug修复。
|
||||
|
||||
### 这个发布中有什么新东西 ###
|
||||
|
||||
- 删除了破损的隐藏Google+按钮选项,因为Google修改代码过于频繁了。
|
||||
- 加快了服务设置的启用速度,不需要再重新加载。
|
||||
- 修复了暂停和播放/暂停动作开关。
|
||||
- 为Chrome添加了兼容问题警告桌面通知。
|
||||
- 提供了页面内导航按钮(现在用户可以在Google Play标识旁边的顶部栏中找到它)。
|
||||
- 添加了“Logitech Media Server”和“This is My Jam ”服务。
|
||||
- 包含了对鼠标后退/前进按钮的支持。
|
||||
- 修复了对GNOME锁屏通知的支持。
|
||||
|
||||
要查看完整的特性列表,请访问官方发行[声明页面][1]
|
||||
|
||||
## 在Debian, Ubuntu和Linux Mint中安装Nuvola Player ##
|
||||
|
||||
官方的Nuvola Player仓库中包含了**Ubuntu 14.04, 13.10, 12.10, 12.04**以及**Linux Mint 17, 16, 15, 14.**可用的二进制包,你可以通过添加Nuvola Player仓库到你的系统中来安装二进制包‘nuvolaplayer’。
|
||||
|
||||
### 在Ubuntu和Linux Mint上 ###
|
||||
|
||||
打开终端并运行以下一系列命令:
|
||||
|
||||
$ sudo add-apt-repository ppa:nuvola-player-builders/stable
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get upgrade
|
||||
$ sudo apt-get install nuvolaplayer
|
||||
|
||||
**注**:请不要忽略系统更新命令‘sudo apt-get upgrade’,否则你的apt-get安装Flash插件可能会失败。
|
||||
|
||||
如果你不需要Nuvola Player支持Flash插件,你可以忽略系统升级命令,并使用以下命令来安装不带Flash支持得nuvolaplayer。
|
||||
|
||||
$ sudo apt-get --no-install-recommends install nuvolaplayer
|
||||
|
||||
### 在Debian上 ###
|
||||
|
||||
对于**Debian Wheezy**和**Debian Sid**,可以从官方仓库中获取稳定的Nuvola Player二进制包。你可以使用下面这一堆命令来安装最新的稳定版。
|
||||
|
||||
首先,打开终端并导入公钥,然后添加仓库到‘**sources.list**‘文件,接着像下面这样进行一次系统更新来安装nuvolaplayer。
|
||||
|
||||
#### Debian Wheezy ####
|
||||
|
||||
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 706C220A
|
||||
$ sudo sh -c 'echo "deb http://ppa.fenryxo.cz/nuvola-player/ wheezy main" >> /etc/apt/sources.list'
|
||||
$ sudo sh -c 'echo "deb-src http://ppa.fenryxo.cz/nuvola-player/ wheezy main" >> /etc/apt/sources.list'
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install nuvolaplayer
|
||||
|
||||
#### Debian Sid ####
|
||||
|
||||
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 706C220A
|
||||
$ sudo sh -c 'echo "deb http://ppa.fenryxo.cz/nuvola-player/ sid main" >> /etc/apt/sources.list'
|
||||
$ sudo sh -c 'echo "deb-src http://ppa.fenryxo.cz/nuvola-player/ sid main" >> /etc/apt/sources.list'
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install nuvolaplayer
|
||||
|
||||
**注**:Nuvola Player依赖于打包的Flash插件,而该插件会因为存在库文件冲突(**GTK+ 2和**GTK+ 3**)而默认不会安装。
|
||||
|
||||
要解决该问题,我们需要启用flash**PPA**组件来安装‘**nuvolaplayer-flashplugin**‘包,命令如下。
|
||||
|
||||
$ sudo sh -c 'echo "deb http://ppa.fenryxo.cz/nuvola-player/ sid main beta flash" >> /etc/apt/sources.list'
|
||||
$ sudo sh -c 'echo "deb-src http://ppa.fenryxo.cz/nuvola-player/ sid main beta flash" >> /etc/apt/sources.list'
|
||||
$ apt-get update
|
||||
$ apt-get install nuvolaplayer-flashplugin
|
||||
|
||||
一旦完成安装,你可以在**菜单**中找到该应用并启动它。记住,想要听音乐,你必须连接到互联网。
|
||||
|
||||
### Nuvola Player美图欣赏 ###
|
||||
|
||||

|
||||
选择音乐服务
|
||||
|
||||

|
||||
Grooveshark音乐服务
|
||||
|
||||

|
||||
Grooveshark播放音乐
|
||||
|
||||

|
||||
Nuvola Player首选项
|
||||
|
||||

|
||||
Google Play音乐
|
||||
|
||||

|
||||
Rdio音乐服务
|
||||
|
||||

|
||||
关于Nuvola Player
|
||||
|
||||
对于其它Linux发行版,你可以从 Nuvola Player[启动板下载][2]页下载源码tarball。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/install-nuvola-player-in-linux/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://nuvolaplayer.fenryxo.cz/releases/2.4.html
|
||||
[2]:https://launchpad.net/nuvola-player/+download
|
||||
@@ -0,0 +1,174 @@
|
||||
实用的Linux SHELL面试问题及答案
|
||||
================================================================================
|
||||
|
||||
随着之前有关面试的系列文章,读者的反应比较强烈,所以我决定出一篇有关Linux Shell相关的面试文章,如果对本文有什么意见或意见的话,欢迎反馈到我的邮箱里。
|
||||
|
||||
如果想要阅读已发表在Tecmint.com的文章,可以点击链接,链接到[访谈系列] [1],在这里我们已经介绍很多题目即文章。,FTP,MySQL和Apache的,脚本,Linux命令等。
|
||||
|
||||

|
||||
> 实用的shell脚本面试问题
|
||||
|
||||
这边提到的5个面试问题,延续之前的有关Linux面试问题和答案。如果你是Tecmint.com的读者,你的支持我非常感谢。
|
||||
|
||||
### 1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。 ###
|
||||
|
||||
> **答案** : 输出用户名,当前日期和时间,以及当前工作目录的命令就是logname,date,who i am和pwd。
|
||||
|
||||
现在,创建一个名为**`userstats.sh`**文件,将下面的代码添加到它。
|
||||
|
||||
#!/bin/bash
|
||||
echo "Hello, $LOGNAME"
|
||||
echo "Current date is `date`"
|
||||
echo "User is `who i am`"
|
||||
echo "Current directory `pwd`"
|
||||
|
||||
给它添加执行权限,并且执行他。
|
||||
|
||||
# chmod 755 userstats.sh
|
||||
# ./userstats.sh
|
||||
|
||||
#### 样例输出 ####
|
||||
|
||||
Hello, avi
|
||||
Current date is Sat Jun 7 13:05:29 IST 2014
|
||||
User is avi pts/0 2014-06-07 11:59 (:0)
|
||||
Current directory /home/avi/Desktop
|
||||
|
||||
### 2.写一个shell脚本,进行两个数字的相加,如果没有输入参数就输出错误信息和一行使用说明###
|
||||
|
||||
> **答案** : 下面是简单的shell脚本以及描述,如果没有命令行参数,它会抛出错误与如何使用脚本的说明。
|
||||
|
||||
再创建一个名为**`twonumbers.sh`**文件和下面的内容添加到文件里。
|
||||
|
||||
#!/bin/bash
|
||||
# The Shebang
|
||||
|
||||
if [ $# -ne 2 ]
|
||||
# If two Inputs are not received from Standard Input
|
||||
|
||||
then
|
||||
# then execute the below statements
|
||||
|
||||
echo "Usage - $0 x y"
|
||||
# print on standard output, how-to use the script (Usage - ./1.sh x y )
|
||||
|
||||
echo " Where x and y are two nos for which I will print sum"
|
||||
# print on standard output, “Where x and y are two nos for which I will print sum ”
|
||||
|
||||
exit 1
|
||||
# Leave shell in Error Stage and before the task was successfully carried out.
|
||||
|
||||
fi
|
||||
# End of the if Statement.
|
||||
|
||||
echo "Sum of $1 and $2 is `expr $1 + $2`"
|
||||
# If the above condition was false and user Entered two numbers as a command Line Argument,
|
||||
it will show the sum of the entered numbers.
|
||||
|
||||
给他添加可执行权限,并且执行。
|
||||
|
||||
# chmod 755 two-numbers.sh
|
||||
|
||||
**情形一**: 未输入两个数字作为命令行参数运行脚本,你将得到下面的输出。
|
||||
|
||||
#### 样例输出 ####
|
||||
|
||||
# ./two-numbers.sh
|
||||
|
||||
Usage - ./two-numbers.sh x y
|
||||
Where x and y are two nos for which I will print sum
|
||||
|
||||
**情形二**: 当数字存在时,你会得到如图所示的结果。
|
||||
|
||||
$ ./two-numbers.sh 4 5
|
||||
|
||||
Sum of 4 and 5 is 9
|
||||
|
||||
因此,上述shell脚本满足了问题的要求。
|
||||
|
||||
### 3.你需要打印一个给定的数字的反序,如输入10572,输出27501,如果没有输入数据,应该抛出错误和使用脚本说明。在此之前,告诉我你需要在这里使用的算法。 ###
|
||||
|
||||
#### 算法 ####
|
||||
|
||||
1. 输入的数字为n
|
||||
2. 赋值 rev=0, sd=0 (反向和单个数字设置为0)
|
||||
3. n % 10, 将得到最左边的数字
|
||||
4. 反向数字可以用这个方法生成 rev * 10 + sd
|
||||
5. 对输入数字进行右位移操作(除以10)
|
||||
6. 如果n > 0, 进入第三步,否则进行第七步
|
||||
7. 输出rev
|
||||
|
||||
现在,创建一个名为**`numbers.sh**`文件,并添加以下代码。
|
||||
|
||||
#!/bin/bash
|
||||
if [ $# -ne 1 ]
|
||||
then
|
||||
echo "Usage: $0 number"
|
||||
echo " I will find reverse of given number"
|
||||
echo " For eg. $0 0123, I will print 3210"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
n=$1
|
||||
rev=0
|
||||
sd=0
|
||||
|
||||
while [ $n -gt 0 ]
|
||||
do
|
||||
sd=`expr $n % 10`
|
||||
rev=`expr $rev \* 10 + $sd`
|
||||
n=`expr $n / 10`
|
||||
done
|
||||
echo "Reverse number is $rev"
|
||||
|
||||
授予对文件的执行权限,并运行如下所示的脚本。
|
||||
|
||||
# chmod 755 numbers.h
|
||||
|
||||
**情形一**: 当输入不包含命令行参数,你将得到下面的输出。
|
||||
|
||||
#### 样例输出 ####
|
||||
|
||||
./numbers.sh
|
||||
|
||||
Usage: ./numbers.sh number
|
||||
I will find reverse of given number
|
||||
For eg. ./2.sh 123, I will print 321
|
||||
|
||||
**情形二**: 正常输入
|
||||
|
||||
$ ./numbers.sh 10572
|
||||
|
||||
Reverse number is 27501
|
||||
|
||||
上面的脚本非常完美,输出正是我们需要的。
|
||||
|
||||
### 4. 你应该直接用终端,而不是依靠任何shell脚本来进行实数计算。你会怎么做(比如实数7.56+2.453)? ###
|
||||
|
||||
> **答案** : 我们需要用如下所述的特殊方式使用bc命令。将7.56+2.453作为输入通过管道进入bc中。
|
||||
|
||||
$ echo 7.56 + 2.453 | bc
|
||||
|
||||
10.013
|
||||
|
||||
### 5. 你需要给出圆周率的值,精度为小数点后100位,什么是最简单的方法。 ###
|
||||
|
||||
> **答案** : 找圆周率的值最简单的方法,我们只是需要发出以下命令。
|
||||
|
||||
# pi 100
|
||||
|
||||
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
|
||||
|
||||
很明显!安装我们必须有包**`pi`**。只用一个**apt**或**yum**命令,就能获得所需的软件包,同时用最简单方法来实现这个需求。
|
||||
|
||||
就是这样。我会很快在Tecmint.com发表另一个有趣的文章。至此敬请关注。别忘了向我们提供您在的评论和反馈。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/practical-interview-questions-on-linux-shell-scripting/
|
||||
|
||||
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.tecmint.com/category/interview-questions/
|
||||
@@ -0,0 +1,21 @@
|
||||
Steam平台Linux游戏突破500大关
|
||||
================================================================================
|
||||

|
||||
|
||||
这是一个很棒的里程碑不是吗?Steam上现在已经有500个(截至6月7日已有509个)兼容Linux的游戏了,对任何人而言这都着实是个巨大的数目。人们将不再一直说着“可是Linux上没有游戏”,但令人悲伤的是他们会说Linux上几乎没有AAA级的游戏大作(这确实是事实),但这会是一个循序渐进建立起游戏生态的过程。
|
||||
|
||||
我一直在说这个(译注:指Linux游戏会增多的), 但我仍从没想过我们会有一天像这样实现它。我毫不怀疑今年晚些时候我们能够有XCOM,Civilization(文明)以及更多即将到来游戏令人惊喜的发布消息。
|
||||
|
||||
一旦Steam Machines/SteamOS发布,如果它们获得了成功我们应该可以看到Linux平台游戏数目甚至上升得更快。
|
||||
|
||||
所以,Steam上的支持Linux平台的游戏数目达到1000还要多久?也许是今年末,谁知道呢!
|
||||
|
||||
我现在要去拿我的派对帽了...你也要庆祝这个里程碑吗?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.gamingonlinux.com/articles/steam-hits-the-big-500-for-linux-games.3849
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
42
published/201406/20140607 Ubuntu One Formally Shuts Down.md
Normal file
42
published/201406/20140607 Ubuntu One Formally Shuts Down.md
Normal file
@@ -0,0 +1,42 @@
|
||||
Ubuntu One服务正式关闭
|
||||
================================================================================
|
||||
**Ubuntu One服务现已正式关闭。在7月31日之前你还能够获取你存储的文件,否则它们将被永远删除。**
|
||||
|
||||
Canonical在今年早些时候宣布[将会关闭这项服务][1],理由是缺乏付费用户以及和Google,Dropbox以及其它云存储服务日益增加的竞争,这是他们作出这个决定的首要原因。
|
||||
|
||||
在尝试登录Ubuntu One控制面板的时候会显示下图所示的通知来提醒用户服务已经中止:
|
||||
|
||||

|
||||
|
||||
本月早些时候Ubuntu 12.04 LTS收到了一个推送更新,提醒用户Ubuntu One不久后将会被从桌面移除,至于Ubuntu 14.04 LTS,在四月发布时就已没有预装Ubuntu One。
|
||||
|
||||
### 获取你的数据 ###
|
||||
|
||||
要将你的数据以**.zip**文件的形式下载下来,你只需登录,然后点击在通知下方的橙色按钮。
|
||||
|
||||
Canonical也和云存储迁移服务商[mover.io][2]达成合作,允许用户直接从Ubuntu One向其它服务,比如Dropbox,Google Drive以及Copy导入文件。
|
||||
|
||||
Mover,一个云存储迁移服务商,它盛誉Ubuntu One为“...一个世界级的文件同步及分享产品”,现向Ubuntu One用户免费提供数据迁移服务,尽管它需要用户创建一个账户。该公司通常只允许免费用户迁移最多2GB的数据。
|
||||
|
||||
向了解通过mover.io将你的数据迁移到Google Drive的更多细节,请查阅下列知识库文章。
|
||||
|
||||
- [从Ubuntu One向Google Drive迁移][3]
|
||||
|
||||
### 关于退款 ###
|
||||
|
||||
对于那些已经为额外存储空间以及Ubuntu One音乐服务付费的用户,Canonical告知这些用户将会在接下来7到10天内收到退款。
|
||||
|
||||
如果你正在寻找Ubuntu One的替代服务,可以查看我们总结的[读者中使用的最流行的云服务][4]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/06/ubuntu-one-discontinued-grab-files-now
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2014/04/canonical-axe-ubuntu-one-file-music-services-grab-data-now
|
||||
[2]:http://mover.io/
|
||||
[3]:http://support.mover.io/knowledgebase/articles/346927-how-to-transfer-from-ubuntu-one-to-google-drive
|
||||
[4]:http://www.omgubuntu.co.uk/2014/04/three-alternatives-ubuntu-one
|
||||
@@ -0,0 +1,32 @@
|
||||
[小白技巧]如何在Linux中知道你的系统是否有USB 3.0 端口
|
||||
================================================================================
|
||||
|
||||
近来的大多数的新计算机都有了USB 3.0接口了。但是**你怎么知道你的计算机有没有USB 3.0接口**?这篇短文中,我们会告诉如何在Linux下知道你的系统上有USB 3还是USB3接口。
|
||||
|
||||
### 在Linux终端中检测是否有USB 3.0 端口 ###
|
||||
|
||||
打开一个终端,并使用下面的命令:
|
||||
|
||||
lsusb
|
||||
|
||||
这个命令会显示你系统下USB的总线信息。检查一下结果,如果你看到像“3.0 root hub”字样,这意味着你系统有USB 3.0。比如,在我的电脑上,它这样显示:
|
||||
|
||||

|
||||
|
||||
这个技巧在所有的Linux系统上,像Ubuntu,Linux Mint,Fedora等等都有效。现在当你知道你有USB 3.0 端口之后,**如何辨别哪个口是USB 3.0,哪个是USB 2.0。
|
||||
|
||||
### 辨别哪个口是USB 3.0 ###
|
||||
|
||||
通常USB 3.0 口被标记为SS(“Super Speed”的缩写)。如果你的系统制造商没有标记SS或者USB 3,那么你可以检查端口的内部通常是蓝色的。
|
||||
|
||||

|
||||
|
||||
我希望这个快捷提示能够帮助你知道你系统是否有USB 3.0 并可以分辨出USB 3.0 口
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/find-usb-3-port-linux/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
33
published/201406/20140609 Open Source LDAP Solutions.md
Normal file
33
published/201406/20140609 Open Source LDAP Solutions.md
Normal file
@@ -0,0 +1,33 @@
|
||||
开源LDAP解决方案
|
||||
================================================================================
|
||||
LDAP(轻量级目录访问协议)是一个用于访问目录服务的应用协议,它运行在TCP/IP堆栈的上一层,采用简单的编码方法,并提供了便捷的方式来连接到互联网目录,特别是基于X.500的目录服务,并对它们进行搜索和修改。LDAP是一个开放的、中立的,并且具有工业标准的应用协议,它采用客户端-服务器模式。
|
||||
|
||||
该协议主要针对管理应用程序和提供对目录读/写操作的浏览器应用程序。
|
||||
|
||||
使用LDAP服务器的主要好处在于,整个组织的信息可以合并到一个中央仓库统一管理。LDAP支持安全套接协议层(SSL)和传输层安全协议(TLS),因而敏感信息可以受到保护。LDAP服务器用于多种任务,包括但不限于这些服务:用户认证、机器认证、用户/系统分组、资源追踪、组织演示以及应用配置存储。
|
||||
|
||||
为了提供对可用开源软件质量的深刻了解,我们列出了5个高品质的LDAP解决方案。
|
||||
|
||||
现在,让我们浏览手头上的5个LDAP解决方案吧。每个标题,我们都提供了连接页面,里面有对其功能特性的深度分析,同时提供了相关资源和评论的链接。
|
||||
|
||||
### LDAP解决方案 ###
|
||||
|
||||
- [389目录服务器][1] - 企业级开源LDAP服务器
|
||||
- [OpenDJ][2] - API经济的云目录服务
|
||||
- [OpenLDAP][3] - 应用程序和开发工具的LDAP套件
|
||||
- [freeIPA][4] - 身份/策略管理
|
||||
- [ApacheDS][5] - 编写的LDAP和Kerberos服务器
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/20140607022012848/LDAPSolutions.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://port389.org/
|
||||
[2]:http://opendj.forgerock.org/
|
||||
[3]:http://www.openldap.org/
|
||||
[4]:http://www.freeipa.org/
|
||||
[5]:http://directory.apache.org/apacheds/
|
||||
@@ -0,0 +1,40 @@
|
||||
嵌入式多媒体中心 OpenELEC 4.0.4
|
||||
================================================================================
|
||||
|
||||
![] (http://i1-news.softpedia-static.com/images/news2/OpenELEC-4-0-4-Is-Out-and-Based-on-XBMC-13-1-quot-Gotham-quot-445802-2.jpg)
|
||||
|
||||
**OpenELEC 4.0.4已经发布,它是一个专门设计运行XBMC的嵌入式系统,一个开放源代码的娱乐媒体中心。它构建 XBMC 13.1 基础之上。**
|
||||
|
||||
OpenELEC 开发商非常密切地跟着 XBMC 的产品开发周期,目前已经发布了他们的最新的 4.0.4 的版本。它基于 XBMC 13.1 "Gotham",并且开发者们做了一些自己的改动。
|
||||
|
||||
“此版本包括一些bug修正、安全修复和来自于 OpenELEC 4.0.3 的改进。除了通常的错误修正和软件包更新,我们已经使用最新的补丁文件升级 XBMC 至最新的 XBMC 13.1 (final)。这个版本包含了在 XBMC 13.0 发布之后的很多已知问题的修复(其中有些我们已包括 OpenELEC 4.0.0中)。”
|
||||
|
||||
“我们在popcornmix的帮助下发现并修复了一些和树莓派相关内核问题、 固件和 XBMC 代码中的问题,非常感谢他的帮助 !OpenELEC 4.0.4 现在是一个稳定版本,包含了OpenELEC 4.0系列的bug修正和安全漏洞修复 。”开发商的官方网站上如是写道。
|
||||
|
||||
OpenELEC 4.0.4 界面更加美观而且更新和修复了许多问题。例如,e2fsprogs 已更新到版本 1.42.10、 bluez 已更新到版本 5.19、 fontconfig 版本更新到 2.11.1,也默认集成了 systemd 213 和修复了一些安全问题的gnutls 3.2.12,而且使用了一个新的 Linux 内核3.14.5。
|
||||
|
||||
此外,DVB T2 已经添加了对 GeniaTech T220 / August T210 设备的支持,由于其驱动程序尚不完善而允许禁用WOL、也添加了尚不完善的"e1000e"驱动,树莓派的支持补丁已更新。
|
||||
|
||||
如果你已经有一个旧版的 OpenELEC,你可能需要考虑升级的系统而不是从头开始安装它。如果想顺利地完成安装,至少应该是 3.2 版本。
|
||||
|
||||
如果您尝试从旧版本操作系统的更新,您可能发现一些插件和插件都不再工作。所以最明智的办法就是,在尝试升级之前备份你的系统。
|
||||
|
||||
以 XBMC 13.1 "Gotham" 版本为基,配有 Android 硬件解码、 许多树莓派和 Android 速度方面的改善,立体 3D 渲染,更好的触摸屏支持,改进了 UPnP 功能,很多的音频引擎的改进,更好地字幕搜索、 对开发者增加的如 Python 和 JSON RPC API等 ,FFmpeg 1.2,还有更多。
|
||||
|
||||
查阅官方 [公告] [1] 的更改和改进的完整列表。
|
||||
|
||||
### 下载最新的 OpenELEC 4.0.4: ###
|
||||
- [OpenELEC 4.0.4 (tar.bz2) 64-bit][2][binary] [145 MB]
|
||||
- [OpenELEC 4.0.4 (tar.bz2) 32-bit][3][binary] [142 MB]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/OpenELEC-4-0-4-Is-Out-and-Based-on-XBMC-13-1-quot-Gotham-quot-445802.shtml
|
||||
|
||||
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://openelec.tv/news/22-releases/129-openelec-4-0-4-released
|
||||
[2]:http://openelec.tv/get-openelec/download/viewdownload/8/339
|
||||
[3]:http://openelec.tv/get-openelec/download/viewdownload/8/338
|
||||
@@ -0,0 +1,118 @@
|
||||
怎样使用linux的iptables工具进行网络共享
|
||||
================================================================================
|
||||
|
||||
在本教程中,我将解释多个设备怎样在linux下共享一个网络连接。目前无线路由器已经成为主流的消费品,从而解决了本文这一问题。这里假设你家中并没有一台无线路由器,不过,你却有一台已经有"猫"和有线网卡的的linux主机。"猫"是以动态公有IP地址的模式连接到互联网,主机的网卡连接到你的交换机或者集线器。其他设备(如linux或者windows的PC或者笔记本)以网桥的形式连接,并且没有连接到互联网。为了共享linux主机的互联网,你必须把主机转换成网关,以便它能实现从其他设备中传送和接受信息。
|
||||
|
||||
### 术语字汇 ###
|
||||
|
||||
|
||||
- **私有IP地址**(路由不可达地址)是一个被用于本地局域网的IP地址(在互联网中不可见)。
|
||||
- **公用IP地址**(路由可达地址)是一个在互联网中可见的IP地址。
|
||||
- **IP伪装**是一项允许一系列机器通过MASQ网关连接互联网的功能。这些MASQ网关之外的机器在互联网中是不可见的。MASQ之后的机器中任何流入或流出的数据必须经过MASQ网关。
|
||||
- **网络地址转换**(NAT)是一项通过IP伪装技术可以使私有IP地址访问互联网的功能。
|
||||
|
||||
### Hardware Requirements ###
|
||||
|
||||
硬件要求
|
||||
|
||||
- 一台有两个接口(一个公有IP地址和其他的私有IP地址)的linux主机,这个主机将被用作网关。
|
||||
- 一台或者多台拥有私有IP地址的linux/windows系统的PC或者笔记本。
|
||||
- 交换机/集线器(可选)。
|
||||
|
||||
### 教程步骤 ###
|
||||
|
||||
接下来的过程需要在linux主机(用于共享的网关)上完成。
|
||||
|
||||
#### 1、激活IP转发 ####
|
||||
|
||||
为了设置网络共享,你需要在linux主机上更改一个内核参数来使能IP转发功能。内核启动参数设定在/etc/sysctl.conf文件中。
|
||||
|
||||
打开这个文件,定位到含有"# net.ipv4.ip_forward = 0"的这一行,移除#号(即取消注释),然后将其值设置为1,改好之后应该和下面的一致。
|
||||
|
||||
net.ipv4.ip_forward = 1
|
||||
|
||||
你还要使激活IP转发功能生效,通过执行下面的命令:
|
||||
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -p
|
||||
|
||||
#### 2、NAT配置 ####
|
||||
|
||||
另一个网络共享的重要部分是NAT配置,这可以通过使用iptables的命令,iptables包含四个防火墙的规则表:
|
||||
|
||||
- FILTER (默认表格)
|
||||
- NAT
|
||||
- MANGLE
|
||||
- RAW
|
||||
|
||||
这个教程中我们将仅使用两个表格:FILTER和NAT表格。
|
||||
|
||||
首先,刷新所有活跃的防火墙的规则。
|
||||
|
||||
$ sudo iptables -X
|
||||
$ sudo iptables -F
|
||||
$ sudo iptables -t nat -X
|
||||
$ sudo iptables -t nat -F
|
||||
|
||||
|
||||
在输入表格中,你需要设置转发链(FORWARD)成可接受的(ACCEPT)目的地,因此所有通过主机的数据包将会被正确的处理。
|
||||
|
||||
$ sudo iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
$ sudo iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
|
||||
|
||||
在NAT表中,你必须为你的WAN口启用IP伪装功能,我们假设WAN口协议是ppp0。为了在ppp0接口上使能IP伪造技术,我们使用以下的命令:
|
||||
|
||||
$ sudo iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
|
||||
|
||||
#### 3、配置私有IP地址 ####
|
||||
|
||||
在linux主机上的所有配置完成后,你需要配置其他设备(linux/windows的PC或笔记本)的DNS服务器以及默认网关,让它们的数据流可以指向linux主机。注意你不需要在linux主机上设置一个DNS服务器,从其他设备发出的每一个DNS请求都会通过上游的ISP自动转发到linux主机上。
|
||||
|
||||
如果你的其他设备上用的系统是linux,你可以通过以下命令来更改他们的默认网关和DNS服务器。假设你的网段是192.168.1.0/24的私有IP地址网段,linux主机上绑定的IP地址是192.168.1.1。
|
||||
|
||||
$ sudo ip route del default
|
||||
$ sudo ip route add default via 192.168.1.1
|
||||
$ sudo sh -c "echo 'nameserver 192.168.1.1' > /etc/resolv.conf"
|
||||
|
||||
如果还有其他的linux设备,那么你可以重复以上命令。
|
||||
|
||||
如果你有windows设备,你可以通过控制面板的网络连接属性来更改默认网关和DNS服务器。
|
||||
|
||||
#### 4、完整的脚本 ####
|
||||
|
||||
这是一个在linux主机上设置网络连接共享的一个完整的脚本。WAN口(ppp0协议)需要根据你具体的网络接口协议来替换。
|
||||
|
||||
$ sudo vi /usr/local/bin/ishare
|
||||
|
||||
----------
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
## Internet connection shating script
|
||||
|
||||
sysctl -w net.ipv4.ip_forward=1
|
||||
sysctl -p
|
||||
iptables -X
|
||||
iptables -F
|
||||
iptables -t nat -X
|
||||
iptables -t nat -F
|
||||
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
|
||||
|
||||
保存以上的脚本到/usr/local/bin/ishare,然后添加可执行权限通过执行下面的命令。
|
||||
|
||||
$ sudo chmox +x /usr/local/bin/ishare
|
||||
|
||||
如果你需要这个脚本开机启动,你需要在/etc/rc.local文件中执行这个脚本,并在该文件中的"exit 0"之前添加下面一行。
|
||||
|
||||
/usr/local/bin/ishare
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/internet-connection-sharing-iptables-linux.html
|
||||
|
||||
译者:[yujianxuechuan](https://github.com/yujianxuechuan) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,32 @@
|
||||
Linux防火墙发行版 IPFire 发布新版本
|
||||
================================================================================
|
||||

|
||||
|
||||
**ipfire.org团队的 Michael Tremer 发布了 IPFire 2.13 Core 78 的最新稳定版本, 这是一个基于Linux的防火墙发行版,本次发布已经包含了最新的OpenSSL补丁。**
|
||||
|
||||
IPFire 是一个模块化 Linux 发行版,它可以用为防火墙、 代理服务器或 VPN 网关。IPFire 开发人员的主要关注点之一就是安全,每一步修改都确保用户的安全。
|
||||
|
||||
开发者在其博客上说:“在负责提供SSL/TLS协议和其他加密功能的openssl库中发现了几个安全漏洞。详细的细节可以在原始的 openssl 安全建议里面找到”
|
||||
|
||||
他们解释说所有计划为Core Update 78准备的更新被延迟提交到core Update 79。这意味着用户为其需要等更长时间。
|
||||
|
||||
OpenSSL 的开发人员发现了另一轮的 OpenSSL 的问题,但问题很快被修复,最新Linux发行版已包含此次修复。
|
||||
|
||||
开发者推荐 IPFire 的所有用户升级。更多的细节可以在[这里][1]发现.
|
||||
|
||||
下载IPFire 2.13 Core 78:
|
||||
|
||||
- [IPFire 2.15 Core 78 (ISO)][2][iso] [122 MB]
|
||||
- [IPFire 3.0 Alpha 1 (ISO)][3][iso] [76 MB]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/IPFire-2-13-Core-78-Linux-Firewall-OS-Receives-OpenSSL-Fixes-445876.shtml
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ipfire.org/news/ipfire-2-15-core-update-78-released
|
||||
[2]:http://downloads.ipfire.org/releases/ipfire-2.x/2.15-core78/ipfire-2.15.i586-full-core78.iso
|
||||
[3]:http://www.rowie.at/ipfire/iso/ipfire-3.0-alpha1.i686.iso
|
||||
@@ -0,0 +1,27 @@
|
||||
开源SDN项目OpenDaylight添加新成员
|
||||
================================================================================
|
||||
[Linux基金会][1]的[OpenDaylight][2] 项目旨在促进开源的[软件定义网络][3] (SDN) 发展。 [Extreme Networks][4] (EXTR), [Flextronics][5]和[Oracle][6] (ORCL) 现在也加入了该项目。
|
||||
|
||||
三个公司6月5日正式加入OpenDaylight,其成员数达到到39。该项目还有195位协作开发人员,以建立一个开放源码的SDN平台。
|
||||
|
||||
新成员带来了在数据中心和云计算的设计和基础设施的专长。Extreme Networks是专业提供高性能网络解决方案的企业,而Flextronics提供系统设计、生产和物流。Oracle有广泛的业务,同时专注于各种领域的云计算和数据中心。
|
||||
|
||||
OpenDaylight 领导人很高兴该项目的会员增多,并进一步走向创造一个以开放标准为中心和避免垄断的SDN生态系统。OpenDaylight执行主任Jacques Neela说:"更多的声音意味着更多的讨论和更好的代码,我们很高兴看到各种多样性的新成员加入来加宽探讨SDN和NFV的领域"。
|
||||
|
||||
OpenDaylight的第一款正式软件是在2013年4月发布的,该软件在同年二月首次以Hydrogen的名字出现。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/open-source-sdn-project-opendaylight-adds-new-members
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linuxfoundation.org/
|
||||
[2]:http://www.opendaylight.org/
|
||||
[3]:http://thevarguy.com/sdn
|
||||
[4]:http://www.extremenetworks.com/
|
||||
[5]:http://www.flextronics.com/
|
||||
[6]:http://oracle.com/
|
||||
[7]:http://thevarguy.com/open-source-application-software-companies/020514/embargo-until-feb-4-1130-am-est-opendaylight-releases-fir
|
||||
@@ -0,0 +1,68 @@
|
||||
Linux 平台七大桌面环境通览
|
||||
================================================================================
|
||||
通常的 Linux 发行版都使用 KDE 或者 GNOME 作为默认的桌面环境。它们都给用户提供了一个原始的并且有吸引力的桌面,并且内置了各式各样的多媒体软件、系统程序、游戏、实用程序、网页开发工具、编程工具等等。这两个桌面致力于提供给用户一个拥有类似于 Windows 操作系统体验的尖端计算环境,而不是如何更少的占用系统资源。
|
||||
|
||||
如果你正在使用 Ubuntu (或者其他Linux发行版) 并且厌倦了始终使用 Unity 桌面,那么你应该看看这些可以替代 Unity 的选择。我收集了 7 种桌面环境。它们都很棒。在你读完这篇文章之后,请试着使用它们吧。
|
||||
|
||||
### [Mate][1] ###
|
||||
|
||||

|
||||
|
||||
MATE 是 GNOME2 的一个分支。它提供了一个自然且吸引人的桌面环境。它是 Linux 和其它类 Unix 工作环境中的传统工作框架的代表。MATE 在保留传统的桌面体验的同时正在不断进步使用新的技术。
|
||||
|
||||
在 Ubuntu 14.04 中,可以直接从 Ubuntu 软件中心获取 MATE 桌面。
|
||||
|
||||
### [KDE][2] ###
|
||||
|
||||

|
||||
|
||||
KDE 是另一个类似于 GNOME 一样的重量级桌面环境。它在本文章所提及的7种桌面环境中被认为是最华丽最重量级的一个。它同样是一个类似于 Windows 的桌面,在这一点上没有什么特殊的变化。不过 KDE 非常有特点,但是随之而来的是可以通过大量的设置来提升你的桌面体验。同样的,有很多关于 KDE 的话题,所以你可以很舒服的使用 KDE,并让它以你希望的方式工作。
|
||||
|
||||
### [Cinnamon][3] ###
|
||||
|
||||

|
||||
|
||||
Cinnamon 是一个基于 Gtk+ 的环境。它最初作为 GNOME Shell 的一个用户界面分支,由 Linux Mint 为其创建的。 Cinnamon 的核心设计目标是让桌面终端和触屏设备都能完美操作。无论是使用鼠标,还是使用触摸屏都可以获得同样便捷的操作。不像 KDE Plasma 工作空间,只有一种图形用户体验。当前版本—— Cinnamon 2.0 于2013年10月10日发布。
|
||||
|
||||
### [Unity][4] ###
|
||||
|
||||

|
||||
|
||||
Unity 是 GNOME 桌面环境的一个界面,由 Canonical 公司创建,用于 Ubuntu 系统中。Unity 最初现身于 Ubuntu 10.10 的上网本版本中。它起初打算充分利用上网本的屏幕空间,例如一个竖直的应用启动器和一个节省空间的多功能顶部菜单栏。Unity 不像 GNOME、KDE、 Xfce 或者 LXDE 是许多软件的合集,它是为了可用性而开发的。
|
||||
|
||||
### [GNOME Shell][5] ###
|
||||
|
||||

|
||||
|
||||
GNOME 提供了桌面核心接口例如交换窗口,启动应用程序以及显示提示。它利用先进的图形硬件来实现吸引人的、创新的界面思想,提供了愉悦简单的用户体验。GNOME Shell 定义了 GNOME 3 的客户体验。
|
||||
|
||||
作为 GNOME 的一个重要组成部分, GNOME Shell 的稳定版本首次发布于2011年3月3日。
|
||||
|
||||
### [Xfce][6] ###
|
||||
|
||||

|
||||
|
||||
Xfce 是一个轻量级的桌面环境,围绕 GTK 框架实现。它看起来很像 Gnome 2 和 MATE,然而 Xfce 是它们的轻量级替代品。相较于 KDE 和 GNOME 3 而言,Xfce 非常轻量级,所以它对于运行轻量级的工具或者那些希望实现最大执行效率的框架使用者来说是理想的环境。它还不是可以获得的最轻量级的选择 - 请继续往下看 - 然而,Xfce 的确完成了执行效率和功能的平衡。
|
||||
|
||||
### [LXDE][7] ###
|
||||
|
||||

|
||||
|
||||
LXDE 显然是桌面环境中最轻量级的选择,至少在传统的桌面标准中是这样。这个基于 GTK 的桌面环境使用了很多轻量级的选择替代了默认的应用(例如 Abiword, Gnumeric, 而不是 LibreOffice)。它没有提供炫目的视觉震撼 ,总体感觉也不是特别的棒,没有高级的设置。但是,LXDE 仍然提供了漂亮的桌面和完整的功能。当你需要快速简洁时,它就是你的选择。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://pulpybucket.com/top-7-desktop-environment-linux/
|
||||
|
||||
译者:[wwhio](https://github.com/wwhio) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://mate-desktop.org/
|
||||
[2]:http://kde.org/
|
||||
[3]:http://cinnamon.linuxmint.com/
|
||||
[4]:https://unity.ubuntu.com/
|
||||
[5]:http://www.gnome.org/
|
||||
[6]:http://xfce.org/
|
||||
[7]:http://lxde.org/
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
Linux 与 BSD 有什么不同?
|
||||
================================================================================
|
||||

|
||||
|
||||
Linux 和 BSD 都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直就像是一个操作系统,那么,它们有什么不同吗?
|
||||
|
||||
其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。
|
||||
|
||||
### 基础 ###
|
||||
|
||||
[许多人所称的“Linux”实际上不是 Linux][1]。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是[为什么 Linux 有时被称为 GNU/Linux][2]。事实上,许多在 Linux 上使用的软件同样也在 BSD 上使用。
|
||||
|
||||
Linux 和 BSD 都是类 UNIX 操作系统。我们可以通过阅读[类 UNIX 操作系统历史][3]发现 Linux 和 BSD 有不同的谱系。Linux 是由 Linus Torvalds 在芬兰上大学的时候开发的。BSD 则代表“Berkeley Software Distribution,伯克利软件套件”,其源于对加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改,它最终发展成一个完整的操作系统,现在有多个不同的BSD分支。
|
||||
|
||||

|
||||
|
||||
### 内核 vs. 完整操作系统 ###
|
||||
|
||||
严格的说,Linux 是只是一个内核。制作 Linux 发行版所要做的工作就是,汇集那些创建一个完整 Linux 操作系统所需的所有软件,将它组合成一个像 Ubuntu、Mint、Debian、RedHat 或者是 Arch 这样的 [Linux 发行版][4]。有许多不同的 Linux 发行版。
|
||||
|
||||
与此相反的是,BSD 这个名字则代表其内核和操作系统。例如,FreeBSD 提供了 FreeBSD 内核和 FreeBSD 操作系统。它是作为一个单一的项目维护的。换句话说,如果你想要安装 FreeBSD,就只有一个 FreeBSD 可供你安装。如果你想要安装 Linux,你首先需要在许多 Linux 发行版之间选择。
|
||||
|
||||
BSD 包括一个名为 Ports 的系统,它提供了一种安装软件包的方式。Ports 系统包含了软件包的源代码,所以您的计算机如果想安装软件的话,则需要先编译他们。(如果您曾经使用过以前流行的 Gentoo,有点类似那样。)不过,软件包也可以是预安装的二进制形式,以便你不需要花时间和系统资源编译他们就能运行。
|
||||
|
||||

|
||||
|
||||
### 许可证 ###
|
||||
|
||||
许可证是典型的差异,虽然它不会对大多数人产生影响。Linux 使用 GNU 通用公共许可证,即 GPL。如果你修改了 Linux 内核,并将其分发,你就必须放出您的修改的源代码。
|
||||
|
||||
BSD 使用 BSD 许可证。如果你修改了 BSD 内核或发行版,并且发布它,你根本不需要必须发布其源代码。你可以自由地对你的 BSD 代码做任何你想做的事情,你没有义务发布的你修改的源代码,当然你想发布也行。
|
||||
|
||||
两者都是[开放源码][5]的,但是以不同的方式。人们有时会陷入关于哪种许可证是“更自由”的辩论。GPL 可以帮助用户以确保他们可以拥有 GPL 软件的源代码,并限制开发人员迫使他们开放代码。BSD 许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。
|
||||
|
||||
### BSD分支 ###
|
||||
|
||||
以下是通常认可的三个“主流” BSD 操作系统:
|
||||
|
||||
- [FreeBSD][6]: FreeBSD 是最受欢迎的 BSD,针对高性能和易用性。它支持英特尔和 AMD 的32位和64位处理器。
|
||||
- [NetBSD][7]: NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是"理所当然,我们运行在 NetBSD 上"。
|
||||
- [OpenBSD][8]:OpenBSD 为最大化的安全性设计的 —— 这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。
|
||||
|
||||
还有两个其他的重要 BSD 操作系统:
|
||||
|
||||
- [DragonFly BSD][9]: DragonFly BSD 的设计目标是提供一个运行在多线程环境中的操作系统 —— 例如,计算机集群。
|
||||
- [Darwin / Mac OS X][10]: Mac OS X 实际上基于 Darwin 操作系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层内核和其他的软件是开源代码(BSD 代码),但操作系统的大部分是闭源的 Mac OS 代码)。苹果在 BSD 基础上开发了 Mac OS X 和 iOS,这样他们就不必写操作系统底层,就像 [谷歌在 Linux 基础上开发 android 系统][11]一样。
|
||||
|
||||

|
||||
|
||||
### 你为什么会选择 BSD 而不是 Linux?###
|
||||
|
||||
Linux 显然比 FreeBSD 更受欢迎。例如,Linux 往往会比 FreeBSD 更早提供新硬件的支持。BSD 有一个兼容包可用,使之能像大多数的其他软件一样原生的执行 Linux 二进制程序。
|
||||
|
||||
如果您使用过 Linux, FreeBSD 不会让你感觉到太大的不同。如果把 FreeBSD 作为桌面操作系统,你也可以使用相同的 GNOME,KDE 或 Xfce [桌面环境][12],你也可以在BSD上使用 Linux 上的大多数的其他软件。有一点需要注意,FreeBSD 不会自动安装的图形化桌面,所以你要花相对于 Linux 更多的心思来照顾你的BSD。BSD 更守旧一些。
|
||||
|
||||
FreeBSD 的可靠性和稳定性也许更适合作为服务器的操作系统。而厂商也会选择 BSD 而不是 Linux 作为其操作系统,因为这样他们就不必放出他们修改的代码。
|
||||
|
||||
如果你是一个 PC 桌面用户,你真的不需要太过在意 BSD。你可能会喜欢 Linux,因为它具有更先进的硬件支持,更容易安装,具有现代操作系统的特点。如果你关注服务器或嵌入式的设备,你可能会更喜欢 FreeBSD。
|
||||
|
||||
我们可能会听到一些人说他们在桌面电脑上使用 FreeBSD,你当然也可能是其中之一!但像 Ubuntu 或 Mint 一样的开源操作系统对于多数用户来说更体验良好和更先进些。
|
||||
|
||||
图片来源: [atzerok on Flickr][13]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.howtogeek.com/190773/htg-explains-whats-the-difference-between-linux-and-bsd/
|
||||
|
||||
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.howtogeek.com/177213/linux-isnt-just-linux-8-pieces-of-software-that-make-up-linux-systems/
|
||||
[2]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
|
||||
[3]:http://www.howtogeek.com/182649/htg-explains-what-is-unix/
|
||||
[4]:http://www.howtogeek.com/132624/htg-explains-whats-a-linux-distro-and-how-are-they-different/
|
||||
[5]:http://www.howtogeek.com/129967/htg-explains-what-is-open-source-software-and-why-you-should-care/
|
||||
[6]:http://www.freebsd.org/
|
||||
[7]:http://www.netbsd.org/
|
||||
[8]:http://www.openbsd.org/
|
||||
[9]:http://www.dragonflybsd.org/
|
||||
[10]:http://opensource.apple.com/
|
||||
[11]:http://www.howtogeek.com/189036/android-is-based-on-linux-but-what-does-that-mean/
|
||||
[12]:http://www.howtogeek.com/163154/linux-users-have-a-choice-8-linux-desktop-environments/
|
||||
[13]:http://www.flickr.com/photos/atzerok/5378691454
|
||||
@@ -0,0 +1,87 @@
|
||||
[小白技巧]如何在Linux中阻止其它用户访问你的家目录
|
||||
================================================================================
|
||||

|
||||
|
||||
如果你和其他人共享Ubuntu机器,那么你可能要设置多个用户,希望其他用户登录到他们自己的帐号,并只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。
|
||||
|
||||
当你在Ubuntu中添加一个新用户时,adduser工具为新的帐号添加了一个新的家目录。默认情况下,该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所有其他用户可以读另外外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。
|
||||
|
||||
**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引号,除非我们另外指定。
|
||||
|
||||
你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限,输入Ctrl + Alt + T打开终端窗口,并在提示符后输入以下命令,然后按回车。使用你自己的用户名来替换下面的“用户名”。
|
||||
|
||||
ls -ld /home/lori
|
||||
|
||||
**注**:该命令仅包含小写的L,而不是数字1。(LCTT译注:这是给完全小白的提示,绝大部分人可以无视这个备注了)
|
||||
|
||||
在该行的开头,列出了该文件的权限。就像我们在[文章][1]中关于Linux权限部分讲的那样。
|
||||
|
||||
> r表示“读”,w表示“写”,而x表示“执行”。目录权限以“d”开头,而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个,后面是3个一组,分为3组。第一组是属主(owner)权限,第二组是属组(group)权限,最后一组是其它人(other或world)权限。
|
||||
|
||||
因此,下面列出的家目录的属主具有读、写和执行权限,而属组和其它人具有读和执行权限。
|
||||
|
||||

|
||||
|
||||
要修改这些权限,在提示符下输入以下行并回车
|
||||
|
||||
sudo chmod 0750 /home/lori
|
||||
|
||||
当提示你输入密码时,请输入并回车。
|
||||
|
||||
**注**:chmod命令使用八进制数作为一种指定权限的方式。我们讲Linux权限的[文章][1]中使用了一种不同的方法,它需要几个步骤,但是可能更易于理解。使用八进制数来指定权限,是一种更快的方法。不管使用什么方法,只要你用着舒服就好。要学习使用八进制数设置权限,请阅读此[文章][2]。
|
||||
|
||||

|
||||
|
||||
按上箭头两次,再次调用“ls -ld /home/用户名”命令来检查权限。注意,其它人权限现在都是破折号(-),这就意味着其它人将无法读、写或执行你家目录中的任何东西了。
|
||||
|
||||
然而,和你同组的用户可以读和执行你家目录中的文件和文件夹。如果你不想除你之外的任何人访问你的家目录,可以在chmod命令中输入“0700”。
|
||||
|
||||
**注**:要获取关于Linux中用户和组管理的更多信息,请查看我们的[文章][3]
|
||||
|
||||
要关闭终端窗口,在提示符下输入“exit”并回车。
|
||||
|
||||

|
||||
|
||||
现在,当其系统中的其他用户试着要访问你的家目录时,下面的对话框就会弹出来了。
|
||||
|
||||

|
||||
|
||||
甚至你也可以在创建新用户时让Ubuntu使用指定的权限。要完成此项任务,你需要编辑adduser配置文件。要编辑该文件,在提示符下输入以下命令并回车。
|
||||
|
||||
gksudo gedit /etc/adduser.conf
|
||||
|
||||
我们使用gedit来编辑该文件,你也可以使用你想要的其它文本编辑器。
|
||||
|
||||
注:gksudo命令看似和sudo命令一样,但是它是用来以root身份运行图形化程序的,而sudo命令用来以root身份运行命令行程序。
|
||||
|
||||

|
||||
|
||||
在弹出对话框中的密码编辑框内输入你的密码并按回车或点击确定(OK)。
|
||||
|
||||

|
||||
|
||||
在adduser.conf文件中向下滚动到DIR_MODE命令处,这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型(属主,属组,其它人)的不同权限(r,w,x),如我们先前讨论过的“0750”或“0700”。点击保存(Save)。
|
||||
|
||||

|
||||
|
||||
从gedit的文件(File)菜单选择退出(Quit)来关闭gedit,你也可以点击窗口左上角的X按钮来关闭它。
|
||||
|
||||

|
||||
|
||||
点击窗口左上角的X来关闭终端窗口。
|
||||
|
||||

|
||||
|
||||
现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也许要为你的家目录权限剔除组和大众权限。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.howtogeek.com/67987/htg-explains-how-do-linux-file-permissions-work/
|
||||
[2]:http://www.linux.org/threads/file-permissions-chmod.4094/
|
||||
[3]:http://www.howtogeek.com/howto/36845/the-beginners-guide-to-managing-users-and-groups-in-linux/
|
||||
62
published/201406/20140612 Command Line Tuesdays--Part One.md
Normal file
62
published/201406/20140612 Command Line Tuesdays--Part One.md
Normal file
@@ -0,0 +1,62 @@
|
||||
命令行星期二 —— 第一篇
|
||||
================================================================================
|
||||
极客们,我们又回来了!真抱歉让你们久等了,但我保证,我们又回归正轨了。我们满怀热情与大家相约,让我们激情燃烧,寻找刺激吧:)
|
||||
|
||||
现在,整个的想法已经在之前的开场白中告诉你们了,所以现在让我们来干点正事吧。就像肖茨先生书里讲得那样,我们需要来了解一下shell是个什么东西,终端模拟器又是个什么东西,因为我们要在这里头干活。
|
||||
|
||||
肖茨在他的书中写道,shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序,它将你敲击键盘的动作传递给计算机;它也是某种形式的翻译器,将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门,但是活得最好的要数**bash**了,它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell,这是一个精巧的双关语,因为自从Bourne先生创造了它的祖先**sh**后,Brian Fox又把它重写成为一个自由的sh替代品。啊哈!GUN人和他们的幽默,真的很精明。:)
|
||||
|
||||

|
||||
|
||||
接下来我所需要,是一个让我们能和shell交互的东西,它就是终端模拟器。每个Linux发行版都自带了一个,至于长什么样就得看你使用的桌面环境了,可能是KDE的**Konsole**,也可能是Gnome的**Gnome terminal**等等。肖茨先生说了,你可以挖掘出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。
|
||||
|
||||
现在来发动你的终端。打开后,你会见到一行字,这行字告诉你用户名和机器的主机名,它叫作shell提示符。它告诉你它准备好了,你可以输入命令了。让我们来随便玩玩,随便输入点什么东西进去,然后敲回车看看。
|
||||
|
||||
呵呵,还记开篇我们讲过,我们需要像学诗歌一样来学习命令吗?记得就好,随意乱来可干不了啥事。
|
||||
|
||||
现在,按那个上箭头,你会发现命令又回来了。这是啥魔法?你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令,所以别一次又一次地重复敲它们了,你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外注意,想用**ctrl+v**来粘贴文本是不行的。你可以在某个地方将它设置成快捷键,但是它常常不是那么回事。检查你的模拟器的快捷键!(在Konsole中,它位于设置 > 配置快捷键)
|
||||
|
||||
现在,为了我们不再被‘命令找不到’抽一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):)
|
||||
|
||||

|
||||
|
||||
你又来了。当你能打开终端并输入date命令来查看日期时,为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像肖茨书里写的那样,它确实是个简单的命令,更有用也更复杂的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。
|
||||
|
||||
你也可以试试**df**,它会列出你驱动器上的空闲空间。
|
||||
|
||||

|
||||
|
||||
或者试试**free**来显示空闲内存:
|
||||
|
||||

|
||||
|
||||
如果你已经跟上了敲击键盘的节奏,你可以输入**exit**命令来关闭终端模拟器了,而不是去点击那个x了。
|
||||
|
||||
嗯,本周我们就到此为止吧,免得有太多的要学的东西来占据你紧巴巴的日程了。下面来个小结(你可以把结论写下来,做个备份吧),在这一篇中,我们学习了:
|
||||
|
||||
- 什么是shell
|
||||
- 我们需要用什么来和shell交流(终端模拟器)
|
||||
- 使用光标按钮来驾驭终端命令以及退出终端
|
||||
|
||||
四个简单的命令:
|
||||
|
||||
- **date** – 显示当前日期
|
||||
- **cal** – 显示当前月份的日历
|
||||
- **df** – shows the amount of free space on your hard drives
|
||||
- **free** – amount of free memory
|
||||
|
||||
### 下周二我们将会做什么呢? ###
|
||||
|
||||
我们会学习在文件系统中导航(bin、etc等等这所有的文件夹都是些什么东西?它们用来干什么?怎样通过终端来浏览它们)。到那时……
|
||||
|
||||
### 你就有得乐了! ###
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,25 @@
|
||||
Ubuntu 14.04中Dpkg的漏洞已被修复
|
||||
================================================================================
|
||||

|
||||
|
||||
**Canonical宣布存在于Ubuntu 14.04 LTS,Ubuntu 13.10,Ubuntu 12.10,Ubuntu 12.04 LTS以及Ubuntu 10.04 LTS操作系统中的dpkg漏洞已经被修复。**
|
||||
|
||||
Canonical公司刚刚放出dpkg包的一个更新,修复了这个用于所有Ubuntu版本的重要软件中的一个问题。
|
||||
|
||||
“我们发现这个问题出现在dpkg在解压源码包的时候,它会使dpkg不能正确地处理某些补丁。如果一位用户或一个自动化系统被欺骗而解压了特别修改过的源码包,远程攻击者就能修改目标解压路径之外的文件,导致拒绝服务攻击或潜在的获取系统权限的风险。”安全通知中这样写道。
|
||||
|
||||
想了解这个问题的更多细节描述,你可以查看Canonical的[安全通知][1]。Canonical建议用户尽快升级自己的系统。
|
||||
|
||||
如果你将各个发行版系统的libdpkg-perl包升级到最新版本即可修复这个漏洞。要安装这个更新,你只需运行更新管理器/软件更新器即可。
|
||||
|
||||
一般来说,一个普通的系统更新就可以完成所有必需的改动,用户不必重启PC或笔记本来应用这个补丁。这个更新同样可以在终端中实现,只需使用 apt-get dist-upgrade 命令。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Dpkg-Vulnerabilities-Closed-in-Ubuntu-14-04-446282.shtml
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ubuntu.com/usn/usn-2242-1/
|
||||
@@ -0,0 +1,45 @@
|
||||
Numix图标主题张冠李戴,Fedora 20劲爆酷爽
|
||||
================================================================================
|
||||
[Numix主题][1]现在已经风行了有一段时间了,我想我们大多数人都知道它。在上一篇稿子中,我们已经讨论了[在Manjaro Linux上安装Numix主题和其它社区分支][2]。
|
||||
|
||||
今天,我们打算在Fedora 20上搞点相同的花样出来。
|
||||
|
||||
我们首先需要安装**fedy**,这个东西将帮助我们一起来干这事。如果你现在还没在你的Fedora系统上安上Fedy,那么[追随我们前一教程的脚步来安装它][3]。
|
||||
|
||||
### 安装Numix主题 ###
|
||||
|
||||
打开终端,把下面的命令跑一遍吧(确定你已经安装了fedy了吧)。
|
||||
|
||||
sudo fedy -e numix_themes
|
||||
|
||||

|
||||
|
||||
### 安装Gnome优化工具 ###
|
||||
|
||||
sudo yum install gnome-tweak-tool
|
||||
|
||||
启动Gnome优化工具:
|
||||
|
||||

|
||||
|
||||
现在修改外观设置下的所有设置,把他们全都指向Numix吧,就像下面的图表中那样。
|
||||
|
||||

|
||||
|
||||
你已经搞定了!
|
||||
|
||||

|
||||
|
||||
尽情爽吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/install-numix-icon-theme-fedora-20/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://numixproject.org/
|
||||
[2]:http://www.unixmen.com/install-numix-icon-theme-manjaro-linux/
|
||||
[3]:http://www.unixmen.com/tweak-fedora-system-using-fedy/
|
||||
@@ -0,0 +1,39 @@
|
||||
运行Unity 8的Ubuntu镜像已可下载测试
|
||||
================================================================================
|
||||

|
||||
|
||||
*运行在平板上的Unity 8 *
|
||||
|
||||
**出乎意料,默认使用Unity 8和Mir的Ubuntu 14.10 桌面版,[现已可下载了][1]**
|
||||
|
||||
根据[上个月的讨论][2]Ubuntu 14.10镜像计划提供单独的Unity 8桌面。 提供此镜像目的是给开发者和测试人员提供一个了解从传统界面到使用两种新技术的界面的变化的手段。
|
||||
|
||||
此镜像并不用于普通用户测试。这个版本会并将会是极不稳定而充满bug的,在十月之前还会不断有变动。所有想要一个完美的、可用的或统一的的桌面的人都会失望,因为这个Unity 8桌面版镜像现在用的是平板的UI。
|
||||
|
||||
### 工作进行中 ###
|
||||
|
||||
为Mir和Unity 8建立完备的窗口管理特性的工作正在进行中。同样的,在桌面显卡完全兼容Mir之前,硬件支持和用户体验之间还相距甚远,而且还不支持虚拟机。
|
||||
|
||||
桌面Unity 8界面将开始融合平板UI,用户会提出界面与原来相差太大的问题,对此详见Ubuntu的创始人Mark Shuttleworth最近的视频的问答模块。
|
||||
|
||||
这是个好消息,微软在桌面Windows8上强加了平板界面和为触摸屏设计的UI。结果被骂的不轻,不得不总是进行"改进"——在你吐槽后才让步,来对付投诉。
|
||||
|
||||
### 下载Unity 8桌面版本 ###
|
||||
|
||||
按计划标准的Ubuntu 14.10预定在10月23日发行稳定版,其继续基于 X.Org,Compiz和Unity 7。而运行在Mir的Unity8则预计在2016年4月的下一个 LTS之前成为新的的默认桌面。
|
||||
|
||||
此版本还不具有可用性,下方链接的镜像只是为了协助开发人员测试和完善,并不能让你穿越体验到未来的Ubuntu。
|
||||
|
||||
- [下载下一代Ubuntu14.10 (.iso)][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via:http://www.omgubuntu.co.uk/2014/06/unity-8-daily-build-images-go-live
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity8-desktop-iso
|
||||
[2]:http://www.omgubuntu.co.uk/2014/05/ubuntu-unity-8-desktop-flavour-discussed
|
||||
[3]:http://cdimage.ubuntu.com/ubuntu-desktop-next/daily-live/current/
|
||||
@@ -0,0 +1,29 @@
|
||||
手机版Ubuntu在第10,000台设备上被激活
|
||||
================================================================================
|
||||

|
||||
|
||||
**Canonical公司日前宣布手机版Ubuntu操作系统在第10,000台设备上被激活,这是一个重要的里程碑。**
|
||||
|
||||
手机版Ubuntu项目于2013年初公布,开发团队之后就一直在上面工作。他们花了一些时间才拿出一个可用的版本,之后在这个基础上不断地改善。
|
||||
|
||||
这个10,000台里程碑之所以重要,是因为公司本身并没有销售任何装载这款操作系统的设备。到目前为止,只有Nexus用户(手机或平板)才可以安装它。这对于一个只提供下载的操作系统来说意义重大。
|
||||
|
||||
“Ubuntu手机/平板用户需要在他们的设备上登录Ubuntu One账号,才可以下载或更新应用。这就让我们可以为用户提供许多从Android或iOS借鉴过来的功能,例如在新手机上或是手机重置之后自动重新安装所有应用,或是浏览商城网站(很快发布)时可以选择直接安装应用到设备上。”
|
||||
|
||||
“这个功能的另外一个效果是,它可以让我们知道有多少唯一的Ubuntu One账号登陆过商城来下载应用,而这个数字在本周突破了10,000的记录。”科能公司的Michal Hall[说][1]。
|
||||
|
||||
目前,用户不需要在Nexus设备上删除Android,因为可以支持双启动,而且还有好几种方式。而预装Ubuntu系统的设备将在今年晚些时候出货,希望赶在假日旺季之前,社区成员已经有非常高的热情了。
|
||||
|
||||
Canonical公司还建立了一套Ubuntu SDK来帮助开发者为这个新操作系统开发应用,而且已经有很多从其他平台移植的原生应用了。它们还没做好,但是离正式发布还有几个月,还有大量时间来准备足够数量的原生应用,不仅仅是替代的网页应用。
|
||||
|
||||
如果你有Nexus 4手机或是Nexus 7平板,你现在就可以在上面安装Ubuntu。细节上仍然还有些粗糙,但是你会发现你已经熟悉的设备会变得大不一样,请多花点时间,然后你会喜欢它的。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Ubuntu-for-Phones-Activated-on-10-000-Devices-446824.shtml
|
||||
|
||||
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://developer.ubuntu.com/2014/06/10000-users-of-ubuntu-phone/
|
||||
82
published/201406/20140617 14 Apps To Boost Ubuntu.md
Normal file
82
published/201406/20140617 14 Apps To Boost Ubuntu.md
Normal file
@@ -0,0 +1,82 @@
|
||||
14个可以提升Linux桌面体验的应用程序
|
||||
==============================
|
||||
|
||||
转战到Ubuntu,或者是别的流行的Linux发行版,不仅仅是操作系统的操作方式的改变,更多的是你还需要一些能支持你完成工作的好的应用。
|
||||
|
||||
在这篇文章中,我将分享一些我精选出来不可或缺的应用程序,并谈谈在我的日常工作中如何有效地使用它们。
|
||||
|
||||
### 日常使用的应用程序 ###
|
||||
|
||||
一般当说到Linux桌面上的应用,我总是将这些应用划分为两大类,频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。
|
||||
|
||||
1) **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。
|
||||
|
||||
除了访问书签和网页,我还依靠火狐浏览器来处理我的各种部署在局域网服务器上的工作,如 [Plex][2], [Zoneminder][3], 路由器/WEB应用防火墙, 及我的文件服务器。所有这些均可以使用火狐浏览器进行访问。
|
||||
|
||||
2) **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作,至少对我来说,你无法找到在GNOME 下的[Parcelite][4]有什么不足。使用简单,易于访问而且它提供了很多的有用的选项。Parcelite选项应有尽有,包括了从热键设置到空格处理方式。尽管已经有很多的剪贴板管理器,但它们却很难击败 Parcelite。
|
||||
|
||||
3) **Bittorrent Sync** — 我已经使用过了各种开源替代方案进行文件同步,但是他们在正式发布之前还需要进行进一步开发。应该说[Bittorrent Synchas][5]从来没有让我失望过。它运行和安装都很简单和方便,这多亏了新的GUI的实现,而且 Bittorrent Sync 允许我快速地从一台机器到另外一台机器传输巨大的视频文件,而无需浪费时间去将大量的文件同步到“云端”。
|
||||
|
||||
我还发现它是与别人分享大型文件的最佳方法,在分享的同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品,我仍然坚定地成为了Bittorrent Sync的骨灰粉丝。
|
||||
|
||||
4) **System Monitor** — 因为TOP实在是滚动地太快了,所以我个人更喜欢一个具有选项卡式的 GUI,因为它能够让我的眼睛更轻松些。使用 GNOME 的系统监视器,我可以很快地发现一个失控的进程,并且轻松地kill掉它而不需吹灰之力。与[TOP][7]这样的终端程序不同的是,我可以实时的以图形化的方式去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有正常视觉的人,很难找到一个比用条形图来展示我还拥有多少的空间的更好方式。当然这也同样适用于其它的实时资源使用情况的监视。
|
||||
|
||||
5) **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,然后却可能会从火狐浏览器音频完全切换到到另一个设备。因为我想控制我的尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。
|
||||
|
||||
### 一些别的软件 ###
|
||||
|
||||
在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。
|
||||
|
||||
|
||||
6) **Skype** — 无论是拨入[Jupiter Broadcasting][9] 收听每周共同主持的播客,或者只是简单联系一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后,我总是会发现自己还是终回到了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12],而在最后Skype总是与大家同在 —— 切换到Skype是一件很幸运的事。
|
||||
|
||||
7)**Kdenlive** — 我使用两个不同的视频编辑器,当我要处理一个需要大量编辑的视频剪辑项目的时候,[Kdenlive][13]是我用于图片合成和编辑大型的复杂的视频的工具。我已经成功地在 Kdenlive 里边做过6个素材轨道的编辑,但同样的负载量早已经让别的视频剪辑软件崩溃了。
|
||||
|
||||
8)**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区让你可以流畅而操作简单。我还发现它提供了很棒的无与伦比的特效。调制标题效果和超赞的的视频转场效果使OpenShot在我自己的视频项目上成为一款超棒的视频制作软件。
|
||||
|
||||
9)**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱。易于安装和使用,我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次设置,不再操心,之后SpiderOak将会挑起你的文件搬运大任。
|
||||
|
||||
10) **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。
|
||||
|
||||
11) **Writer** — 自从我第一次在Windows的OpenOffice里面使用过它之后,我一直都在使用[Writer][17]。今天,我使用LibreOffice 所带的Writer来满足我的需求,它可以做一切一个文字处理器可以做的事情。现在,公正地说,一些专有的办公套件可能会提供附加功能在Writer中是没有的,但是99%的人需要的功能在Writer这里都有。就我个人而言,我会永远是一个LibreOffice Writer粉。
|
||||
|
||||
12)**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序的视频。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些只是偶尔需要,懒得使用其它屏幕捕捉软件的同学们。
|
||||
|
||||
13)**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的SANE扫描数据库,Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然你还可以很方便手动调整任何你需要的设置。
|
||||
|
||||
14)**Baobab**(磁盘使用分析器) — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。
|
||||
|
||||
### 真正的具有生产力的软件 ###
|
||||
|
||||
谈到我所依赖的这些软件,我们真正关心的是他们能为我们完成什么样的任务,而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。多数的计算机上的工作,除了有限的几个例外,大都可以在linux桌面上轻松地如我所说的那样完成。
|
||||
|
||||
很明显有一些对于你来说是必不可少的软件,但是也许不是我必须用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。
|
||||
|
||||
------
|
||||
|
||||
via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html
|
||||
|
||||
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.mozilla.org/en-US/firefox/new/
|
||||
[2]:https://plex.tv/
|
||||
[3]:http://www.zoneminder.com/
|
||||
[4]:http://parcellite.sourceforge.net/
|
||||
[5]:http://www.bittorrent.com/sync
|
||||
[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/
|
||||
[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm
|
||||
[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/
|
||||
[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting
|
||||
[10]:http://www.skype.com/en/download-skype/skype-for-linux/
|
||||
[11]:http://ekiga.org/
|
||||
[12]:https://jitsi.org/
|
||||
[13]:http://www.kdenlive.org/
|
||||
[14]:http://www.openshot.org/
|
||||
[15]:https://spideroak.com/
|
||||
[16]:https://www.dropbox.com/
|
||||
[17]:http://www.libreoffice.org/discover/writer/
|
||||
[18]:http://www.maartenbaert.be/simplescreenrecorder/
|
||||
[19]:https://launchpad.net/simple-scan
|
||||
[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html
|
||||
@@ -0,0 +1,31 @@
|
||||
用笔记本模式工具1.65来延长电池续航能力
|
||||
================================================================================
|
||||
|
||||

|
||||
|
||||
笔记本模式工具是一个Liunx电源管理工具包,它可以让用户以多种方式延长笔记本电池续航能力,现在它已经升级到1.65。
|
||||
|
||||
笔记本模式工具的发布的版本曾经很少而且间隔很长,但开发者在最新的版本中做了一些很有意思的改变,虽然此次更新与以前不同。
|
||||
|
||||
根据更新日志,grep找不到$device/uevent的错误已得到修复、 sysfs/enabled已被"ip link down"所取代、 添加了对iwlwifi的支持,运行时电源管理框架现在更健壮,并且usb-autosuspend模块已被去除。
|
||||
|
||||
此外,当笔记本电脑恢复时,笔记本模式工具将强制以初始化模式运行,最新版本已添加英特尔 PState 驱动程序的模块,并已实现挂起/休眠接口。
|
||||
|
||||
用户不须更改自动设置。更改自动设置可能会导致更多的问题,但通常看来他们总是会去动它。此外,要注意到每个功能究竟是做什么的,否则你可能会搞出更多问题。
|
||||
|
||||
看官方[公告][1]来了解更多细节。
|
||||
|
||||
现在就下载用笔记本模式工具1.65:
|
||||
|
||||
- [http://samwel.tk/laptop_mode/packages][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Improve-Battery-Life-with-Laptop-Mode-Tools-1-65-447397.shtml
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://launchpad.net/laptop-mode-tools/+announcement/12779
|
||||
[2]:http://samwel.tk/laptop_mode/packages
|
||||
@@ -0,0 +1,31 @@
|
||||
红帽携手eNovance,共进OpenStack市场
|
||||
================================================================================
|
||||
|
||||

|
||||
|
||||
正在OpenStack峰会于亚特兰大举办的同时,红帽确认了数项与OpenStack相关的项目。其中一项是,红帽正与开源云计算市场的领导者eNovance进行[合作][1] 。双方将推动网络功能虚拟化(Network Functions Virtualization)及将电信功能融入OpenStack中。红帽[宣布][2]将以七千万欧元或九千五百万美金的现金和股票投资eNovance。
|
||||
|
||||
eNovance 是OpenStack市场上重要的角色, 特别以其和电信公司的合作而为人所知。eNovance帮助服务提供商和大型私企搭建部署云基础架构,快速且成本低廉。这也将为红帽开创新的产品线。
|
||||
|
||||
IDC 分析员 Laura DuBois 和 Ashish Nadkarni 在2014春季OpenStack 峰会上指出 “像eNovance这样的集成商将继续助力云服务提供商和企业,建立OpenStack云。OpenStack的前景开起来十分光明。"
|
||||
|
||||
eNovance 是OpenStack十大上游贡献者之一, 也是OpenStack 基金唯一的欧洲金牌合作商。 该公司在全球有超过150家客户,包括 Alcatel-Lucent、 AXA,、 Cisco、 Cloudwatt 和 Ericsson. 在巴黎、蒙特利尔、班加罗尔、印度,都设有办公室。
|
||||
|
||||
2013年,红帽和 eNovance 第一次展开[合作][3] ,为其共同客户提供OpenStack 部署和集成服务。该服务基于Red Hat Enterprise Linux OpenStack 平台。 今年五月的OpenStack峰会上, 两家公司宣布了[进一步的合作][4] ,推动网络功能虚拟(NFV) 和电信在OpenStack上的创新,意在提供业界最完整、电信级的 通讯服务,基于Linux、内核级虚拟机 (KVM)和 OpenStack。
|
||||
|
||||
eNovance的联合创始人、首席执行官Raphaël Ferreira, 在声明中说:
|
||||
|
||||
> “和红帽一样,eNovance也认为部署和集成OpenStack已成趋势,这是企业市场上的变革力量。 我们非常高兴能成为红帽的一部分。红帽不仅仅提供一流的OpenStack发行版本,也和我们一样坚信: 最好以连续、无缝的方式部署、集成OpenStack。”
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/red-hat-to-acquire-enovance-focus-together-on-openstack
|
||||
|
||||
译者:[tengpeng](https://github.com/tengpeng) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.redhat.com/about/news/press-archive/2014/5/red-hat-and-enovance-to-deliver-carrier-grade-openstack
|
||||
[2]:http://www.marketwatch.com/story/red-hat-to-acquire-enovance-a-leader-in-openstack-integration-services-2014-06-18
|
||||
[3]:http://cts.businesswire.com/ct/CT?id=smartlink&url=http%3A%2F%2Fwww.redhat.com%2Fabout%2Fnews%2Fpress-archive%2F2013%2F11%2Fred-hat-and-enovance-partner-to-accelerate-adoption-of-red-hat-enterprise-linux-openstack-platform&esheet=50888828&newsitemid=20140618005543&lan=en-US&anchor=first+partnered+in+2013&index=1&md5=1721061ca22652d2a4413085db70361b
|
||||
[4]:http://cts.businesswire.com/ct/CT?id=smartlink&ppppppppt-pt-lopppppppppptpt-lpt-pt-locapt-pt-ptptppptppppt-ptptptppp
|
||||
34
published/201406/20140620 Celebrating 30 Years of X.md
Normal file
34
published/201406/20140620 Celebrating 30 Years of X.md
Normal file
@@ -0,0 +1,34 @@
|
||||
X 窗口系统已经30岁了!
|
||||
================================================================================
|
||||
X.org基金会很自豪地宣布一个特别的日子:30年前,1984年六月19日,Bob Scheifler发布了X窗口系统。
|
||||
|
||||
有关X窗口系统的介绍参见: [https://en.wikipedia.org/wiki/X11#Introduction][1]
|
||||
|
||||
在这30年中,X作为UNIX桌面无处不在。在今天,数以百万计的用户使用着桌面环境如GNOME,KDE,Xfce,Unity,Enlightenment等等,而这些都使用X作为其底层技术。
|
||||
|
||||
X的开发者们做出了巨大的突破,把X从原本为VAX VS100 CPU编写的一个程序发展成为在今天可在笔记本电脑上进行3D渲染的图形用户界面。事实上,X的出现早于图形处理单元(GPU)概念的出现,甚至是比推广这项技术公司——于1999上市的Nvidia更早。
|
||||
|
||||

|
||||
|
||||
尽管X已经服务了很长时间,但是X仍将做出改进并继续陪伴我们。
|
||||
|
||||
请不要感到惊奇, X的出现早于:
|
||||
|
||||
- Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Microsoft Windows
|
||||
- POSIX, C89, C99, C++, Java
|
||||
- 互联网
|
||||
- GPL 和 FSF
|
||||
|
||||
X是第一个主要的开源软件项目,比Free Software 和 Open Source Software更早。和我们一起庆祝吧,因为没有X,桌面就不会是今天这个样子。
|
||||
|
||||
- X.Org 品牌总监
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://comments.gmane.org/gmane.comp.freedesktop.xorg.announce/2177
|
||||
|
||||
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://en.wikipedia.org/wiki/X11#Introduction
|
||||
@@ -0,0 +1,69 @@
|
||||
使用DNSCrypt来加密您与OpenDNS之间的通信
|
||||
================================================================================
|
||||
**正如SSL能将HTTP通信变为加密过的HTTPS通信,DNSCrypt, 物如其名, 是一款能加密您电脑与OpenDNS之间的通信的小神器。**
|
||||
|
||||
DNSCrypt刚问世的时候,官方公布它只是一款Mac才能用的工具,但根据最近一篇由OpenDNS发的[文章][1]表明,虽然还没有用户界面,但其实当Mac版DNSCrypt推出的时候源码已经放到了Github上了, Linux的用户也可以安装以及使用哦!
|
||||
|
||||
### 为神马要使用 DNSCrypt? ###
|
||||
|
||||
**DNSCrypt可以加密您电脑与OpenDNS服务器的所有通信,加密可以防止中间人攻击,信息窥觑,DNS劫持。更能防止网络供应商对某些网站的封锁。**
|
||||
|
||||
这是世界上第一款加密DNS通信的工具,虽然TOR可以加密DNS的请求,但毕竟它们只是在出口节点加密而已。
|
||||
|
||||
> 这款工具并不需要对域名或其工作方式做任何的改变,它只是提供了个该工具的用户与机房里的DNS服务器之间的加密方式而已。
|
||||
|
||||
您可以在[GitHub][3]的[OpenSND DNSCrypt][2]页面阅读更多的相关信息。
|
||||
|
||||
### 如何在Linux使用DNSCrypt ###
|
||||
|
||||
首先下载安装[Download DNSCrypt][4], 然后在Terminal里输入这个命令:
|
||||
|
||||
sudo /usr/sbin/dnscrypt-proxy --daemonize
|
||||
|
||||

|
||||
|
||||
然后把您的DNS服务器调成"127.0.0.1" - 在GNOME界面下的话,只要到Network Connections(网络连接)选项然后选择"Edit"并在"DNS servers"输入"127.0.0.1"就好了。如果您用的是DHCP的话,请选择Automatic (DHCP) addresses only", 这样的话才能输入DNS服务器。然后只要重连网络便可。
|
||||
|
||||
您可以访问这条[链接][5]来测试您连接到了OpenDNS了没。
|
||||
|
||||
如果您想设置开机启动DNSCrypt,可以自建一个init的脚本,如果您用的是Ubuntu,可以参考下面的。
|
||||
|
||||
**Arch Linux的用户可以通过[AUR][6]来安装DNSCrypt-proxy** (内含rc.d脚本)
|
||||
|
||||
### Ubuntu下的DNSCrypt ###
|
||||
|
||||
如果您想在Ubuntu设置开机启动,您可以使用这个[Upstart脚本][7]。
|
||||
|
||||
注: 在Ubuntu 12.04版在127.0.0.1有个本地的DNS cache 服务器(dnsmasq)在跑,所以已经把改脚本改成让DNSCrypt使用127.0.0.2了, 所以按照上面的教程,应该把127.0.0.1换成127.0.0.2了。
|
||||
|
||||
要安装此脚本请使用以下的指令(要首先解压下下来的压缩文件):
|
||||
|
||||
sudo cp dnscrypt.conf /etc/init/
|
||||
sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt
|
||||
|
||||
然后用这个指令来启动:
|
||||
|
||||
sudo start dnscrypt
|
||||
|
||||
现在DNSCrypt就应该是开机自启了,如果您想停止的话,可以使用:
|
||||
|
||||
sudo stop dnscrypt
|
||||
|
||||
[下载DNSCrypt][8] (.deb、 .rpm以及源码都可供下载哦!)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.webupd8.org/2012/02/encrypt-dns-traffic-in-linux-with.html
|
||||
|
||||
译者:[213edu](https://github.com/213edu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://blog.opendns.com/2012/02/16/tales-from-the-dnscrypt-linux-rising/
|
||||
[2]:http://www.opendns.com/technology/dnscrypt/
|
||||
[3]:https://github.com/opendns/dnscrypt-proxy
|
||||
[4]:http://download.dnscrypt.org/dnscrypt-proxy/
|
||||
[5]:http://www.opendns.com/welcome
|
||||
[6]:http://aur.archlinux.org/packages.php?ID=54702
|
||||
[7]:http://webupd8.googlecode.com/files/dnscrypt-0.2.tar.gz
|
||||
[8]:https://github.com/opendns/dnscrypt-proxy/downloads
|
||||
@@ -0,0 +1,159 @@
|
||||
如何在Debian中启用测试版/不稳定版的软件库
|
||||
================================================================================
|
||||
为何要启用测试版/不稳定版?
|
||||
|
||||
测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么?其实这些稳定版啊不稳定版啊神马的都是别名,比方说稳定版其实就是Debian的稳定发行版,而测试版将会是下一个Debian的稳定发行版(当然那是测试后的事了)。截至发稿为止,当前Debian的稳定发行版是Wheezy 7.x,将会成为下一个稳定版的测试版则是Jessie。
|
||||
|
||||
当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我因为工作需要,要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的,可是我的软件库里面只有2.2.x的。所以最好的解决方案当时是将测试版下下来啦。
|
||||
|
||||
通常来说当我们想尝试最新版本的应用时,都应该只在测试版软件库中搜索。
|
||||
|
||||
在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统并在上面安装软件。
|
||||
|
||||
> Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版)
|
||||
> Wheezy < Jessie < Sid
|
||||
|
||||
### 1. 设置测试版/不稳定版的apt源 ###
|
||||
|
||||
第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上,/etc/apt/sources.list理应长得像这样:
|
||||
|
||||
$ cat /etc/apt/sources.list
|
||||
|
||||
----------
|
||||
|
||||
...
|
||||
deb http://security.debian.org/ wheezy/updates main
|
||||
deb http://http.us.debian.org/debian/ wheezy main
|
||||
deb-src http://security.debian.org/ wheezy/updates main
|
||||
...
|
||||
|
||||
把你repo服务器的链接记下来,比如:http://http.us.debian.org/debian/
|
||||
|
||||
这个repo服务器将会是离你最近的一个服务器; 在不同的地理位置会有不同的url,这个将会用于下一步。
|
||||
|
||||
如果想加测试/不稳定源,则需要在sources.list文件加上这些东西:
|
||||
|
||||
# Testing repository - main, contrib and non-free branches
|
||||
deb http://http.us.debian.org/debian testing main non-free contrib
|
||||
deb-src http://http.us.debian.org/debian testing main non-free contrib
|
||||
|
||||
|
||||
# Testing security updates repository
|
||||
deb http://security.debian.org/ testing/updates main contrib non-free
|
||||
deb-src http://security.debian.org/ testing/updates main contrib non-free
|
||||
|
||||
|
||||
# Unstable repo main, contrib and non-free branches, no security updates here
|
||||
deb http://http.us.debian.org/debian unstable main non-free contrib
|
||||
deb-src http://http.us.debian.org/debian unstable main non-free contrib
|
||||
|
||||
格式将会是
|
||||
|
||||
deb <respository server/mirror> <repository name> <sub branches of the repo>
|
||||
(deb <上一步弄的服务器或镜像url> <repo的名字> <repo底下的分支>)
|
||||
|
||||
当然啦,除了用testing或者unstable这么烂的词,也能使用他们的发行版代号,比如Jessie或者Sid
|
||||
|
||||
deb http://http.us.debian.org/debian jessie main non-free contrib
|
||||
deb http://security.debian.org/ jessie/updates main contrib non-free
|
||||
deb http://http.us.debian.org/debian sid main non-free contrib
|
||||
|
||||
### 2. 钉住 apt!这非常重要 ###
|
||||
|
||||
> 在加了测试/不稳定的repo之后,当你更新系统的时候所有安装过并且可用的软件就会立马更新,而后你的系统就被你玩火自焚了。
|
||||
|
||||
所以需要设置一些规则,以便选定的软件包在正常的更新时不会被更新到一个不稳定的测试版本。
|
||||
|
||||
我们需要使用“钉住APT”的方式来告诉apt系统,除了我们希望使用测试版或不稳定版的特定软件包之外,其它的总是使用稳定版的软件包来更新。
|
||||
|
||||
可以通过如下两个文件之一来设置如何设置APT的优先级来“钉住”。
|
||||
|
||||
/etc/apt/preferences
|
||||
或
|
||||
/etc/apt/preferences.d/my_preferences
|
||||
|
||||
打开这两个文件之一(如果没有的话就创建一个),然后输入如下内容:
|
||||
|
||||
Package: *
|
||||
Pin: release a=stable
|
||||
Pin-Priority: 700
|
||||
|
||||
Package: *
|
||||
Pin: release a=testing
|
||||
Pin-Priority: 650
|
||||
|
||||
Package: *
|
||||
Pin: release a=unstable
|
||||
Pin-Priority: 600
|
||||
|
||||
前面我们提到过,稳定版指的是你当前的debian版本,测试版是下一个,而不稳定版则是更远的将来发行版。上面的设置中最主要的是优先级(Pin-Priority)。当前的稳定版应该有最高的优先级,这就是说,正常的apt-get操作只会从当前的稳定版的软件库(现在是wheezy)里面安装软件。
|
||||
|
||||
#### 更新包缓存 ####
|
||||
|
||||
在增加了新的软件库和指定了优先规则后,需要更新一下包缓存。
|
||||
|
||||
$ sudo apt-get update
|
||||
|
||||
#### 确认APT规则 ####
|
||||
|
||||
我们必须确认“钉住”的设置正确,优先级也没问题。使用 apt-cache 的 policy 参数来检查:
|
||||
|
||||
$ apt-cache policy apache2
|
||||
apache2:
|
||||
Installed: (none)
|
||||
Candidate: 2.2.22-13
|
||||
Version table:
|
||||
2.4.7-1 0
|
||||
600 http://http.us.debian.org/debian/ unstable/main amd64 Packages
|
||||
2.4.6-3 0
|
||||
650 http://http.us.debian.org/debian/ testing/main amd64 Packages
|
||||
2.2.22-13 0
|
||||
700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
|
||||
|
||||
如上的输出,确认在wheezy 稳定版中, 2.2.22 版本的Apache是选定的版本,它有最高的优先级。
|
||||
|
||||
### 3. 从测试版/不稳定版软件库中安装软件 ###
|
||||
|
||||
现在可以从测试版或不稳定版中选择一个特定的软件来安装它了。假如说我们要从测试版软件源中安装 apache2。
|
||||
|
||||
有两个不同的方法,并且其结果也有所不同。
|
||||
|
||||
#### 方式一 ####
|
||||
|
||||
# apt-get install apache2/testing
|
||||
|
||||
上述命令会从测试版软件库中安装 apache2,并从稳定版软件库中安装其依赖包(稳定版通过apt规则确定)。这个命令在某些情况下会失败,比如安装的软件包(apache2)所需的依赖包在稳定版软件库中没有更新到可以支持该软件时。
|
||||
|
||||
#### 方式二 ####
|
||||
|
||||
# apt-get -t testing install apache2
|
||||
|
||||
上述命令会从测试版软件库中安装apache2,并从测试版软件库中安装其依赖包。这要比上面的命令工作的更好。
|
||||
|
||||
所以,要安装较新的软件包,直接从测试版/不稳定版的软件库中安装就行了。注意,优先级号码不只是一个数字而已,还有其特定意义。可以查看 apt_preferences的man页面了解更多:
|
||||
|
||||
$ man 5 apt_preferences
|
||||
|
||||
### 总结 ###
|
||||
|
||||
使用“钉住”方式的测试版/不稳定版的软件库是一个获取较新版本软件包的一个好办法,不过其实并不推荐使用它们。如果弄错了,可能会从也许不兼容的分支上下载软件包,这会把你的系统搞乱。
|
||||
|
||||
一个更好的方式是,使用向后移植的软件库来安装更新的包。它从测试版和不稳定版的软件库中获取较新版本的软件包,但是为当前的稳定版软件库而编译。所以,对于 debian wheezy来说,你可以使用wheezy-backports 软件库。访问http://backports.debian.org/ 了解更多。
|
||||
|
||||
### 资源 ###
|
||||
|
||||
- [https://wiki.debian.org/AptPreferences][1]
|
||||
- [https://wiki.debian.org/DebianTesting][2]
|
||||
- [https://www.debian.org/security/][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/enable-testing-repo-debian/
|
||||
|
||||
译者:[213edu](https://github.com/213edu) [wxy](https://github.com/wxy) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://wiki.debian.org/AptPreferences
|
||||
[2]:http://wiki.debian.org/DebianTesting
|
||||
[3]:http://www.debian.org/security/
|
||||
@@ -0,0 +1,42 @@
|
||||
Ubuntu的Orange Box首次亮相
|
||||
================================================================================
|
||||
|
||||
> Orange Box现已推出,它是一个便携的服务器集群,Canonical用它来演示和培训基于Ubuntu的OpenStack云。
|
||||
|
||||

|
||||
|
||||
Canonical刚刚发布的Orange Box是一个便携式服务器集群,该公司用来展示[OpenStack][1],[MAAS][2],[Juju][3]和其它的基于Ubuntu Linux的云服务。
|
||||
|
||||
下面是它的介绍。
|
||||
|
||||
对于刚刚接触到它的人来说,重要的是要了解Orange Box不是什么:它不是一台Canonical用来盈利的硬件产品。到目前为止,该公司并无表示计划大规模销售这些设备。如果你真的想[买一款][4]的话,大概价格为$12,900,这个价格来自其合同制造商[TranquilPC Limited][5]。
|
||||
|
||||
从大的方面来说,Orange Box是一个说服企业在基于Ubuntu的云计算投入资金的工具。Canonical的创始人马克·沙特尔沃思[上个月宣布了][6]Ubuntu OpenStack的战略,这是该战略的一个关键组成部分,更是该公司提供的称作[Jumpstart][7]的OpenStack的培训计划的一部分。
|
||||
|
||||
作为Jumpstart的一部分,Canonical会将Orange Box借给合作伙伴,以便他们的员工可以在Ubuntu集群上练习配置OpenStack和相关软件。Canonical的工作人员也将在培训期间提供咨询。
|
||||
|
||||
不过除开培训的目的不谈,Orange Box[看起来真的很酷][8]。它装有10个[英特尔NUC][9],总计集成了160GB的RAM,1200GB的存储空间和10个酷睿i5处理器,这种设备在一个袖珍空间内提供了相当强大的计算能力。
|
||||
|
||||

|
||||
|
||||
更好的是,Orange Box通过预装软件为启动基于Ubuntu的云技术打下了良好基础。
|
||||
|
||||
不过,对于Canonical来说,真正的考验是确保企业能够从Orange Box中获益。借出它们不只是为了让合作伙伴们体验一下不错的硬件设备,而是为了通过一个真正令人信服的方式体验Ubuntu的云,以吸引IT决策者选择Ubuntu所建立的下一代云基础设施。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos
|
||||
|
||||
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://openstack.org/
|
||||
[2]:https://maas.ubuntu.com/
|
||||
[3]:http://juju.ubuntu.com/
|
||||
[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/
|
||||
[5]:http://www.tranquilpcshop.co.uk/
|
||||
[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations
|
||||
[7]:http://www.ubuntu.com/cloud/tools/jumpstart
|
||||
[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/
|
||||
[9]:http://www.intel.com/content/www/us/en/nuc/overview.html
|
||||
@@ -0,0 +1,148 @@
|
||||
findmnt 命令的八个应用实例
|
||||
================================================================================
|
||||
### 已挂载的文件系统和设备 ###
|
||||
|
||||
linux 中常用的检查已挂载的文件系统的是 mount 命令,不仅用于列出已挂载的设备,而且可以在需要的时候挂载和卸载。另外还有一个叫做 findmnt 的超赞命令,它可以用于快速查看挂载位置和选项。
|
||||
|
||||
### 安装findmnt ###
|
||||
|
||||
findmnt 命令来自 util-linux 软件包,默认安装在大多数发行版中,如 Ubuntu,Fedora,Debian
|
||||
|
||||
$ aptitude search util-linux
|
||||
i util-linux - Miscellaneous system utilities
|
||||
|
||||
$ yum info util-linux
|
||||
|
||||
### 使用findmnt ###
|
||||
|
||||
#### 1. 列出文件系统 ####
|
||||
|
||||
无任何选项运行 findmnt,只会以树形结构图的方式列出所有已挂载的文件系统。
|
||||
|
||||
$ findmnt
|
||||
|
||||

|
||||
|
||||
#### 2. 以列表形式输出 ####
|
||||
|
||||
输出可以格式化为一个简单的列表,而不是默认的树形结构,使用l(键盘u和o中间那个,不是数字1)选项使它方便阅读。
|
||||
|
||||
$ findmnt -l
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/sys sysfs sysfs rw,nosu
|
||||
/proc proc proc rw,nosu
|
||||
/dev udev devtmpf rw,rela
|
||||
/dev/pts devpts devpts rw,nosu
|
||||
/run tmpfs tmpfs rw,nosu
|
||||
/ /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763
|
||||
ext4 rw,rela
|
||||
/sys/fs/cgroup tmpfs rw,rela
|
||||
/sys/fs/fuse/connections fusectl rw,rela
|
||||
/sys/kernel/debug debugfs rw,rela
|
||||
/sys/kernel/security securit rw,rela
|
||||
/run/lock tmpfs rw,nosu
|
||||
/run/shm tmpfs rw,nosu
|
||||
/run/user tmpfs rw,nosu
|
||||
/sys/fs/pstore pstore rw,rela
|
||||
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
|
||||
/dev/sda8 ext4 rw,nosu
|
||||
/media/4668484A68483B47 /dev/sda5 fuseblk rw,nosu
|
||||
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_ rw,nosu
|
||||
/sys/fs/cgroup/systemd systemd cgroup rw,nosu
|
||||
/run/user/1000/gvfs gvfsd-fuse fuse.gv rw,nosu
|
||||
|
||||
#### 3. df格式输出 ####
|
||||
|
||||
Findmnt 可以用“-D”或“-df”选项创建一个 df 格式的输出报告空闲和已用磁盘空间。
|
||||
|
||||
$ findmnt -D
|
||||
SOURCE FSTYPE SIZE USED AVAIL USE% TARGET
|
||||
devtmpfs devtmpfs 994.2M 0 994.2M 0% /dev
|
||||
selinuxfs selinuxfs 0 0 0 - /sys/fs/selinux
|
||||
tmpfs tmpfs 1001.5M 68K 1001.4M 0% /dev/shm
|
||||
tmpfs tmpfs 1001.5M 724K 1000.8M 0% /run
|
||||
tmpfs tmpfs 1001.5M 0 1001.5M 0% /sys/fs/cgroup
|
||||
/dev/mapper/fedora-root ext4 6.5G 5.3G 811.6M 82% /
|
||||
tmpfs tmpfs 1001.5M 60K 1001.5M 0% /tmp
|
||||
/dev/sda1 ext4 476.2M 107.7M 339.6M 23% /boot
|
||||
|
||||
需要注意的是,以上选项 util-linux2.20 之前的版本都不可用,它正好是 Ubuntu13.10 上的最新版本
|
||||
|
||||
#### 4. 从fstab读取文件系统 ####
|
||||
|
||||
使用“-s”或“-fstab”选项,findmnt 将只从/etc/fstab文件和/etc/fstab.d目录读取文件系统。
|
||||
|
||||
$ findmnt -s
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/ /dev/mapper/fedora-root ext4 defaults
|
||||
/boot UUID=18cde604-1c65-4ec8-8a8d-385df50ada3b ext4 defaults
|
||||
swap /dev/mapper/fedora-swap swap defaults
|
||||
|
||||
#### 5. 通过类型过滤文件系统 ####
|
||||
|
||||
Findmnt 可以打印出只基于类型的特定的文件系统,例如 ext4,多个系统类型可以指定一个逗号分隔。
|
||||
|
||||
$ findmnt -t ext4
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/ /dev/mapper/fedora-root ext4 rw,relatime,seclabel,data=ordered
|
||||
└─/boot /dev/sda1 ext4 rw,relatime,seclabel,data=ordered
|
||||
|
||||
#### 6. 原始输出 ####
|
||||
|
||||
如果你喜欢原始风格的输出,那么使用“-r”或“--raw”选项。
|
||||
|
||||
$ findmnt --raw
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
|
||||
/proc proc proc rw,nosuid,nodev,noexec,relatime
|
||||
/dev udev devtmpfs rw,relatime,size=4069060k,nr_inodes=1017265,mode=755
|
||||
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
|
||||
/run tmpfs tmpfs rw,nosuid,noexec,relatime,size=816716k,mode=755
|
||||
/ /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763 ext4 rw,relatime,errors=remount-ro,data=ordered
|
||||
/sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755
|
||||
/sys/fs/fuse/connections fusectl rw,relatime
|
||||
/sys/kernel/debug debugfs rw,relatime
|
||||
/sys/kernel/security securityfs rw,relatime
|
||||
/run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k
|
||||
/run/shm tmpfs rw,nosuid,nodev,relatime
|
||||
/run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755
|
||||
/sys/fs/pstore pstore rw,relatime
|
||||
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda8 ext4 rw,nosuid,nodev,relatime,errors=remount-ro,data=ordered
|
||||
/media/4668484A68483B47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096
|
||||
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime
|
||||
/sys/fs/cgroup/systemd systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd
|
||||
/run/user/1000/gvfs gvfsd-fuse fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
|
||||
|
||||
看起来非常整洁(译注,亲爱的读者你也这样觉得么?)。
|
||||
|
||||
#### 7. 通过源设备查找 ####
|
||||
|
||||
通过源设备查找文件系统,指定设备路径包括/不包括“-S”选项。
|
||||
|
||||
$ findmnt -S /dev/sda1
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/boot /dev/sda1 ext4 rw,relatime,seclabel,data=ordered
|
||||
|
||||
#### 8. 通过挂载点查找 ####
|
||||
|
||||
通过挂载目录查找文件系统,指定目录包括/不包括“-T /--target”选项。
|
||||
|
||||
$ findmnt -T /
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/ /dev/mapper/fedora-root ext4 rw,relatime,seclabel,data=ordered
|
||||
|
||||
$ findmnt -T /media/4668484A68483B47
|
||||
TARGET SOURCE FSTYPE OPTIONS
|
||||
/media/4668484A68483B47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0
|
||||
|
||||
### 总结 ###
|
||||
|
||||
这是一个 findmnt 命令的简要介绍。关于 findmnt 的更多选项可以在 man 手册页中找到。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/linux-findmnt-command/
|
||||
|
||||
译者:[Vito](https://github.com/vito-L) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,157 @@
|
||||
Bash Getopts - 让你的脚本支持命令行参数
|
||||
================================================================================
|
||||
|
||||
以前我总想知道如何为我的Bash脚本创建命令行参数。经过搜索,我发现了2个函数可以处理这个问题,**getopt** 函数和 **getopts** 函数。我无意争论哪一个函数更好的。**getopts** 是一个shell内建命令,而且似乎比 **getopt** 更容易实现这个功能,所以在这篇文章里我准备讲讲getopts。
|
||||
|
||||
### bash getopts ###
|
||||
|
||||
开始的时候,我只试着处理传递给脚本的命令行参数。最后,我添加了另外一些有用的功能函数,使得这个脚本可以成为其他任何交互式脚本处理命令行的开始模板。我还添加了一个纯文本格式的帮助函数,让脚本更加容易阅读。
|
||||
|
||||
与其来一长段文字解释 **getopts** 在bash中是如何工作的,我认为不如直接来一个能工作的脚本更让人觉得轻松一些。
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
######################################################################
|
||||
#This is an example of using getopts in Bash. It also contains some
|
||||
#other bits of code I find useful.
|
||||
#Author: Linerd
|
||||
#Website: http://tuxtweaks.com/
|
||||
#Copyright 2014
|
||||
#License: Creative Commons Attribution-ShareAlike 4.0
|
||||
#http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
######################################################################
|
||||
|
||||
#Set Script Name variable
|
||||
SCRIPT=`basename ${BASH_SOURCE[0]}`
|
||||
|
||||
#Initialize variables to default values.
|
||||
OPT_A=A
|
||||
OPT_B=B
|
||||
OPT_C=C
|
||||
OPT_D=D
|
||||
|
||||
#Set fonts for Help.[译注: 这里tput用来更改终端文本属性,比如加粗,高亮等]
|
||||
NORM=`tput sgr0`
|
||||
BOLD=`tput bold`
|
||||
REV=`tput smso`
|
||||
|
||||
#Help function
|
||||
function HELP {
|
||||
echo -e \\n"Help documentation for ${BOLD}${SCRIPT}.${NORM}"\\n
|
||||
echo -e "${REV}Basic usage:${NORM} ${BOLD}$SCRIPT file.ext${NORM}"\\n
|
||||
echo "Command line switches are optional. The following switches are recognized."
|
||||
echo "${REV}-a${NORM} --Sets the value for option ${BOLD}a${NORM}. Default is ${BOLD}A${NORM}."
|
||||
echo "${REV}-b${NORM} --Sets the value for option ${BOLD}b${NORM}. Default is ${BOLD}B${NORM}."
|
||||
echo "${REV}-c${NORM} --Sets the value for option ${BOLD}c${NORM}. Default is ${BOLD}C${NORM}."
|
||||
echo "${REV}-d${NORM} --Sets the value for option ${BOLD}d${NORM}. Default is ${BOLD}D${NORM}."
|
||||
echo -e "${REV}-h${NORM} --Displays this help message. No further functions are performed."\\n
|
||||
echo -e "Example: ${BOLD}$SCRIPT -a foo -b man -c chu -d bar file.ext${NORM}"\\n
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Check the number of arguments. If none are passed, print help and exit.
|
||||
NUMARGS=$#
|
||||
echo -e \\n"Number of arguments: $NUMARGS"
|
||||
if [ $NUMARGS -eq 0 ]; then
|
||||
HELP
|
||||
fi
|
||||
|
||||
### Start getopts code ###
|
||||
|
||||
#Parse command line flags
|
||||
#如果选项需要后跟参数,在选项后面加":"
|
||||
#注意"-h"选项后面没有":",因为他不需要参数。选项字符串最开始的":"是用来去掉来自getopts本身的报错的,同时获取不能识别的选项。(译注:如果选项字符串不以":"开头,发生错误(非法的选项或者缺少参数)时,getopts会向错误输出打印错误信息;如果以":"开头,则不会打印[在man中叫slient error reporting],同时将出错的选项赋给OPTARG变量)
|
||||
|
||||
while getopts :a:b:c:d:h FLAG; do
|
||||
case $FLAG in
|
||||
a) #set option "a"
|
||||
OPT_A=$OPTARG
|
||||
echo "-a used: $OPTARG"
|
||||
echo "OPT_A = $OPT_A"
|
||||
;;
|
||||
b) #set option "b"
|
||||
OPT_B=$OPTARG
|
||||
echo "-b used: $OPTARG"
|
||||
echo "OPT_B = $OPT_B"
|
||||
;;
|
||||
c) #set option "c"
|
||||
OPT_C=$OPTARG
|
||||
echo "-c used: $OPTARG"
|
||||
echo "OPT_C = $OPT_C"
|
||||
;;
|
||||
d) #set option "d"
|
||||
OPT_D=$OPTARG
|
||||
echo "-d used: $OPTARG"
|
||||
echo "OPT_D = $OPT_D"
|
||||
;;
|
||||
h) #show help
|
||||
HELP
|
||||
;;
|
||||
\?) #unrecognized option - show help
|
||||
echo -e \\n"Option -${BOLD}$OPTARG${NORM} not allowed."
|
||||
HELP
|
||||
#在这里如果你不想打印完整的帮助信息,只想显示简单的错误信息,去掉上面的两行,同时使用下面的两行。
|
||||
#echo -e "Use ${BOLD}$SCRIPT -h${NORM} to see the help documentation."\\n
|
||||
#exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $((OPTIND-1)) #This tells getopts to move on to the next argument.
|
||||
|
||||
### End getopts code ###
|
||||
|
||||
|
||||
### Main loop to process files ###
|
||||
|
||||
#这里你可以用你的脚本处理逻辑来替代。这个例子只是在终端中打印文件的文件名和后缀名。你可以把任意其他的文件处理任务放到这个while-do循环中。
|
||||
|
||||
while [ $# -ne 0 ]; do
|
||||
FILE=$1
|
||||
TEMPFILE=`basename $FILE`
|
||||
#TEMPFILE="${FILE##*/}" #另外一种获取不带后缀的文件名的方法。
|
||||
FILE_BASE=`echo "${TEMPFILE%.*}"` #file without extension
|
||||
FILE_EXT="${TEMPFILE##*.}" #file extension
|
||||
|
||||
|
||||
echo -e \\n"Input file is: $FILE"
|
||||
echo "File withouth extension is: $FILE_BASE"
|
||||
echo -e "File extension is: $FILE_EXT"\\n
|
||||
shift #Move on to next input file.
|
||||
done
|
||||
|
||||
### End main loop ###
|
||||
|
||||
exit 0
|
||||
|
||||
将上面的代码复制到你的文本编辑器里,然后保存到你的可执行路径下。我将这个脚本命名为 **options** 并保存到 **/home/linerd/bin** 路径下。保存之后记得给你的脚本添加可执行权限。
|
||||
|
||||
chmod +x ~/bin/options
|
||||
|
||||
现在脚本已经可以运行了。试试用 **-h** 参数来打印帮助信息吧。
|
||||
|
||||
options -h
|
||||
|
||||
遇到不支持的选项,脚本同样可以给出提示,并打印帮助信息。
|
||||
|
||||
options -z
|
||||
|
||||
最后,getopts可以以任意的顺序处理你给的命令行参数。唯一的限制是你要处理的文件必须放在所有参数的最后。
|
||||
|
||||
options -d bar -c chu -b man -a foo example1.txt example2.txt
|
||||
|
||||
现在你可以从这些例子里看到如何通过命令行参数给脚本里的变量赋值。这个脚本里除了getopts还有很多其他的东西,但是我认为这些就足以成为一个新脚本的开头模板了。如果你有兴趣更深入地学习bash的getopts,你可以找找深埋在man page的“Builtins”这一节里的文档,也可以从 [Bash Reference Manual][1] 找到信息。
|
||||
|
||||
### 接下来呢? ###
|
||||
|
||||
你会用getops来干什么呢?在评论里告诉我吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://tuxtweaks.com/2014/05/bash-getopts/
|
||||
|
||||
译者: CNprober \<travelwithheart@yeah.net, QQ619913541\> 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://tuxtweaks.com/2014/05/bash-getopts/www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html
|
||||
@@ -0,0 +1,348 @@
|
||||
Collectl: Linux 性能监控的全能冠军
|
||||
================================================================================
|
||||
|
||||
对于一个 Linux 系统管理员来说确保自己管理的系统处于一个良好的状态是其首要责任。Linux 系统管理员可以找到有很多工具来帮助自己监控和显示系统中的进程,例如 top 和 htop ,但是这些工具都不能与 **collectl** 相媲美。
|
||||
|
||||

|
||||
|
||||
|
||||
**collectl**是一款非常优秀并且有着丰富的命令行功能的实用程序,你可以用它来采集描述当前系统状态的性能数据。不同于大多数其它的系统监控工具,collectl 并非仅局限于有限的系统度量,相反,它可以收集许多不同类型系统资源的相关信息,如 cpu 、disk、memory 、network 、sockets 、 tcp 、inodes 、infiniband 、 lustre 、memory、nfs、processes、quadrics、slabs和buddyinfo等。
|
||||
|
||||
使用 **collectl** 的另一个好处就是它可以替代那些特定用途的工具如: top、ps、iotop 等等其它工具。那么 **collectl** 有什么特性而使其成为一个有用的工具呢?
|
||||
|
||||
经过许多研究后,我总结了 collectl 的命令行功能的一些非常重要的特性。
|
||||
|
||||
### Collectl 特性 ###
|
||||
|
||||
- 可以交互式地运行或作为一个守护进程,或同时二者兼备地运行。
|
||||
|
||||
- 可以以多种格式显示输出。
|
||||
|
||||
- 可以监控几乎所有的子系统。
|
||||
|
||||
- 可以替代许多工具如 ps、top、iotop、vmstat。
|
||||
|
||||
- 可以记录并回放捕获的数据。
|
||||
|
||||
- 可以将数据导出成多种数据格式。(这在你想用外部工具分析数据时非常有用)
|
||||
|
||||
- 可以作为一个服务来监控远程机或者整个服务器集群。
|
||||
|
||||
- 可以在终端显示数据,写入数据到文件或者一个套接字。
|
||||
|
||||
### 如何在Linux上安装collectl###
|
||||
|
||||
**collectl**可以在所有的 Linux 发行版上运行,唯一需要的就是 perl 语言,所以在安装 **collectl** 之前,一定要确保你的电脑上已经安装了**Perl**。
|
||||
|
||||
#### 对于Debian/Ubuntu/Linux Mint ####
|
||||
|
||||
下面的命令可以用来在以 Debian 为基础的设备如 Ubuntu 上安装 collectl。
|
||||
|
||||
$ sudo apt-get install collectl
|
||||
|
||||
#### 对于RHEL/CentOS/Fedora ####
|
||||
|
||||
如果你正在使用基于红帽的发行版,你可以用 yum 命令轻松获取它。
|
||||
|
||||
# yum install collectl
|
||||
|
||||
### 一些关于collectl的实例 ###
|
||||
|
||||
collectl 工具安装完成之后,你可以轻松地在终端运行它,你甚至不需要指定任何选项。下面的命令将会以简短易读的格式显示cpu、硬盘和网络信息。
|
||||
|
||||
# collectl
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut
|
||||
13 5 790 1322 0 0 92 7 4 13 0 5
|
||||
10 2 719 1186 0 0 0 0 3 9 0 4
|
||||
12 0 753 1188 0 0 52 3 2 5 0 6
|
||||
13 2 733 1063 0 0 0 0 1 1 0 1
|
||||
25 2 834 1375 0 0 0 0 1 1 0 1
|
||||
28 2 870 1424 0 0 36 7 1 1 0 1
|
||||
19 3 949 2271 0 0 44 3 1 1 0 1
|
||||
17 2 809 1384 0 0 0 0 1 6 0 6
|
||||
16 2 732 1348 0 0 0 0 1 1 0 1
|
||||
22 4 993 1615 0 0 56 3 1 2 0 3
|
||||
|
||||
|
||||
正如上面终端上所显示的,我们很容易观察该命令输出的系统度量值,因为它每次以一行显示。
|
||||
|
||||
不加任何参数执行 collectl 会显示下面子系统的信息
|
||||
|
||||
- cpu
|
||||
- 磁盘
|
||||
- 网络
|
||||
|
||||
**提示**:在这里,一个子系统就是每一种可以测量的系统资源。
|
||||
|
||||
你也可以显示除slabs以外各个子系统的统计数据,这要结合下面的 **-all** 选项来实现。
|
||||
|
||||
|
||||
# collectl --all
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#cpu sys inter ctxsw Cpu0 Cpu1 Free Buff Cach Inac Slab Map Fragments KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut IP Tcp Udp Icmp Tcp Udp Raw Frag Handle Inodes Reads Writes Meta Comm
|
||||
16 3 817 1542 430 390 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0
|
||||
11 1 745 1324 316 426 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 0 3 0 2 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0
|
||||
15 2 793 1683 371 424 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 1 1 0 1 0 0 0 0 622 0 0 0 8160 240829 0 0 0 0
|
||||
16 2 872 1875 427 446 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0
|
||||
24 2 842 1383 473 368 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 168 6 1 1 0 1 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0
|
||||
27 3 844 1099 478 365 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 1 6 1 9 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0
|
||||
26 5 823 1238 396 428 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 2 11 3 9 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0
|
||||
15 1 753 1276 361 391 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 40 3 1 2 0 3 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0
|
||||
|
||||
|
||||
但是,你如何用它来监控 cpu 的使用情况呢? ‘-s’ 选项可以用来控制哪个子系统的数据需要收集和回放。
|
||||
|
||||
例如下面的命令可以用来对cpu使用情况进行一个总结。
|
||||
|
||||
# collectl -sc
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#cpu sys inter ctxsw
|
||||
15 2 749 1155
|
||||
16 3 772 1445
|
||||
14 2 793 1247
|
||||
27 4 887 1292
|
||||
24 1 796 1258
|
||||
16 1 743 1113
|
||||
15 1 743 1179
|
||||
14 1 706 1078
|
||||
15 1 764 1268
|
||||
|
||||
当你将这个命令与“**scdn**”结合时会发生什么呢?学习命令行工具最好的方式就是多加练习,所以在终端运行下面的命令看看会发生什么吧。
|
||||
|
||||
# collectl -scdn
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut
|
||||
25 4 943 3333 0 0 0 0 1 1 0 2
|
||||
27 3 825 2910 0 0 0 0 1 1 0 1
|
||||
27 5 886 2531 0 0 0 0 0 0 0 1
|
||||
20 4 872 2406 0 0 0 0 1 1 0 1
|
||||
26 1 854 2091 0 0 20 2 1 1 0 1
|
||||
39 4 1004 3398 0 0 0 0 2 8 3 6
|
||||
41 6 955 2464 0 0 40 3 1 2 0 3
|
||||
25 7 890 1609 0 0 0 0 1 1 0 1
|
||||
16 2 814 1165 0 0 796 43 2 2 0 2
|
||||
14 1 779 1383 0 0 48 6 1 1 0 1
|
||||
11 2 795 1285 0 0 0 0 2 14 1 14
|
||||
|
||||
|
||||
你可以很容易就明白默认选项是“**cdn**”,它代表cpu、硬盘和网络数据。运行带这个选项的 collectl 命令的输出和“**collectl -scn**”的输出一样。
|
||||
|
||||
如果你想采集内存的数据,用下面的命令。
|
||||
|
||||
# collectl -sm
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#Free Buff Cach Inac Slab Map
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
1G 177M 1G 684M 193M 1G
|
||||
|
||||
当你想要进一步了解内存使用信息、空闲的内存或者与你系统性能有关的重要资料时,上面的输出将是非常有用的。
|
||||
|
||||
如果想搜集一点儿 tcp 的数据呢?使用下面的命令来实现吧。
|
||||
|
||||
# collectl -st
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
# IP Tcp Udp Icmp
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
|
||||
|
||||
当你熟练到一定程度时,你就可以很轻松地得到你想要的结果了。例如你可以将关于 tcp 的“**t**”选项和关于 cpu 的“**c**”选项组合到一起。下面的命令就是如此。
|
||||
|
||||
# collectl -stc
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#cpu sys inter ctxsw IP Tcp Udp Icmp
|
||||
23 8 961 3136 0 0 0 0
|
||||
24 5 916 3662 0 0 0 0
|
||||
21 8 848 2408 0 0 0 0
|
||||
30 10 916 2674 0 0 0 0
|
||||
38 3 826 1752 0 0 0 0
|
||||
31 3 820 1408 0 0 0 0
|
||||
15 5 781 1335 0 0 0 0
|
||||
17 3 802 1314 0 0 0 0
|
||||
17 3 755 1218 0 0 0 0
|
||||
14 2 788 1321 0 0 0 0
|
||||
|
||||
|
||||
对于我们普通大众来说记住这些选项很困难,所以在这里,我整理出了一个列表来总结这个工具支持的选项。
|
||||
|
||||
- **b** – buddy info (内存碎片)
|
||||
- **c** – CPU
|
||||
- **d** – Disk
|
||||
- **f** – NFS V3 Data
|
||||
- **i** – Inode and File System
|
||||
- **j** – Interrupts
|
||||
- **l** – Lustre
|
||||
- **m** – Memory
|
||||
- **n** – Networks
|
||||
- **s** – Sockets
|
||||
- **t** – TCP
|
||||
- **x** – Interconnect
|
||||
- **y** – Slabs (系统对象缓存)
|
||||
|
||||
对于一个系统管理员或者一个 Linux 用户来说很重要的一种数据就是硬盘的使用情况。下面的命令可以帮你监控硬盘使用情况。
|
||||
|
||||
# collectl -sd
|
||||
|
||||
waiting for 1 second sample...
|
||||
#
|
||||
#KBRead Reads KBWrit Writes
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 92 7
|
||||
0 0 0 0
|
||||
0 0 36 3
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 100 7
|
||||
0 0 0 0
|
||||
|
||||
|
||||
你也可以使用“**-sD**”选项来采集单个硬盘的数据,不过你必须知道这就不会显示全部硬盘的信息。
|
||||
|
||||
# collectl -sD
|
||||
|
||||
waiting for 1 second sample...
|
||||
|
||||
# DISK STATISTICS (/sec)
|
||||
# Pct
|
||||
#Name KBytes Merged IOs Size KBytes Merged IOs Size RWSize QLen Wait SvcTim Util
|
||||
sda 0 0 0 0 52 11 2 26 26 1 8 8 1
|
||||
sda 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
sda 0 0 0 0 24 0 2 12 12 0 0 0 0
|
||||
sda 0 0 0 0 152 0 4 38 38 0 0 0 0
|
||||
sda 0 0 0 0 192 45 3 64 64 1 20 20 5
|
||||
sda 0 0 0 0 204 0 2 102 102 0 0 0 0
|
||||
sda 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
sda 0 0 0 0 116 26 3 39 38 1 16 16 4
|
||||
sda 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
sda 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
sda 0 0 0 0 32 5 3 11 10 1 16 16 4
|
||||
sda 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
|
||||
你也可以使用其它详细的子系统来采集详细的数据。下面是详细子系统的一个列表。
|
||||
|
||||
- **C** – CPU
|
||||
- **D** – Disk
|
||||
- **E** – Environmental data (fan, power, temp), via ipmitool
|
||||
- **F** – NFS Data
|
||||
- **J** – Interrupts
|
||||
- **L** – Lustre OST detail OR client Filesystem detail
|
||||
- **N** – Networks
|
||||
- **T** – 65 TCP counters only available in plot format
|
||||
- **X** – Interconnect
|
||||
- **Y** – Slabs (system object caches)
|
||||
- **Z** – Processes
|
||||
|
||||
collectl 工具中有许多选项,但是仅用一篇文章来介绍肯定是介绍不过来的。然而如果将它当作 **top** 和 **ps** 工具来使用还是值得一提的。
|
||||
|
||||
很容易将 collectl 当作 top 来使用,只要在 Linux 系统的终端运行下面的命令你就会看到和 **top** 工具类似的输出。
|
||||
|
||||
# collectl --top
|
||||
|
||||
# TOP PROCESSES sorted by time (counters are /sec) 13:11:02
|
||||
# PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command
|
||||
^COuch!tecmint 20 1 40 R 1G 626M 0 0.01 0.14 15 28:48.24 0 0 0 109 /usr/lib/firefox/firefox
|
||||
3403 tecmint 20 1 40 R 1G 626M 1 0.00 0.20 20 28:48.44 0 0 0 600 /usr/lib/firefox/firefox
|
||||
5851 tecmint 20 4666 0 R 17M 13M 0 0.02 0.06 8 00:01.28 0 0 0 0 /usr/bin/perl
|
||||
1682 root 20 1666 2 R 211M 55M 1 0.02 0.01 3 03:10.24 0 0 0 95 /usr/bin/X
|
||||
3454 tecmint 20 3403 8 S 216M 45M 1 0.01 0.02 3 01:23.32 0 0 0 0 /usr/lib/firefox/plugin-container
|
||||
4658 tecmint 20 4657 3 S 207M 17M 1 0.00 0.02 2 00:08.23 0 0 0 142 gnome-terminal
|
||||
2890 tecmint 20 2571 3 S 340M 68M 0 0.00 0.01 1 01:19.95 0 0 0 0 compiz
|
||||
3521 tecmint 20 1 24 S 710M 148M 1 0.01 0.00 1 01:47.84 0 0 0 0 skype
|
||||
1 root 20 0 0 S 3M 2M 0 0.00 0.00 0 00:02.57 0 0 0 0 /sbin/init
|
||||
2 root 20 0 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 kthreadd
|
||||
3 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.60 0 0 0 0 ksoftirqd/0
|
||||
5 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/0:0H
|
||||
7 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/u:0H
|
||||
8 root RT 2 0 S 0 0 0 0.00 0.00 0 00:04.42 0 0 0 0 migration/0
|
||||
9 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 rcu_bh
|
||||
10 root 20 2 0 R 0 0 0 0.00 0.00 0 00:02.22 0 0 0 0 rcu_sched
|
||||
11 root RT 2 0 S 0 0 0 0.00 0.00 0 00:00.05 0 0 0 0 watchdog/0
|
||||
12 root RT 2 0 S 0 0 1 0.00 0.00 0 00:00.07 0 0 0 0 watchdog/1
|
||||
13 root 20 2 0 S 0 0 1 0.00 0.00 0 00:00.73 0 0 0 0 ksoftirqd/1
|
||||
14 root RT 2 0 S 0 0 1 0.00 0.00 0 00:01.96 0 0 0 0 migration/1
|
||||
16 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 kworker/1:0H
|
||||
17 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 cpuset
|
||||
|
||||
最后,当然不是说这不重要,我们在终端运行下面的命令就可以将 collectl 用作 ps 工具了。
|
||||
你可以得到关于你系统进程的信息,这和在终端运行“**ps**”命令是一样的。
|
||||
|
||||
# collectl -c1 -sZ -i:1
|
||||
|
||||
waiting for 1 second sample...
|
||||
|
||||
### RECORD 1 >>> tecmint-vgn-z13gn <<< (1397979716.001) (Sun Apr 20 13:11:56 2014) ###
|
||||
|
||||
# PROCESS SUMMARY (counters are /sec)
|
||||
# PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command
|
||||
1 root 20 0 0 S 3M 2M 0 0.00 0.00 0 00:02.57 0 0 0 0 /sbin/init
|
||||
2 root 20 0 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 kthreadd
|
||||
3 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.60 0 0 0 0 ksoftirqd/0
|
||||
5 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/0:0H
|
||||
7 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/u:0H
|
||||
8 root RT 2 0 S 0 0 0 0.00 0.00 0 00:04.42 0 0 0 0 migration/0
|
||||
9 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 rcu_bh
|
||||
10 root 20 2 0 S 0 0 0 0.00 0.00 0 00:02.24 0 0 0 0 rcu_sched
|
||||
11 root RT 2 0 S 0 0 0 0.00 0.00 0 00:00.05 0 0 0 0 watchdog/0
|
||||
12 root RT 2 0 S 0 0 1 0.00 0.00 0 00:00.07 0 0 0 0 watchdog/1
|
||||
13 root 20 2 0 S 0 0 1 0.00 0.00 0 00:00.73 0 0 0 0 ksoftirqd/1
|
||||
14 root RT 2 0 S 0 0 1 0.00 0.00 0 00:01.96 0 0 0 0 migration/1
|
||||
16 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 kworker/1:0H
|
||||
17 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 cpuset
|
||||
18 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 khelper
|
||||
19 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kdevtmpfs
|
||||
20 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 netns
|
||||
21 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 bdi-default
|
||||
22 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kintegrityd
|
||||
|
||||
|
||||
我确信许多系统管理员将会喜欢这个工具并且在充分使用它后会感受到它的强大。如果你想增进你对 collectl 的了解,从而达到新的层面,你可以去参阅 collectl 的 man 手册并勤加练习。
|
||||
|
||||
在你的终端键入下面的命令开始阅读吧。
|
||||
|
||||
# man collectl
|
||||
|
||||
### 参考链接 ###
|
||||
|
||||
- [collectl Homepage][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/linux-performance-monitoring-with-collectl-tool/
|
||||
|
||||
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://collectl.sourceforge.net/index.html
|
||||
@@ -0,0 +1,40 @@
|
||||
修复Ubuntu 14.04中Chromium的Adobe Flash Player的问题
|
||||
================================================================================
|
||||
[安装Ubuntu 14.04之后,先要做的几件事情][1]中其中一项是安装Adobe Flash Player。一般来说,如果安装了[Ubuntu Restricted Extras][2],Flash Player应该可以工作而且你应该能够在网上观看在线视频,比如You Tube等网站上。
|
||||
|
||||
其实这不是因为Chromium是在Ubuntu 14.04上使用才出现的问题。当你用其他的网页浏览器比如火狐、Chrome时,你可以轻松地播放You Tube等网站视频,但在Chromium中你将会看到Adobe Flash player缺失插件的通知:
|
||||
|
||||
> **Adobe Flash Player is required to display some elements on this page. Install plug-in..**
|
||||
|
||||

|
||||
|
||||
### 只有在Chromium中出现flash player问题的原因: ###
|
||||
|
||||
只有在Chromium中发生这个问题的原因是,之前Chromium使用Netscape Plugin API构架来支持Flash,从Ubuntu 14.04开始,[Chromium将会停止使用Netscape Plugin API][3]。因此,我们才遇到Chromium的Adobe Flash Player的问题。
|
||||
|
||||
那么,为什么这个问题没有发生在其他浏览器上?答案是,因为它们使用 Flash Player 11.2。
|
||||
|
||||
### 修复Chromium上Adobe Flash Player的问题: ###
|
||||
|
||||
修复这个问题,我们应该使用Pepper Flash Player,一个来自Google更安全更稳定的版本的Flash Player。在Ubuntu 14.04的源里有[Adobe Flash Player Pepper 安装器][4]。这个安装器会下载Google Chrome,提取出Pepper Flash Player然后设置给Chromium使用。
|
||||
|
||||
要在Ubuntu 14.04安装Pepper Flash Player,打开一个终端,使用下面的命令:
|
||||
|
||||
sudo apt-get install pepperflashplugin-nonfree
|
||||
sudo update-pepperflashplugin-nonfree --install
|
||||
|
||||
之后重启Chromium。不用重启系统。我希望这个帖子能够帮助你解决Chromium上Adobe Flash Player的问题。欢迎提出任何问题和建议。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/fix-flash-player-issue-chromium-in-ubuntu-14-04/
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/
|
||||
[2]:https://help.ubuntu.com/community/RestrictedFormats
|
||||
[3]:http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html
|
||||
[4]:https://wiki.debian.org/PepperFlashPlayer
|
||||
@@ -0,0 +1,102 @@
|
||||
在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动
|
||||
================================================================================
|
||||

|
||||
|
||||
之前我已经写过关于[如何安装Ubuntu Linux和Windows 7][1]以及8的双启动,但是那些教程不包含那些预装Windows 8的系统。那些较新的预装了Windows 8或Windows 8.1的系统使用了UEFI来替代BIOS。这使得安装双启动变得和之前的常规方法有点不同。在这个教程中,我们将看到**如何在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动**。
|
||||
|
||||
这个教程是在一台新买的戴尔灵越 7437(酷睿i7第四代处理器, 256GB SSD,8GB内存以及内置1GB(共享内存) Intel显卡)上演示的。为了使你能够成功安装UEFI下Linux和Windows 8的双启动,我会提到你需要做的所有步骤。如果你已经完成这些步骤中的部分步骤,直接跳到下一步。如果你有个全新的系统,那就更好了。
|
||||
|
||||
在这里提到的这些步骤也适用于其它基于Ubuntu的Linux发行版,如Linux Mint,Elementary OS等等。不多说,让我们来看看如何在启用了UEFI安全启动的Windows 8系统上双启动Linux。
|
||||
|
||||
### 让 Ubuntu 14.04 和 Windows 8 双启动: ###
|
||||
|
||||
要在一个UEFI系统上安装Ubuntu有多方面的前提条件。让我们来一个一个看:
|
||||
|
||||
#### 第一步:做个备份 [可选] ####
|
||||
|
||||
做个备份总是个不错的选择,防止你把系统弄糟了。网上有众多文章教你如何备份系统。你可以参照[这个教程][2]。
|
||||
|
||||
#### 第二步:创建一个Ubuntu的USB启动盘/光盘启动盘 ####
|
||||
|
||||
你需要做的下一件事是创建一个USB启动盘或光盘启动盘。我推荐在Windows下使用[Universal USB Installer][3]创建一个Linux OS的USB启动盘。
|
||||
|
||||
#### 第三步:为Ubuntu划分一块安装分区 ####
|
||||
|
||||
假设你有一个全新的系统,我们要做的第一件事是创建一个分区来安装Linux。我系统中的256GB磁盘出厂时就有若干个分区,但主要是用来备份及其它目的的。主分区是安装了Windows 8.1的C盘,约有220GB。
|
||||
|
||||
如果你也像这样只有一个分区,你需要从中分割出一些空间给Linux。如果你有若干空间大小足够的分区,可以使用它们中除C盘外的任意盘,因为安装时会抹掉其中的数据。
|
||||
|
||||
要在Windows 8中创建分区,需要使用磁盘管理工具。你可以通过在控制面板中搜索‘磁盘’找到磁盘管理工具。
|
||||
|
||||

|
||||
|
||||
在磁盘管理工具中,右键点击你想划分并缩小的卷。在我的演示中,我选择C盘的卷进行缩小,划分出未分配空间:
|
||||
|
||||

|
||||
|
||||
缩小后出现的未分配空间就放在那里好了,不用对其分区和格式化。我们会在安装Ubuntu时用到它。
|
||||
|
||||
#### 第四步:在Windows中禁用快速启动 [可选] ####
|
||||
|
||||
为了实现快速启动,Windows 8引进了叫做“快速启动”的新特性。尽管不是强制要求,最好还是将其禁用。
|
||||
|
||||
打开**控制面板 > 硬件与声音 > 电源选项 > 选择电源按钮的功能 > 更改当前不可用的设置**,取消选中**启用快速启动(推荐)**。
|
||||
|
||||
#### 第五步:禁用Windows 8 and 8.1的安全启动(secure boot) ####
|
||||
|
||||
这是最重要的步骤。Windows 8新的安全启动(secure boot)原本是针对rootkit病毒的安全特性,但它也阻止了Windows和Linux的双启动。为了实现Windows和Linux的双启动,我们必须在UEFI中禁用安全启动(secure boot)。
|
||||
|
||||
可以参见:[如何在 Win8 上禁用 UEFI 安全引导以安装Linux][4]。
|
||||
|
||||
#### 第六步:安装Ubuntu,与Windows 8共存 ####
|
||||
|
||||
一旦你禁用了安全启动(secure boot),那就是时候安装Ubuntu了。我希望你像第二步中提到的一样创建了一个USB启动盘。插入U盘,然后从U盘启动系统。
|
||||
|
||||
要从USB启动,需要在Windows中选择从USB启动的选项。从电脑设置(像UEFI)中选择选项或在点击“重新启动”的时候按住Shift键。
|
||||
|
||||
当你用USB启动盘启动后,你会看到试用(try)或者安装(install)Ubuntu的选择,这里要点击“安装”。另外在屏幕上不多的设置选项里面,你可以选择你用的语言。接下来是关于硬盘空间,电源和网络连接等等的一些检查。只需点击**继续**。
|
||||
|
||||

|
||||
|
||||
安装窗口中你需要注意的是**安装类型(Installation Type)**。选择这里的**其它选项(Something else)**:
|
||||
|
||||

|
||||
|
||||
还记得我们事先划分的未分配空间吗?我们将用它来创建根分区( / ),交换空间(Swap)以及家目录(Home)。选择空闲(free space)然后点击加号(+)。
|
||||
|
||||

|
||||
|
||||
它会给你提供创建Linux分区的选项。我们正在创建根分区 /。10到20GB空间就足够了。选择大小(Size),然后选择Ext 4作为文件系统以及 /(意思是根)作为挂载点(Mount point)。
|
||||
|
||||

|
||||
|
||||
点击确定会回到分区界面。下一步我们创建交换空间(Swap)。像之前一样,再次点击加号(+)。这次我们选择作为交换空间(Swap area)。建议的交换空间大小是物理内存的两倍。
|
||||
|
||||

|
||||
|
||||
以同样的方式创建家目录(Home)。给它分配最大的空间(实际上是给它分配剩余的所有空间),因为这是你会用来存储音乐,图片以及下载的文件的位置。
|
||||
|
||||

|
||||
|
||||
分配好了根分区( / ),交换空间(Swap)和家目录(Home)之后,点击**现在安装(Install Now)**:
|
||||
|
||||

|
||||
|
||||
好了,你现在基本上以及赢得了这场战役了~露出胜利的微笑吧~接下来你会被要求设置用户名密码等等。基本上你现在只需点击下一步。
|
||||
|
||||
一旦安装完成,重新启动电脑,你应该会看到紫色的grub欢迎界面。尽情享受Ubuntu和Windows 8的双启动模式吧。(译注:对于可能出现grub系统选择中没有Windows 8选项或是无法正常启动的情况,可搜索Boot Repair工具的使用)
|
||||
|
||||
我希望这份指南能够帮你实现Ubuntu和Windows 8的UEFI模式双启动。虽然这篇文章是为Ubuntu写的,它对其它的Linux OS应该也有所帮助。欢迎提出任何问题与建议。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/install-ubuntu-dual-boot-mode-windows/
|
||||
[2]:http://www.makeuseof.com/tag/6-safest-ways-to-backup-restore-your-files-in-windows-7-8/
|
||||
[3]:http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
|
||||
[4]:http://linux.cn/article-3061-1.html
|
||||
@@ -0,0 +1,71 @@
|
||||
Ubuntu 14.04上怎样安装‘California’ 日历应用
|
||||
================================================================================
|
||||

|
||||
|
||||
**当非盈利软件服务商Yorba宣称它上个月开始开发名为‘California’的桌面日历应用程序时,我们很兴奋——我们在自己的头条里面说“正当其时!”**
|
||||
|
||||
Yorba在背后支撑着注重用户体验的电子邮件客户端软件‘Geary’以及华丽的照片管理软件‘Shotwell’,因此,我们自然有理由非常期望他们能够进军linux系统上的生产力软件主流软件。
|
||||
|
||||
尽管 **California 尚未稳定** 到可以发布到正式的发行版本,但现在可以通过该公司的日常开发的PPA安装到ubuntu系统中。
|
||||
|
||||
### 迄今取得的进展 ###
|
||||
|
||||
“*Neeeeeyaaaaaaaawwnnn!*” — 那是飞机即将降落在旧金山国际机场的一段警告声音.
|
||||
|
||||
是的,California 正在积极的开发中,该软件尚未完成,也没有稳定到满足每个人每天使用,但是
|
||||
如果你愿意搞定一些bug的话,你可以在ubuntu 14.04上安装这款应用程序。
|
||||
|
||||
是否这样做取决于你的想法。
|
||||
|
||||
当前的构建(如,在写本文时的)提供了本地管理以及Google 日历和web日历(.ICS)的基本支持。事件可以甚至在GNOME桌面的日期/时间小程序中显示.
|
||||
|
||||
#### 自然语言输入 ####
|
||||
|
||||
当你第一次打开California 软件时,呈现在你面前的是当月概要,目前还没有按星期,年,议程去查看的方法,起码我没找到。你可以使用导航按钮而切换月份.
|
||||
|
||||
可以通过点击工具栏中的日历图标创建新的日历(*如 ‘工作‘, ‘宠物照料‘*)及打开/关闭它。当所有的日历都展现在主窗口时,每个日历通过不同颜色来视觉区分。
|
||||
|
||||
要创建新的事件,点击‘+’图标, 然后在弹出的输入框中使用**自然语言输入**,输入你想要提交事件的描述(译注:显然你得用英语)。例如, 输入内容“*Bake Sansa Stark A Lemon Cake on Wednesday 2.45 PM*”将在周三的这个时间(14:45)加入该事件。
|
||||
|
||||

|
||||
|
||||
我希望这个功能变得更加完善些。现在,尽管它能够精准定位日期,但不支持重复性事件的创建
|
||||
(e.g., via “*Skype chat with Sam every Tuesday at 7 AM*“)也不能识别地点或人物(e.g., “*Coffee with Penelope on Monday 12 PM at Boston Tea Party*“)。
|
||||
|
||||
要修改正确些,你可以在网格视图上双击它们来完善和编辑创建好条目。这将打开一个包含附加字段、时间选择、日期格式等的窗口。
|
||||
|
||||
#### 不够完善 ####
|
||||
|
||||
如果说有一些缺陷,那就是在外观上(这个阶段的bugs和欠缺的功能可以被忽略)。虽然在 Adwaita 主题下看来已经很棒了,不过在 Ubuntu 默认主题下它看起来糟透了。
|
||||
|
||||
这不是Yorba(或GNOME)的错误,而是Ubuntu开发团队仍然没有在Compiz里面增加对GNOME新的GTK标题栏的支持,现在还在使用 Unity 来渲染窗口。
|
||||
|
||||
California 在ubuntu系统上完全可用,这个问题只是在发行版升级之后。 这个问题没有影响到Ubuntu GNOME或Linux Mint。
|
||||
|
||||
### 在ubuntu14.04中安装California ###
|
||||
|
||||
如果你没注意先前的提醒,我们再次重申:California 尚未稳定,正处于积极的开发中。
|
||||
|
||||
这个[Yorba Daily PPA][2] 也包含了最新(未稳定)的Shotwell和Geary版本。将这个PPA安装到你的系统中将能够使这些软件也更新了。
|
||||
|
||||
sudo add-apt-repository ppa:yorba/daily-builds
|
||||
sudo apt-get update && sudo apt-get install california
|
||||
|
||||
另一个安全试用这个软件的方法是,[直接下载来自PPA的.deb安装包][3]:
|
||||
|
||||
- [Download California for Ubuntu 14.04 (64bit)][4]
|
||||
- [Download California for Ubuntu 14.04 (32bit)][5]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/05/california-calendar-app-hits-yorba-daily-ppa
|
||||
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2014/04/yorba-california-calendar-app-linux
|
||||
[2]:https://launchpad.net/~yorba/+archive/daily-builds/
|
||||
[3]:https://launchpad.net/~yorba/+archive/daily-builds/+packages
|
||||
[4]:https://launchpad.net/~yorba/+archive/daily-builds/+files/california_0.1.0-0%7E188%7Eubuntu14.04.1_amd64.deb
|
||||
[5]:https://launchpad.net/~yorba/+archive/daily-builds/+files/california_0.1.0-0%7E188%7Eubuntu14.04.1_i386.deb
|
||||
@@ -0,0 +1,19 @@
|
||||
[小白技巧]在Ubuntu 14.04中,如何从Unity启动器上移除盘符图标
|
||||
=======================================================
|
||||
|
||||
一个读者发来的问题:在Ubuntu 14.04系统中,我如何从Unity启动器上移除这些盘符图标?我从来不使用它,然而它占用着启动器的位置。
|
||||
|
||||
默认情况下,无论你挂载与否,系统上所有分区的盘符图标都会显示在Unity启动器上。事实上它可能会使 Unity 启动器的位置变得拥挤。刚刚接触 Ubuntu 的小白可能对如何将这些盘符移去感觉比较困扰,但是实际上这很容易。
|
||||
|
||||
要从Ubuntu 14.04系统的Untiy启动器上永久地移除盘符图标,右键点击盘符,然后选择"Unlock from Launcher"即可。
|
||||
|
||||

|
||||
|
||||
就这样。你不需要做更多操作了。即使分区被挂载,在Unity启动器上你再也看不到盘符图标了。我希望这能帮到你。如果你有任何问题可以随时问我。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
via: http://itsfoss.com/remove-drive-icons-from-unity-launcher-in-ubuntu/
|
||||
|
||||
译者:[lousam](https://github.com/lousam) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,36 @@
|
||||
如何在同一台计算机上安装Windows 8.1和Ubuntu 14.04 LTS
|
||||
================================================================================
|
||||
|
||||

|
||||
|
||||
**一些Windows用户,希望试试Linux操作系统,而不用删除他正在使用的系统。令人高兴的是,想尝试下Linux是非常简单的,而且Linux操作系统也能和其他操作系统在同一台机器上和平共处。**
|
||||
|
||||
举个例子,如果你是Windows用户,想试试Ubuntu,这个过程实际上是相当简单的,用户只需要付出一点小小的努力即可,这个过程中稍微注意一点就行了。
|
||||
|
||||
在PC上正常安装一个操作系统并不复杂,甚至是Ubuntu和其它Linux也一样简单。在大多数情况下,用户单击对话框的“下一步”,按照流程进行即可。当你想保留PC上的原来的操作系统时(并不特指Windows),还需要多一点操作才行,但是很简单。
|
||||
|
||||
在Linux下刻录一个ISO镜像是很容易的,有好几个程序可以提供这样的功能。而在Windows下,你可以将Ubuntu刻录到DVD或制作成USB启动盘(这样更好一些)。要将Ubuntu正确复制到一个USB设备,你将需要下载名为[Win32 Disk Imager 0.9.5][1]一个小工具。它具有一个简单的界面,是完全自动的。
|
||||
|
||||
在重启机器以安装Ubuntu前,你要给Ubuntu一些可用的磁盘空间,而且给Ubuntu一个磁盘分区是不够的。你将需要两个,一个放Ubuntu本身(大约10GB,如果你不想安装太多的应用的话,就足够了),第二个是交换分区(类似于Windows的页面文件),它的大小一般是你的内存的两倍。你不需要格式化它们,只要他们是可用的就行。如果你在第二块空闲硬盘安装Ubuntu,那就更简单了。
|
||||
|
||||
插上USB启动盘并重新启动。你会得到一个提示,询问是“试用”还是“安装”。选择“安装”并选择安装方式:安装Ubuntu和Windows 8并存(或任何你拥有的其他版本),用Ubuntu替换Windows 8,或者别的选项。
|
||||
|
||||
你可以选择“和Windows 8并存安装”,但你也许不喜欢安装程序自动处理的方式。你也可以选择“其它(Something Else)”来手动控制安装过程。
|
||||
|
||||
找到你给Ubuntu保留的空闲分区(安装程序无法读取和显示Windows卷的名称,所以你要小心别选错了),双击它,选择ext4文件系统,和“/”作为默认的安装点。
|
||||
|
||||
现在选择另外的那个较小的分区,选择swap分区类型。就这些了。当你点击下一步,安装程序将启动,你将要输入用户名,密码和其他信息。
|
||||
|
||||
当你启动你之后,将得到一个简单的列表,可以选择你要启动的操作系统。
|
||||
|
||||
尽情享受!
|
||||
|
||||
------------------
|
||||
|
||||
via: http://news.softpedia.com/news/How-to-Install-Windows-8-1-and-Ubuntu-14-04-LTS-on-the-Same-Computer-440356.shtml
|
||||
|
||||
译者:[CHINAANSHE](https://github.com/CHINAANSHE) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml
|
||||
@@ -0,0 +1,107 @@
|
||||
Linux + 漫画迷 = 二次元世界?
|
||||
================================================================================
|
||||
你是否从来都没有错过xkcd上的漫画连载?及时地阅读到网络漫画。或者你是否想过从你喜欢的网站上备份所有漫画连载?如你所愿,开源社区将为你提供解决方案:使用命令行程序从终端上下载所有你喜欢的漫画连载。
|
||||
|
||||
在我们开始之前,请记住一点,你下载的漫画连载仅供个人使用,在没有授权的情况下是不可以散播出去的。如果你确实喜欢该作者的作品,请支持通过捐赠或购买正版商品获得。
|
||||
|
||||
### 在Linux中安装Dosage
|
||||
|
||||
有一个下载漫画连载的开源程序叫[dosage][1]。由于该程序是用python写的,所以安装漫画连载工具的方式有几种。今天我们就从一种简单的方法开始吧。
|
||||
|
||||
第一步,你需要[安装pip][2](LCTT译注,这是一个用于安装和管理python包的工具),并确保你的python版本在2.7.0至3.3区间。接下来使用pip安装dosage。
|
||||
|
||||
$ sudo pip install dosage
|
||||
|
||||
如果pip不能以某种方式来找到相关包(例如Ubuntu14.04系统),可以使用下列命令来找到。
|
||||
|
||||
$ sudo pip install http://wummel.github.io/dosage/dist/dosage-2.13.tar.gz
|
||||
|
||||
dosage将会自动创建一个名为“Comics”新的文件夹。
|
||||
|
||||
### Dosage的基本用法
|
||||
|
||||
dosage的基本用法如下所述。使用dosage,你可以在数据库中找到你喜欢阅读的网络漫画,当最新一期的连载发布时,你可以及时获取最新一期。从某种意义来说,无论你在网络漫画中订阅多少连载,dosage都会确保一期不落地帮你把没有读过的漫画连载下载下来。
|
||||
|
||||
下载和阅读你的离线网络漫画,首先要用以下命令将它们列出:
|
||||
|
||||
$ dosage -l
|
||||
|
||||
现在,我们可以看到dosage将2000多套漫画从数据库列出。我个人建议用下面的这个命令来查找我们想要看的漫画:
|
||||
|
||||
$ dosage -l | grep [keyword]
|
||||
|
||||
这样就会返回所有包含关键字标题的漫画了。
|
||||
|
||||
一旦你确定列表中哪一本漫画是你想要阅读的,使用以下命令订阅这本漫画:
|
||||
|
||||
$ dosage [name of the webcomic]
|
||||
|
||||

|
||||
|
||||
订阅漫画时会自动在"Comics"目录下创建子目录,并把最新的连载漫画下载到在里边。
|
||||
|
||||
如果你不仅仅想下载最新连载的漫画而是完整的一部,那么你使用以下的命令就可以了:
|
||||
|
||||
$ dosage -a [name of the comic]
|
||||
|
||||
最后,订阅了几本网络漫画之后,你可以使用下面这条简单的命令,方便地下载到这几本漫画的所有更新:
|
||||
|
||||
$ dosage @
|
||||
|
||||
如果你不想错过每天的漫画更新,你可以每天执行这条命令确保不会错过。
|
||||
|
||||
### Dosage的高级用法
|
||||
|
||||
玩了一天dosage,你也许想知道它的更多使用方法。这需要你掌握更多的命令语法和快捷入门。
|
||||
|
||||
如果你想在xkcd上下载更多的漫画连载,你应该会看到一条dosage拒绝的提示(使用成人选项,确认你的年龄):
|
||||
|
||||
use the --adult option to confirm your age
|
||||
|
||||

|
||||
|
||||
因为默认情况下,dosage会忽略任何标记为仅限18岁以上的成年人浏览的网络漫画(由于某些原因,xkcd也属于其中的一个)。如果你已经成人了,请输入:
|
||||
|
||||
$ dosage --adult xkcd
|
||||
|
||||
从之前的例子,你也许注意到'@'这个参数代表你所有已经下载的漫画书。而这个'@@'这个参数则是表示dosage数据库中的所有漫画书。
|
||||
|
||||
$ dosage @@
|
||||
|
||||
上面的命令会下载dosage所知道的每一本漫画的最新连载。
|
||||
|
||||
如果你想获取漫画从开始到特定的某一天的连载,你可以使用以下命令:
|
||||
|
||||
$ dosage -a [name of the comic]:[year-month-day]
|
||||
|
||||
举个例子,我们想看《Calvin and Hobbes》2014年之前的所有连载,运行这条命令:
|
||||
|
||||
$ dosage -a calvinandhobbes:2014-01-01
|
||||
|
||||
最后,对于所有想自己做些开发的人来说,dosage可以在下载时生成rss,json和html日志文件。
|
||||
|
||||
$ dosage -o [type] [name of the comic]
|
||||
|
||||
在以上命令中,,[type]可以是rss,json或者html,[name of comic]也可以只用'@'。例如,用'html'参数就会创建一个漂亮的HTML代码,以看到所有已经下载到的漫画连载。
|
||||
|
||||
下面的命令会下载所有关于Calvin and Hobbes的连载并生成一个网页,可以在你的浏览器中看到一个漂亮的网页,呈现出所有连载漫画。
|
||||
|
||||
$ dosage -o html -a calvinandhobbes
|
||||
|
||||

|
||||
|
||||
最后,我会建议你[阅读手册][3]获取更多相关信息。dosage的确是一个非常简洁的工具,它为广大网页漫画迷们服务。我很好奇地想知道像创建出一个json文件来下载连载漫画的这种创意是怎么诞生的?
|
||||
|
||||
你还有其它更好的取代dosage的工具么?或者说你是这些工具的粉丝并且用得非常过瘾,那就在评论里推荐给我们吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/04/download-webcomics-command-line-linux.html
|
||||
|
||||
译者:[disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://wummel.github.io/dosage/
|
||||
[2]:http://ask.xmodulo.com/install-pip-linux.html
|
||||
[3]:http://wummel.github.io/dosage/dosage.1.html
|
||||
@@ -0,0 +1,71 @@
|
||||
Linux桌面上的小饼饼,让启动应用分外不同!
|
||||
================================================================================
|
||||
|
||||
最近,你能听到很多关于Ubuntu新的Unity界面的抱怨。我记得,当Unity开始兴起的时候,我正好离开Archlinux。然而,Unity间接地导致了一个后果:随着人们对它不满意,人们开始关注其他的桌面环境和Linux发行版。而如果你的系统支持Unity,没有人会反对将它弄得更顺眼些。
|
||||
|
||||
所以今天我向你推荐一个绝对原创的程序启动器: Gnome-Pie。你们可能会认为他的灵感来自魔兽世界插件"OPie"。因为他们有着相似的概念: 键盘快捷方式可以打开圆形"菜单",您可以从中选择一个应用程序或命令来启动。这种设计背后的主要思想是用户不必记住命令,但需要记住他的方向和操作。它的饼形设计让指针可以用同样的距离启动每个应用程序。再加上我们还有如此多自定义组合键,极大的提高效率并且最大限度地实现了人机工程学。
|
||||
|
||||
### 安装Gnome-Pie ###
|
||||
|
||||
在Ubuntu上,Gnome-Pie 可以从universe仓库中获得, 但是,某些原因,这个版本不是很稳定,常常会崩溃。作为一个备选方案,我建议你从官方的源进行下载。
|
||||
|
||||
$ sudo add-apt-repository ppa:simonschneegans/testing
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install gnome-pie
|
||||
|
||||
在Fedora, 你可以使用以下命令:
|
||||
|
||||
$ sudo yum install gnome-pie
|
||||
|
||||
对于Archlinux, 你可以在[AUR][1]找到它。
|
||||
|
||||
### Gnome-Pie的基本用法 ###
|
||||
|
||||
默认的,Gnome-Pie有一个比较可靠的初始配置。首先,你可以使用 **Ctrl + Alt + a** 调出,它将显示你的系统的基本应用程序。
|
||||
|
||||

|
||||
|
||||
接下来, 按下 **Ctrl+Alt+b** 调出第二个圆,这将显示你的文件管理器的书签。
|
||||
|
||||

|
||||
|
||||
第三个,也许是最有用的,它会显示你的应用程序菜单,按下 **Ctrl + Alt + 空格** 可调出。
|
||||
|
||||

|
||||
|
||||
第四个,仅用于控制音乐播放器。你可以猜到,快捷键是 **Ctrl + Alt + m**。
|
||||
|
||||

|
||||
|
||||
第五个,你可以快速访问重新启动、 关机和注销命令 (**Ctrl + Alt + q**,我猜q是代表退出吧)。
|
||||
|
||||

|
||||
|
||||
最后,第六个,你可以用Pie来控制窗口,可以最小化、 规模、 关闭, 等等. 并且,快捷键是 **Ctrl+Alt+w**。
|
||||
|
||||

|
||||
|
||||
虽然我发现这种默认设置已经是相当令人满意,几乎和预置的启动器一样好。然而,如果让我鸡蛋里找骨头,我会说一些快捷方式很难用一只手执行。大多数情况是,我们用两只手打开菜单,然后再回到鼠标以选择该选项。太不爽了。
|
||||
|
||||
然而,我们在用 Linux!谁会在乎默认设置?自定义才是王道。Gnome-Pie将为你提供优良的服务。通过配置,你可以编辑现有的Pie,改变程序图标,设计自己的Pie,改变主题,甚至将另外一个Pie菜单作为一个子菜单。
|
||||
|
||||
[][2]
|
||||
|
||||
你甚至可以编辑它来访问 URL、 自由设置热键、运行你自己的命令。惟一的缺憾可能是它缺少Widgets。
|
||||
|
||||

|
||||
|
||||
总之,相较于传统的基于文本的启动器,Gnome-Pie是一个相当有吸引力的可视化应用程序。我很喜欢他的自定义键盘和鼠标组合键,让我想起了我在War3或者LOL中的神级操作。如果玩家使用这种操作方式,它可以为你带来方便和高效。如果你想节约桌面空间,我甚至建议你不要将预置的启动器放到桌面上。总之,我甚至敢说它可以替代Gnome。
|
||||
|
||||
你觉得怎么样?你在所有相信世界上有这么好的东西吗?或者说,随着新的Gnome shell出现,Gnome-Pie开始失去竞争力?欢迎评论。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/launch-applications-differently-gnome-pie-linux-desktop.html
|
||||
|
||||
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://aur.archlinux.org/packages/gnome-pie/
|
||||
[2]:https://www.flickr.com/photos/xmodulo/14247093043/
|
||||
@@ -0,0 +1,114 @@
|
||||
在 Ubuntu 中用 Docker 管理 Linux Container 容器
|
||||
================================================================================
|
||||
当前,完全硬件虚拟化技术(KVM、Xen、Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等。有时候对用户来说,完全的硬件虚拟化并不是最好的选择。
|
||||
|
||||
一种替代方案是使用轻量级虚拟化技术 —— 所谓的 [LinuX Container 容器][1] (LXC),它提供的是系统级虚拟化。与跑虚拟机相比,LXC 可以在一个轻量级沙箱容器里面跑多个 Linux 操作系统。当你需要设置一些易于克隆的开发环境、测试环境,或想在安全沙盒里安装应用时,LXC 就非常有用了。
|
||||
|
||||
[Docker][2] 是一个开源工具,可以让用户方便地布署 Linux Container 容器。Docker 很快变成了 container 技术的非官方标准,从而被 [Ubuntu][3] 和 [Red Hat][4]等众多发行版吸收进去。
|
||||
|
||||
本教程中我会向你们演示如何在 Ubuntu 14.04 中使用 Docker 来管理 LXC。需要注意的是,本教程的一些内容可能会与其他 Ubuntu 版本下的操作会稍微有些出入。
|
||||
|
||||
当前Ubuntu 系统下的 Docker 的安装包只提供64位。如果你想运行32位的 Docker,你需要[使用源码编译32位 Docker 工具][5]。
|
||||
|
||||
### 安装 Docker ###
|
||||
|
||||
通过 apt-get 安装 Docker 简直是小菜一碟。
|
||||
|
||||
$ sudo apt-get install docker.io
|
||||
|
||||
如果你不是 root 组的用户,你可以把自己加入到 docker 用户组。下面的命令可以让没有 root 权限的用户使用 Docker:
|
||||
|
||||
$ sudo usermod -a -G docker $USER
|
||||
|
||||
重新登录,以便让你的用户组权限生效。
|
||||
|
||||
下一步是编辑 Docker 配置文件,确定 Docker 可执行文件的路径:
|
||||
|
||||
$ sudo vi /etc/default/docker.io
|
||||
|
||||
DOCKER="/usr/bin/docker.io"
|
||||
|
||||
重启 Docker 服务:
|
||||
|
||||
$ sudo service docker.io restart
|
||||
|
||||
### 管理 Docker Container 容器 ###
|
||||
|
||||
如果你想在新的 Docker 容器下创建一个新的 Ubuntu 操作系统,你首先需要 pull 一个 [Ubuntu][6] 的 Docker 镜像。下面的命令可以通过网络下载 Docker 镜像:
|
||||
|
||||
$ docker pull ubuntu
|
||||
|
||||
你可以使用下面的命令启动 Docker 里面的 Ubuntu 系统。最后的参数“/bin/bash”表示一旦容器启动,首先会执行简单的 bash。
|
||||
|
||||
$ docker run -i -t ubuntu /bin/bash
|
||||
|
||||
上面的命令会立即启动 Ubuntu container 容器(这是一个完美的容器!),然后它会提供一个 shell 提示符运行环境给你。现在开始你可以通过这个沙箱环境访问一个完整的 Ubuntu 系统了。
|
||||
|
||||

|
||||
|
||||
输入“exit”命令退出 Docker 容器。
|
||||
|
||||
你也可以用下面的命令进入不同的系统。比如 Fedora:
|
||||
|
||||
$ docker.io run -i -t fedora /bin/bash
|
||||
|
||||
如果系统中还不存在 Fedora Docker 镜像,这个命令会自动下载它,然后启动这个 Fedora 的 Docker 容器。
|
||||
|
||||

|
||||
|
||||
如果你想要开启指定版本的系统,比如 Ubuntu 13.04,你可以使用下面的命令:
|
||||
|
||||
$ docker.io run -i -t ubuntu:13.04 /bin/bash
|
||||
|
||||
### Container 容器网络设置 ###
|
||||
|
||||
Docker 使用 Linux 桥接技术与其他容器通信,以及连通外网。安装完 Docker 后你应该可以看到 docker0 这个网桥,这是 Docker 默认创建的。你创建的每个容器都会通过这个网桥连接到网络。
|
||||
|
||||

|
||||
|
||||
#### 自定义 Linux 网桥 ####
|
||||
|
||||
如果你想自定义网桥,你可以执行以下步骤。你可以在这个网桥后面分配一个子网,并为这个子网分配地址。下面的命令会为 Docker 子网分配 10.0.0.0/24 地址段:
|
||||
|
||||
$ sudo apt-get install bridge-utils
|
||||
$ sudo brctl addbr br0
|
||||
$ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0
|
||||
|
||||
然后在 /etc/default/docker.io 文件的 DOCKER_OPTS 变量里添加“-b=br0”选项,并重启 Docker 服务:
|
||||
|
||||
$ sudo service docker.io restart
|
||||
|
||||
到目前为止,任何创建的容器都会连上 br0 网桥,它们的 IP 地址会从 10.0.0.0/24 中自动分配(译注:在10.0.0.2到10.0.0.254之间随机分配)。
|
||||
|
||||
#### 其他自定义设置 ####
|
||||
|
||||
你可以通过 /etc/default/docker.io 文件的 DOCKER_OPTS 变量设置其他一些属性:
|
||||
|
||||
- "-dns 8.8.8.8 -dns 8.8.4.4": 为容器指定 DNS 服务器。
|
||||
- "-icc=false": 将容器与其他容器隔离出来
|
||||
|
||||
### 疑难解答 ###
|
||||
|
||||
1、当你运行 docker.io 命令时,你可能会遇到以下问题:
|
||||
|
||||
> dial unix /var/run/docker.sock: no such file or directory
|
||||
|
||||
这个错误可能是由于 Docker 后台进程没有启动。检查下 Docker 后台进程的状态,确认它已经处于启动状态:
|
||||
|
||||
$ sudo service docker.io status
|
||||
$ sudo service docker.io start
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/manage-linux-containers-docker-ubuntu.html
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://linuxcontainers.org/
|
||||
[2]:https://www.docker.io/
|
||||
[3]:http://blog.docker.io/2014/04/docker-in-ubuntu-ubuntu-in-docker/
|
||||
[4]:http://www.redhat.com/about/news/press-archive/2014/4/red-hat-docker-expand-collaboration
|
||||
[5]:http://mwhiteley.com/linux-containers/2013/08/31/docker-on-i386.html
|
||||
[6]:http://xmodulo.com/go/ubuntubook
|
||||
@@ -0,0 +1,194 @@
|
||||
如何使用phpIPAM来管理IP地址和子网
|
||||
================================================================================
|
||||
|
||||
通常,网络或系统管理员有责任来管理其所管理的网络下的一个或多个子网。例如,当一个网段分配了/24子网,那么该子网就有254个IP地址可以用于不同用途。要跟踪某个IP被分配到了哪个主机,就需要通过某种方式记录下来。最简单的方法,就是使用一个电子表格,如Excel来记录IP地址的分配信息。此方法对于只有一个管理员,并且网络很小的情况下比较奏效。然而,对于多个大型网络而言,依赖于电子表格并不方便,而且十分容易出错。更糟糕的是,如果有多个管理员参与管理,更新电子表格就十分麻烦了,因为每个管理员可能生成各种不同版本的文档记录。
|
||||
|
||||
一种系统地管理IP地址分配的方式是使用网络化的IP地址管理工具。不仅仅是因为网络化管理工具能在任何地方访问并管理,而且其后端数据库也能保证所有更新能正确同步并实时生效。尽管有许多可用的网络化应用工具,但我们将在此教程中关注如何来安装[phpIPAM][1](IP Address Manager IP地址管理工具)。phpIPAM是一个开源、高效的IP地址管理应用软件,有着以下一些特性。
|
||||
|
||||
- 同时支持IPv4和IPv6(和其它工具不同,它对IPv6支持得很好)
|
||||
- 内建的IPv4和IPv6计算器
|
||||
- 支持无类域间路由(CIDR)标记
|
||||
- 支持MySQL数据库
|
||||
- 子网嵌套
|
||||
- 基于用户/组权限
|
||||
- 可视化报表工具
|
||||
- 使用.xls文件导入/导出
|
||||
- 支持设备、VRF和VLAN
|
||||
- 强大的搜索引擎
|
||||
- 电子邮件标记
|
||||
- 支持基于AD/LDAP的验证
|
||||
|
||||
可访问[http://demo.phpipam.net][2]查看phpIPAM演示网站。
|
||||
|
||||
在本教程中,我们将**在Ubuntu环境中使用Apache来配置phpIPAM**。
|
||||
|
||||
### 在Ubuntu上安装phpIPAM ###
|
||||
|
||||
首先,使用apt-get来安装需要的软件包。
|
||||
|
||||
# apt-get install apache2 mysql-server php5 php5-gmp php-pear php5-mysql php5-ldap wget
|
||||
|
||||
如果MySQL是首次安装,请使用以下命令来设置root密码。
|
||||
|
||||
# mysqladmin -u root password NEWPASSWORD
|
||||
|
||||
phpIPAM可以安装在任何Web服务器目录中,我们将会安装到Apache Web服务器的根目录下的/phpipam/子目录中。
|
||||
|
||||
下载phpIPAM软件包。
|
||||
|
||||
# wget http://kent.dl.sourceforge.net/project/phpipam/phpipam-1.0.tar
|
||||
|
||||
将软件包解压到Web服务器相应目录。
|
||||
|
||||
# cp phpipam-1.0.tar /var/www/
|
||||
# cp /var/www/
|
||||
# tar xvf phpipam-1.0.tar
|
||||
# rm phpipam-1.0.tar
|
||||
|
||||
现在来指定MySQL的用户名和密码,同时指定基准目录。
|
||||
|
||||
# vim /var/www/phpipam/config.php
|
||||
|
||||
----------
|
||||
|
||||
$db['host'] = "localhost";
|
||||
|
||||
## MySQL user for ipam ##
|
||||
$db['user'] = "phpipam";
|
||||
|
||||
## password for the MySQL user ##
|
||||
$db['pass'] = "phpipamadmin";
|
||||
|
||||
## database for MySQL ##
|
||||
$db['name'] = "phpipam";
|
||||
|
||||
## base directory ##
|
||||
define('BASE', "/phpipam/");
|
||||
|
||||
需要在提供的.htaccess文件中指定基准目录。
|
||||
|
||||
# vim /var/www/phpipam/.htaccess
|
||||
---
|
||||
RewriteBase /phpipam/
|
||||
|
||||
### 准备Apache Web服务器 ###
|
||||
|
||||
phpIPAM的运行需要Apache 的 Rewrite模块,该模块可以在Ubuntu或Debian机器上使用以下命令来启用。
|
||||
|
||||
# a2enmod rewrite
|
||||
|
||||
接下来,需要修改Apache的默认配置。请添加/修改你的配置,使它看起来像下面这样。
|
||||
|
||||
# vim /etc/apache2/sites-enabled/000-default
|
||||
|
||||
----------
|
||||
|
||||
<Directory /var/www/>
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride all
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
最后,重启Apache Web服务。
|
||||
|
||||
# service apache2 restart
|
||||
|
||||
### 完成安装 ###
|
||||
|
||||
我们可以使用浏览器来完成phpIPAM的安装。将浏览器地址指向URL: http://<serverIP>/phpIPAM,将会显示以下phpIPAM安装页面。我们可以开始自动化数据库安装。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
现在,phpIPAM应该已经起来,并正在运行了,我们可以使用以下默认用户来登录。
|
||||
|
||||
- **URL**: http://<serverIP>/phpipam
|
||||
- **User**: Admin
|
||||
- **Pass**: ipamadmin
|
||||
|
||||
### 使用phpIPAM管理IP地址 ###
|
||||
|
||||
在本教程的剩下部分,我们将引领你进入phpIPAM的子网和IP地址管理。
|
||||
|
||||
#### 创建区域 ####
|
||||
|
||||
让我们从为我们的网络创建区域开始吧。点击“管理” > “区域”。
|
||||
|
||||

|
||||
|
||||
点击“添加区域”。现在我们可以为我们的添加的区域取个你想要的名称了(如:"Our Network"),填上区域的详细情况。
|
||||
|
||||
][3]
|
||||
|
||||
#### 创建子网 ####
|
||||
|
||||
接下来,在上面场景的区域“Our Network”下添加一个新的子网172.16.1.0/24。点击“Our Network” > “添加子网”
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
现在,我们可以很容易地在子网中添加IP地址了。一种方法是逐个来添加它们,phpIPAM提供了一个可选的方法:扫描所有主机并自动添加,这一点都不麻烦。它可以扫描位于同一广播域下的本地子网,也可以通过路由扫描到远程子网。在选择一个子网后,像下面这样点击“扫描子网中的新主机”来扫描IP地址。
|
||||
|
||||
][4]
|
||||
|
||||
在扫描完成后,发现的IP地址可以通过点击底部“添加发现的主机”按钮来将IP地址添加到数据库。
|
||||
|
||||
#### 创建IPv6子网 ####
|
||||
|
||||
可以通过相似的步骤来创建IPv6子网,像下面截图中展示的那样来指定IPv6网络。
|
||||
|
||||

|
||||
|
||||
所有用于IPv4的工具也可以用于IPv6.
|
||||
|
||||
#### 创建嵌套子网 ####
|
||||
|
||||
phpIPAM也提供了创建嵌套子网的选项,可以用于IPv4和IPv6。例如,我们将172.16.1.0/24 IP区块划分成4个更小的子网(/26),每个子网用于组织内特定的部门。在选择/24子网后,我们可以使用“添加新的嵌套子网”按钮来创建嵌套子网。截图中展示了添加嵌套子网的图标。
|
||||
|
||||
[5]
|
||||
|
||||
在所有的子网创建完毕后,我们应该有相同的输出。以下是嵌套子网预览窗口。
|
||||
|
||||
[6]
|
||||
|
||||
#### 添加用户和组 ####
|
||||
|
||||
首先,我们将为区域“Our Network”创建一个具有读/写权限的组。这项工作可以通过选择“管理” > “组” > “创建组”来完成。
|
||||
|
||||

|
||||
|
||||
既然组已经被创建完成,那么我们来修改区域权限,选择“管理” > “区域”,然后编辑区域。
|
||||
|
||||
[7]
|
||||
|
||||

|
||||
|
||||
我们将创建一个名为“user1”的用户,添加该用户到“演示组”,以便该用户能从该组集成有所必要的权限。我们从点击“管理” > “用户” > “创建用户”开始。
|
||||
|
||||
[][8]
|
||||
|
||||
现在,我们能以该用户身份登录,并添加/修改“我们的网络”下的IP地址。
|
||||
|
||||
最后小结,phpIPAM是一个多样化的IP地址管理工具,可以用于IPv4和IPv6。本教程仅关注基本内容,以帮助你开始使用该工具。你一定要测试所有可用的特性,如使用IP地址计算器,添加设备,VLAN和VRF,以及使用.xls导入/导出。
|
||||
|
||||
希望本教程对你有所帮助。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/manage-ip-addresses-subnets-phpipam.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://phpipam.net/
|
||||
[2]:http://demo.phpipam.net/
|
||||
[3]:https://www.flickr.com/photos/xmodulo/14030287410/
|
||||
[4]:https://www.flickr.com/photos/xmodulo/14193740006/
|
||||
[5]:https://www.flickr.com/photos/xmodulo/14030318447/
|
||||
[6]:https://www.flickr.com/photos/xmodulo/14216904305/
|
||||
[7]:https://www.flickr.com/photos/xmodulo/14193739966/
|
||||
[8]:https://www.flickr.com/photos/xmodulo/14214506012/
|
||||
@@ -0,0 +1,121 @@
|
||||
如何在Linux上使用命令行管理密码
|
||||
================================================================================
|
||||
|
||||
在基于密码的认证在网络盛行的今天,你可能需要或者已经使用了某种密码管理工具来跟踪管理你正在使用的所有密码。有各种各样的在线或离线服务或者软件工具用于完成此类事情,而这些工具因复杂程度、用户界面或者目标环境(如企业或终端用户)的不同而各不相同。例如,有一些是为终端用户开发基于图形化的密码管理器,如[KeePass(X)][1]。
|
||||
|
||||
对于那些不想要依赖图形化进行密码管理的用户,笔者将会讲述如何在命令行下使用 [pass][2]来管理密码,**这是一个简单的用于命令行管理密码的工具**。
|
||||
|
||||
该密码工具实际上是一个shell脚本编写的前端,其中调用了几个其它工具(如gpg,pwgen,git,xsel)来使用OpenGPG管理用户的密码信息。各个密码使用gpg工具进行加密,并存储到本地密码仓库中。密码信息可以通过终端或者自清除的剪贴板工具使用。
|
||||
|
||||
该密码工具相当灵活,并且使用起来及其简单。你可以将每个密码信息存储到一个OpenGPG保护的普通文本文件,并且将不同的密码文件分组多个类目中。它支持bash自动补全特性,因此可以很方便地使用TAB键来补全命令或者很长的密码名称。
|
||||
|
||||
|
||||
### 在Linux上安装pass ###
|
||||
|
||||
在Debian,Ubuntu或者Linux Mint上安装pass:
|
||||
|
||||
$ sudo apt-get install pass
|
||||
$ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
|
||||
|
||||
|
||||
在Fedora上安装pass:
|
||||
|
||||
$ sudo yum install pass
|
||||
$ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
|
||||
|
||||
在CentOS上安装pass,首先[启用EPEL仓库][3],然后执行以下命令:
|
||||
|
||||
$ sudo yum install pass
|
||||
$ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
|
||||
|
||||
在Archlinux上安装pass:
|
||||
|
||||
$ sudo pac -S pass
|
||||
$ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
|
||||
|
||||
### 初始化本地密码仓库 ###
|
||||
|
||||
在使用密码工具之前,你需要执行一次初始化步骤,该步骤包括创建一个GPG密钥对(如果你还没有)以及一个本地密码仓库。
|
||||
|
||||
首先,通过以下步骤创建一个GPG密钥对(即:公钥/私钥)。如果已经创建了自己的GPG密钥对,可以跳过此步骤。
|
||||
|
||||
$ gpg --gen-key
|
||||
|
||||
执行该步骤,会询问你如下问题。如果你不确定,可以选择接受默认回答。作为密钥生成部分,你将要为你的密钥创建一个加密口令,这个口令实际上是你访问存储在本地密码仓库中的任何密码信息时的主密码。成功创建密钥对后,创建的密钥对会存储在~/.gnupg目录中。
|
||||
|
||||

|
||||
|
||||
接下来,运行以下命令来初始化本地密码仓库。下面的<gpg-id>,输入之前创建密钥对时的关联电子邮件地址。
|
||||
|
||||
$ pass init <gpg-id>
|
||||
|
||||
该命令会在~/.password-store目录中创建一个密码仓库。
|
||||
|
||||
### 在终端使用pass管理密码 ###
|
||||
#### 插入新密码信息 ####
|
||||
|
||||
要将新的密码信息插入到本地密码仓库中,请遵循以下命令格式:
|
||||
|
||||
$ pass insert <password-name>
|
||||
|
||||
<password-name>是你定义的专有名称,并且可以分级(如 "finance/tdbank", "online/gmail.com")。在这种情况下,密码信息可以存储到~/.password-store目录下对应的子目录中。
|
||||
|
||||
如果你想要分多行插入密码信息,请像以下命令一样使用"-m"选项。以你自己喜欢的任何格式来输入密码信息,然后按Ctrl+D来结束。
|
||||
|
||||
$ pass insert <password-name> -m
|
||||
|
||||

|
||||
|
||||
#### 查看所有密码名称列表 ####
|
||||
|
||||
要查看所有存储的密码名称列表,只需输入"pass"命令:
|
||||
|
||||
$ pass
|
||||
|
||||

|
||||
|
||||
#### 从密码仓库中取回密码信息 ####
|
||||
|
||||
要访问特定密码列表中的内容,只需使用以下命令:
|
||||
|
||||
$ pass <password-name>
|
||||
|
||||
例如:
|
||||
|
||||
$ pass email/gmail.com
|
||||
|
||||
会要求你输入密码口令来解锁密钥。
|
||||
|
||||
如果你想要将密码复制到剪贴板,而不是显示到终端屏幕上,使用以下命令:
|
||||
|
||||
$ pass -c email/gmail.com
|
||||
|
||||
当密码被复制到剪贴板,剪贴板在45秒后会被自动清空。
|
||||
|
||||
#### 在密码仓库中生成并存储新密码 ####
|
||||
|
||||
使用`pass`命令,你也可以生成一个新的随机密码,该密码可用于任何目的。pass工具将会使用pwgen工具来生成一个好的随机密码。你可以指定密码的长度,或者生成带或不带符号的密码。
|
||||
|
||||
例如,要生成一个具有10个字符不带符号的密码,并将它存储到 "email/new_service.com"列表中:
|
||||
|
||||
$ pass generate email/new_service.com 10 -n
|
||||
|
||||
#### 移除密码信息 ####
|
||||
|
||||
要移除现存的密码信息是很容易的:
|
||||
|
||||
$ pass rm email/gmail.com
|
||||
|
||||
小结一下,pass是及其灵活,便于携带,并且更为重要的是,易于使用。对于正在寻找能简单而行之有效地、安全地、并且不依赖图形化管理任何私人信息的工具的人,笔者强烈推荐pass。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/manage-passwords-command-line-linux.html
|
||||
|
||||
译者:[GOLinux](https://github.com/译者ID) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/08/how-to-manage-multiple-passwords-on-linux.html
|
||||
[2]:http://www.zx2c4.com/projects/password-store/
|
||||
[3]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
@@ -0,0 +1,105 @@
|
||||
ngxtop:在命令行实时监控 Nginx 的神器
|
||||
================================================================================
|
||||
Nginx网站服务器在生产环境中[运行][1]的时候需要进行实时监控。实际上,诸如[Nagios][2], Zabbix, Munin 的网络监控软件是支持 Nginx 监控的。
|
||||
|
||||
如果你不需要以上软件提供的综合性报告或者长期数据统计功能,只是需要一种快速简便的办法去监控 Nginx 服务器的请求的话,我建议你采用一个叫 [ngxtop][3] 的命令行工具。
|
||||
|
||||
|
||||
你马上就会发现 ngxtop 从界面和名称都借鉴了著名的top命令。ngxtop 是通过分析 Nginx 或者其他的日志文件,使用类似 top 命令的界面实时展示出来的。你可以说你知道的其他高端监控工具,但是在简洁这方面 ngxtop 无疑是最好的。简单就意味着不可替代。
|
||||
|
||||
本指南中,我将介绍如何使用 ngxtop 实时监控 Nginx 网站服务器。
|
||||
|
||||
### Linux 上安装 ngxtop ###
|
||||
|
||||
首先在 Linux 系统中安装依赖库[pip][4](LCTT译注:ngxtop是用python编写的)。
|
||||
|
||||
然后使用如下命令安装 ngxtop。
|
||||
|
||||
$ sudo pip install ngxtop
|
||||
|
||||
### ngxtop 使用 ###
|
||||
|
||||
基本使用方法如下:
|
||||
|
||||
ngxtop [options]
|
||||
ngxtop [options] (print|top|avg|sum) <var>
|
||||
ngxtop info
|
||||
|
||||
这里是一些通用选项。
|
||||
|
||||
- **-l <file>**: 指定日志文件的完整路径 (Nginx 或 Apache2)
|
||||
- **-f <format>**: 日志格式
|
||||
- **--no-follow**: 处理当前已经写入的日志文件,而不是实时处理新添加到日志文件的日志
|
||||
- **-t <seconds>**: 更新频率
|
||||
- **-n <number>**: 显示行号
|
||||
- **-o <var>**: 排序规则(默认是访问计数)
|
||||
- **-a <exp> ..., --a <exp> ...**: 添加表达式(一般是聚合表达式如: sum, avg, min, max 等)到输出中。
|
||||
- **-v**: 输出详细信息
|
||||
- **-i <filter-expression>**: 只处理符合规则的记录
|
||||
|
||||
|
||||
以下是一些内置变量,他们的含义不言自明。
|
||||
|
||||
- body_bytes_send
|
||||
- http_referer
|
||||
- http_user_agent
|
||||
- remote_addr
|
||||
- remote_user
|
||||
- request
|
||||
- status
|
||||
- time_local
|
||||
|
||||
### 使用 ngxtop 监控 Nginx ###
|
||||
|
||||
ngxtop 默认会从其配置文件 (/etc/nginx/nginx.conf) 中查找 Nginx 日志的地址。所以,监控 Nginx ,运行以下命令即可:
|
||||
|
||||
$ ngxtop
|
||||
|
||||
这将会列出10个 Nginx 服务,按请求数量排序。
|
||||
|
||||
显示前20个最频繁的请求:
|
||||
|
||||
$ ngxtop -n 20
|
||||
|
||||

|
||||
|
||||
获取Nginx基本信息:
|
||||
|
||||
$ ngxtop info
|
||||
|
||||

|
||||
|
||||
你可以自定义显示的变量,简单列出需要显示的变量。使用 "print" 命令显示自定义请求。
|
||||
|
||||
$ ngxtop print request http_user_agent remote_addr
|
||||
|
||||

|
||||
|
||||
显示请求最多的客户端IP地址
|
||||
|
||||
$ ngxtop top remote_addr
|
||||
|
||||

|
||||
|
||||
显示状态码是404的请求
|
||||
|
||||
$ ngxtop -i 'status == 404' print request status
|
||||
|
||||

|
||||
|
||||
除了Nginx,ngtop 还可以处理其他的日志文件,比如 Apache 的访问文件。使用以下命令监控 Apache 服务器:
|
||||
|
||||
$ tail -f /var/log/apache2/access.log | ngxtop -f common
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/monitor-nginx-web-server-command-line-real-time.html
|
||||
|
||||
译者:[shipsw](https://github.com/shipsw) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2014/01/compile-install-nginx-web-server.html
|
||||
[2]:http://xmodulo.com/2013/12/monitor-common-services-nagios.html
|
||||
[3]:https://github.com/lebinh/ngxtop
|
||||
[4]:http://ask.xmodulo.com/install-pip-linux.html
|
||||
@@ -0,0 +1,185 @@
|
||||
Monitorix :支持服务器和树莓派的轻量级系统监控系统
|
||||
================================================================================
|
||||
有时候,无论是普通用户还是系统管理员,都需要知道系统运行是否良好。与系统状态相关的许多问题,都可以通过检查运行的服务所生成的日志文件来获得答案。然而,即便对于干过几年的系统管理员而言,要检查日志文件的每个细节都不是件容易的事。这也是为什么他们依赖于监控软件的原因,监控软件能够从不同的源收集信息,并以易于理解的格式给出分析报告,如图表、可视化图像、统计数据等。
|
||||
|
||||
市面上流传着许多复杂的系统监控软件,诸如[Cacti][1], [Nagios][2], Zabbix, Munin此类。在本文中,我们向您介绍一个轻量级的监控工具——Monitorix,该工具设计用于在Linux/BSD上监控系统资源和许多熟知的第三方应用程序。由于专为资源有限的嵌入式系统而优化,Monitorix以使用简单,消耗内存资源少而著称。它内建了一个HTTP服务器用于提供web界面,并使用RRDtool数据库来存储时间序列统计数据,RRDtool可以很容易地和任何脚本语言整合,如Perl,Python,shell脚本,Ruby等。
|
||||
|
||||
### 主要特性 ###
|
||||
|
||||
这里列出了Monitorix的主要特性。要查看完整列表,请参阅[官方网站][3]
|
||||
|
||||
- 当前系统负载和系统服务
|
||||
- CPU/GPU温度传感器
|
||||
- 磁盘温度和健康度
|
||||
- 网络/端口流量和网络状况统计
|
||||
- 邮件统计
|
||||
- Web服务器统计(Apache,Nginx,Lighttpd)
|
||||
- MySQL负载和统计
|
||||
- Squid代理统计
|
||||
- NFS服务器/客户端统计
|
||||
- Raspberry Pi传感器统计
|
||||
- Memcached统计
|
||||
|
||||
### 在Fedora, CentOS或者RHEL上安装并配置Monitorix ###
|
||||
|
||||
首先,安装需要的软件包。注意,在CentOS上,你需要先设置 [EPEL][4]和[Repoforge][5]仓库。
|
||||
|
||||
$ sudo yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL
|
||||
|
||||
完成上一步后,可以通过以下命令来安装Monitorix:
|
||||
|
||||
$ sudo yum install monitorix
|
||||
|
||||
要配置Monitorix,打开`/etc/monitorix/monitorix.conf`配置文件,并修改选项。关于Monitorix的配置文件细节,可以查阅[http://www.monitorix.org/documentation.html][6]。
|
||||
|
||||
默认情况下,内建的HTTP服务器监听8080端口。因此,确保你的防火墙没有阻止TCP 8080端口。
|
||||
|
||||
要启动Monitorix,只需输入以下命令:
|
||||
|
||||
$ sudo service monitorix start
|
||||
|
||||
启动你喜爱的Web浏览器,然后通过http://<host-ip-address>:8080/monitorix来访问Monitorix的Web界面。
|
||||
|
||||
### 在Archlinux上安装并配置Monitorix ###
|
||||
|
||||
在Archlinux上,可以从[AUR][7]上下载Monitorix包。
|
||||
|
||||
默认情况下,在Archlinux上是禁用了其内建HTTP服务器的。要启用内建的HTTP服务器,请编辑/etc/monitorix.conf文件的如下区块。
|
||||
|
||||
<httpd_builtin>
|
||||
enabled = y
|
||||
host =
|
||||
port = 8080
|
||||
user = nobody
|
||||
group = nobody
|
||||
log_file = /var/log/monitorix-httpd
|
||||
hosts_deny =
|
||||
hosts_allow =
|
||||
<auth>
|
||||
enabled = n
|
||||
msg = Monitorix: Restricted access
|
||||
htpasswd = /var/lib/monitorix/htpasswd
|
||||
</auth>
|
||||
</httpd_builtin>
|
||||
|
||||
最后,启动Monitorix服务。
|
||||
|
||||
打开你喜欢的Web浏览器,然后通过http://<host-ip-address>:8080/monitorix来访问Monitorix的Web界面。
|
||||
|
||||
### 在Debian和Ubuntu上安装并配置Monitorix ###
|
||||
|
||||
对于Debian家族,Monitorix可以通过两种方式安装:手工安装或通过第三方软件仓库。
|
||||
|
||||
#### 手工安装(用于Debian) ####
|
||||
|
||||
首先安装所有依赖包。
|
||||
|
||||
$ sudo apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
|
||||
|
||||
从[http://www.monitorix.org/downloads.html][8]下载Monitorix包,并安装。
|
||||
|
||||
$ sudo dpkg -i monitorix*.deb
|
||||
|
||||
在安装期间,会要求你配置一个后端Web服务器。如果你正是用Apache,确保重启Apache服务来重新加载Apache配置。
|
||||
|
||||
$ sudo service apache2 reload
|
||||
|
||||
#### 通过软件仓库安装 (用于Ubuntu) ####
|
||||
|
||||
在/etc/apt/source.list中添加以下行来启用Izzysoft仓库。
|
||||
|
||||
deb http://apt.izzysoft.de/ubuntu generic universe
|
||||
|
||||
下载并为软件仓库添加GPG密钥。
|
||||
|
||||
$ wget http://apt.izzysoft.de/izzysoft.asc
|
||||
$ sudo apt-key add izzysoft.asc
|
||||
|
||||
使用apt-get安装Monitorix,所有依赖包也将自动安装。
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install monitorix
|
||||
|
||||
最后,启动Monitorix服务。
|
||||
|
||||
$ sudo service monitorix start
|
||||
|
||||
要配置Monitorix,请使用文本编辑器编辑`/etc/monitorix/monitorix.conf`,并重启Monitorix服务。
|
||||
|
||||
$ sudo service monitorix restart
|
||||
|
||||
用于Ubuntu的内建Web服务器默认启用。要从Web查看监控结果,在你喜爱的Web浏览器中访问http://<host-ip-address>8080/monitorix。
|
||||
|
||||
### 在Raspberry Pi上安装并配置Monitorix ###
|
||||
|
||||
如果想要在Raspberry Pi(基于Debian)上安装Monitorix,你不能使用上面提到的Izzysoft仓库,因为它不提供Monitorix的ARM移植。取而代之的是,你可以参照如下基于Debian的手工安装。
|
||||
|
||||
首先,安装需要的软件包。
|
||||
|
||||
$ sudo apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
|
||||
|
||||
如果某些需要的软件包没有安装,我们需要使用此命令来强制安装。
|
||||
|
||||
$ sudo apt-get -f install
|
||||
|
||||
从[http://www.monitorix.org/downloads.html][9]下载Monitorix软件包(monitorix_x.x.x-izzy1_all.deb)。
|
||||
|
||||
使用下面的命令来安装Monitorix包。
|
||||
|
||||
$ sudo dpkg -i monitorix_x.x.x-izzy1_all.deb
|
||||
|
||||
安装完成后,我们需要像下面这样对Monitorix配置稍作修改。
|
||||
|
||||
用你喜爱的文本编辑器打开`/etc/monitorix/monitorix.conf`,向下滚动文本直到你找到<graphs enable>。搜索“raspberrypi = n”,并用“y”替换“n”,这将启用对Raspberry Pi时钟频率、温度和电压的监控。
|
||||
|
||||
编辑完成后,重启Monitorix服务。
|
||||
|
||||
$ sudo service monitorix restart
|
||||
|
||||
默认情况下,Monitorix的内建HTTP Web服务器会被启用。要访问Monitorix的Web界面,访问此地址http://<raspberrypi-ip-address>:8080/monitorix。
|
||||
|
||||
### Monitorix截图(Raspberry Pi上) ###
|
||||
|
||||
Monitorix主屏幕:
|
||||
|
||||
[][10]
|
||||
|
||||
系统平均负载和使用情况图示:
|
||||
|
||||
[][11]
|
||||
|
||||
活动进程图示:
|
||||
|
||||
[][12]
|
||||
|
||||
在主屏幕中选择“Raspberry Pi”部分下的“时钟频率”,你会看到[Raspberry Pi][13]的时钟频率、温度和电压的图示:
|
||||
|
||||
[][14]
|
||||
|
||||
所有监控图示:
|
||||
|
||||
[][15]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/web-based-lightweight-system-monitor-linux.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/11/install-configure-cacti-linux.html
|
||||
[2]:http://xmodulo.com/tag/nagios
|
||||
[3]:http://www.monitorix.org/features.html
|
||||
[4]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
[5]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html
|
||||
[6]:http://www.monitorix.org/documentation.html
|
||||
[7]:http://aur.archlinux.org/packages.php?ID=33911
|
||||
[8]:http://www.monitorix.org/downloads.html
|
||||
[9]:http://www.monitorix.org/downloads.html
|
||||
[10]:https://www.flickr.com/photos/xmodulo/14215953893/
|
||||
[11]:https://www.flickr.com/photos/xmodulo/14009175290/
|
||||
[12]:https://www.flickr.com/photos/xmodulo/14195746084/
|
||||
[13]:http://xmodulo.com/go/raspberrypi
|
||||
[14]:https://www.flickr.com/photos/xmodulo/14009143189/
|
||||
[15]:https://www.flickr.com/photos/xmodulo/14192525721/
|
||||
@@ -0,0 +1,83 @@
|
||||
如何从Linux命令行截屏
|
||||
================================================================================
|
||||
Linux上有着许多不同口味儿的截屏工具,包括桌面环境专用的截屏程序(如: KDE里面的KSnapshot,GNOME里面的gnome-screenshot,Xfce的Screenshooter),或者是通用的截屏程序(如 Shutter)。而Scort("SCReen shOT"的缩写)是最独一无二的截屏工具之一,它是一个**命令行截屏工具**。虽然它的界面十分简约,但Scrot在功能上和其它专用的基于GUI的屏幕捕获工具一样强大。举个例子,Scrot支持延时截屏,截屏调整品质/大小,命令行传递等功能。如果你是那些热衷命令行的爱好者之一,Scrot应该是你加入兵器库中的又一实用工具。在这个教程中,我将会描述**如何在命令行中用Scrot截屏**。
|
||||
|
||||
### 在Linux中安装Scrot ###
|
||||
|
||||
在 Debian,Ubuntu 或 Linux Mint 上安装Scrot:
|
||||
|
||||
$ sudo apt-get install scrot
|
||||
|
||||
在 Fedora 上安装Scrot:
|
||||
|
||||
$ sudo yum install scrot
|
||||
|
||||
要在CentOS上安装Scrot,你可以按照下列步骤从源码编译:
|
||||
|
||||
首先[在CentOS上启用Repoforge][1],然后使用下列命令:
|
||||
|
||||
$ sudo yum install giblib-devel
|
||||
$ wget http://linuxbrit.co.uk/downloads/scrot-0.8.tar.gz
|
||||
$ tar xvfvz scrot-0.8.tar.gz
|
||||
$ cd scrot-0.8
|
||||
$ ./configure
|
||||
$ make
|
||||
$ sudo make install
|
||||
|
||||
### 用Scrot截屏 ###
|
||||
|
||||
在这个教程的下面的部分,我会描述如何通过几种不同方法用Scrot截屏。
|
||||
|
||||
#### 1. 截下整个桌面 ####
|
||||
|
||||
截取整个桌面十分简单。只需运行Scrot命令,不需要任何参数,然后它会保存一张整个桌面的截屏,以(日期标记).png的文件形式保存在当前文件目录下。
|
||||
|
||||
$ scrot
|
||||
|
||||
你也可以指定保存目标文件夹和截图文件名。
|
||||
|
||||
$ scrot ~/Pictures/my_desktop.png
|
||||
|
||||
#### 2. 截取特定窗口或矩形区域 ####
|
||||
|
||||
Scrot允许你在桌面选择一个特定的窗口或定义一个矩形区域来截图。使用下列命令来实现:
|
||||
|
||||
$ scrot -s
|
||||
|
||||
运行这个命令后,继续用你的鼠标单击任意窗口或画出一个矩形,它能够触发对选定窗口/区域的屏幕截取。(LCTT译注,还要使用鼠标,伐快乐)
|
||||
|
||||
有时候你选定的区域或窗口可能会被桌面的其它窗口部分遮挡。在这种情况下,你在截屏前需要一点时间来清理那个部分。那正是延迟截屏能够帮到你的,就像下面所描述的那样。
|
||||
|
||||
#### 3. 延迟截屏 ####
|
||||
|
||||
延迟截取在各种情况下都很实用。就在截图前,你可能想要移动一下窗口,激活一下菜单,或是触发特定时间(如通知)等等。 使用“-d N”参数,我们可以将截屏进程延迟N秒。
|
||||
|
||||
$ scrot -s -d 5
|
||||
|
||||
#### 4. 调整截屏质量 ####
|
||||
|
||||
你可以在1到100的范围内调整截取的图像质量(数字越大质量越高)。默认质量设置为75。
|
||||
|
||||
$ scrot -q 50
|
||||
|
||||
#### 5. 调整截屏尺寸 ####
|
||||
|
||||
你可以在1到100的范围内调整截取的图像尺寸(数字越大尺寸越大)。减小截屏的尺寸到原图的10%:
|
||||
|
||||
$ scrot -t 10
|
||||
|
||||
#### 6. 将截取的截屏传递给其它命令 ####
|
||||
|
||||
Scrot允许你发送保存的截屏图像给任意一个命令作为它们的输入。这个选项在你想对截屏图像做任意后期处理的时候十分实用。截屏的文件名/路径跟随于“$f”字符串之后。
|
||||
|
||||
$ scrot -e 'mv $f ~/screenshots'
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/take-screenshot-command-line-linux.html
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html
|
||||
@@ -0,0 +1,57 @@
|
||||
如何在终端下截取一个完整长度的网页截图
|
||||
================================================================================
|
||||

|
||||
|
||||
|
||||
与其记笔记或是把看到的内容发送给其他人,我们更经常通过截屏来帮助我们记忆。
|
||||
但是通常情况下,如果一个网页超出了屏幕高度,我们就得用多张截图去截取其全部内容。
|
||||
|
||||
对于 Linux,你将会有一个更好的解决方案:使用一个 GNOME 的应用来截取某个链接的整个页面。
|
||||
这个应用叫做 **gnome-web-photo**,这篇文章将介绍如何安装和使用它。
|
||||
|
||||
在 Ubuntu 和 Debian 的分支下:
|
||||
|
||||
$ sudo apt-get install gnome-web-photo
|
||||
|
||||
在 Fedora 下:
|
||||
|
||||
$ sudo yum install gnome-web-photo
|
||||
|
||||
但是对于 CentOS 和其他 RedHat 分支的用户,请注意 `gnome-web-photo` 依赖 GTK+ 3.0 这个软件包。
|
||||
也就是说 `gnome-web-photo` 是和 **CentOS/RHEL 6 自带的 GNOME 2 不相兼容的**。
|
||||
|
||||
要为一个网页截图:
|
||||
|
||||
$ gnome-web-photo -t 0 --mode=photo http://www.unixmen.com output.png
|
||||
|
||||
上面这条命令将为 Unixmen 的主页截取一个完整长度的截图,并保存在当前工作目录下。
|
||||
|
||||
输出样例:
|
||||
|
||||

|
||||
|
||||
**-t** 这个参数可以设置生成截图的超时时间。**-t 0** 则表示禁用超时参数。
|
||||
|
||||
**通过** gnome-web-photo,你可以用下面的命令为一个网页生成一个缩略图:(默认大小是 **256×256**,但是可以通过 “**-s**” 来指定缩略图的大小)
|
||||
|
||||
$ gnome-web-photo -t 0 -s 128 --mode=thumbnail http://www.unixmen.com output.png
|
||||
|
||||
输出样例:
|
||||
|
||||

|
||||
|
||||
如果你想将网页截取成一个可供打印的多页 PDF 文档,你可以输入下面的命令:
|
||||
|
||||
$ gnome-web-photo -t 0 --mode=print http://www.unixmen.com output.pdf
|
||||
|
||||
注意这个应用并不支持 **.jpg** 格式。
|
||||
|
||||
这个应用应该对各类用户都有所帮助。我经常对网页进行缩略图和完整长度的截图,希望对你也有所帮助。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/take-full-length-screenshots-websites-via-terminal/
|
||||
|
||||
译者:[VizV](https://github.com/vizv) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
353
published/201406/How to use LVM in Linux.md
Normal file
353
published/201406/How to use LVM in Linux.md
Normal file
@@ -0,0 +1,353 @@
|
||||
Linux LVM简明教程
|
||||
================================================================================
|
||||
逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
|
||||
|
||||
LVM使用分层结构,如下图所示。
|
||||
|
||||

|
||||
|
||||
图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。
|
||||
|
||||
### LVM测试说明 ###
|
||||
|
||||
本文将介绍**怎么在linux中创建和管理LVM卷**。我们将会分成两个部分。第一个部分,我们首先要在一个硬盘上创建多个逻辑卷,然后将它们挂载在/lvm-mount目录。然后我们将要对创建好的卷调整大小。而第二部分,我们将会从另外一块硬盘增加额外的卷到LVM中。
|
||||
|
||||
### 准备磁盘分区 ###
|
||||
|
||||
通过使用fdisk,创建磁盘分区。我们需要创建3个1G分区,注意,并不要求分区的大小一致。同样,分区需要使用‘8e’类型来使他们可用于LVM。
|
||||
|
||||
# fdisk /dev/sdb
|
||||
|
||||
----------
|
||||
|
||||
Command (m for help): n ## 新建
|
||||
Command action
|
||||
e extended
|
||||
p primary partition (1-4)
|
||||
p ## 主分区
|
||||
|
||||
Partition number (1-4): 1 ## 分区号
|
||||
First cylinder (1-1044, default 1): ## 回车用默认的1
|
||||
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## 大小
|
||||
|
||||
Command (m for help): t ## 改变类型
|
||||
Selected partition 1
|
||||
Hex code (type L to list codes): 8e ## LVM 的分区代码
|
||||
Changed system type of partition 1 to 8e (Linux LVM)
|
||||
|
||||
重复上面的操作来创建其他两个分区。分区创建完成后,我们应该有类似如下的输出:
|
||||
|
||||
# fdisk -l
|
||||
|
||||
----------
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdb1 1 132 1060258+ 8e Linux LVM
|
||||
/dev/sdb2 133 264 1060290 8e Linux LVM
|
||||
/dev/sdb3 265 396 1060290 8e Linux LVM
|
||||
|
||||
### 准备物理卷(PV) ###
|
||||
|
||||
刚创建的分区是用来储存物理卷的。LVM可以使用不同大小的物理卷。
|
||||
|
||||
# pvcreate /dev/sdb1
|
||||
# pvcreate /dev/sdb2
|
||||
# pvcreate /dev/sdb3
|
||||
|
||||
使用下列命令检查物理卷的创建情况。下面截取部分输出。"/dev/sdb2"是一个新的"1.01 GiB"物理卷。
|
||||
|
||||
# pvdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- NEW Physical volume ---
|
||||
PV Name /dev/sdb2
|
||||
VG Name
|
||||
PV Size 1.01 GiB
|
||||
Allocatable NO
|
||||
PE Size 0
|
||||
Total PE 0
|
||||
Free PE 0
|
||||
Allocated PE 0
|
||||
PV UUID jszvzz-ENA2-g5Pd-irhV-T9wi-ZfA3-0xo092
|
||||
|
||||
使用下列命令可以删除物理卷。
|
||||
|
||||
# pvremove /dev/sdb1
|
||||
|
||||
### 准备卷组(VG) ###
|
||||
|
||||
下列命令用来创建名为'volume-group1'的卷组,使用/dev/sdb1, /dev/sdb2 和 /dev/sdb3创建。
|
||||
|
||||
# vgcreate volume-group1 /dev/sdb1 /dev/sdb2 /dev/sdb3
|
||||
|
||||
使用下列命令可以来验证卷组。
|
||||
|
||||
# vgdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- Volume group ---
|
||||
VG Name volume-group1
|
||||
System ID
|
||||
Format lvm2
|
||||
Metadata Areas 3
|
||||
Metadata Sequence No 1
|
||||
VG Access read/write
|
||||
VG Status resizable
|
||||
MAX LV 0
|
||||
Cur LV 0
|
||||
Open LV 0
|
||||
Max PV 0
|
||||
Cur PV 3
|
||||
Act PV 3
|
||||
VG Size 3.02 GiB
|
||||
PE Size 4.00 MiB
|
||||
Total PE 774
|
||||
Alloc PE / Size 0 / 0
|
||||
Free PE / Size 774 / 3.02 GiB
|
||||
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
|
||||
|
||||
从输出中,我们可以看见卷组的使用量/总量。物理卷给卷组提供空间。只要在这个卷组中还有可用空间,我们就可以随意创建逻辑卷。
|
||||
|
||||
使用下列命令删除卷组。
|
||||
|
||||
# vgremove volume-group1
|
||||
|
||||
### 创建逻辑卷(LV) ###
|
||||
|
||||
下列命令创建一个名为'1v1'、大小为100MB的逻辑卷。我们使用小分区减少执行时间。这个逻辑卷使用之前创建的卷组的空间。
|
||||
|
||||
# lvcreate -L 100M -n lv1 volume-group1
|
||||
|
||||
逻辑卷可使用lvdisplay命令查看。
|
||||
|
||||
# lvdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- Logical volume ---
|
||||
LV Name /dev/volume-group1/lv1
|
||||
VG Name volume-group1
|
||||
LV UUID YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlW
|
||||
LV Write Access read/write
|
||||
LV Status available
|
||||
# open 0
|
||||
LV Size 100.00 MiB
|
||||
Current LE 25
|
||||
Segments 1
|
||||
Allocation inherit
|
||||
Read ahead sectors auto
|
||||
- currently set to 256
|
||||
Block device 253:2
|
||||
|
||||
现在逻辑卷已经准备好了,我们可以格式化和挂载逻辑卷,就像其它ext2/3/4分区一样!
|
||||
|
||||
# mkfs.ext4 /dev/volume-group1/lv1
|
||||
# mkdir /lvm-mount
|
||||
# mount /dev/volume-group1/lv1 /lvm-mount/
|
||||
|
||||
一旦逻辑卷挂载,我们就可以到挂载点 /lvm-mount/ 上读写了。要创建和挂载其它的逻辑卷,我们重复这个过程。
|
||||
|
||||
最后,使用lvremove我们可以删除逻辑卷。
|
||||
|
||||
# umount /lvm-mount/
|
||||
# lvremove /dev/volume-group1/lv1
|
||||
|
||||
### 扩展一个LVM卷 ###
|
||||
|
||||
调整逻辑卷大小的功能是LVM最有用的功能。这个部分会讨论我们怎么样扩展一个存在的逻辑卷。下面,我们将会扩展先前创建的逻辑卷‘lv1’扩大到200MB。
|
||||
|
||||
注意,调整逻辑卷大小之后,也需要对文件系统调整大小进行匹配。这个额外的步骤各不相同,取决于创建文件系统的类型。在本文中,我们使用'lv1'创建了ext4类型的文件系统,所以这里的操作是针对ext4文件系统的。(ext2/3文件系统也类同)。命令的执行顺序是很重要的。
|
||||
|
||||
首先,我们卸载掉lv1卷
|
||||
|
||||
# umount /lvm-mount/
|
||||
|
||||
然后,设置卷的大小为200M
|
||||
|
||||
# lvresize -L 200M /dev/volume-group1/lv1
|
||||
|
||||
接下来,检查磁盘错误
|
||||
|
||||
# e2fsck -f /dev/volume-group1/lv1
|
||||
|
||||
运行以下命令扩展文件系统以后,ext4信息就更新了。
|
||||
|
||||
# resize2fs /dev/volume-group1/lv1
|
||||
|
||||
现在,这个逻辑卷应该已经扩展到200MB了。我们检查LV的状态来验证。
|
||||
|
||||
# lvdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- Logical volume ---
|
||||
LV Name /dev/volume-group1/lv1
|
||||
VG Name volume-group1
|
||||
LV UUID 9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
|
||||
LV Write Access read/write
|
||||
LV Status available
|
||||
# open 0
|
||||
LV Size 200.00 MiB
|
||||
Current LE 50
|
||||
Segments 1
|
||||
Allocation inherit
|
||||
Read ahead sectors auto
|
||||
- currently set to 256
|
||||
Block device 253:2
|
||||
|
||||
现在,这个逻辑卷可以再次挂载,同样这个方法也可用于其他分区。
|
||||
|
||||
### 缩减一个LVM卷 ###
|
||||
|
||||
这章节介绍缩减LVM卷大小的方法。命令的顺序同样重要。并且,下列命令对ext2/3/4文件系统同样有效。
|
||||
|
||||
注意减少逻辑卷的大小值若小于储存的数据大小,存储在后面的数据会丢失。
|
||||
|
||||
首先,卸载掉卷。
|
||||
|
||||
# umount /dev/volume-group1/lv1
|
||||
|
||||
然后,检测磁盘错误。
|
||||
|
||||
# e2fsck -f /dev/volume-group1/lv1
|
||||
|
||||
接下来缩小文件系统,更新ext4信息。
|
||||
|
||||
# resize2fs /dev/volume-group1/lv1 100M
|
||||
|
||||
完成以后,减少逻辑卷大小
|
||||
|
||||
# lvresize -L 100M /dev/volume-group1/lv1
|
||||
|
||||
> WARNING: Reducing active logical volume to 100.00 MiB
|
||||
> THIS MAY DESTROY YOUR DATA (filesystem etc.)
|
||||
> Do you really want to reduce lv1? [y/n]: y
|
||||
> Reducing logical volume lv1 to 100.00 MiB
|
||||
> Logical volume lv1 successfully resized
|
||||
|
||||
最后,验证调整后的逻辑卷大小。
|
||||
|
||||
# lvdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- Logical volume ---
|
||||
LV Name /dev/volume-group1/lv1
|
||||
VG Name volume-group1
|
||||
LV UUID 9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
|
||||
LV Write Access read/write
|
||||
LV Status available
|
||||
# open 0
|
||||
LV Size 100.00 MiB
|
||||
Current LE 25
|
||||
Segments 1
|
||||
Allocation inherit
|
||||
Read ahead sectors auto
|
||||
- currently set to 256
|
||||
Block device 253:2
|
||||
|
||||
### 扩展一个卷组 ###
|
||||
|
||||
本节将讨论扩展卷组的方法,将一个物理卷添加到卷组。让我们假设我们的卷组'volume-group1'已经满了,需要扩大。手上的硬盘(sdb)已经没有其他空闲分区,我们添加了另外一个硬盘(sdc)。我们将看到如何把sdc的分区添加到卷组以扩展。
|
||||
|
||||
检测现在卷组状态
|
||||
|
||||
# vgdisplay volume-group1
|
||||
|
||||
----------
|
||||
|
||||
--- Volume group ---
|
||||
VG Name volume-group1
|
||||
System ID
|
||||
Format lvm2
|
||||
Metadata Areas 3
|
||||
Metadata Sequence No 8
|
||||
VG Access read/write
|
||||
VG Status resizable
|
||||
MAX LV 0
|
||||
Cur LV 1
|
||||
Open LV 0
|
||||
Max PV 0
|
||||
Cur PV 3
|
||||
Act PV 3
|
||||
VG Size 3.02 GiB
|
||||
PE Size 4.00 MiB
|
||||
Total PE 774
|
||||
Alloc PE / Size 25 / 100.00 MiB
|
||||
Free PE / Size 749 / 2.93 GiB
|
||||
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
|
||||
|
||||
首先,我们创建一个2GB分区sdc1,类型为LVM(8e),如教程前所述。
|
||||
|
||||
# fdisk /dev/sdc
|
||||
|
||||
----------
|
||||
|
||||
Command (m for help): n
|
||||
Command action
|
||||
e extended
|
||||
p primary partition (1-4)
|
||||
p
|
||||
Partition number (1-4): 1
|
||||
First cylinder (1-1044, default 1):
|
||||
Using default value 1
|
||||
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +2G
|
||||
|
||||
Command (m for help): t
|
||||
Selected partition 1
|
||||
Hex code (type L to list codes): 8e
|
||||
Changed system type of partition 1 to 8e (Linux LVM)
|
||||
|
||||
Command (m for help): w
|
||||
The partition table has been altered!
|
||||
|
||||
然后,我们创建一个物理卷 /dev/sdc1
|
||||
|
||||
# pvcreate /dev/sdc1
|
||||
|
||||
现在,物理卷已经准备好了,我们可以简单地将它增加到已存在的卷组'volume-group1'上。
|
||||
|
||||
# vgextend volume-group1 /dev/sdc1
|
||||
|
||||
使用vgdisplay来验证(可以看到卷组大小已经增大)。
|
||||
|
||||
# vgdisplay
|
||||
|
||||
----------
|
||||
|
||||
--- Volume group ---
|
||||
VG Name volume-group1
|
||||
System ID
|
||||
Format lvm2
|
||||
Metadata Areas 4
|
||||
Metadata Sequence No 9
|
||||
VG Access read/write
|
||||
VG Status resizable
|
||||
MAX LV 0
|
||||
Cur LV 1
|
||||
Open LV 0
|
||||
Max PV 0
|
||||
Cur PV 4
|
||||
Act PV 4
|
||||
VG Size 5.03 GiB
|
||||
PE Size 4.00 MiB
|
||||
Total PE 1287
|
||||
Alloc PE / Size 25 / 100.00 MiB
|
||||
Free PE / Size 1262 / 4.93 GiB
|
||||
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
|
||||
|
||||
注意,尽管我们使用一个单独的磁盘做示范,其实只要是‘8e’类型的磁盘分区都可以用来扩展卷组。
|
||||
|
||||
总结一下,LVM是一个非常给力的工具,用来创建和管理可变大小的分区。本文中,我们已经看见了动态分区如何在LVM中创建和使用。我们也看见了扩展/缩小逻辑卷和卷组的方法,和如何增加一个新的磁盘到LVM。
|
||||
|
||||
希望对你有帮助。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/05/use-lvm-linux.html
|
||||
|
||||
译者:[Vic___](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -0,0 +1,78 @@
|
||||
如何使用netstat命令验证DDOS入侵
|
||||
================================================================================
|
||||
|
||||
一般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件。当然也有可能是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDOS (分布式拒绝服务攻击)。
|
||||
|
||||
Dos攻击或者DDos攻击目的是使服务器或者网络资源耗尽,使其他用户无法使用。一般来说,这种攻击主要针对重要的网站或服务,比如银行、信用卡支付网关甚至是根域名服务器。Dos攻击主要通过强制目标主机重启或大量消耗其主机资源,使得目标主机无法提供服务或者妨害主机和用户之间的通信的手段,使得主机无法提供正常的服务的。
|
||||
|
||||
在本文中你将知道如何在终端中使用netstat命令判断服务器是否遭受Dos攻击。
|
||||
|
||||
netstat命令的用户手册描述其作用是用来显示网络连接、路由表、接口统计、伪连接和组播成员的。
|
||||
|
||||
### 一些例子和解释 ###
|
||||
|
||||
netstat -na
|
||||
|
||||
该命令将显示所有活动的网络连接。
|
||||
|
||||
netstat -an | grep :80 | sort
|
||||
|
||||
显示所有80端口的网络连接并排序。这里的80端口是http端口,所以可以用来监控web服务。如果看到同一个IP有大量连接的话就可以判定单点流量攻击了。
|
||||
|
||||
netstat -n -p|grep SYN_REC | wc -l
|
||||
|
||||
这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值相当的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。
|
||||
|
||||
netstat -n -p | grep SYN_REC | sort -u
|
||||
|
||||
列出所有连接过的IP地址。
|
||||
|
||||
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
|
||||
|
||||
列出所有发送SYN_REC连接节点的IP地址。
|
||||
|
||||
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
|
||||
|
||||
使用netstat命令计算每个主机连接到本机的连接数。
|
||||
|
||||
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
|
||||
|
||||
列出所有连接到本机的UDP或者TCP连接的IP数量。
|
||||
|
||||
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
|
||||
|
||||
检查 ESTABLISHED 连接并且列出每个IP地址的连接数量。
|
||||
|
||||
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
|
||||
|
||||
列出所有连接到本机80端口的IP地址和其连接数。80端口一般是用来处理HTTP网页请求。
|
||||
|
||||
### 如何减少DOS攻击 ###
|
||||
|
||||
一旦你获得攻击服务器的IP地址你就可以使用以下命令拒绝此IP的所有连接。
|
||||
|
||||
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
|
||||
|
||||
注意,你需要将 $IPADRESS 替换成需要拒绝连接的IP地址。
|
||||
|
||||
执行完以上命令后,使用以下命令结束所有的httpd连接以清理系统。
|
||||
|
||||
killall -KILL httpd
|
||||
|
||||
然后执行以下命令重启httpd服务。
|
||||
|
||||
service httpd start #RedHat 系统
|
||||
|
||||
/etc/init/d/apache2 restart #Debian 系统
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
via: http://linuxaria.com/howto/how-to-verify-ddos-attack-with-netstat-command-on-linux-terminal
|
||||
|
||||
译者:[shipsw](https://github.com/shipsw) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
|
||||
39
published/201406/Install SoundCloud In Ubuntu 14.04.md
Normal file
39
published/201406/Install SoundCloud In Ubuntu 14.04.md
Normal file
@@ -0,0 +1,39 @@
|
||||
Ubuntu 14.04安装声云(SoundCloud)
|
||||
================================================================================
|
||||
[SoundCloud][1]是一个发现alternate音乐和 indi音乐的很棒的平台。如果你是声云(SoundCloud)的粉丝,你可以在Ubuntu 14.04,或者其早期版本以及Linux Mint、Elementary OS等其它Linux发行版中作为“桌面应用”来尝试。
|
||||
|
||||
要**在Ubuntu 14.04中安装声云(SoundCloud)**,我们将使用与[在Ubuntu中安装Google Keep][2]相同的方法来安装。上次我们使用Google Chrome来安装Google Keep,而这次我们将使用Firefox来安装声云(SoundCloud)。
|
||||
|
||||
### 在Ubuntu 14.04和Linux Mint中安装声云(SoundCloud): ###
|
||||
|
||||
由于Ubuntu(以及大多数其它Linux发行版)预装了Firefox,只需打开Firefox并转到该地址:[https://marketplace.firefox.com/][3]。
|
||||
|
||||
Firefox应用市场是Chrome商店的替代品,类似于Firefox网页浏览器的应用市场,里面提供了一些用于Firefox智能手机OS的应用。在Firefox应用市场中搜索声云(SoundCloud),点击安装(install)来安装,并作为Web应用添加到Ubuntu中。
|
||||

|
||||
|
||||
完成后,你可以通过在Unity Dash中搜索声云(SoundCloud)应用来启动它。下图展示了Ubuntu 14.04 Unity中该应用的外观:
|
||||
|
||||

|
||||
|
||||
### 卸载从Firefox应用市场安装的声云(SoundCloud)应用 ###
|
||||
|
||||
不要过于兴奋了。该桌面没有整合声音菜单,桌面通知也一样没有,但是这的确比Web版应用要好,至少我是这么认为的。但是如果你感到不满意,那么就卸载它吧,这在Ubuntu中也很容易。
|
||||
|
||||
运行声云(SoundCloud),在Unity启动器上**右击**声云(SoundCloud)图标,然后点击**卸载应用(uninstall app)**。
|
||||
|
||||

|
||||
|
||||
我不是一个十足的声云(SoundCloud)粉丝。我更喜欢[在Ubuntu中安装声破天(Spotify)][4]超过任何其它流媒体音乐应用。而你呢?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/install-soundcloud-ubuntu-1404/
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://soundcloud.com/
|
||||
[2]:http://itsfoss.com/install-google-keep-ubuntu-1310/
|
||||
[3]:https://marketplace.firefox.com/
|
||||
[4]:http://itsfoss.com/install-spotify-ubuntu-1404/
|
||||
106
published/201406/Linux Pros' Top Command Line Secrets.md
Normal file
106
published/201406/Linux Pros' Top Command Line Secrets.md
Normal file
@@ -0,0 +1,106 @@
|
||||
Linux大神们的顶级命令行秘诀
|
||||
================================================================================
|
||||

|
||||
|
||||
**好吧**,Linux博客圈这里这周相对比较平静,给网民们一个拖了很久的机会集体喘口气吧,去享受一下龙舌兰、燕尾服、鸡尾酒带来的欢快吧,然后评估一下过去几周来发生的和自由开放软件相关的事件吧。
|
||||
|
||||
“你是否曾经在听一张专辑的时候想过‘伙计,这听起来不错,但是我希望它能经常从用户空间过渡到内核空间去!’”粉丝们在Facebook上写道,“我们会全力支持你的。我们的专辑现在完全可以作为一个可加载的Linux内核模块来播放。”
|
||||
|
||||
Linux女孩曾经认为她自己已经完全进入Linux世界了,但是她现在却意识到她的想法是错误的。谢谢你们,粉丝们,是你们让生活一直这么有趣!
|
||||
|
||||
### ‘命令行秘诀’ ###
|
||||
|
||||

|
||||
|
||||
说到有趣,没什么比围坐在吧台前谈论行业内的事情来度过平静的一周更带劲了,而上周搞了一次。Linux博客圈内的生活很惬意。
|
||||
|
||||
座谈会内容是《Linux之声》——那本炫目出世的新杂志,读者也许记得它是[去年年底发布的][6]——而谈话的主题恰恰就是[命令行秘诀][7]
|
||||
|
||||
Linux女孩太激动了。
|
||||
|
||||
### ‘它打算渲染大多数网页’ ###
|
||||
|
||||
“有很多使用命令行的真正的好理由,”《Linux之声》的策划者写道,“它是让你和计算机进行交互的强大而简明的方法“
|
||||
|
||||
“然而,我想花点时间来看看它里头一些更为晦涩的用法(有人会说毫无意义,不值得去做了)。“他们补充说。
|
||||
|
||||
杂志首先列出的是elinks网页浏览器:“它可能看起来没有它的竞争对手那样光彩照人,但它的目标是能够渲染大多数网页。”他们解释道,“它也有着极客时尚,当你需要快速检查你是否能从只能通过SSH访问的计算机上去访问网页时,它就会派上用场了。“
|
||||
|
||||
之后谈到的包含了从维基百科上查阅一些定义等其它一些实用的小建议。
|
||||
|
||||
### '对维护很重要' ###
|
||||
|
||||
“命令行的小技巧很有趣,真的很有趣。”比如,Google+博主亚历桑德鲁:埃伯索尔满怀热情地说,“但是他们忘了[cowsay][8],它可以用来在黑漆漆的终端里博你一笑。“
|
||||
|
||||
”命令行对于维护很重要。“他补充说,”大家可以使用bash脚本来自动化,只需按几个快捷键(或者只要一个就行)来完成复杂的任务。”
|
||||
|
||||
其它命令行秘诀,埃伯索尔会把它们放进原来的列表的包括sl(蒸汽机车),以及这些[这些奇怪的点子][9]:
|
||||
|
||||
* % cat "food in cans"
|
||||
cat: can't open food in cans
|
||||
* % nice man woman
|
||||
No manual entry for woman.
|
||||
* % [Where is Jimmy Hoffa?
|
||||
Missing ].
|
||||
* % make love
|
||||
Make: Don't know how to make love. Stop.
|
||||
* % man: why did you get a divorce?
|
||||
man:: Too many arguments.
|
||||
|
||||
### '最珍贵的精华' ###
|
||||
|
||||
“命令行秘诀?根本没这玩意。”博主[罗伯特:伯格森][10]告诉Linux女孩道,”失望了吧,新手?那就猛敲‘help’吧。还想要点提示?随便‘man’个什么吧。想更多来点不同?敲‘ls /bin /sbin /usr/bin /usr/sbin | less’,随便捡几个宝贝命令出来,整晚地‘man’去吧。我已经干那活超过十年了,到现在还玩得不亦乐乎。”
|
||||
|
||||
伯格森记不得多久以前他发现了‘ssh’,但是“它是自由/开源软件世界中最璀璨的宝石了。“他说。
|
||||
|
||||
”ssh的强大力量在于,你可以在一台计算机上输入命令获得快乐,你更可以在100台计算机上干同样的事情来获得100倍的快乐。“他补充道,”当然,要输入100次命令可不是闹着玩的。所以,学习一下通过ssh安全地无密码登陆,可以让ssh的远程登陆透明化。“
|
||||
|
||||
### '带着尊重来用吧' ###
|
||||
|
||||
当然,”就像干任何快乐的事一样,有人会沉迷于搞破坏。“伯格森警告道,”作为root用户,你可以输入命令来删除所有的东西,或者把这一切搞乱。“
|
||||
|
||||
”这是核弹按钮,就像全球领袖处理世界事务一样,在按下那个键之前一定要三思而后行,评估干这事所产生的结果,带着尊重和高尚的动机来使用它。“他补充道。
|
||||
|
||||
”我曾经删除了一个文件系统,因为我的大拇指在输入一个命令时不小心蹭到了空格键。“伯格森总结道,”坦白地说,这种蠢事我只干过一次。“
|
||||
|
||||
### '很强大' ###
|
||||
|
||||
Google+博主贡萨洛:贝拉斯科C不那么热情。
|
||||
|
||||
“即使[GUI][11]工具更易用,在*nix领域,命令行仍然很强大。“他告诉Linux女孩,”甚至一些高级MacOS用户也用它们。”
|
||||
|
||||
对于贡萨洛:贝拉斯科C他自己而言,“我想要掌握的唯一一些命令是进程控制和杀死命令,想要使用ctrl+alt+退格键,因为我可以用来处理给我造成麻烦的那个进程,我还想要掌握tar.gz文件的管理——那玩意到现在还让我头痛。“他说。
|
||||
|
||||
#### '你正在做错事' ####
|
||||
|
||||
最后一点,但并非不重要,SoylentNews博主hairyfeet有一个完全不同的观点。
|
||||
|
||||
“我只想谈一件事情来充实一下命令行界面这个报道:如果你不干IT,而且做着一些重复的事情,而这些事情只是很简单、很原始地去记录一些有用的事情,但你还在用命令行,那么‘你在走一条不归路’“hairyfeet告诉Linux女孩,”命令行界面没什么神奇——它只是1970年代以来的一个图形化界面!“
|
||||
|
||||
今天,有很多“有用的图形化界面,这要多亏了CPU速度的提升和内存的增加,而不是一美元店里的廉价手表——我们甚至有IDE和脚本语言,大大超过70年代那些古董,可以在广域网或者局域网上工作,并与操作系统最底层交互,一切都在变得更易用,这多亏了智能感应和自动完成这样的技术。“他解释说,”所以上天作证,如果你不是那3%的系统管理员,工作在以字节计数的世界里,你会把那一堆垃圾从陈年旧帐中翻出来?
|
||||
|
||||
这是Hairyfeet的最佳命令行建议?“不要——被21世纪那些不切实际的想法所左右,学学怎样真正来使用语言和工具吧。“他总结道,”让命令行成为泡影,把软盘都扔进历史的垃圾桶吧。“
|
||||
|
||||
> 本文作者Katherine Noyes总是尽忠职守扮演好她的Linux女孩,那件斗篷她从2007穿到现在了。作为一个白天举止温和的女记者,她晚上像逛夜店一样,为了搜寻最新的小道消息,在Linux博客圈上灌水。你也能在 [Twitter][12]和[Google+][13]上找到她。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxinsider.com/story/80437.html?rss=1
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.computer.org/portal/web/pressroom/Linus-Torvalds-Named-Recipient-of-the-2014-IEEE-Computer-Society-Computer-Pioneer-Award
|
||||
[2]:http://www.ieee.org/
|
||||
[3]:http://www.linuxinsider.com/story/80386.html
|
||||
[4]:https://www.facebook.com/netcatband/posts/755205877853161?stream_ref=10
|
||||
[5]:http://www.netcat.co/
|
||||
[6]:http://www.linuxinsider.com/story/79448.html
|
||||
[7]:http://www.linuxvoice.com/commandline-secrets/
|
||||
[8]:http://en.wikipedia.org/wiki/Cowsay
|
||||
[9]:https://www.linux.com/community/blogs/133-general-linux/10408
|
||||
[10]:http://mrpogson.com/
|
||||
[11]:http://en.wikipedia.org/wiki/GUI
|
||||
[12]:http://twitter.com/noyesk
|
||||
[13]:https://plus.google.com/+KatherineNoyes?rel=author
|
||||
126
published/201406/Linux Terminal--Dstat monitoring tools.md
Normal file
126
published/201406/Linux Terminal--Dstat monitoring tools.md
Normal file
@@ -0,0 +1,126 @@
|
||||
Linux终端下 dstat 监控工具
|
||||
================================================================================
|
||||
|
||||
dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。
|
||||
|
||||
dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。
|
||||
|
||||
dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。
|
||||
|
||||
Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。
|
||||
|
||||
###特性###
|
||||
|
||||
- 结合了vmstat,iostat,ifstat,netstat以及更多的信息
|
||||
- 实时显示统计情况
|
||||
- 在分析和排障时可以通过启用监控项并排序
|
||||
- 模块化设计
|
||||
- 使用python编写的,更方便扩展现有的工作任务
|
||||
- 容易扩展和添加你的计数器(请为此做出贡献)
|
||||
- 包含的许多扩展插件充分说明了增加新的监控项目是很方便的
|
||||
- 可以分组统计块设备/网络设备,并给出总数
|
||||
- 可以显示每台设备的当前状态
|
||||
- 极准确的时间精度,即便是系统负荷较高也不会延迟显示
|
||||
- 显示准确地单位和和限制转换误差范围
|
||||
- 用不同的颜色显示不同的单位
|
||||
- 显示中间结果延时小于1秒
|
||||
- 支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形
|
||||
|
||||
### 安装方法 ###
|
||||
|
||||
Ubuntu/Mint和Debin系统:
|
||||
|
||||
本地软件库中有相关安装包,你可以用下面命令安装:
|
||||
|
||||
# sudo apt-get install dstat
|
||||
|
||||
RHEL/Centos和Fedora系统:
|
||||
|
||||
你可以在romforge软件库中添加有相关安装包,参照[指导][2],使用如下命令很简单就能进行安装:
|
||||
|
||||
# yum install dstat
|
||||
|
||||
ArchLinux系统:
|
||||
|
||||
相关软件包在社区资源库中,你可以用这个命令来安装:
|
||||
|
||||
# pacman -S dstat
|
||||
|
||||
###使用方法 ###
|
||||
|
||||
dstat的基本用法就是输入dstat命令,输出如下:
|
||||
|
||||

|
||||
|
||||
这是默认输出显示的信息:
|
||||
|
||||
**CPU状态**:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。
|
||||
|
||||
**磁盘统计**:磁盘的读写操作,这一栏显示磁盘的读、写总数。
|
||||
|
||||
**网络统计**:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。
|
||||
|
||||
**分页统计**:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。
|
||||
|
||||
**系统统计**:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。
|
||||
|
||||
默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按"CTRL-C"键。
|
||||
|
||||
需要注意的是报告的第一行,通常这里所有的统计都不显示数值的。
|
||||
|
||||
这是由于dstat会通过上一次的报告来给出一个总结,所以第一次运行时是没有平均值和总值的相关数据。
|
||||
|
||||
但是dstat可以通过传递2个参数运行来控制报告间隔和报告数量。例如,如果你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果,你可以运行如下命令:
|
||||
|
||||
dstat 3 10
|
||||
|
||||
在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多数常用的参数有这些:
|
||||
|
||||
- -l :显示负载统计量
|
||||
- -m :显示内存使用率(包括used,buffer,cache,free值)
|
||||
- -r :显示I/O统计
|
||||
- -s :显示交换分区使用情况
|
||||
- -t :将当前时间显示在第一行
|
||||
- –fs :显示文件系统统计数据(包括文件总数量和inodes值)
|
||||
- –nocolor :不显示颜色(有时候有用)
|
||||
- –socket :显示网络统计数据
|
||||
- –tcp :显示常用的TCP统计
|
||||
- –udp :显示监听的UDP接口及其当前用量的一些动态数据
|
||||
|
||||
当然不止这些用法,dstat附带了一些**插件**很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:
|
||||
|
||||
- -–disk-util :显示某一时间磁盘的忙碌状况
|
||||
- -–freespace :显示当前磁盘空间使用率
|
||||
- -–proc-count :显示正在运行的程序数量
|
||||
- -–top-bio :指出块I/O最大的进程
|
||||
- -–top-cpu :图形化显示CPU占用最大的进程
|
||||
- -–top-io :显示正常I/O最大的进程
|
||||
- -–top-mem :显示占用最多内存的进程
|
||||
|
||||
|
||||
举一些例子:
|
||||
|
||||
查看全部内存都有谁在占用:
|
||||
|
||||
dstat -g -l -m -s --top-mem
|
||||
|
||||
显示一些关于CPU资源损耗的数据:
|
||||
|
||||
dstat -c -y -l --proc-count --top-cpu
|
||||
|
||||
###如何输出一个csv文件###
|
||||
|
||||
想输出一个csv格式的文件用于以后,可以通过下面的命令:
|
||||
|
||||
# dstat –output /tmp/sampleoutput.csv -cdn
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linuxaria.com/howto/linux-terminal-dstat-monitoring-tools
|
||||
|
||||
译者:[disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://linuxaria.com/tag/network
|
||||
[2]:http://www.tecmint.com/install-and-enable-rpmforge-repository-in-rhel-centos-6-5-4/
|
||||
136
published/201406/Making Linux Feel at Home.md
Normal file
136
published/201406/Making Linux Feel at Home.md
Normal file
@@ -0,0 +1,136 @@
|
||||
让Linux宾至如归
|
||||
================================================================================
|
||||
**采用小企鹅不管是对于小企业还是大企业而言,都是一个明智的选择。Linux曾经被认为是业余爱好者的操作系统,但是经历了很长一段历程后,现在它成了企业级系统。它很稳定,而且很安全。Linux易于定制,而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。**
|
||||
|
||||

|
||||
|
||||
迁移到一个不同的系统,从来都不是件容易的事。继续开着窗户(Windows),或吃着苹果(MacIntosh)可能是个令人沮丧且代价高昂的体验。花钱升级新的硬件来赶上高贵的新软件时髦,这往往是毫无价值的做法。
|
||||
|
||||
在家里或一个小型的办公环境中运行一个Linux发行版,这是个有益的尝试,它可以带来开支的节约和效率的提升。对于企业环境而言,采用Linux服务器系统来替代微软基础架构常常是个明智的商业选择。
|
||||
|
||||
然而,放弃熟悉操作系统下的舒适环境的过程看起来比实际更具挑战性。个人用户和中小型企业可以分阶段迁移到Linux桌面。软件是免费的,而用户已有的硬件是可以支持Window和Linux架构的。
|
||||
|
||||
许多更大型的企业已经跑起了它们自己的Linux服务器仓库和完整的Linux桌面应用,这里它更容易适应。基于云的软件的使用使得办公室人员在使用他们的工作站工作时意识不到有很大的改变。
|
||||
|
||||
“是否迁移到Linux取决于使用情况。如果在家里使用,或者从事开发,那么你会想使用Linux中所有可用的功能。那是没脑子的想法。迁移到另外一个操作系统从来没有一帆风顺的。没有哪种使用情况可以适合所有场合,它取决于用户基础。“麦克 瓦伊塔尔,[Talkpoint][1]首席技术官,告诉LinuxInsider。
|
||||
|
||||
在中小型企业中和企业客户一起工作,瓦伊塔尔发现,利用新技术的个人用户和公司领导者的数量在增长,这些新技术将他们吸引到Linux中来。
|
||||
|
||||
### 舒适度期望值 ###
|
||||
|
||||
这些Linux技术之一就是Chrome OS,还有现在由基于Linux的Chrome操作系统驱动的廉价笔记本。
|
||||
|
||||
由于用户已经熟悉Google的Chrome浏览器,或者开源的Chronium浏览器项目,使用Chromebook或者基于云的运载系统使得迁移到Linux变得小菜一碟。
|
||||
|
||||
“忽略使用的操作系统,其中一个问题是浏览器的能力。我们已经发现,用户85%的时间花在浏览器中”[Splashtop][2]的共同创立者及产品管理高级副总裁托马斯.邓这样对LinuxInsider说。
|
||||
|
||||
邓发现,那些有着快速学习曲线、能适应较新技术的人对此越来越有兴趣。人们使用多种多样的产品。因此迁移到一个与他们在其它设备上使用过的系统类似的系统,会使得迁移更平稳。
|
||||
|
||||
### Chrome迎合潮流 ###
|
||||
|
||||
移动设备用户,不管是在家中还是工作中,越来越精通Linux,而他们根本不知道这是个什么系统。他们在几个操作系统间切换。伴随着熟练程度的提高,开源环境也越发让人感觉舒适。通过云平台来分发跨平台软件,这是一个附加的迁移措施。
|
||||
|
||||
“Google正在做的是与办公套件相关的一些真正有趣的事情。Google现在正在它的Chrome OS上敞开大门。”瓦伊塔尔说。
|
||||
|
||||
对于关闭窗户(Windows),敞开大门(Chrome OS),一个很好的例子是它的公司内部使用Chrome驱动的工具。例如,Talkpoint使用ChromeBox设备。
|
||||
|
||||
“那就为多媒体团队和传统的AV用户敞开了大门。我们看到该技术上的很多进展。”瓦伊塔尔解释说。
|
||||
|
||||
### 平板打破传统 ###
|
||||
|
||||
另外一个Linux设备为迁移到桌面OS铺平道路的例子是安卓系统的流行。加上这个为智能手机和平板电脑改良的Linux发行版。
|
||||
|
||||
“对于迁移到Linux的人而言,人们对平板界面感到很舒服,尤其是在对Windows 8界面感到不满之后。我认识的每个人都试着回到Windows 7。”瓦伊塔尔说。
|
||||
|
||||
### 云计算具有Linux影响力 ###
|
||||
|
||||
人们希望使用像MS Offcie这样熟悉的生产工具来进行文字处理。而在Windows平台上,开源产品不怎么被人熟知。因此,在开始迁移到完整的Linux桌面之前,先整合开源工具到原有平台会很有帮助。邓解释道。
|
||||
|
||||
随着Google Docs和Google Chrome浏览器的流行,Windows用户不知道开源的趋势正在发生改变。他指出。
|
||||
|
||||
“让迁移到Linux变得方便的另外一条路是迁移到云端,使用云端应用。”邓说。“对用户进行教育,是将用户迁移到Linux的最有效的方式。Chromebook正大量被采用,这是一条迁移到Linux便捷的道路。”
|
||||
|
||||
### 小企鹅威猛 ###
|
||||
|
||||
聘请Tux,Linux的吉祥物小企鹅,对于小企业和大企业来说都是明智的选择。它是一个成熟、稳定而又灵活的操作系统,绝对可以帮你干活。据肖恩.塞乐,[视觉解决方案][3]高级产品经理说。
|
||||
|
||||
“对于小型商业公司,运行Linux来替代其它操作系统是令人信服的选择,而且也带来优势,当然这取决于你的公司的需求。”塞乐告诉LinuxInsider。
|
||||
|
||||
它曾经被认为是业余爱好者的操作系统,但是经历了很长一段历程后,现在它成了企业级系统。它很稳定,而且很安全。Linux易于定制,而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。
|
||||
|
||||
### 商业加分 ###
|
||||
|
||||
利用更多的社区支持模式可以节约成本,塞乐说。Linux可以获得免费的社区支持,也可以付费订阅完整的技术支持。一些Linux版本也有硬件和软件认证这些东西,这些对于某些工作环境是很重要的。
|
||||
|
||||
例如,小型商业公司和大型企业可以完整地免费运行像CentOS或者OpenSuse这样的发行版,或者也可以从[Red Hat][4]或者Suse来整合付费的版本。即便是一个完整的订阅服务,Linux也比Windows或者传统的Unix提供了更低的总拥有成本,以及更好的投资回报,塞乐解释道。
|
||||
|
||||
“我相信,让小型企业来切身体验一下Linux很有意义。”塞乐补充道,“由于在社区以及像IBM和Red Hat这样的公司的帮助下,开源软件总体上正以快速的步伐帮助推动革新,Linux有一个光明的前途。”
|
||||
|
||||
### 小心爽一把 ###
|
||||
|
||||
操作系统在家庭和工作场所有不同的忠实用户。就拿BDNA的CTO沃克.怀特来说吧。他在家里使用Linux作为桌面操作系统,但是他的家人却对他热衷的东西并不买账。
|
||||
|
||||
“我的家人用Mac之类的。他们盲目追随市场营销和功能炒作,而根本不考虑性能之类的东西。我在家里进行一个人的圣战,试着策反更多的人来加入Linux阵营。”怀特告诉LinuxInsider。
|
||||
|
||||
在他的公司里有类似的死忠派在奋斗,他说道,他公司里Linux桌面使用并不普遍 —— 但他们为Linux在工作中更广泛地部署打下了基础。
|
||||
|
||||
BDNA在内部使用Google应用很多。公司也在把越来越多的东西迁移到基于云计算的产品中。无论如何,这会给筹备中的工作更多的支持。
|
||||
|
||||
“当我切换到想OpenOffice这样的应用时,该操作必须真正实现无缝操作以捕获更多人的心。从纯市场角度看,开发者需要稍稍改变一下游戏规则。苹果赢得了年轻孩子和30岁年轻一代的心。我经常在我公司听到这样的想法。”他说。
|
||||
|
||||
### 小企鹅对战苹果 ###
|
||||
|
||||
增加新的硬件设备是高端的MacBook Pro的特点,怀特解释道。尽管他们主要使用的工具是在线工具,BDNA的职员还是想要华而不实的,高度宣传的硬件。
|
||||
|
||||
为了打破这种观念,他不得不将操作系统和硬件的功能分离。战役的一部分是将用户与操作系统本身隔离。而这只有在企业同时有在线和离线的生产力应用程序才会发生,据怀特说。
|
||||
|
||||
“即使是使用文件管理器这样简单的事情,也应该将注意力放在操作系统允许我们在我们使用的应用里头做什么,而不是操作系统本身。”他说。
|
||||
|
||||
### 爽到极点 ###
|
||||
|
||||
操作系统多大程度上控制计算机用户?这个问题对于迁移到Linux而言很关键,怀特说。
|
||||
|
||||
想想Chromebook以及安卓手机和平板的不断成功,消费者真的需要知道他们正在运行Linux么?
|
||||
|
||||
“我认为迁移到Linux以及Linux在家里成功的关键在于,我们可以在线做多少事情。”怀特说,“因为我在家里使用Linux,所以我看到了其中的优势。”
|
||||
|
||||
你是否启用家庭消费者层面的设置,或是转向家庭或小企业用户设置,重点在于用户可以兼容他们使用的工具和功能。这里头包括像共享和创建文档,以及与之相关的事情,他说明道。
|
||||
|
||||
### 迁移措施 ###
|
||||
|
||||
对于市场而言,软件和硬件生产商需要减少对操作系统的关注。例如,Chromebook正以苹果销售MacBook类似的方式获得大众认可。Google与其说是在贩卖Linux操作系统,倒不如说它是在销售应用,怀特回答道。
|
||||
|
||||
“开发者真正需要做的是改变工作重点,让用户和Linux相处融洽,而不是让他们停留在使用非Windows,或者非Mac操作系统的踌躇上。不管你用什么,必须可以让它做你想让它做的事。像Chromebook这样的事物正是秉承了这样的观点,将Linux操作系统本身掩盖了起来。”他指出。
|
||||
|
||||
计算机生产商必须首先开始打破“它是Windows”或者“它是Mac”这样的模式。到那个时候,迁移到Linux的数量才会大幅攀升,怀特总结道。
|
||||
|
||||
“这无关操作系统品牌,”他说,“而在于运行该操作系统的设备所能做的事。”
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxinsider.com/story/80415.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.talkpointcommunications.com/
|
||||
[2]:http://www.splashtop.com/
|
||||
[3]:http://www.visionsolutions.com/
|
||||
[4]:http://www.redhat.com/
|
||||
[5]:http://www.bdna.com/
|
||||
[6]:http://www.openoffice.org/
|
||||
[7]:
|
||||
[8]:
|
||||
[9]:
|
||||
[10]:
|
||||
[11]:
|
||||
[12]:
|
||||
[13]:
|
||||
[14]:
|
||||
[15]:
|
||||
[16]:
|
||||
[17]:
|
||||
[18]:
|
||||
[19]:
|
||||
[20]:
|
||||
@@ -0,0 +1,60 @@
|
||||
谢天谢地,开源软件中的个人崇拜正在消亡!
|
||||
================================================================================
|
||||
“开源之神圣独裁者”越来越少了,不过没事!
|
||||
|
||||
Roy Rubin这位流行的电子商务开源项目[Magento][1]的联合创始人,从这一2008年启动的项目中功成身退后在[这周说出了][2]上面这样的话语。
|
||||
|
||||

|
||||
|
||||
这已经不是第一次一个开源项目的领导者出走项目了,但值得注意的是对于它带来的反响是:没啥大的反应。
|
||||
|
||||
并不是因为Rubin对于Magento项目不重要,实际上他非常重要。六年来,Rubin实际上是Magento项目的灵魂。但是开源软件一直在成长,它一直在削弱个人对其的影响。当然没人希望Linux的创始人Linus Torvalds不小心被车撞了,在这点上我们是[爱他][3]的。但是另外一方面其实我们并不太在意。
|
||||
|
||||
但是并不总是这样的。
|
||||
|
||||
### 崇拜开源之神圣独裁者! ###
|
||||
|
||||
在好的一面,成功的开源项目一直以来都和伟大的领导者密不可分。对一个充满活力又有独立思想的一个开发团体施加影响,必定是众口难调的事情。在一个专门的开源项目当中不同的观点会产生各种不同的路线(在代码层上,管它叫做“分支”),通常这时候,要么是“开源之神圣独裁者”,要么是项目领袖,将会介入,施展自己的领导才能让开发人员团结在一起。
|
||||
|
||||
“[开源之神圣独裁者 BDFL][0]”这个词[可能第一个用于Python项目的领导者Guido von Rossum][4]。它现在也被用到了Linux的发明人Linus Torvalds身上,以及Ubuntu的领导者Mark Shuttleworth和其他人身上。有时候另外两个人也会冠以这个称号,比如[Django][5]项目的Adrian Holovaty和Kaplan-Moss。(LCTT译注:BDFL,benevolent dictator for life ,由LCTT 核心译者 Viz 建议译作“开源之神圣独裁者”。)
|
||||
|
||||
在他们影响力最大的时候,这些领袖离开项目会对项目的将来产生灾难性的影响,这展现出这些伟大领导者与项目之间紧密的关联。但是,有时候,也不总是这样。Django的领导者[去了其他的项目][6],但是Django依然不断前行着,像Python、Lucene(领导者Doug Cutting)、Jboss(领导者Marc Fleury)和其他很多的项目也是这样。
|
||||
|
||||
现在开源软件研发的团体依然围绕着伟大的领导者,但我们似乎并不像曾经的那样依赖他们了。开源软件的“个人崇拜”正在褪色,也有可能已经消亡了,但是接下来会怎么样呢?
|
||||
|
||||
### Apache和开源社区的崛起 ###
|
||||
|
||||
是的,社区开始崛起了。我意识到我在做出一些自以为是的论调,但是根据我在开源项目15年的经验来说,我观察到开源软件项目从非常严格的控制阶段缓慢的转向了松散的开源团体,他们经常是因为兴趣才互相合作的。
|
||||
|
||||
当然并不清楚是先有 BSD/Apache之类的许可证的“鸡”还是后有开源软件相互合作的“蛋”,这两个很明显的一起改变了开源软件的运作模式。
|
||||
|
||||
当然还是需要“开源之神圣独裁者”。举个例子,当自由GNU还不是一个项目时,很难想象如果没有了Richard Stallman会是怎么样。相反的,很容易想象Apache Hadoop如果没有领导会怎么样…,等等,好像Hadoop真的没有人领导…
|
||||
|
||||
如果真的要说答案的话,那就是这里每个人或者[许多人][7]。当然Hadoop由Doug Cutting启动,但是它已经发展成了一个公司和个人(不过大多数的公司雇佣了这些人)的协作的社区。
|
||||
|
||||
OpenStack与之类似,[被涉及的公司所主导][8],如果某一个Openstack的开发者离开了,Openstack依然能够继续。因此,对于一个成员正在增加的开源项目来说,这种类似是确信无疑的。
|
||||
|
||||
### 未来不需要“开源之神圣独裁者”吗? ###
|
||||
|
||||
并不是说在以后的开源项目中不需要领导者。需要,但是越来越多的开源项目转为团体之间的合作,失去他们的风险消失了。坦白的说,即使公司们没有深入的参入进来,Apache许可证的项目反正也不依赖“开源之神圣独裁者”们。
|
||||
|
||||
Photo of Richard Stallman [courtesy of Friprog on Flickr][9]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/05/02/open-source-magento-roy-rubin-bdfl#feed=/hack&awesm=~oDgSTEdnXAjUv0
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://magento.com/
|
||||
[2]:http://magento.com/blog/magento-news/note-roy-and-mark#.U2JhPK1dVii
|
||||
[3]:http://www.serverwatch.com/server-news/if-linus-torvalds-got-hit-by-a-bus-would-linux-die.html
|
||||
[4]:http://www.artima.com/weblogs/viewpost.jsp?thread=235725
|
||||
[5]:https://www.djangoproject.com/
|
||||
[6]:http://www.theatlantic.com/technology/archive/2014/01/on-the-reign-of-benevolent-dictators-for-life-in-software/283139/
|
||||
[7]:http://hadoop.apache.org/who.html
|
||||
[8]:http://activity.openstack.org/dash/releases/
|
||||
[9]:https://www.flickr.com/photos/friprog/
|
||||
[0]:http://en.wikipedia.org/wiki/Benevolent_dictator_for_life
|
||||
@@ -0,0 +1,36 @@
|
||||
点评 Redhat RHEL 7和PclinuxOS 2014.05
|
||||
=================
|
||||
|
||||
在最近的Distrowatch杂志上,Jesse Smith尝试了一下RHEL 7桌面版本。在安装上,“从RHEL安装介质启动到一个图形化的系统安装界面,RHEL用了和最近发布的Fedora一样的新的Anaconda安装方式。就我个人来说新的安装方式是一种倒退”他说道。这没啥大不了的,他猜测在桌面版本就是这样的吧。Smith说他希望有一种图形化的软件包管理工具,因为用户只能在命令行下使用YUM源,只能使用标准的默认库。之后,GNOME shell登录崩溃了,只能使用KDE登录。虽然有些困惑但是他非常喜欢新的防火墙配置工具。请看他的[详细报告][2]。
|
||||
|
||||
**在**ZDNet.com上,Jamie Watson对新发布的PCLinuxOS 2014.05发表了自己的看法。他说道:
|
||||
|
||||
> 这是个有趣的看法,你可能从它的名字当中想到它包含了很多软件,补丁,驱动在非标准的分支中。最有趣的一点是,基于活动聚焦的虚拟桌面配置。这种趋势使PCLinuxOS使用起来既有趣又简单,提供了以下的桌面环境,个性化的图标:
|
||||
|
||||
> 互联网:浏览器,邮件,聊天工具
|
||||
|
||||
> 工作:office、kile、scribus
|
||||
|
||||
> 娱乐:游戏
|
||||
|
||||
> 多媒体:音乐,视频的编辑和创作
|
||||
|
||||
> 图形和图像:浏览,编辑和创作
|
||||
|
||||
> 管理:系统管理任务
|
||||
|
||||
|
||||
“PCLinuxOS始终使用原来的安装方式,它来源于Mandriva/Mandrake安装方式”Watson提到。它还带来了新的内核,最新的软件,和多样化互动的界面。[他总结道][3]:“这个新发布的PcLinuxOS版本很不错”。另外Watson在几周前也测试过了Ubuntu、Debian和LMDE。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/pros-secrets-and-red-hat-7-and-pclinuxos-2014-05-reviews
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linuxinsider.com/story/Linux-Pros-Top-Command-Line-Secrets-80437.html
|
||||
[2]:http://distrowatch.com/weekly.php?issue=20140512#feature
|
||||
[3]:http://www.zdnet.com/hands-on-with-pclinuxos-2014-05-kde-and-lxde-the-linux-with-something-for-everyone-7000029297/
|
||||
[4]:http://www.zdnet.com/testing-ubuntu-debian-and-lmde-on-my-new-notebook-7000029202/
|
||||
@@ -0,0 +1,121 @@
|
||||
试试Linux下的ip命令,ifconfig已经过时了
|
||||
================================================================================
|
||||
linux的**ip**命令和**ifconfig**类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
|
||||
|
||||

|
||||
|
||||
要安装ip,请[点击这里][1]下载**iproute2套装工具** 。不过,大多数Linux发行版已经预装了iproute2工具。
|
||||
|
||||
你也可以使用git命令来下载最新源代码来编译:
|
||||
|
||||
$ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git
|
||||
|
||||

|
||||
|
||||
### 设置和删除Ip地址 ###
|
||||
|
||||
要给你的机器设置一个IP地址,可以使用下列ip命令:
|
||||
|
||||
$ sudo ip addr add 192.168.0.193/24 dev wlan0
|
||||
|
||||
请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。
|
||||
|
||||
在你按照上述方式设置好IP地址后,需要查看是否已经生效。
|
||||
|
||||
$ ip addr show wlan0
|
||||
|
||||

|
||||
|
||||
你也可以使用相同的方式来删除IP地址,只需用del代替add。
|
||||
|
||||
$ sudo ip addr del 192.168.0.193/24 dev wlan0
|
||||
|
||||

|
||||
|
||||
### 列出路由表条目 ###
|
||||
|
||||
ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。
|
||||
|
||||
在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接。
|
||||
|
||||
$ ip route show
|
||||
|
||||

|
||||
|
||||
假设现在你有一个IP地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):
|
||||
|
||||
$ ip route get 10.42.0.47
|
||||
|
||||

|
||||
|
||||
### 更改默认路由 ###
|
||||
|
||||
要更改默认路由,使用下面ip命令:
|
||||
|
||||
$ sudo ip route add default via 192.168.0.196
|
||||
|
||||

|
||||
|
||||
### 显示网络统计数据 ###
|
||||
|
||||
使用ip命令还可以显示不同网络接口的统计数据。
|
||||
|
||||

|
||||
|
||||
当你需要获取一个特定网络接口的信息时,在网络接口名字后面添加选项**ls**即可。使用多个选项**-s**会给你这个特定接口更详细的信息。特别是在排除网络连接故障时,这会非常有用。
|
||||
|
||||
$ ip -s -s link ls p2p1
|
||||
|
||||

|
||||
|
||||
### ARP条目 ###
|
||||
|
||||
地址解析协议(ARP)用于将一个IP地址转换成它对应的物理地址,也就是通常所说的MAC地址。使用ip命令的neigh或者neighbour选项,你可以查看接入你所在的局域网的设备的MAC地址。
|
||||
|
||||
$ ip neighbour
|
||||
|
||||

|
||||
|
||||
### 监控netlink消息 ###
|
||||
|
||||
也可以使用ip命令查看netlink消息。monitor选项允许你查看网络设备的状态。比如,所在局域网的一台电脑根据它的状态可以被分类成REACHABLE或者STALE。使用下面的命令:
|
||||
|
||||
$ ip monitor all
|
||||
|
||||

|
||||
|
||||
### 激活和停止网络接口 ###
|
||||
|
||||
你可以使用ip命令的up和down选项来激某个特定的接口,就像ifconfig的用法一样。
|
||||
|
||||
在这个例子中,当ppp0接口被激活和在它被停止和再次激活之后,你可以看到相应的路由表条目。这个接口可能是wlan0或者eth0。将ppp0更改为你可用的任意接口即可。
|
||||
|
||||
$ sudo ip link set ppp0 down
|
||||
|
||||
$ sudo ip link set ppp0 up
|
||||
|
||||

|
||||
|
||||
### 获取帮助 ###
|
||||
|
||||
当你陷入困境,不知道某一个特定的选项怎么用的时候,你可以使用help选项。man页面并不会提供许多关于如何使用ip选项的信息,因此这里就是获取帮助的地方。
|
||||
|
||||
比如,想知道关于route选项更多的信息:
|
||||
|
||||
$ ip route help
|
||||
|
||||

|
||||
|
||||
### 小结 ###
|
||||
|
||||
对于网络管理员们和所有的Linux使用者们,ip命令是必备工具。是时候抛弃ifconfig命令了,特别是当你写脚本时。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/use-ip-command-linux/
|
||||
|
||||
译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linuxgrill.com/anonymous/iproute2/NEW-OSDL/
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,47 @@
|
||||
如何在Ubuntu 14.04中默认关闭蓝牙
|
||||
================================================================================
|
||||

|
||||
|
||||
我最近新买了一台Dell Inspiron 7437,我第一时间做的一些事情之一就是[让预装的Windows 8和Ubuntu 14.04双启动][1]。我旧的笔记本没有蓝牙,听起来很奇怪但事实就是这样。这就是我为何从来没有注意到**蓝牙总是在Ubuntu的每次启动时自动开启**。
|
||||
|
||||
从节能和安全目的来说这都不是件好事。而且,我几乎不使用蓝牙,所以我为何要让蓝牙默认启用?尽管在Ubuntu中只要一次点击就能关闭蓝牙,但每次登录都要这样重复地做一遍真是件令人泄气的任务。更简单的解决方案是**在Ubuntu启动的时候关闭蓝牙**。
|
||||
|
||||
在今天的帖子中,我将与您分享如何在每次启动是默认禁用蓝牙。
|
||||
|
||||
### 在Ubuntu 14.04中默认关闭蓝牙: ###
|
||||
|
||||
打开一个终端并使用以下命令来安装[gksu][2](如果你还没有安装它的话)(译注:如果你已经有了gksu,那么可以使用它;如果还没有,也不想安装,那你使用sudo一样可以)。
|
||||
|
||||
sudo apt-get install gksu
|
||||
|
||||
gksu是用来在以root权限运行程序时输入密码的程序。当你已经安装了gksu之后,使用下列命令:
|
||||
|
||||
gksudo gedit /etc/rc.local
|
||||
|
||||
它会打开rc.local这个文件。只需在文件中的exit 0之前加入下列命令:
|
||||
|
||||
rfkill block bluetooth
|
||||
|
||||
就这样,你的rc.local文件看起来就像这样:
|
||||
|
||||

|
||||
|
||||
这就是全部步骤了。重新启动电脑,您应该能够看到蓝牙已经被禁用了。当然您需要使用它的时候可以从指示器面板的蓝牙标志打开它。
|
||||
|
||||
### 小说明: ###
|
||||
|
||||
这一小部分只是对我们做了什么进行简短的解释。您并不一定要阅读完这一部分。您可以直接跳到评论部分留下您的建议和感谢 :)
|
||||
|
||||
rc.local文件是用来记录在系统启动的时候运行的各种shell命令的。这些命令是用户定义的。在一个新的安装中,rc.local文件中没有任何命令。我们做的就是在这里面加入命令 **rfkill block bluetooth**。[rfkill][3]是一个用来查询各种开关,按钮和底层系统接口状态的工具。我们在rc.local中使用这个命令来在每次启动的时候软关闭(译注:与其对应的是硬关闭,指通过硬件开关来关闭)蓝牙。我希望这些能把原理解释的清楚一点。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/turn-off-bluetooth-by-default-in-ubuntu-14-04/
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
|
||||
[2]:https://wiki.gnome.org/action/show/Apps/Attic/gksu?action=show&redirect=gksu
|
||||
[3]:http://wireless.kernel.org/en/users/Documentation/rfkill
|
||||
@@ -0,0 +1,34 @@
|
||||
Ubuntu Linux社区经理Jono Bacon离开Canonical公司
|
||||
================================================================================
|
||||

|
||||
|
||||
Canonical——Ubuntu Linux背后的公司,其任职已久的社区经理将离职。[Jono Bacon][1],一直是 Ubuntu 业界最熟悉的面孔之一,他将在[XPRIZE基金会][2]任新职。
|
||||
|
||||
Bacon于2006年加入Canonical,从[其博客可知][3]他是在收到XPRIZE的录用通知后决定离开Canonical的,XPRIZE[自称][4]为“创新引擎”和“造福人类的催化剂”。他将会在XPRIZE就任社区主管,施展他过去八年中在帮助协调Ubuntu社区方面所获得的能力。
|
||||
|
||||
虽然Bacon在Canonical不是直接负责商业或者发展方面,但是他的离开对于Ubuntu和开源界来说都是一件大事儿,在Ubuntu和开源界实际社区参与比行政头衔更重要。与Ubuntu的创始人和Canonical的前CEO [Mark Shuttleworth][5]一起,Bacon是早期Ubuntu生态系统项目的领军人物之一。
|
||||
|
||||
Bacon可以说在塑造Ubuntu的很多方面比Jane Silber更有影响力。Jane Silber自2010年一直是Canonical的CEO,但是他在公共场合的出面一般是很少的。
|
||||
|
||||
Bacon带领的团队包括Daniel Holbach,David Planella,Michael Hall,Nicholas Skaggs和Alan Pope。Bacon说,他们将会接手他社区领袖的工作。然而,尚不清楚的是Canonical是否会填补他留的社区经理职位。
|
||||
|
||||
也许Canonical不会。在很多方面,维持一个社区领袖与开源精神格格不入,开源精神往往赞扬的是分散的、用户主导的社区组织。一些Ubuntu的粉丝可能会因Bacon离职的新闻而感到恐慌。
|
||||
|
||||
不过,Bacon帮助指导过Ubuntu社区度过一系列的危机——从Canonical将Ubuntu软件中心设计为一个商店的失败尝试,到与Fedora群体的摩擦,到关于将Amazon.com搜索特性植入到新的Ubuntu的争议。他在Ubuntu的生态系统上留下了光辉业绩,没有他这一切将完全不同。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/ubuntu/052214/ubuntu-linux-community-manager-jono-bacon-leaves-canonical
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.jonobacon.org/
|
||||
[2]:http://www.xprize.org/
|
||||
[3]:http://www.jonobacon.org/2014/05/19/goodbye-canonical-hello-xprize/
|
||||
[4]:http://www.xprize.org/about/who-we-are
|
||||
[5]:http://markshuttleworth.com/
|
||||
[6]:http://thevarguy.com/ubuntu/ubuntu-software-store-will-your-kids-try-it
|
||||
[7]:http://thevarguy.com/open-source-application-software-companies/tensions-between-ubuntu-fedora-mount-over-new-website
|
||||
[8]:http://thevarguy.com/var-guy/controversy-erupts-over-amazon-search-ubuntu-1210
|
||||
@@ -0,0 +1,66 @@
|
||||
心脏流血教给我们的:成为开源的贡献者而不仅是个用户
|
||||
================================================================================
|
||||

|
||||
|
||||
> 如果你的公司依赖像OpenSSL这样的开源软件,是时候主动点了。
|
||||
|
||||
心脏流血漏洞让开源社区如芒在背。
|
||||
|
||||
ComputerWorld的Richi Jennings [抨击说][1]“又一个非常可怕的开源失败。”(他是要做标题党么?)ZDNet的Steven J. Vaughan-Nichols不像是作秀反开源,却仍旧将心脏流血漏洞[渲染为][2]“开源软件的最遭时刻”。而最后,ZDNet的Chris Duckett则务实地[倡议][3]:“商业公司(应该)筹集资金来避免心脏流血再次发生。”
|
||||
|
||||
而实际上,企业资金并不是解决心脏流血事件的最终答案 。你才是!
|
||||
|
||||
想要避免开源失败的公司应该不仅仅是开源软件的用户,还要是贡献者。
|
||||
|
||||
### 贡献者乘坐头等舱 ###
|
||||
|
||||
贡献者能够引导特定的项目。他们占据主动,而不是被动接受。大多数企业缺乏资源参与他们所使用的所有开源项目,但每家公司都可以资助给那些真正关系到他们的项目。并且资助得越多,得到的好处越大。
|
||||
|
||||
开源就是一个不断给予的礼物,尤其是给予那些对开源反哺的人们。
|
||||
|
||||
我在MongoDB的同事[Adam Comerford让这点更有说服力][4]:如果你看看第一批得知Heartbleed漏洞的[时间线] [5],那些第一批得知的(如谷歌)有一个相当大的优势。如Comford所说的,这些公司有一个显著的优势就是他们可以在bug还未大规模传开的时候率先采取措施保护他们的系统。
|
||||
|
||||
|
||||
鉴于早期了解像Heartbleed之类问题的优势,Comerford问:“我如何确保我在这类问题的早期通知列表里面?”
|
||||
|
||||
|
||||
如果你依赖于专有软件,你有一个答案:向卖方支付大量的金钱,并希望他适时地响应。但是,如果你正在使用开源软件,有一个更多选择: “要么有大量的员工给[开源项目]做贡献 ,或者...有认识主要贡献者的员工(我们可以找找,他们大多也会贡献其他开源软件项目,像其他的极客和呆瓜一样。“
|
||||
|
||||
Comerford断言说,好处不止这样:
|
||||
|
||||
> 这有很多好处 - 除了让问题及早通知,让手头上的专家来应付这些棘手的更新,以评估你的风险,甚至可能在公众知道之前内部解决问题。在确定项目的方向上你还可以得到重视的回馈,可以影响到关键特性的优先级。最终,你会得到社区的善意,使产品变得更好,并有可能成为其它的聪明贡献者的工作目标。
|
||||
|
||||
换句话说,参与进来。成员有特权,主要的特权可能就是信息。
|
||||
|
||||
### 选择在哪贡献 ###
|
||||
|
||||
同样,没有一家公司有足够的资源来有效地促进所有它所使用的项目,这就是为什么Comerford建议对关键项目上这么做的原因:
|
||||
|
||||
> 如果你要人们列出在企业中所有开源关键技术,你可能会得到一张很长的名单。然后,告诉他们,他们将必须清点人工和预算来支持清单上的每一种技术的话(并验证它) - 它可能会迅速缩水。
|
||||
|
||||
如果你是一个AMD那样的芯片公司,给Linux内核贡献基本驱动程序和其他代码很可能是强制性的。给LibreOffice贡献可能不是。或者,如果你判断你的未来在Hadoop上进行深层数据分析,你应该贡献Hadoop,即使你依旧免费使用OpenSSL社区的成果。比如Dish Networks公司,它的[ CIO告诉上周在开放商业会上的人们][6],他们正在将重要的数据从关系型数据库转到Apache的Kafka,那他最好研究Kafka的代码,即使他不贡献给Apache HTTP服务器项目。
|
||||
|
||||
每家公司都有其优先级,以及这些优先级应该以严肃的承诺而确立。
|
||||
|
||||
这是确保这些项目安全的一部分办法。而另一部分,它是一种形成影响力指引的方式。但同时,红帽公司CEO[Jim Whitehurst][7]早在2008年声明,它是显著减少IT花费的办法:
|
||||
|
||||
> 今天编写的绝大多数软件是企业编写的,不得转售。并且绝大多数是从来没有真正使用过。IT软件开发中的浪费是巨大的....最终,开源给全世界的客户提供价值,我们不仅需要让我们的客户作为开源产品的用户,而且真正加入开源和参与在开发社区。
|
||||
|
||||
|
||||
Comerford坚持认为:“如果我在业务中使用开源软件,我应该雇开发人员来积极给软件做贡献,如果他们自己不是核心开发者,那就雇佣核心开发者。 ”这是充分利用开源软件的关键:给它做贡献,不只是使用它。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/05/14/heartbleed-open-source-contribution-users
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://blogs.computerworld.com/encryption/23767/heartbleed-openssl-open-source-fail
|
||||
[2]:http://www.zdnet.com/heartbleed-open-sources-worst-hour-7000028420/
|
||||
[3]:http://www.zdnet.com/openssl-needs-corporate-funding-to-avoid-heartbleed-repeat-7000028385/
|
||||
[4]:http://comerford.cc/wordpress/2014/04/15/my-conclusion-heartbleed-timeline/
|
||||
[5]:http://www.smh.com.au/it-pro/security-it/heartbleed-disclosure-timeline-who-knew-what-and-when-20140415-zqurk.html
|
||||
[6]:http://blogs.wsj.com/cio/2014/05/06/dish-looks-to-open-source-software-after-database-failure/
|
||||
[7]:http://www.cnet.com/news/red-hat-solve-enterprise-waste-through-open-source/
|
||||
@@ -0,0 +1,87 @@
|
||||
为什么 Linux 的 htop 命令完胜 top 命令
|
||||
================================================================================
|
||||
在 Linux 系统中,top 命令用来显示系统中正在运行的进程的实时状态,它显示了一些非常有用的信息,比如 CPU 利用情况、内存消耗情况,以及每个进程情况等。但是,你知道吗?还有另外一个命令行工具 'htop',它与传统的 top 命令功能一样,但它有更加强大的功能及能显示更多的信息。这篇文章,我们会用实例来讨论这个 'htop' 命令。
|
||||
|
||||
### Linux 中的 htop 命令 ###
|
||||
|
||||
下面是从 htop 的手册页摘抄下来的相关描述:
|
||||
|
||||
> 它类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。
|
||||
>
|
||||
> 可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。
|
||||
|
||||
### 首先明白它的输出 ###
|
||||
|
||||
**htop 命令**以直观的格式来显示信息。下面是 HTOP 的输出快照:
|
||||
|
||||

|
||||
|
||||
如果你观察窗口的左上角部分,你会看到显示的是 CPU 负载、内存消耗及交换空间的实时信息,右上角包含的是任务、线程、平均负载及系统运行时间的信息。
|
||||
|
||||
平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已,在单核的系统中,平均负载为1表示的是百分之百的 CPU 利用率。最后,运行时间 (uptime)标示的数字是从系统启动起到当前的运行总时间。
|
||||
|
||||
下面,我们将用例子来进一步讨论这个命令。
|
||||
|
||||
### 1. 用 F2 键编辑配置 ###
|
||||
|
||||
htop 命令提供了许多自定义选项,你所要做的就是从主窗口中按下 F2 键。
|
||||
|
||||
下面所示的是可用的自定义选项:
|
||||
|
||||

|
||||
|
||||
只需使用箭头键选择和更改特定的设置。
|
||||
|
||||
### 2. 通过 F9 键发送信号 ###
|
||||
|
||||
htop 命令可以让你很容易地在 htop 窗口内给一个进程发送任意的信号。按下 F9 键即可。
|
||||
|
||||

|
||||
|
||||
如你所见,窗口的左边部分列出的是所有可用的信号,右边部分列出的是进程。只要选中信号,并选择一个进程,然后按下 enter 键,选中的信号就会发送到此进程。
|
||||
|
||||
### 3. 显示进程的树状视图 ###
|
||||
|
||||
htop 命令也提供了进程的树状视图查看功能。按下 F5 键切换。
|
||||
|
||||
下面是 htop 显示树形视图信息的例子:
|
||||
|
||||

|
||||
|
||||
要退出树状视图模式,请再一次按下 F5 键。
|
||||
|
||||
### 4. 通过 F3 键搜索进程 ###
|
||||
|
||||
htop 命令提供了易用的方式来搜索进程。按下 F3 键,一个文本框就会出现在窗口底部。
|
||||
|
||||
下面是例子:
|
||||
|
||||

|
||||
|
||||
如您所见,一条名为‘搜索’的文本提示框出现在窗口底部,您可以在这儿输入进程的名字然后回车搜索。如果找到,它会在列出的进程列表里高亮选中此进程。
|
||||
|
||||
### 5. 通过空格键来设置颜色标注进程条目 ###
|
||||
|
||||
在系统中运行着的实时进程视图中,要追踪某个进程是个大问题。因为整个列表在不停的刷新着,进程的排列顺序也在变动着。为了这个问题, htop 提供了一个很简单的解决方案:颜色标注。是的,你可以标注一个进程条目,它会以不同的颜色显示,因此要追踪它就变得容易了。
|
||||
|
||||
要标注某个进程条目,需要做的就是选中此条目,然后按下‘空格’键。例如,在下面的截图示例中,我已经颜色标注了三个进程条目:
|
||||
|
||||

|
||||
|
||||
所以通过此方法,你就能很轻松地追踪想查看的进程。
|
||||
|
||||
### 6. 命令行选项 ###
|
||||
|
||||
除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分:
|
||||
|
||||
- **-s 选项** : 按指定的列排序。例如,**htop -s PID** 命令会按 PID 列的大小排序来显示。
|
||||
- **-u 选项** : 显示指定的用户的进程信息列表。例如,**htop -u himanshu** 命令会只显示出用户名为 himanshu 的相关进程。
|
||||
- **-d 选项** : 设置刷新的延迟时间。例如,**htop -d 100** 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-htop-command/
|
||||
|
||||
译者:[runningwater](https://github.com/runningwater) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
Reference in New Issue
Block a user