cp
не имеет этой опции. Вы могли записать сценарий обертки, но это довольно просто.
ln -f $^ $@ 2>/dev/null || cp -f $^ $@
GNU Coreutils 7.5, представленный --reflink
опция. Если Вы передаете --reflink=auto
и базовая файловая система поддерживает копию на записи (например, Btrfs или ZFS), и копия, оказывается, находится на том же устройстве, затем cp
создаст новый inode, но не скопирует содержание; иначе cp
выполняет нормальную копию. Это все еще не жесткая ссылка (цель всегда будет другим inode), но это, вероятно, еще лучше для Вашего варианта использования. Однако, если Вы будете на ext4 (как большинство людей в наше время), который не поддерживает копию на записи, то это не поможет Вам.
Решение довольно простое, просто замените auto
на allow-hotplug
. Итак, я закончил с этим:
allow-hotplug lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.150.1
netmask 255.255.255.0
allow-hotplug eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
allow-hotplug eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
allow-hotplug eth0
iface eth0 inet dhcp
post-up brctl addbr br0
post-up brctl addif br0 eth1 eth2
post-up ifconfig br0 192.168.10.1
pre-down ifconfig br0 0.0.0.0
pre-down brctl delif br0 eth1 eth2
pre-down ifconfig br0 down
pre-down brctl delbr br0
Теперь загрузка системы происходит очень быстро.
У меня была та же проблема, но имена файлов немного отличались.
В /etc/network/interfaces.d (Обратите внимание на.d )в имени папки. Внутри папки находится файл «setup», в котором я изменил «auto eth0» на «разрешить -hotplug eth0»
.Кажется, это сработало:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp