Merge pull request #29 from LCTT/master

Update Repo
This commit is contained in:
joeren 2015-04-09 09:04:17 +08:00
commit 4c23b1beb8
24 changed files with 1859 additions and 1035 deletions

View File

@ -0,0 +1,150 @@
PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪个性能更好?
================================================================================
**长篇摘要在一个基于Vagrant的本地环境中可能是某个错误的原因导致HHVM测试结果很差在HHVM伙伴们协助下该原因仍在研究中然而在DigitalOcean的一个4GB虚拟机中HHVM甚至盖过了最新版的PHP-NG的风头**
![](https://kinsta.com/wp-content/uploads/2014/07/phphhvm.jpg)
**结论它们反映出HHVM的功效更佳在JIT热启动后虽然出于某些原因我们不能在所有装备中获取这些结果。**
如果你记得我们[在几个月前写过一篇文章][1]那时WordPress 3.9表明是完全支持HHVM的当时是那么令我们欢欣鼓舞。最初的基准测试结果显示HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来问题就出来了
- HHVM只能以单个用户运行这意味着在共享环境中安全性差了
- HHVM在崩溃后不会自动重启而不幸的是它至今仍然经常发生
- HHVM在启动时使用大量内存虽然它和同规模的PHP-FPM比较单个请求的内存使用量更低
很显然你不得不根据你的或者更确切地说是你的站点的需求采取折中方案然而这值得吗切换到HHVM后你期望获得多少性能改善呢
在Kinsta我们真的想要测试所有新技术并通常会优化这一切来为我们的客户提供最佳的环境。今天我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建一个是全新出炉的WordPress安装另外一个则添加了大量内容的WooCommerce为了计量脚本的运行时间我只是简单地添加了
<?php timer_stop(1); ?>
这一行到footer.php的/body标记前。
这里是配置环境的详情:
- DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
- Ubuntu 14.04, MariaDB10
- 测试站点: 已导入演示内容的Munditia主题WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG 20140718-git-6cc487d和HHVM 3.2.0 版本是PHP 5.6.99-hhvm
**没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:**
### DigitalOcean 4GB 雨滴容器 ###
单位是秒运行10次越低越好
这里有一个canvas的数据发布的时候需要截一个图
看起来似乎PHP-NG在它首次运行后就获得了峰值性能HHVM需要更多几次重载但是它们的性能貌似差不多我等不及PHP-NG合并到开发主干了
一分钟命中数,越高越好。
这里有一个canvas的数据发布的时候需要截一个图
**PHP 5.5.15禁用OpCache**
- 执行: **236 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 2.40 MB
- 回应时间: 2.47 secs
- 执行率: 4.00 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.87
- 成功的执行: 236
- 失败的执行: 0
- 最长执行: 4.44
- 最短执行: 0.48
**PHP 5.5.15启用OpCache**
- 执行: **441 hits**
- 可用性: 100.00 %
- 消耗时间: 59.55 secs
- 传输的数据: 4.48 MB
- 回应时间: 1.34 secs
- 执行率: 7.41 trans/sec
- 吞吐量: 0.08 MB/sec
- 并发数: 9.91
- 成功的执行: 441
- 失败的执行: 0
- 最长执行: 2.19
- 最短执行: 0.64
**PHP 5.6 RC2禁用OpCache**
- 执行: **207 hits**
- 可用性: 100.00 %
- 消耗时间: 59.87 secs
- 传输的数据: 2.10 MB
- 回应时间: 2.80 secs
- 执行率: 3.46 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.68
- 成功的执行: 207
- 失败的执行: 0
- 最长执行: 3.65
- 最短执行: 0.54
**PHP 5.6 RC2启用OpCache**
- 执行: **412 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 4.18 MB
- 回应时间: 1.42 secs
- 执行率: 6.98 trans/sec
- 吞吐量: 0.07 MB/sec
- 并发数: 9.88
- 成功的执行: 412
- 失败的执行: 0
- 最长执行: 1.93
- 最短执行: 0.34
**HHVM 3.2.0版本是PHP 5.6.99-hhvm**
- 执行: **955 hits**
- 可用性: 100.00 %
- 消耗时间: 59.69 secs
- 传输的数据: 9.18 MB
- 回应时间: 0.62 secs
- 执行率: 16.00 trans/sec
- 吞吐量: 0.15 MB/sec
- 并发数: 9.94
- 成功的执行: 955
- 失败的执行: 0
- 最长执行: 0.85
- 最短执行: 0.23
**PHP-NG启用OpCache构建: Jul 29 2014**
- 执行: **849 hits**
- 可用性: 100.00 %
- 消耗时间: 59.88 secs
- 传输的数据: 8.63 MB
- 回应时间: 0.70 secs
- 执行率: 14.18 trans/sec
- 吞吐量: 0.14 MB/sec
- 并发数: 9.94
- 成功的执行: 849
- 失败的执行: 0
- 最长执行: 1.06
- 最短执行: 0.13
**注意:这里节略了前一次的测试结果(有误),如感兴趣请访问原文查看。**
--------------------------------------------------------------------------------
via: https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
作者:[Mark Gavalda][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://kinsta.com/blog/author/kinstadmin/
[1]:https://kinsta.com/blog/hhvm-and-wordpress/

View File

@ -6,45 +6,44 @@
> “Not Enough Free Disk Space On /boot”
![](https://www.unixmen.com/wp-content/uploads/2015/02/Software-Updater_002.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Software-Updater_002.png)
这是因为我的启动分区超出了不再要的旧内核与包等
这是因为我的 /boot 分区被不再需要的旧内核与包塞满了
### 回答: ###
我听说**Computer Janitor**这个特性可以在Ubuntu Tweak中删除不想要的垃圾文件。使用Computer Janitor你可以将你的系统清理成像新安装的那样。Janitor会删除:
我听说Ubuntu Tweak中的**Computer Janitor**功能可以删除不想要的垃圾文件。使用Computer Janitor你可以将你的系统清理成像新安装的那样。Janitor会删除:
- 程序缓存(Firefox/Chrome 缓存、软件中心缓存);
- 程序缓存Firefox/Chrome 缓存、软件中心缓存);
- 略缩图缓存;
- apt缓存;
- 旧内核;
- 包的配置;
- 不再需要的包。
If you havent install this tool, look at the following link.
如果你还没有安装这个工具,参考下面的链接
- **[如何安装和使用Ubuntu Tweak][1]**
要删除不需要的垃圾文件打开Ubuntu Tweak点击 **Janitor** 选项。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_006.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_006.png)
选择你想要删除的文件的选框,并点击 **Clean** 按钮。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_007.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_007.png)
Janitor现在就开始清理你的系统了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_003.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_003.png)
真酷!系统清理完成了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_008.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_008.png)
我重启启动了软件更新。这个没再遇到问题了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Software-Updater_009.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Software-Updater_009.png)
就是这样。当然也有其他的方法可以清理系统。但是,这个方法很容易学。我们可以只点击几次鼠标就可以清理系统。
@ -52,13 +51,13 @@ Janitor现在就开始清理你的系统了。
--------------------------------------------------------------------------------
via: https://www.unixmen.com/how-to-fix-not-enough-free-disk-space-on-boot-in-ubuntu/
via: http://www.unixmen.com/how-to-fix-not-enough-free-disk-space-on-boot-in-ubuntu/
作者:[SK][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://www.unixmen.com/author/sk/
[1]:http://www.unixmen.com/after-a-fresh-install-of-ubuntu-1010-maverick-meerkat-configuration-made-easy-with-ubuntu-tweak/
[1]:http://linux.cn/article-3335-1.html

View File

@ -1,8 +1,8 @@
Linux有问必答Perl中本地时间和UNIX时间戳间相互转换
================================================================================
> **问题**: 在Perl语言中我需要转换易读的日期和时间到对应的UNIX时间戳反之亦然。你可以给我一些Perl代码例子吗关于日期及时间转换到UNIX时间戳或者相反转换UNIX时间戳到可读的日期和时间。
> **问题**: 在Perl语言中我需要转换易读的日期和时间到对应的UNIX时间戳反之亦然。你可以给我一些将日期及时间转换到UNIX时间戳的Perl代码例子吗或者相反转换UNIX时间戳到可读的日期和时间。
当你的Perl脚本需要解决时间信息这里有两种方法来表示和处理日期和时间。一种方法是易读的时间表示"Sat Mar 14 10:14:05 EDT 2015"另外一种是使用UNIX时间戳也叫“新纪元时间”这是从1970年1月1日到今所消耗的时间秒数。每一种方法都有它自己的优劣势,取决于你的需要,也许也就需要转换一种格式到另一种。
当你的Perl脚本需要解决时间信息这里有两种方法来表示和处理日期和时间。一种方法是易读的时间表示"Sat Mar 14 10:14:05 EDT 2015"另外一种是使用UNIX时间戳也叫“新纪元时间”这是从1970年1月1日到今所经过的时间秒数。每一种方法都有它自己的优劣势,取决于你的需要,也许也就需要转换一种格式到另一种。
### Perl中转换本地时间到UNIX时间戳 ###
@ -13,13 +13,14 @@ Linux有问必答Perl中本地时间和UNIX时间戳间相互转换
- 14/Mar/15 10:14:05
- 14 Mar 15 10:14:05
use Date::Parse;
```
use Date::Parse;
my $local_time = "Sat Mar 14 10:14:05 EDT 2015";
my $local_time = "Sat Mar 14 10:14:05 EDT 2015";
# 1426342445 will be stored in $unix_time
my $unix_time = str2time($local_time);
# 1426342445 will be stored in $unix_time
my $unix_time = str2time($local_time);
```
Date:Parse 模块支持多种语言(英语,法语,德语和意大利语)和时区。例如:
use Date::Parse;
@ -28,10 +29,9 @@ Date:Parse 模块支持多种语言(英语,法语,德语和意大利语)
my $lang = Date::Language->new('French');
my $unix_time = $lang->str2time("12:14:05, Ago 16, 2014 (CEST)");
### Perl中UNIX时间戳到读的日期和时间 ###
### Perl中UNIX时间戳到读的日期和时间 ###
如果你想要转换UNIX时间戳到可读的格式可以使用localtime()函数此函数可以转换UNIX时间戳为一个9元素列表。然后你可以使用返回的list构造任何你需要的可读格式。这里有一个代码片段
如果你想要转换UNIX时间戳到易读的格式可以使用localtime()函数此函数可以转换UNIX时间戳为一个9元素列表。然后你可以使用返回的list构造任何你需要的可读格式。这里有一个代码片段
# $sec, $min, $hour: 秒,分,时
# $mday: 月中的某天 (0-31)
@ -55,7 +55,7 @@ via: http://ask.xmodulo.com/convert-local-time-unix-timestamp-perl.html
作者:[Dan Nanni][a]
译者:[VicYu/Vic020](http://vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,75 +0,0 @@
Exaile 3.4.1 Overview A Feature-Complete GNOME Music Player
================================================================================
**Exaile** has been a bit quiet in the past two years with maybe only one or two stable releases, but nevertheless, its one of the full-featured music players for GNOME which are on par with applications like [Rhythmbox][1] or [Banshee][2] in terms of features. However, over the past two months a new stable release, 3.4, has been put out under the slogan “Were not dead yet”, as well as an incremental 3.4.1 release, which shipped on November 1. To be honest, Exaile has so many features that I could go on writing a lot more than an article to cover them all, so lets have a look at some of the most notable ones.
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile02.jpg)
[Exaile][3] is a GTK2-based music player written in Python which fits well into GNOME, has an interface which pretty much resembles the one of the old Amarok 1.4 or actual Clementine, and ships with some great features. The interface is composed mainly of two panels, both with support for tabs. The left panel provides access to the collection, Internet radio, smart and custom playlists, file browser, podcasts, Group Tagger and lyrics while the main area of the window is taken by the playlists (with multiple, tabbed playlist support) and control buttons.
Exailes interface is very similar to the one of Clementine or Amarok 1.4 and the tabs on the left can be shown or hidden:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile04.jpg)
Version 3.4 shipped with a big number of major new features and changes while 3.4.1 was a small bug fix release. The major new features in 3.4 include new plugins like Icecast, Lyricsmania, Playlist Analyzer, Soma.fm, a new, simpler plugin API. Changes were done to the user interface and the general behavior as well, with the possibility to show playlists in multiple panels, close left panels, better BPM UI integration.
The first time it starts you can add music folders to the collection you can also choose to add directories and enable or disable monitoring or scanning them at start-up:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile01.jpg)
Exailes features are practically countless. You can organize your music in a collection, listen to podcasts, set song ratings, edit tags, view file properties, queue tracks, view lyrics and covers, sort the playlist by a huge number of criteria, change playback behavior or appearance style.
Equalizer, cover manager and listening to Internet radio:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile05.jpg)
Local album covers are detected automatically and can be shown in full size, with the possibility to zoom in or out:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile03.jpg)
The preferences window allows to configure various aspects of Exaile, including enable or disable plugins, appearance, system tray integration, or playback. The appearance settings will allow you to change the tabs placement, show/hide the tab bar, enable or disable transparency, or disable the start-up splash screen.
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_01.jpg)
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_02.jpg)
The system tray integration offers a menu to quickly play/pause songs, set a song rating or change the way the playlist handles playback (shuffle, repeat or dynamic).
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
The countless features in Exaile I believe make it the perfect choice as a music player, especially for GNOME users. Any user should be satisfied with the wealth of options and the highly configurable approach.
### Install Exaile 3.4.1 in Ubuntu 14.04 and 14.10 ###
Compiling and installing from source should be pretty straightforward. First, get the dependencies:
sudo apt-get build-dep exaile
sudo apt-get install python-gst0.10
Download the source tarball from the [downloads page][4] (direct link [here][5]), then uncompress it:
tar -xf exaile-3.4.1.tar.gz
Change the working directory to exaile-3.4.1 and issue the following commands:
make
sudo make install
The binary will be installed as **/usr/local/bin/exaile**.
--------------------------------------------------------------------------------
via: http://www.tuxarena.com/2014/11/exaile-3-4-1-overview-a-feature-complete-gnome-music-player/
作者Craciun Dan
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://wiki.gnome.org/Apps/Rhythmbox
[2]:http://banshee.fm/
[3]:http://www.exaile.org/
[4]:http://www.exaile.org/download/
[5]:https://github.com/exaile-dev/exaile/archive/3.4.1.tar.gz

View File

@ -1,132 +0,0 @@
How to Install Telegram Messenger Application on Linux
================================================================================
Telegram is an Instant Messaging (IM) application similar to whatsapp. It has a very large user base. It has a lot of features that differentiate it from other messaging application.
![Install Telegram in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
Telegram Messenger for Linux
This article aims at making you aware of telegram application followed by detailed installation instructions on Linux Box.
#### Features of Telegram ####
- Implementation for mobile devices
- Available for Desktop.
- Application Program Interface (API) of Telegram can be Accessed by third party developers.
- Available for Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac and Linux
- The above application provides Heavily Encrypted and self destruct messages.
- Lets you access your message from multiple devices and platform.
- The overall processing and message delivery is lightening fast.
- Distributed server across the globe for security and speed.
- Open API and Free Protocol
- NoAds, No Subscription charge. Free forever.
- Powerful No limit to media and chats
- Several security measures that make it safe from Hackers.
- Reply to Specific message in group. Mention @username to notify multiple users in group.
#### Why Telegram? ####
When Applications like whatsapp and other IM are providing almost same things in bag, why should someone opt for Telegram?
Well Availability of API to third party developer is enough to say. Moreover availability for PC which means you wont have to struggle typing message using your mobile, but you can use your PC and that is pretty more than sufficient.
Also The option to connect on remote locations, Co-ordinate Group of upto 200 Members, Sync all your devices, Send Documents of all kind, Encrypt message, Self destruction of message, Storage of Media in Cloud, Build own tool on freely available API and what not.
**Testing Environment**
We have used Debian GNU/Linux, x86_64 architecture to test it and the overall process went very smooth for us. Here what we did stepwise.
### Installation of Telegram Messenger in Linux ###
First go to the official Telegram site, and download Telegram source package ([tsetup.0.7.23.tar.xz][1]) for Linux system or you may use following wget command to download directly.
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
Once package has been downloaded, unpack the tarball and switch from current working directory to the extracted directory.
# tar -xf tsetup.0.7.23.tar.xz
# cd Telegram/
Next, execute the binary file Telegram from the command line as shown below.
# ./Telegram
1. The first Impression. Click “START MESSAGING”.
![Start Messaging](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Messaging.jpeg)
Start Messaging
2. Enter Your phone Number. Click “NEXT”. If you have not registered for telegram before this, using the same number as entered above you will get a warning that you dont have a telegram account yet. Click “Register Here”.
![Signup for Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Register.png)
Signup for Telegram
3. After submitting your phone number, telegram will send you a verification code, shortly. You need to Enter it.
![Telegram Verification Code](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
Telegram Verification Code
4. Enter your First_Name, Last_name and pics and click “SIGNUP”.
![Enter Account Details](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
Enter Account Details
5. After account creation, I got this interface. Everything seems at its place, even when I am new to telegram Application. The interface is really simple.
![Telegram Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
Telegram Interface
6. Click Add a contact and Enter Their first_name, last_name and Phone number. Click create when done!.
![Add New Telegram Contact](http://www.tecmint.com/wp-content/uploads/2015/03/Add-New-Telegram-Contact.png)
Add New Telegram Contact
7. If the contact you added is not on telegram already, You get a warning message and telegram will acknowledge you when your contact joins telegram.
![Telegram Contact Notification](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Notification.jpeg)
Telegram Contact Notification
8. As soon as the contact joins telegram you get a message (pop-out like) that reads [YOUR_CONTACT] joined telegram.
9. A formal chat window on Linux Machine. Nice experience…
![Telegram Contact Join Message](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
Telegram Contact Join Message
10. At the same time, Ive tried messaging from my android mobile device, the interface looks similar on both.
![Telegram Mobile Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Mobile-Interface.png)
Telegram Mobile Interface
11. Telegram settings page. You have a lot of options to configure.
![Telegram Settings](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Settings.png)
Telegram Settings
12. About Telegram.
![About Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/About-Telegram.jpeg)
About Telegram
#### Less Interesting Points ####
- Telegram usage protocol MTProto Mobile protocol.
- Released Initially for iPhone in the year 2013 (August 14)..
- People Behind this Amazing Project: Pavel and Nikolai Durov..
Thats all for now. Ill be here again with another interesting article you will love to read. I take the pleasure on behalf of Tecmint to thank all our valuable readers and critics who made us stand where we are now through continuous self evolving process. Keep Connected! Keep Commenting. Share if you care for us.
- [https://telegram.org/][2]
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-telegram-in-linux/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:https://tdesktop.com/linux
[2]:https://telegram.org/

View File

@ -1,103 +0,0 @@
Translating by H-mudcup
Picty: Managing Photos Made Easy
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/03/picty_002-790x429.png)
### About Picty ###
**Picty** is a free, simple, yet powerful photo collection manager that will help you to manage your photos. It is designed around managing **metadata** and a **lossless** approach to image handling. Picty currently supports both online(web-based) and offline(local) collections. In local collections, the images will be stored in a local folder and its sub-folders. A database will be maintained to speed up the image queries in the users home folder. In online(web-based) collections, you can upload and share images through a web browser. Ant user with proper rights can share photos to any persons, and each user can have multiple collections open at once and collections can be shared by multiple users. There is a simple interface for transferring images between collections using a transfer plugin.
You can download any number of photos from your Camera or any devices. Also, Picty allows you to browse photo collections from your Camera before downloading it. Picty is lightweight application, and has snappy interface. It supports Linux, and Windows platforms.
### Features ###
- Supports big photo collections (20,000 plus images).
- Open more than one collection at a time and transfer images between them.
- Collections are:
- Folders of images in your local file system.
- Images on cameras, phones and other media devices.
- Photo hosting services (Flickr currently supported).
- picty does not “Import” photos into its own database, it simply provides an interface for accessing them wherever they are. To keep things snappy and to allow you to browse even if you are offline, picty maintains a cache of thumbnails and metadata.
- Reads and writes metadata in industry standard formats Exif, IPTC and Xmp
- Lossless approach:
- picty writes all changes including image edits as metadata. e.g. an image crop is stored as any instruction, the original pixels remain in the file
- Changes are stored in pictys collection cache until you save your metadata changes to the images. You can easily revert unsaved changes that you dont like.
- Basic image editing:
- Current support for basic image enhancements such as brightness, contrast, color, cropping, and straightening.
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)
- Image tagging:
- Use standard IPTC and Xmp keywords for image tags
- A tag tree view lets you easily manage your tags and navigate your collection
- Folder view:
- Navigate the directory heirarchy of your image collection
- Multi-monitor support
- picty can be configured to let you browse your collection on one screen and view full screen images on another.
- Customizable
- Create launchers for external tools
- Supports plugins many of the current features (tagging and folder views, and all of the image editing tools) are provided by plugins
- Written in python batteries included!
### Installation ###
#### 1. Install from PPA ####
Picty developers has a PPA for Debian based distributions, like Ubuntu, to make the installation much easier.
To install in Ubuntu and derivatives, run:
sudo add-apt-repository ppa:damien-moore/ppa
sudo apt-get update
sudo apt-get install picty
#### 2. Install from Source ####
Also, you can install it from Source files. First, install the following dependencies.
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
Then, get the latest version using command:
bzr branch lp:picty
To run picty, change to the picty directory, and enter:
cd picty
bin/picty
To update to the latest version, run:
cd picty
bzr pull
### Usage ###
Launch Picty either from Menu or Unity Dash.
![picty_001](http://www.unixmen.com/wp-content/uploads/2015/03/picty_001.png)
You can either choose existing collection, device or directory. Let us create a **new collection**. To do that, create New Collection button. Enter the collection, and browse to the path where you have the images stored. Finally, click **Create** button.
![Create a Collection_001](http://www.unixmen.com/wp-content/uploads/2015/03/Create-a-Collection_001.png)
![picty_002](http://www.unixmen.com/wp-content/uploads/2015/03/picty_002.png)
You can modify, rotate, add/remove tags, set descriptive info of each images. To do that, just right click any image and do the actions of your choice.
Visit the following Google group to get more information and support about Picty Photo manager.
- [http://groups.google.com/group/pictyphotomanager][1]
Cheers!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/picty-managing-photos-made-easy/
作者:[SK][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/
[1]:http://groups.google.com/group/pictyphotomanager

View File

@ -0,0 +1,154 @@
10 Truly Amusing Easter Eggs in Linux
================================================================================
![](http://en.wikipedia.org/wiki/File:Adventure_Easteregg.PNG)
The programmer working on Adventure slipped a secret feature into the game. Instead of getting upset about it, Atari decided to give these sorts of “secret features” a name -- “Easter Eggs” because… you know… you hunt for them. Image credit: Wikipedia.
Back in 1979, a video game was being developed for the Atari 2600 -- [Adventure][1].
The programmer working on Adventure slipped a secret feature into the game which, when the user moved an “invisible square” to a particular wall, allowed entry into a “secret room”. That room contained a simple phrase: “Created by [Warren Robinett][2]”.
Atari had a policy against putting author credits in their games, so this intrepid programmer put his John Hancock on the game by being, well, sneaky. Atari only found out about the “secret room” after Warren Robinett had left the company. Instead of getting upset about it, Atari decided to give these sorts of “secret features” a name -- “Easter Eggs” because… you know… you hunt for them -- and declared that they would be putting more of these “Easter Eggs” in future games.
This wasnt the first such “hidden feature” built into a piece of software (that distinction goes to an operating system for the [PDP-10][3] from 1966, but this was the first time it was given a name. And it was the first time it really grabbed the attention of most computer users and gamers.
Linux (and Linux related software) has not been left out. Some truly amusing Easter Eggs have been created for our beloved operating system over the years. Here are some of my personal favorites -- with how to achieve them.
Youll notice, rather quickly, that most of these are experienced via a terminal. Thats on purpose. Because terminals are cool. [I should also take this moment to say that if you try to run an application I list, and you do not have it installed, it will not work. You should install it first. Because… computers.]
### Arch : Pac-Man in pacman ###
Were going to start with one just for the [Arch Linux][4] fans out there. You can add a [Pac-Man][5]-esque character to your progress bars in “[pacman][6]” (the Arch package manager). Why this isnt enabled by default is beyond me.
To do this youll want to edit “/etc/pacman.conf” in your favorite text editor. Under the “# Misc options” section, remove the “#” in front of “Color” and add the line “ILoveCandy”. Because Pac-Man loves candy.
Thats it! Next time you fire up a terminal and run pacman, youll help the little yellow guy get some lunch (or at least some candy).
### GNU Emacs : Tetris and such ###
![emacs Tetris](http://www.linux.com/images/stories/41373/emacsTetris.jpg)
I dont like emacs. Not even a little bit. But it does play Tetris.
I have a confession to make: I dont like [emacs][7]. Not even a little bit.
Some things fill my heart with gladness. Some things take away all my sadness. Some things ease my troubles. Thats [not what emacs does][8].
But it does play Tetris. And thats not nothing. Heres how:
Step 1) Launch emacs. (When in doubt, type “emacs”.)
Step 2) Hit Escape then X on your keyboard.
Step 3) Type “tetris” and hit Enter.
Bored of Tetris? Try “pong”, “snake” and a whole host of other little games (and novelties). Take a look in “/usr/share/emacs/*/lisp/play” for the full list.
### Animals Saying Things ###
The Linux world has a long and glorious history of animals saying things in a terminal. Here are the ones that are the most important to know by heart.
On a Debian-based distro? Try typing “apt-get moo".
![apt-get moo](http://www.linux.com/images/stories/41373/AptGetMoo.jpg)
apt-get moo
Simple, sure. But its a talking cow. So we like it. Then try “aptitude moo”. It will inform you that “There are no Easter Eggs in this program”.
If theres one thing you should know about [aptitude][9], its that its a dirty, filthy liar. If aptitude were wearing pants, the fire could be seen from space. Add a “-v” option to that same command. Keep adding more vs until you force aptitude to come clean.
![](http://www.linux.com/images/stories/41373/AptitudeMoo.jpg)
I think we can all agree, that this is probably the most important feature in aptitude.
I think we can all agree, that this is probably the most important feature in aptitude. But what if you want to put your own words into the mouth of a cow? Thats where “cowsay” comes in.
And, dont let the name “cowsay” fool you. You can put words into so much more than just a cow. Like an elephant, Calvin, Beavis and even the Ghostbusters logo. Just do a “cowsay -l” from the terminal to get a complete list of options.
![](http://www.linux.com/images/stories/41373/cowsay.jpg)
You can put words into so much more than just a cow.
Want to get really tricky? You can pipe the output of other applications into cowsay. Try “fortune | cowsay”. Lots of fun can be had.
### Sudo Insult Me Please ###
Raise your hand if youve always wanted your computer to insult you when you do something wrong. Hell. I know I have. Try this:
Type “sudo visudo” to open the “sudoers” file. In the top of that file youll likely see a few lines that start with “Defaults”. At the bottom of that list add “Defaults insults” and save the file.
Now, whenever you mistype your sudo password, your system will lob insults at you. Confidence boosting phrases such as “Listen, burrito brains, I dont have time to listen to this trash.”, “Are you on drugs?” and “Youre mind just hasnt been the same since the electro-shocks, has it?”.
This one has the side-effect of being a rather fun thing to set on a co-worker's computer.
### Firefox is cheeky ###
Heres one that isnt done from the Terminal! Huzzah!
Open up Firefox. In the URL bar type “about:about”. That will give you a list of all of the “about” pages in Firefox. Nothing too fancy there, right?
Now try “about:mozilla” and youll be greeted with a quote from the “[Book of Mozilla][10]” -- the holy book of web browsing. One of my other favorites, “about:robots”, is also quite excellent.
![](http://www.linux.com/images/stories/41373/About-Mozilla550.jpg)
The “Book of Mozilla” -- the holy book of web browsing.
### Carefully Crafted Calendar Concoctions ###
Tired of the boring old [Gregorian Calendar][11]? Ready to mix things up a little bit? Try typing “ddate”. This will print the current date on the [Discordian Calendar][12]. You will be greeted by something that looks like this:
“Today is Sweetmorn, the 18th day of Discord in the YOLD 3181”
I hear what youre saying, “But, this isnt an Easter Egg!” Shush. Ill call it an Easter Egg if I want to.
### Instant l33t Hacker Mode ###
Want to feel like youre a super-hacker from a movie? Try setting nmap into “[Script Kiddie][13]” mode (by adding “-oS”) and all of the output will be rendered in the most 3l33t [h@x0r-y way][14] possible.
Example: “nmap -oS - google.com”
Do it. You know you want to. Angelina Jolie would be [super impressed][15].
### The lolcat Rainbow ###
Having awesome Easter Eggs and goodies in your Linux terminal is fine and dandy… but what if you want it to have a little more… pizazz? Enter: lolcat. Take the text output of any program and pipe it through lolcat to super-duper-rainbow-ize it.
![](http://www.linux.com/images/stories/41373/lolcat.jpg)
Take the text output of any program and pipe it through lolcat to super-duper-rainbow-ize it.
### Cursor Chasing Critter ###
![oneko cat](http://www.linux.com/images/stories/41373/onekocat.jpg)
“Oneko” -- the Linux port of the classic “Neko”.
“Oneko” -- the Linux port of the classic “[Neko][16]”.
And that brings us to “oneko” -- the Linux port of the classic “Neko”. Basically a little cat that chases your cursor around the screen.
While this may not qualify as an “Easter Egg” in the strictest sense of the word, its still fun. And it feels Easter Egg-y.
You can also use different options (such as “oneko -dog”) to use a little dog instead of a cat and a few other tweaks and options. Lots of possibilities for annoying co-workers with this one.
There you have it! A list of my favorite Linux Easter Eggs (and things of that ilk). Feel free to add your own favorite in the comments section below. Because this is the Internet. And you can do that sort of thing.
--------------------------------------------------------------------------------
via: http://www.linux.com/news/software/applications/820944-10-truly-amusing-linux-easter-eggs-
作者:[Bryan Lunduke][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linux.com/community/forums/person/56734
[1]:http://en.wikipedia.org/wiki/Adventure_(Atari_2600)
[2]:http://en.wikipedia.org/wiki/Warren_Robinett
[3]:http://en.wikipedia.org/wiki/PDP-10
[4]:http://en.wikipedia.org/wiki/Arch_Linux
[5]:http://en.wikipedia.org/wiki/Pac-Man
[6]:http://www.linux.com/news/software/applications/820944-10-truly-amusing-linux-easter-eggs-#Pacman
[7]:http://en.wikipedia.org/wiki/GNU_Emacs
[8]:https://www.youtube.com/watch?v=AQ4NAZPi2js
[9]:https://wiki.debian.org/Aptitude
[10]:http://en.wikipedia.org/wiki/The_Book_of_Mozilla
[11]:http://en.wikipedia.org/wiki/Gregorian_calendar
[12]:http://en.wikipedia.org/wiki/Discordian_calendar
[13]:http://nmap.org/book/output-formats-script-kiddie.html
[14]:http://nmap.org/book/output-formats-script-kiddie.html
[15]:https://www.youtube.com/watch?v=Ql1uLyuWra8
[16]:http://en.wikipedia.org/wiki/Neko_%28computer_program%29

View File

@ -0,0 +1,55 @@
Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative
================================================================================
![Rain is a soothing sound for some](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/raining-1600x900-wallpaper_www.wallpapermay.com_84-1.jpg)
Rain is a soothing sound for some
**If I plan on being productive I cant listen to regular music. It distracts me. I start singing along or get reminded of a different track, so end up poking around my library and… Well, thats that.**
But by the same token I cant work in silence (living with 6 cats means thats not a possibility, though) but the inconsistency jars and sudden clatters and meows interrupt.
My solution that is to **listen to ambient noise**.
I find it helps nullify the misdirection my brain craves, land provide a soundscape that wraps the noise of kitty play time.
Ambient noise is the noise that play out in the background of daily lives; the rain drumming on a window, the intelligible hum of coffee shop chatter, the gossiping of birds on the wind, and so on.
Listening to these sounds can force a racing mind to slow down, rebase and refocus on what matters.
### Ambient Noise App for Ubuntu ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/ambient-noise-player-750x365.jpg)
Google Play and Apple app stores are packed full of ambient and white noise apps. Now a similar tool is available natively on Ubuntu.
[Ambient Noise][1] — as the name might suggest — is an audio player designed specifically for playing these sounds. It even integrates with the Ubuntu Sound Menu for a neat pick, click and relax experience.
The app, which is also known as ANoise Player and is made by Marcos Costales, comes with a set of **8 high-quality sounds**.
These 8 presets cover various ambient atmospheres, ranging from the rhythmic sound of rain, to the tranquil tones of nature at night, and back to the buzz of a bustling coffee shop in the afternoon.
### Install ANoise Player in Ubuntu ###
Ambient Noise player for Ubuntu is a free application and is available to install from its own dedicated PPA.
To do this open a new Terminal window and run:
sudo add-apt-repository ppa:costales/anoise
sudo apt-get update && sudo apt-get install anoise
Once installed simply open it from the Unity Dash (or your DEs equivalent), pick your preferred noise using Sound Menu and then …relax! The app even remembers which sound you used last.
Even so, give it a try out and see if it suits your needs. I would say let me know what you think, but I will be too focused to hear — and so might you!
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2015/04/ambient-noise-player-app-for-ubuntu-linux
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://anoise.tuxfamily.org/

View File

@ -0,0 +1,86 @@
Top 6 Ways To Get Your iTunes Experience On Linux
================================================================================
![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/itunes-linux-840x420.jpg?35dc20)
As youre getting used to Linux (potentially as your new main operating system), youll eventually try to find a way to efficiently manage your music. iTunes comes to mind because its been the most popular way to manage music over the years, but youll quickly find out that iTunes isnt available natively on Linux. Plus, better ways exist to manage your music now that its 2015.
However, that doesnt automatically mean that you wont be able to manage your music the way you want to. Theres plenty of other ways to keep tabs on your music library. Heres six great ways to get it done.
### iTunes via WINE ###
Even if iTunes isnt available in Linux as a native application, you can still try to [get it to work under WINE][1] or PlayOnLinux. These pieces of software try to add a compatibility layer so that Windows applications work on Linux, but the results are far from perfect. Therefore, [not all Windows applications will run with WINE][2] — but its still worth a try.
Each version of iTunes can give you different results, but the general process is as follows:
1. Install WINE
1. Run the iTunes installer via WINE
1. Google and try to solve any problems you come across.
Again, you might come across issues somewhere along the way which cannot be solved, such as the installer failing or the installed application refusing to run. Thats just how it is with WINE.
If you really want to use iTunes and you happen to luck out with WINE, then thats great. However, if youd rather use a native Linux application or WINE didnt work for you, then there are options here as well. Several “music library manager” programs are available to give you a quick oversight of your music and play it directly in the application, as well as make playlists.
### [Amarok][3] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/amarok_main.jpg?35dc20)
If you use KDE, then Id recommend Amarok. It has [plenty of features to manage your music][4] and tight desktop integration with KDE. It also has useful features such as Last.FM integration, file tracking, dynamic playlists, and script support. It can even pull up biographies of artists as you play their songs.
### [Banshee][5] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/banshee_main.jpg?35dc20)
If you use GNOME or any GTK-based desktop environment (theyre quite common), then Id recommend Banshee as a [full-featured music library][6] manager. It has a very similar feature set as Amarok, including Last.FM integration, Internet radio support, podcast support, and much more. Amarok and Banshee are really among the top two choices, so which one you choose should depend on which desktop environment youre using (for integrations sake).
### [Rhythmbox][7] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/rhythmbox_main.jpg?35dc20)
Rhythmbox as a more [lightweight music library alternative][8] that is best used on GTK-based desktop environments. However, it still has quite a few features. You also get Last.FM support here, plus gapless playback and integration with various other applications such as Nautilus, XChat, and Pidgin.
### [Clementine][9] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/clementine_main.jpg?35dc20)
Another application called Clementine also gets my recommendation with its clean and intuitive interface. It has tons of support for third-party services such as Spotify, Digitally Imported, and Dropbox. Theres also an Android app you can use as a remote control for Clementine. [Clementine is cross-platform][10] and available for Windows and Mac OS X.
They all are excellent at managing and playing your music. The only downside to all of these is that there is no iOS device integration, and theres currently no modern application that can do that. However, iOS has received enough improvements that its virtually unnecessary to connect it to a computer anymore.
### [Google Play Music][11] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/google_music.jpg?35dc20)
Lastly, if none of those applications satisfy your needs, you can take a look at Google Play Music. This online service acts as a music library manager that can play your music, but it also has some extra benefits. You can upload all your music to it and have access on any device connected to the Internet. That also means that you wont have to sync your music between your computer and your mobile device (no matter if Android or iOS) because you have access to Google Play Music from both. If you want to expand your library you can get the All Access subscription, but its not a requirement. You can use it simply as a music library completely free for up to 20,000 songs.
#### Wot, no Spotify?! ####
The only reason why I dont mention Spotify is that, although its also a great way to access and listen to music, it doesnt really let you manage your own music. You cant upload trakcs to Spotify — you have to listen to what they give you. Albeit they give you a lot, but its nonetheless a different mechanism.
### You Have Options ###
With these six options, you should be able to get iTunes-like functionality on your desktop. These options focused mainly on managing and playing your music library, but if there are any other features that you need from iTunes, other Linux-native applications can take care of those needs.
**What music applications do you regularly use on Linux?** Let us know in the comments!
--------------------------------------------------------------------------------
via: http://www.makeuseof.com/tag/top-6-ways-get-itunes-experience-linux/
作者:[Danny Stieben][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.makeuseof.com/tag/author/danny/
[1]:http://www.makeuseof.com/tag/how-about-some-wine-with-your-linux/
[2]:http://www.makeuseof.com/answers/does-wine-runs-all-windows-apps/
[3]:https://amarok.kde.org/
[4]:http://www.makeuseof.com/tag/control-music-amarok-linux/
[5]:http://banshee.fm/
[6]:http://www.makeuseof.com/tag/banshee-20-comprehensive-media-player-streamer-podcast-tool-linux/
[7]:https://wiki.gnome.org/Apps/Rhythmbox
[8]:http://www.makeuseof.com/tag/play-manage-music-collection-rhythmbox-linux/
[9]:https://www.clementine-player.org/
[10]:http://www.makeuseof.com/tag/need-a-lightweight-music-player-without-sacrificing-features-clementine-cross-platform/
[11]:http://music.google.com/

View File

@ -0,0 +1,134 @@
Translating by ZTinoZ
10 Years of Git: An Interview with Git Creator Linus Torvalds
================================================================================
> Linus Torvalds explains why he created Git
>
> ![](http://www.linuxveda.com/wp-content/uploads/2014/10/Linus_Torvalds.jpg)
>
> Thanks to Linus' Git today GitHub is the world's biggest code hoster in the world with over 9 million users and over 21.1 million repositories.
>
> By Swapnil Bhartiya -
>
> Git will be celebrating its 10 anniversary this month. Its yet another contribution of Linus Torvalds to the world in addition to Sub Surface and Linux. [Jennifer Cloer of The Linux Foundation interviewed the father of Linux][2] and presented us with a very comprehensive story behind Git.
>
> When Cloer asked Linus why he created Git, his answer was:
>
> “I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCMs with a passion.”
>
> He then played with BitKeeper which he initially liked as in his own words:
>
> “BK got most things right and having a local copy of the repository and distributed merging was a big deal.”
>
> But he was not satisfied:
>
> “I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own.”
>
> And the rest is history. Today GitHub is the worlds biggest code hoster in the world with over 9 million users and over 21.1 million repositories.
>
> via:http://www.linuxveda.com/2015/04/06/linus-torvalds-explains-why-he-created-git/
![](http://www.linux.com/images/stories/714/Linus-Torvalds-LinuxCon-Europe-2014.jpg)
Ten years ago this week, the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Software Configuration Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers.
To celebrate this milestone, we asked Linus to share the behind-the-scenes story of Git and tell us what he thinks of the project and its impact on software development. You'll find his comments in the story below. We'll follow this Q&A with a week of Git in which we profile a different project each day that is using the revision control system. Look for the stories behind KVM, Qt, Drupal, Puppet and Wine, among others.
### Why did you create Git? ###
**Torvalds**: I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCM's with a passion. But then BitKeeper came along and really changed the way I viewed source control. BK got most things right and having a local copy of the repository and distributed merging was a big deal. The big thing about distributed source control is that it makes one of the main issues with SCM's go away - the politics around "who can make changes." BK showed that you can avoid that by just giving everybody their own source repository. But BK had its own problems, too; there were a few technical choices that caused problems (renames were painful), but the biggest downside was the fact that since it wasn't open source, there was a lot of people who didn't want to use it. So while we ended up having several core maintainers use BK - it was free to use for open source projects - it never got ubiquitous. So it helped kernel development, but there were still pain points.
That then came to a head when Tridge (Andrew Tridgell) started reverse-engineering the (fairly simply) BK protocol, which was against the usage rules for BK. I spent a few weeks (months? It felt that way) trying to mediate between Tridge and Larry McVoy, but in the end it clearly wasn't working. So at some point I decided that I can't continue using BK, but that I really didn't want to go back to the bad old pre-BK days. Sadly, at the time, while there were some other SCM's that kind of tried to get the whole distributed thing, none of them did it remotely well. I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own.
### How did you approach it? Did you stay up all weekend to write it or was it just during regular hours? ###
**Torvalds**: Heh. You can actually see how it all took shape in the git source code repository, except for the very first day or so. It took about a day to get to be "self-hosting" so that I could start committing things into git using git itself, so the first day or so is hidden, but everything else is there. The work was clearly mostly during the day, but there's a few midnight entries and a couple of 2 a.m. ones. The most interesting part is how quickly it took shape ; the very first commit in the git tree is not a lot of code, but it already did the basics - enough to commit itself. The trick wasn't really so much the coding but coming up with how it organizes the data.
So I'd like to stress that while it really came together in just about ten days or so (at which point I did my first *kernel* commit using git), it wasn't like it was some kind of mad dash of coding. The actual amount of that early code is actually fairly small, it all depended on getting the basic ideas right. And that I had been mulling over for a while before the whole project started. I'd seen the problems others had. I'd seen what I wanted to avoid doing.
### Has it lived up to your expectations? How is it working today in your estimation? Are there any limitations? ###
**Torvalds**: I'm very happy with git. It works remarkably well for the kernel and is still meeting all my expectations. What I find interesting is how it took over so many other projects, too. Surprisingly quickly, in the end. There is a lot of inertia in switching source control systems; just look at how long CVS and even RCS have stayed around, but at some point git just took over.
### Why do you think it's been so widely adopted? ###
**Torvalds**: I think that many others had been frustrated by all the same issues that made me hate SCM's, and while there have been many projects that tried to fix one or two small corner cases that drove people wild, there really hadn't been anything like git that really ended up taking on the big problems head on. Even when people don't realize how important that "distributed" part was (and a lot of people were fighting it), once they figure out that it allows those easy and reliable backups, and allows people to make their own private test repositories without having to worry about the politics of having write access to some central repository, they'll never go back.
### Does Git last forever, or do you foresee another revision control system in another 10 years? Will you be the one to write it? ###
**Torvalds**: I'm not going to be the one writing it, no. And maybe we'll see something new in ten years, but I guarantee that it will be pretty "git-like." It's not like git got everything right, but it got all the really basic issues right in a way that no other SCM had ever done before.
No false modesty ;)
### Why does Git work so well for Linux? ###
**Torvalds**: Well, it was obviously designed for our workflow, so that is part of it. I've already mentioned the whole "distributed" part many times, but it bears repeating. But it was also designed to be efficient enough for a biggish project like Linux, and it was designed to do things that people considered "hard" before git - because those are the things *I* do every day.
Just to pick an example: the concept of "merging" was generally considered to be something really quite painful and hard in most SCM's. You'd plan your merges, because they were big deals. That's not acceptable to me, since I commonly do tens of merges a day when in the merge window, and even then, the biggest overhead shouldn't be the merge itself, it should be testing the result. The "git" part of the merge is just a couple of seconds, it should take me much longer just to write the merge explanation message.
So git was basically designed and written for my requirements, and it shows.
### People have said that Git is only for super smart people. Even Andrew Morton said Git is "expressly designed to make you feel less intelligent than you thought you were." What's your response to this? ###
**Torvalds**: So I think it used to be true but isn't any more. There is a few reasons people feel that way, but I think only one of them remains. The one that remains is fairly simple: "you can do things so many ways."
You can do a lot of things with git, and many of the rules of what you *should* do are not so much technical limitations but are about what works well when working together with other people. So git is a very powerful set of tools, and that can not only be overwhelming at first, it also means that you can often do the same (or similar) things different ways, and they all "work." Generally, the best way to learn git is probably to first only do very basic things and not even look at some of the things you can do until you are familiar and confident about the basics.
There's a few historical reasons for why git was considered complicated. One of them is that it was complicated. The people who started using git very early on in order to work on the kernel really had to learn a very rough set of scripts to make everything work. All the effort had been on making the core technology work and very little on making it easy or obvious. So git (deservedly) had a reputation for requiring you to know exactly what you did early on. But that was mainly true for the first 6 months or a year.
The other big reason people thought git was hard is that git is very different. There are people who used things like CVS for a decade or two, and git is not CVS. Not even close. The concepts are different. The commands are different. Git never even really tried to look like CVS, quite the reverse. And if you've used a CVS-like system for a long time, that makes git appear complicated and needlessly different. People were put off by the odd revision numbers. Why is a git revision not "1.3.1" with nice incrementing numbers like it was in CVS? Why is it that odd scary 40-character HEX number?
But git wasn't "needlessly different." The differences are required. It's just that it made some people really think it was more complicated than it is, because they came from a very different background. The "CVS background" thing is going away. By now there are probably lots of programmers out there who have never used CVS in their lives and would find the CVS way of doing things very confusing, because they learned git first.
### Do you think the rate of Linux kernel development would have been able to grow at its current rate without Git? Why or why not? ###
**Torvalds**: Well, "without git," sure. But it would have required that somebody else wrote something git-equivalent: a distributed SCM that is as efficient as git is. We definitely needed something *like* git.
### What's your latest opinion of GitHub? ###
**Torvalds**: Github is an excellent hosting service; I have nothing against it at all. Now, the complaints I've had is that GitHub as a development platform - making commits, pull requests, keeping track of issues etc - doesn't work very well at all. It's not even close, not for something like the kernel. It's much too limited.
That's partly because of how the kernel is developed, but part of it was that the GitHub interfaces were actively encouraging bad behavior. Commits done on GitHub had bad commit messages etc, because the web interfaces at GitHub were actively encouraging bad behavior. They did fix some of that, so it probably works better, but it will never be appropriate for something like the Linux kernel.
### What is the most interesting use you've seen for Git and/or GitHub? ###
**Torvalds**: I'm just happy that it made it so easy to start a new project. Project hosting used to be painful, and with git and GitHub it's just so trivial to do a random small project. It doesn't matter what the project is; what matters is that you can do it.
### Do you have side projects up your sleeve today? Any more brilliant software projects that will dominate software development for years to come? ###
**Torvalds**: Nothing planned. But I'll let you know if that changes.
Atlassian is also helping to celebrate the anniversary of Git. Click on the image below to [take a walk down memory lane][1].
![](http://www.linux.com/images/stories/714/AtlassianGit10year.jpg)
--------------------------------------------------------------------------------
via: http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds
作者:[Jennifer Cloer][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linux.com/community/forums/person/714/catid/185-jennifer-cloer
[1]:https://www.atlassian.com/git/articles/10-years-of-git/
[2]:http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds
[3]:
[4]:
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]:

View File

@ -1,114 +0,0 @@
Translating by ZTinoZ
How to Host Open Source Code Repository in github
================================================================================
Hi all, today we will be learning how to host Source Code of Open Source Software in the repository hosted by github.com . GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. It provides a workplace to host powerful collaboration, code review, and code management for open source and private projects. Unlike Git, which is strictly a command-line tool, GitHub provides a web-based graphical interface and desktop as well as mobile integration. GitHub offers both paid plans for private repositories and free accounts, which are usually used to host open-source software projects.
![github universe logo](http://blog.linoxide.com/wp-content/uploads/2015/03/github-universe.jpg)
It is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Anyone can host their software's source code in github's repository for the use, contribution, sharing, issue tracking and many more by millions of people across the globe. Here are some easy and quick steps to easily host software's source code.
### 1. Creating a new Github Account ###
First of all, open your favorite browser and go to Github's homepage url ie [github][1]. Then, the homepage will be opened as shown below.
![Github Homepage](http://blog.linoxide.com/wp-content/uploads/2015/03/github-homepage.png)
Now, after the homepage has been opened, please fill form shown to sign up for a new github account.
After the you entered the valid information required for sign up, you'll be redirected to the plan choosing step. We have 5 plans listed in this page. One can choose the plan according to their requirement. Here, we'll go for a free plan. So, click on Choose to the Free plan and click on Finish Sign up. If we are planning to create an organization then, we need to tick on Help me setup an organization next.
![choosing plan](http://blog.linoxide.com/wp-content/uploads/2015/03/choosing-plan.png)
### 2. Creating a New Repository ###
After we have successfully signed up a new account or logged in to Github, we'll now need to create a new Repository to get started.
Click on **(+)** button which is located at the top right near the account id. Then Click on New Repository .
![Add new repository](http://blog.linoxide.com/wp-content/uploads/2015/03/create-new-repository.png)
Now, after clicking on add a new repository, we'll now be directed to the page where we'll need to enter the required information.
![adding repository information](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-information-repository.png)
Now, after entering the required information about the new repository, we'll need to click on green Create repository button.
After it is done, we'll get to see something similar like this image.
![repository github](http://blog.linoxide.com/wp-content/uploads/2015/03/repository-github.png)
### 3. Uploading an existing Project ###
If we want to share our existing project on Github, we'll surely need to push the codes to the repository we created. To do so, we'll first need to install git in our Linux machine. As I am running Ubuntu 14.04 LTS in my machine, I'll need to run **apt** manger to install it.
$ sudo apt-get install git
![installing git](http://blog.linoxide.com/wp-content/uploads/2015/03/install-git.png)
Now, as git is ready, we are now ready to upload the codes.
**Note**: To avoid errors, do not initialize the new repository with **README**, license, or gitignore files. You can add these files after your project has been pushed to GitHub.
In Terminal, we'll need to change the current working directory to your local project then initialize the local directory as a Git repository/
$ git init
We'll then add the files in our new local repository. This stages them for the first commit.
$ git add .
Now, we'll need to commit the files that we've staged in our local repository.
$ git commit -m 'First commit'
![git commit](http://blog.linoxide.com/wp-content/uploads/2015/03/git-commit.png)
In Terminal, we'll add the URL for the remote repository where our local repostory will be pushed.
$ git remote add origin remote Repository url
$ git remote -v
![adding remote url](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-remote-url.png)
Note: Please do replace remote Repository url to the url of the remote repo.
Now, to push the changes in our local repository to GitHub's repo we'll need to run as below and enter the required credential for the repository.
$ git push origin master
![pushing repo](http://blog.linoxide.com/wp-content/uploads/2015/03/pushing-repo.png)
### Cloning a Repo ###
If we want to download a code repository from github straight to our local drives with a single command then, we can simply use git clone command which will clone the current directory to the remote repository.
$ git clone https://github.com/aruntechgeek/linspeed.git
![cloning repo](http://blog.linoxide.com/wp-content/uploads/2015/03/cloning-repo.png)
Please change the above url to the repository you want to clone from.
### Updating a Change ###
If we made changes to our code and want to push them to our remote repository then after changing the changes, we should run the following commands inside that directory.
$ git add .
$ git commit -m "Updating"
$ git push
### Conclusion ###
Hurray! We have successfully hosted our Project Source Code in Github repository. Github is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Millions of awesome Open Source projects are hosted in github. So, if you have any questions, suggestions, feedback please write them in the comment box below. Thank you ! Enjoy Github :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/usr-mgmt/host-open-source-code-repository-github/
作者:[Arun Pyasi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://github.com/

View File

@ -1,193 +0,0 @@
Vic020
A Peep into Process Management Commands in Linux
================================================================================
A program in execution is called a process. While a program is an executable file present in storage and is passive, a process is a dynamic entity comprising of allocated system resources, memory, security attributes and has a state associated with it. There can be multiple processes associated with the same program and operating simultaneously without interfering with each other. The operating system efficiently manages and keeps track of all the processes running in the system.
In order to manage these processes, user should be able to
- See all the processes that are running
- View the system resources consumed by the processes
- Locate a particular process and take specific action on it
- Change the priority levels associated with processes
- Kill the required processes
- Restrict the system resources available to processes etc.
Linux offers many commands to the user to effectively handle the above mentioned scenarios. Let's understand them one by one.
### 1. ps ###
'ps' is one of the basic commands in Linux to view the processes on the system. It lists the running processes in a system along with other details such as process id, command, cpu usage, memory usage etc. Some of the following options come handy to get more useful information
ps -a - List all the running / active processes
![Output of "ps -a" command](http://blog.linoxide.com/wp-content/uploads/2015/02/ps-a2.png)
ps -ef |grep - List only the required process
ps -aux - Displays processes including those with no terminals(x) Output is user oriented (u) with fields like USER, PID, %CPU, %MEM etc
### 2. pstree ###
In Linux, every process gets spawned by its parent process. This command helps visualize the processes by displaying a tree diagram of the processes showing the relationship between them. If a pid is mentioned, the root of the tree will be the pid. Else it will be rooted at init.
![pstree](http://blog.linoxide.com/wp-content/uploads/2015/02/pstree.png)
### 3. top ###
'top' is a very useful command to monitor the system as it shows the system resources used by different processes. It gives a snapshot of the situation that the system is currently in. Its output includes data like process identification number(PID), user of the process, nice value, %CPU and %memory currently consumed by the process etc. One can use this output to figure out which process is hogging the CPU or memory.
![top](http://blog.linoxide.com/wp-content/uploads/2015/02/top.png)
### 4. htop ###
htop is similar to top, but is an interactive text mode process viewer. It displays the per CPU usage and memory, swap usage using a text graph. One can use the Up/Down arrow key to select processes, F7 and F8 to change the priority and F9 to kill a process. It is not present by default in the system and need to be installed explicitly.
![htop output](http://blog.linoxide.com/wp-content/uploads/2015/03/htop1.png)
### 5. nice ###
With the help of nice command, users can set or change the priorities of processes in Linux. Higher the priority of a process, more is the CPU time allocated by the kernel for it. By default, a process gets launched with priority 0. Process priority can be viewed using the top command output under the NI (nice value) column.
Values of process priority range from -20 to 19. Lower the nice value, higher the priority.
nice <priority value> <process name> - starts the process by setting its priority to the given value
![nice command](http://blog.linoxide.com/wp-content/uploads/2015/02/nice-cmd.png)
![changed nice value of 'top'](http://blog.linoxide.com/wp-content/uploads/2015/02/top-nice.png)
In the above example, 'top' gets launched with a priority -3.
### 6. renice ###
It is similar to nice command. Use this command to change the priority of an already running process. Please note that users can change the priority of only the processes that they own.
renice -n -p - change the priority of the given process
![renice command](http://blog.linoxide.com/wp-content/uploads/2015/02/renice2.png)
Priority of process with id 3806 which had an initial priority of 0 is now changed to priority 4.
renice -u -g - change the priority of processes owned by the given user and group
![output of renice for a user group](http://blog.linoxide.com/wp-content/uploads/2015/02/renice1.png)
In the above example, priority of all processes owned by user 'mint' get changed to '-3'
### 7. kill ###
This is a command used to terminate processes by sending signals. If a process is not responding to kill command, then it can be forcefully killed using the kill -9 command. But this needs to be used carefully as it does not give a chance for the process to clean up and might end up in corrupted files. If we are not aware of the PID of the process to be killed or want to mention the process name to be killed, then killall comes to rescue.
kill <pid>
kill -9 <pid>
killall -9 - kill all instances having the same process name
If you use kill, you need to know the process id of the process to be killed. pkill is a similar command but can be used to kill processes using a pattern, i.e. process name, process owner etc.
pkill <process name>
![kill initiated](http://blog.linoxide.com/wp-content/uploads/2015/02/kill-initiated.png)
![kill](http://blog.linoxide.com/wp-content/uploads/2015/02/kill.png)
### 8. ulimit ###
Command useful in controlling the system-wide resources available to the shells and processes. Mostly useful for system administrators to manage systems that are heavily used and have performance problems. Limiting the resources ensures that important processes continue to run while other processes do not consume more resources.
ulimit -a - Displays the current limits associated with the current user.
![ulimit -a](http://blog.linoxide.com/wp-content/uploads/2015/02/ulimit-a.png)
-f - maximum file size
-v - maximum virtual memory size (in KB)
-n - maximum file descriptor plus 1
-H : To change and report the hard limit
-S : To change and report the soft limit
Check out the ulimit man page for more options.
### 9. w ###
w gives us information about the users who have currently logged in and the processes that they are running. The header details displayed contain information like current time, how long the system has been running, total number of users logged in, load average of the system for the last 1, 5 and 15 minutes
Based on the user information, one can take care before terminating any processes that do not belong to them.
!['w' command](http://blog.linoxide.com/wp-content/uploads/2015/02/w.png)
**who** is a related command and gives a list of currently logged in users, time of last system boot, current run levels etc.
!['who' command](http://blog.linoxide.com/wp-content/uploads/2015/02/who.png)
**whoami** command prints the username of the current user ID
!['whoami' command](http://blog.linoxide.com/wp-content/uploads/2015/02/whoami.png)
### 10. pgrep ###
pgrep stands for "Process-ID Global Regular Expression Print". It scans the currently running processes and lists the process IDs that match the selection criteria mentioned on command line to stdout. Useful for retrieving the process id of a process by using its name.
pgrep -u mint sh
This command will display the process ID for the process named 'sh' and owned by user 'mint'
![output of pgrep](http://blog.linoxide.com/wp-content/uploads/2015/03/pgrep.png)
### 11. fg , bg ###
Sometimes, the commands that we execute take a long time to complete. In such situations, we can push the jobs to be executed in the background using 'bg' command and can be brought to the foreground with the 'fg' command.
We can start a program in background by using the '&' :
find . -name *iso > /tmp/res.txt &
A program that is already running can also be sent to the background using 'CTRL+Z' and 'bg' command:
find . -name *iso > /tmp/res.txt & - start the job in the background
ctrl+z - suspend the currently executing foreground job
bg - push the command execution to background
We can list all the background processes using 'jobs' command
jobs
We can bring back a background process to foreground using the 'fg' command.
fg %
![output of fg, bg and jobscommands](http://blog.linoxide.com/wp-content/uploads/2015/03/fg-bg-jobs.png)
### 12. ipcs ###
ipcs command is used for listing the inter-process communication facilities (shared memory, semaphores and message queues).
This command with -p option can be combined with options -m, -s or-q to display the process id which recently accessed the corresponding ipc facility.
ipcs -p -m
The screen shot below is listing the creator id and process id which accessed the shared memory recently.
![ipcs command](http://blog.linoxide.com/wp-content/uploads/2015/03/ipcs.png)
### Conclusion ###
Generally, it is considered the job of administrators to fix problems and tweak the system to improve the performance. But users also need to deal with processes in Linux quite often. Hence, it is essential to familiarise ourselves with the various commands available to manage them effectively.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/process-management-commands-linux/
作者:[B N Poornima][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bnpoornima/

View File

@ -1,70 +0,0 @@
Linux Email App Geary Updated — How To Install It In Ubuntu
================================================================================
**Geary, the popular desktop email client for Linux, has been updated to version 0.10 — and it gains a glut of new features in the process.**
![An older version of Geary running in elementary OS](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg)
An older version of Geary running in elementary OS
Geary 0.100 features some welcome user interface improvements and additional UI options, including:
- New: Ability to Undo Archive, Trash and Move actions
- New: Option to switch between a 2 column or 2 column layout
- New “split header bar” — improves message list, composer layouts
- New shortcut keys — use j/k to navigate next/previous conversations
This update also introduces a **brand new full-text search algorithm** designed to improve the search experience in Geary, according to Yorba.
This introduction should calm some complaints of the apps search prowess, which often sees Geary return a slew of search results that are, to quote software outfit themselves, “…seemingly unrelated to the search query.”
> Yorba recommends that all users of the client upgrade to this release
*“Although not all search problems are fixed in 0.10, Geary should be more conservative about displaying results that match the users query,” [the team notes][1]. *
Last but by no means least on the main feature front is something sure to find favour with power users: **support for multiple/alternate e-mail addresses per account**.
If your main Gmail account is set-up in Geary to pull in your Yahoo, Outlook and KittyMail messages too then you should now see them all kept neatly together and be given the option of picking which identity you send from when using the composer From field. No, its not the sexiest feature but it is one that has been requested often.
Rounding out this release of the popular Linux email client is the usual gamut of bug fixes, performance optimisations and miscellaneous improvements.
Yorba recommends that all users of the client upgrade to this release.
### Install Geary 0.10 in Ubuntu 14.04, 14.10 & 15.04 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/geary-inline-composor.jpg)
The latest version of Yorba is available to download as source, ready for compiling from the GNOME Git. But lets be honest: thats a bit of a hassle, right?
Ubuntu users wondering how to install Geary 0.10 in **14.04, 14.10** and (for early birds) **15.04** have things easy.
The official Yorba PPA contains the **latest versions of Geary** as well as those for Shotwell (photo manager) and [California][2] (calendar app). Be aware that any existing versions of these apps installed on your computer may/will be upgraded to a more recent version by adding this PPA.
Capiche? Coolio.
To install Geary in Ubuntu you first need to add the Yorba PPA your Softwares Sources. To do this just open a new Terminal window and carefully enter the following two commands:
sudo add-apt-repository ppa:yorba/ppa
sudo apt-get update && sudo apt-get install geary
After hitting return/enter on the last youll be prompted to enter your password. Do this, and then let the installation complete.
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/20130320161830-geary-yorba.png)
Once done, open your desktop environments app launcher and seek out the Geary icon. Click it, add your account(s) and discover [what the email mail man has dropped off through the information superhighway][3] and into the easy to use graphical interface.
**Dont forget: you can always tip us with news, app suggestions, and anything else youd like to see us cover by using the power of electronic mail. Direct your key punches to joey [at] oho [dot] io.**
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:https://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
[2]:http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser
[3]:https://www.youtube.com/watch?v=rxM8C71GB8w

View File

@ -0,0 +1,156 @@
5 Linux Command Line Based Tools for Downloading Files and Browsing Websites
================================================================================
Linux command-line, the most adventurous and fascinating part of GNU/Linux is very cool and powerful tool. Command line itself is very productive and the availability of various inbuilt and third party command line application makes Linux robust and powerful. The Linux Shell supports a variety of web application of various kind be it torrent downloader, dedicated downloader or Internet Surfing.
![Command Line Internet Tools](http://www.tecmint.com/wp-content/uploads/2014/02/Command-Line-Internet-Tools.jpg)
5 Command Line Internet Tools
Here we are presenting 5 great command line Internet tools, which are very useful and proves to be very handy.
### 1. rTorrent ###
rTorrent is a text­-based Torrent Client which is written in C++ aimed at high performance. It is available for most of the standard Linux Distributions including FreeBSD and Mac OS X.
#### Installation of rTorrent ####
# apt­-get install rtorrent (on APT based System)
----------
# yum install rtorrent (on YUM based System)
Check if rtorrent is installed correctly by running the following command in the terminal.
# rtorrent
![Command line torrent download](http://www.tecmint.com/wp-content/uploads/2014/02/rTorrent.jpeg)
rTorrent Command Line Tool
#### Functioning of rTorrent ####
Some of the useful Key-bindings and their use.
- CTRL+ q Quit rTorrent Application
- CTRL+ s Start Download
- CTRL+ d Stop an active Download or Remove an already stopped Download.
- CTRL+ k Stop and Close an active Download.
- CTRL+ r Hash Check a torrent before Upload/Download Begins.
- CTRL+ q When this key combination is executed twice, rTorrent shutdown without sending a stop Signal.
- Left Arrow Key Redirect to Previous screen.
- Right Arrow Key Redirect to Next Screen
### 2. Wget ###
Wget, is a part of GNU Project, the name is derived from World Wide Web (WWW). Wget is a brilliant tool which is useful for recursive download, offline viewing of HTML from local Server and is available for most of the platforms be it Windows, Mac, Linux. Wget makes it possible to download files over HTTP, HTTPS and FTP. Moreover it can be useful in mirroring the whole website as well as support for proxy browsing, pausing/resuming Downloads.
#### Installation of Wget ####
Wget being a GNU project comes bundled with Most of the Standard Linux Distributions and there is no need to download and install it separately. If in-case, its not installed by default, you can still install it using apt or yum.
# apt­-get install wget (on APT based System)
----------
# yum install wget (on YUM based System)
#### Some Basic Usage of Wget ####
Download a single file using wget.
# wget http://www.website-name.com/file
Download a whole website, recursively.
# wget -r http://www.website-name.com
Download specific type of file (say pdf and png) from a website.
# wget -r -A png,pdf http://www.website-name.com
Wget is a wonderful tool which enables custom and filtered download even on limited resource Machine. A screen shot of wget download, where we are mirroring a website (Yahoo.com).
![Wget Download Files](http://www.tecmint.com/wp-content/uploads/2014/02/Wget.jpeg)
Wget Command Line File Download
For more such wget download examples, read our article that shows [10 Wget Download Command Examples][1].
### 3. cURL ###
cURL is a command line tool for transferring data over a number of protocols. cURL is a client side application which support protocols like FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3, etc. cURL is a simple downloader which is different from wget in supporting LDAP, POP3 as compared to others. Moreover Proxy Downloading, pausing download, resuming download are well supported in cURL.
#### Installation of cURL ####
By default cURL is available in most of the distribution either in repository or installed. if its not installed, just do a apt or yum to get a required package from the repository.
# apt­-get install curl (on APT based System)
----------
# yum install curl (on YUM based System)
Basic Usage of cURL
# curl www.tecmint.com
![Curl Download](http://www.tecmint.com/wp-content/uploads/2014/02/Curl.jpeg)
Curl Data Download
![Curl Data Download](http://www.tecmint.com/wp-content/uploads/2014/02/Curl-2.jpeg)
Curl Download
### 4. w3m ###
The w3m is a text based web browser released under GPL. W3m support tables, frames, color, SSL connection and inline images. W3m is known for fast browsing.
#### Installation of w3m ####
Again w3m is available by default in most of the Linux Distribution. If incase, it is not available you can always apt or yum the required package.
# apt­-get install w3m (on APT based System)
----------
# yum install w3m (on YUM based System)
#### Basic Usage of w3m ####
# w3m www.tecmint.com
![Command Line Browser](http://www.tecmint.com/wp-content/uploads/2014/02/w3m.jpeg)
w3m Text Based Web Browser
### 5. Elinks ###
Elinks is a free text-based web browser for Unix and Unix based System. Elinks support HTTP, HTTP Cookies and also support browsing script in Perl and Ruby. Tab based browsing is well supported. The best thing is that it supports Mouse, Display Colours and support a number of Protocols like HTTP, FTP, SMB, Ipv4 and Ipv6.
#### Installation of Elinks ####
By default elinks also available in most of the Linux distributions. If not, install it via apt or yum.
# apt­-get install elinks (on APT based System)
----------
# yum install elinks (on YUM based System)
Basic Usage of Elinks
# elinks www.tecmint.com
![Command Line Internet Browsing](http://www.tecmint.com/wp-content/uploads/2014/02/Elinks.jpeg)
Elinks Command Line Web Browsing
Thats all for now. Ill be here again with an interesting article which you people will love to read. Till then stay tuned and connected to Tecmint and dont forget to give your valuable feedback in comment section.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/10-wget-command-examples-in-linux/

View File

@ -0,0 +1,329 @@
How To Install CentOS Web Panel In CentOS
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/04/centos-790x427.jpg)
### About CentOS Web Panel ###
There are so many free and paid Control panels available nowadays. We will, today, discuss about [CentOS Web panel(CMP)][1], specially designed for RPM based distributions like CentOS, RHEL, Scientific Linux etc. **CWP** is a free, Open Source control panel that can be widely used for deploying a Web hosting environment easily. Unlike other Control panels, CWP is automatically deploy the LAMP stack with Varnish Cache server.
### Features ###
CWP comes with lot of features and free services. As I mentioned before, CWP automatically installs full LAMP stack (apache, php, phpmyadmin, webmail, mailserver etc.) on your server.
Here is the complete list of features and software that will be automatically installed and configured during CWP installation.
#### List of softwares to be installed and configured during CWP installation: ####
- Apache Web Server
- PHP 5.4
- MySQL + phpMyAdmin
- Postfix + Dovecot + roundcube webmail
- CSF Firewall
- File System Lock (no more website hacking, all your files are locked from changes)
- Backups; AutoFixer for server configuration
#### 3rd Party Applications: ####
- CloudLinux + CageFS + PHP Selector
- Softaculous Script Installer (Free and Premium)
#### Web Server: ####
- Varnish Cache server
- Compiles Apache from source
- Apache reCompiler + Additional modules
- Apache server status, configuration
- Edit apache vhosts, vhosts templates, include configuration
- Rebuild all apache Virtual hosts
- suPHP & suExec
- Mod Security + OWASP rules
- Tomcat 8 server management
- DoS protection
- Perl cgi script support
#### PHP: ####
- PHP Switcher (switch between PHP versions like: 5.2, 5.3, 5.4, 5.5)
- PHP Selector select PHP version per user or per folder (PHP 4.4, 5.2, 5.3, 5.4, 5.5, 5.6)
- Simple php editor
- Simple php.ini generator in the users panel
- PHP addons
- PHP.ini editor & PHP info & List modules
- php.ini per user account
- FFMPEG, For Video streaming websites
- CloudLinux + PHP Selector
#### User Management ####
- Add, List, Edit adn Remove Users
- User Monitoring
- Shell access management
- User Limit Managment
- Limit Processes
- Limit Open Files
- User FTP & File Manager
- CloudLinux + CageFS
- Dedicated IP per account
#### DNS: ####
- FreeDNS
- Add, Edit, List and Remove DNS zones
- Edit nameserver IPs
- DNS zone template editor
- New Easy DNS Zone Manager (with ajax)
- New DNS Zone list with Additional resolving information using google (also checking rDNS, nameservers….)
#### Email: ####
- Postfix & dovecot
- MailBoxes, Alias
- Roundcube webmail
- Postfix Mail queue
- rDNS Checker Module
- AntiSPAM
- SPF & DKIM Integration
- Re-Build Postfix/Dovecot Mail server with AntiVirus, AntiSpam Protection
- Email Auto Responder
#### System: ####
- CPU core and clock info
- Memory usage info
- Detailed Disk status
- Software Info like kernel version, uptime etc.
- Services Status
- ChkConfig Manager
- Network port usage
- Network configuration
- SSHD configuration
- Auto-Fixer (checks important configuration and tries to auto-fix issues)
#### Monitoring: ####
- Monitor services eg. top, apache stats, mysql etc.
- Use Java SSH Terminal/Console within panel
- Services Configuration (eg. Apache, PHP, MySQL etc)
- Run shell commands in screen/background
#### Security: ####
- CSF Firewall
- SSL generator
- SSL Certificate Manager
- CloudLinux + CageFS
#### SQL: ####
- MySQL Database Management
- Add local or remote access user
- Live Monitor MySQL process list
- Create, Remove database
- Add additional users per database
- MySQL server configuration
- PhpMyAdmin
- PostgreSQL, phpPgAdmin Support
#### Additional options: ####
- TeamSpeak 3 Manager
- Shoutcast Manager
- Auto-update
- Backup manager
- File Manager
- Virtual FTP users per domain
- cPanel Account Migration (restores files, databases and database users)
- And many more.
### Install CentOS Web Panel In CentOS 6 ###
At the time writing this tutorial, CWP only supports upto CentOS 6.x versions. It doesnt work on CentOS 7 and later versions.
#### Prerequisites: ####
**Before installing CWP, you must know the following information:**
- CWP only supports static IP addresses. It does not support dynamic, sticky, or internal IP addresses.
- CWP doesnt has an uninstaller. After you install CWP, you must reinstall the server to remove it.
- Only install CWP on a freshly installed operating system without any configuration changes.
- Need atleast 512MB RAM for 32 bit systems.
- 1024MB for 64 bit systems.
- Need 4GB RAM or more to deploy all modules.
- At least 20GB or hard disk space is required.
For testing purpose in VirtualBox, 640MB RAM and 10GB hdd space is enough.
#### Update server: ####
Install wget package first. This is needed to download CWP.
yum install wget -y
Update your server using command:
yum update -y
Reboot once to take effect the changes.
#### Install CWP: ####
Change to **/usr/local/src/** directory:
cd /usr/local/src
Download latest CWP version with command:
wget http://centos-webpanel.com/cwp-latest
If the above URL doesnt work, use the following link instead.
wget http://dl1.centos-webpanel.com/files/cwp-latest
Then, start CWP installer using command:
sh cwp-latest
**Sample output:**
![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_001.png)
![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_002.png)
The installation will take upto 30 minutes or more depending upon your Internet speed.
Finally, youll see the installation completed message like below. Note down the details such as mysql root user password and login URLs of CWP. You”ll need them later. Then Press Enter key to reboot your system.
![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_004.png)
After booting into the system, you will see the CWP welcome login message.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CentOS-6.5-Minimal-Running-Oracle-VM-VirtualBox_006.png)
#### Adjust Firewall/Router: ####
The CWP default web console ports are **2030(http)** and **2031(https)**. You should allow the both ports through firewall/Router in order to access the CWP web console from a remote system.
To do that, edit:
vi /etc/sysconfig/iptables
Add the following lines:
[...]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2030 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2031 -j ACCEPT
[...]
Save and close the file. Restart iptables service to take effect the changes.
service iptables restart
### Accessing CWP Web Console ###
Open up your browser and type:
**http://IP-Address:2030/**
Or
**https://IP-Address:2031/**
You will see the following like screen.
The login credentials are:
- **Username**: root
- **Password**: your root password
![](http://www.unixmen.com/wp-content/uploads/2015/04/Login-CentOS-WebPanel-Mozilla-Firefox_007.png)
This is how CWP dashboard will look:
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_008.png)
Congratulations! CWP has been successfully has been installed.
### CWP Basic Configuration ###
Next, we have to do couple of things such as:
1. Setup nameservers
1. Setup shared ip (must be your public IP address)
1. Setup at least one hosting package (or edit default package)
1. Setup root email, etc.
#### Setup nameservers: ####
To setup nameservers, go to **DNS Functions -> Edit nameservers IPs**.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_009.png)
Set your nameservers and click Save changes button.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_010.png)
#### Setup Shared IP And Root mail ID: ####
This is important step to host websites on your host. To setup shared IP, go to **CWP Settings -> Edit settings**.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_011.png)
Enter your Static IP and Email ID, and Click Save settings button.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_012.png)
Now, CWP is ready to host websites.
#### Setup hosting package: ####
A hosting package is nothing but a Web hosting plan that consists of allowed diskspace, bandwidth, no of FTP accounts, no of email ids, and no of databases etc. You can setup any number of web hosting plans as your wish.
To add a package, go to **Packages Add a Package** from the CWP console.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_013.png)
Enter the name of the package, amount of Diskquota/RAM allowed, FTP/Email accounts, Databases, and subdomains etc. Click Save settings button to create the web hosting plan.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_014.png)
Now, CWP is ready to host your domains.
#### Adding Domains: ####
To create a new Domain, you to have at least one user account.
To add a user, go to **User Accounts -> New Account**.
Enter the domain(ex.unixmen.com), username, password and Email id etc. Finally, click **Create**.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_016.png)
Now, let us add a new domain.
To add a domain, go to **Domains -> Add Domain**.
Enter the Domain and assign the domain the users of your choice.
![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_017.png)
### Conclusion ###
In this tutorial, we have seen how to install and configure CentOS Web Panel to create a simple web hosting environment. CWP is very simple to install and use. Even a novice user can create a basic web hosting server in a couple of hours. Also, CWP is completely free to use and open source. Give it a try! You wont be disappointed.
You can find the more details about CWP in the [CentOS Web Panel Wiki page][2].
Cheers!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/how-to-install-centos-web-panel-in-centos/
作者:[SK][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/
[1]:http://centos-webpanel.com/
[2]:http://wiki.centos-webpanel.com/

View File

@ -0,0 +1,85 @@
How to secure BGP sessions using authentication on Quagga
================================================================================
The BGP protocol runs over TCP, and as such, it inherits all the vulnerabilities of a TCP connection. For example, within a BGP session, an attacker may impersonate a legitimate BGP neighbor, and convince the BGP routers on the other end to share their routing information with the attacker. The problem occurs when the attacker advertises and injects bogus routes towards neighboring routers. The unsuspecting neighboring routers may then start sending live traffic towards the attacker, which in most cases goes nowhere and simply gets dropped. Back in 2008, YouTube actually [fell victim][1] to such BGP route poisoning, and suffered major outage on their video service for more than an hour. In a far worse case, if the attacker is savvy enough, they can falsely act as a transparent transit router and sniff the transit traffic for any sensitive data. As you can imagine, this can have far reaching consequences.
To protect active BGP sessions against such attacks, many service providers leverage [MD5 checksum and a pre-shared key][2] for their BGP sessions. In a protected BGP session, a BGP router which sends a packet generates an MD5 hash value by using a pre-shared key, portions of the IP and TCP headers and the payload. The MD5 hash is then stored as a TCP option field. Upon receipt of the packet, a receiving router uses the same method to generate its version of the MD5 hash using a pre-shared key. It compares the hash with the one of the received packet to decide whether to accept the packet. For an attacker, it is almost impossible to guess the checksum or the key. For BGP routers, they can be assured that each packet is validated before its content is consumed.
In this tutorial, we will see how we can secure a BGP session between two neighbors using MD5 checksum and a pre-shared key.
### Preparation ###
Securing a BGP session is fairly straightforward. We will use the following routers.
注:表格
<table id="content">
<tbody><tr>
<td><b>Router name</b></td>
<td><b>AS</b></td>
<td><b>IP address</b></td>
</tr>
<tr>
<td>router-A</td>
<td>100</td>
<td>10.10.12.1/30</td>
</tr>
<tr>
<td>router-B</td>
<td>200</td>
<td>10.10.12.2/30</td>
</tr>
</tbody></table>
The stock Linux kernel supports TCP MD5 option natively for IPv4 and IPv6. Thus if you built Quagga router from a brand new [Linux box][3], TCP MD5 capability will be automatically available for Quagga. It'll be just a matter of configuring Quagga to take advantage of the capability. But if you are using a FreeBSD box or built a custom kernel for Quagga, make sure that you enable TCP MD5 support on the kernel (e.g., CONFIG_TCP_MD5SIG kernel option in Linux).
### Configuring Router-A for Authentication ###
We will use the CLI shell of Quagga to configure the routers. The only new command that we will use is 'password'.
[root@router-a ~]# vtysh
router-a# conf t
router-a(config)# router bgp 100
router-a(config-router)# network 192.168.100.0/24
router-a(config-router)# neighbor 10.10.12.2 remote-as 200
router-a(config-router)# neighbor 10.10.12.2 password xmodulo
The pre-shared key in this example is 'xmodulo'. Obviously, in a production environment you need to select a strong key.
**Note**: in Quagga, the 'service password-encryption command is supposed to encrypt all plain-text passwords (e.g., login password) in its configuration file. However, when I use this command, I notice that the pre-shared key in BGP configuration still remains in clear text. I am not sure whether it's a limitation of Quagga, or whether it's a version issue.
### Configuring Router-B for Authentication ###
We will configure router-B in a similar fashion.
[root@router-b ~]# vtysh
router-b# conf t
router-b(config)# router bgp 200
router-b(config-router)# network 192.168.200.0/24
router-b(config-router)# neighbor 10.10.12.1 remote-as 100
router-b(config-router)# neighbor 10.10.12.1 password xmodulo
### Verifying a BGP session ###
If everything has been configured correctly, the BGP session should be up, and both routers should be exchanging routes. At this point, every outgoing packet in a TCP session carries a MD5 digest of the packet contents and a secret key, and the digest is automatically validated by the other end point.
We can verify the active BGP session by viewing BGP summary as usual. MD5 checksum verification occurs transparently within Quagga, so you don't see it at the BGP level.
![](https://farm8.staticflickr.com/7621/16837774368_e9ff66b370_c.jpg)
If you want to test BGP authentication, you can configure one neighbor without a password or deliberately use a wrong pre-shared key and see what happens. You can also use a packet sniffer like tcpdump or Wireshark to analyze the packets that go through the BGP session. For example, tcpdump with "-M <secret>" option will validate the MD5 digests found in TCP option field.
To sum up, in this tutorial we demonstrate how we can easily secure the BGP session between two routers. The process is very straightforward compared to other protocols. It is always recommended to secure your BGP session, especially if you are setting up the BGP session with another AS. The pre-shared key should also be kept safe.
--------------------------------------------------------------------------------
via: http://xmodulo.com/bgp-authentication-quagga.html
作者:[Sarmed Rahman][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/sarmed
[1]:http://research.dyn.com/2008/02/pakistan-hijacks-youtube-1/
[2]:http://tools.ietf.org/html/rfc2385
[3]:http://xmodulo.com/centos-bgp-router-quagga.html

View File

@ -0,0 +1,75 @@
Exaile 3.4.1 概述 — 一个全功能的GNOME音乐播放器
================================================================================
**Exaile** 在过去两年显得有些平静,也许只有一个或者两个稳定版发布,但尽管如此,在功能方面,它是一个和[Rhythmbox][1]或者[Banshee][2]相匹敌的全功能GNOME音乐播放器。然而在过去的两个月在"Were not dead yet"的口号下推出了一个新的稳定版3.4同时在11月1日还推出了3.4.1增量版本。事实上Exaile有很多的功能我可以继续写很多的文章而不是在一篇文章里全部介绍到就让我们来看一下一些最显著的特点吧。
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile02.jpg)
[Exaile][3]是基于GTK-2用Python写的音乐播放器它能很好地兼容GNOME有和旧的Amarok1.4或者Clementine非常类似的界面以及一些很好的功能。界面主要由两个面板组成两个都支持标签。左边的面板提供对音乐集网络音频只能和自定义播放列表文件浏览播客组标签以及歌词的访问窗口的主要部分是播放列表(支持多种,带标签的播放列表)和控制按钮。
Exaile的界面和Clementine或者Amarok1.4非常相似,可以显示或者隐藏左边的标签。
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile04.jpg)
版本3.4增加了很多新的主要功能和更改而3.4.1是一个小的bug修复版本。版本3.4的新功能包括类似Icecast的新插件歌词同步播放列表分析器Soma.fm以及新的更简单的插件API。用户界面和一般操作也作了修改包括可以在多个面板显示播放列表关闭左边的面板以及更好的BPM用户界面集成。
第一次打开Exaile你可以添加歌曲文件夹到音乐集中-你也可以选择添加文件夹并设置在打开Exaile的时候是否监视或者扫描这些文件夹
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile01.jpg)
Exaile的功能几乎不尽其数。你可以在音乐集中组织音乐听播客对音乐进行评分编辑标签查看文件属性排列歌曲查看歌曲和封面按照多种方式排序播放列表更改播放行为和外观风格。
均衡器,封面管理以及收听网络电台:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile05.jpg)
自动检测本地专辑封面,可以全尺寸显示,放大或者缩小:
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile03.jpg)
首选项窗口允许多个方面配置Exaile包括启用或者禁用插件外观系统托盘集成或者播放模式。外观设置允许你更改标签的布局显示或者隐藏便签栏启用或者禁用透明性或者禁用启动画面。
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_01.jpg)
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_02.jpg)
系统托盘集成提供了一个快速播放或者暂停音乐,对音乐评分或者更改音乐列表播放模式(随机,重复或者动态)的菜单。
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
我相信Exaile数不尽的功能使它成为音乐播放器的完美选择尤其是对于GNOME用户。每个用户都会对丰富多样的选项和高度可配置的方式感到满意。
### 在Ubuntu 14.04 和 14.10上安装Exaile 3.4.1 ###
从源码编译并安装和简单明了。首先获取依赖包:
sudo apt-get build-dep exaile
sudo apt-get install python-gst0.10
从[下载页面][4](或者直接点击[这里][5])下载源码包,然后解压:
tar -xf exaile-3.4.1.tar.gz
更改工作目录到exaile-3.4.1然后运行下面的命令:
make
sudo make install
二进制可执行文件将被安装为 **/usr/local/bin/exaile**.
--------------------------------------------------------------------------------
via: http://www.tuxarena.com/2014/11/exaile-3-4-1-overview-a-feature-complete-gnome-music-player/
作者Craciun Dan
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://wiki.gnome.org/Apps/Rhythmbox
[2]:http://banshee.fm/
[3]:http://www.exaile.org/
[4]:http://www.exaile.org/download/
[5]:https://github.com/exaile-dev/exaile/archive/3.4.1.tar.gz

View File

@ -0,0 +1,132 @@
如何在Linux上安装Telegram Messenger应用
================================================================================
Telegram是和whatsapp类似的及时通讯应用。它有一个非常庞大的用户群。它有很多能和其他通讯应用区分开来的特性。
![在Linux上安装Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
Telegram Messenger for Linux
这篇文章让你了解Telegram应用以及在Linux Box上的详细安装命令。
#### Telegram的特性 ####
- 支持移动设备
- 有桌面版本
- 第三方开发者可以访问Telegram的应用程序接口(API)。
- 支持Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac 和 Linux。
- 以上应用支持重度加密和自销毁信息。
- 可以让你从多种设备和平台查看你的信息。
- 整体的处理和消息传送都非常快
- 为了安全和效率,在全球有分布式服务器
- 开放的API和自由协议
- 没有广告,没有认购费用。-永久免费
- 强大-没有媒体和聊天限制
- 多种安全措施使其免受黑客侵害
- 在群组中回复特定信息。使用@username提醒群组里的多个用户
#### 为什么使用Telegram? ####
当像WhatsApp的和其他的及时通讯应用都提供了几乎同样的功能的情况下为什么要选择Telegram
第三方开发者可以使用API这一点就足够了。更多PC的可用性意味着你不必再纠结在你的移动设备上打字你可以使用你的PC这样更具有可用性。
另外,支持连接远程地点,协作-多达200个成员的群组在所有设备上同步发送各种类型的文件信息加密自毁信息在云上存储媒体基于完全可用API构建自己的工具。
**测试环境**
我们使用Debian GNU/Linux, x86_64结构测试所有的步骤都非常顺利。以下是我们的详细步骤。
### 在Linux上安装Telegram Messenger ###
首先去Telegram的官方网站下载Linux系统版本的Telegram源码包([tsetup.0.7.23.tar.xz][1])你也可以使用下面的wget命令直接下载。
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
下载好安装包后,解压安装包,并从当前目录进入解压后的文件夹。
# tar -xf tsetup.0.7.23.tar.xz
# cd Telegram/
然后如下所示在命令行中执行二进制文件Telegram.
# ./Telegram
1. 第一个界面, 点击 “START MESSAGING”.
![开始安装](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Messaging.jpeg)
开始安装
2. 输入你的手机号码,点击"Next"。如果在这之前你没有注册过Telegram使用和之前输入相同的号码你会看到警告说你还没有Telegram账户。点击“Register Here”。
![注册Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Register.png)
注册Telegram
3. 提交你的手机号码之后Telegram很快会给你发送一个验证码。你需要输入它。
![Telegram验证码](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
Telegram验证码
4. 输入你的姓名昵称并点击“SIGNUP”.
![输入账户详细信息](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
输入账户详细信息
5. 新建账户之后我看到这个界面。一切准备就绪尽管我是Telegram的新用户。这个界面真的很简洁。
![Telegram界面](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
Telegram界面
6. 点击新建联系人,输入他们的姓名和手机号码,完成后点击新建。
![新建Telegram联系人](http://www.tecmint.com/wp-content/uploads/2015/03/Add-New-Telegram-Contact.png)
新建Telegram联系人
7. 如果Telegram中还没有你输入的联系人你会收到一个提示信息当这个联系人加入Telegram的时候Telegram会通知你。
![Telegram联系人提示](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Notification.jpeg)
Telegram联系人提示
8. 当联系人加入Telegram的时候你会收到信息(类似弹出提示)显示[YOUR_CONTACT]加入了Telegram。
9. 在Linux系统上正式的聊天窗口。 很好的体验…
![联系人加入Telegram消息](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
联系人加入Telegram消息
10. 同时我试着在我的Android移动设备上发送信息两者之间界面非常相似。
![移动版Telegram界面](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Mobile-Interface.png)
移动版Telegram界面
11. Telegram设置页面. 你有很多可以配置的选项.
![设置Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Settings.png)
设置Telegram
12. 关于Telegram.
![关于Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/About-Telegram.jpeg)
关于Telegram
#### 有趣的几点 ####
- Telegram使用MTProto移动协议
- 一开始在2013年(8月14号)发布iPhone版
- 惊人项目背后的人物:Pavel and Nikolai Durov..
就是这些了。我还会有你喜欢阅读的其它有趣的文章。很高兴能代表Tecmint感谢我们尊贵的读者以及使得我们通过不断的自我进步走到这里的批评者。保持联系继续评论。如果你关注我们就请和我们分享吧。
- [https://telegram.org/][2]
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-telegram-in-linux/
作者:[Avishek Kumar][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:https://tdesktop.com/linux
[2]:https://telegram.org/

View File

@ -0,0 +1,104 @@
Translated by H-mudcup
Picty:让图片管理变简单
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/03/picty_002-790x429.png)
### 关于Picty ###
**Picty**是个免费,简单,却强大的照片收藏管理器,它可以帮助你管理你的照片。它的设计围绕着管理**元数据**和**无损**的处理图像的方法。Picty目前同时支持在线基于网页的和离线本地的收藏集。在本地的收藏集中图片将被保存在一个本地的文件夹和它的子文件夹中。为了加快用户主目录里图片的查询速度它会维持一个数据库。在在线基于网页的收藏集中你可以通过网页浏览器上传并分享图片。拥有适当权限的个人用户可以把图片分享给任何人而且每个用户可以同时开放多个收藏集收藏集也可以被多个用户分享。通过一个转载插件在收藏集间传递图片就有了个简单的交互界面。
你可以从你的相机或任何设备中下载任何数量的照片。除此之外Picty允许你在下载前浏览在你相机里的图片集。Picty是个轻量级的应用还有着清爽的界面。它支持Linux和Windows平台。
### 功能 ###
- 支持大相片集20000张以上
- 同时开放多个收藏集还可以在它们之间传照片。
- 收藏集包括:
- 本地文件系统中保存图片的文件夹。
- 相机、电话及其他媒体设备中的图片。
- 图片保存服务目前支持Flickr
- Picty不是把相片“导入”到它的数据库中它仅仅提供了一个界面来访问它们不管它们保存在哪。为了保持迅速的反应以及能使你在离线时浏览图片的能力Picty会保存缩略图和元数据的缓存。
- 以业界标准格式Exif、IPTC和Xmp读写元数据。
- 无损的方法:
- Picty把所有改变包括图像编辑以元数据写入。例如一个图片可以以任何方式剪切保存原来的像素仍然保存在该文件里。
- 修改会保存在Picty的收藏集缓存中直到你把你对元数据的修改保存到图片中。你能很容易撤销你不喜欢的未保存的修改。
- 基本图片编辑:
- 目前支持基本的图像增强,如亮度、对比度、色彩、剪切以及矫正。
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)对这些工具的改善和其他的工具即将到来。(红眼消除、拉伸、弯曲、噪声消除)
- 图片标签:
- 使用标准的IPTC和Xmp关键词为图片做标签。
- 一个树状标签图让你能很容易的管理标签和对你的收藏集进行导航。
- 文件夹视图:
- 按照目录的结构对你的图片收藏进行导航
- 支持多屏显示
- Picty可以设置成让你在一个屏幕上浏览你的收藏集同时在另一个屏幕上全屏显示图片。
- 可个性化
- 可以为外部工具创建快捷方式
- 支持插件——目前提供的功能中有许多(标签和文件夹视图以及所有的图片编辑工具)都可以通过插件提供。
- 使用Python编写——自带batteriespython的这个特点使它可在mac、Linux和windows上直接安装使用无需复杂的设置。
### 安装方法 ###
#### 1、从PPA安装 ####
Picty开发人员为基于Debian的发行版如Ubuntu创建了一个PPA让安装更简单。
要在Ubuntu和它的衍生版上安装请运行以下命令
sudo add-apt-repository ppa:damien-moore/ppa
sudo apt-get update
sudo apt-get install picty
#### 2、从源文件安装 ####
此外,你还可以从源文件安装。首先安装如下依赖项。
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
然后,使用下面这个命令得到最新版本:
bzr branch lp:picty
要运行Picty先转到Picty所在的目录然后输入
cd picty
bin/picty
要想更新到最新版,请运行:
cd picty
bzr pull
### 使用方法 ###
可以从目录或Unity Dash启动Picty。
![picty_001](http://www.unixmen.com/wp-content/uploads/2015/03/picty_001.png)
你可以选择已存在的收藏集、设备或目录。让我们创建一个**新收藏集** 。要这样做得先点击新收藏集New Collection按钮。进入收藏集然后浏览都你保存图片的地方。最后点击**创建Create**按钮。
![Create a Collection_001](http://www.unixmen.com/wp-content/uploads/2015/03/Create-a-Collection_001.png)
![picty_002](http://www.unixmen.com/wp-content/uploads/2015/03/picty_002.png)
你可以修改,旋转,添加/移除标签,设置每个图片的描述。要这么做,只需右击任何一个图片然后爱做什么做什么。
访问下面这个Google组可以得到更多关于Picty相片管理器的信息和支持。
- [http://groups.google.com/group/pictyphotomanager][1]
干杯!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/picty-managing-photos-made-easy/
作者:[SK][a]
译者:[H-mudcup](https://github.com/H-mudcup)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/
[1]:http://groups.google.com/group/pictyphotomanager

View File

@ -1,270 +0,0 @@
真实世界WordPress PHP 5.5 PHP5.6 PHP-NG和HHVM基准测试
================================================================================
**长篇摘要在一个基于Vagrant的本地环境中可能是某个错误的原因导致HHVM测试结果丢失了在HHVM伙伴们协助下该原因仍在研究中然而在数字海洋的一个4GB容器中它甚至盖过了最新版的PHP-NG的风头**
![](https://kinsta.com/wp-content/uploads/2014/07/phphhvm.jpg)
**更新请查看文章结尾的结果它们反映出HHVM的功效更佳在JIT热机后虽然处于某些原因我们不能在所有装备中获取这些结果。
下面的测试是在Vagrant/VVV环境中进行的结果仍然令人关注。也许是HHVM或Vagrant配置中的某个错误导致它不能以高速运行我们正和HHVM的伙计们一起研究该问题。**
如果你记得我们[在几个月前写过一篇文章][1]那时WordPress 3.9表明是完全支持HHVM的当时是那么令我们欢欣鼓舞。最初的基准测试结果显示HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来问题就出来了
- HHVM只能以单个用户运行这意味着在共享环境中安全性差了
- HHVM在崩溃后不会自动重启而不幸的是它至今仍然经常发生
- HHVM在启动时使用大量内存而当你把它和PHP-FPM规模比较后会发现它单个请求的内存使用量却更低。
很显然你不得不根据你的或者更确切地说是你的站点的需求采取折中方案然而这值得吗切换到HHVM后你期望获得多少性能改善呢
在Kinsta我们真的想要测试所有新技术并通常会优化这一切来为我们的客户提供最佳的环境。今天我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建一个是全新出炉的WordPress安装另外一个则添加了大量内容的WooCommerce为了计量脚本的运行时间我只是简单地添加了
<?php timer_stop(1); ?>
这一行到footer.php的/body标记前。
**注意:
前面这一章节包含了Vagrant/Virtualbox/Ubuntu14.04的基准测试然而出于某些原因HHVM真的表现得很差也许是某个错误所导致又或许是虚拟化环境的限制。我们感到这些测试结果并不反映真实情况因此我们在云服务器上再次进行了测试并考虑了这些情况的合理性。**
这里是配置环境的详情:
- 数字海洋4GB雨滴容器 (2 CPU核心, 4GB RAM)
- Ubuntu 14.04, MariaDB10
- 测试站点: 已导入演示内容的Munditia主题WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG 20140718-git-6cc487d和HHVM 3.2.0 版本中说是PHP 5.6.99-hhvm
**没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:**
### 数字海洋4GB雨滴容器 ###
运行10次越低越好
这里有一个canvas的数据发布的时候需要截一个图
看起来似乎PHP-NG在它首次运行后就获得了峰值性能HHVM需要更多几次重载但是它们的性能貌似差不多我等不到PHP-NG合并到主进程了
一分钟命中,越高越好。
这里有一个canvas的数据发布的时候需要截一个图
**PHP 5.5.15禁用OpCache**
- 执行: **236 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 2.40 MB
- 回应时间: 2.47 secs
- 执行率: 4.00 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.87
- 成功的执行: 236
- 失败的执行: 0
- 最长执行: 4.44
- 最短执行: 0.48
**PHP 5.5.15启用OpCache**
- 执行: **441 hits**
- 可用性: 100.00 %
- 消耗时间: 59.55 secs
- 传输的数据: 4.48 MB
- 回应时间: 1.34 secs
- 执行率: 7.41 trans/sec
- 吞吐量: 0.08 MB/sec
- 并发数: 9.91
- 成功的执行: 441
- 失败的执行: 0
- 最长执行: 2.19
- 最短执行: 0.64
**PHP 5.6 RC2禁用OpCache**
- 执行: **207 hits**
- 可用性: 100.00 %
- 消耗时间: 59.87 secs
- 传输的数据: 2.10 MB
- 回应时间: 2.80 secs
- 执行率: 3.46 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.68
- 成功的执行: 207
- 失败的执行: 0
- 最长执行: 3.65
- 最短执行: 0.54
-
**PHP 5.6 RC2启用OpCache**
- 执行: **412 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 4.18 MB
- 回应时间: 1.42 secs
- 执行率: 6.98 trans/sec
- 吞吐量: 0.07 MB/sec
- 并发数: 9.88
- 成功的执行: 412
- 失败的执行: 0
- 最长执行: 1.93
- 最短执行: 0.34
**HHVM 3.2.0版本说是PHP 5.6.99-hhvm**
- 执行: **955 hits**
- 可用性: 100.00 %
- 消耗时间: 59.69 secs
- 传输的数据: 9.18 MB
- 回应时间: 0.62 secs
- 执行率: 16.00 trans/sec
- 吞吐量: 0.15 MB/sec
- 并发数: 9.94
- 成功的执行: 955
- 失败的执行: 0
- 最长执行: 0.85
- 最短执行: 0.23
**PHP-NG启用OpCache构建: Jul 29 2014**
- 执行: **849 hits**
- 可用性: 100.00 %
- 消耗时间: 59.88 secs
- 传输的数据: 8.63 MB
- 回应时间: 0.70 secs
- 执行率: 14.18 trans/sec
- 吞吐量: 0.14 MB/sec
- 并发数: 9.94
- 成功的执行: 849
- 失败的执行: 0
- 最长执行: 1.06
- 最短执行: 0.13
----------
**注意:
这些是先前的测试结果,它们不真实。我放在这里用于将来的参考,但是请不要将这些值当作真实的表现!**
这里是配置环境的详情:
- 苹果MacBook Pro mid-2011 (Intel Core i7 2 GHz 4 cores, 4GB RAM, 256GB Ocz Vertex 3 MI)
- 当前修改中的Vagrant带有Ubuntu 14.04, nginx 1.6.x, mysql 5.5.x等的Vagrants构建
- 测试站点 1 WordPress 3.9.1最小化裸版
- 测试站点 2 导入演示内容的Munditia主题,WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d)和HHVM 3.2.0 (版本中说是PHP 5.6.99-hhvm)
**默认主题默认的WordPress 3.9.1, PHP 5.5.9-1ubuntu4.3 带有OpCache 7.0.3**
**错误结果,请阅读上面的说明!**
10次运行越低越好。
这里有一个canvas的数据发布的时候需要截一个图
### 导入演示内容的Munditia主题,WooCommerce 2.1.12 & WordPress 3.9.1禁用OpCache ###
**错误结果,请阅读上面的说明!**
10次运行越低越好。
这里有一个canvas的数据发布的时候需要截一个图
### 导入演示内容的Munditia主题,WooCommerce 2.1.12 & WordPress 3.9.1启用OpCache###
**错误结果,请阅读上面的说明!**
10次运行越低越好。
这里有一个canvas的数据发布的时候需要截一个图
**Siege参数1分钟10个并发用户siege -c 10 -b -t 1M**
**错误结果,请阅读上面的说明!**
一分钟命中,越高越好。
这里有一个canvas的数据发布的时候需要截一个图
**PHP5.5禁用OpCache(PHP 5.5.15-1+deb.sury.org~trusty+1)错误结果,请阅读上面的说明!**
- 执行: 35 hits
- 可用性: 100.00 %
- 消耗时间: 59.04 secs
- 传输的数据: 2.03 MB
- 回应时间: 14.56 secs
- 执行率: 0.59 trans/sec
- 吞吐量: 0.03 MB/sec
- 并发数: 8.63
- 成功的执行: 35
- 失败的执行: 0
- 最长执行: 18.73
- 最短执行: 5.80
**HHVM 3.2.0 (version says PHP 5.6.99-hhvm)错误结果,请阅读上面的说明!**
- 执行: 44 hits
- 可用性: 100.00 %
- 消耗时间: 59.53 secs
- 传输的数据: 0.42 MB
- 回应时间: 12.00 secs
- 执行率: 0.74 trans/sec
- 吞吐量: 0.01 MB/sec
- 并发数: 8.87
- 成功的执行: 44
- 失败的执行: 0
- 最长执行: 13.40
- 最短执行: 2.65
**PHP5.5启用OpCache(PHP 5.5.15-1+deb.sury.org~trusty+1 with OpCache 7.0.4-dev)错误结果,请阅读上面的说明!**
- 执行: 100 hits
- 可用性: 100.00 %
- 消耗时间: 59.30 secs
- 传输的数据: 5.81 MB
- 回应时间: 5.69 secs
- 执行率: 1.69 trans/sec
- 吞吐量: 0.10 MB/sec
- 并发数: 9.60
- 成功的执行: 100
- 失败的执行: 0
- 最长执行: 7.25
- 最短执行: 2.82
**PHP5.6启用OpCache(PHP 5.6.0RC2 with OpCache 7.0.4-dev)错误结果,请阅读上面的说明!**
- 执行: 103 hits
- 可用性: 100.00 %
- 消耗时间: 59.99 secs
- 传输的数据: 5.98 MB
- 回应时间: 5.51 secs
- 执行率: 1.72 trans/sec
- 吞吐量: 0.10 MB/sec
- 并发数: 9.45
- 成功的执行: 103
- 失败的执行: 0
- 最长执行: 6.87
- 最短执行: 2.52
**PHP-NG启用OpCache(20140718-git-6cc487d)错误结果,请阅读上面的说明!**
- 执行: 124 hits
- 可用性: 100.00 %
- 消耗时间: 59.32 secs
- 传输的数据: 7.19 MB
- 回应时间: 4.58 secs
- 执行率: 2.09 trans/sec
- 吞吐量: 0.12 MB/sec
- 并发数: 9.57
- 成功的执行: 124
- 失败的执行: 0
- 最长执行: 6.86
- 最短执行: 2.24
**你觉得这测试怎样?我遗漏了什么没有?下一篇基准测试文章中你想看到什么呢?请在下面评论中回复!**
--------------------------------------------------------------------------------
via: https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
作者:[Mark Gavalda][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://kinsta.com/blog/author/kinstadmin/
[1]:https://kinsta.com/blog/hhvm-and-wordpress/

View File

@ -1,54 +0,0 @@
如何修复Windows更新在0%卡住
================================================================================
当你在一个月后登录Windows发现有一些更新需要安装 你选择安装这些更新但是**Windows更新卡在0%**时你感觉怎么样?
为什么我在Linux和开源专属的博客上谈论Windows更新呢因为我喜欢[双启动Windows和Linux][1]。当我使用Linux作为我的主桌面时过了一段时间我登录到Windows中。登录Windows后最烦人的事情是Windows更新。我偶尔遇到了几次**Windows更新不能工作**的情况。我选择安装更新而且Windows更新卡在了0%和0KB上就像这样
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_Updates_stuck_at_zero.jpeg)
本教程中我们会让Windows更新再次可用。这个教程应该同样适用于Windows 7、Windows 8和Windows 8.1。
### 修复Windows更新卡在0% ###
请注意Windows更新可能卡在任何地方我们将会使用的这个技巧需要你重新安装这些更新。我希望你不要觉得太麻烦。如果你准备好了就让我们开始修复这个Windows更新问题。
#### 步骤 1: ####
按下Windows+R。这时会弹出运行窗口。在这里我们输入services.msc
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Updates_3.png)
#### 步骤 2: ####
这里会显示Windows上安装的所有服务。这些服务以字母排序。向下拉到**Windows Update Service**。右击并停止服务。
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_Updates_stuck_1.jpeg)
#### 步骤 3: ####
现在进入**C:\Windows\SoftwareDistribution并删除这里所有的内容**。实际上这个文件夹是下载和保存安装文件的地方。但是由于Windows更新卡住了所以这里的某个安装文件存在一些问题。
#### 步骤 4: ####
回到前面的服务第一步中提到的并右击重新启动Windows更新服务。再重新试一下Windows更新这次应该可以用了。
当系统更新可以工作时,你或许会发现在下次启动时会有很多更新要安装。这时打个电话:
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_update_suck.jpg)
玩笑之余我希望这个贴士能够帮助你拜托Windows更新卡在0%的情况。我希望Linux中的更新也能够含在[Windows 10从Linux复制的特性][2]列表中。这只是我的希望。
--------------------------------------------------------------------------------
via: http://itsfoss.com/fix-windows-updates-stuck-0/
作者:[Abhishek][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/abhishek/
[1]:http://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
[2]:http://itsfoss.com/windows-10-inspired-linux/

View File

@ -0,0 +1,113 @@
怎样在Github上做开源代码库的主人
================================================================================
大家好今天我们要学习一下怎样管理github.com库中的开源软件源代码。GitHub是一个基于web的Git库托管服务提供分布式修改控制和Git的源代码管理(SCM)功能并加入了自身的特点。它给开源和私有项目提供了一个互相协作的工作区、代码预览和代码管理功能。不像Git一个完完全全的命令行工具GitHub提供了一个基于web的图形化界面和桌面也整合了手机。GitHub同时提供了私有库付费计划和免费账号都是用来管理开源软件项目的。
![github universe logo](http://blog.linoxide.com/wp-content/uploads/2015/03/github-universe.jpg)
这是一种快速灵活基于web的托管服务它使用方便管理分布式修改控制系统也是相当容易任何人都能为了将它们使用、贡献、共享、问题跟踪和更多的全球各地数以百万计的人在github的库里管理他们的软件源代码。这里有一些简单快速地管理软件源代码的方法。
### 1. 创建一个新的Github账号 ###
首先,打开你最喜欢的浏览器并访问[github][1],首页页面如下所示。
![Github Homepage](http://blog.linoxide.com/wp-content/uploads/2015/03/github-homepage.png)
现在首页打开之后请填写一个新的github账号用于注册。
输入注册所需的有效信息之后你会被转到计划选择的步骤。在这个页面上有5种计划我们可以根据需要来选择这里我们要选择免费计划。所以我们点击选择Free计划并完成注册。如果我们接下去还打算创建一个组织那我们需要勾选“Help me setup an organization next”。
![choosing plan](http://blog.linoxide.com/wp-content/uploads/2015/03/choosing-plan.png)
### 2. 创建一个新的库 ###
成功注册新账号或登录上Github之后我们需要创建一个新的库来开始我们的正题。
点击位于顶部靠右账号id旁边的**(+)**按钮然后点击“New Repository”。
![Add new repository](http://blog.linoxide.com/wp-content/uploads/2015/03/create-new-repository.png)
点击创建一个新的库之后,我们进入了填写所需信息的页面。
![adding repository information](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-information-repository.png)
填写好信息之后我们点击绿色的“Create repository”按钮。
这些步骤都做完之后,我们将看到类似于下面这张图的页面。
![repository github](http://blog.linoxide.com/wp-content/uploads/2015/03/repository-github.png)
### 3. 上传一个已有项目 ###
如果我们想在Github上分享我们的项目我们自然要把代码推上我们创建的库中。想要这样的话我们首先要在我们的Linux机器上安装git。如果我在机器上运行的是Ubuntu 14.04 LTS我需要运行**apt**工具来安装它。
$ sudo apt-get install git
![installing git](http://blog.linoxide.com/wp-content/uploads/2015/03/install-git.png)
现在git已经准备就绪我们要上传代码了。
**注意**:为了避免错误,不要用**README**文件、许可证或gitignore文件来初始化新库你可以在项目推送到Github上之后再添加它们。
在终端上我们需要把当前工作目录更改为你的本地项目然后将本地目录初始化为Git库。
$ git init
接着我们在我们的新的本地库里添加的文件来作为我们的首次提交内容。
$ git add .
现在我们就提交我们在本地库所添加的文件。
$ git commit -m 'First commit'
![git commit](http://blog.linoxide.com/wp-content/uploads/2015/03/git-commit.png)
在终端上我们要给远程库添加URL地址用于以后我们能提交我们本地的库。
$ git remote add origin remote Repository url
$ git remote -v
![adding remote url](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-remote-url.png)
注意请确保将远程库的URL替换成了自己的远程库的URL。
现在要将我们的本地库提交至GitHub版本库中我们需要运行一下命令并且输入所需的用户名和密码。
$ git push origin master
![pushing repo](http://blog.linoxide.com/wp-content/uploads/2015/03/pushing-repo.png)
### 克隆一个库 ###
如果我们想用一条简单地命令从github上下载代码库至本机上我们可以用git clone命令该命令将会从远程库中克隆最新的目录。
$ git clone https://github.com/aruntechgeek/linspeed.git
![cloning repo](http://blog.linoxide.com/wp-content/uploads/2015/03/cloning-repo.png)
请把以上这条URL地址更改成你想要克隆的地址。
### 更新改动 ###
如果我们对我们的代码做了更改并想把它们提交至我们的远程库中,我们应该在该目录下运行以下命令。
$ git add .
$ git commit -m "Updating"
$ git push
### 结论 ###
啊哈我们已经成功地管理我们在Github库中的项目源代码了。快速灵活的Github基于web的托管服务分布式修改控制系统使用起来方便容易。数百万个非常棒的开源项目驻扎在github上。所以如果你有任何问题、建议或反馈请在评论中告诉我们。谢谢大家好好享受吧 :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/usr-mgmt/host-open-source-code-repository-github/
作者:[Arun Pyasi][a]
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://github.com/

View File

@ -0,0 +1,193 @@
12个进程管理命令
================================================================================
每个程序在执行时叫进程。当程序是在存储中是可执行文件并且运行的时候,每个进程会被动态得分配系统资源,内存,安全属性和与之相关的状态。可以有多个进程关联同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。
为了管理这些进程,用户应该能够:
- 查看所有运行中的进程
- 查看进程消耗资源
- 定位个别进程并且可以执行指定动作
- 改变进程的优先级
- 杀死指定进程
- 限制进程的有效系统资源
- 等
Linux提供了许多命令给用户来高效掌控上述的操作。接下来一个一个的来讲解下。
### 1. ps ###
'ps'是最基础浏览系统中的进程的命令。能列出系统中运行的进程包括进程号命令CPU使用量内存使用量等。下述选项可以得到更多有用的消息。
ps -a - 列出所有运行中/激活进程
![Output of "ps -a" command](http://blog.linoxide.com/wp-content/uploads/2015/02/ps-a2.png)
ps -ef |grep - 列出需要进程
ps -aux - 展示进程包括、终端x和用户u信息如USER, PID, %CPU, %MEM等
### 2. pstree ###
linux中每一个进程都是由父进程创建的。此命令帮助可视化进程通过显示进程树状图表展示进程间关系。如果使用pid了那么树的根是pid。不然将会是init。
![pstree](http://blog.linoxide.com/wp-content/uploads/2015/02/pstree.png)
### 3. top ###
top是一个更加有用的命令通过不同的进程所使用的资源可以监视系统。它提供实时的系统状态信息。显示进程的数据包括PID进程用户优先值%CPU%memory等。可以使用这些显示指示出资源使用量。
![top](http://blog.linoxide.com/wp-content/uploads/2015/02/top.png)
### 4. htop ###
htop与top很类似但是htop是交互式的模式进程查看器。它通过文字图像显示每一个CPU和内存使用量、swap使用量。上下键选择进程F7和F8改变优先级F9杀死进程。Htop不是系统默认所以需要额外安装。
![htop output](http://blog.linoxide.com/wp-content/uploads/2015/03/htop1.png)
### 5. nice ###
通过nice命令的帮助用户可以设置和改变进程的优先级。提高一个进程的优先级内核会分配更多CPU时间片给这个进程。默认情况下进程以0的优先级启动。进程优先级可以通过top命令显示的NInice value列查看。
进程优先级值的范围从-20到19。值越低越优先。
nice <优先值> <进程名> - 通过给定的优先值启动一个程序
![nice command](http://blog.linoxide.com/wp-content/uploads/2015/02/nice-cmd.png)
![changed nice value of 'top'](http://blog.linoxide.com/wp-content/uploads/2015/02/top-nice.png)
上述命令例子可以看到top命令获得了-3的优先值。
### 6. renice ###
renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。注意用户只能改变属于他们的进程的优先值。
renice -n -p - 改变指定进程的优先值
![renice command](http://blog.linoxide.com/wp-content/uploads/2015/02/renice2.png)
优先值初始化为0的3806号进程优先值已经变成了4.
renice -u -g - 通过指定用户和组来改变进程优先值
![output of renice for a user group](http://blog.linoxide.com/wp-content/uploads/2015/02/renice1.png)
上述例子中用户为mint的所有进程优先值变为-3
### 7. kill ###
这个命令通过发送信号结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意使用强制杀死的时候一定要小心因为没有机会确定是否写入完成、是否结束等。如果我们不知道进程PID或者打算用名字杀死进程时候killall就能派上用场。
kill <pid>
kill -9 <pid>
killall -9 - 杀死所有拥有同样名字的进程
如果你使用kill你需要知道进程ID号。pkill是类似的命令但只需要一个模式如果进程名进程拥有者等
pkill <进程名>
![kill initiated](http://blog.linoxide.com/wp-content/uploads/2015/02/kill-initiated.png)
![kill](http://blog.linoxide.com/wp-content/uploads/2015/02/kill.png)
### 8. ulimit ###
命令在控制系统资源在shell和进程上的分配量。对于系统管理员是最有用的可以管理系统倾向和性能问题。限制资源大小可以确保重要进程持续运行其他进程不会占用过多资源。
ulimit -a - 显示当前用户关联的资源限制
![ulimit -a](http://blog.linoxide.com/wp-content/uploads/2015/02/ulimit-a.png)
-f - 最大文件大小
-v - 最大虚拟内存大小KB
-n - 最大文件描述符加1
-H : 改变和报告硬限制
-S : 改变和报告软限制
浏览ulimit man页面获取更多选项。
### 9. w ###
w提供正确登录的用户和其执行的进程的信息。显示信息头包含信息像现在时间系统运行时长登录用户总数过去1515分钟负载均衡数。
基于这些用户信息,用户可以在终止进程前查看不属于他们的进程。
!['w' command](http://blog.linoxide.com/wp-content/uploads/2015/02/w.png)
**who**是类似命令,提供列表,包含当前登录用户,系统启动时间,运行级别等。
!['who' command](http://blog.linoxide.com/wp-content/uploads/2015/02/who.png)
**whoami** 命令输出当前用户ID
!['whoami' command](http://blog.linoxide.com/wp-content/uploads/2015/02/whoami.png)
### 10. pgrep ###
pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程然后列出选择标准匹配出的进程ID到标准输出。对于通过名字检索进程号是很有用。
pgrep -u mint sh
这个命令将会显示用户为mint和进程名为sh的进程ID。
![output of pgrep](http://blog.linoxide.com/wp-content/uploads/2015/03/pgrep.png)
### 11. fg , bg ###
有时命令需要很长的时间才能执行完成。对于这种情况我们使用bg命令可以将任务放在后台执行而是用fg可以调到前台来使用。
通过‘&,我们后台启动一个程序:
find . -name *iso > /tmp/res.txt &
一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。
find . -name *iso > /tmp/res.txt & - 启动一个程序
ctrl+z - 挂起当前执行程序
bg - 将程序发送到后台运行
我们可以使用jobs命令列出所有后台进程。
jobs
使用fg命令可以将后台程序调到前台执行。
fg %
![output of fg, bg and jobscommands](http://blog.linoxide.com/wp-content/uploads/2015/03/fg-bg-jobs.png)
### 12. ipcs ###
ipcs命令报告进程间通信设施状态。共享内存信号量和消息队列
用-p参数联合-m、-s或-q使用可以获得相关的进程间通信的进程ID。
ipcs -p -m
下面屏幕截图列出了共享内存段的创建者ID和进程ID。
![ipcs command](http://blog.linoxide.com/wp-content/uploads/2015/03/ipcs.png)
### 总结 ###
总之 ,这些命令可以帮助管理员修复问题和改善性能。同样作为一名普通用户也需要解决进程间出现的问题。所以,熟悉如此繁多的命令,从能有效管理进程是行之有效。
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/process-management-commands-linux/
作者:[B N Poornima][a]
译者:[VicYu/Vic020](http://vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bnpoornima/

View File

@ -0,0 +1,70 @@
Linux Email应用 Geary 更新了 — 如何在Ubuntu上安装
================================================================================
**GearyLinux上流行的桌面email客户端更新到版本0.10了 — 并且有了很多新的功能。**
![elementary OS上运行的旧版本的Geary](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg)
elementary OS上运行的旧版本的Geary
Geary 0.10有一些可惜的用户界面改进以及额外的UI选项包括
- 新增: 可以对归档,删除以及移动做'Undo'操作
- 新增: 在2列或者2列布局之间切换
- 新的 “split header bar” — 改进邮件列表,发件人布局
- 新的快捷键 — 使用j/k切换到上/下一封邮件
根据Yorba介绍这次更新还提出了一个 **全新的全文检索算法** 用来改进Geary的搜索体验。
这个更新应该能平息一下对应用搜索能力的抱怨那些经常觉得Geary返回的搜索结果仅仅是包装软件自身"看起来和查询语句毫不相关"的观点。
> Yorba 建议所有这个软件客户端的用户升级到这个版本’
*“尽管并不是所有的搜索问题在0.10版本中都解决了但Geary能确保显示的结果能和更好的匹配用户的查询”[团队表示][1]。*
最后同样重要的是,专业用户会喜欢的主要功能:**支持一个账户有多个或者备用的email地址**。
如果你在Geary中设置Gmail账户来收取你的YahooOutlook和KittyMail信件你可以看到现在它们都整齐地放在一起当你写信时在'From'栏你可以选择指定账户作为发送人。这并不是最重要,但是却是最经常被人要求的的功能。
这个流行的Linux电子邮件客户端的这次发布主要是bug修复性能优化以及一些杂项改进。
Yorba建议所有这个客户端的用户都升级到这个发行版。
### 在Ubuntu 14.04, 14.10 & 15.04安装Geary 0.10 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/geary-inline-composor.jpg)
Yorba的最新版本可以从GNOME的Git账户下载可编译的源代码。但说实话这不是有点麻烦吗
Ubuntu用户想知道如何在 **14.04,14.10** 以及 **15.04**(那些更新爱好者) 上安装Geary 0.10。
官方的Youba PPA包括了 **Geary最新版本** 以及Shotwell(照片管理器)和[California][2](日历应用)。请注意添加这个PPA会使你电脑上任何已经安装的这些应用更新到最近的版本。
Capiche? Coolio.
在Ubuntu上安装Geary你首先需要添加Yorba PPA和你的软件源。做这些你只需要打开终端窗口并小心地输入下面的两条命令
sudo add-apt-repository ppa:yorba/ppa
sudo apt-get update && sudo apt-get install geary
在输入最后一条命令并敲击回车键后会提示输入你的密码。输入密码让安装完成。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/20130320161830-geary-yorba.png)
完成后打开你的桌面环境应用启动面板并查找Geary图标。点击它添加你的账户并查看[通过信息高速公路下载了什么][3],开始使用简单的图形界面吧。
**别忘记你可以通过电子邮件告诉我们你想看的新闻应用建议以及任何你想我们包括的东西直接点击joey@oho.io**
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update
作者:[Joey-Elijah Sneddon][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:https://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
[2]:http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser
[3]:https://www.youtube.com/watch?v=rxM8C71GB8w