小编tu-*_*duh的帖子

rsync 与特殊文件的关系

我正在尝试将一些现有备份从一个系统转移到另一个系统。较旧的备份系统似乎已设法备份特殊文件,如 /dev/hda、/dev/tty0 和 /dev/null,这些文件看起来像是作为操作系统构建过程的某个部分创建的。

所以我尝试让rsync他们使用新机器,但我不断收到大量消息,例如:

跳过非常规文件“machineX/latest/home/machineX/build/image/rh62/dev/agpgart”

我使用的命令是:

rsync -avz /oldbackups/machineX/ newbackups:~/machineX/
Run Code Online (Sandbox Code Playgroud)

AFAIK:

-a (archive) 应该是指 -rlptgoD

-D 应该是什么意思 --specials --devices

我检查了文件:

$ ls -la machineX/latest/home/machineX/build/image/rh62/dev/agpgart 
crw-rw-r-- 1 500 500 10, 175 Feb  4  2000 machineX/latest/home/machineX/build/image/rh62/dev/agpgart
$ file machineX/latest/home/machineX/build/image/rh62/dev/agpgart
machineX/latest/home/machineX/build/image/rh62/dev/agpgart: character special
Run Code Online (Sandbox Code Playgroud)

所以这些是--special交换机应该涵盖的特殊文件,不是吗?

为什么它仍然跳过这些文件?


作为参考,我将 rsync 与这些详细信息一起使用:

$ rsync --version
rsync  version 3.0.9  protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit …
Run Code Online (Sandbox Code Playgroud)

rsync devices

8
推荐指数
1
解决办法
4305
查看次数

systemd-resolved 中的链接“范围”是什么?

当尝试在 Ubuntu 上使用 NetworkManager 的 ModemManager 修复 DNS 问题时,我在systemd-resolve --status连接时的输出中发现了这种差异。(pingip 有效,手动编辑/etc/resolv.conf可以解决问题,设置 FallbackDNS 也可以解决问题,但都有副作用。

工作安装 - PPP 调制解调器(Ubuntu 17.10)

Link 3 (wwp0s20u6)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 198.142.0.51
                      211.29.132.12
Run Code Online (Sandbox Code Playgroud)

安装损坏 - PPP 调制解调器(相同硬件 - Lubuntu 17.04)

Link 2 (wwp0s20u6)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
Run Code Online (Sandbox Code Playgroud)

它们都是 Ubuntu 的版本,并且硬件相同。中的网络连接配置/etc/NetworkManager/system-connections …

dns systemd-networkd systemd-resolved

7
推荐指数
1
解决办法
6672
查看次数

启用复制设备后,如何验证 rsync 是否正确复制了设备?

这是为什么 rsync 尝试复制已经是最新的文件的扩展

我正在尝试使用--copy-devices补丁rsync复制整个磁盘驱动器并将其作为映像存储在另一台机器上。

该副本似乎已正确运行,但是,当我rsync再次使用相同的值运行时,它似乎每次都会再次复制一些数据。

我跑了rsync,出现了冗长的问题,得到了这个:

$ sudo rsync -vvz --partial --progress --copy-devices /dev/sdb me@otherserver:/backupdisks/mydisk.img
opening connection using: ssh -l me otherserver rsync --server -vvze.Lsfx --partial --copy-devices . /backupdisks/mydisk.img  (11 args)
me@otherserver's password: 
delta-transmission enabled
sdb
320,071,851,520 100%   63.47MB/s    1:20:09 (xfr#1, to-chk=0/1)
total: matches=2441955  hash_hits=2441955  false_alarms=204015955 data=0

sent 188 bytes  received 21,979,001 bytes  2,837.31 bytes/sec
total size is 0  speedup is 0.00
Run Code Online (Sandbox Code Playgroud)

我知道 rsync 按时间确定更改,但是磁盘在 rsync 之间没有更改(无论如何它如何确定磁盘的修改时间?)但是,远程映像上的时间每次都会更新。所以这可能是问题所在。

另一种可能性是磁盘有一个坏扇区,它每次都返回不同的值,并否定正在使用的任何校验和。

我的问题有两个: …

rsync devices disk-image

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

rsync 输出中的“matches”、“hash_hits”和“false_alarms”是什么,“data=0”是否意味着成功?

这是一个必然的问题,当启用复制设备时,如何验证 rsync 是否正确复制了设备?

当重新尝试传输(使用--copy-devices)标志和两个级别的详细程度时-vv,我得到了以下输出:

sudo rsync -vvz --partial --progress --copy-devices /dev/sdb me@otherserver:/backupdisks/mydisk.img
delta-transmission enabled
sdb
320,071,851,520 100%   63.47MB/s    1:20:09 (xfr#1, to-chk=0/1)
total: matches=2441955  hash_hits=2441955  false_alarms=204015955 data=0

sent 188 bytes  received 21,979,001 bytes  2,837.31 bytes/sec
total size is 0  speedup is 0.00
Run Code Online (Sandbox Code Playgroud)

“matches”、“hash_hits”和“false_alarms”值是什么意思,“data=0”是什么意思?

转账成功还是不成功?

rsync

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

如何强制 minicom 等待连接到不存在的设备?

有时,我会尝试调试启动速度非常快的(通常是串行)设备。

如果我让设备运行,我可以使用以下方法连接到它:

minicom -D /dev/ttyUSB0

然后,如果设备断开连接,minicom 将保持打开状态,直到重新连接。

即使设备尚未创建,是否有开关告诉 minicom 在这种“等待”状态下打开?

我试过了-o(不要初始化。)

minicom

4
推荐指数
1
解决办法
1047
查看次数

是否有 POSIX shell 通过使用就地运算符完全消除了对 `cat` 和 `dd` 的需要?

在 Vidar Holen 的博客文章Useless Use of dd 中,他认为这dd实际上是无用的,主要是因为一切都是文件,并且文件可以通过管道传输。

我们还经常在所有 *nix 站点上看到积极劝阻使用cat.

然而,随后Vidar提出了这个例子:

# Rip a cdrom to a .iso file
cat /dev/cdrom > myfile.iso
Run Code Online (Sandbox Code Playgroud)

...我想知道,是否可以在不使用的cat情况下做到这一点?

显然,POSIX shell 假设第一组字符是一个命令(因此“[”=“test”等),这在具有就地运算符的现代语言中是不寻常的。而且,作为一个 shell 实际上是一个解释器,为什么我们没有达到catdd都是多余的地步?

是否有任何基于 POSIX 的 shell 已经完全实现了就地运算符,/dev/cdrom > myfile.iso以至于足以将数据从设备复制到文件?

或者

POSIX 规范中是否有某些内容使这种功能变得不可能?

请注意,此问题与 UUOC 问题略有不同,因为示例仍然使用开头的命令(“<”)而不是就地运算符。所以它仍然符合 first-word-is-a-command 规则。

(顺便说一句,我个人喜欢 dd 因为,如果没有它,说威尔士语会变得不那么有趣。:-p)

shell posix

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