2015年2月

任何有经验的Linux人员都认为没有任何一款控制面板可以打败纯命令行界面来管理虚拟主机(VPS)。也有人争辩说好的控制面板还是应该有一席之地,因为顺滑的操作界面让常规管理操作通过点几下鼠标就可以完成。

至于控制面板,有那种充满浮华装饰的商业控制面板,也有各种免费的但也强大多功能的免费开源面板替代品。这之中的杰出代表是Ajenti控制面板。

Ajenti可以让你很简单地配置不同的常规服务程序,如Apache/nginx、Samba、BIND、Squid、MySQL、cron、防火墙等等,对管理常规的 VPS 实例可以节省大量的时间。对于生产环境,Ajenti同样提供了插件和平台来支持虚拟 web 主机管理和自定义 web UI开发。

Ajenti有双重授权;一个是针对个人、企业内部或者教育用途免费使用的AGPLv3。然而,如果你是一家托管企业或者硬件提供商,那么你需要购买商业授权来使用Ajenti作为商业服务。

在Linux上安装Ajenti

为了简化安装,Ajenti为主流Linux发行版提供了自己的仓库。安装Ajenti要做的就是配置目标仓库,并用默认包管理器来安装。

安装前会生成用于SSL的一个RSA密钥和证书,Ajenti会在8000端口监听HTTPS的web请求。如果你正在使用防火墙,你需要在防火墙中允许8000端口访问。为了安全,最好默认禁止8000端口的公开访问,并添加你的少数IP地址到白名单中。

在Debian上安装Ajenti

$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
$ sudo sh -c 'echo "deb http://repo.ajenti.org/debian main main debian" >> /etc/apt/sources.list'
$ sudo apt-get update
$ sudo apt-get install ajenti 

在Ubuntu上安装Ajenti

$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
$ sudo sh -c 'echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" >> /etc/apt/sources.list'
$ sudo apt-get update
$ sudo apt-get install ajenti 

在 CentOS/RHEL或者Fedora上安装Ajenti

在CentOS/RHEL上,首先配置EPEL仓库,接着运行下面的命令。在Fedora上,直接使用下面的命令。

$ wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm
$ sudo rpm -ivh ajenti-repo-1.0-1.noarch.rpm
$ sudo yum install ajenti 

接着配置防火墙。

在Fedora或者CentOS/RHEL 7上:

$ sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
$ sudo firewall-cmd --reload 

在CentOS/RHEL 6上:

$ sudo iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
$ sudo service iptables save 

访问Ajenti web界面

在访问Ajenti的web界面前,先确保启动了ajenti服务。

$ sudo service ajenti restart 

直接在浏览器中输入https://:8000,你就会看到下面的Ajenti的登录界面。

默认的登录凭证是用户名“root”,密码“admin”。当你登录后,你会看到初始化的Ajenti菜单。

在左边面板的"SOFTWARE"选项下,你会看带一些已安装的服务。当你安装了任何Ajenti支持的服务端程序时,软件会在重启ajenti服务后被自动加入列表。

 $ sudo service ajenti restart 

通过Ajenti web界面管理VPS

Ajenti的web界面非常直观且易使用。下面是Ajenti功能的几个例子。

可插入结构

Ajenti有许多特定应用的插件,这让AJenti可高度扩展化。当你在VPS上安装一款新软件时。相关的AJenti插件(如果有的话)会自动启用来管理软件。“Plugins”菜单会展示可用/启用的插件,以及和它们关联的软件。

包管理

Ajenti提供了一个web界面来安装和升级VPS上的包。

防火墙配置

Ajenti允许你用两种方法管理防火墙规则(使用iptables或者CSF)。一种方法是使用用户友好的web面板,另一种是直接编辑原始的防火墙规则。

日志检查

你可以在Ajenti的web界面中浏览位于/var/log下的系统日志。

进程监控

你可以看见按照CPU和内存使用率排序的进程列表,如果需要的话,也可以干掉它们。

终端访问

如果需要更低层面的VPS访问,Ajenti提供了基于web的终端界面,你在这可以输入Linux命令。你也可以像下面那样在一个面板中打开多个终端。

Apache Web服务管理

你可以编辑Apache配置文件,并管理apache2服务。

MySQL/MariaDB 管理

你可以访问MySQL/MariaDB服务并直接在上面执行原始SQL命令。

Squid 配置

你可以配置Squid代理服务器的ACL、HTTP访问规则,过滤端口。

启动服务管理

你可以浏览、启动、停止、重启已安装的服务。

总结

Ajenti是一款易于使用的服务器管理控制面板,可以加入你开发的自定义插件。然而请记住,任何好的控制面板都不是阻止你学习在控制面板之后VPS里发生了什么的原因。一款好的面板会在你完全了解你正在做的事情时成会一款真正节省时间的利器,并且不依赖于控制面版来达成你所需要的目标。


via: http://xmodulo.com/free-control-panel-for-vps.html

作者:Dan Nanni 译者:geekpi 校对:wxy

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

在Ubuntu桌面中有各种提供天气信息的方法,你可以使用Unity Dash和桌面应用来获得天气信息,比如Typhoon

但是可以提供快速查询天气状况和温度数据,并且只需要一次鼠标点击而获得大量气象数据的面板插件,才是到目前为止Linux平台下最受欢迎的天气应用。

Atareao开发的My Weather Indicator就是这类应用中的一个,也可以说是最好的一个。

它在Unity面板上显示实时温度和天气状况,并且有一个包括体感温度、云量和日升日落时间等天气数据的菜单。除此之外,该应用还支持桌面小部件、多地区支持、天气数据提供方选择以及其他很多的配置选项。

听起来很不错,是吧?那我们下面就来看看如何在Ubuntu上安装和配置它吧。

在Ubuntu上安装My Weather Indicator

My Weather Indicator无法从Ubuntu软件商店中直接获取。不过开发者为我们提供了.deb安装包和官方维护的PPA(为Ubuntu 14.04 LTS和14.10提供安装包)。

  • 下载My Weather Indicator (.deb安装包)

为了确保你的应用是最新版本,我建议将Atareao PPA添加到你的软件镜像源,然后通过PPA来安装。

怎么做?打开一个新的终端窗口(Unity Dash > 终端,或者按Ctrl+Alt+T快捷键),然后输入下面的两行命令,期间你需要在提示处输入你的系统密码:

sudo add-apt-repository ppa:atareao/atareao

sudo apt-get update && sudo apt-get install my-weather-indicator

配置My Weather Indicator

无论你是通过什么方法安装该应用,你都可以在Unity Dash中搜索“weather”并且点击该应用来打开它。

首次打开应用时会出现下面的配置窗口。在这里你可以手动设置地区或者使用geo-ip来自动获取。或者有时可能会不够精确,不过它可以省去手动设置过程。

如果你正在旅行(或者是出于聊天的需要),你可以添加一个第二地区。这个设置和第一地区的设置相同,只不过是出现在“第二地区”的标签栏罢了。

在“小部件设置”区域勾选“显示桌面小部件”选项就会在你的桌面上添加一个小的天气小部件。小部件提供许多不同的皮肤,所以你一定要精心挑选你最喜欢的一个(注释:点击“确定”后对小部件的更改才会保存)。

My Weather Indicator使用Open Weather Map作为默认的天气数据提供方。不过你可以在‘Weather Services’面板中选择其他的数据提供方(有*标记的需要提供相关API key):

  • Open Weather Map
  • Yahoo! Weather
  • Weather Underground*
  • World Weather Online*

在‘Units’标签页中,你可以设置温度、压力、风速等数据的单位。这些设置适用于所有添加的地区,也就是说你不能在一个地区使用摄氏度,另一个地区使用华氏度。

最后,在‘General Options‘标签页,你可以设置数据更新间隔、设置开机自动运行选项以及从两个图标中选择一个作为面板图标。

如果你是命令行控,你也可以尝试Linux下查看天气数据的方法


via: http://www.omgubuntu.co.uk/2014/10/install-weather-indicator-ubuntu-14-10

作者:Joey-Elijah Sneddon 译者:JonathanKang 校对:wxy

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

问题:我想要监测Linux系统的内存使用状况。有哪些可用的图形界面或者命令行工具来检查当前内存使用情况?

当涉及到Linux系统性能优化的时候,物理内存是一个最重要的因素。自然的,Linux提供了丰富的选择来监测珍贵的内存资源的使用情况。不同的工具,在监测粒度(例如:全系统范围,每个进程,每个用户),接口方式(例如:图形用户界面,命令行,ncurses)或者运行模式(交互模式,批量处理模式)上都不尽相同。

下面是一个可供选择的,但并不全面的图形或命令行工具列表,这些工具用来检查Linux平台中已用和可用的内存。

1. /proc/meminfo

一种最简单的方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新的虚拟文件事实上是诸如free,top和ps这些与内存相关的工具的信息来源。从可用/闲置物理内存数量到等待被写入缓存的数量或者已写回磁盘的数量,只要是你想要的关于内存使用的信息,“/proc/meminfo”应有尽有。特定进程的内存信息也可以通过“/proc//statm”和“/proc//status”来获取。

$ cat /proc/meminfo

2. atop

atop命令是用于终端环境的基于ncurses的交互式的系统和进程监测工具。它展示了动态更新的系统资源摘要(CPU, 内存, 网络, 输入/输出, 内核),并且用醒目的颜色把系统高负载的部分以警告信息标注出来。它同样提供了类似于top的线程(或用户)资源使用视图,因此系统管理员可以找到哪个进程或者用户导致的系统负载。内存统计报告包括了总计/闲置内存,缓存的/缓冲的内存和已提交的虚拟内存。

$ sudo atop

3. free

free命令是一个用来获得内存使用概况的快速简单的方法,这些信息从“/proc/meminfo”获取。它提供了一个快照,用于展示总计/闲置的物理内存和系统交换区,以及已使用/闲置的内核缓冲区。

$ free -h

4. GNOME System Monitor

GNOME System Monitor 是一个图形界面应用,它展示了包括CPU,内存,交换区和网络在内的系统资源使用率的较近历史信息。它同时也可以提供一个带有CPU和内存使用情况的进程视图。

$ gnome-system-monitor

5. htop

htop命令是一个基于ncurses的交互式的进程视图,它实时展示了每个进程的内存使用情况。它可以报告所有运行中进程的常驻内存大小(RSS)、内存中程序的总大小、库大小、共享页面大小和脏页面大小。你可以横向或者纵向滚动进程列表进行查看。

$ htop

6. KDE System Monitor

就像GNOME桌面拥有GNOME System Monitor一样,KDE桌面也有它自己的对口应用:KDE System Monitor。这个工具的功能与GNOME版本极其相似,也就是说,它同样展示了一个关于系统资源使用情况,以及带有每个进程的CPU/内存消耗情况的实时历史记录。

$ ksysguard

7. memstat

memstat工具对于识别正在消耗虚拟内存的可执行部分、进程和共享库非常有用。给出一个进程识别号,memstat即可识别出与之相关联的可执行部分、数据和共享库究竟使用了多少虚拟内存。

$ memstat -p <PID>

8. nmon

nmon工具是一个基于ncurses系统基准测试工具,它能够以交互方式监测CPU、内存、磁盘I/O、内核、文件系统以及网络资源。对于内存使用状况而言,它能够展示像总计/闲置内存、交换区、缓冲的/缓存的内存,虚拟内存页面换入换出的统计,所有这些都是实时的。

$ nmon

9. ps

ps命令能够实时展示每个进程的内存使用状况。内存使用报告里包括了 %MEM (物理内存使用百分比), VSZ (虚拟内存使用总量), 和 RSS (物理内存使用总量)。你可以使用“--sort”选项来对进程列表排序。例如,按照RSS降序排序:

$ ps aux --sort -rss

10. smem

smem命令允许你测定不同进程和用户的物理内存使用状况,这些信息来源于“/proc”目录。它利用“按比例分配大小(PSS)”指标来精确量化Linux进程的有效内存使用情况。内存使用分析结果能够输出为柱状图或者饼图类的图形化图表。

$ sudo smem --pie name -c "pss"

11. top

top命令提供了一个运行中进程的实时视图,以及特定进程的各种资源使用统计信息。与内存相关的信息包括 %MEM (内存使用率), VIRT (虚拟内存使用总量), SWAP (换出的虚拟内存使用量), CODE (分配给代码执行的物理内存数量), DATA (分配给非执行的数据的物理内存数量), RES (物理内存使用总量; CODE+DATA), 和 SHR (有可能与其他进程共享的内存数量)。你能够基于内存使用情况或者大小对进程列表进行排序。

12. vmstat

vmstat命令行工具显示涵盖了CPU、内存、中断和磁盘I/O在内的各种系统活动的瞬时和平均统计数据。对于内存信息而言,命令不仅仅展示了物理内存使用情况(例如总计/已使用内存和缓冲的/缓存的内存),还同样展示了虚拟内存统计数据(例如,内存页的换入/换出,虚拟内存页的换入/换出)

$ vmstat -s


via: http://ask.xmodulo.com/check-memory-usage-linux.html

译者:Ping 校对:wxy

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

rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。

假定你的网络中已经有一台已经配置好并启动的rsyslog服务器,本指南将为你展示如何来设置CentOS系统将其内部日志消息路由到一台远程rsyslog服务器上。这将大大改善你的系统磁盘空间的使用,尤其是当你还没有一个用于/var目录的独立的大分区。

步骤一: 安装Rsyslog守护进程

在CentOS 6和7上,rsyslog守护进程已经预先安装了。要验证rsyslog是否已经安装到你的CentOS系统上,请执行如下命令:

# rpm -qa | grep rsyslog
# rsyslogd -v 

如果处于某种原因,rsyslog守护进程没有出现在你的系统中,请使用以下命令来安装:

 # yum install rsyslog 

步骤二: 配置Rsyslog守护进程为客户端

接下来的步骤,是要将你的CentOS机器转变成rsyslog客户端,将其所有内部日志消息发送到远程中央日志服务器上。

要实现该功能,请使用你喜爱的文本编辑器打开位于/etc路径下的rsyslog主配置文件:

# nano /etc/rsyslog.conf 

开启文件用于编辑后,你需要添加以下声明到文件底部。将IP地址替换为你的远程rsyslog服务器的IP地址。

*.*  @192.168.1.25:514 

上面的声明告诉rsyslog守护进程,将系统上各个设备的各种日志消息路由到远程rsyslog服务器(192.168.1.25)的UDP端口514。

如果出于某种原因,你需要更为可靠的协议,如TCP,而rsyslog服务器也被配置为监听TCP连接,你必须在远程主机的IP地址前添加一个额外的@字符,像下面这样:

*.*  @@192.168.1.25:514 

注意,你也可以将rsyslog服务器的IP地址替换成它的主机名(FQDN)。

如果你只想要转发服务器上的指定设备的日志消息,比如说内核设备,那么你可以在rsyslog配置文件中使用以下声明。

kern.* @192.168.1.25:514 

修改配置文件后,你需要重启进程以激活修改:

CentOS 7:

# systemctl restart rsyslog.service 

CentOS 6:

# service rsyslog restart 

非 syslog 日志的转发

在另外一种环境中,让我们假定你已经在机器上安装了一个名为“foobar”的应用程序,它会在/var/log下生成foobar.log日志文件。现在,你想要将它的日志定向到rsyslog服务器,这可以通过像下面这样在rsyslog配置文件中加载imfile模块来实现。

首先,加载imfile模块,这只需做一次。

module(load="imfile" PollingInterval="5") 

然后,指定日志文件的路径以便imfile模块可以检测到:

input(type="imfile"
      File="/var/log/foobar.log"
      Tag="foobar"
      Severity="error"
      Facility="local7")

最后,定向local7设备到远程rsyslog服务器:

local7.* @192.168.1.25:514

别忘了重启rsyslog进程哦!

步骤三: 让Rsyslog进程自动启动

要让rsyslog客户端在每次系统重启后自动启动,请运行以下命令:

CentOS 7:

# systemctl enable rsyslog.service 

CentOS 6:

# chkconfig rsyslog on 

小结

在本教程中,我演示了如何将CentOS系统转变成rsyslog客户端以强制它发送日志消息到远程rsyslog服务器。这里我假定rsyslog客户端和服务器之间的连接是安全的(如,在有防火墙保护的公司网络中)。不管在任何情况下,都不要配置rsyslog客户端将日志消息通过不安全的网络转发,或者,特别是通过互联网转发,因为syslog协议是一个明文协议。要进行安全传输,可以考虑使用TLS/SSL来加密日志消息的传输。


via: http://xmodulo.com/configure-rsyslog-client-centos.html

作者:Caezsar M 译者:GOLinux 校对:wxy

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

GitHub 开发的文本编辑器 Atom 最近刚刚发布了0.177.0版。在这次更新里面,也许有一些你所不知道的 Atom 的趣事。

Atom 是基于 Chrome 开发的

Atom 是完全基于web技术实现的。底层的架构是基于Chromium(是的就是Google Chrome浏览器的Chromium架构),所有的窗口都是一个本地渲染的网页。

当我们按下快捷键 Alt+Command+I 时,就可以看到熟悉的Chrome浏览器的调试界面了。

本次 0.177.0 版本是基于 Chrome 40 所开发的。

弃 Node.js 而用 io.js

Atom 之前是采用了 node.js 来访问文件系统和包管理。这样就让Atom的包管理具有很强的灵活性和可扩展性。面对浩如烟好的npm资源,Atom 的可配置型也变得异常突出。

本次发布的0.177.0版,其中一个引入注目的变化是从 Node.js 切换到了 io.js。

io.js是Node.js的分支,Node.js社区发生分裂后由核心开发者在去年12月创建的,已经发布了v1.1版,目前开发非常活跃。Atom是切换到io.js的一个重量级项目。

另外,也使用了 6to5 的 JavaScript 预处理器。

正在寻找Linux平台最棒的代码编辑器?如果你询问那些很早就玩Linux的人,他们会回答是Vi, Vim, Emacs, Nano等。但是,我今天不讨论那些。我将谈论一些新时代尖端、漂亮、时髦而且十分强大, 功能丰富的最好的Linux平台开源代码编辑器,它们将会提升你的编程经验。

Linux平台最时髦的开源代码编辑器

我使用Ubuntu作为我的主桌面,所以我提供的安装说明是基于Ubuntu的发行版。但是这并不意味着本文列表就是Ubuntu最好的文本编辑器,因为本列表是适用于任何Linux发行版。而且,列表的介绍顺序并没有特定的优先级别。

Brackets

Brackets是出自Adobe的一个开源代码编辑器。它专门关注web设计者的需求,内置支持HTML, CSS和Java Script。它轻量级,但却十分强大,提供在线编辑和实时预览。而且,为了你能更好地体验Brackets,你可以使用许多可用的插件。

为了在Ubuntu,以及其它基于Ubuntu的发行版,诸如Linux Minit上安装Brackets,你可以使用这个非官方的PPA源:

sudo add-apt-repository ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install brackets

其他的Linux发行版本,你可以通过下载源代码或相应Linux, OS X和Windows的二进制文件,进行安装。

Atom

Atom是为程序员准备的另一个时尚开源代码编辑器。Atom由Github开发,被誉为“21世纪可破解的文本编辑器”。Atom的界面和Sublime Text编辑器十分相似。Sublime Text是一个十分流行但闭源的文本编辑器。

Atom最近已经发布了 .deb 和 .rpm包,所以在Debian和基于Fedora的Linux版本上安装很简单。当然,你也可以获取它的源代码。

Lime Text

如果你喜欢Sublime Text,但是你对它的闭源十分反感。别担心,我们有一个Sublime Text的开源克隆,叫做Lime Text。它基于Go, HTML和QT构造。说它是Sublime Text的克隆,背后原因是Sublime Text2仍有许多bug,而且Sublime Text3到目前为止仍处于测试版本。Sublime Text在开发过程中的bug是否修复,外界并不知情。

所以,开源爱好者们,你们可以很开心地通过下面的连接获得Lime Text的源码:

Light Table

被誉为“下一代的代码编辑器”,Light Table是另一个时髦,功能丰富的开源编辑器,它更像是一个IDE,而非仅仅是一个文本编辑器。并且,有许多可以提高其性能的扩展方法。内联评价将是你会爱上它的原因。你一定要试用一下看,这样你才会体会它的实用之处。

你的选择是什么?

在Linux平台,我们不能只局限于这四种代码编辑器。这份列表仅介绍了一些时髦的,可供程序员使用的编辑器。当然,你也有许多其他的选择,比如Notepad++的替代品Notepadqq或者SciTE等等。那么,文中这四个编辑器,你最喜欢哪个呢?


via: http://itsfoss.com/best-modern-open-source-code-editors-for-linux/

作者:Abhishek 译者:su-kaiyao 校对:Caroline

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