Смена init в Debian
Модераторы: Warderer, Модераторы разделов
-
- Сообщения: 1476
- ОС: Slackware
Смена init в Debian
Здравствуйте. Попалась мне вот эта статья в wiki, по смене init в Debian. Оно и правда все так просто или будут проблемы? Статья очень короткая, не знаю все-ли в ней учтено. Не нужен ли eudev какой-нибудь, или он подтянется как зависимость? На русском языке оно еще короче. Или если не хочется systemd лучше Devuan использовать?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
-
- Бывший модератор
- Сообщения: 4458
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Смена init в Debian
Я проделывал ради эксперимента; правда, в лишь базовой системе до установки графического окружения. Там это даже проще.
В целом KDE работает нормально, видимых проблем не встретил. С другими DE не пробовал. С GNOME могут возникнуть проблемы, поскольку там используется systemd для запуска пользовательского сеанса, но это нужно проверять.
В целом KDE работает нормально, видимых проблем не встретил. С другими DE не пробовал. С GNOME могут возникнуть проблемы, поскольку там используется systemd для запуска пользовательского сеанса, но это нужно проверять.
Спасибо сказали:
-
- Сообщения: 2938
- ОС: Gentoo
Re: Смена init в Debian
Именно так, не стоит использовать что то другое если система собиралась с поддержкой systemd. Можно просто поломать то, что и так хорошо работает, там вся завязка на systemd, по крошатся всякие dbus и т.п. Работать может и будет, но все действия уже будешь делать только под рутом через консоль.
-
- Сообщения: 1476
- ОС: Slackware
Re: Смена init в Debian
Ну они в changelog Debian 11 указали, что он поддерживает разные init. Неужели оно для галочки?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
-
- Бывший модератор
- Сообщения: 4458
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Смена init в Debian
Можно конкретные примеры поломок, или вы просто теоретизируете?
Ибо что пакеты систем инициализации, что elogind входят в состав дистрибутива и имеют статус поддерживаемых. Если бы их использование приводило к серьёзным проблемам, то они в стабильный выпуск просто не попали бы.
-
- Сообщения: 2938
- ОС: Gentoo
Re: Смена init в Debian
Если только совместно с библиотеками systemd, может работать и будет. Я как то к devuan пробовал добавлять репозиторий debian, и как то на обновлении добавились пакеты от debian, там явно dbus ругался на недостаток systemd. По этому скорее всего оно как бы и поддерживается, но все равно совместно с systemd.
-
- Бывший модератор
- Сообщения: 4458
- Статус: GNU generation
- ОС: Debian GNU/Linux
-
- Сообщения: 2938
- ОС: Gentoo
-
- Бывший модератор
- Сообщения: 4458
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Смена init в Debian
-
- Сообщения: 2938
- ОС: Gentoo
-
- Бывший модератор
- Сообщения: 4458
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Смена init в Debian
ABI libsystemd0 и libelogind0 совпадают. Разумеется, всё работает: https://ibb.co/T816nXp.
-
- Сообщения: 2938
- ОС: Gentoo
Re: Смена init в Debian
А вот оно что, проверил, да почти совпадают. Только нужно сделать симлинк с libelogind.so.0 на libsystemd0.Rootlexx писал: ↑06.11.2021 18:23ABI libsystemd0 и libelogind0 совпадают. Разумеется, всё работает: https://ibb.co/T816nXp.
Тут различия в функциях:
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