2019年11月

如果你运行的是大型 Linux 环境,那么你可能已经将 Red Hat 与 Satellite 集成了。如果是的话,你不必担心补丁合规性报告,因为有一种方法可以从 Satellite 服务器导出它。

但是,如果你运行的是没有 Satellite 集成的小型 Red Hat 环境,或者它是 CentOS 系统,那么此脚本将帮助你创建该报告。

补丁合规性报告通常每月创建一次或三个月一次,具体取决于公司的需求。根据你的需要添加 cronjob 来自动执行此功能。

bash 脚本 通常适合于少于 50 个系统运行,但没有限制。

保持系统最新是 Linux 管理员的一项重要任务,它使你的计算机非常稳定和安全。

以下文章可以帮助你了解有关在红帽 (RHEL) 和 CentOS 系统上安装安全修补程序的更多详细信息。

此教程中包含四个 shell 脚本,请选择适合你的脚本。

方法 1:为 CentOS / RHEL 系统上的安全修补生成补丁合规性报告的 Bash 脚本

此脚本只会生成安全修补合规性报告。它会通过纯文本发送邮件。

# vi /opt/scripts/small-scripts/sec-errata.sh

#!/bin/sh
/tmp/sec-up.txt
SUBJECT="Patching Reports on "date""
MESSAGE="/tmp/sec-up.txt"
TO="[email protected]"
echo "+---------------+-----------------------------+" >> $MESSAGE
echo "| Server_Name   |  Security Errata            |" >> $MESSAGE
echo "+---------------+-----------------------------+" >> $MESSAGE
for server in `more /opt/scripts/server.txt`
do
sec=`ssh $server yum updateinfo summary | grep 'Security' | grep -v 'Important|Moderate' | tail -1 | awk '{print $1}'`
echo "$server                $sec" >> $MESSAGE
done
echo "+---------------------------------------------+" >> $MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE

添加完上面的脚本后运行它。

# sh /opt/scripts/small-scripts/sec-errata.sh

你会看到下面的输出。

# cat /tmp/sec-up.txt

+---------------+-------------------+
| Server_Name   |  Security Errata  |
+---------------+-------------------+
server1
server2
server3                21
server4
+-----------------------------------+

添加下面的 cronjob 来每个月得到一份补丁合规性报告。

# crontab -e

@monthly /bin/bash /opt/scripts/system-uptime-script-1.sh

方法 1a:为 CentOS / RHEL 系统上的安全修补生成补丁合规性报告的 Bash 脚本

脚本会为你生成安全修补合规性报告。它会通过 CSV 文件发送邮件。

# vi /opt/scripts/small-scripts/sec-errata-1.sh

#!/bin/sh
echo "Server Name, Security Errata" > /tmp/sec-up.csv
for server in `more /opt/scripts/server.txt`
do
sec=`ssh $server yum updateinfo summary | grep 'Security' | grep -v 'Important|Moderate' | tail -1 | awk '{print $1}'`
echo "$server,  $sec" >> /tmp/sec-up.csv
done
echo "Patching Report for `date +"%B %Y"`" | mailx -s "Patching Report on `date`" -a /tmp/sec-up.csv [email protected]
rm /tmp/sec-up.csv

添加完上面的脚本后运行它。

# sh /opt/scripts/small-scripts/sec-errata-1.sh

你会看到下面的输出。

方法 2:为 CentOS / RHEL 系统上的安全修补、bugfix、增强生成补丁合规性报告的 Bash 脚本

脚本会为你生成安全修补、bugfix、增强的补丁合规性报告。它会通过纯文本发送邮件。

# vi /opt/scripts/small-scripts/sec-errata-bugfix-enhancement.sh

#!/bin/sh
/tmp/sec-up.txt
SUBJECT="Patching Reports on "`date`""
MESSAGE="/tmp/sec-up.txt"
TO="[email protected]"
echo "+---------------+-------------------+--------+---------------------+" >> $MESSAGE
echo "| Server_Name   |  Security Errata  | Bugfix |  Enhancement        |" >> $MESSAGE
echo "+---------------+-------------------+--------+---------------------+" >> $MESSAGE
for server in `more /opt/scripts/server.txt`
do
sec=`ssh $server yum updateinfo summary | grep 'Security' | grep -v 'Important|Moderate' | tail -1 | awk '{print $1}'`
bug=`ssh $server yum updateinfo summary | grep 'Bugfix' | tail -1 | awk '{print $1}'`
enhance=`ssh $server yum updateinfo summary | grep 'Enhancement' | tail -1 | awk '{print $1}'`
echo "$server                $sec               $bug             $enhance" >> $MESSAGE
done
echo "+------------------------------------------------------------------+" >> $MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE

添加完上面的脚本后运行它。

# sh /opt/scripts/small-scripts/sec-errata-bugfix-enhancement.sh

你会看到下面的输出。

# cat /tmp/sec-up.txt

+---------------+-------------------+--------+---------------------+
| Server_Name   |  Security Errata  | Bugfix |  Enhancement        |
+---------------+-------------------+--------+---------------------+
server01                                16
server02                  5             16
server03                  21           266             20
server04                                16
+------------------------------------------------------------------+

添加下面的 cronjob 来每三个月得到补丁合规性报告。该脚本计划在一月、四月、七月、十月的 1 号运行。

# crontab -e

0 0 01 */3 * /bin/bash /opt/scripts/system-uptime-script-1.sh

方法 2a:为 CentOS / RHEL 系统上的安全修补、bugfix、增强生成补丁合规性报告的 Bash 脚本

脚本会为你生成安全修补、bugfix、增强的补丁合规性报告。它会通过 CSV 文件发送邮件。

# vi /opt/scripts/small-scripts/sec-errata-bugfix-enhancement-1.sh

#!/bin/sh
echo "Server Name, Security Errata,Bugfix,Enhancement" > /tmp/sec-up.csv
for server in `more /opt/scripts/server.txt`
do
sec=`ssh $server yum updateinfo summary | grep 'Security' | grep -v 'Important|Moderate' | tail -1 | awk '{print $1}'`
bug=`ssh $server yum updateinfo summary | grep 'Bugfix' | tail -1 | awk '{print $1}'`
enhance=`ssh $server yum updateinfo summary | grep 'Enhancement' | tail -1 | awk '{print $1}'`
echo "$server,$sec,$bug,$enhance" >> /tmp/sec-up.csv
done
echo "Patching Report for `date +"%B %Y"`" | mailx -s "Patching Report on `date`" -a /tmp/sec-up.csv [email protected]
rm /tmp/sec-up.csv

添加完上面的脚本后运行它。

# sh /opt/scripts/small-scripts/sec-errata-bugfix-enhancement-1.sh

你会看到下面的输出。


via: https://www.2daygeek.com/bash-script-to-generate-patching-compliance-report-on-centos-rhel-systems/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:校对者ID

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

使用这个强大的开源工具可以在命令行中纠正音乐标签错误。

很久以来我就将 CD 翻录到电脑。在此期间,我用过几种不同的翻录工具,观察到每种工具在标记上似乎有不同的做法,特别是在保存哪些音乐元数据上。所谓“观察”,我是指音乐播放器似乎按照有趣的顺序对专辑进行排序,它们将一个目录中的曲目分为两张专辑,或者产生了其他令人沮丧的烦恼。

我还看到有些标签非常不明确,许多音乐播放器和标签编辑器没有显示它们。即使这样,在某些极端情况下,它们仍可以使用这些标签来分类或显示音乐,例如播放器将所有包含 XYZ 标签的音乐文件与不包含该标签的所有文件分离到不同的专辑中。

那么,如果标记应用和音乐播放器没有显示“奇怪”的标记,但是它们受到了某种影响,你该怎么办?

Metaflac 来拯救!

我一直想要熟悉 metaflac,它是一款开源命令行 FLAC 文件元数据编辑器,这是我选择的开源音乐文件格式。并不是说 EasyTAG 这样出色的标签编辑软件有什么问题,但我想起“如果你手上有个锤子……”这句老话(LCTT 译注:指如果你手上有个锤子,那么所有的东西看起来都像钉子。意指人们惯于用熟悉的方式解决问题,而不管合不合适)。另外,从实际的角度来看,带有 ArmbianMPD 的小型专用服务器,音乐存储在本地、运行精简的仅限音乐的无头环境就可以满足我的家庭和办公室的立体音乐的需求,因此命令行元数据管理工具将非常有用。

下面的截图显示了我的长期翻录过程中产生的典型问题:Putumayo 的哥伦比亚音乐汇编显示为两张单独的专辑,一张包含单首曲目,另一张包含其余 11 首:

 title=

我使用 metaflac 为目录中包含这些曲目的所有 FLAC 文件生成了所有标签的列表:

rm -f tags.txt
for f in *.flac; do
        echo $f &gt;&gt; tags.txt
        metaflac --export-tags-to=tags.tmp "$f"
        cat tags.tmp &gt;&gt; tags.txt
        rm tags.tmp
done

我将其保存为可执行的 shell 脚本(请参阅我的同事 David Both 关于 Bash shell 脚本的精彩系列专栏文章,特别是关于循环这章)。基本上,我在这做的是创建一个文件 tags.txt,包含文件名(echo 命令),后面是它的所有标签,然后是下一个文件名,依此类推。这是结果的前几行:

A Guapi.flac
TITLE=A Guapi
ARTIST=Grupo Bahia
ALBUMARTIST=Various Artists
ALBUM=Putumayo Presents: Colombia
DATE=2001
TRACKTOTAL=12
GENRE=Latin Salsa
MUSICBRAINZ_ALBUMARTISTID=89ad4ac3-39f7-470e-963a-56509c546377
MUSICBRAINZ_ALBUMID=6e096386-1655-4781-967d-f4e32defb0a3
MUSICBRAINZ_ARTISTID=2993268d-feb6-4759-b497-a3ef76936671
DISCID=900a920c
ARTISTSORT=Grupo Bahia
MUSICBRAINZ_DISCID=RwEPU0UpVVR9iMP_nJexZjc_JCc-
COMPILATION=1
MUSICBRAINZ_TRACKID=8a067685-8707-48ff-9040-6a4df4d5b0ff
ALBUMARTISTSORT=50 de Joselito, Los
Cumbia Del Caribe.flac

经过一番调查,结果发现我同时翻录了很多 Putumayo CD,并且当时我所使用的所有软件似乎给除了一个之外的所有文件加上了 MUSICBRAINZ_* 标签。(是 bug 么?大概吧。我在六张专辑中都看到了。)此外,关于有时不寻常的排序,我注意到,ALBUMARTISTSORT 标签将西班牙语标题 “Los” 移到了标题的最后面(逗号之后)。

我使用了一个简单的 awk 脚本来列出 tags.txt 中报告的所有标签:

awk -F= 'index($0,"=") > 0 {print $1}' tags.txt | sort -u

这会使用 = 作为字段分隔符将所有行拆分为字段,并打印包含等号的行的第一个字段。结果通过使用 sort 及其 -u 标志来传递,从而消除了输出中的所有重复项(请参阅我的同事 Seth Kenlon 的关于 sort 程序的文章)。对于这个 tags.txt 文件,输出为:

ALBUM
ALBUMARTIST
ALBUMARTISTSORT
ARTIST
ARTISTSORT
COMPILATION
DATE
DISCID
GENRE
MUSICBRAINZ_ALBUMARTISTID
MUSICBRAINZ_ALBUMID
MUSICBRAINZ_ARTISTID
MUSICBRAINZ_DISCID
MUSICBRAINZ_TRACKID
TITLE
TRACKTOTAL

研究一会后,我发现 MUSICBRAINZ_* 标签出现在除了一个 FLAC 文件之外的所有文件上,因此我使用 metaflac 命令删除了这些标签:

for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ALBUMID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_ARTISTID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_DISCID "$f"; done
for f in *.flac; do metaflac --remove-tag MUSICBRAINZ_TRACKID "$f"; done

完成后,我可以使用音乐播放器重建 MPD 数据库。结果如下:

 title=

完成了,12 首曲目出现在了一张专辑中。

太好了,我很喜欢 metaflac。我希望我会更频繁地使用它,因为我会试图去纠正最后一些我弄乱的音乐收藏标签。强烈推荐!

关于音乐

我花了几个晚上在 CBC 音乐(CBC 是加拿大的公共广播公司)上收听 Odario Williams 的节目 After Dark。感谢 Odario,我听到了让我非常享受的 Kevin Fox 的 Songs for Cello and Voice。在这里,他演唱了 Eurythmics 的歌曲 “Sweet Dreams(Are Made of This)”。

我购买了这张 CD,现在它在我的音乐服务器上,还有组织正确的标签!


via: https://opensource.com/article/19/11/metaflac-fix-music-tags

作者:Chris Hermansen 选题:lujun9972 译者:geekpi 校对:wxy

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

微软宣布将于 2020 年将其企业安全产品 Defender 高级威胁防护(ATP)引入 Linux。

微软的年度开发者大会 Microsoft Ignite 刚刚结束,会上发布了一些与 Linux 有关的重要公告。你可能已经知道微软将 Edge Web 浏览器引入 Linux,而下一个大新闻是微软将 Defender ATP 引入 Linux!

让我们详细介绍一下它是什么,以及微软为何不厌其烦为 Linux 开发某些东西。

微软 Defender ATP 是什么?

如果你过去几年使用过 Windows,那么你一定遇到过 Windows Defender。它基本上可以说是微软的防病毒产品,通过检测病毒和恶意软件来提供一定程度的安全性。

微软通过引入 Windows Defender ATP(高级威胁防护)来为其企业用户改进了此功能。Defender ATP 致力于行为分析。它收集使用使用数据并将其存储在同一系统上。但是,当发现行为不一致时,它将数据发送到 Azure 服务(微软的云服务)。在这里,它将收集行为数据和异常信息。

例如,如果你收到一封包含 PDF 附件的电子邮件,你将其打开并打开了命令提示符,Defender ATP 就会注意到此异常行为。我建议阅读本文以了解有关 Defender 和 Defender ATP 之间的区别的更多信息

现在,这完全是一种企业级产品。在具有成百上千个端点(计算机)的大型企业中,Defender ATP 提供了很好的保护层。IT 管理员可以在其 Azure 实例上集中查看端点的视图,可以分析威胁并采取相应措施。

适用于 Linux(和 Mac)的微软 Defender ATP

通常,企业的计算机上装有 Windows,但 Mac 和 Linux 在开发人员中也特别受欢迎。在混合了 Mac 和 Linux 的 Windows 机器环境中,Defender ATP 必须将其服务扩展到这些操作系统,以便它可以为网络上的所有设备提供整体防御。

请注意,微软先是在 2019 年 3 月将 Windows Defender ATP 更改为微软 Defender ATP,这表明该产品不仅限于 Windows 操作系统。

此后不久微软宣布推出 Mac 版 Defender ATP

现在,为了涵盖企业环境中的所有主要操作系统,微软将于 2020 年将 Defender ATP 引入到 Linux

Linux 上的微软 Defender ATP 对 Linux 用户有何影响?

由于 Defender ATP 是企业产品,因此我认为你无需为此而烦恼。组织需要保护其端点免受威胁,因此,微软也在改进其产品以使其涵盖 Linux。

对于像你我这样的普通 Linux 用户,这没有任何区别。我不会用它“保护”我的三个 Linux 系统,并为此而向微软付费。

请随时在评论部分中分享你对微软将 Defender ATP 引入 Linux 的看法。


via: https://itsfoss.com/microsoft-defender-atp-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:wxy 校对:wxy

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

MF3D / Getty Images

各个公司发现,物联网与最近其他许多流行的企业级计算技术有着良好的合作关系,以支持加密货币而闻名的创新的分布式信任系统的区块链也不例外。然而,在物联网应用中实施区块链可能具有挑战性,并且需要对技术有深入的了解。

区块链是一个跟踪各种交易的分布式账本。链上的每个“块”都包含要防止篡改的交易记录或其他数据,并通过加密散列链接到前一个,这意味着对块的任何篡改都将使该链接无效。节点(几乎可以是其中装有 CPU 的任何节点)通过分布式的对等网络进行通信,以共享数据并确保链中数据的有效性。

北卡罗来纳大学格林波若分校的管理学教授 Nir Kshetri 表示,区块链系统之所以有效,是因为所有的块都必须就它们所保护的数据的细节达成一致。如果有人尝试更改给定节点上先前的事务,则存储在网络上的其余数据会回推回来。“数据的旧记录仍然存在,” Kshetri 说。

这是一项强大的安全技术 —— 如果没有坏人成功控制给定区块链上的所有(LCTT 译注:应为“大部分”)节点(著名的“51% 攻击”),那么该区块链保护的数据就不会被伪造或以其他方式弄乱。因此,对于在物联网世界某些角落的公司来说,使用区块链是一种有吸引力的选择也就不足为奇了。

物联网安全初创企业 NXMLabs 的首席技术官兼联合创始人 Jay Fallah 认为,除了区块链能够在网络上安全地分发可信信息的能力这一事实之外,部分原因还在于区块链在技术堆栈中的地位。

“区块链站在一个非常有趣的交叉点。在过去的 15 年中,在存储、CPU 等方面,计算技术一直在加速发展,但是直到最近,网络技术并没有发生太大变化。”他说,“ 区块链不是网络技术、不是数据技术,而是二者兼具。”

区块链和物联网

区块链作为物联网世界的部分意义取决于你在和谁交谈以及他们在出售什么,但是最接近的概括可能来自企业区块链供应商 Filament 的首席执行官 Allison Clift-Jenning。

她说:“在任何地方,人们都想互相信任,并且用的是非常古老的方式,这通常是进入场景的好地方。”

直接从 Filament 自己的客户群中挑选出来的一个例子是二手车销售。Filament 与“一家主要的底特律汽车制造商”合作,创建了一个受信任的车辆历史平台,该平台基于一种设备,该设备可插入二手车的诊断端口,从那里获取信息,并将该数据写入区块链。像这样,二手车的历史记录就是不可变的,包括它的安全气囊是否曾经打开过,是否被水淹过等等。任何不道德的二手车或不诚实的前车主都无法更改数据,甚至拔掉设备也将意味着记录中存在可疑的空白期。

SAP 物联网高级副总裁兼全球负责人 Elvira Wallis 表示,当今大多数区块链物联网方案都与信任和数据验证有关。

她说:“我们遇到的大多数用例都在项目的跟踪和溯源领域,”她举例说明了高端食品的农场到餐桌跟踪系统,该系统使用安装在板条箱和卡车上的区块链节点,这样就可以为物品在运输基础设施中创建无懈可击的记录。(例如,该牛排在这样的温度下冷藏了多长时间,今天运输了多长时间,等等。)

将区块链与物联网一起使用是个好主意吗?

不同的供应商针对不同的用例出售不同的基于区块链的产品,这些产品使用不同的区块链技术实现,其中一些与加密货币中所使用的经典的、线性的、挖矿式交易区块链不太一样。

这意味着你目前需要从供应商那里购买特定功能。451 Research 高级分析师 Csilla Zsigri 表示,很少有客户组织拥有可以实施区块链安全系统的内部专家。

她说,区块链技术的任何智能应用的想法都是发挥其优势,为关键信息创建可信赖的平台。

Zsigri 说:“这就是我真正看到增值的地方,只是增加了一层信任和验证。”

专家们一致认为,尽管相当了解基于区块链的物联网应用程序的基本概念,但它并不适用于每个物联网用例。 将区块链应用于非交易系统(尽管有例外,包括 NXM Labs 的用于物联网设备的基于区块链配置的产品)通常不是正确的举动。

如果不需要在两个不同的参与方之间共享数据,而是简单地将数据从传感器移到后端,那么区块链通常就没有意义,因为它实际上并没有为当前大多数物联网实现中的数据分析增加任何关键的增值。

“今天,我们仍处于区块链的早期拨号时代。”Clift-Jennings 说,“它比典型的数据库要慢,它甚至无法读取,也常常没有查询引擎。从本质上讲,你并没有真正获得隐私。”


via: https://www.networkworld.com/article/3386881/why-blockchain-might-be-coming-to-an-iot-implementation-near-you.html

作者:Jon Gold 选题:lujun9972 译者:wxy 校对:wxy

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

两者之间的差异对我们如何构建软件开发过程产生了影响。

制定标准规范和开源软件的开发有许多共同之处:两者都是竞争者可以合作的机制;两者都可以促进互操作性;两者都可用于促进新技术的采用;两者都可用于聚合或协调成熟技术。

一项技术可以同时使用标准和开源:有时一个先于另一个;在其他情况下,它们可以并行进行。它们越来越多地使用类似的工具和流程实践(例如,细粒度版本控制;利用问题跟踪器一起推动某些开发讨论)。

相似程度可能导致过度概括,错误地暗示一切都是可互换的(混合与搭配),在这儿选择一种做法;在那儿将它与一个过程相结合。实际上,获取在一个领域中获得的经验并查看它提供的好处是否可以在其他环境中获得,可能是有价值的。但是,对于某些实践而言,背景更为重要。

虽然有相似之处,但也存在显著差异。在前面的文章《没有规则的治理:复刻潜力如何帮助项目》中,我讨论了在利用 复刻 forking 潜力作为一种可以促进轻量级治理的力量方面,开源软件开发和标准开发治理能力的不同。另一个不同之处在于专利规则的选择。

如何对待专利

参与者专利权的处理通常在开源软件开发和标准开发中以不同方式排列。这种差异有一个理由。而且,这种差异会对构建开发过程产生影响。

  • 开源:在为开源项目做出贡献时授予的专利许可通常由每个贡献者的贡献确定。
  • 标准:参与者在标准制定方面做出的专利承诺通常由整个最终规范确定。

开源项目:基于贡献的专利规则

基于贡献的专利规则是什么意思?如果专利所有者提供软件,由于软件添加到项目中,项目软件侵犯了该贡献者拥有的专利,那么贡献者不应该返回来期望获得使用它所贡献的软件的专利许可费。当然,有许多不同的许可文本可以让我们忙于分析每个许可的解释,并讨论情况中的不确定性和细微差别。在另一篇文章中,我在 MIT 许可协议的背景下谈到了这个问题(《为什么 MIT 的专利许可不讨人喜欢?》)。我认为,基本上来说,开源开发中的共同期望就像我上面所描述的那样:当你为开源做出贡献时,你将为你提供的软件提供所有必需的权限,之后你将无法返回来再要求获得使用你所贡献软件的许可费。

标准制定:基于标准规范的专利规则

相比之下,在制定标准时,通常会有更高的期望:参与者应对专利做出承诺,这些专利对整个最终规范至关重要,而不仅仅是对其贡献。这些专利承诺并不取决于确定谁对规范提出了什么想法;对于那些参与开发规范的人来说,他们的承诺是整个标准规范。

包括在其中的专利

确定相关专利的分析在软件和规范之间也有所不同。软件通常包括与相应的标准规范相比不需要的实现细节;在提供软件时,将包括对这些细节使用任何专利的许可。相反,规范开发的专利承诺仅限于对规范“必要”或“必需”的专利。当然,这取决于规范的内容。对于互操作性标准,规范应仅包括实现互操作性所需的详细级别,从而允许实现细节在标准的竞争性实现之间有所不同。对必要专利的承诺不包括实施细节方面的专利,这些专利可用作竞争优势。

专利规则差异的基础

为什么在专利处理方面存在这种差异?鉴于标准和开源软件的开发方式存在差异,这种不同的处理方式很有意义。

更有限的与贡献范围相关的专利符合大多数协作软件开发的渐进式、开放式特性。开源项目经常持续发展,其方向可能会随着时间的推移而演化。虽然可以设置路线图和里程碑并发布快照版本,但这些不太常见,并且比标准项目中常见的范围限制和版本目标具有更少的限制性影响。

可以看出,考虑到标准规范开发结构的差异,标准开发的更高期望值(整个最终规范,不仅仅是贡献)是有意义的。标准规范通常采用具有明确范围的强版本导向演进。规范开发通常适用于特定的快照版本。标准开发活动通常具有一组目标功能(通常在诸如章程之类的文档中表示)。与许多软件开发活动的情况相比,这为可能应用到标准开发活动的技术范围提供了更清晰的公共的进展预期。这种范围的明确性有助于潜在参与者在开始参与时评估参与标准制定项目的专利影响。相比之下,开源软件开发项目更为开放,通常不会排除采用任何特定技术的可能性。

对开源项目和标准管理的影响

这些对待专利的不同措施需要不同的项目管理方法。

开源项目通常准备接受来自新贡献者的补丁。贡献者可能会随着时间的推移而来去。一些贡献者留下来。其他人可能会为该项目来解决一个有限的问题。通过软件贡献,可以更容易地了解谁贡献了什么软件,而不是准确理解谁以一种更抽象的方式“参与”。

另一方面,参与标准制定活动通常具有大量的正式手续。而且,在涉及专利承诺时,这种参与的正式性非常重要。当一个人参与该规范的大部分开发时,对最终规范的专利承诺是有意义的。标准制定过程是否可以从提供单一、有限贡献的人那里获得完整的最终规范承诺?重要的是要有一个过程,以便清楚地了解谁参与谁,谁不参与。需要明确参与者以支持来自实际专利所有者的专利承诺,实际专利所有者通常是由坐在桌旁(比喻,尽管这可能涉及实际的谈判桌)的个人所代表的公司。

如何获得基于规范的承诺?软件标准中典型的免许可费专利承诺最常被作为获得标准组织成员资格或负责规范开发的特定委员会成员资格的条件。为了使这一机制发挥作用,成员资格必须是一个定义明确的概念,以便有一个明确的成员资格决策点(即,用于触发专利承诺的明确行动)和承诺的受益人可以依赖的明确的记录文件。除了参与清晰度之外,为了促进持怀疑态度的专利参与者的参与,项目需要具有明确的范围和明确的开始和结束(明确指出专利承诺将适用的“最终规范”)。这种参与模式与典型的开源项目有很大不同,典型的开源项目可能有一个连续的参与,其范围包括维护几个主要的驱动程序到只提交一个补丁。

专利政策

虽然我所描述的差异通常是这种情况,但某些特定活动遵循不同模式可能有一些原因。例如,考虑作为标准开发活动附带的参考实现的软件。可能有一个强有力的理由期望参与者对完整的最终参考实施提供承诺,而不仅仅是限定于他们对它的贡献。当然,可能存在其他边缘情况;可能存在严格安排的开源开发;可能会有连续的、随心所欲的规范开发。

标准制定的专利政策可分为合理和非歧视(RAND)或免许可费(RF):基本上来说,实施标准的专利许可费包括需要交(RAND)或不需要交(RF)。制定与软件相关的标准(本文的重点)更多地使用免许可费政策。关于专利许可费预期问题是许可或承诺范围政策之外的另一个维度。

结论

标准的制定和开源软件的开发通常具有不同的参与者专利期望范围(仅限于贡献或整个最终可交付成果)。这些不同的选择基于通常如何进行开发的显著差异,而不是任意差异。


作者简介:Scott Peterson 是红帽公司法律团队成员。很久以前,一位工程师就一个叫做 GPL 的奇怪文件向 Scott 征询法律建议,这个致命的问题让 Scott 走上了探索包括技术标准和开源软件在内的协同开发法律问题的纠结之路。

译者简介:薛亮,集慧智佳知识产权咨询公司总监,擅长专利检索、专利分析、竞争对手跟踪、FTO 分析、开源软件知识产权风险分析,致力于为互联网企业、高科技公司提供知识产权咨询服务。

Nagios 是一个自由开源的网络和警报引擎,它用于监控各种设备,例如网络设备和网络中的服务器。它支持 Linux 和 Windows,并提供了直观的 Web 界面,可让你轻松监控网络资源。经过专业配置后,它可以在服务器或网络设备下线或者故障时向你发出邮件警报。在本文中,我们说明了如何在 RHEL 8/CentOS 8 上安装和配置 Nagios Core。

Install-Nagios-Core-RHEL8-CentOS8

Nagios Core 的先决条件

在开始之前,请先检查并确保有以下各项:

  • RHEL 8/CentOS 8 环境
  • 能通过 SSH 访问该环境
  • 快速稳定的互联网连接

满足上述要求后,我们开始吧!

步骤 1:安装 LAMP

为了使 Nagios 能够按预期工作,你需要安装 LAMP 或其他 Web 软件,因为它们将在浏览器上运行。为此,请执行以下命令:

# dnf install httpd mariadb-server php-mysqlnd php-fpm

Install-LAMP-stack-CentOS8

你需要确保 Apache Web 服务器已启动并正在运行。为此,请使用以下命令启用并启动 Apache 服务器:

# systemctl start httpd
# systemctl enable httpd

Start-enable-httpd-centos8

检查 Apache 服务器运行状态:

# systemctl status httpd

Check-status-httpd-centos8

接下来,我们需要启用并启动 MariaDB 服务器,运行以下命令:

# systemctl start mariadb
# systemctl enable mariadb

Start-enable-MariaDB-CentOS8

要检查 MariaDB 状态,请运行:

# systemctl status mariadb

Check-MariaDB-status-CentOS8

另外,你可能会考虑加强或保护服务器,使其不容易受到未经授权的访问。要保护服务器,请运行以下命令:

# mysql_secure_installation

确保为你的 MySQL 实例设置一个强密码。对于后续提示,请输入 “Y” 并按回车。

Secure-MySQL-server-CentOS8

步骤 2:安装必需的软件包

除了安装 LAMP 外,还需要一些其他软件包来安装和正确配置 Nagios。因此,如下所示安装软件包:

# dnf install gcc glibc glibc-common wget gd gd-devel perl postfix

Install-requisite-packages-CentOS8

步骤 3:创建 Nagios 用户帐户

接下来,我们需要为 Nagios 用户创建一个用户帐户。为此,请运行以下命令:

# adduser nagios
# passwd nagios

Create-new-user-for-Nagios

现在,我们需要为 Nagios 创建一个组,并将 Nagios 用户添加到该组中。

# groupadd nagiosxi

现在添加 Nagios 用户到组中:

# usermod -aG nagiosxi nagios

另外,将 Apache 用户添加到 Nagios 组:

# usermod -aG nagiosxi apache

Add-Nagios-group-user

步骤 4:下载并安装 Nagios Core

现在,我们可以继续安装 Nagios Core。Nagios 4.4.5 的最新稳定版本于 2019 年 8 月 19 日发布。但首先,请从它的官方网站下载 Nagios tarball 文件。

要下载 Nagios Core,请首进入 /tmp 目录:

# cd /tmp

接下来下载 tarball 文件:

# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz

Download-Nagios-CentOS8

下载完 tarball 文件后,使用以下命令将其解压缩:

# tar -xvf nagios-4.4.5.tar.gz

接下来,进入未压缩的文件夹:

# cd nagios-4.4.5

按此顺序运行以下命令:

# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-daemoninit
# make install-config
# make install-commandmode
# make install-exfoliation

要配置 Apache,请运行以下命令:

# make install-webconf

步骤 5:配置 Apache Web 服务器身份验证

接下来,我们将为用户 nagiosadmin 设置身份验证。请注意不要更改该用户名,否则,可能会要求你进一步的配置,这可能很繁琐。

要设置身份验证,请运行以下命令:

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Configure-Apache-webserver-authentication-CentOS8

系统将提示你输入 nagiosadmin 用户的密码。输入并按要求确认密码。在本教程结束时,你将使用该用户登录 Nagios。

为使更改生效,请重新启动 Web 服务器:

# systemctl restart httpd

步骤 6:下载并安装 Nagios 插件

插件可以扩展 Nagios 服务器的功能。它们将帮助你监控各种服务、网络设备和应用。要下载插件的 tarball 文件,请运行以下命令:

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

接下来,解压 tarball 文件并进入到未压缩的插件文件夹:

# tar -xvf nagios-plugins-2.2.1.tar.gz
# cd nagios-plugins-2.2.1

要安装插件,请编译源代码,如下所示:

# ./configure --with-nagios-user=nagios --with-nagios-group=nagiosxi
# make
# make install

步骤 7:验证和启动 Nagios

成功安装 Nagios 插件后,验证 Nagios 配置以确保一切良好,并且配置中没有错误:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Verify-Nagios-settings-CentOS8

接下来,启动 Nagios 并验证其状态:

# systemctl start nagios
# systemctl status nagios

Start-check-status-Nagios-CentOS8

如果系统中有防火墙,那么使用以下命令允许 ”80“ 端口:

# firewall-cmd --permanent --add-port=80/tcp# firewall-cmd --reload

步骤 8:通过 Web 浏览器访问 Nagios 面板

要访问 Nagios,请打开服务器的 IP 地址,如下所示:http://server-ip/nagios

这将出现一个弹出窗口,提示输入我们在步骤 5 创建的用户名和密码。输入凭据并点击“Sign In”。

Access-Nagios-via-web-browser-CentOS8

这将引导你到 Nagios 面板,如下所示:

Nagios-dashboard-CentOS8

我们终于成功地在 CentOS 8 / RHEL 8 上安装和配置了 Nagios Core。欢迎你的反馈。


via: https://www.linuxtechi.com/install-nagios-core-rhel-8-centos-8/

作者:James Kiarie 选题:lujun9972 译者:geekpi 校对:wxy

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