Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
如何配置 Apache Web 服务器

学习如何在 Apache 上托管你自己的网站,这是一个可靠、流行且易于配置的 Web 服务器。Media

via https://linux.cn/article-9506-1.html
深入理解 BPF:一个阅读清单

我收集了非常多的关于 BPF 的阅读材料:介绍、文档,也有教程或者示例。这里有很多的材料可以去阅读Media

via https://linux.cn/article-9507-1.html
在 Ubuntu 16.04 上配置 msmtp

我使用 msmtp 发送来自这个博客的邮件俩通知我评论和更新等。这里我会记录如何配置它通过 Google Apps 帐户发送电子邮件,虽然这应该与标准的 Google 帐户一样。Media

via https://linux.cn/article-9509-1.html
在 Ubuntu 16.04 上配置 msmtp

Media这篇文章是在我之前的博客中发表过的在 Ubuntu 16.04 上配置 MSMTP 的一个副本。我再次发表是为了后续,我并不知道它是否能在更高版本上工作。由于我没有再托管自己的 Ubuntu/MSMTP 服务器了,所以我现在看不到有需要更新的地方,但是如果我需要重新设置,我会创建一个更新的帖子!无论如何,这是我现有的。我之前写了一篇在 Ubuntu 12.04 上配置 msmtp 的文章,但是正如我在之前的文章中暗示的那样,当我升级到 Ubuntu 16.04 后出现了一些问题。接下来的内容基本上是一样的,但 16.04 有一些小的更新。和以前一样,这里假定你使用 Apache 作为 Web 服务器,但是我相信如果你选择其他的 Web 服务器,也应该相差不多。我使用 msmtp 发送来自这个博客的邮件俩通知我评论和更新等。这里我会记录如何配置它通过 Google Apps 帐户发送电子邮件,虽然这应该与标准的 Google 帐户一样。首先,我们需要安装 3 个软件包:
sudo apt-get install msmtp msmtp-mta ca-certificates
安装完成后,就需要一个默认配置。默认情况下,msmtp 会在 /etc/msmtprc 中查找,所以我使用 vim 创建了这个文件,尽管任何文本编辑器都可以做到这一点。这个文件看起来像这样:
# Set defaults.defaults# Enable or disable TLS/SSL encryption.tls ontls_starttls ontls_trust_file /etc/ssl/certs/ca-certificates.crt# Setup WP account's settings.account GMAILhost smtp.gmail.comport 587auth loginuser YOUR USERNAMEpassword YOUR PASSWORDfrom FROM@ADDRESSlogfile /var/log/msmtp/msmtp.logaccount default :
任何大写选项都是需要替换为你特定的配置。日志文件是一个例外,当然你也可以将活动/警告/错误放在任何你想要的地方。文件保存后,我们将更新上述配置文件的权限 ,如果该文件的权限过于开放,msmtp 将不会运行,并且创建日志文件的目录。
sudo mkdir /var/log/msmtpsudo chown -R www-data:adm /var/log/msmtpsudo chmod 0600 /etc/msmtprc
接下来,我选择为 msmtp 日志配置 logrotate,以确保日志文件不会太大并让日志目录更加整洁。为此,我们创建 /etc/logrotate.d/msmtp 并使用按以下内容配置。请注意,这是可选的,你可以选择不这样做,或者你可以选择以不同方式配置日志。
/var/log/msmtp/*.log { rotate 12 monthly compress missingok notifempty}
现在配置了日志,我们需要通过编辑 /etc/php/7.0/apache2/php.ini 告诉 PHP 使用 msmtp,并将 sendmail 路径从
sendmail_path =
变成
sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -a -t"
这里我遇到了一个问题,即使我指定了帐户名称,但是当我测试它时,它并没有正确发送电子邮件。这就是为什么 account default : 这行被放在 msmtp 配置文件的末尾。要测试配置,请确保 PHP 文件已保存并运行 sudo service apache2 restart,然后运行 php -a 并执行以下命令
mail ('personal@email.com', 'Test Subject', 'Test body text');exit();
此时发生的任何错误都将显示在输出中,因此错误诊断会相对容易。如果一切顺利,你现在应该可以使用 PHP sendmail(至少 WordPress 可以)中用 Gmail(或 Google Apps)从 Ubuntu 服务器发送电子邮件。我没有说这是最安全的配置,所以当你看到并且意识要这个非常不安全,或者有其他严重的错误,请让我知道,我会相应地更新。via: https://codingproductivity.wordpress.com/2018/01/18/configuring-msmtp-on-ubuntu-16-04-again/作者:JOE 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9509-1.html?utm_source=rss&utm_medium=rss
10 个增加 UNIX/Linux Shell 脚本趣味的工具

shell 脚本可以使用一些 GUI 组件(菜单、警告框、进度条等),你可以控制终端输出、光标位置以及各种输出效果等等。利用下面的工具,你可以构建强壮的、可交互的、对用户友好的 UNIX/Linux bash 脚本。Media

via https://linux.cn/article-9510-1.html
为什么开源在计算机专业的学生中不那么流行?

高中和大学生们或许因先入为主的观念而畏于参与开源项目。Media

via https://linux.cn/article-9511-1.html
在 Debian 9 上使用 Rsyslog 安装一台中央日志服务器

在 Linux 中,可以配置运行一个 Rsyslog 服务器来中央化管理日志,在流行的服务端—客户端模式中,通过 TCP 或者 UDP 传输协议基于网络来发送日志信息,或者从网络设备、服务器、路由器、交换机、以及其它系统或嵌入式设备中接受生成的日志。Media

via https://linux.cn/article-9512-1.html
Oh My Fish! 让你的 Shell 漂亮起来

如何使用 Oh My Fish (简称 omf ) ,让我们的 Fish shell 变得漂亮且优雅。Media

via https://linux.cn/article-9515-1.html
如何知道 CPU 是否支持虚拟化技术(VT)

在安装虚拟化程序(如 VirtualBox 或 VMWare workstation)以在 Linux 系统上运行虚拟机之前,你应该首先验证这一点。Media

via https://linux.cn/article-9516-1.html
如何记录 Linux 的系统运行时间的统计信息

Linux/Unix 系统管理员对服务器的系统运行时间有一种奇怪的痴迷。Media

via https://linux.cn/article-9518-1.html
给初学者的 type 命令教程

你可以使用 type 命令轻松找出给定的命令是否是别名、shell 内置命令、文件、函数或关键字。另外,你也可以找到命令的实际路径。Media

via https://linux.cn/article-9519-1.html
给初学者的 type 命令教程

Mediatype 命令用于查找 Linux 命令的信息。顾名思义,你可以使用 type 命令轻松找出给定的命令是否是别名、shell 内置命令、文件、函数或关键字。另外,你也可以找到命令的实际路径。为什么有人需要找到命令类型?例如,如果你经常在共享的计算机上工作,则某些人可能会故意或意外地为特定的 Linux 命令创建别名来执行不需要的操作,例如 alias ls = rm -rf /。因此,在发生更糟糕的事情之前检查它们总是一个好主意。这是 type 命令有用的地方。让我给你看一些例子。不带任何选项运行 type 命令。
$ type lsls is aliased to `ls --color=auto'
正如你在上面的输出中看到的那样,ls 命令已被别名为 ls -color-auto。但是,它是无害的。但只要想想 ls 如果被别名为了其他一些危险的命令。你不想那样,是吗?你可以使用 -t 选项仅找出 Linux 命令的类型。例如:
$ type -t lsalias$ type -t mkdirfile$ type -t pwdbuiltin$ type -t ifkeyword$ type -t rvmfunction
该命令仅显示命令的类型,例如别名。它不显示被别名的内容。如果该命令找不到,你将在终端中看不到任何内容。type 命令的另一个有用的地方是我们可以很容易地找出给定 Linux 命令的绝对路径。为此,请使用 -p 选项,如下所示。
$ type -p cal/usr/bin/cal
这与 which ls 命令类似。如果给定的命令是别名,则不会打印任何内容。要显示命令的所有信息,请使用 -a 选项。
$ type -a lsls is aliased to `ls --color=auto'ls is /usr/bin/lsls is /bin/ls
如你所见,-a 标志显示给定命令的类型及其绝对路径。有关更多详细信息,请参阅手册页。
$ man type
希望这有帮助。会有更多的好东西。请继续访问!干杯!via: https://www.ostechnix.com/the-type-command-tutorial-with-examples-for-beginners/作者:SK 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9519-1.html?utm_source=rss&utm_medium=rss
让我们做个简单的解释器(二)

让我们再次深入了解解释器和编译器。Media

via https://linux.cn/article-9520-1.html
如何在 Ubuntu Linux 上使用 KVM 云镜像

如何下载并使用运行在 Ubuntu Linux 服务器上的 KVM 云镜像?如何在 Ubuntu Linux 16.04 LTS 服务器上无需完整安装即可创建虚拟机?如何在 Ubuntu Linux 上使用 KVM 云镜像?Media

via https://linux.cn/article-9522-1.html
尝试 H2o 做机器学习

我最初计划使用 R 来训练我的数据库,但老师建议我使用一个 FOSS 机器学习框架 H2o。Media

via https://linux.cn/article-9523-1.html
尝试 H2o 做机器学习

H2o Flow gradient boosting job我目前正在参加一个机器学习班,虽然工作量很疯狂,但我非常喜欢。我最初计划使用 R 来训练我的数据库,但老师建议我使用一个 FOSS 机器学习框架 H2o。起初我有点怀疑,因为我已经对 R 掌握得不错了,但后来我发现你可以简单地将 H2o 作为 R 库导入。H2o 将大多数 R 函数替换为其自己的并行化函数,以减少处理时间(不再需要 doParallel 调用),并且使用“外部”服务端来运行,而不是直接调用 R。H2o Flow gradient boosting model直到我真正在实际中开始在 H2o 中使用 R 时,我对这种情况都非常满意。我在使用非常大的数据库时,库变得笨重,我几乎不能做任何有用得事情。大多数时候,我最后只是得到一个很长的 Java 回溯调用。我相信正确地将 H2o 作为一个库使用将非常强大,但可惜的是,它似乎在我的 R 技能中无效。H2o Flow variable importance weights我生了一整天的气 —— 无法实现我想做的事 —— 直到我意识到 H2o 有一个名为 Flow 的 WebUI。我通常不喜欢使用 web 来完成重要的工作,比如编写代码,但是 Flow 简直太不可思议了。自动绘图功能,运行资源密集模型时集成 ETA(预计剩余时间),每个模型参数的描述(这些参数甚至会根据您熟悉的统计模型分成不同部分),Flow 似乎拥有所有功能。我很快就能够运行 3 种基本的机器学习模型并获得实际可解释的结果。所以,如果你一直渴望使用最先进的机器学习模型分析非常大的数据库,我会推荐使用 H2o。首先尝试使用 Flow,而不是 Python 或 R 的钩子,来看看它能做什么。唯一缺点是,H2o 是用 Java 编写的,并依赖 Java 1.7 来运行。并且需要警告的是:它需要非常强大的处理器和大量的内存。即使有 10 个可用的内核和 10Gb 的 RAM,我可怜的服务器也苦苦挣扎了一段时间。via: https://veronneau.org/playing-with-water.html作者:Louis-Philippe Véronneau 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9523-1.html?utm_source=rss&utm_medium=rss
用 PGP 保护代码完整性(一): 基本概念和工具

自由软件社区长期依赖于 PGP 确保它生产的软件产品的真实性和完整性。Media

via https://linux.cn/article-9524-1.html
Facebook 的开源计划一窥

Facebook 开发人员 Christine Abernathy 讨论了开源如何帮助公司分享见解并推动创新。Media

via https://linux.cn/article-9525-1.html
防止文档陷阱的 7 条准则

让我们了解一下如何使国外读者更容易理解你的技术文章。Media

via https://linux.cn/article-9526-1.html
Ansible 教程:简单 Ansible 命令介绍

在这个 Ansible 教程中,我们将学习一些基本的 Ansible 命令的例子,我们将用它来管理基础设施。Media

via https://linux.cn/article-9527-1.html
页面缓存、内存和文件之间的那些事

这一篇文章我们将专门去讲这个重要的主题 —— 页面缓存。文件和内存之间的关系常常很不好去理解,而它们对系统性能的影响却是非常大的。Media

via https://linux.cn/article-9528-1.html