我正在尝试在运行 arch linux(警报)的 RaspberryPi 3 上设置 nextcloud 一周。
我已经设置了 apache、php 和 php-fpm、postgresql 并从 AUR 安装了 nextcloud-testing(因为 nextcloud 17 不支持 php 7.4)。
apache 的 webroot 位于/srv/http但 nextcloud 安装到/usr/share/webapps/nextcloud.
我的虚拟主机:
<VirtualHost *:443>
DocumentRoot "/srv/http"
<Directory "/srv/http">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...
#ssl stuff
...
ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
<Directory "/srv/http/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
Alias /nextcloud /usr/share/webapps/nextcloud/
<Directory /usr/share/webapps/nextcloud>
Options FollowSymlinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
https://mydomain/nextcloud在浏览器中访问时,错误消息是无法写入配置目录。检查这个使用的 php …
我正在从头开始重新配置我的网站,基本上我希望它运行 Mono(嗯,Mono 中的 ASP.Net)
根据Mono 项目,似乎有两种选择,Apache 或 Nginx。
哪一种最适合我?我在 Arch Linux x86-64 上运行,所以我有两个包。而且我不打算(至少在不久的将来不会)运行任何其他软件,例如 PHP。唯一必须支持的是多主机支持,例如 foo.com 去网站 A,bar.com 去网站 B。
我需要使用 openssh 设置 Archlinux vps,一切都运行顺利,除了我无法 ssh 进入。
我注意到没有安装 openssh,所以我查看了 wiki,上面写着:
pacman -S openssh
Run Code Online (Sandbox Code Playgroud)
我这样做了,但它开始给我错误,它在镜像上找不到 openssh-5.8p2-9-x86_64.pkg.tar.xz
error : failed retrieving file 'openssh-5.8p2-9-x86_64.pkg.tar.xz' from artfiles.org : No address record
Run Code Online (Sandbox Code Playgroud)
我添加了更多镜子,但仍然出现相同的错误。
我究竟做错了什么 ?
我一直在了解 NFS 的关闭对打开策略,它会导致每个文件在关闭时刷新到服务器,以确保客户端之间的一致性。(请参阅http://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch07_04.htm。)当尝试写入许多小文件时,这会导致性能大幅下降。
显然,我知道“异步”导出选项,但还有一个“nocto”客户端挂载选项,它应该禁用该客户端的关闭到打开机制。据我所知,这应该阻止客户端在关闭时刷新文件(以及在打开时不费心检查缓存一致性)。但是,这似乎没有效果:客户端仍在关闭时将文件刷新到服务器,从而导致大量等待 io。
有谁知道为什么“nocto”没有我希望的效果?“async”选项按预期工作,但对我来说更重要的是在这种情况下客户端缓存是正确的,它只是让我感到烦恼。
例子:一组无盘节点共享一个远程根,它偶尔会从其中一个节点更新。每个文件在关闭后立即刷新并不重要,因为没有其他节点试图写入同一个文件。然而,更重要的是,如果服务器在更新一组包时崩溃,客户端知道哪些数据尚未写入服务器的磁盘,以便在服务器再次启动后再次尝试。使用“async”选项,这种情况可能会导致数据丢失(因为服务器向客户端谎报数据被刷新到磁盘),而禁用 close-to-open(并使用“sync”而不是“async”)) 理论上应该提供相同的性能优势而不会丢失潜在的数据(因为多个文件写入将被缓冲并一起刷新到服务器)。服务器和其他客户端会看到一个稍微过时的文件系统视图(几秒钟)。这对我来说似乎是合理的。
简而言之,“异步”进行服务器端缓冲,这大大加快了速度。我期待的是“nocto”应该以类似的速度提升进行客户端缓冲,但代价是其他客户端上出现的数据会出现一些滞后。
我是 Gentoo 的长期用户,无论是在桌面还是服务器上。作为一名软件工程师,我喜欢它的灵活性和可定制性(以及它的前沿和滚动发布的事实)。但是对于我的新服务器,我想使用不同的发行版。主要是因为编译所有内容会阻碍虚拟服务器,但也因为 Gentoo 过于前沿,有时更新应该(更多)正确测试和延迟。
(附带说明:这些年来,我已经成功部署/维护了几个 Gentoo 机器,而且大多数时候,事情进展得非常顺利,而且这些机器都很棒。)
因此,我想根据经验(而非意见)向社区寻求建议,哪些发行版最适合以下标准:
立即想到的是CentOS和Debian,但不幸的是,它们在软件包方面都已经过时了。
我正在关注Ubuntu,但与 Universe 或其他发行版相比,他们正式支持的软件(主要/受限存储库)相当小。我也不太确定他们对官方软件包的维护情况(关于安全修复),而且我真的不喜欢他们在做出影响用户的决定时的企业(= 封闭)心态。附带说明:我最近为朋友安装了 12.10 桌面,并没有留下深刻印象。
ArchLinux接近Gentoo,减去包编译,恕我直言。我自己还没有尝试过,但立即脱颖而出(消极地恕我直言)的是相当小的核心团队和缺少的安全团队。似乎没有专门的安全列表,他们最近才集成了包签名(我不知道这是否是强制性的)。还有相当多的软件包仅通过 AUR 或其他方式支持。关于这一点,我无话可说。
OpenSuSE也是我关注的东西,但我最后一次尝试 SuSE 是在内核 1.x 时代,老实说(当时我是一个非常年轻的极客:P)。所以我对它的现状几乎一无所知。
老实说,Fedora也是我考虑过的。它通常维护得很好,并且(如果它没有延迟几个月)有一个很好的发布时间表。另一方面,我读过很多关于 Fedora 18 的坏消息,尤其是关于升级路径。此外,它绝对是非常前沿的。
除了感谢您阅读本文并抽出宝贵时间之外,我无法在这篇相当长的帖子中添加太多内容。:-)
我觉得我需要更新我的问题。尽管我完全同意给出的答案,但它们并不是我真正想要的。所以这里有几点希望能澄清我的情况:
我已经维护服务器 10 多年了,所以(至少目前)我不考虑雇用某人来帮助我或减轻负载。
我知道我的 Linux 方法。它一直是我的主要系统超过 15 年左右。作为一名软件工程师和极客,我不会用它换取全世界。:)
我正在根据我提到的不同发行版的经验寻求建议。我知道我可以在虚拟机中安装所有这些(我最终会安装在候选名单上的那些),但即使我认为发行版 xy 很棒,但它绝对没有说明它的维护情况如何。或者一旦有新版本发布,这条路有多坎坷。只有时间可以证明。诸如此类的东西,我一直在寻找。一个星期的简单试运行无法显示的体验。基于仅长期使用发行版的经验的建议。
我还必须强调,我在上面原始帖子中的列表几乎总结了对我来说很重要的内容。
当我从 systemd 启动 Net-SNMP 时,没有错误消息但守护进程没有运行:
% sudo systemctl start snmpd
%
Run Code Online (Sandbox Code Playgroud)
当我从命令行启动它时,它运行:
% sudo /usr/sbin/snmpd
Run Code Online (Sandbox Code Playgroud)
以及对 SNMP 查询的回答。
如果我添加调试标志 (-LSdd),我会看到 systemd 启动的守护进程在以下之后立即被杀死:
Apr 7 15:37:50 localhost snmpd[1298]: NET-SNMP version 5.7.2
Apr 7 15:37:50 localhost snmpd[1298]: Received TERM or STOP signal... shutting down...
Run Code Online (Sandbox Code Playgroud)
服务文件是 Arch Linux 软件包的默认文件之一:
[Unit]
Description=Simple Network Management Protocol (SNMP) Daemon
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/snmpd
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
如果我在服务文件中添加 RemainAfterExit=yes,snmpd 工作但机器不再正常启动(例如没有 DHCP 客户端)
系统为最新的 Arch Linux,软件包版本为:
Name : net-snmp
Version : 5.7.2-3
Run Code Online (Sandbox Code Playgroud)
对于这个错误,显然有一个旧的 Arch Linux …
我正在尝试从官方 Arch Linux 映像构建 Docker 映像。这些是我到目前为止所做的事情:
我拉了官方的 Arch Linux 镜像:
docker pull base/archlinux
Run Code Online (Sandbox Code Playgroud)
我写了这个“Dockerfile”:
# Set base image
FROM base/archlinux:latest
# Fix mirrorlist file
#RUN rm /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
# Update pacman and install packages
RUN pacman-db-upgrade
RUN pacman -Syyu --noconfirm
RUN pacman -S --noconfirm nodejs phantomjs cronie
# Make cronjobs
RUN echo "*/2 …Run Code Online (Sandbox Code Playgroud) 我有一个在 nginx 后面运行 gunicorn/Django 的开发服务器。作为更广泛的服务器环境更新的一部分,我尝试将 gunicorn 从 18.0 升级到 19.2.1,但该服务将不再启动。(服务器正在运行 Arch,因此使用 systemctl。)
gunicorn 配置是由不再受我们支配的人完成的,并且对 gunicorn 不是很了解,我无法修复甚至定位问题,所以我恢复到 18.0 版并且它现在可以工作。但是,我想最终升级它并使配置处于可以工作的状态。我有一种感觉,当前的配置是次优或多余的,但我无法确定:-)。
环境(或运行gunicorn的virtualenv)没有任何变化,只有gunicorn本身升级了。Systemctl 在systemctl start gunicorn以下位置产生此错误:
? gunicorn.service - gunicorn daemon (production)
Loaded: loaded (/usr/lib/systemd/system/gunicorn.service; enabled)
Active: failed (Result: resources) since Tue 2015-02-17 20:55:41 UTC; 8s ago
Process: 2837 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
Process: 9608 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 5353 ExecStart=/home/django/gunicorn/run.sh (code=exited, status=0/SUCCESS)
Main PID: 24876 (code=exited, status=0/SUCCESS)
Feb 17 20:55:41 ashima systemd[1]: PID file /home/django/gunicorn/gunicorn.pid not …Run Code Online (Sandbox Code Playgroud) 我有一个 Arch linux ZFS 备份系统,它很长时间没有更新,因为它运行良好,没有理由打扰。但是,在最近升级之后,我的 ZFS 数据集在我重新启动时不再自动挂载。不幸的是,这些服务没有指示任何错误消息,我可以运行
# zfs mount -a
Run Code Online (Sandbox Code Playgroud)
系统启动后没有问题。一些细节:
[root@elephant etc]# uname -a
Linux elephant 4.16.11-1-ARCH #1 SMP PREEMPT Tue May 22 21:40:27 UTC 2018 x86_64 GNU/Linux
[root@elephant etc]# pacman -Q | grep spl
spl-dkms 0.7.9-1
spl-utils 0.7.9-1
[root@elephant etc]# pacman -Q | grep zfs
zfs-dkms 0.7.9-1
zfs-utils 0.7.9-1
root@elephant etc]# zfs get mountpoint backup/www
NAME PROPERTY VALUE SOURCE
backup/www mountpoint /backup/www default
[root@elephant etc]# zfs get mountpoint backup/data
NAME PROPERTY VALUE SOURCE
backup/data mountpoint /backup/data default …Run Code Online (Sandbox Code Playgroud) 目前,OpenSSH 7.8 (Fedora 28/Arch) 无法使用证书签名密钥与 OpenSSH 7.4 (CentOS 7) 服务器协商,如redhat 的 bugzilla 上提交的错误所述。OpenSSH 发行说明表明现在必须明确定义签名协商算法的更改。虽然现在允许使用 2 个新的签名算法(自 7.7 起),但由于错误或有意,ssh-rsa-cert-v01@openssh.com 用户证书不再能够用于身份验证。
重现步骤:
我试图通过修改证书签名过程中使用的算法来解决这个问题。
ssh-keygen -L -f test.crt
test.crt:
Type: ssh-rsa-cert-v01@openssh.com user certificate
Public key: RSA-CERT SHA256:<fingerprint>
Signing CA: RSA SHA256:<fingerprint>
Run Code Online (Sandbox Code Playgroud)
ssh-keygen 的默认设置是在 ssh-rsa-cert-v01@openssh.com 中对密钥进行签名。
根据 OpenSSH 7.8 文档,PROTOCOL.certkeys。
All certificate types include certification information along with the
public …Run Code Online (Sandbox Code Playgroud) arch-linux ×10
linux ×4
fedora ×2
ssh ×2
apache-2.2 ×1
apache-2.4 ×1
centos ×1
containers ×1
docker ×1
gunicorn ×1
linux-kernel ×1
mono ×1
net-snmp ×1
nextcloud ×1
nfs ×1
nginx ×1
opensuse ×1
php-fpm ×1
php.ini ×1
systemctl ×1
systemd ×1
ubuntu ×1
zfs ×1
zfsonlinux ×1