ruchi 发布的文章

Jetty提供了一个Web服务器和javax.servlet容器,为SPDY、WebSocket、OSGi、JMX、JNDI、JAAS以及许多其它集成套件添加了支持。这些组件都是开源的,也可用于商业用途和分发。

Jetty被广泛用于多种项目和产品,都可以在开发环境和生产环境中使用。Jetty可以很容易地嵌入到设备、工具、框架、应用服务器以及集群中。更多用途可参见Jetty网页。

Jetty特性

  • 全功能并基于标准
  • 开源与商用两可
  • 灵活和可扩展
  • 小足迹
  • 可嵌入
  • 异步支持
  • 企业弹性扩展
  • Apache和Eclipse双重许可证

ubuntu 14.10 server上安装Jetty 9

先决条件

在安装Jetty服务器前,您需要通过以下命令安装Java

sudo apt-get install openjdk-8-jdk

Java将会安装到/usr/lib/jvm/java-8-openjdk-i386,同时在该目录下会创建一个名为java-8-openjdk-i386的符号链接,在/usr/bin/java下也会相应创建符号链接。

现在你需要从这里下载Jetty9,在下载完成后,你需要使用以下命令来解压缩

$tar -xvf jetty-distribution-9.2.5.v20141112.tar.gz

该操作会将它解压到jetty-distribution-9.2.5.v20141112,而你需要使用以下命令将归档文件移动到/opt/jetty

$mv jetty-distribution-9.2.5.v20141112 /opt/jetty

你需要创建jetty用户,并将其设置成/opt/jetty目录的属主

sudo useradd jetty -U -s /bin/false
sudo chown -R jetty:jetty /opt/jetty

使用以下命令拷贝Jetty脚本到启动目录,以便让它作为一个服务来运行

$ cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty

现在,你需要使用以下内容来创建Jetty设置文件

sudo vi /etc/default/jetty

添加以下行

JAVA_HOME=/usr/bin/java
JETTY_HOME=/opt/jetty
NO_START=0
JETTY_ARGS=jetty.port=8085
JETTY_HOST=0.0.0.0
JETTY_USER=jetty 

保存并退出该文件

你需要使用以下命令来启动Jetty服务

sudo service jetty start

你应该看到和下面类似的输出

Starting Jetty: OK Mon Nov 24 11:55:48 GMT 2014

如果你看到了下面的错误

** ERROR: JETTY\_HOME not set, you need to set it or install in a standard location

你需要确保在/etc/default/jetty文件中设置了正确的Jetty家目录路径,你可以使用以下URL来测试jetty。

Jetty现在应该运行在8085端口,打开浏览器并访问http://服务器IP:8085,你应该可以看到Jetty屏幕。

Jetty服务检查

使用以下命令来验证并检查配置

sudo service jetty check

使用以下命令来让Jetty开重启后自动启动

sudo update-rc.d jetty defaults

重启服务器并测试Jetty是否自动启动。

要检查Jetty运行在哪个端口上,或者该端口是否与其它程序冲突,可以运行netstat -tln


via: http://www.ubuntugeek.com/install-jetty-9-java-servlet-engine-and-webserver-on-ubuntu-14-10-server.html

作者:ruchi 译者:GOLinux 校对: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中国 荣誉推出

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中国 荣誉推出

Attic是一个Python写的删除重复数据的备份程序,其主要目标是提供一种高效安全的数据备份方式。重复数据消除技术的使用使得Attic适用于日常备份,因为它可以只存储那些修改过的数据。

Attic特性

空间高效存储

可变块大小重复数据消除技术用于减少检测到的冗余数据存储字节数量。每个文件被分割成若干可变长度组块,只有那些从没见过的组合块会被压缩并添加到仓库中。

可选数据加密

所有数据可以使用256位AES加密进行保护,并使用HMAC-SHA256验证数据完整性和真实性。

离场备份

Attic可以通过SSH将数据存储到安装有Attic的远程主机上。

备份可作为文件系统挂载

备份归档可作为用户空间文件系统挂载,用于便捷地验证和恢复备份。

安装attic到ubuntu 14.10

打开终端并运行以下命令

sudo apt-get install attic

使用Attic

手把手实例教学

在进行备份之前,首先要对仓库进行初始化:

$ attic init /somewhere/my-repository.attic

将~/src和~/Documents目录备份到名为Monday的归档:

$ attic create /somwhere/my-repository.attic::Monday ~/src ~/Documents

第二天创建一个新的名为Tuesday的归档:

$ attic create --stats /somwhere/my-repository.attic::Tuesday ~/src ~/Documents

该备份将更快些,也更小些,因为只有之前从没见过的新数据会被存储。--stats选项会让Attic输出关于新创建的归档的统计数据,比如唯一数据(不和其它归档共享)的数量:

归档名:Tuesday
归档指纹:387a5e3f9b0e792e91ce87134b0f4bfe17677d9248cb5337f3fbf3a8e157942a
开始时间: Tue Mar 25 12:00:10 2014
结束时间: Tue Mar 25 12:00:10 2014
持续时间: 0.08 seconds
文件数量: 358
        最初大小    压缩后大小  重复数据删除后大小
本归档: 57.16 MB    46.78 MB    151.67 kB
所有归档:114.02 MB  93.46 MB    44.81 MB

列出仓库中所有归档:

$ attic list /somewhere/my-repository.attic

Monday Mon Mar 24 11:59:35 2014
Tuesday Tue Mar 25 12:00:10 2014

列出Monday归档的内容:

$ attic list /somewhere/my-repository.attic::Monday

drwxr-xr-x user group 0 Jan 06 15:22 home/user/Documents
-rw-r--r-- user group 7961 Nov 17 2012 home/user/Documents/Important.doc

恢复Monday归档:

$ attic extract /somwhere/my-repository.attic::Monday

通过手动删除Monday归档恢复磁盘空间:

$ attic delete /somwhere/my-backup.attic::Monday

详情请查阅Attic文档


via: http://www.ubuntugeek.com/attic-deduplicating-backup-program.html

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

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

Nathive是一个libre软件图像编辑器,类似于 Adobe Photoshop、Corel Photo-Paint 或 GIMP,但是侧重于适用性和逻辑性,并为每个用户提供平滑的学习曲线。该项目在 GNOME 桌面环境中运行,并欢迎每个人参与到合作中,分享代码、翻译或想法等方面。

该项目尚处于测试阶段,所以它还是个未完成的工作,还不适用于终端用户。直到现在,开发始终专注于积淀应用的核心功能和创建便捷的开发工具。所以,目前我们将致力于创建新的插件,因为很明显在这方面还很缺乏。

其目的是在不放弃最初的可用性的情况下,逐步将该软件打造成一个专业的图像编辑器。Nathive由基于GTK+的Python脚本写成的,它设计为简洁、轻量,而且易于安装和使用。

在 ubuntu 上安装Nathive

你需要从这里下载.deb包,然后双击来安装。

屏幕截图


via: http://www.ubuntugeek.com/nathive-a-libre-software-image-editor.html

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

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

qshutdown是一个QT程序,用于让计算机在指定时间或者在几分钟后关机/重启/挂起/睡眠。对于那些只在特定时间使用计算机工作的人而言,可能很有用。

qshutdown将在最后70秒时显示3次警告提醒。(如果设置了1分钟或者“本地时间+1”,它只会显示一次。)

该程序使用qdbus来发送关机/重启/挂起/睡眠请求到gnome或kde会话管理器,或者到HAL或DeviceKit,而如果这些都没有工作,那么就会使用‘sudo shutdown -P now’命令进行关机(注意,当发送请求到HAL或DeviceKit,或者使用shutdown命令时,会话不会被保存。如果使用shutdown命令,该程序只会被关机或重启)。所以,如果在shutdown或reboot时间到时却什么都没发生,这就意味着用户缺少使用shutdown命令的权限。

在这种情况下,你可以进行以下操作:

粘贴以下信息到终端:“EDITOR:nano sudo -E visudo”并添加此行:“* ALL = NOPASSWD:/sbin/shutdown”这里*替换为你的“用户名”或“%组名”。

倒计时最大计数为1440分钟(24小时)。配置文件(和日志文件)位于~/.qshutdown,配置文件为:qshutdown.conf。

对于管理员:

在将qshutdonw.conf中的Lock\_all选项设置为true后,用户将不能修改设置。如果你使用“sudo chown root -R ~/.qshutdown”和“sudo chmod 744 ~/.qshutdown/qshutdown.conf”命令修改qshutdown.conf的权限后,用户将不能修改配置文件。

Ubuntu中安装Qshutdown

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

sudo apt-get install qshutdown

屏幕截图


via: http://www.ubuntugeek.com/qshutdown-an-avanced-shutdown-tool.html

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

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