2015年6月

假如历史稍有不同,今天你将听到的是“FreeBSD之声”...

(LCTT 译注:本文来自“Linux之声(LinuxVoice)”。)

那么,这个Birsa Seva Dal是怎么回事呢?难道不是一个印度的政治组织么?

真有趣,您查阅了维基百科上“BSD”的消除分歧页面是为了讲上面这个笑话,对么?这里我们在讨论伯克利软件发行版(Berkeley Software Distribution),一个比您想象中用的更广泛的操作系统家族。

抱歉,我有点 Hold 不住自己。那么,这些操作系统是怎么回事呢?

今天,主要使用的BSD操作系统有三种。他们都基于Unix,他们都开源,并且大多担任服务器的角色,但也能当作优秀的桌面和工作站。他们运行KDE,Firefox,LibreOffice,Apache,MySQL和许多你能说得出名字的开源软件。它们都很稳定、安全、支持许多不同的硬件。

真棒!你刚才在描述GNU/Linux吧

是的,Linux拥有我刚才提到的所有东西,这也是为什么很多人从来不讨论BSD。在日常的使用中,Linux和BSD并没有太多的不同,这主要是因为他们都以Unix为基础,并共用很多软件。您可以登录进远程主机,在Vim中写一些Python代码,使用Mutt检查您的email,您可能并未意识到您在使用BSD。或许您在咖啡馆里正通过网络终端使用它,但不知道他是BSD。

两者最大的区别在于开发模式和许可证,为了解这些,我们需要回到过去。在BSD中,B代表着加利福尼亚大学伯克利分校(University of California, Berkeley),在1980年代,那里是开源的Unix软件的发源地。到了90年代,基于x86的PC变得流行,许多人对在他们的家庭电脑中安装Unix类操作系统产生了兴趣。1992年,一个叫做386BSD的项目在那时发布,提供了上述功能。

那么,所有的Linux发行版那个时候在哪里呢?

问得好!您也许知道这一年的前一年(1991),Linus Torvalds已经发布了他的内核,当它与GNU项目结合时,变成了完整的开源操作系统。Linus那时也在关注GNU的内核(Hurd)和386BSD,并且他说过,如果那时两个内核有一个可以正常使用,他可能就不会创造Linux了。所以,90年代的头几年,开源操作系统生机勃勃,没有人知道哪个系统会最终胜出。

接下来,BSD遇到了一些麻烦。Unix最初的开发方AT&T试图从他们在操作系统方面的付出中获得一些利益,他们声称BSD侵犯了他们的知识产权。此事最终以1992年的一桩诉讼结束,它极大的抑制了BSD的开发进程。其结果就是,许多BSD源码必须重写,与此同时,GNU/Linux已经丰富了功能,变得稳定和流行了。

在90年代早期,BSD被认为比GNU/Linux更加成熟,如果没有那些法律麻烦,他可能已经成为了x86 PC的标准了。今天,我们可能都在使用它而不是Linux。

但你提到BSD仍然被广泛的使用,所以它后来有提升么?

是的。386BSD的开发停滞了,但有两只开发团队通过互联网协作并创造了两个独立的成功的项目。FreeBSD成为了使用最广泛的BSD版本,它目前是和Linux最相似的系统,包括桌面和服务器版本。而NetBSD则聚焦于可移植性(今天它可以运行在超过50种不同平台上,均基于同样的代码版本)。另一个版本是OpenBSD,它在NetBSD开始不久就因为开发者的口角而作为NetBSD的分支诞生了,今天,它以专注于安全闻名。多年以来,OpenBSD创建了许多程序,它们都成了Linux的标准部分,比如说OpenSSH - 甚至,现在我们还有了LibreSSL。

所以,这三种版本的BSD和Linux发行版相似么?

也是也不是,每个BSD版本都有自己的代码库、不同的开发团队。尽管他们间有许多共用的代码(尤其是硬件驱动)。但他们是各自拥有其特色、优点和缺点的相互独立的操作系统。

我们提到过,BSD的开发模式是他们真正和GNU/Linux区别的重要特点。在GNU/Linux中没有人对其整体进行掌控:一些团队在GNU组件方面工作,一些团队在开发内核,一些在开发启动脚本,一些在写手册,一些在写库等等。这样的开发模式通常被称作缺少中央权利的“荒蛮的美国西部”,由发行版负责将所有的东西各自锲合。

而BSD则相反,它们从中央化的源代码树中开发并作为一个整体。内核、库、系统组件和文档页都存在一个地方,且以同样的方式使用。许多BSD粉丝声称,这个特点给了操作系统更多的一致性和稳定性。通过我这些年使用BSD的经验来看,我们可以证明手册页已经变得非常完备。

难道BSD没有使用GNU/Linux的任何东西么?

是的,但除了GCC。几十年来,GNU Compiler Collection已经成为了实际上的Unix系统标准编译器,但FreeBSD最近已经转而使用LLVM/Clang了。值得注意的是BSD还是用了一些其他的开源项目,但它们并属于GNU或者Linux,比如说X Window System(XFree86和X.org)、Perl等等。并且幸亏有像POSIX一样的标准,许多运行在Linux上的程序可以在BSD的许多版本上编译和运行。

因此,您可以把LAMP(Linux、Apache、MySQL和PHP)中的L改成FreeBSD,这样可以获得几乎同样的环境,以及一些不同的特性(例如,在文件系统和驱动支持方面)。FreeBSD有一些大型、海量的用户,例如Netflix,每天提供海量的数据。尽管FreeBSD可以做为一个不错的桌面环境,但它的长处在于服务器方面,它拥有超乎寻常的可靠性和网络性能。

OpenBSD更倾向用于安全性十分必要的场合,如小型Web服务、文件托管、防火墙和网关。NetBSD是BSD主要发行版中最不流行的一个,它能运行在几乎所有平台上,包括古老的Amigas和Acorn boxes,有时您可以在闭源的网络设备中找到它的身影。

等等,怎么会有人将开源代码闭源呢?那在Linux中是不合适的

对的,这里我们谈到了它与GNU/Linux的主要不同。BSD版本的许可证(很有趣,就叫做BSD许可证)非常不同于我们所知的GPL。对于新手来说,BSD更简短。BSD许可证主要内容是:对这份代码做你想做的事,但要保留它的初始开发者的荣誉,并且如果它搞坏你的电脑时不要提出诉讼。

因此,该许可证中没有任何条款强制代码开源,不像GPL,它要求使用这份代码的用户将他们的修改也开源。这一重要的不同引起了互联网上无数的激烈讨论,BSD的粉丝们说他们的许可证更加自由(因为它不那么严格),而GNU/GPL的粉丝说他们的证书才更自由(因为它保留了真正的自由)

啊呀,不管怎么说,你已经引起了我的兴趣,我在哪里能尝试这些可爱的BSD版本呢?

您大概已经可以猜到这些网站了 – www.openbsd.orgwww.freebsd.orgwww.netbsd.org。在那里,您可以下载ISO镜像,在VirtualBox中启动它们,然后开始玩耍。如果您已经用了一段时间的Linux,你就会发现这并不难,虽然您需要了解命令行。如果您在寻找一些对新手更加友好的东西,可以试试PC-BSD,PC-BSD(www.pcbsd.org)是一个基于FreeBSD的个性化定制版本,它专注于桌面,有美观的图形化安装器和超级简单的软件管理器。

祝你玩的愉快!


via: http://www.linuxvoice.com/faq-bsd-2/

作者:Mike Saunders 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

距离Mark Shuttleworth表达他的目标“在4年内Ubuntu的用户达到2亿”已经过去了四年零两周。尽管Ubuntu的用户数量在过去的四年中一直在上升,但这个目标目前并未实现,并且看起来不会在今年年底实现。

那是2011年5月在UDS 布达佩斯,Shuttleworth表示Ubuntu将在4年内达到2亿用户。

上一次我听到Ubuntu有“1千万”用户,但是并没有任何可靠的报道表明Ubuntu的用户数接近2亿。来自Valve最近的统计表明相比于Windows和OS X的用户使用Linux的游戏用户的比重少于1%。大多数基于Web计量和其他统计方式的数据倾向于表明Linux的用户总数只占很少的部分。

撇开桌面版不谈,Ubuntu在过去的四年来至少在云和服务器部署方面得到了大量的占有率,并且被证明是Red Hat Enterprise的有力竞争者。Ubuntu还证明了它对基于ARM的硬件十分友好。当Mark在四年前提出他的目标时,他可能考虑到Ubuntu Phone/Touch会比目前的状况更好。可是Ubuntu Phone/Touch目前仅仅在欧洲和中国可用,并且Ubuntu Touch软件依旧在成熟的路上仍需要大量的关键应用程序方面的工作等。

距离Canonical宣布Ubuntu不久将登陆5%的PC也已过去了3年。5%的目标是全球的PC装机量,但哪怕再过3年,我依旧很难相信这个目标会实现。至少在美国和欧洲,我仍难以在实体店看到Ubuntu作为预装的系统,主要的网络零售商/OEM厂商仍倾向于在特定的PC型号中提供Linux,比如Chrome OS、Android设备。

另一个由开源社区提出的高傲地、落空的目标便是GNOME将在2010年占有全球桌面市场10%的份额。五年了,没有任何迹象表明他们接近了那10%的里程碑。

在今天,您认为Ubuntu用户有多少呢?在未来的几年里,Ubuntu(或者Linux)的用户会有多大增长呢?通过评论来与我们分享您的想法吧。


via: http://www.phoronix.com/scan.php?page=news_item&px=2015-200-Million-Goal-Retro

作者:Michael Larabel 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Paper是一款即将与广大朋友们见面的一个图形工具包和图标主题,它的设计灵感来自于谷歌的设计语言Material风格。Paper由Sam Hewitt发起,Sam是Moka项目的一员,Moka总会设计出让人满意的Ubuntu主题。对于Paper,我敢说只要它一经推出,它必将是最好的GTK主题开发包之一。

对的,你没有听错,Paper主题还在开发阶段。因此我建议,如果你想在你的Ubuntu或者它的衍生版本上安装Paper,最好抱着试一试的实验心态。因为你多多少少会发现一些破损的图标,但这并不影响整体体验非常棒!

通过PPA在Ubuntu及其衍生版本上安装Paper主题

Sam为Ubuntu和它的衍生版本设置了一个专用的PPA(Presonal Package Archives,个人软件包档案)。我推荐你通过PPA安装而不是下载Paper主题,因为你将会定期更新主题。这个PPA可供使用的系统有Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04, Elementary OS Freya, Elementary OS Luna, Linux Mint 17, Linux Mint 16 和其它的Ubuntu衍生版本。

打开终端,输入下列命令:

sudo add-apt-repository ppa:snwh/pulp
sudo apt-get update
sudo apt-get install paper-gtk-theme paper-icon-theme

下载Paper GTK和图标主题

如果你不想用PPA,你可以手动下载主题和图标。但是就像刚才所说,这样你就无法自动更新。

把它们用起来吧

我希望你知道怎么在你的Ubuntu中安装或者更改主题。如果你不知道,下面几个教程将帮助你安装一个新的主题。

就是这样!

因为我用过Elementary OS Freya一段时间,这里有一些看起来像Elementary OS Freya的Paper主题和图标的截图。我使用了一张Material Design风格的墙纸,这样可以更好的匹配主题和图标。

你觉得这个Material风格的主题怎么样?如果你使用它的话,在评论里和我们分享你的桌面截图吧!


via: http://itsfoss.com/install-paper-theme-linux/

作者:Abhishek 译者:sevenot 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了。在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明。如果您工作的环境中既有微软的Windows又有Linux,那么,一个共享文件及目录的方式便是通过一个跨平台网络文件共享协议:SMB/CIFS。Windows原生的支持SMB/CIFS,Linux也通过开源的软件Samba实现了SMB/CIFS协议。

在这篇文章中,我们将展示如何使用Samba共享文件夹。我们使用的Linux平台是Fedora或CentOS。这篇文章分为四部分。首先,我们在Fedora/CentOS环境下安装Samba。接着,我们讨论如何调整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读取和修改文件或文件夹。(例如,加上'sambasharet'属性标签)。

下面的命令为文件的配置添加必要的标签:

$ sudo semanage fcontext -a -t samba_share_t "<directory>(/.*)?" 

将替换为我们之前为Samba共享创建的本地文件夹(例如,/shared):

$ sudo semanage fcontext -a -t samba_share_t "/shared(/.*)?" 

我们必须执行restorecon命令来激活修改的标签,命令如下:

$ sudo restorecon -R -v /shared 

为了通过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 

在创建一个新用户后,使用smbpasswd命令添加Samba用户。当这个命令询问一个密码时,您可以键入一个与其用户密码不同的密码。

$ sudo smbpasswd -a sambaguest

激活Samba服务,并检测Samba服务是否在运行。

$ sudo systemctl enable smb.service   
$ sudo systemctl start smb.service   
$ sudo systemctl is-active smb

使用下面的命令来查看Samba中共享的文件夹列表。

$ smbclient -U sambaguest -L localhost 

接下来是在Thunar文件管理器中访问Samba共享文件夹以及对file1进行拷贝复制的截图。注意,Samba的共享内容可以通过在Thunar中通过 smb://<samba-server-IP-address>/myshare 这个地址来访问。


via: http://xmodulo.com/share-directory-samba-fedora-centos.html

作者:Kristophorus Hadiono 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具。命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪。

命令行互联网工具

5个命令行互联网工具

这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手。

1. rTorrent

rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端。支持大部分标准的Linux发行版,包括FreeBSD和Mac OS X。

安装rTorrent

# apt­-get install rtorrent    (基于 APT 的系统)

# yum install rtorrent        (基于 YUM 的系统)

在终端中用下面的命令检查rtorrent是否正确安装

# rtorrent

命令行torrent下载器

rTorrent命令行工具

rTorrent的功能

一些有用的快捷键和使用方法

  • CTRL+ q – 退出rTorrent应用程序
  • CTRL+ s – 开始下载
  • CTRL+ d – 停止运行中的下载或者移除已完成的下载
  • CTRL+ k – 停止并关闭运行中的下载
  • CTRL+ r – 在上传/下载种子之前进行Hash检查
  • CTRL+ q – 执行两次这个命令,rTorrent会直接退出而不发送“停止”信号
  • Left Arrow Key – 跳到上一屏幕
  • Right Arrow Key – 跳到下一屏幕

2. Wget

Wget是GNU项目的一部分,名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载、离线查看本地服务器HTML文件一个很好的工具,它可用于Windows, Mac,以及Linux等大部分平台。Wget能通过HTTP,HTTPS和FTP下载文件。另外,能镜像整个网站,支持代理浏览以及暂停/回复下载使得它更为有用。

安装Wget

由于是GNU项目的一部分,Wget捆绑在大部分标准Linux发行版中,不再需要独立下载安装。如果默认没有安装,你也可以使用apt或者yum安装。

# apt­-get install wget        (基于 APT 的系统)

# yum install wget        (基于 YUM 的系统)

Wget的一些基本用法

使用wget下载一个单独的文件.

# wget http://www.website-name.com/file

递归下载整个网站.

# wget -r http://www.website-name.com

从一个网站下载指定类型的文件(例如 pdf 和 png).

# wget -r -A png,pdf http://www.website-name.com

Wget是一个很棒的工具,它允许在资源有限的机器上自定义或者过滤下载。这是镜像一个网站(Yahoo.com)的wget下载截图。

Wget 下载文件

Wget 命令行文件下载

要获取更多wget下载的例子,可以阅读我们的文章Wget下载命令例子

3. cURL

cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。cURL是一个不同于wget 的简单下载器,和其它的相比,它支持LDAP,POP3。cURL也很好的支持代理下载,暂停下载以及恢复下载。

安装cURL

在软件仓库或者已安装软件中,cURL在大部分发行版中默认是可用的。如果没有安装,运行apt或者yum从软件仓库中获取需要的安装包。

# apt­-get install curl        (基于 APT 的系统)

# yum install curl        (基于 YUM 的系统)

cURL的基本使用方法

# curl www.tecmint.com

Curl 下载

Curl 下载

Curl 下载数据

Curl 下载

4. w3m

W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格,帧,颜色,SSL连接以及内联图像。W3m以快速浏览而出名。

安装w3m

W3m在大部分Linux发行版中也是默认可用的。如果不可用的话可以用apt或者yum获取需要的安装包。

# apt­-get install w3m        (基于 APT 的系统)

# yum install w3m        (基于 YUM 的系统)

w3m的基本使用方法

# w3m www.tecmint.com

命令行浏览器

基于文本的web浏览器w3m

5. Elinks

Elinks是基于文本的免费浏览器,用于Unix及基于Unix的系统。Elinks支持 HTTP,HTTP Cookies以及支持浏览Perl和Ruby脚本(LCTT 译注:应该是指 CGI)。也很好的支持选项卡浏览。最棒的是它支持鼠标、彩色以及支持一系列的协议,例如HTTP, FTP, SMB, Ipv4 和 Ipv6。

安装Elinks

Elinks在大部分Linux发行版上是默认可用的。如果不是的话,可以通过apt或者yum安装。

# apt­-get install elinks    (基于 APT 的系统)

# yum install elinks        (基于 YUM 的系统)

Elinks的基本使用方法

# elinks www.tecmint.com

命令行互联网浏览

Elinks命令行浏览互联网

就是这些了。有你们喜欢读的有趣的文章,我会再次来到这里。到那时尽请关注并保持和Tecmint的联系,别忘了在评论部分给我们你的宝贵的反馈。


via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/

作者:Avishek Kumar 译者:ictlyh 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出