Как упомянуто в @ Kirill-A Ответ, / etc / Debian_Version
должен присутствовать в любом производном Debian.
Еще один полезный подход к выяснению информации о текущем распределении на основе Debian и его «родословной» является DPKG-Vendor
; Например,
dpkg-vendor --derives-from Debian
должен преуспеть на любом производном Debian (и на самом деле Debian),
dpkg-vendor --derives-from Ubuntu
должен преуспеть на любой производной Ubuntu (и на себя Ubuntu) и т. Д. Распределение считается производным, а также о его Родители, поэтому Ubuntu - это производное Убунту и дебиала.
DPKG-Vendor
поставляется в dpkg-dev
, поэтому необходимо установить для доступной команды, что несколько сокращает полезность.
Нет, на самом деле.
Вы можете проверить отладочную трассировку вашей операции. Предполагая, что вы на Linux, это stroace
.
mkdir test1
ln -s test1 test2
strace -o strace1.log ls -l test1
strace -o strace2.log ls -l test2
Затем разверните свои два журнала.
Вы увидите, что они в основном та же последовательность операций. Они звонят LSTAT
, которая является версией статуса
, которая следует SymLinks.
Вы можете проверить разницу скорости, добавив флаг -T
- stroce
. С симликой LSTAT
принял 0,000035с, и без него занял 0,000031с.
Такие вещи, такие как файловые метаданные, такие как это, также кэшируются довольно эффективно - большинство кешей предполагают, что метаданные - довольно высокий приоритет, потому что он частый доступен и маленький.
Так короткий ответ - нет, это вряд ли заставит вас каким-либо значительным накладным расходом.