This commit is contained in:
wwy-hust 2015-06-01 12:31:26 +08:00
commit 485bbdd707
108 changed files with 396 additions and 512 deletions

194
README.md
View File

@ -49,93 +49,125 @@ LCTT的组成
* 2014/10/08 提升bazz2为Core Translators成员。
* 2014/11/04 提升zpl1025为Core Translators成员。
* 2014/12/25 提升runningwater为Core Translators成员。
* 2015/04/19 发起 LFS-BOOK-7.7-systemd 项目。
活跃成员
-------------------------------
目前活跃成员有:
- CORE [wxy](https://github.com/wxy),
- CORE [carolinewuyan](https://github.com/carolinewuyan),
- CORE [DeadFire](https://github.com/DeadFire),
- CORE [geekpi](https://github.com/geekpi),
- CORE [GOLinux](https://github.com/GOLinux),
- CORE [reinoir](https://github.com/reinoir),
- CORE [bazz2](https://github.com/bazz2),
- CORE [zpl1025](https://github.com/zpl1025),
- Senior [tinyeyeser](https://github.com/tinyeyeser),
- Senior [vito-L](https://github.com/vito-L),
- Senior [jasminepeng](https://github.com/jasminepeng),
- Senior [willqian](https://github.com/willqian),
- Senior [vizv](https://github.com/vizv),
- [runningwater](https://github.com/runningwater),
- [luoxcat](https://github.com/Luoxcat),
- [Vic020](https://github.com/Vic020),
- [KayGuoWhu](https://github.com/KayGuoWhu),
- [alim0x](https://github.com/alim0x),
- [ZTinoZ](https://github.com/ZTinoZ),
- [2q1w2007](https://github.com/2q1w2007),
- [flsf](https://github.com/flsf),
- [blueabysm](https://github.com/blueabysm),
- [barney-ro](https://github.com/barney-ro),
- [su-kaiyao](https://github.com/su-kaiyao),
- [crowner](https://github.com/crowner),
- [Linchenguang](https://github.com/Linchenguang),
- [Linux-pdz](https://github.com/Linux-pdz),
- [linuhap](https://github.com/linuhap),
- [yechunxiao19](https://github.com/yechunxiao19),
- [woodboow](https://github.com/woodboow),
- [SPccman](https://github.com/SPccman),
- [disylee](https://github.com/disylee),
- [cvsher](https://github.com/cvsher),
- [ThomazL](https://github.com/ThomazL),
- [Stevearzh](https://github.com/Stevearzh),
- [felixonmars](https://github.com/felixonmars),
- [scusjs](https://github.com/scusjs),
- [johnhoow](https://github.com/johnhoow),
- [hyaocuk](https://github.com/hyaocuk),
- [MikeCoder](https://github.com/MikeCoder),
- [theo-l](https://github.com/theo-l),
- [wangjiezhe](https://github.com/wangjiezhe),
- [jiajia9linuxer](https://github.com/jiajia9linuxer),
- [NearTan](https://github.com/NearTan),
- [l3b2w1](https://github.com/l3b2w1),
- [shipsw](https://github.com/shipsw),
- [boredivan](https://github.com/boredivan),
- [Love-xuan](https://github.com/Love-xuan),
- [JonathanKang](https://github.com/JonathanKang),
- [luoyutiantang](https://github.com/luoyutiantang),
- [owen-carter](https://github.com/owen-carter),
- [icybreaker](https://github.com/icybreaker),
- [tenght](https://github.com/tenght),
- [rogetfan](https://github.com/rogetfan),
- [liuaiping](https://github.com/liuaiping),
- [nd0104](https://github.com/nd0104),
- [szrlee](https://github.com/szrlee),
- [lfzark](https://github.com/lfzark),
- [ggaaooppeenngg](https://github.com/ggaaooppeenngg),
- [CNprober](https://github.com/CNprober),
- [coloka](https://github.com/coloka),
- [213edu](https://github.com/213edu),
- [guodongxiaren](https://github.com/guodongxiaren),
- [Tanete](https://github.com/Tanete),
- [zzlyzq](https://github.com/zzlyzq),
- [yujianxuechuan](https://github.com/yujianxuechuan),
- [ailurus1991](https://github.com/ailurus1991),
- [FineFan](https://github.com/FineFan),
- [shaohaolin](https://github.com/shaohaolin),
- [tomatoKiller](https://github.com/tomatoKiller),
- [CHINAANSHE](https://github.com/CHINAANSHE),
- [stduolc](https://github.com/stduolc),
- [Maclauring](https://github.com/Maclauring),
- [Hao-Ding](https://github.com/Hao-Ding),
- [zsJacky](https://github.com/zsJacky),
- [small-Wood](https://github.com/small-Wood),
- [cereuz](https://github.com/cereuz),
- [lijhg](https://github.com/lijhg),
- [fbigun](https://github.com/fbigun),
目前 TP 活跃成员有:
- CORE @wxy,
- CORE @carolinewuyan,
- CORE @DeadFire,
- CORE @geekpi,
- CORE @GOLinux,
- CORE @reinoir,
- CORE @bazz2,
- CORE @zpl1025,
- Senior @tinyeyeser,
- Senior @vito-L,
- Senior @jasminepeng,
- Senior @willqian,
- Senior @vizv,
- @ZTinoZ,
- @Vic020,
- @runningwater,
- @KayGuoWhu,
- @luoxcat,
- @alim0x,
- @2q1w2007,
- @theo-l,
- @ictlyh,
- @FSSlc,
- @su-kaiyao,
- @blueabysm,
- @flsf,
- @martin2011qi,
- @SPccman,
- @wi-cuckoo,
- @Linchenguang,
- @linuhap,
- @crowner,
- @Linux-pdz,
- @H-mudcup,
- @yechunxiao19,
- @woodboow,
- @Stevearzh,
- @disylee,
- @cvsher,
- @wwy-hust,
- @johnhoow,
- @felixonmars,
- @TxmszLou,
- @shipsw,
- @scusjs,
- @wangjiezhe,
- @hyaocuk,
- @MikeCoder,
- @ZhouJ-sh,
- @boredivan,
- @goreliu,
- @l3b2w1,
- @JonathanKang,
- @NearTan,
- @jiajia9linuxer,
- @Love-xuan,
- @coloka,
- @owen-carter,
- @luoyutiantang,
- @JeffDing,
- @icybreaker,
- @tenght,
- @liuaiping,
- @mtunique,
- @rogetfan,
- @nd0104,
- @mr-ping,
- @szrlee,
- @lfzark,
- @CNprober,
- @DongShuaike,
- @ggaaooppeenngg,
- @haimingfg,
- @213edu,
- @Tanete,
- @guodongxiaren,
- @zzlyzq,
- @FineFan,
- @yujianxuechuan,
- @Medusar,
- @shaohaolin,
- @ailurus1991,
- @liaoishere,
- @CHINAANSHE,
- @stduolc,
- @yupmoon,
- @tomatoKiller,
- @zhangboyue,
- @kingname,
- @KevinSJ,
- @zsJacky,
- @willqian,
- @Hao-Ding,
- @JygjHappy,
- @Maclauring,
- @small-Wood,
- @cereuz,
- @fbigun,
- @lijhg,
- @soooogreen,
更新于2014/12/02以Github contributors列表排名
LFS 项目活跃成员有:
- @ictlyh
- @dongfengweixiao
- @wxy
- @H-mudcup
- @zpl1025
- @KevinSJ
- @Yuking-net
更新于2015/05/31以Github contributors列表排名
谢谢大家的支持!

View File

@ -0,0 +1,144 @@
如何在Fedora或CentOS上使用Samba共享文件夹
================================================================================
如今无论在家里或者是办公场所不同的电脑之间共享文件夹已不是什么新鲜事了。在这种趋势下现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明。如果您工作的环境中既有微软的Windows又有Linux那么一个共享文件及目录的方式便是通过一个跨平台网络文件共享协议SMB/CIFS。Windows原生的支持SMB/CIFSLinux也通过开源的软件Samba实现了SMB/CIFS协议。
在这篇文章中,我们将展示**如何使用Samba共享文件夹**。我们使用的Linux平台是**Fedora或CentOS**。这篇文章分为四部分。首先我们在Fedora/CentOS环境下安装Sambe。接着我们讨论如何调整SELinux和防火墙配置以允许Samba的文件共享。最后我们介绍如何使用Samba来共享文件夹。
### 步骤1在Fedora和CentOS上安装Samba ###
首先安装Samba以及进行一些基本的配置。
检验Samba是否已经安装在您的系统中
$ rpm -q samba samba-common samba-client
如果上面的命令没有任何输出这意味着Samba并未安装。这时应使用下面的命令来安装Samba。
$ sudo yum install samba samba-common samba-client
接下来创建一个用于在网络中共享的本地文件夹。这个文件夹应该以Samba共享的方式导出到远程的用户。在这个指南中我们会在顶层文件夹'/'中创建这个文件夹,因此,请确保您有相应的权限。
$ sudo mkdir /shared
如果您想在您的home文件夹内创建共享文件夹例如~/shared您必须激活SELinux中Samba的home文件夹共享选项具体将在后面提到。
在创建/shared文件夹后设置文件夹权限以保证其余用户可以访问它。
$ sudo chmod o+rw /shared
如果您不想其他用户对该文件夹拥有写权限,您需要移除命令中的'w'选项。
$ sudo chmod o+r /shared
接下来创建一个空文件来测试。这个文件可以被用来验证Samba的共享已经被挂载。
$ sudo touch /shared/file1
### 步骤2为Samba配置SELinux ###
接下来我们需要再次配置SELinux。在Fedora和CentOS发行版中SELinux是默认开启的。SELinux仅在正确的安全配置下才允许Samba读取和修改文件或文件夹。例如加上'samba_share_t'属性标签)。
下面的命令为文件的配置添加必要的标签:
$ sudo semanage fcontext -a -t samba_share_t "<directory>(/.*)?"
<directory>替换为我们之前为Samba共享创建的本地文件夹例如/shared
$ sudo semanage fcontext -a -t samba_share_t "/shared(/.*)?"
我们必须执行restorecon命令来激活修改的标签命令如下
$ sudo restorecon -R -v /shared
![](https://farm9.staticflickr.com/8584/16652774078_2055f45f70_b.jpg)
为了通过Samba共享在我们home文件夹内的文件夹我们必须在SELinux中开启共享home文件夹的选项该选项默认被关闭。下面的命令能达到该效果。如果您并未共享您的home文件夹那么您可以跳过该步骤。
$ sudo setsebool -P samba_enable_home_dirs 1
### 步骤3为Samba配置防火墙 ###
下面的命令用来打开防火墙中Samba共享所需的TCP/UDP端口。
如果您在使用firewalld例如在Fedora和CentOS7下接下来的命令将会永久的修改Samba相关的防火墙规则。
$ sudo firewall-cmd --permanent --add-service=samba
如果您在防火墙中使用iptables例如CentOS6或者更早的版本可以使用下面的命令来打开Samba必要的向外的端口。
$ sudo vi /etc/sysconfig/iptables
----------
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
然后重启iptables服务
$ sudo service iptables restart
### 步骤4更改Samba配置 ###
后面的步骤用来配置Samba以将本地文件夹导出为Samba共享文件夹。
使用文件编辑器打开Samba配置文件并将下面的行添加到文件的末尾。
$ sudo nano /etc/samba/smb.conf
----------
[myshare]
comment=my shared files
path=/shared
public=yes
writeable=yes
上面在括号内的文本(例如,"myshare"是Samba共享的资源的名字它被用来从远程主机存取Samba共享。
创建Samba用户帐户这是挂载和导出Samba文件系统所必须的。我们可以使用smbpasswd工具来创建一个Samba用户。注意Samba用户帐户必须是已有的Linux用户。如果您尝试使用smbpasswd添加一个不存在的用户它会返回一个错误的消息。
如果您不想使用任何已存在的Linux用户作为Samba用户您可以在您的系统中创建一个新的用户。为安全起见设置新用户的登录脚本为/sbin/nologin并且不创建该用户的home文件夹。
在这个例子中,我们创建了一个名叫"sambaguest"的用户,如下:
$ sudo useradd -M -s /sbin/nologin sambaguest
$ sudo passwd sambaguest
![](https://farm9.staticflickr.com/8702/16814479366_53f540d3ba_b.jpg)
在创建一个新用户后使用smbpasswd命令添加Samba用户。当这个命令询问一个密码时您可以键入一个与其用户密码不同的密码。
$ sudo smbpasswd -a sambaguest
激活Samba服务并检测Samba服务是否在运行。
$ sudo systemctl enable smb.service
$ sudo systemctl start smb.service
$ sudo systemctl is-active smb
![](https://farm8.staticflickr.com/7607/16652984770_622f24bccc_b.jpg)
使用下面的命令来查看Samba中共享的文件夹列表。
$ smbclient -U sambaguest -L localhost
![](https://farm8.staticflickr.com/7281/16220411103_06bf585901_b.jpg)
接下来是在Thunar文件管理器中访问Samba共享文件夹以及对file1进行拷贝复制的截图。注意Samba的共享内容可以通过在Thunar中通过 `smb://<samba-server-IP-address>/myshare` 这个地址来访问。
![](https://farm8.staticflickr.com/7644/16218011174_c8b34fcedc_b.jpg)
--------------------------------------------------------------------------------
via: http://xmodulo.com/share-directory-samba-fedora-centos.html
作者:[Kristophorus Hadiono][a]
译者:[wwy-hust](https://github.com/wwy-hust)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/kristophorus

View File

@ -1,9 +1,11 @@
5个基于Linux命令行的文件下载和网站浏览工具
5 个基于Linux命令行的文件下载和网站浏览工具
================================================================================
GNU/Linux最冒险迷人的部分Linux命令行是非常强大的工具。命令行本身功能多样多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用无论是BT下载软件专用下载器或者互联网冲浪。
Linux命令行是GNU/Linux中最神奇迷人的部分它是非常强大的工具。命令行本身功能多样多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用无论是BT下载软件专用下载器或者互联网冲浪。
![命令行互联网工具](http://www.tecmint.com/wp-content/uploads/2014/02/Command-Line-Internet-Tools.jpg)
5个命令行互联网工具
*5个命令行互联网工具*
这里我们介绍了5个很好的命令行互联网工具它们非常有用也很容易上手。
@ -24,7 +26,8 @@ rTorrent是基于文本用C++编写追求高性能的Torrent客户端。
# rtorrent
![命令行torrent下载器](http://www.tecmint.com/wp-content/uploads/2014/02/rTorrent.jpeg)
rTorrent命令行工具
*rTorrent命令行工具*
#### rTorrent的功能 ####
@ -34,18 +37,18 @@ rTorrent命令行工具
- CTRL+ s 开始下载
- CTRL+ d 停止运行中的下载或者移除已完成的下载
- CTRL+ k 停止并关闭运行中的下载
- CTRL+ r 在上传/下载torrent之前进行Hash检查
- CTRL+ q 执行两次这个命令rTorrent会直接退出而不发送停止信号
- CTRL+ r 在上传/下载种子之前进行Hash检查
- CTRL+ q 执行两次这个命令rTorrent会直接退出而不发送停止信号
- Left Arrow Key 跳到上一屏幕
- Right Arrow Key 跳到下一屏幕
### 2. Wget ###
Wget是GNU项目的一部分名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载离线查看本地服务器HTML文件一个很好的工具它可用于Windows Max以及Linux等大部分平台。Wget能通过HTTPHTTPS和FTP下载文件。另外能镜像整个网站支持代理浏览以及暂停/回复下载使得它更为有用。
Wget是GNU项目的一部分名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载、离线查看本地服务器HTML文件一个很好的工具它可用于Windows Mac以及Linux等大部分平台。Wget能通过HTTPHTTPS和FTP下载文件。另外能镜像整个网站支持代理浏览以及暂停/回复下载使得它更为有用。
#### 安装Wget ####
由于是GNE项目的一部分Wget在大部分标准Linux发行版中都绑定发布不再需要独立下载安装。如果默认没有安装你也可以使用apt或者yum安装。
由于是GNU项目的一部分Wget捆绑在大部分标准Linux发行版中不再需要独立下载安装。如果默认没有安装你也可以使用apt或者yum安装。
# apt­-get install wget (基于 APT 的系统)
@ -70,13 +73,14 @@ Wget是GNU项目的一部分名字由World Wide Web (WWW)衍生而来。Wget
Wget是一个很棒的工具它允许在资源有限的机器上自定义或者过滤下载。这是镜像一个网站(Yahoo.com)的wget下载截图。
![Wget 下载文件](http://www.tecmint.com/wp-content/uploads/2014/02/Wget.jpeg)
Wget 命令行文件下载
要获取更多wget下载的例子可以阅读我们的文章[10个Wget下载命令例子][1]。
*Wget 命令行文件下载*
要获取更多wget下载的例子可以阅读我们的文章[Wget下载命令例子][1]。
### 3. cURL ###
cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。和其它相对比在支持LDAPPOP3方面cURL是和wget不同的简单下载器。cURL也很好的支持代理下载暂停下载以及恢复下载。
cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。cURL是一个不同于wget 的简单下载器和其它的相比它支持LDAPPOP3。cURL也很好的支持代理下载暂停下载以及恢复下载。
#### 安装cURL ####
@ -93,14 +97,16 @@ cURL的基本使用方法
# curl www.tecmint.com
![Curl 下载](http://www.tecmint.com/wp-content/uploads/2014/02/Curl.jpeg)
Curl 下载数据
*Curl 下载*
![Curl 下载数据](http://www.tecmint.com/wp-content/uploads/2014/02/Curl-2.jpeg)
Curl 下载
*Curl 下载*
### 4. w3m ###
W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格颜色SSL连接以及内联图像。W3m由于快速浏览而出名。
W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格颜色SSL连接以及内联图像。W3m快速浏览而出名。
#### 安装w3m ####
@ -117,11 +123,12 @@ W3m在大部分Linux发行版中也是默认可用的。如果不可用的话可
# w3m www.tecmint.com
![命令行浏览器](http://www.tecmint.com/wp-content/uploads/2014/02/w3m.jpeg)
基于文本的web浏览器w3m
*基于文本的web浏览器w3m*
### 5. Elinks ###
Elinks是基于文本给基于Unix和基于Unix的系统使用的免费web浏览器。Elinks支持 HTTPHTTP Cookies以及支持浏览Pery和Ruby脚本。也很好的支持基于标签的浏览。最棒的是它支持鼠标颜色显示以及支持一系列的协议例如HTTP, FTP, SMB, Ipv4 和 Ipv6。
Elinks是基于文本的免费浏览器用于Unix及基于Unix的系统。Elinks支持 HTTPHTTP Cookies以及支持浏览Perl和Ruby脚本LCTT 译注:应该是指 CGI。也很好的支持选项卡浏览。最棒的是它支持鼠标、彩色以及支持一系列的协议例如HTTP, FTP, SMB, Ipv4 和 Ipv6。
#### 安装Elinks ####
@ -138,7 +145,8 @@ Elinks的基本使用方法
# elinks www.tecmint.com
![命令行互联网浏览](http://www.tecmint.com/wp-content/uploads/2014/02/Elinks.jpeg)
Elinks命令行浏览互联网
*Elinks命令行浏览互联网*
就是这些了。有你们喜欢读的有趣的文章我会再次来到这里。到那时尽请关注并保持和Tecmint的联系别忘了在评论部分给我们你的宝贵的反馈。
@ -148,9 +156,9 @@ via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/
作者:[Avishek Kumar][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [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/
[1]:https://linux.cn/article-4129-1.html

View File

@ -1,31 +0,0 @@
Ubuntu Devs Propose Stateless Persistent Network Interface Names for Ubuntu and Debian
======================================================================================
*Networks are detected in an unpredictable and unstable order*
**Martin Pitt, a renown Ubuntu and Debian developer, came with the proposal of enabling stateless persistent network interface names in the upcoming versions of the Ubuntu Linux and Debian GNU/Linux operating systems.**
According to Mr. Pitt, it appears that the problem lies in the automatic detection of network interfaces within the Linux kernel. As such, network interfaces are detected in an unstable and unpredictable order. However, it order to connect to a certain network interface in ifupdown or networkd users will need to identify it first using a stable name.
"The general schema for this is to have an udev rule which does some matches to identify a particular interface, and assings a NAME="foo" to it," says Martin Pitt in an email to the Ubuntu mailinglist. "Interfaces with an explicit NAME= get called just like this, and others just get a kernel driver default, usually ethN, wlanN, or sometimes others (some wifi drivers have their own naming schemas)."
**Sever solutions appeared over the years: mac, biosdevname, and ifnames**
Apparently, several solutions are available for this problem, including an installation of an udev rule in /lib/udev/rules.d/75-persistent-net-generator.rules that creates a MAC address at first boot and writes it to /etc/udev/rules.d/70-persistent-net.rules, which is currently used by default in Ubuntu and applies to most hardware components.
Other solutions include biosdevname, a package that reads port or index numbers, and slot names from the BIOS and writes them to /lib/udev/rules.d/71-biosdevname.rules, and ifnames, a persistent name generator that automatically checks the BIOS and/or firmware for index numbers or slot names, similar to biosdevname.
However, the difference between ifnames and biosdevname is that the latter falls back to slot names, such as PCI numbers, and then to the MAC address and writes to /lib/udev/rules.d/80-net-setup-link.rules. All of these solutions can be combined, and Martin Pitt proposes to replace the first solution that is now used by default with the ifnames one.
If a new solution is implemented, a lot of networking issues will be resolved in Ubuntu, especially the cloud version. In addition, it will provide for stable network interface names for all new Ubuntu installations, and resolve many other problems related to system-image, etc.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Ubuntu-Devs-Propose-Stateless-Persistent-Network-Interface-Names-for-Ubuntu-and-Debian-480730.shtml
作者:[Marius Nestor][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://news.softpedia.com/editors/browse/marius-nestor

View File

@ -1,4 +1,3 @@
wyangsun翻译中
Compact Text Editors Great for Remote Editing and Much More
================================================================================
A text editor is software used for editing plain text files. This type of software has many different uses including modifying configuration files, writing programming language source code, jotting down thoughts, or even making a grocery list. Given that editors can be used for such a diverse range of activities, it is worth spending the time finding an editor that best suites your preferences.

View File

@ -1,4 +1,3 @@
KevinSJ translating
10 Truly Amusing Easter Eggs in Linux
================================================================================
![](http://en.wikipedia.org/wiki/File:Adventure_Easteregg.PNG)

View File

@ -1,97 +0,0 @@
Upstream and Downstream: why packaging takes time
================================================================================
Here in the KDE office in Barcelona some people spend their time on purely upstream KDE projects and some of us are primarily interested in making distros work which mean our users can get all the stuff we make. I've been asked why we don't just automate the packaging and go and do more productive things. One view of making on a distro like Kubuntu is that its just a way to package up the hard work done by others to take all the credit. I don't deny that, but there's quite a lot to the packaging of all that hard work, for a start there's a lot of it these days.
"KDE" used to be released once every nine months or less frequently. But yesterday I released the [first bugfix update to Plasma][1], to make that happen I spent some time on Thursday with David making the [first update to Frameworks 5][2]. But Plasma 5 is still a work in progress for us distros, let's not forget about [KDE SC 4.13.3][3] which Philip has done his usual spectacular job of updating in the 14.04 LTS archive or [KDE SC 4.14 betas][4] which Scarlett has been packaging for utopic and backporting to 14.04 LTS. KDE SC used to be 20 tars, now it's 169 and over 50 langauge packs.
### Patches ###
If we were packaging it without any automation as used to be done it would take an age but of course we do automate the repetative tasks, the [KDE SC 4.13.97 status][5] page shows all the packages and highlights obvious problems. But with 169 tars even running the automated script takes a while, then you have to fix any patches that no longer apply. We have [policies][6] to disuade having patches, any patches should be upstream in KDE or on their way upstream, but sometimes it's unavoidable that we have some to maintain which often need small changes for each upstream release.
### Symbols ###
Much of what we package are libraries and if one small bit changes in the library, any applications which use that library will crash. This is ABI and the rules for [binary compatibility][7] in C++ are nuts. Not infrequently someone in KDE will alter a library ABI without realising. So we maintain symbol files to list all the symbols, these can often feel like more trouble than they're worth because they need updated when a new version of GCC produces different symbols or when symbols disappear and on investigation they turn out to be marked private and nobody will be using them anyway, but if you miss a change and apps start crashing as nearly happened in KDE PIM last week then people get grumpy.
### Copyright ###
Debian, and so Ubuntu, documents the copyright licence of every files in every package. This is a very slow and tedious job but it's important that it's done both upstream and downstream because it you don't people won't want to use your software in a commercial setting and at worst you could end up in court. So I maintain the [licensing policy][8] and not infrequently have to fix bits which are incorrectly or unclearly licenced and answer questions such as today I was reviewing whether a kcm in frameworks had to be LGPL licenced for Eike. We write a copyright file for every package and again this can feel like more trouble than its worth, there's no easy way to automate it but by some readings of the licence texts it's necessary to comply with them and it's just good practice. It also means that if someone starts making claims like requiring licencing for already distributed binary packages I'm in an informed position to correct such nonsense.
### Descriptions ###
When we were packaging KDE Frameworks from scratch we had to find a descirption of each Framework. Despite policies for metadata some were quite underdescribed so we had to go and search for a sensible descirption for them. Infact not infrequently we'll need to use a new library which doesn't even have a sensible paragraph describing what it does. We need to be able to make a package show something of a human face.
### Multiarch ###
A recent addition to the world of .deb packaging is [MultiArch][9] which allows i386 packages to be installed on amd64 computers as well as some even more obscure combinations (powerpc on ppcel64 anyone?). This lets you run Skype on your amd64 computer without messy cludges like the ia32-libs package. However it needs quite a lot of attention from packagers of libraries marking which packages are multiarch, which depend on other multiarch or arch independent packages and even after packaging KDE Frameworks I'm not entirely comfortable with doing it.
### Splitting up Packages ###
We spend lots of time splitting up packages. When say Calligra gets released it's all in one big tar but you don't want all of it on your system because you just want to write a letter in Calligra Words and Krita has lots of image and other data files which take up lots of space you don't care for. So for each new release we have to work out which of the installed files go into which .deb package. It takes time and even worse occationally we can get it wrong but if you don't want heaps of stuff on your computer you don't need then it needs to be done. It's also needed for library upgrades, if there's a new version of libfoo and not all the programs have been ported to it then you can install libfoo1 and libfoo2 on the same system without problems. That's not possible with distros which don't split up packages.
One messy side effect of this is that when a file moves from one .deb to another .deb made by the same sources, maybe Debian chose to split it another way and we want to follow them, then it needs a Breaks/Replaces/Conflicts added. This is a pretty messy part of .deb packaging, you need to specify which version it Breaks/Replaces/Conflicts and depending on the type of move you need to specify some combination of these three fields but even experienced packages seem to be unclear on which. And then if a backport (with files in original places) is released which has a newer version than the version you specify in the Breaks/Replaces/Conflicts it just refuses to install and stops half way through installing until a new upload is made which updates the Breaks/Replaces/Conflicts version in the packaging. I'd be interested in how this is solved in the RPM world.
### Debian Merges ###
Ubuntu is forked from Debian and to piggy back on their work (and add our own bugs while taking the credit) we merge in Debian's packaging at the start of each cycle. This is fiddly work involving going through the diff (and for patches that's often a diff of a diff) and changelog to work out why each alternation was made. Then we merge them together, it takes time and it's error prone but it's what allows Ubuntu to be one of the most up to date distros around even while much of the work gone into maintaining universe packages not part of some flavour has slowed down.
### Stable Release Updates ###
You have Kubuntu 14.04 LTS but you want more? You want bugfixes too? Oh but you want them without the possibility of regressions? Ubuntu has quite strict definition of what's allowed in after an Ubuntu release is made, this is because once upon a time someone uploaded a fix for X which had the side effect of breaking X on half the installs out there. So for any updates to get into the archive they can only be for certain packages with a track record of making bug fix releases without sneaking in new features or breaking bits. They need to be tested, have some time passed to allow for wider testing, be tested again using the versions compiled in Launchpad and then released. KDE makes bugfix releases of KDE SC every month and we update them in the latest stable and LTS releases as [4.13.3 was this week][10]. But it's not a process you can rush and will take a couple of weeks usually. That 4.13.3 update was even later then usual because we were busy with Plasma 5 and whatnot. And it's not perfect, a bug in Baloo did get through with 4.13.2. But it would be even worse if we did rush it.
### Backports ###
Ah but you want new features too? We don't allow in new features into the normal updates because they will have more chance of having regressions. That's why we make backports, either in the kubuntu-ppa/backports archive or in the ubuntu backports archive. This involves running the package through another automation script to change whever needs changed for the backport then compiling it all, testing it and releasing it. Maintaining and running that backport script is quite faffy so sending your thanks is always appreciated.
We have an allowance to upload new bugfix (micro releases) of KDE SC to the ubuntu archive because KDE SC has a good track record of fixing things and not breaking them. When we come to wanting to update Plasma we'll need to argue for another allowance. One controvertial issue in KDE Frameworks is that there's no bugfix releases, only monthly releases with new features. These are unlikely to get into the Ubuntu archive, we can try to argue the case that with automated tests and other processes the quality is high enough, but it'll be a hard sell.
### Crack of the Day ###
Project Neon provides packages of daily builds of parts of KDE from Git. And there's weekly ISOs that are made from this too. These guys rock. The packages are monolithic and install in /opt to be able to live alongside your normal KDE software.
### Co-installability ###
You should be able to run KDELibs 4 software on a Plasma 5 desktop. I spent quite a bit of time ensuring this is possible by having no overlapping files in kdelibs/kde-runtime and kde frameworks and some parts of Plasma. This wasn't done primarily for Kubuntu, many of the files could have been split out into .deb packages that could be shared between KDELibs 4 and Plasma 5, but other disros which just installs packages in a monolithic style benefitted. Some projects like Baloo didn't ensure they were co-installable, fine for Kubuntu as we can separate the libraries that need to be coinstalled from the binaries, but other distros won't be so happy.
### Automated Testing ###
Increasingly KDE software comes with its own test suite. Test suites are something that has been late coming to free software (and maybe software in general) but now it's here we can have higher confidence that the software is bug free. We run these test suites as part of the package compilation process and not infrequently find that the test suite doesn't run, I've been told that it's not expected for packagers to use it in the past. And of course tests fail.
### Obscure Architectures ###
In Ubuntu we have some obscure architectures. 64-bit Arm is likely to be a useful platform in the years to come. I'm not sure why we care about 64-bit powerpc, I can only assume someone has paid Canonical to care about it. Not infrequently we find software compiles fine on normal PCs but breaks on these obscure platforms and we need to debug why they is. This can be a slow process on ARM which takes an age to do anything, or very slow where I don't even have access to a machine to test on, but it's all part of being part of a distro with many use-cases.
### Future Changes ###
At Kubuntu we've never shared infrstructure with Debian despite having 99% the same packaging. This is because Ubuntu to an extent defines itself as being the technical awesomeness of Debian with smoother processes. But for some time Debian has used git while we've used the slower bzr (it was an early plan to make Ubuntu take over the world of distributed revision control with Bzr but then Git came along and turned out to be much faster even if harder to get your head around) and they've also moved to team maintainership so at last we're planning [shared repositories][11]. That'll mean many changes in our scripts but should remove much of the headache of merges each cycle.
There's also a proposal to [move our packaging to daily builds][12] so we won't have to spend a lot of time updating packaging at every release. I'm skeptical if the hassle of the infrastructure for this plus fixing packaging problems as they occur each day will be less work than doing it for each release but it's worth a try.
### ISO Testing ###
Every 6 months we make an Ubuntu release (which includes all the flavours of which Ubuntu [Unity] is the flagship and Kubuntu is the most handsome) and there's alphas and betas before that which all need to be tested to ensure they actually install and run. Some of the pain of this has reduced since we've done away with the alternative (text debian-installer) images but we're nowhere near where Ubuntu [Unity] or OpenSUSE is with OpenQA where there are automated installs running all the time in various setups and some magic detects problems. I'd love to have this set up.
I'd welcome comments on how any workflow here can be improved or how it compares to other distributions. It takes time but in Kubuntu we have a good track record of contributing fixes upstream and we all are part of KDE as well as Kubuntu. As well as the tasks I list above about checking copyright or co-installability I do Plasma releases currently, I just saw Harald do a Phonon release and Scott's just applied for a KDE account for fixes to PyKDE. And as ever we welcome more people to join us, we're in #kubuntu-devel where free hugs can be found, and we're having a whole day of Kubuntu love at Akademy.
--------------------------------------------------------------------------------
via: https://blogs.kde.org/2014/08/13/upstream-and-downstream-why-packaging-takes-time
作者:[Jonathan Riddell][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://blogs.kde.org/users/jriddell
[1]:https://dot.kde.org/2014/08/12/first-bugfix-update-plasma-5
[2]:https://dot.kde.org/2014/08/07/kde-frameworks-5.1
[3]:http://www.kubuntu.org/news/kde-sc-4.13.3
[4]:https://dot.kde.org/2014/07/18/kde-ships-july-updates-and-second-beta-applications-and-platform-414
[5]:http://qa.kubuntu.co.uk/ninjas-status/build_status_4.13.97_utopic.html
[6]:https://community.kde.org/Kubuntu/Policies
[7]:https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++
[8]:https://techbase.kde.org/Policies/Licensing_Policy
[9]:https://help.ubuntu.com/community/MultiArch
[10]:http://www.kubuntu.org/news/kde-sc-4.13.3
[11]:http://lists.alioth.debian.org/pipermail/pkg-kde-talk/2014-August/001934.html
[12]:https://lists.ubuntu.com/archives/kubuntu-devel/2014-August/008651.html

View File

@ -1,34 +0,0 @@
GHOST: Another Security Bug Hits Linux, But is it That Bad?
================================================================================
> GHOST, a newly announced security vulnerability that affects Linux servers and other systems that use the open source glibc library, is not as dangerous to data privacy as the Shellshock or Heartbleed bugs.
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2015/01/ghost-costume.jpg)
Heartbleed is not even a year behind us, and the open source world has been hit with another major security vulnerability in the form of [GHOST][1], which involves holes in the Linux glibc library. This time, though, the actual danger may not live up to the hype.
The GHOST vulnerability, which was announced last week by security researchers at [Qualys][2], resides in the gethostbyname*() functions of the glibc library. glibc is one of the core building blocks of most Linux systems, and gethostbyname*(), which resolves domain names into IP addresses, is widely used in open source applications.
Attackers can exploit the GHOST security hole to create a buffer overflow, making it possible to execute any kind of code they want and do all sorts of nasty things.
All of the above suggests that GHOST is bad news indeed. Fortunately for the open source community, however, the actual risk appears small. As TrendMicro [points out][3], the bug that makes the exploit possible has been fixed in glibc since May 2013, meaning that any Linux servers or PCs running more recent versions of the software are safe from attack.
In addition, gethostbyname*() has been superseded by newer glibc functions that can better handle modern networking environments. Those include ones that use the IPv6 protocol, which gethostbyname*() doesn't support. As a result, newer applications often don't use the gethostbyname*() functions, and are not at risk.
And perhaps most importantly, there's currently no known way of executing GHOST attacks through the Web. That greatly reduces opportunities for using this vulnerability to steal the data of unsuspecting users or otherwise wreak havoc.
All in all, then, GHOST doesn't seem like a vulnerability that will prove as serious as Heartbleed or Shellshock, two other recent security problems that affected widely used open source software.
--------------------------------------------------------------------------------
via: http://thevarguy.com/open-source-application-software-companies/020415/ghost-another-security-bug-hits-linux-it-bad
作者:[Christopher Tozzi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://thevarguy.com/author/christopher-tozzi
[1]:https://community.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/the-ghost-vulnerability
[2]:http://qualys.com/
[3]:http://blog.trendmicro.com/trendlabs-security-intelligence/not-so-spooky-linux-ghost-vulnerability/

View File

@ -1,3 +1,4 @@
translating wi-cuckoo
Is Linux Better than OS X? GNU, Open Source and Apple in History
================================================================================
> Tensions between the free software/open source community and Apple date back to the 1980s, Linux's founder called the core of Mac OS X "a piece of crap" and other anecdotes from software history.
@ -54,4 +55,4 @@ via: http://thevarguy.com/open-source-application-software-companies/051815/linu
[7]:http://www.duntemann.com/AppleSnakeButton.jpg
[8]:http://www.freibrun.com/articles/articl12.htm
[9]:https://www.gnu.org/bulletins/bull18.html#SEC6
[10]:https://www.gnu.org/bulletins/bull12.html
[10]:https://www.gnu.org/bulletins/bull12.html

View File

@ -1,5 +1,3 @@
[Translating by DongShuaike]
Installing Cisco Packet tracer in Linux
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2015/01/Main_picture.png)

View File

@ -1,5 +1,3 @@
[Trnslating by DongShuaike]
iptraf: A TCP/UDP Network Monitoring Utility
================================================================================
[iptraf][1] is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others.

View File

@ -1,5 +1,3 @@
translating by createyuan
How to Test Your Internet Speed Bidirectionally from Command Line Using Speedtest-CLI Tool
================================================================================
We always need to check the speed of the Internet connection at home and office. What we do for this? Go to websites like Speedtest.net and begin test. It loads JavaScript in the web browser and then select best server based upon ping and output the result. It also uses a Flash player to produce graphical results.

View File

@ -1,4 +1,3 @@
translating by runningwater
How to Manage and Use LVM (Logical Volume Management) in Ubuntu
================================================================================
![](http://cdn5.howtogeek.com/wp-content/uploads/2011/02/652x202xbanner-1.png.pagespeed.ic.VGSxDeVS9P.png)

View File

@ -1,3 +1,4 @@
How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots
================================================================================
![](http://cdn5.howtogeek.com/wp-content/uploads/2015/03/ximg_55035707bbd74.png.pagespeed.ic.9_yebxUF1C.png)

Some files were not shown because too many files have changed in this diff Show More