Безопасно ли устанавливать `--reflink=auto` по умолчанию для cp?

Если программа специально не проверяет какие-либо вещи, вы должны иметь возможность делать

# mv /usr/local/MATLAB /disk2/MATLAB
# ln -s /disk2/MATLAB /usr/local

И все должно продолжать работать в обычном режиме.

Действительно, на моих домашних машинах я делаю это для всего / usr / local (я символически связываю его с / datadisk / local ), поэтому я могу обновить ОС корневого диска без влияет на установленное программное обеспечение!

2
13.04.2017, 15:36
1 ответ

Мое решение (, так как я запускаю Gentoo, и это действительно удобно ), это попросить менеджера пакетов установить исправление. Этот патч настраивает cpи installдля использования --reflink=auto по умолчанию, и он более эффективен и универсален, чем взламывать его с помощью оберток :

.
∞ cat /etc/portage/patches/sys-apps/coreutils/coreutils-reflink-auto.patch 
--- a/src/install.c.orig    2021-04-10 15:13:14.698039128 +0300
+++ a/src/install.c 2021-04-10 15:13:24.114292838 +0300
@@ -264,7 +264,7 @@
 {
   cp_options_default (x);
   x->copy_as_regular = true;
-  x->reflink_mode = REFLINK_NEVER;
+  x->reflink_mode = REFLINK_AUTO;
   x->dereference = DEREF_ALWAYS;
   x->unlink_dest_before_opening = true;
   x->unlink_dest_after_failed_open = false;
--- a/src/cp.c.orig 2021-04-10 15:12:03.591111323 +0300
+++ a/src/cp.c  2021-04-10 15:12:40.576190820 +0300
@@ -793,7 +793,7 @@
   x->move_mode = false;
   x->install_mode = false;
   x->one_file_system = false;
-  x->reflink_mode = REFLINK_NEVER;
+  x->reflink_mode = REFLINK_AUTO;
 
   x->preserve_ownership = false;
   x->preserve_links = false;
0
10.04.2021, 20:00

Теги

Похожие вопросы