- Что такое init.d | /etc/init.d | Пакет управления службами Linux
- Что такое init?
- Что такое init.d?
- Разница между / etc / init / и /etc/init.d/
- Init.d Android
- Как добавить поддержку init.d в Android?
- Как добавить поддержку init.d в ядро?
- Как добавить в ПЗУ поддержку init.d?
- Универсальный init.d
- Что такое init d Toggler?
- Включить init.d
- Отключить init.d
- Вывод
- Похожие сообщения:
Что такое init.d | /etc/init.d | Пакет управления службами Linux
Здесь мы собираемся обсудить в этом, init.d. Если вы являетесь пользователем операционной системы на базе Linux или Linux, вам обязательно нужно знать условия. что такое init или init.d? Это инициализация операционной системы на базе Linux, такой как Android.
Привет народ! Снова приветствую всех вас в блогах Gossipfunda. Если вы, ребята, пользуетесь ноутбуком, настольным компьютером, мобильным телефоном или планшетом / iPad, вы очень хорошо знаете, что на устройстве есть операционная система, которая также является кодом и становится доступной для пользователей путем разработки для них пользовательского интерфейса (UI). Если вы нормальные люди, то есть используете эти устройства только для удовлетворения своих потребностей, и вы не имеете никакого отношения к архитектуре или бэкенду системы, то эта статья покажется вам неактуальной и неинтересной. Но нет ничего плохого в получении дополнительных знаний. Но если вы технический специалист и интересуетесь разработкой (например, Android-разработка) и знаете, как работает система, то вы должны прочитать эту статью полностью.
Итак, без промедления, давайте двигаться дальше, но не упускайте Kali Linux на Android.
Что такое init?
Инициализация сокращенно обозначается как init. В операционных системах на основе Unix и Unix, таких как Linux и другие, init — это основная операция, которая инициируется ядром при загрузке компьютерной системы. Это действие демона (компьютерная программа, которая продолжает работать в фоновом режиме и напрямую не контролируется пользователем), которая выполняется до тех пор, пока система не будет выключена. Обычно для init назначается идентификатор процесса1. Он запускает остальные родительские процессы.
Что такое init.d?
Это более подходящий термин для пользователей операционной системы Linux. Init.d — это каталог, содержащий ряд сценариев для запуска / остановки / перезапуска / перезагрузки различных служб в вашей компьютерной системе. Если мы увидим архитектуру, мы обнаружим, что в каталоге / etc есть несколько каталогов с именем rc # .d, где # — целое число, отражающее конкретный уровень инициализации в диапазоне от 0 до 6. Внутри каждого из этих каталогов. — это сценарии оболочки, которые управляют различными процессами. Эти сценарии предшествуют сценариям «K» или «S», а сценарии «K» всегда выполняются перед сценариями «S». Системные службы работают вместе между каталогами очень плавно.
- Начинать
- Останавливаться
- Начать сначала
- Перезагрузить
- Принудительная перезагрузка
- Сети
- MySQL
- Sshd
- Голубятня
- Ftpd
- Apache2
- Самба и т. Д.
Так, например, для остановки любой сети команда будет — /etc/init.d/networking stop.
Если вы внесете какие-либо изменения, вам может потребоваться перезагрузка системы. Для этого используйте — /etc/init.d/networking restart.
* Init.d играет решающую роль в сфере настройки и разработки Android. Он также позволяет пользователям устанавливать сценарии оболочки и моды, которые запускаются только во время процесса загрузки.
Разница между / etc / init / и /etc/init.d/
/etc/init.d содержит сценарии оболочки, используемые инструментами инициализации System V (SysVinit). Это стандартный пакет управления сервисами для Linux, содержащий программу init (это первый процесс, который запускается после завершения инициализации ядра) вместе с некоторой инфраструктурой для запуска и остановки сервисов и их настройки. В частности, файлы в /etc/init.d представляют собой сценарии кода, которые реагируют на команды запуска, остановки, перезапуска и перезагрузки (если они поддерживаются) для обработки определенной службы. Эти сценарии могут быть вызваны сразу или обычно через какой-либо дополнительный триггер (обычно наличие символической ссылки в /etc/rc?.d/).
/ etc / init содержит файлы конфигурации, принадлежащие Upstart. Upstart — это новый пакет управления услугами, который пропагандирует Ubuntu. Файлы, представленные в / etc / init, представляют собой файлы конфигурации, управляющие Upstart, когда и как запускать, останавливать, перезагружать конфигурацию или запрашивать статус службы. Здесь следует отметить, что Ubuntu переходит с SysVinit на Upstart. В результате большинство служб придерживаются сценариев оболочки SysVinit, хотя файлы конфигурации Upstart одобрены. Фактически, скрипты SysVinit проходят уровень совместимости в Upstart.
Расширение «.d» в конце имен каталогов в основном обозначает каталог, содержащий множество скриптов и файлов конфигурации для конкретной ситуации. Например, каталог /etc/apt/sources.list.d содержит объединенные файлы для создания виртуальных источников, а список /etc/network/if-up.d содержит сценарии, которые запускаются во время активации сетевого интерфейса. Эта структура в основном используется, когда каждая запись доставляется из разных источников в каталоге, так что каждый пакет может помещать свой собственный плагин, лишенный синтаксического анализа даже одного файла конфигурации для ссылки на себя.
Init.d Android
Как мы знаем, Android — это операционная система, основанная на операционной системе Linux, поэтому она имеет сходство с Linux. Как и Linux, Android также использует специальный метод инициализации в процессе загрузки. Теперь вопрос в том, что он делает в ОС Android? Как мы видели в случае Linux, он запускает сценарии кода, находящиеся в каталоге /etc/init.d, поэтому в случае Android он запускает сценарии, находящиеся в папке /system/etc/init.d.
* По умолчанию ПЗУ не поддерживают init.d, но могут быть настроены, если вам нужно использовать его на них.
Как добавить поддержку init.d в Android?
- Поддержка init.d в ядре или встроенная поддержка init.d
- Использование файла install-recovery.sh для включения init d
* Прежде чем переходить ко второму методу, проверьте доступность файла install-recovery.sh, потому что большинство устройств Android (не все) имеют этот файл, который вступает в действие при загрузке системы.
* Всегда рекомендуется делать полную резервную копию Android перед тем, как продолжить работу любым из двух методов.
- ПК с операционной системой Linux или Windows
- Мобильный телефон с рутированным доступом
- Базовые знания об использовании командной строки или терминала
* В качестве начального шага проверьте, поддерживает ли телефон Android init.d или нет.
- Найдите папку /system/etc/init.d/ с помощью файлового менеджера. Доступ с правами root необходим для просмотра / system /.
- Если на устройстве есть папка /system/etc/init.d/, то есть вероятность, что она уже имеет поддержку init.d.
Если поддержка init d недоступна, выберите исправление ядра
программное обеспечение xADB — минимальный ADB и fastboot, инструменты платформы SDK, Android Studio | Настройка среды ADB
Как добавить поддержку init.d в ядро?
- Сначала распакуйте ядро и ramdisk в последовательном порядке.
- Затем, после первого шага откройте Init.rc с помощью текстового редактора, такого как блокнот и т. Д.
- Теперь, после открытия Init.rc, добавьте эти коды в конце, перед абзацем, в котором присутствует команда «stop bootanim»:
служба sysinit / system / bin / sysinit oneshot
Как добавить в ПЗУ поддержку init.d?
- После добавления кода установите разрешения sysinit на 777 или 555 (rwxrwxr-x | rwxrwxrwx)
- Теперь, наконец, создайте каталог в system / etc и назовите его init.d.
Универсальный init.d
Это корневое приложение с открытым исходным кодом для имитации поведения механизма ядра init.d.
Теперь может возникнуть вопрос: каков механизм ядра init d? Итак, чтобы ответить на этот вопрос, этот механизм представляет собой автоматическое выполнение сценариев оболочки, находящихся в папке /system/etc/init.d, при каждой загрузке системы.
Это универсальный метод, потому что все происходит на стороне приложения и изменение системных файлов не требуется. Он проверяет поведение механизма ядра init.d. Он проверяет, когда устройство перезагружается, и выполняет сценарии, расположенные в /system/etc/init.d.
Кроме того, механизм предоставления поддержки init.d поставляется с механизмом init d на стороне ядра для поддержки обнаружения, так что ваши сценарии int.d не выполняются более одного раза, так как это просто увеличивает время загрузки. При запуске теста на SD-карте создается файл. Он должен сгенерировать небольшой сценарий init.d, который отвечает за создание файла. После перезагрузки он должен проверить файл, созданный сгенерированным скриптом, который действительно был создан, чтобы определить, имеет ли ваше ядро уже встроенную поддержку init.d или нет.
Дополнительные функции этого приложения — это возможность редактировать, управлять, запускать и удалять сценарии init d простым нажатием кнопки.
* Вы можете посетить следующий репозиторий github, чтобы найти исходный код вышеуказанного приложения.
Вы также можете внести свой вклад.
Что такое init d Toggler?
Init.d toggler — очень простое приложение, которое позволяет отключать или включать поддержку init.d.
На данный момент мы знаем, что init.d содержит сценарии, такие как настройки, здесь я добавляю дополнительную информацию о том, что сценарии с разрешениями как минимум RWX-RX-RX (755), присутствующие в этом каталоге, выполняются во время процесса загрузки.
Busybox и Root необходимы для успешного выполнения сценариев init d.
Итак, давайте посмотрим, что делают две функции переключателя init.d:
Включить init.d
- Измените /system/etc/install-recovery.sh
- Поместите файл / system / bin / sysinit
- Сделайте /system/etc/init.d dir
Отключить init.d
- Восстановить /system/etc/install-recovery.sh
- Удалить файл / system / bin / sysinit
- Удалить каталог /system/etc/init.d
Вывод
В этой статье мы начали получать знания с введения init. Затем мы расширили наши знания до init.d. Затем мы увидели разницу между / etc / init / и /etc/init.d/. Затем мы изучили init d для android. Поскольку мы знаем, что Linux — это операционная система с открытым исходным кодом, поэтому другие операционные системы могут быть разработаны с некоторыми модификациями. То же самое и с Android, поскольку это также операционная система с открытым исходным кодом на основе Linux. Следовательно, он также имеет процесс инициализации во время процесса загрузки. Поэтому стало обязательным его обсуждение в продолжении.
Далее мы обсудили возможность проверки наличия init.d в нашем устройстве. А если его под рукой нет, то как добавить в ядро. Следующий раздел был посвящен Universal init.d, а затем — переключателю init d. Это казалось очень маленьким сроком, но есть так много вещей, которые нужно обсудить. Даже эта статья, состоящая из более чем 1500 слов, не может охватить все, что связано с инициализацией.