Смена init в Debian

Knoppix

Модераторы: Warderer, Модераторы разделов

Ответить
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Смена init в Debian

Сообщение UnixNoob »

Здравствуйте. Попалась мне вот эта статья в wiki, по смене init в Debian. Оно и правда все так просто или будут проблемы? Статья очень короткая, не знаю все-ли в ней учтено. Не нужен ли eudev какой-нибудь, или он подтянется как зависимость? На русском языке оно еще короче. Или если не хочется systemd лучше Devuan использовать?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Смена init в Debian

Сообщение Rootlexx »

Я проделывал ради эксперимента; правда, в лишь базовой системе до установки графического окружения. Там это даже проще.
В целом KDE работает нормально, видимых проблем не встретил. С другими DE не пробовал. С GNOME могут возникнуть проблемы, поскольку там используется systemd для запуска пользовательского сеанса, но это нужно проверять.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Смена init в Debian

Сообщение ormorph »

UnixNoob писал:
06.11.2021 16:37
Или если не хочется systemd лучше Devuan использовать?
Именно так, не стоит использовать что то другое если система собиралась с поддержкой systemd. Можно просто поломать то, что и так хорошо работает, там вся завязка на systemd, по крошатся всякие dbus и т.п. Работать может и будет, но все действия уже будешь делать только под рутом через консоль.
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Смена init в Debian

Сообщение UnixNoob »

ormorph писал(а):
06.11.2021 17:02
Именно так, не стоит использовать что то другое если система собиралась с поддержкой systemd
Ну они в changelog Debian 11 указали, что он поддерживает разные init. Неужели оно для галочки?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Смена init в Debian

Сообщение Rootlexx »

ormorph писал(а):
06.11.2021 17:02
Можно просто поломать то, что и так хорошо работает, там вся завязка на systemd, по крошатся всякие dbus и т.п.
Можно конкретные примеры поломок, или вы просто теоретизируете?

Ибо что пакеты систем инициализации, что elogind входят в состав дистрибутива и имеют статус поддерживаемых. Если бы их использование приводило к серьёзным проблемам, то они в стабильный выпуск просто не попали бы.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Смена init в Debian

Сообщение ormorph »

UnixNoob писал:
06.11.2021 17:05
Ну они в changelog Debian 11 указали, что он поддерживает разные init. Неужели оно для галочки?
Если только совместно с библиотеками systemd, может работать и будет. Я как то к devuan пробовал добавлять репозиторий debian, и как то на обновлении добавились пакеты от debian, там явно dbus ругался на недостаток systemd. По этому скорее всего оно как бы и поддерживается, но все равно совместно с systemd.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Смена init в Debian

Сообщение Rootlexx »

ormorph писал(а):
06.11.2021 17:12
Если только совместно с библиотеками systemd
Даже если так — libsystemd0 нужна лишь для общения с systemd init, и в случае отсутствия последнего в системе просто ничего не делает.

И да, она заменяется на libelogind0.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Смена init в Debian

Сообщение ormorph »

Rootlexx писал:
06.11.2021 17:19
И да, она заменяется на libelogind0.
Хм, если у вас сейчас debian стоит, то не можете показать вывод?:

Shell

$ ldd /usr/bin/dbus-daemon
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Смена init в Debian

Сообщение Rootlexx »

ormorph писал(а):
06.11.2021 17:30
Хм, если у вас сейчас debian стоит, то не можете показать вывод?:
Так у меня systemd.

Ну вот поставил в виртуалку, заодно проверив Xfce4: https://ibb.co/XkCKB6p.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Смена init в Debian

Сообщение ormorph »

Rootlexx писал:
06.11.2021 17:58
Так у меня systemd.
Считаете, что если вы удалите libsystemd.so.0 и добавите libelogind.so.0, то ABI dbus-daemon поменяется и он подхватит библиотеку libelogind.so.0?
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Смена init в Debian

Сообщение Rootlexx »

ormorph писал(а):
06.11.2021 18:05
Считаете, что если вы удалите libsystemd.so.0 и добавите libelogind.so.0, то ABI dbus-daemon поменяется и он подхватит библиотеку libelogind.so.0?
ABI libsystemd0 и libelogind0 совпадают. Разумеется, всё работает: https://ibb.co/T816nXp.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Смена init в Debian

Сообщение ormorph »

Rootlexx писал:
06.11.2021 18:23
ABI libsystemd0 и libelogind0 совпадают. Разумеется, всё работает: https://ibb.co/T816nXp.
А вот оно что, проверил, да почти совпадают. Только нужно сделать симлинк с libelogind.so.0 на libsystemd0.
Тут различия в функциях:
Spoiler

Код: Выделить всё

 
 --- /elogind1.list	2021-11-06 19:18:16.842910566 +0300
+++ /systemd1.list	2021-11-06 19:18:35.413537457 +0300
@@ -15,6 +15,7 @@
sd_bus_call_method_async
 sd_bus_can_send
 sd_bus_close
+sd_bus_close_unref
 sd_bus_creds_get_audit_login_uid
 sd_bus_creds_get_audit_session_id
 sd_bus_creds_get_augmented_mask
@@ -43,7 +44,9 @@
 sd_bus_creds_get_tty
 sd_bus_creds_get_uid
 sd_bus_creds_get_unique_name
+sd_bus_creds_get_unit
 sd_bus_creds_get_user_slice
+sd_bus_creds_get_user_unit
 sd_bus_creds_get_well_known_names
 sd_bus_creds_has_bounding_cap
 sd_bus_creds_has_effective_cap
@@ -72,6 +75,7 @@
 sd_bus_error_get_errno
 sd_bus_error_has_name
 sd_bus_error_is_set
+sd_bus_error_move
 sd_bus_error_set
 sd_bus_error_set_const
 sd_bus_error_set_errno
@@ -83,6 +87,7 @@
 sd_bus_get_address
 sd_bus_get_allow_interactive_authorization
 sd_bus_get_bus_id
+sd_bus_get_close_on_exit
 sd_bus_get_connected_signal
 sd_bus_get_creds_mask
 sd_bus_get_current_handler
@@ -94,6 +99,7 @@
 sd_bus_get_events
 sd_bus_get_exit_on_disconnect
 sd_bus_get_fd
+sd_bus_get_method_call_timeout
 sd_bus_get_name_creds
 sd_bus_get_name_machine_id
 sd_bus_get_n_queued_read
@@ -174,6 +180,7 @@
 sd_bus_message_read_array
 sd_bus_message_read_basic
 sd_bus_message_read_strv
+sd_bus_message_readv
 sd_bus_message_ref
 sd_bus_message_rewind
 sd_bus_message_seal
@@ -222,11 +229,13 @@
 sd_bus_set_allow_interactive_authorization
 sd_bus_set_anonymous
 sd_bus_set_bus_client
+sd_bus_set_close_on_exit
 sd_bus_set_connected_signal
 sd_bus_set_description
 sd_bus_set_exec
 sd_bus_set_exit_on_disconnect
 sd_bus_set_fd
+sd_bus_set_method_call_timeout
 sd_bus_set_monitor
 sd_bus_set_property
 sd_bus_set_sender
@@ -271,6 +280,66 @@
 sd_bus_try_close
 sd_bus_unref
 sd_bus_wait
+sd_device_enumerator_add_match_parent
+sd_device_enumerator_add_match_property
+sd_device_enumerator_add_match_subsystem
+sd_device_enumerator_add_match_sysattr
+sd_device_enumerator_add_match_sysname
+sd_device_enumerator_add_match_tag
+sd_device_enumerator_allow_uninitialized
+sd_device_enumerator_get_device_first
+sd_device_enumerator_get_device_next
+sd_device_enumerator_get_subsystem_first
+sd_device_enumerator_get_subsystem_next
+sd_device_enumerator_new
+sd_device_enumerator_ref
+sd_device_enumerator_unref
+sd_device_get_devlink_first
+sd_device_get_devlink_next
+sd_device_get_devname
+sd_device_get_devnum
+sd_device_get_devpath
+sd_device_get_devtype
+sd_device_get_driver
+sd_device_get_ifindex
+sd_device_get_is_initialized
+sd_device_get_parent
+sd_device_get_parent_with_subsystem_devtype
+sd_device_get_property_first
+sd_device_get_property_next
+sd_device_get_property_value
+sd_device_get_subsystem
+sd_device_get_sysattr_first
+sd_device_get_sysattr_next
+sd_device_get_sysattr_value
+sd_device_get_sysname
+sd_device_get_sysnum
+sd_device_get_syspath
+sd_device_get_tag_first
+sd_device_get_tag_next
+sd_device_get_usec_since_initialized
+sd_device_has_tag
+sd_device_monitor_attach_event
+sd_device_monitor_detach_event
+sd_device_monitor_filter_add_match_subsystem_devtype
+sd_device_monitor_filter_add_match_tag
+sd_device_monitor_filter_remove
+sd_device_monitor_filter_update
+sd_device_monitor_get_event
+sd_device_monitor_get_event_source
+sd_device_monitor_new
+sd_device_monitor_ref
+sd_device_monitor_set_receive_buffer_size
+sd_device_monitor_start
+sd_device_monitor_stop
+sd_device_monitor_unref
+sd_device_new_from_device_id
+sd_device_new_from_devnum
+sd_device_new_from_subsystem_sysname
+sd_device_new_from_syspath
+sd_device_ref
+sd_device_set_sysattr_value
+sd_device_unref
 sd_event_add_child
 sd_event_add_defer
 sd_event_add_exit
@@ -300,6 +369,7 @@
 sd_event_source_get_destroy_callback
 sd_event_source_get_enabled
 sd_event_source_get_event
+sd_event_source_get_floating
 sd_event_source_get_inotify_mask
 sd_event_source_get_io_events
 sd_event_source_get_io_fd
@@ -316,6 +386,7 @@
 sd_event_source_set_description
 sd_event_source_set_destroy_callback
 sd_event_source_set_enabled
+sd_event_source_set_floating
 sd_event_source_set_io_events
 sd_event_source_set_io_fd
 sd_event_source_set_io_fd_own
@@ -331,19 +402,85 @@
 sd_get_seats
 sd_get_sessions
 sd_get_uids
+sd_hwdb_enumerate
+sd_hwdb_get
+sd_hwdb_new
+sd_hwdb_ref
+sd_hwdb_seek
+sd_hwdb_unref
 sd_id128_from_string
 sd_id128_get_boot
+sd_id128_get_boot_app_specific
 sd_id128_get_invocation
 sd_id128_get_machine
 sd_id128_get_machine_app_specific
 sd_id128_randomize
 sd_id128_to_string
 sd_is_fifo
+sd_is_mq
 sd_is_socket
 sd_is_socket_inet
 sd_is_socket_sockaddr
 sd_is_socket_unix
 sd_is_special
+sd_journal_add_conjunction
+sd_journal_add_disjunction
+sd_journal_add_match
+sd_journal_close
+sd_journal_enumerate_data
+sd_journal_enumerate_fields
+sd_journal_enumerate_unique
+sd_journal_flush_matches
+sd_journal_get_catalog
+sd_journal_get_catalog_for_message_id
+sd_journal_get_cursor
+sd_journal_get_cutoff_monotonic_usec
+sd_journal_get_cutoff_realtime_usec
+sd_journal_get_data
+sd_journal_get_data_threshold
+sd_journal_get_events
+sd_journal_get_fd
+sd_journal_get_monotonic_usec
+sd_journal_get_realtime_usec
+sd_journal_get_timeout
+sd_journal_get_usage
+sd_journal_has_persistent_files
+sd_journal_has_runtime_files
+sd_journal_next
+sd_journal_next_skip
+sd_journal_open
+sd_journal_open_container
+sd_journal_open_directory
+sd_journal_open_directory_fd
+sd_journal_open_files
+sd_journal_open_files_fd
+sd_journal_perror
+sd_journal_perror_with_location
+sd_journal_previous
+sd_journal_previous_skip
+sd_journal_print
+sd_journal_printv
+sd_journal_printv_with_location
+sd_journal_print_with_location
+sd_journal_process
+sd_journal_query_unique
+sd_journal_reliable_fd
+sd_journal_restart_data
+sd_journal_restart_fields
+sd_journal_restart_unique
+sd_journal_seek_cursor
+sd_journal_seek_head
+sd_journal_seek_monotonic_usec
+sd_journal_seek_realtime_usec
+sd_journal_seek_tail
+sd_journal_send
+sd_journal_sendv
+sd_journal_sendv_with_location
+sd_journal_send_with_location
+sd_journal_set_data_threshold
+sd_journal_stream_fd
+sd_journal_test_cursor
+sd_journal_wait
 sd_listen_fds
 sd_listen_fds_with_names
 sd_login_monitor_flush
Спасибо сказали:
Ответить