linuxandubuntu 发布的文章

保持对我们的网络的管理,防止任何程序过度使用网络、导致整个系统操作变慢,对管理员来说是至关重要的。有几个网络监视工具可以用于不同的操作系统。在这篇文章中,我们将讨论从 Linux 终端中运行的 10 个网络监视工具。它对不使用 GUI 而希望通过 SSH 来保持对网络管理的用户来说是非常理想的。

iftop

iftop network monitoring tool

Linux 用户通常都熟悉 top —— 这是一个系统监视工具,它允许我们知道在我们的系统中实时运行的进程,并可以很容易地管理它们。iftoptop 应用程序类似,但它是专门监视网络的,通过它可以知道更多的关于网络的详细情况和使用网络的所有进程。

我们可以从 这个链接 获取关于这个工具的更多信息以及下载必要的包。

vnstat

vnstat network monitoring tool

vnstat 是一个缺省包含在大多数 Linux 发行版中的网络监视工具。它允许我们对一个用户选择的时间周期内发送和接收的流量进行实时控制。

我们可以从 这个链接 获取关于这个工具的更多信息以及下载必要的包。

iptraf

iptraf monitoring tool for linux

IPTraf 是一个基于控制台的 Linux 实时网络监视程序。它会收集经过这个网络的各种各样的信息作为一个 IP 流量监视器,包括 TCP 标志信息、ICMP 详细情况、TCP / UDP 流量故障、TCP 连接包和字节计数。它也收集接口上全部的 TCP、UDP、…… IP 协议和非 IP 协议 ICMP 的校验和错误、接口活动等等的详细情况。(LCTT 译注:此处原文有误,径改之)

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。

Monitorix - 系统和网络监视

monitorix system monitoring tool for linux

Monitorix 是一个轻量级的免费应用程序,它设计用于去监视尽可能多的 Linux / Unix 服务器的系统和网络资源。它里面添加了一个 HTTP web 服务器,可以定期去收集系统和网络信息,并且在一个图表中显示它们。它跟踪平均系统负载、内存分配、磁盘健康状态、系统服务、网络端口、邮件统计信息(Sendmail、Postfix、Dovecot 等等)、MySQL 统计信息以及其它的更多内容。它设计用于去管理系统的整体性能,以及帮助检测故障、瓶颈、异常活动等等。

下载及更多 信息在这里

dstat

dstat network monitoring tool

这个监视器相比前面的几个知名度低一些,但是,在一些发行版中已经缺省包含了。

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。

bwm-ng

bwm-ng monitoring tool

这是最简化的工具之一。它允许你去从连接中交互式取得数据,并且,为了便于其它设备使用,在取得数据的同时,能以某些格式导出它们。

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。

ibmonitor

ibmonitor tool for linux

与上面的类似,它显示连接接口上过滤后的网络流量,并且,明确地将接收流量和发送流量区分开。

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。 ​

Htop - Linux 进程跟踪

htop linux processes monitoring tool

Htop 是一个更先进的、交互式的、实时的 Linux 进程跟踪工具。它类似于 Linux 的 top 命令,但是有一些更高级的特性,比如,一个更易于使用的进程管理界面、快捷键、水平和垂直的进程视图等更多特性。Htop 是一个第三方工具,它不包含在 Linux 系统中,你必须使用 YUM 或者 APT-GET 或者其它的包管理工具去安装它。关于安装它的更多信息,读这篇文章

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。

arpwatch - 以太网活动监视器

arpwatch ethernet monitoring tool

arpwatch 是一个设计用于在 Linux 网络中去管理以太网通讯的地址解析程序。它持续监视以太网通讯并记录一个网络中的 IP 地址和 MAC 地址的变化,该变化同时也会记录一个时间戳。它也有一个功能是当一对 IP 和 MAC 地址被添加或者发生变化时,发送一封邮件给系统管理员。在一个网络中发生 ARP 攻击时,这个功能非常有用。

我们可以从 这个链接 获取这个工具的更多信息以及下载必要的包。

Wireshark - 网络监视工具

wireshark network monitoring tool

Wireshark 是一个自由的应用程序,它允许你去捕获和查看前往你的系统和从你的系统中返回的信息,它可以去深入到数据包中并查看每个包的内容 —— 以分别满足你的不同需求。它一般用于去研究协议问题和去创建和测试程序的特别情况。这个开源分析器是一个被公认的分析器商业标准,它的流行要归功于其久负盛名。

最初它被叫做 Ethereal,Wireshark 有轻量化的、易于理解的界面,它能分类显示来自不同的真实系统上的协议信息。

结论

​在这篇文章中,我们看了几个开源的网络监视工具。虽然我们从这些工具中挑选出来的认为是“最佳的”,并不意味着它们都是最适合你的需要的。例如,现在有很多的开源监视工具,比如,OpenNMS、Cacti、和 Zennos,并且,你需要去从你的个体情况考虑它们的每个工具的优势。

另外,还有不同的、更适合你的需要的不开源的工具。

你知道的或者使用的在 Linux 终端中的更多网络监视工具还有哪些?


via: http://www.linuxandubuntu.com/home/best-network-monitoring-tools-for-linux

作者:​​LinuxAndUbuntu 译者:qhwdw 校对:wxy

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

如果你经常使用 Linux,你应该遇到这个术语“ 僵尸进程 Zombie Processes ”。 那么什么是僵尸进程? 它们是怎么产生的? 它们是否对系统有害? 我要怎样杀掉这些进程? 下面将会回答这些问题。

什么是僵尸进程?

我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。 进程停止后, 该进程就会从进程表中移除。

你可以通过 System-Monitor 查看当前进程。

但是,有时候有些程序即使执行完了也依然留在进程表中。

那么,这些完成了生命周期但却依然留在进程表中的进程,我们称之为 “僵尸进程”。

它们是如何产生的?

当你运行一个程序时,它会产生一个父进程以及很多子进程。 所有这些子进程都会消耗内核分配给它们的内存和 CPU 资源。

这些子进程完成执行后会发送一个 Exit 信号然后死掉。这个 Exit 信号需要被父进程所读取。父进程需要随后调用 wait 命令来读取子进程的退出状态,并将子进程从进程表中移除。

若父进程正确第读取了子进程的 Exit 信号,则子进程会从进程表中删掉。

但若父进程未能读取到子进程的 Exit 信号,则这个子进程虽然完成执行处于死亡的状态,但也不会从进程表中删掉。

僵尸进程对系统有害吗?

不会。由于僵尸进程并不做任何事情, 不会使用任何资源也不会影响其它进程, 因此存在僵尸进程也没什么坏处。 不过由于进程表中的退出状态以及其它一些进程信息也是存储在内存中的,因此存在太多僵尸进程有时也会是一些问题。

你可以想象成这样:

“你是一家建筑公司的老板。你每天根据工人们的工作量来支付工资。 有一个工人每天来到施工现场,就坐在那里, 你不用付钱, 他也不做任何工作。 他只是每天都来然后呆坐在那,仅此而已!”

这个工人就是僵尸进程的一个活生生的例子。但是, 如果你有很多僵尸工人, 你的建设工地就会很拥堵从而让那些正常的工人难以工作。

那么如何找出僵尸进程呢?

打开终端并输入下面命令:

ps aux | grep Z

会列出进程表中所有僵尸进程的详细内容。

如何杀掉僵尸进程?

正常情况下我们可以用 SIGKILL 信号来杀死进程,但是僵尸进程已经死了, 你不能杀死已经死掉的东西。 因此你需要输入的命令应该是

kill -s SIGCHLD pid

将这里的 pid 替换成父进程的进程 id,这样父进程就会删除所有以及完成并死掉的子进程了。

你可以把它想象成:

"你在道路中间发现一具尸体,于是你联系了死者的家属,随后他们就会将尸体带离道路了。"

不过许多程序写的不是那么好,无法删掉这些子僵尸(否则你一开始也见不到这些僵尸了)。 因此确保删除子僵尸的唯一方法就是杀掉它们的父进程。


via: http://www.linuxandubuntu.com/home/what-are-zombie-processes-and-how-to-find-kill-zombie-processes

作者:linuxandubuntu 译者:lujun9972 校对:wxy

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

Getting Started With GitHub

GitHub 是一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发软件)。GitHub 平台为开源项目和私人项目都提供了项目处理功能。

关于团队项目处理的功能包括:GitHub Flow> 和 GitHub Pages 。这些功能可以让需要定期部署的团队轻松处理工作流程。另一方面,GitHub 页提供了页面用于展示开源项目、展示简历、托管博客等。

GitHub 也为个人项目提供了必要的工具,使得个人项目可以轻松地处理。它也使得个人可以更轻松地与世界分享他们的项目。

注册 GitHub 并启动一个项目

在 GitHub 上启动新项目时,您必须先使用您的电子邮件地址创建一个帐户。

github homepage

然后,在验证邮箱的时候,用户将自动登录到他们的 GitHub 帐户。

1、 创建仓库

之后,我们会被带到一个用于创建 仓库 repository 的页面。​仓库存储着包括修订历史记录在内的所有项目文件。仓库可以是公开的或者是私有的。公开的仓库可以被任何人查看,但是,只有项目所有者授予权限的人才可以提交修改到这个仓库。另一方面,私有仓库提供了额外的控制,可以将项目设置为对谁可见。因此,公开仓库适用于开源软件项目,而私有仓库主要适用于私有或闭源项目。

  • 填写 “ 仓库名称 Repository Name ” 和 “ 简短描述 Short Description ”。
  • 选中 “ 以一个 README 文件初始化 Initialize this repository with a README ”。
  • 最后,点击底部的 “ 创建仓库 Create Repository ” 按钮。

create a github repository

2、 添加分支

在 GitHub 中, 分支 branch 是一种同时操作单个仓库的各种版本的方式。默认情况下,任何创建的单个仓库都会被分配一个名为 “MASTER” 的分支,它被认为是最后一个分支。在 GitHub 中,分支在被合并到 主干 master (最后的分支)之前,可以在对仓库进行实验和编辑中发挥作用。

为了使项目适合每一个人的需求,通常情况下,总是需要添加几个格外的分支来匹配不同的项目。在主分支上创建一个分支和复制主分支时的当前状态是一样的。

add a branch to github repository

创建分支与在不同版本中保存单个文件是类似的。它通过在特定仓库上执行的任务重命名来实现。

分支在保持错误修复和功能添加工作中同样被证明是有效。在进行必要的修改后,这些分支会被合并到主分支中。

在创建仓库后创建一个分支:

  • 在这个例子中,点击仓库名称 “Hello-World” 跳转到你的新仓库。
  • 点击顶部的 “Branch:Master” 按钮,会看到一个下拉菜单,菜单里有填写分支名称的空白字段。
  • 输入分支名称,在这个例子中我们输入 “readme-edits“。
  • 按下回车键或者点击蓝色的 “ 创建分支 create branch ” 框。

这样就成功创建了两个分支:master 和 readme-edits。

3、 修改项目文件并提交

此步骤提供了关于如何更改仓库并保存修改的指导。在 GitHub 上, 提交 commit 被定义为保存的修改的意思。每一次提交都与一个 提交信息 commit message 相关联,该提交信息包含了保存的修改的历史记录,以及为何进行这些更改。这使得其他贡献者可以很轻松地知道你做出的更改以及更改的原因。

要对仓库进行更改和提交更改,请执行以下步骤:

  • 点击仓库名称 “Hello-World”。
  • 点击右上角的铅笔图标查看和编辑文件。 commit changes to github repository
  • 在编辑器中,写一些东西来确定你可以进行更改。
  • 提交消息 commit message 字段中做简要的总结,以解释为什么以及如何进行更改。
  • 点击 提交更改 commit changes 按钮保存更改。

请注意,这些更改仅仅影响到 readme-edits 分支,而不影响主分支。

commit branch to master

4、 开启一个拉取请求

​拉取请求 pull request 是一个允许贡献者提出并请求某人审查和合并某些更改到他们的分支的功能。​拉取请求还显示了几个分支的差异(diffs)。更改、添加和删减通常以红色和绿色来表示。一旦提交完成就可以开启​拉取请求,即使代码还未完成。

开启一个​拉取请求:

  • 点击​ ​拉取请求 pull requests 选项卡。 github pull request
  • 点击 新建拉取请求 new pull requests 按钮。
  • 选择 readme-edits 分支与 master 分支进行比较。 compare commit changes github
  • 确定请求,并确定这是您要提交的内容。
  • 点击创建​拉取请求绿色按钮并输入一个标题。 open a pull request in github repository
  • 按下回车键。

用户可以通过尝试创建并保存拉取请求来证实这些操作。

5、 合并拉取请求

最后一步是将 readme-edits 分支和 master 分支合并到一起。如果 readme-edits 分支和 master 分支不会产生冲突,则会显示 merge pull request 合并拉取请求 的按钮。

merge the pull request github

当合并拉取时,有必要确保 评论 comment 和其他字段被正确填写。合并拉取:

  • 点击 merge pull request 合并拉取请求 的按钮。
  • 确认合并。
  • 按下紫色的删除分支按钮,删除 readme-edits 分支,因为它已经被包含在 master 分支中。(LCTT 译注:如果是合并他人提交的拉取请求,则无需也无法删除合并过来的他人的分支。)

本文提供了 GitHub 平台从注册到使用的基本操作,接下来由大家尽情探索吧。


via: http://www.linuxandubuntu.com/home/getting-started-with-github

作者:LinuxAndUbuntu 译者:firmianay 校对:wxy

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

Nylas Mail An Amazing Free Email Client For Linux

有一个经常被提及的问题是 Ubuntu 是否还应该提供默认的电子邮件客户端。就个人而言,我已经很长时间没有使用 Thunderbird 了。我相信这不是一个第一次被问到的问题,但我相信这是一个把它解决掉的很好机会。这是因为日常用户倾向于使用基于网络的客户端,例如 Gmail 或 Outlook 来满足其邮件需求。而对于 Linux 上的经验丰富的用户而言,还有很多可供选择的选项。Geary、Empathy、Evolution 和 Thunderbird 本身已经为很多用户提供了很好的服务,但是我发现了值得一试的东西:它被称为 Nylas Mail。

它以前被称为 Nylas N1,Nylas Mail 于今年初在 1 月份推出,同时还发布了一个免费版本;Nylas Mail Basic 以前是一个付费版本。此外,在 1 月份,客户端仅适用于 Mac,但现在可用于 Linux 和 Windows 用户。

(在我写此文时,它还处于活跃开发状态,但是现在已经停止开发了。)

为什么使用 Nylas?

​很多人因为种种原因选择了 Nylas Mail。让我们来看看一些常见的原因。

简单 - Nylas Mail 客户端管理优雅简单。用 electron 构建,应用非常漂亮,易于使用。其设计还确保了在 Nylas 中设置电子邮件非常简单直接。

Nylas mail an awesome email client for linux

兼容性 - Nylas Mail 与所有电子邮件提供商兼容。它与 Gmail、Yahoo、Exchange 和 IMAP 帐户兼容,因此你可以在任何地方收到邮件。

nylas compatible with gmail facebook imap

功能​强大​ - Nylas 拥有大量功能。它有一个全屏模式、离线支持、多布局格式、多帐户、统一的收件箱、提醒、打盹、签名和稍后发送功能。其中一些功能随 Nylas Mail Basic 一起提供。

nylas email client powerful features

​混合后端​ - 以前,Nylas 将邮件的一个副本同步到使用 Nylas 云的服务器中,这对许多人来说就像 mehn 一样。幸运的是,在最新版本中,Nylas 采用了一个混合后端,可直接连接到 Gmail 或 Outlook 等电子邮件提供商。云同步虽然仍然可用,但仅在使用高级订阅工具(如 打盹 snoozing 和跟踪)时使用。缺点是它是一而二的。如果想要一些专业功能,你需要云同步;你不想用云同步,那你错过了这些功能。

nylas email hybrid backend

​开源和免费版​ - Nylas 作为开源项目。这意味着你可以自己编写代码并自行构建。你甚至可以设置自己的服务器以回避问题。

nylas open source and free email client

跨平台 - Nylas 是在 Linux、Windows 和 Mac OS X 上提供的跨平台应用程序。因此,无论你喜欢哪种桌面操作系统,你都可以放心,因为 Nylas 都已经覆盖了。而且用法是相同的。

还要做些什么?

到目前为止,Nylas 邮件客户端很好,但有一些抱怨。首先是在 2016 年推出的付费选项。引入免费版本有点像是这个解决这个问题的方案,但事实上,一些功能只能以每月 $9 的价格使用让包括我在内的大部分人不快。此外,没有多少人喜欢将邮件的副本保存在某台服务器上。当然,你可以设置自己的服务器,但有些麻烦。最后,对于在后台运行的应用程序来说,它需要相当多的内存。我希望这不是因为它主要是用 electron 写的,我相信随着它的更新和改进,它会变得更好。

总结

​Nylas Mail 在特性和功能方面对我来说非常棒,我相信你一定要用一下。作为一个电子邮件客户端,它是非常有效的,我真的很喜欢 Nylas Mail,并且一定会一直使用它。也许你应该也会。向开发人员的所做的工作致谢。你有其他的程序想让我们看下么?在下面的评论中指出,并分享你的想法和意见。


via: http://www.linuxandubuntu.com/home/nylas-mail-an-amazing-free-email-client-for-linux

作者:linuxandubuntu 译者:geekpi 校对:wxy

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

boot repair tool repair the most boot related problems

​我们都碰到过启动相关的问题,并且大部分时候都是简单的 GRUB 上的问题。 有时候很多人会觉得、输入一段很长的命令或在论坛中搜索来找到解决方法太麻烦了。今天我要告诉你如何使用一个简单而轻巧的软件来解决大部分的启动相关的问题。这个工具就是著名的 Boot Repair Tool 。好了,话不多说,让我们开始吧。

如何在 Linux 中安装和使用启动修复工具

你需要一个你所安装的操作系统的现场版的 USB 棒或 DVD,这是安装这个应用并使用它的前提条件。 引导到操作系统17 并打开终端并输入以下命令

sudo add-apt-repository -y ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

install boot repair tool in linux

在安装结束以后,你可以从应用菜单或或其它你在系统上启动应用的地方启动你的修复工具。

run boot-repair from apps menu

你可以在菜单栏中看到 Boot Repair。

Picture

​启动它,它就会开始进行一些扫描操作,我们只要等它自己结束就好了。 ​

boot repair app menu to repair system

现在你会看到这个界面,这是基于之前扫描的建议修复。 在底部还可以有一个高级选项,你可以在高级选项里进行各方面的设置。 我建议没有经验的用户使用推荐维修,因为它很简单,在大多数情况下我们都可以这样做。

apply recommended fixes to fix grub issues

选择推荐的更新后,它将开始修复。 等待进一步的处理。

fix the grub menu using boot repair

你现在会看到一个指令界面。 现在是轮到我们操作的时候了。打开终端,逐个复制并粘贴其中高亮的命令到终端中。

download and install grub using the given commands

命令完成后,你会看到一个上面提及的要求确认的界面。 使用箭头键或 Tab 键选择“Yes”,然后按回车键。 现在在 启动修复工具 界面中点击 “forward”。

install grub menu and kernel to fix boot menu

现在你会看到这个界面。 复制在那里提到的命令,并将其粘贴到终端中,然后按回车并让其执行此操作。 需要一段时间所以请耐心等待,它将下载GRUB、内核或任何修复您的引导所需的内容。

install grub

现在你可能会看到一些选项用于配置安装 GRUB 的位置。 选择“yes”,然后按回车,你会看到上面的界面。使用空格键选择选项和按 TAB 以浏览选项。 选择并安装 GRUB 后,可以关闭终端。 现在在启动修复工具屏幕中选择 “forward” 选项。

scan for the boot issues

现在它会做一些扫描操作,并且会询问你一些需要确认的一些选项。 每个选项都选择是即可。

fixed boot issues with boot rescue

它会显示一个成功的确认消息。 如果没有,并且显示失败的消息,则将生成链接。 转到该链接获取更多帮助。

成功后,重启你的电脑。 当你重新启动时,你会看到 GRUB。 现在已成功维修您的电脑。 一切顺利。

引导修复的高级技巧

当我的电脑出现双引导启动画面时,我发现在修复时,它无法识别 安装在另一个分区上的 Windows 7。 这里有一个简单的提示来帮你解决这个问题。

打开终端并安装 os-prober。 它很简单,可以在软件中心或通过终端找到。

os-prober 可以帮助您识别安装在 PC 上的其他操作系统。

install os-prober

os-prober 安装完成后,通过输入 os-prober 在终端运行它。 如果失败了那么试着用 root 账号运行它。 之后运行update-grub 命令。 这就是你可以用于从 GRUB 中启动 Windows 的所需要做的全部。

upgrade-grub in linux

总结

​以上就是全部的内容。现在你已经成功地修复了你的 PC。


via: http://www.linuxandubuntu.com/home/boot-repair-tool-repair-the-most-boot-related-problems

作者:linuxandubuntu 译者:chenxinlong 校对:wxy

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

为了通过命令行和系统互动,每一款 Linux 发行版都有一款默认的终端仿真器。但是,默认的终端应用可能不适合你。为了大幅提升你工作的速度,有好多款终端应用提供了更多的功能,可以同时执行更多的任务。这些有用的终端仿真器就包括 Terminator,这是一款 Linux 系统下支持多窗口的自由开源的终端仿真器。

什么是 Linux 终端仿真器

Linux 终端仿真器是一个让你和 shell 交互的程序。所有的 Linux 发行版都会自带一款 Linux 终端应用让你向 shell 传递命令。

Terminator,一款自由开源的 Linux 终端应用

Terminator 是一款 Linux 终端模拟器,提供了你的默认的终端应用不支持的多个特性。它提供了在一个窗口创建多个终端的功能,以加快你的工作速度。除了多窗口外,它也允许你修改其它特性,例如字体、字体颜色、背景色等等。让我们看看我们如何安装它,并且如何在不同的 Linux 发行版下使用 Terminator。

如何在 Linux 下安装 Terminator?

在基于 Ubuntu 的发行版上安装 Terminator

Terminator 在默认的 Ubuntu 仓库就可以使用。所以你不需要添加额外的 PPA。只需要使用 APT 或者“软件应用”在 Ubuntu 下直接安装。

sudo apt-get install terminator

假如你的默认的仓库中 Terminator 不可用,只需要使用源码编译 Terminator 即可。

下载 Terminator 源码并且解压到你的桌面。现在打开你的默认的终端,然后 cd 到解压的目录。

现在就可以使用下面的命令来安装 Terminator 了:

sudo ./setup.py install

在 Fedora 及衍生的操作系统上安装 Terminator

dnf install terminator

在 OpenSuse 上安装 Terminator

参见此文:在 OPENSUSE 上安装

如何在一个窗口使用多个终端?

安装好 Terminator 之后,你可以简单的在一个窗口打开多个终端。只需要右键点击并切分。

只要你愿意,你可以创建尽可能多的终端,只要你能管理得过来。

定制终端

右键点击终端,并单击属性。现在你可以定制字体、字体颜色、标题颜色和背景,还有终端字体颜色和背景。

结论:什么是你最喜欢的终端模拟器

Terminator 是一款先进的终端模拟器,它可以让你自定义界面。如果你还没有从你默认的终端模拟器中切换过来的话,你可以尝试一下它。我知道你将会喜欢上它。如果你正在使用其他的自由开源的终端模拟器的话,请让我们知道你最喜欢的那一款。不要忘了和你的朋友分享这篇文章。或许你的朋友正在寻找类似的东西。


via: http://www.linuxandubuntu.com/home/terminator-a-linux-terminal-emulator-with-multiple-terminals-in-one-window

作者:linuxandubuntu 译者:yangmingming 校对:wxy

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