Не могу создать другой раздел?

PhantomJS уважает fontconfig каталоги и даже старые font.dir/font.scale конфигурации постскриптумных шрифтов. Например, у меня есть старый шрифт Type 1:

$ find ~/.fonts/Type1/
/home/grochmal/.fonts/Type1/
/home/grochmal/.fonts/Type1/augie___.pfb
/home/grochmal/.fonts/Type1/fonts.scale
/home/grochmal/.fonts/Type1/fonts.dir

(Он был создан с помощью старого X11 mkfontdir)

А для лучшего примера я скопирую шрифт fotnconfig в свой домашний каталог:

$ mkdir -p ~/.local/share/fonts/TTF
$ cp /usr/share/fonts/TTF/HomemadeApple.ttf ~/.local/share/fonts/TTF
$ fc-cache  # just in case

Теперь посмотрим, как PhantomJS использует их (используя классический пример из PhantomJS github):

$ wget https://raw.githubusercontent.com/ariya/phantomjs/master/examples/rasterize.js

strace печатает все системные вызовы (включая доступ к файловой системе):

$ strace phantomjs rasterize.js 2>&1 | grep font | grep grochmal |grep -v cache
stat("/home/grochmal/.config/fontconfig/conf.d", 0x7ffff95fbbc0) = -1 ENOENT (No such file or directory)
stat("/home/grochmal/.config/fontconfig/conf.d", 0x7ffff95fbbc0) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.config/fontconfig/conf.d", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.config/fontconfig/conf.d", R_OK) = -1 ENOENT (No such file or directory)
stat("/home/grochmal/.config/fontconfig/fonts.conf", 0x7ffff95fbbc0) = -1 ENOENT (No such file or directory)
stat("/home/grochmal/.config/fontconfig/fonts.conf", 0x7ffff95fbbc0) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.config/fontconfig/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.config/fontconfig/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.fonts.conf.d", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.fonts.conf.d", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
access("/home/grochmal/.fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
stat("/home/grochmal/.local/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.local/share/fonts", O_RDONLY|O_CLOEXEC) = 4
stat("/home/grochmal/.local/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.local/share/fonts", O_RDONLY|O_CLOEXEC) = 4
open("/home/grochmal/.local/share/fonts", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
stat("/home/grochmal/.local/share/fonts/HomemadeApple.ttf", {st_mode=S_IFREG|0644, st_size=110080, ...}) = 0
open("/home/grochmal/.local/share/fonts/HomemadeApple.ttf", O_RDONLY) = 6
stat("/home/grochmal/.local/share/fonts/TTF", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/home/grochmal/.fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.fonts", O_RDONLY|O_CLOEXEC) = 4
stat("/home/grochmal/.local/share/fonts/TTF", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.local/share/fonts/TTF", O_RDONLY|O_CLOEXEC) = 4
stat("/home/grochmal/.local/share/fonts/TTF", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.local/share/fonts/TTF", O_RDONLY|O_CLOEXEC) = 4
open("/home/grochmal/.local/share/fonts/TTF", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
stat("/home/grochmal/.local/share/fonts/TTF/HomemadeApple.ttf", {st_mode=S_IFREG|0644, st_size=110080, ...}) = 0
open("/home/grochmal/.local/share/fonts/TTF/HomemadeApple.ttf", O_RDONLY) = 5
stat("/home/grochmal/.fonts/Type1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/grochmal/.fonts/Type1", O_RDONLY|O_CLOEXEC) = 4

И PhantomJS пошел в каталоги шрифтов и загрузил их!

У меня нет ~/.config/fontconfig/fonts.conf, который может понадобиться для шрифтов CJK (потому что те могут нуждаться в некоторой фактической конфигурации), но вы можете скопировать файл из /etc/fonts/conf. d/* (в частности, какой-нибудь нелатинский шрифт, чтобы получить пример конфигурации).

Тем не менее, вы можете обойтись без большинства шрифтов, просто закинув их в ~/.local/share/fonts/TTF и запустив fc-cache.

Оговорка: старый RedHat (точно 5, не уверен насчет 6) может не использовать fontconfig, поэтому я включил шрифт PFB в пример. В этом случае вам нужно использовать ttmkfdir и mkfontdir для создания файлов font.scale и font.dir.

Ссылки:

3
09.07.2017, 01:51
3 ответа

Если вы хотите создать новый раздел из существующего, таблица разделов должна быть переписана. Кроме того, когда вы хотите переписать таблицу разделов, это влияет на существующую файловую систему. Теперь, когда вы пытаетесь сделать это из существующей установки и хотите записать таблицу разделов в корневую таблицу разделов, это влияет на таблицу корневых разделов. Так вот, крайне опасно (что-то вроде "$rm-rf/"). В наши дни Linux достаточно умен, чтобы обнаруживать такой беспорядок, и он заранее останавливает пользователя.

Вместо этого вы должны использовать Linux в режиме реального времени, использовать GParted и попробовать переразметить. В это время ваш жесткий диск не будет вашей основной установкой. Таким образом, это позволит вам сделать это. Но помните, вы все равно рискуете потерять данные. Итак, сначала сделайте резервную копию данных, а затем попробуйте выполнить такую ​​​​задачу.

1
27.01.2020, 21:25

Проблема в том, что вам не разрешено изменять размер корневой файловой системы, потому что она используется. Вы можете использовать Gparted для изменения размера, но с liveCD, а не с вашей установки Kali.

1
27.01.2020, 21:25

В настоящее время вы используете корневой раздел, поэтому изменение размера не произойдет. Чтобы изменить размер, вы можете попробовать с live boot CD или с флешки.

0
27.01.2020, 21:25

Теги

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