На быстром взгляде это похоже на подлинную fontconfig ошибку мне, так как это работает правильно здесь, и у меня действительно есть и DejaVu и Unifont установленными:
$ fc-match Sans
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans"
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans "
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans 9"
DejaVuSans.ttf: "DejaVu Sans" "Book"
Но на более внимательном рассмотрении мы видим еще некоторые детали. Все еще может быть fontconfig ошибка где-нибудь, но fc-match
по-видимому, возвращает значение по умолчанию, когда оно ничего не находит. Это - просто значение по умолчанию, DejaVu в моей системе:
$ fc-match uni
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match unifont
Unifont.ttf: "unifont" "Medium"
$ fc-match 4e5zedrkbxp
DejaVuSans.ttf: "DejaVu Sans" "Book"
Страница справочника fc-match(1)
подтверждает, что команда не делает точного соответствия, но возвращает то, что это думает, лучшие соответствия. Вы видите их всех с -a
или более краткое -s
:
$ fc-match -s uni # now it also finds unifont
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold"
DejaVuSans-Oblique.ttf: "DejaVu Sans" "Oblique"
DejaVuSans-BoldOblique.ttf: "DejaVu Sans" "Bold Oblique"
n019003l.pfb: "Nimbus Sans L" "Regular"
helvR12-ISO8859-1.pcf.gz: "Helvetica" "Regular"
FreeSans.ttf: "FreeSans" "нормален"
KanjiStrokeOrders.ttf: "KanjiStrokeOrders" "Medium"
Eadui.ttf: "Eadui" "Medium"
Unifont.ttf: "unifont" "Medium"
FreeSerif.ttf: "FreeSerif" "нормален"
cu12.pcf.gz: "ClearlyU" "Regular"
cu-pua12.pcf.gz: "ClearlyU PUA" "Regular"
10x20.pcf.gz: "Fixed" "Regular"
Относительно которого можно просто сказать, "завинчивают Вас" и добавляют другой поиск сверху его для получения соответствия путем, Вы ожидаете это:
$ fc-match -s uni | grep -i uni
Unifont.ttf: "unifont" "Medium"
Но, Ваш вопрос о том, как точно он делает соответствие. FcFontMatch(3)
и далее примерно подтвердите, что это использует принимать значение по умолчанию/настраивать значение и определенно подтверждает, что сначала изменяет критерий поиска, который Вы передали ему. Для чего-либо еще глубже, необходимо будет осмотреть код (запустите с вышеупомянутой функции).
Это кажется мне, Лучший способ НЕ состоит в том, чтобы использовать Жесткую ссылку, но использовать символьную ссылку вместо этого. Вы найдете, что это намного меньше стычки, и вещи работают просто великолепно. Жесткая ссылка имеет некоторые интересные проблемы, если Вы не знаете о них.
Посмотрите man ln
и контроль -s
опция!
В символьных ссылках общего использования вместо Жестких ссылок.
наиболее вероятно что Ваш /home
каталог не находится на том же разделе как /root
каталог.
Можно легко проверить это с cat /etc/fstab
hardlinks не может быть создан между различными разделами, только символьные ссылки могут.
Вероятно, ранее папка с символической ссылкой была заменена папкой ее реального назначения в исходном коде. И теперь ваш сценарий резервного копирования не работает.
Файловые системы, такие как ext3/ext4, используют i -узлов для хранения файловых метаданных -данных (режима, времени, ctime, mtime, uid, gid, размера, количества ссылок _, ACL и т. д.)
i -таблица узлов представляет собой линейный массив struct ext4 _inode. эта структура ext4 _inode имеет поле i _количество ссылок _. это относится к количеству жестких ссылок.
всякий раз, когда создается новая жесткая ссылка на файл, эта ссылка _значение счетчика этих файлов в -узле увеличивается.
напр.
лс -л /home/raju/test.sh
-rwxrwxrwx 2 raju raju 287 23 августа 23 :19 /home/raju/test.sh
здесь 2 — количество ссылок.
разные тома имеют разные i -таблицы узлов.
Каталог— это плоский файл, в котором имена файлов сопоставляются с номером узла i -в файловой системе.
записи каталогов в файловой системе, которые ссылаются на один и тот же номер узла i ---, они называются жесткими ссылками.
запись каталога одной файловой системы (том1 )не может ссылаться на i -узел, который находится в другой файловой системе (том2 ).
Таким образом, ln завершается с ошибкой недопустимой перекрестной связи -устройства.
но вы всегда можете создать символические ссылки на файлы в разных файловых системах/томах.
символические ссылки не используют узел i -для ссылки на файл, они используют имена путей к файлам. проверьте цель ссылки символической ссылки.
ссылка:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table