могу ли я удалить ядро, которое сейчас работает в manjaro linux

Во-первых, /dev/core - это символическая ссылка на обычный файл /proc/kcore. Поэтому и test -h /dev/core, и test -f /dev/core истинны: -h, потому что это символическая ссылка, -f, потому что цель символической ссылки - обычный файл.

Теперь о том, что такое /proc/kcore. Это обычный файл, но он немного отличается от обычных файлов, к которым вы привыкли. Всякий раз, когда программа делает что-то с файлом (открывает, читает, записывает и т.д.), это делается через системный вызов, т.е. путем выполнения некоторого кода в ядре. Код, который будет вызван, зависит от типа файловой системы. Для файловой системы на диске, такой как ext4 или FAT, этот код определяет, как расположены части данных, составляющие файл, и выполняет вызовы к базовому уровню хранения (например, драйверу диска) для чтения и записи этих частей. Для сетевой файловой системы, такой как NFS или Samba, этот код посылает сетевые пакеты на файловый сервер. Для /proc, который является точкой монтирования для файловой системы procfs, этот код отображает или изменяет структуры данных ядра.

Большинство файлов под /proc сообщают информацию о системе, например, /proc/mounts сообщает список точек монтирования, /proc/modules сообщает список загруженных модулей, /proc/123/stat сообщает информацию о состоянии процесса с PID 123, и т.д. Файл /proc/kcore сообщает о содержимом физической памяти системы в формате, подходящем для отладчика, поэтому чтение байтов из /proc/kcore по сути считывает содержимое физической памяти.

Файлы в файловой системе procfs можно считать "волшебными", примерно так же, как файлы устройств являются "волшебными". Файлы устройств и файловые системы типа procfs и sysfs получают свою магию разными способами: файлы устройств могут быть созданы в любой (ну, в большинстве) файловой системе, они являются магическими, потому что в их записи каталога написано "блочное устройство" или "символьное устройство" вместо "обычный файл"; файлы под /proc и /sys являются магическими, потому что вся файловая система, в которой они находятся, является магической.

За исключением того, что, как мы видели выше, никакой магии на самом деле нет. Это просто код ядра, вычисляет ли он расположение блоков и считывает их с диска или форматирует структуры данных ядра.

Документацию по файловой системе procfs можно найти в proc man page и kernel documentation.

1
14.05.2018, 21:54
2 ответа

Desde la opción avanzada del menú Grub, debe iniciar el kernel 4.14y luego eliminar la versión 4.16.

Para evitar que se actualice el kernel, edite su /etc/pacman.conf, agregue la siguiente línea:

IgnorePkg = linux

Luego actualice grub.

0
28.01.2020, 00:35

Во избежание недоразумений никогда не пытайтесь удалить ядро ​​во время его работы.

Вы всегда можете проверить, какое ядро ​​запущено, используя следующую команду в терминале:

mhwd-kernel -li

Вывод может выглядеть следующим образом:

4.14.74-1-MANJARO (linux414)
The following kernels are installed in your system:
* linux414
* linux416

В приведенном выше примере система работает под управлением ядра версии 4.14.74 -1; Версия 4.16 доступна, но не используется. Для того, чтобы избавиться от 4.16, команда должна быть

sudo mhwd-kernel -r linux416

См. Удаление ядер в Manjaro Wiki.

Я использую ядро ​​4.14.74 -1 в своей собственной системе, и хотя диспетчер настроек Manjaro сообщает мне, что доступны более новые версии ядра (, например. 4.16.18 _rt12 -1, 4.17.19 -1 и 4.18.12 -1 ), они не будут установлены, пока я не нажму кнопку «Установить». Я никогда не менял /etc/pacman.confдля достижения этого, так как часть, указанная в ответе GAD3R, читается как (в моей системе):

 # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
 #IgnorePkg   =
 #IgnoreGroup =
0
28.01.2020, 00:35

Теги

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