标签: fedora

RPM 打包 ruby​​ 项目

我想将从 git 获取的 ruby​​ 程序打包到 RPM 包中。我有一个构建服务器和一个生产服务器(相同的操作系统/相同的架构)。

与大多数 ruby​​ 项目一样,我的项目确实有 gem 依赖项。

我找到了两种做我想做的事情的方法,我想知道哪一种是最好的 - 大多数 UNIX/Linux 哲学 - 操作方面

  • 在生产服务器上减少捆绑

第一个(对我来说看起来更好)是做一个bundle install --standalone --deployment --path %{buildroot}/usr/lib/rubygems/1.8/gems/ --binstubs %{buildroot}/usr/lib/rubygems/1.8.bin. 这会将 gem 安装在将部署 .rpm 的服务器上的 gem 系统路径上,无需安装捆绑包。我不确定的是,当我使用相同的 gem 安装其他 rpm 时会发生什么?当我删除一个带有在两个包之间共享的 gem 的包时,会发生什么?

  • 在生产服务器上捆绑

bundle install --deployment命令将直接在项目本身中执行。这样就可以在目录中找到所有内容vendor/。在网上我可以看到一些关于供应商一切政策的帖子,它似乎不正确的操作明智,因为很多宝石将被重复。由于我没有红宝石背景,我不知道它的确切优点/缺点

如果有人已经做了类似的事情,你会采取哪一种方式?从运营角度来看,什么才是最好的解决方案?

fedora rpm ruby packaging rubygems

5
推荐指数
1
解决办法
1009
查看次数

在centos 7中使用Firewall-cmd创建地址特定限制

如何使用 firewall-cmd 工具(新的 firewalld)创建防火墙规则,以便限制特定网络仅访问一项服务,并允许一个区域中的所有服务。

例如:

我只有一个接口 eno1,它与公共区域相关联。该区域启用了 Http 和 https 服务。我想在该区域启用 ssh 访问,但我想限制对网络的 ssh 访问(例如 100.0.0.0/8)

做这个的最好方式是什么?

linux fedora linux-networking firewalld centos7

5
推荐指数
1
解决办法
5577
查看次数

Dovecot 说:“请求了 CRAM-MD5 方案,但我们只有 CRYPT”,但 CRAM-MD5 可用

从 Fedora Core 16 升级到 Fedora Core 21 后,新的 Dovecot 安装无法正确进行身份验证,而且根本不清楚原因。

我们有 50 多个电子邮件帐户由该服务器提供服务,因此我希望让以前的方案继续为人们服务。

多年来我们一直非常成功地使用 CRAM-MD5。我移动了配置,根据新版本(2.2.15-3)的需要进行了更新,并尝试连接。日志说:

Requested CRAM-MD5 scheme, but we have only CRYPT
Run Code Online (Sandbox Code Playgroud)

然而,当我按照 Dovecot 网站上的测试指南(可以在此处找到http://wiki2.dovecot.org/TestInstallation)时,测试命令显示 CRAM-MD5 确实可用:

# telnet localhost 143
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
 IDLE STARTTLS AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=PLAIN AUTH=LOGIN]
 Dovecot ready.
Run Code Online (Sandbox Code Playgroud)

可以看出,CRAM-MD5 是列出的第一个支持的授权类型。

此外,鸽舍参数测试程序也没有显示任何问题:

# dovecot -n
# 2.2.15: /etc/dovecot/dovecot.conf
# …
Run Code Online (Sandbox Code Playgroud)

fedora dovecot sasl

5
推荐指数
1
解决办法
3304
查看次数

小型 Linux NFS4 客户端/服务器系统上的延迟

我们是一所小型大学的计算机科学系,运行使用 NFS4 和 Fedora 24 客户端(约 40 台客户端机器,约 150 名用户——很少并发)的 RHEL 7 服务器。我们遇到了延迟问题,我们在排除故障/试图找出问题所在时遇到了麻烦。症状示例:

  • Emacs 大约需要 2 分钟才能启动/可用。GUI 会快速弹出,但如果您尝试在启动时打开文件,应用程序就会挂起。如果你只是试图打开emacs尝试打开一个文件,应用程序挂起两分钟。大约两分钟后,您可以毫无问题地创建文件、读取文件等。编辑:emacs在本地文件(例如,/tmp/test.out)上运行没有延迟问题。此外,使用idle3或打开网络文件gedit也没有问题。
  • 在其中一台 Linux 客户端/桌面机器上,在命令行上使用 svn+ssh 签出项目非常慢——大约需要 3 分钟。如果您使用另一台机器上的 svn+ssh 签出项目,则签出需要 3
  • 您不能配置空闲。当您单击配置菜单时,应用程序挂起。更新:这似乎是 idle3 中的一个错误,在 Fedora 24 中没有修复,但我们能够应用修复。
  • 当您在应用程序(例如 emacs、Eclipse)中单击“打开/浏览”或打开文件管理器时,该应用程序将在检索文件时挂起一段时间。从命令行使用 ls 和 cd 速度很快。

经过长时间的延迟,您可以毫无问题地读取/编辑/创建文件。

我发现这些应用程序的唯一共同点是它们使用隐藏的配置文件(.emacs.d.idle.eclipse、 ...)。我似乎找不到任何隐藏文件将以不同方式处理的文档。

任何建议表示赞赏!

fedora latency nfs4 rhel7

5
推荐指数
1
解决办法
436
查看次数

NetworkManager - 不允许用户禁用网络或连接

默认情况下,登录系统的用户可以完全禁用网络或连接,有没有办法禁用它?

谢谢

fedora networkmanager rhel7 centos7

5
推荐指数
1
解决办法
2687
查看次数

如何在 Amazon EC2 上的 Fedora 28 上启用 IPv6

我似乎无法在 Amazon EC2 的 Fedora 28 中使用 IPv6(因此使用 cloud-init 和 DHCPv6)。

它使用此处描述的配置在 RHEL 7 中工作。将相同的配置应用于 Fedora 28 似乎没有任何作用。特别是,/etc/sysconfig/network得到改写包含NETWORKING_IPV6=yes,也不/etc/sysconfig/network-scripts/ifcfg-eth0包含任何IPv6的东西。

我的/etc/cloud/cloud.cfg.d/56-custom-networking.cfg包含:

network:
  version: 1
  config:
  - type: physical
    name: eth0
    subnets:
      - type: dhcp
      - type: dhcp6
Run Code Online (Sandbox Code Playgroud)

生成的/etc/sysconfig/network是:

NOZEROCONF=yes
DEVTIMEOUT=10

# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes
Run Code Online (Sandbox Code Playgroud)

生成的/etc/sysconfig/network-scripts/ifcfg-eth0是:

# Created by cloud-init on instance boot automatically, do not edit.
# …
Run Code Online (Sandbox Code Playgroud)

fedora ipv6 amazon-ec2 cloud-init dhcpv6

5
推荐指数
1
解决办法
872
查看次数

更改 ssh-keygen 中的默认证书签名算法

目前,OpenSSH 7.8 (Fedora 28/Arch) 无法使用证书签名密钥与 OpenSSH 7.4 (CentOS 7) 服务器协商,如redhat 的 bugzilla 上提交的错误所述。OpenSSH 发行说明表明现在必须明确定义签名协商算法的更改。虽然现在允许使用 2 个新的签名算法(自 7.7 起),但由于错误或有意,ssh-rsa-cert-v01@openssh.com 用户证书不再能够用于身份验证。

重现步骤:

  1. ssh-keygen -t rsa -b 2048 -f 测试
  2. ssh-keygen -s cert.key -I "signedcert" -n testuser test.pub
  3. ssh -i 测试 -vvv 用户@serverip

我试图通过修改证书签名过程中使用的算法来解决这个问题。

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)

linux ssh fedora centos arch-linux

5
推荐指数
1
解决办法
2319
查看次数

nginx 作为具有多个域和主机的反向代理

这个问题可能已经被问过好几次了,但是考虑到我能找到的所有结果和我所知甚少,我有点迷失了。我使用的是 Fedora 29。

我尝试用 nginx 做什么:

  • 使用一个让我们加密多个域名的 ssl 证书
  • 将每个域映射到特定的内部主机(配置文件中的 DNS 或 IP,我不介意,无论什么都可以)
  • 所有主机都已在内部使用 ssl(没有可用的 http - 多个侦听端口)
  • 如果您从外部使用 http,我希望重定向到 https

样本 :

我怎样才能做到这一点?让我们加密自动配置我的 nginx 配置,但这似乎有点太多了。


非常感谢您的回答,我觉得我得到了一些进步,即使暂时没有工作。我在这里发布了我的完整配置文件,因为我现在遇到了“502 Bad Gateway”错误。IP 与反向代理不在同一子网中,但完全可访问,没有防火墙或路由问题。

知道我可以在哪里继续前进吗?在原始配置中,还有一个包含密码和协议的 certbot conf 文件。也许我需要重新包含它?

另外:我尝试访问的内部服务器具有使用我自己的 AD CS 签名的证书,但反向代理上尚未安装根证书。也许我应该 ?

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log …
Run Code Online (Sandbox Code Playgroud)

ssl nginx fedora reverse-proxy lets-encrypt

5
推荐指数
1
解决办法
2万
查看次数

LSI SAS2116 问题 - 在 Fedora 32 内核 5.8 上未检测到驱动器。*

上周我使用常规 DNF 更新流程更新了内核。重新启动后,我的 mdadm 阵列中没有检测到任何驱动器。我将问题范围缩小到内核问题,并使用较旧的内核进行引导。我等待了一周的下一次内核更新并再次运行该过程,希望这只是一个坏内核,但问题尚未解决。kernel: mpt2sas_cm0: failure at drivers/scsi/mpt3sas/mpt3sas_scsih.c:10790/_scsih_probe()!dmesg在两个 5.8 内核上均显示。经过一番研究,我很确定 Fedora 已经放弃了对 sas2116 控制器的支持(https://access.redhat.com/discussions/3722151?page=2),所以我要么需要找到该卡的驱动程序,要么更换它带有 12gb/s 卡。

你有什么建议?在哪里可以找到适用于 Fedora 32 的这张卡的驱动程序以及如何安装它们,或者用什么好的 12gb/s 卡来替换它(该卡目前驱动安装了 12 个驱动器的 24 盘位超微背板)?我目前使用的卡是LSI 9201-16e。

storage fedora sas hba

5
推荐指数
1
解决办法
699
查看次数

为什么libvirt 不与fedora 32 上的iptables 合作

我正在尝试在 Fedora 32 上使用几乎默认安装的 libvirt/kvm。

安装 libvirt 后,我​​正在尝试启动default网络:virsh net-start default.

但是由于某种原因,有许多链丢失了,所以它失败了。例如,libvirt 尝试加载的新规则开始于:

-A IN_libvirt_allow -p udp --dport 67 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但是没有IN_libvirt_allow(或IN_libvirt_post, FORWARD_OUT_ZONES, ...)。

我确实有一些与 libvirt 相关的链,例如LIBVIRT_INP/ LIBVIRT_OUT,但我不确定哪些属于 libvirt,哪些属于 firewalld 以及它们应该如何协同工作。

我缺少什么设置?

networking linux fedora libvirt

5
推荐指数
1
解决办法
916
查看次数