AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-260497

pdp's questions

Martin Hope
pdp
Asked: 2015-07-17 21:08:39 +0800 CST

rpm2cpio 跳过 RPM 中的文件

  • 4

这些步骤来自运行 CentOS 6.5 的机器。我只是尝试将 RPM 包转换为 CPIO 存档,并惊讶地发现 RPM 中列出了但存档中没有的文件。以下是采取的步骤。

列出 RPM 中的路径:

$ rpm -qlp sssd-1.9.2-82.4.el6_4.x86_64.rpm | sort > rpm.lst

将 RPM 转换为 CPIO 存档:

$ rpm2cpio sssd-1.9.2-82.4.el6_4.x86_64.rpm > sssd-1.9.2-82.4.el6_4.x86_64.cpio

将文件列表保存在存档中。过滤器sed需要从路径名中删除前导点条目。对于 RPM 列表,这不是必需的。

$ cpio -i -t < sssd-1.9.2-82.4.el6_4.x86_64.cpio | sed -e 's|^.||' | sort > cpio.lst

最后,显示丢失文件的差异:

$ diff -u cpio.lst rpm.lst

--- cpio.lst        2015-07-16 19:54:06.020494348 +0530
+++ rpm.lst         2015-07-16 19:53:38.012494371 +0530
@@ -2,6 +2,7 @@
 /etc/rc.d/init.d/sssd
 /etc/rwtab.d/sssd
 /etc/sssd
+/etc/sssd/sssd.conf
 /usr/bin/sss_ssh_authorizedkeys
 /usr/bin/sss_ssh_knownhostsproxy
 /usr/lib64/ldb/modules/ldb/memberof.so
@@ -102,6 +103,8 @@
 /var/lib/sss
 /var/lib/sss/db
 /var/lib/sss/mc
+/var/lib/sss/mc/group
+/var/lib/sss/mc/passwd
 /var/lib/sss/pipes
 /var/lib/sss/pipes/private
 /var/lib/sss/pubconf

为什么 RPM 中存在文件但 CPIO 存档中缺少文件?我特别感兴趣,/etc/sssd/sssd.conf因为我想查看一个示例配置文件。我们使用的sssd软件包比来自CentOS的软件包更旧。我用 CentOS 的软件包重复了上述步骤。结果是一样的。

centos
  • 2 个回答
  • 357 Views
Martin Hope
pdp
Asked: 2015-06-09 04:14:19 +0800 CST

为什么 scp 压缩比没有压缩慢?

  • 15

我需要将一个 20 GB KVM vdisk 文件(存储 CentOS 6.5 VM 的根文件系统)从一台实验室服务器传输到另一台。大文件大小以及我曾经将这样的 vdisk 文件压缩到几百兆字节的事实使我本能地启用了压缩,scp但我惊讶地发现传输速度相当低。然后我尝试与andbzip2结合并被吓了一跳。这是方法和平均吞吐量的摘要。sshcat

  • scp -C vm1-root.img [email protected]:/mnt/vdisks/, 11 MB/秒。
  • bzip2 -c vm1-root.img | ssh -l root 192.168.161.62 "bzip2 -d -c > /mnt/vdisks/vm1-root.img", 5 MB/秒。这个更低的结果促使人们在网上搜索。
  • scp -c arcfour -C vm1-root.img [email protected]:/mnt/vdisks/, 13 MB/秒。在关于 serverfault的一个答案-c arcfour中建议使用as。它几乎没有帮助。最后,我禁用了压缩。
  • scp vm1-root.img [email protected]:/mnt/vdisks/, 23 MB/秒。

压缩不应该更快吗?


在收到ssh(1)来自@sven 的手册页提示后,我尝试了几种不涉及压缩的文件传输替代方法,两者都取得了更好的结果。

  • cat vm1-root.img | ssh -l root 192.168.161.62 "cat > /mnt/vdisks/vm1-root.img", 26 MB/秒。

  • nc -l 5678 > /mnt/vdisks/vm1-root.img在接收器和nc 192.168.161.62 5678 < vm1-root.img发射器上,40 MB/s。该端口 5678是可用的任意端口。

使用nc原来是最快的复制方法!

过去,scp -C每当我认为它会时,它都工作得很好。例如,传输/var/log/messages*几 GB 大小的 syslog ( ) 时。几百 KB/s 的未压缩传输速率将增加到 1-2 MB/s。如手册页中所指出的,此示例确实适用于连接缓慢的情况。

我有一个案例,为 20 GB 分区新创建的虚拟磁盘映像的压缩大小仅为 200 MB。以大约 25 MB/s 的传输速率,我们可以在 8 秒内完成复制,而不是超过 13 分钟!显然,scp在这种情况下,没有压缩是低效的,scp -C甚至更糟。

我想,这里学到的主要教训是,scp -C应该被认为只是一种方便。如果一个文件可以显着压缩,那么最好先在源上压缩它,然后传输压缩形式,最后在目标上解压。快速进行压缩和解压缩的工具(例如pbzip2)将有更大的帮助。

ssh
  • 2 个回答
  • 12995 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve