2014年10月

他没有提到任何人的名字,但是这像一次道歉

Linus Torvalds在前几天的欧洲LinuxCon和CloudOpen大会上做了讲话,这次大会由Linux基金会组织并且汇聚了开源世界的所有大佬。他回答了很多问题,也谈到了他在邮件发送清单里使用粗话的事情。

Linus Torvalds被认为是Linux内核的创造者和Linux最新的开发版本的维护者。他给我们几乎每个星期都带来一个新的内核RC 版本,并且会在邮件列表里面进行大量的讨论。在这些讨论中,他经常口不择言地用粗话大骂一些开发者们。

最近又出现了一个这种事情,就像我们在新闻里报道过的一样,他在做了一些苛刻的评论之后,决定砍掉一些他认定的开发者的代码。大家都知道Linus很招人厌烦,尤其是当内核开发者为了修复内核中的一些问题而破坏了用户空间。这次又发生了同样的事情,他基本上已经把那个家伙给气疯了。

这是他最接近道歉意味的一次谈话

以前Linus Torvalds从不真正去特地谈论这些事情,大家也习惯了。但是最近一个systemd开发者谈到了在开源社区充斥着粗话,并且点名提到了Linus Torvalds。他不太习惯于道歉,所以这次在LinuxCon大会上的这次“认错”是他跨出的一大步。

主持人询问他在过去的23年里所做过的决定有什么最后悔的吗?

"从技术角度来看,没有哪个决定重要到这个程度...有个问题是慢慢地疏远了用户和开发者,而我却恰恰很擅长这个。我说了粗话,但是这不是我想要改变的某一个决定,这些粗话应该有所限制。"

"其中一个原因是我们有说粗话的传统,很多人觉得倒胃口,特别是当有强烈的意愿和推动力的技术人员要做一些技术上的进步时,你就需要用一些强烈的语言来表达你的意愿。" Linus Torvalds 如是说

他没提到任何人或者任何事件的名字,但很像是对于一位名为Leonart Pottering的systemd开发者挑起事端的回应,看上去就是针对这起事件。

Linux内核3.18 RC1也在上周发布了,我们又有新东西玩了。


via: http://news.softpedia.com/news/Linus-Torvalds-Regrets-Alienating-Developers-with-Strong-Language-462191.shtml

作者:Silviu Stahie 译者:ZTinoZ 校对:wxy

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

lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

有趣的是,lsof也是有着最多开关的Linux/Unix命令之一。它有那么多的开关,它有许多选项支持使用-和+前缀。

usage: [-?abhlnNoOPRstUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]]
 [-p s] [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]

正如你所见,lsof有着实在是令人惊讶的选项数量。你可以使用它来获得你系统上设备的信息,你能通过它了解到指定的用户在指定的地点正在碰什么东西,或者甚至是一个进程正在使用什么文件或网络连接。

对于我,lsof替代了netstat和ps的全部工作。它可以带来那些工具所能带来的一切,而且要比那些工具多得多。那么,让我们来看看它的一些基本能力吧:

关键选项

理解一些关于lsof如何工作的关键性东西是很重要的。最重要的是,当你给它传递选项时,默认行为是对结果进行“或”运算。因此,如果你正是用-i来拉出一个端口列表,同时又用-p来拉出一个进程列表,那么默认情况下你会获得两者的结果。

下面的一些其它东西需要牢记:

  • 默认 : 没有选项,lsof列出活跃进程的所有打开文件
  • 组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数
  • -a : 结果进行“与”运算(而不是“或”)
  • -l : 在输出显示用户ID而不是用户名
  • -h : 获得帮助
  • -t : 仅获取进程ID
  • -U : 获取UNIX套接口地址
  • -F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)

获取网络信息

正如我所说的,我主要将lsof用于获取关于系统怎么和网络交互的信息。这里提供了关于此信息的一些主题:

使用-i显示所有连接

有些人喜欢用netstat来获取网络连接,但是我更喜欢使用lsof来进行此项工作。结果以对我来说很直观的方式呈现,我仅仅只需改变我的语法,就可以通过同样的命令来获取更多信息。

# lsof -i

COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
dhcpcd 6061 root 4u IPv4 4510 UDP *:bootpc
sshd 7703 root 3u IPv6  6499 TCP *:ssh (LISTEN)
sshd 7892 root 3u IPv6  6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

使用-i 6仅获取IPv6流量

# lsof -i 6

仅显示TCP连接(同理可获得UDP连接)

你也可以通过在-i后提供对应的协议来仅仅显示TCP或者UDP连接信息。

# lsof -iTCP

COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
sshd 7703 root 3u IPv6 6499 TCP *:ssh (LISTEN)
sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

使用-i:port来显示与指定端口相关的网络信息

或者,你也可以通过端口搜索,这对于要找出什么阻止了另外一个应用绑定到指定端口实在是太棒了。

# lsof -i :22

COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
sshd 7703 root 3u  IPv6 6499 TCP *:ssh (LISTEN)
sshd 7892 root 3u  IPv6 6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

使用@host来显示指定到指定主机的连接

这对于你在检查是否开放连接到网络中或互联网上某个指定主机的连接时十分有用。

# lsof [email protected]

sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->172.16.12.5:49901 (ESTABLISHED)

使用@host:port显示基于主机与端口的连接

你也可以组合主机与端口的显示信息。

# lsof [email protected]:22

sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->172.16.12.5:49901 (ESTABLISHED)

找出监听端口

找出正等候连接的端口。

# lsof -i -sTCP:LISTEN

你也可以grep “LISTEN”来完成该任务。

# lsof -i | grep -i LISTEN

iTunes     400 daniel   16u  IPv4 0x4575228  0t0 TCP *:daap (LISTEN)

找出已建立的连接

你也可以显示任何已经连接的连接。

# lsof -i -sTCP:ESTABLISHED

你也可以通过grep搜索“ESTABLISHED”来完成该任务。

# lsof -i | grep -i ESTABLISHED

firefox-b 169 daniel  49u IPv4 0t0 TCP 1.2.3.3:1863->1.2.3.4:http (ESTABLISHED)

用户信息

你也可以获取各种用户的信息,以及它们在系统上正干着的事情,包括它们的网络活动、对文件的操作等。

使用-u显示指定用户打开了什么

# lsof -u daniel

-- snipped --
Dock 155 daniel  txt REG   14,2   2798436   823208 /usr/lib/libicucore.A.dylib
Dock 155 daniel  txt REG   14,2   1580212   823126 /usr/lib/libobjc.A.dylib
Dock 155 daniel  txt REG   14,2   2934184   823498 /usr/lib/libstdc++.6.0.4.dylib
Dock 155 daniel  txt REG   14,2    132008   823505 /usr/lib/libgcc_s.1.dylib
Dock 155 daniel  txt REG   14,2    212160   823214 /usr/lib/libauto.dylib
-- snipped --

使用-u user来显示除指定用户以外的其它所有用户所做的事情

# lsof -u ^daniel

-- snipped --
Dock 155 jim  txt REG   14,2   2798436   823208 /usr/lib/libicucore.A.dylib
Dock 155 jim  txt REG   14,2   1580212   823126 /usr/lib/libobjc.A.dylib
Dock 155 jim  txt REG   14,2   2934184   823498 /usr/lib/libstdc++.6.0.4.dylib
Dock 155 jim  txt REG   14,2    132008   823505 /usr/lib/libgcc_s.1.dylib
Dock 155 jim  txt REG   14,2    212160   823214 /usr/lib/libauto.dylib
-- snipped --

杀死指定用户所做的一切事情

可以消灭指定用户运行的所有东西,这真不错。

# kill -9 `lsof -t -u daniel`

命令和进程

可以查看指定程序或进程由什么启动,这通常会很有用,而你可以使用lsof通过名称或进程ID过滤来完成这个任务。下面列出了一些选项:

使用-c查看指定的命令正在使用的文件和网络连接

# lsof -c syslog-ng

COMMAND    PID USER   FD   TYPE     DEVICE    SIZE       NODE NAME
syslog-ng 7547 root  cwd    DIR    3,3    4096   2 /
syslog-ng 7547 root  rtd    DIR    3,3    4096   2 /
syslog-ng 7547 root  txt    REG    3,3  113524  1064970 /usr/sbin/syslog-ng
-- snipped --

使用-p查看指定进程ID已打开的内容

# lsof -p 10075

-- snipped --
sshd    10068 root  mem    REG    3,3   34808 850407 /lib/libnss_files-2.4.so
sshd    10068 root  mem    REG    3,3   34924 850409 /lib/libnss_nis-2.4.so
sshd    10068 root  mem    REG    3,3   26596 850405 /lib/libnss_compat-2.4.so
sshd    10068 root  mem    REG    3,3  200152 509940 /usr/lib/libssl.so.0.9.7
sshd    10068 root  mem    REG    3,3   46216 510014 /usr/lib/liblber-2.3
sshd    10068 root  mem    REG    3,3   59868 850413 /lib/libresolv-2.4.so
sshd    10068 root  mem    REG    3,3 1197180 850396 /lib/libc-2.4.so
sshd    10068 root  mem    REG    3,3   22168 850398 /lib/libcrypt-2.4.so
sshd    10068 root  mem    REG    3,3   72784 850404 /lib/libnsl-2.4.so
sshd    10068 root  mem    REG    3,3   70632 850417 /lib/libz.so.1.2.3
sshd    10068 root  mem    REG    3,3    9992 850416 /lib/libutil-2.4.so
-- snipped --

-t选项只返回PID

# lsof -t -c Mail

350

文件和目录

通过查看指定文件或目录,你可以看到系统上所有正与其交互的资源——包括用户、进程等。

显示与指定目录交互的所有一切

# lsof /var/log/messages/

COMMAND    PID USER   FD   TYPE DEVICE   SIZE   NODE NAME
syslog-ng 7547 root    4w   REG    3,3 217309 834024 /var/log/messages

显示与指定文件交互的所有一切

# lsof /home/daniel/firewall_whitelist.txt

高级用法

tcpdump类似,当你开始组合查询时,它就显示了它强大的功能。

显示daniel连接到1.1.1.1所做的一切

# lsof -u daniel -i @1.1.1.1

bkdr   1893 daniel 3u  IPv6 3456 TCP 10.10.1.10:1234->1.1.1.1:31337 (ESTABLISHED)

同时使用-t和-c选项以给进程发送 HUP 信号

# kill -HUP `lsof -t -c sshd`

lsof +L1显示所有打开的链接数小于1的文件

这通常(当不总是)表示某个攻击者正尝试通过删除文件入口来隐藏文件内容。

# lsof +L1

(hopefully nothing)

显示某个端口范围的打开的连接

# lsof -i @fw.google.com:2150=2180

结尾

本入门教程只是管窥了lsof功能的一斑,要查看完整参考,运行man lsof命令或查看在线版本。希望本文对你有所助益,也随时欢迎你的评论和指正

资源

本文由 Daniel Miessler撰写,首次在他博客上贴出


via: http://linuxaria.com/howto/linux-terminal-an-lsof-primer

作者:Daniel Miessler 译者:GOLinux 校对:wxy

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

简单网络管理协议(SNMP)是用于IP网络设备管理的标准协议。典型的支持SNMP协议的设备有路由器、交换机、服务器、工作站、打印机及数据机柜等等。SNMP一般被网络管理系统用于按照管理员设定的条件来监视网络附加设备。SNMP是因特网协议套件中的一个组成部分,它由IETF机构定义。它包含一系列的网络管理标准,其中有一个应用层协议,一个数据库架构以及一组数据对象。

SNMP将管理数据以变量的形式展示出来,这些变量描述了系统配置。同时这些变量可以被用于管理的应用查询(或者被设置)。

为什么需要使用SNMPv3

尽管SNMPv3所增加的加密功能并不影响协议层面,但是新的文本惯例、概念及术语使得它看起来很不一样。

SNMPv3在SNMP的基础之上增强了安全性以及远程配置功能。

最初,SNMP最大的缺点就是安全性弱。SNMP的第一与第二个版本中,身份验证仅仅是在管理员与代理间传送一个明文的密码而已。目前每一个SNMPv3的信息都包含了被编码成8进制的安全参数。这些安全参数的具体意义由所选用的安全模型决定。

SNMPv3提供了重要的安全特性:

  • 保密性 —— 加密数据包以防止未经授权的源监听。
  • 完整性 —— 数据的完整性特性确保数据在传输的时候没有被干扰,并且包含了可选的数据响应保护机制。
  • 身份验证 —— 检查数据是否来自一个合法的源。

在ubuntu中安装SNMP服务器及客户端

打开终端运行下列命令

sudo apt-get install snmpd snmp

安装完成后需要做如下改变。

配置SNMPv3

获得从外部守护进程访问的权限

默认的安装仅提供本地的访问权限,如果想要获得外部访问权限,打开文件 /etc/default/snmpd。

sudo vi /etc/default/snmpd

改变下列内容

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /var/run/snmpd.pid'

改为

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'

最后重启 snmpd

sudo /etc/init.d/snmpd restart

定义 SNMPv3 用户,身份验证以及加密参数

“securityLevel”参数使得SNMPv3有多种不同的用途。

  • noAuthNoPriv —— 没有授权,加密以及任何安全保护!
  • authNoPriv —— 需要身份认证,但是不对通过网络发送的数据进行加密。
  • autoPriv —— 最可靠模式。需要身份认证而且数据会被加密。

snmpd 的配置以及设置都保存在文件 /etc/snmp/snmpd.conf。使用编辑器编辑文件:

sudo vi /etc/snmp/snmpd.conf

在文件末尾添加以下内容:

#
createUser user1
createUser user2 MD5 user2password
createUser user3 MD5 user3password DES user3encryption
#
rouser user1 noauth 1.3.6.1.2.1.1
rouser user2 auth 1.3.6.1.2.1
rwuser user3 priv 1.3.6.1.2.1

注:如果你需要使用自己的用户名/密码对的话,请注意密码及加密短语的最小长度是8个字符。

同时,你需要做如下的配置以便snmp可以监听来自任何接口的连接请求。

#agentAddress udp:161,udp6:[::1]:161

改为

agentAddress udp:161,udp6:[::1]:161

保存改变后的snmpd.conf文件并且重启守护进程:

sudo /etc/init.d/snmpd restart

via: http://www.ubuntugeek.com/how-to-configure-snmpv3-on-ubuntu-14-04-server.html

译者:SPccman 校对:Caroline

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

随着每一个新版本的推出,Claws Mail 将会越来越好。

Claws Mail 发起于Linux 社区,是一款快速、简单易用,并且充满了很多有趣的特性的开源邮件客户端。开发者们推送了一次大的更新和升级,建议使用者进行升级。

有些人可能不知道这个邮件客户端,但Claws Mail 实际上是一个非常老的软件。它以前名称是Sylpheed-Claws ,已经走过了13个年头。Claws Mail 不久以前从其分支(forked)了出来,新分支的目的是成为Sylpheed-Claws更好的替代产品。

现在还有很多针对Linux 的邮件客户端正在进行着霸权地位的争夺战,尽管并没有打的硝烟四起。很多的Linux发行版都默认集成了Claws Mail,对于Claws Mail 的粉丝而言,这将是一个好消息。

Claws Mail 3.11.0 给我们带来了哪些新的特性呢

就像其他的采用网络连接和网络协议的应用程序一样,Claws Mail 被发现也受到了安全漏洞的影响,比如说POODLE 漏洞。开发者的反应很迅速,可以从其更新日志中看出。

“新版本的RSSyl 插件已经完全被重新设计和重写。从先前版本的迁移是自动完成的,采用新的存储格式,存储在~/.claws-mail/RSSyl/ (用分级目录代替了普通文件的格式)。并且用expat 库代替了libxml2 库来解析提要数据。”

“应广大朋友的要求,在邮件的编辑窗口里,在邮件内容中使用向上光标键时,会停留在邮件的内容的最上一行,而不再会跳到信头字段了。这是在3.10.0版本中引入的。详见开发者的公告。”

当然,大家也可以放心了,因为在新的邮件客户端中已经解决了POODLE 漏洞,这是通过禁用了所有的SSLv3 连接实现的。

使用制表符进行地址补完的功能也进行了一些改进,并变得更好,特别是对于撰写新邮件,通过光标箭头帮助导航的功能已经做了调整,有很多较小的改进。

开发者为大多数发行版创建了很多仓库,但是你也依然可以使用源代码来安装。想要进一步的了解,你可以关注官方关于每个版本的公告。

去下载Claws Mail 3.11.0 的源码包吧,如果你想要自己编译软件的话。


via: http://news.softpedia.com/news/Claws-Mail-3-11-0-Brings-a-Ton-of-Changes-and-Fix-for-POODLE-Exploit-462808.shtml

作者:Silviu Stahie 译者:barney-ro 校对:wxy

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

这是一款 Ubuntu 系统上的实用工具软件,使用它可以让您安装上最新版本的流行应用程序和游戏。

UbuTricks 是一款免费发布的用 Bash 语言编写的脚本型应用程序。它被设计为从最初版本一直向上搜索的方式来帮助您在 Ubuntu Linux 操作系统以及其它 Ubuntu 衍生版本系统上安装最受好评的游戏和图形应用程序的最高版本软件。

我能利用 UbuTricks 来安装哪些应用程序呢?

目前,最新版本的 Calibre(译者注:calibre 是一款开源的电子书软体套装,可以用来组织、存放、以及管理电子书,支持大多数的电子书格式。 同时也支持与许多流行的电子书阅读器进行同步,并可能在DRM的限制下转换电子书的格式) 、Fotoxx(译者注:一款图像管理和图像编辑程序)、Geary(译者注:适配于GNOME3 桌面环境的 IMAP 邮件客户端)、GIMP、Google Earth、HexChat(译者注:一款基于 XChat 的 IRC 客户端)、jAlbum(译者注:网页在线相册)、Kdenlive、LibreOffice、PCManFM、Qmmp(译者注:基于 Qt 库的音频播放器)、QuiteRSS, QupZilla、Shutter(译者注:多功能屏发屏幕截屏工具)、SMPlayer、Ubuntu Tweak、Wine 和 XBMC (Kodi)(译者注:开源免费的媒体播放器,13.2 “Gotham” 版本后改名为 Kodi)、PlayOnLinux、Red Notebook、NeonView、Sunflower、Pale Moon、 QupZilla Next、FrostWire 以及 RSSOwl 等这些应用程序都可以用 UbuTricks 来安装。

我能利用 UbuTricks 来安装哪些游戏呢?

此外,最新版本 0 A.D.、 韦诺之战、 Transmageddon、Unvanquished 和 VCMI (英雄 III 引擎) 这些游戏都可以用 UbuTricks 程序来安装。用户也可以安装最新版本的 Cinnamon 和 LXQt 桌面环境。

UbuTricks 使用起步

此程序是以 .sh 文件(shell 脚本)形式发布的,可以在命令行下面运行 “sh ubutricks.sh” 命令(不加引号)来运行,或者使它具有可执行权限,然后双击存入在 Home 目录或桌面的此文件来运行。您所需要做的就是选择应用程序或游戏,再点击 OK 按纽来安装。

它的工作原理?

首次启动时,一开始会显示一个欢迎画面,来告知用户是怎么样使用的。有三种方法来安装应用程序或游戏:通过 PPA,DEB 格式文件或源代码 tar 包。请注意,应用程序或游戏会自动的下载和安装。

它支持哪些系统发布版本?

它对 Ubuntu Linux 操作系统的多个版本都支持,但如果没有特别说明的话,默认指的当前稳定版本,即 Ubuntu 14.04 LTS(Trusty Tahr)版本。您的 Ubuntu 盒子上如果还没有安装 gksu 包的话,此程序是没法运行的,而 gksu 又基于 Zenity 包,所以您也应该安装它。

UbuTricks 下载:


via: http://linux.softpedia.com/get/Desktop-Environment/Tools/UbuTricks-103626.shtml

作者:Marius Nestor 译者:runningwater 校对:wxy

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

问题:我想要从源码创建安装的软件包。有没有一种方式从源码来创建和安装软件包,而不是运行“make install”?这样的话,以后如果我想,我可以容易的卸载程序。

如果你已经从它的源码运行“make install”安装了linux程序。想完整移除它将变得真的很麻烦,除非程序的开发者在Makefile里提供了uninstall的目标设置。否则你必须在安装前后比较你系统里文件的完整列表,然后手工移除所有在安装过程中加入的文件。

这时候Checkinstall就可以派上使用。Checkinstall会跟踪install命令行所创建或修改的所有文件的路径(例如:“make install”、“make install\_modules”等)并建立一个标准的二进制包,让你能用你发行版的标准包管理系统安装或卸载它,(例如Red Hat的yum或者Debian的apt-get命令)。已知它在 Slackware、SuSe、Mandrake 和 Gentoo 上也工作很好,请参考其官方文档

在这篇文章中,我们只集中在红帽子和Debian为基础的发行版,并展示怎样从源码使用Checkinstall创建一个RPM和DEB软件包

在linux上安装Checkinstall

在Debian及其衍生发行版上安装Checkinstall:

# aptitude install checkinstall 

在红帽子的发行版上安装Checkinstall,你需要下载一个已经打包好的Checkinstall rpm包(例如:从 http://rpm.pbone.net找到),不过它已经从Repoforge库里删除了。这个包是针对Cent OS6的,不过也可在Cent OS7里工作。

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm
# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm 

一旦checkinstall安装好,你就可以用下列格式创建一个特定的软件包

# checkinstall <install-command> 

如果没有参数,默认安装命令“make install”将被使用

用Checkinstall创建一个RPM或DEB包

在这个例子里,我们将创建一个htop包,这是一个linux交互式文本模式进程查看器(类似 top)。

首先,让我们从项目的官方网站下载源代码,作为一个好的习惯,我们存储源码包到/usr/local/src下,并解压它。

# cd /usr/local/src
# wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz
# tar xzf htop-1.0.3.tar.gz
# cd htop-1.0.3 

让我们看看htop的安装命令是什么,以便我们能用Checkinstall命令调用它,如下面所示,htop用“make install”命令安装。

# ./configure
# make install 

因此,要创建一个htop安装包,我们可以不带任何参数的调用checkinstall,这将使用“make install”命令创建一个包。在这个过程中, checkinstall命令会问你几个问题。

简而言之,如下命令会创建一个htop包:

# ./configure
# checkinstall 

“Should I create a default set of package docs?(我会创建一个默认设置的包文件?)”,回答“Y”:

你可以输入一个包的简短描述,然后按两次回车:

输入一个数字以修改下面的任何值或ENTER继续:

然后checkinstall将自动地创建一个.rpm或者.deb包,根据你的linux系统是什么:

在CentOS7:

在Debian 7:


via: http://ask.xmodulo.com/build-rpm-deb-package-source-checkinstall.html

译者:luoyutiantang 校对:wxy

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