2015年1月

当你启动并运行应用服务器后,你就需要一台好的邮件服务器来为你传递邮件。我为我所有的服务器开通了postfix邮件服务,下面就是我常用的配置。

CentOS 6上安装Postfix

yum install postfix

默认安装了Sendmail,所以最好将它停掉并移除。

service sendmail stop
yum remove sendmail

Postfix包含了两个配置文件main.cf和master.cf,对于基本的配置,你需要修改main.cf。同时,postfix可以像shell变量一样定义参数,并通过$来调用。这些参数不需要再使用前定义,Postfix只在运行中需要时才会查询某个参数。

配置postfix

vim /etc/postfix/main.cf

去掉以下行的注释

# 你的主机名
myhostname = yourhostname.com

# 你的发件域
myorigin = $myhostname

# 指定用于接收邮件的网络接口,这里指定 localhost 是因为我们只用来接受本地的程序投递
inet_interfaces = localhost

# 指定所使用的协议,可以使用“all”来增加 IPv6 支持
inet_protocols = ipv4


# 指定所接受的邮件域    
mydestination = $myhostname, localhost.$mydomain, localhost

# 仅转发本地主机的邮件,而不是主机所在的网络
mynetworks_style = host

启动postfix

service postfix start

这些基本的postfix配置可以让你的机器发送邮件,你可以通过发送邮件并检查“maillog”日志文件来验证。

echo test mail | mail -s "test"  [email protected] && sudo tail -f /var/log/maillog

# 输出的日志类似如下
Aug 25 14:16:21 vps postfix/smtp[32622]: E6A372DC065D: to=, relay=smtp.mailserver.org[50.56.21.176], delay=0.8, delays=0.1/0/0.43/0.27, dsn=2.0.0, status=sent (250 Great success)
Aug 25 14:16:21 vps postfix/qmgr[5355]: E6A372DC065D: removed

但是,上述配置并不够,因为邮件服务大多数时候都会被垃圾邮件挤满,你需要添加SPF、PTR和DKIM记录。即便如此,你的邮件仍然可能被当作垃圾邮件来投递,因为你的IP地址被列入了黑名单,大多数时候是因为你的vps先前被入侵了。

还有另外一种选择,或者说是更好的方式是使用第三方邮件提供商提供的邮件服务,如Gmail,或者甚至是Mailgun。我使用Mailgun,因为它们提供了每个月10000封免费电子邮件,而Gmail则提供了每天100封左右的邮件。

在“/etc/postfix/main.cf”中,你需要添加“smtp.mailgun.com”作为你的“转发主机”,并启用“SASL”验证,这样postfix就可以连接并验证到远程Mailgun服务器。

添加或取消以下行的注释。

relayhost = [smtp.mailgun.org]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps=static:your_username:your_password
smtp_sasl_security_options=noanonymous

Postfix本身不会实施“SASL”验证,因此你需要安装“cyrus-sasl-plain”。

sudo yum install cyrus-sasl-plain

如果你不安装此包,那么你就会收到这条错误信息“SASL authentication failed; cannot authenticate to server smtp.mailgun.org[50.56.21.176]: no mechanism available)”

重启postfix

sudo service postfix restart

使用TLS加固Postfix安全

Postfix支持TLS,它是SSL的后继者,允许你使用基于密钥的验证来加密数据。我推荐你阅读 http://www.postfix.org/TLS_README.html ,以了解TLS是怎么和postfix一起工作的。

为了使用TLS,你需要生成一个私钥和一个由证书授权机构颁发的证书。在本例中,我将使用自颁发的证书。

sudo yum install mod_ssl openssl
# 生成私钥 
openssl genrsa -out smtp.key 2048 

# 生成 CSR 
openssl req -new -key smtp.key -out smtp.csr

# 生成自签名的钥匙
openssl x509 -req -days 365 -in smtp.csr -signkey smtp.key -out smtp.crt

# 将文件复制到正确的位置
cp smtp.crt /etc/pki/tls/certs
cp smtp.key /etc/pki/tls/private/smtp.key
cp smtp.csr /etc/pki/tls/private/smtp.csr

打开postfix配置文件,然后添加以下参数。

sudo vim /etc/postfix/main.cf

smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes

smtpd_tls_key_file = /etc/pki/tls/private/smtp.key
smtpd_tls_cert_file = /etc/pki/tls/certs
smtp_tls_CAfile = /etc/ssl/certs/ca.crt
smtp_tls_loglevel = 1

安全级别“may”意味着宣告对远程SMTP客户端上的STARTTLS的支持,但是客户端不需要使用加密。我在这里按照mailgun文档提示使用“may”,但是如果你想要强制使用TLS加密,可以使用“encrypt”。

service postfix restart
# 发送一封测试邮件
echo test mail | mail -s "test"  [email protected] && sudo tail -f /var/log/maillog

你应该会看到以下信息

Aug 21 00:00:06 vps postfix/smtp[4997]: setting up TLS connection to smtp.mailgun.org[50.56.21.176]:587
Aug 21 00:00:06 vps postfix/smtp[4997]: Trusted TLS connection established to smtp.mailgun.org[50.56.21.176]:587: TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)

如果一切正常,你可以注释掉以下参数。

“smtp\_tls\_loglevel = 1”

对于故障排除,我推荐你阅读Postfix小建议和排障命令


via: http://techarena51.com/index.php/configure-secure-postfix-email-server/

作者:Leo G 译者:GOLinux 校对:wxy

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

数字流媒体这几天几乎占据了我音乐收听的全部时间。近年来我为了收藏 CD 花费了数量可观的费用;但它们中的大部分现在正静静地躺在满是灰尘的角落里。基本上所有的音乐流媒体服务所提供的的音质都不如 CD 的,但它们受欢迎的原因很大程度上在于其便捷性,而非高度保真的音质再现。音乐流媒体不仅造成了 CD 销量的大幅减少;也使数字音乐的下载开始缓慢下滑。这种趋势还会继续下去。音乐发烧友现在或许也想要拥抱音乐流媒体服务了,某些音乐流媒体服务商如 Tidal 提供了无损的音乐流媒体服务,其中包含了 25 万首比特率为 1411kbps 的 FLAC 格式的音乐。

尽管 CD 暂时不会消失,但音乐流媒体服务商却无法调和那些不满从音乐托管服务中收取的租金的唱片公司及音乐家之间的问题。这一切仍然处于变化之中;我们看到了今年 Led Zeppelin, Pink Floyd, Metallica 签名支持流媒体服务,但仍然有部分知名的老牌乐队如 Beatles, Radiohead 以及 AC/DC 拒绝将自己的作品放到流媒体上供粉丝收听。即使当某个唱片公司或者音乐家已经授权给流媒体服务商访问自己的作品,但只要音乐家发表声明就可以在第一时间将其作品从流媒体服务下架。本月(2014 年 11 月),Taylor Swift 请求将她的所有音乐作品从 Spotify 的流媒体服务下架。有些人还是更偏向于“拥有”他们的音乐,但这看起来像是一种快要过时了的欣赏音乐的方式。

使用 Linux 平台来收听流媒体音乐服务的方法已经逐渐成熟。在 Linux 平台下,你可以找到许多客户端,通过它们你可以使用大部分的音乐流媒体服务;我希望 TIDAL 能在今后合适的时候发行 Linux 桌面客户端,而不是仅仅依赖 web 播放器。本文精选的这些应用都是非常出色的。另外 Amarok,pianobar 还有 Tomahawk 也表现得很不错。

Spotify

Spotify 播放界面

Spotify 是一种专有的 P2P 音乐流媒体服务,允许用户收听点播曲目或专辑。Spotify 将自己描述为“音乐圣殿。快捷、简易、免费的服务”。Spotify 分别为普通的移动端和桌面端用户提供了 96kbps 和 160kbps 比特率的流媒体服务,并且为高级用户提供了 Ogg Vorbis 格式的 320kbps 比特率的流媒体服务。Spotify 为普通用户提供了免费但是有广告的服务,以及无广告的订阅账户服务。

Spotify 是很奇妙的服务,向用户们提供了涵盖各种类型的数量众多的音乐,如:流行乐、另类摇滚、古典乐、铁克诺电音、摇滚乐等。这是发现新音乐的好方法。Spotify 得到了包括 Sony BMG,EMI,Universal 以及 Warner Music 在内的主流唱片公司,以及 Labrador Records,The Orchard,Alligator Records,Merlin,CD Baby,INgrooves 等独立唱片唱片公司和分销网络,甚至 Chandos,Naxos,EMI Classic,Warner Classics,Denon Essentials 这些古典唱片公司的支持,还有更多的公司在这里就不一一列举了。

Spotify 的音乐涵盖范围还在继续以惊人的步伐扩张着。

Spotify 现在并没有发行官方版的 Linux 客户端。不过,开发团队已经推出了针对 Linux 的客户端预览版,并且表现得还不错。因为仍然是预览版,所以没有得到官方的支持。

Spotify 流媒体服务现已支持以下地区/国家:安道尔,阿根廷,澳大利亚,奥地利,比利时,保加利亚,哥伦比亚,塞浦路斯,丹麦,爱沙尼亚,芬兰,法国,德国,希腊,香港,冰岛,爱尔兰,意大利,拉脱维亚,列支敦士登,立陶宛,卢森堡,马来西亚,马耳他,墨西哥,摩纳哥,荷兰,新西兰,挪威,菲律宾,波兰,葡萄牙,西班牙,新加坡,瑞典,瑞士,台湾,土耳其,英国,美国,乌拉圭等。

特色包括:

  • 精心设计的界面,导航时非常方便
  • 创建和编辑播放列表
  • 发现新的音乐
  • 共享音乐及播放列表
  • 电台功能
  • 最受欢迎的的列表
  • 额外功能及种类繁多的应用
  • 网址:www.spotify.com/uk/download/previews
  • 开发者:Spotify
  • 许可证:专有许可证
  • 当前版本:预览版

Pithos

Pithos 播放界面

Pithons 是一款开源的的本地 Pandora 电台 Linux 客户端。它提供了一个轻量级的界面以替代 Pandora.com 的 web 客户端。其图形用户界面上集成了多媒体快捷键、通知中心以及声音菜单。

Pandora 音乐服务只能通过美国的 IP 地址使用。不过,非美国用户可以通过 VPN 连接来使用 Pandora。

特色包括:

  • 播放/暂停/下一首
  • 切换电台
  • 记住用户名和密码
  • 给喜欢的音乐和艺术家添加书签
  • 获取封面
  • 喜欢/讨厌/不再播放这首音乐
  • 在通知中心中弹出歌曲信息
  • 跳转到 pandora.com 歌曲信息页面/电台页面
  • 超时后重连 pandora
  • QuickMix 编辑
  • 创建电台
  • 多媒体按键
  • 代理连接
  • Last.fm 歌曲记录
  • 音量控制
  • 屏保暂停等插件
  • DBUS 接口:MPRIS 和 Pithos
  • 网址:pithos.github.io
  • 开发者:Kevin Mehall
  • 许可证:GNU GPL v3
  • 当前版本:1.0.0

Clementine

Clementine 播放界面

Clementine 基于 Amarok 开发,是一款跨平台的轻量级现代化音乐播放器和媒体库管理工具。Clementine 致力于打造快捷简易的界面,使你可以轻松搜索和播放音乐。

Clementine 在 Amarok 1.4 的基础上开发。

特色包括:

  • 检索、播放本地音乐库
  • 从 Last.fm 和 SomaFM 收听互联网电台
  • 标签式播放列表,支持导入导出 M3U,XSPF,PLS 及 ASX 格式的播放列表
  • 创建智能播放列表和动态播放列表
  • 载入 M3U 和 XSPF 播放列表
  • 对播放列表的撤销和重做
  • 编辑 MP3 和 OGG 文件的信息,管理媒体库
  • 从 Last.fm 下载缺失的专辑封面
  • 集成 gpodder.net 播客
  • 图形化均衡器
  • 支持 Windows,Mac OS X 及 Linux
  • 支持 Linux(libnotify)及 Mac OS X(Growl)本地桌面通知中心
  • 从 MusicBrainz 获取缺失的信息
  • 炫彩屏幕显示
  • 队列管理
  • 支持 Linux 下的 MPRIS,以及命令行远程控制
  • 支持索引和播放 Google Drive 中的音乐
  • 支持 Soundcloud
  • 支持 jazzradio.com
  • 支持 Moodbar
  • 基于 projectM 的可视化技术
  • 拷贝音乐至 iPod,iPhone,MTP 或者 大容量 USB 设备
  • 远程控制
  • 转码音乐至 MP3,Ogg Vorbis,Ogg Speex,FLAC 以及 AAC
  • 网址:www.clementine-player.org
  • 开发者:David Sansome,John Maguire
  • 许可证:GNU GPL v3
  • 当前版本:1.2

Nuvola Player

Nuvola Player 播放界面

Nuvola Player 是一个免费的开源项目,能够整合云端音乐到你的桌面中(支持托盘图标、Ubuntu 声音菜单、dock 菜单以及通知中心)。

为了使用全部的流媒体服务,你需要安装 Flash 和 HTML5 的音频支持。某些基于 Web 的流媒体服务可以使用 HTML5 的音频技术播放音乐,而非使用 Flash 插件。Nuvola Player 需要 GStreamr 和 MP3 解码器插件来提供 HTML5 音频支持。

支持的流媒体服务:

  • 集成了 MP3 商店的亚马逊云播放器,允许用户在亚马逊云端驱动器中存储他们的音乐,并且在任何支持的浏览器上播放音乐
  • Bandcamp,是一家在线音乐商店,也是艺人宣传平台,主要适于独立艺术家
  • Deezer,一家法国的基于 Web 的音乐流媒体服务商。Deezer 允许用户在多台设备上在线或者离线播放音乐,现在拥有 1800 万的曲目,超过 30000 的电台以及 2200 万的用户(150 万订阅用户)
  • 8tracks,是一家融合了互联网电台和社交元素的网站,坚持至少 8 个曲目的为用户量身定制的流媒体播放列表
  • Google Play,谷歌运营的一家数字服务商店,其经营项目包括音乐、电影、书籍,以及 Android 应用和游戏,其云端播放器支持播放用户自己上传的音乐和在 Google Play 里购买的音乐
  • Grooveshark,提供了国际化在线音乐搜索引擎、音乐流媒体服务以及音乐推荐服务,允许用户进行搜索、使用流媒体以及上传音乐,并且能把这些音乐进行立即播放或者添加到一个播放列表中
  • Grooveshark Mobile,基于 HTML5 的 Grooveshark 移动版,不需要 Flash 插件的支持
  • Hype Machine,Pandora Radio 和 Pitchfork Media 的融合产物。它从音乐博客上精选了最近发布的歌曲(约 1500 首),并在网站主页上列出了这些歌曲的信息
  • Jango,一款免费的在线音乐流媒体服务,允许用户创建和分享自己创建的电台
  • Logitech Media Server,是 Logitech Squeezebox devices 的开源流媒体服务。支持许多插件以及如 Deezer 和 Spotify 等其他流媒体服务
  • Pandora,智能化音乐推荐服务以及音乐基因组计划“托管人”,服务仅针对美国地区
  • Rdio,有广告的音乐订阅服务
  • Spotify,商业化流媒体服务,提供来自唱片公司的被严格限制的数字版权内容
  • This is My Jam,你可以存放某一刻你非常喜欢的音乐,并且每天都可以收听由朋友们精挑细选的音乐

特色包括:

  • 多媒体快捷键
  • 显示桌面通知
  • 集成了众多声音菜单、小程序以及启动器,甚至更多
  • Last FM 以及 Libre FM 歌曲记录
  • 获取歌词
  • 支持 Amazon Music Prime streaming
  • 网址:tiliado.eu/nuvolaplayer
  • 开发者:Jiří Janoušek and service maintainers
  • 许可证:2-Clause BSD license
  • 当前版本:2.4.3

Atraci

Atraci 播放界面

Atraci 是一款多平台的开源流媒体应用,允许用户收听超过 6000 万首音乐。Atraci 仍然处于基础开发阶段,所以很多功能暂时还未完善。

Atraci 使用 iTunes,Last.fm 以及 SoundCLoud 显示歌曲信息 —— 专辑封面、歌曲名称以及艺术家。Atraci 在 YouTube 上搜索最匹配这首音乐信息的视频,并使用其中质量最高的。

特色包括:

  • 无广告、无需注册
  • 直观的用户界面
  • 智能匹配搜索任何音乐、艺术家或者专辑。Atraci 会在线校对其信息,以显示正确的歌曲名称、专辑封面以及音轨等等,同时列出最高质量的视频流媒体
  • 自动修正所属专辑与艺术家
  • 通过默认方式、艺术家姓名或者曲目名称对结果排序
  • 以网格或列表模式查询结果
  • 检索视频可以全屏模式观看
  • 以随机或重复模式创建播放列表
  • 应用程序内的音量调整滑块、音轨调节以及专辑封面
  • 播放历史
  • 网址:atraci.github.io/Atraci-website
  • 开发者:The Atraci Team
  • 许可证:The MIT License
  • 当前版本:0.7.0

via: http://www.linuxlinks.com/article/20141116052055674/MusicStreaming.html

作者:Frazer Kline 译者:Stevearzh 校对:wxy

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

Calife会在登录为另外一个用户前输入自己的密码(如果没有提供登录名,默认是登录为root),在验证具有正确的权限后,就会切换到该用户及其组身份,并就会执行一个shell。如果 calife 是由 root 执行的,不需要密码,会执行一个所需的用户ID的shell。

所用的shell是用户自身所用的,除非在calife.auth配置文件中指定了某个shell。如果在命令行指定了“-”选项,就会读取该用户的环境文件,该shell就像是一个登录shell。这和su的惯常用法不同。

只有在calife.auth中指定的用户才能使用此方法通过calife成为另外一个用户。calife.auth安装位置处于/etc/calife.auth。

Calife特性

这里给出了一个关于calife特性的扩展列表:

  • 你可以完整保留你的环境变量和shell别名
  • 它可以全程记录会话的开始到结束
  • 你可以列出每个许可使用calife的用户,那样,你就可以用户赋予主管权限而不必提供root密码
  • 你可以在配置文件中指定哪个组可以使用:只要使用@staff或者%staff,那么所有staff组中的成员都将具有访问calife的权限
  • 通过calife也可以登录成为那些没有家目录或甚至没有shell的用户。如果你想要成为uucp或者甚至是bin,那会很方便
  • 你可以让calife在会话结束时运行一个指定的系统级的脚本(例如,发送一封邮件告知以root身份做了哪些事)

ubuntu中安装calife

打开终端,然后运行以下命令

sudo apt-get install calife

使用Calife

语法

calife [-] [login]

详情请参与calife手册页


via: http://www.ubuntugeek.com/calife-a-lightweight-alternative-to-sudo.html

作者:ruchi 译者:GOLinux 校对:wxy

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

文件比较工具用于比较计算机上的文件的内容,找到他们之间相同与不同之处。比较的结果通常被称为diff。

diff同时也是一个基于控制台的、能输出两个文件之间不同之处的著名的文件比较程序的名字。diff是于二十世纪70年代早期,在Unix操作系统上被开发出来的。diff将会把两个文件之间不同之处的部分进行输出。

Linux拥有很多不错的GUI工具,能使你能清楚的看到两个文件或同一文件不同版本之间的不同之处。这次我从自己最喜欢的GUI比较工具中选出了五个推荐给大家。除了其中的一个,其他的都是开源的。

这些应用程序可以让你更清楚的看到文件或目录的差别,能合并有差异的文件,可以解决冲突并将其输出成一个新的文件或补丁,其也用于那些预览和备注文件改动的产品上(比如,在源代码合并到源文件树之前,要先接受源代码的改变)。因此它们是非常重要的软件开发工具。它们可以帮助开发人员们对文件进行处理,不停的把文件转来转去。这些比较工具不仅仅能用于显示源代码文件中的不同之处;他们还适用于很多种的文本文件。可视化的特性使文件比较变得容易、简单。


Meld

Meld是一个适用于Gnome桌面的、开源的、图形化的文件差异查看和合并的应用程序。它支持2到3个文件的同时比较、递归式的目录比较、处于版本控制(Bazaar, Codeville, CVS, Darcs, Fossil SCM, Git, Mercurial, Monotone, Subversion)之下的目录比较。还能够手动或自动合并文件差异。

Meld的重点在于帮助开发人员比较和合并多个源文件,并在他们最喜欢的版本控制系统下能直观的浏览改动过的地方。

功能包括

  • 原地编辑文件,即时更新
  • 进行两到三个文件的比较及合并
  • 在显示的差异和冲突之间的导航
  • 使用插入、改变和冲突这几种标记可视化展示本地和全局的差异
  • 内置正则表达式文本过滤器,可以忽略不重要的差异
  • 语法高亮度显示(使用可选的gtksourceview)
  • 将两到三个目录中的文件逐个进行比较,显示新建,缺失和替换过的文件
  • 对任何有冲突或差异的文件直接打开比较界面
  • 可以过滤文件或目录以避免以忽略某些差异
  • 被改动区域的自动合并模式使合并更容易
  • 也有一个简单的文件管理
  • 支持多种版本控制系统,包括Git, Mercurial, Bazaar 和 SVN
  • 在提交前开启文件比较来检查改动的地方和内容
  • 查看文件版本状态
  • 还能进行简单的版本控制操作(例如,提交、更新、添加、移动或删除文件)
  • 继承自同一文件的两个文件进行自动合并
  • 标注并在中间的窗格显示所有有冲突的变更的基础版本
  • 显示并合并同一文件的无关的独立修改
  • 锁定只读性质的基础文件以避免出错
  • 可以整合到已有的命令行界面中,包括gitmergetool
  • 国际化支持
  • 可视化使文件比较更简单
  • 网址: meldmerge.org
  • 开发人员: Kai Willadsen
  • 证书: GNU GPL v2
  • 版本号: 1.8.5

DiffMerge

DiffMerge是一个可以在Linux、Windows和OS X上运行的,可以可视化文件的比较和合并的应用软件。

功能包括:

  • 图形化显示两个文件之间的差别。包括插入行,高亮标注以及对编辑的全面支持
  • 图形化显示三个文件之间的差别。(安全的前提下)允许自动合并,并对最终文件可以随意编辑
  • 并排显示两个文件夹的比较,显示哪一个文件只存在于其中一个文件夹而不存在于另外的一个文件夹,还能一对一的将完全相同的、等价的或不同的文件配对
  • 规则设置和选项让你可以个性化它的外观和行为
  • 基于Unicode,可以导入多种编码的字符
  • 跨平台工具
  • 网址: sourcegear.com/diffmerge
  • 开发人员: SourceGear LLC
  • 证书: Licensed for use free of charge (not open source)
  • 版本号: 4.2

xxdiff

xxdiff是个开源的图形化的可进行文件、目录比较及合并的工具。

xxdiff可以用于显示两到三个文件或两个目录的差别,还能产生一个合并后的版本。被比较的两到三个文件会并排显示,并将有区别的文字内容用不同颜色高亮显示以便于识别。

这个程序是个非常重要的软件开发工具。他可以图形化的显示两个文件或目录之间的差别,合并有差异的文件,其也用于那些预览和备注文件改动的产品上(比如,在源代码合并到源文件树之前,要先接受源代码的改变)

功能包括:

  • 比较两到三个文件,或是两个目录(浅层或递归)
  • 横向高亮显示差异
  • 交互式的文件合并,可视化的输出和保存
  • 可以辅助合并的评论/监管
  • 自动合并文件中时不合并 CVS 冲突,并以两个文件显示以便于解决冲突
  • 可以用其它的比较程序计算差异:适用于GNU diff、SGI diff和ClearCase的cleardiff,以及所有与这些程序输出相似的文件比较程序。
  • 可以使用资源文件实现完全的个性化设置
  • 用起来感觉和Rudy Wortel或SGI的xdiff差不多,与桌面系统无关
  • 功能和输出可以和脚本轻松集成
  • 网址: furius.ca/xxdiff
  • 开发人员: Martin Blais
  • 证书: GNU GPL
  • 版本号: 4.0

Diffuse

Diffuse是个开源的图形化工具,可用于合并和比较文本文件。Diffuse能够比较任意数量的文件,并排显示,并提供手动行匹配调整,能直接编辑文件。Diffuse还能从bazaar、CVS、darcs, git, mercurial, monotone, Subversion和GNU RCS 库中获取版本用于比较及合并。

功能包括:

  • 比较任意数量的文件,并排显示(多方合并)
  • 行匹配可以被用户人工矫正
  • 直接编辑文件
  • 语法高亮
  • 支持Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion和SVK
  • 支持Unicode
  • 可无限撤销
  • 易用的键盘导航
  • 网址: [diffuse.sourceforge.net][]
  • 开发人员: Derrick Moser
  • 证书: GNU GPL v2
  • 版本号: 0.4.7

Kompare

Kompare是个开源的GUI前端程序,可以对不同源文件之间差异的可视化和合并。Kompare可以比较文件或文件夹内容的差异。Kompare支持很多种diff格式,并提供各种选项来设置显示的信息级别。

不论你是个想比较源代码的开发人员,还是只想比较一下研究论文手稿与最终文档的差异,Kompare都是个有用的工具。

Kompare是KDE桌面环境的一部分。

功能包括:

  • 比较两个文本文件
  • 递归式比较目录
  • 显示diff产生的补丁
  • 将补丁合并到一个已存在的目录
  • 可以让你在编译时更轻松
  • 网址: www.caffeinated.me.uk/kompare/
  • 开发者: The Kompare Team
  • 证书: GNU GPL
  • 版本号: Part of KDE

via: http://www.linuxlinks.com/article/2014062814400262/FileComparisons.html

作者:Frazer Kline 译者:H-mudcup 校对:wxy

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

Cacti 是一个完善的网络监控的图形化解决方案,它被设计用来发挥 RRDTool (一个 Linux 数据存储和绘图工具)的数据存储和绘图的强大功能。Cacti 提供一个快速的轮询器,高级的绘图模版,多种数据获取方法和用户管理功能,并且可以开箱即用。所有的这些都被打包进一个直观,易用的界面,可用于监控简单的 LAN 网络,乃至包含成百上千设备的复杂网络。

功能

绘图

没有数量限制的监控图条目(graph item),每个图形可以视情况使用 Cacti 中的 CDEFs (Calculation Define,可以对图形输出结果进行计算)或者数据源。

自动将 GPRINT 条目分组至 AREA,STACK 和 LINE[1-3] 中,来对监控图条目进行快速重排序。

自动填充功能支持整齐排列图形内的说明项。

可以使用 RRDTool 中内置的 CDEF 数学函数对图形数据进行处理。这些 CDEF 函数可以定义在 Cacti 中,并且每一个图形都可以使用它们。

支持所有的 RRDTool 图形类型,包括 AREA,STACK,LINE[1-3],GPRINT,COMMENT,VRULE 和 HRULE。

数据源

数据源可以使用 RRDTool 的 "create" 和 "update" 功能创建。每一个数据源可以用来收集本地或者远程的数据,并将数据输出成图形。

支持包含多个数据源的 RRD 文件,并可以使用存储在本地文件系统中任何位置的 RRD 文件。

可以自定义轮询归档(RRA)设置,用户可以在存储数据时使用非标准的时间间隔(标准时间间隔是5分钟,30分钟,2小时和 1天)。

数据收集

Cacti 包含一个 "data input" 机制,可以让用户定义自定义的脚本用来收集数据。每个脚本可以包含调用参数,每次调用此脚本的创建数据源时必须输入相应的调用参数(如 IP 地址)。

支持 SNMP 功能,可以使用 php-snmp,ucd-snmp 或者 net-snmp。

可以基于索引来使用 SNMP 或者脚本收集数据。例如,可以列出一个服务器上所有网卡接口或者已挂载分区的索引列表。其集成的绘图模版可以用来为主机一键创建图形。

提供了一个基于 PHP 的轮询器执行脚本,可以收集 SNMP数据并更新数据至 RRD 文件中。

模版

绘图模版可以将相同图形分组到为一类。图形中的每一个条目都可以使用模版的默认值或者自定义。

数据源模版可以通过将相同数据源类型分组为一类。数据源中每一个条目都可以使用模版的默认值或者自定义。

主机模版是一组图形和数据源模版,可以用来定义某一类型的主机。创建主机时,它会自动使用相应模版的属性。

图形展示

图形树模式允许用户创建「图形层次结构」并将图形放至树中。这种方法可以方便的管理大量图形。

列表模式将所有图形的链接在一个大列表中展示出来,链接指向用户创建的图形。

预览模式将所有图形在一个大列表中展示出来。这有点类似于 RRDTool/MRTG 的默认视图。

用户管理

用户管理功能允许管理员创建用户并分配给用户访问 Cacti 接口的不同级别的权限。

权限可以为每个用户指定其对每个图形的权限,这适用于主机租用的场景。

每个用户可以保存他自己的图形显示模式。

安装

系统准备

在安装 cacti 之前,确保你已经安装了 Ubuntu 14.10 LAMP server

在 Ubuntu 14.10 Server 上安装 Cacti

打开终端,运行下面的命令

sudo apt-get install cacti-spine

上面的命令开始 Cacti 的安装,你会看到下图中 PHP 路径的更改,选择 ok 按回车

选择你想使用的 Web 服务器 (我使用的是 apache2)

Cacti 数据库配置,选 yes

输入数据库管理员账户密码

输入 Cacti 访问数据库的密码

确认密码

现在 Cacti 已经安装了,我们可以开始配置它了。

Cacti 配置

在浏览器中访问 http://你的服务器IP/cacti/install/ 来进行初始化设置,点击 next 下一步

选择 New install,点击 next 下一步

下一个界面中,你需要确保所有的路径都是正确的,点击 finish 完成

现在以 admin/admin 登录 Cacti,修改管理员的默认密码

登录 Cacti 之后你会看到类似于下面这样的界面


via: http://www.ubuntugeek.com/how-to-install-cacti-monitoring-tool-on-ubuntu-14-10-server.html

作者:ruchi 译者:Liao 校对:wxy

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

Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。

Smartctl对于Linux物理服务器十分有用,在这些服务器上,可以对智能磁盘进行错误检查,并将与硬件RAID相关的磁盘信息摘录下来。

在本帖中,我们将讨论smartctl命令的一些实用样例。如果你的Linux上海没有安装smartctl,请按以下步骤来安装。

安装 Smartctl

对于 Ubuntu

$ sudo apt-get install smartmontools

对于 CentOS & RHEL

# yum install smartmontools

启动Smartctl服务

对于 Ubuntu

$ sudo /etc/init.d/smartmontools start

对于 CentOS & RHEL

# service smartd start ; chkconfig smartd on

样例

样例:1 检查磁盘的 Smart 功能是否启用

root@linuxtechi:~# smartctl -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Momentus 5400.6
Device Model:     ST9320325AS
Serial Number:    5VD2V59T
LU WWN Device Id: 5 000c50 020a37ec4
Firmware Version: 0002BSM1
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 1.5 Gb/s
Local Time is:    Sun Nov 16 12:32:09 2014 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

这里‘/dev/sdb’是你的硬盘。上面输出中的最后两行显示了SMART功能已启用。

样例:2 启用磁盘的 Smart 功能

root@linuxtechi:~# smartctl -s on /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

样例:3 禁用磁盘的 Smart 功能

root@linuxtechi:~# smartctl -s off  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Disabled. Use option -s with argument 'on' to enable it.

样例:4 显示磁盘的详细 Smart 信息

root@linuxtechi:~# smartctl -a /dev/sdb              // For IDE drive
root@linuxtechi:~# smartctl -a -d ata /dev/sdb       // For SATA drive

样例:5 显示磁盘总体健康状况

root@linuxtechi:~# smartctl -H  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022   067   045   045    Old_age   Always   In_the_past 33 (Min/Max 25/33)

样例:6 使用long和short选项测试硬盘

Long测试

root@linuxtechi:~# smartctl --test=long /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 102 minutes for test to complete.
Test will complete after Sun Nov 16 14:29:43 2014

Use smartctl -X to abort test.

或者,我们可以重定向测试输出到日志文件,就像下面这样

root@linuxtechi:~# smartctl --test=long /dev/sdb > /var/log/long.text

Short测试

root@linuxtechi:~# smartctl --test=short /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Sun Nov 16 12:51:45 2014

Use smartctl -X to abort test.

root@linuxtechi:~# smartctl --test=short /dev/sdb > /var/log/short.text

注意:short测试将花费最多2分钟,而在long测试中没有时间限制,因为它会读取并验证磁盘的每个段。

样例:7 查看驱动器的自检结果

root@linuxtechi:~# smartctl -l selftest /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%       492         210841222
# 2  Extended offline    Completed: read failure       90%       492         210841222

样例:8 计算测试时间估值

root@linuxtechi:~# smartctl -c  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
General SMART Values:
Offline data collection status:  (0x00)    Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      ( 121)    The previous self-test completed having
                    the read element of the test failed.
Total time to complete Offline 
data collection:         (    0) seconds.
Offline data collection
capabilities:              (0x73) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:      (   1) minutes.
Extended self-test routine
recommended polling time:      ( 102) minutes.
Conveyance self-test routine
recommended polling time:      (   2) minutes.
SCT capabilities:            (0x103b)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

样例:9 显示磁盘错误日志

root@linuxtechi:~# smartctl -l error  /dev/sdb

Sample Output

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 5
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 da 08 e7 e5 a5 4c 00      00:30:44.515  READ DMA EXT
  25 da 08 df e5 a5 4c 00      00:30:44.514  READ DMA EXT
  25 da 80 5f e5 a5 4c 00      00:30:44.502  READ DMA EXT
  25 da f0 5f e6 a5 4c 00      00:30:44.496  READ DMA EXT
  25 da 10 4f e6 a5 4c 00      00:30:44.383  READ DMA EXT

via: http://www.linuxtechi.com/smartctl-monitoring-analysis-tool-hard-drive/

作者:Pradeep Kumar 译者:GOLinux 校对:wxy

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