Обновил операционную систему Ubuntu 22.04 с установленным Seafile. Перезагружаю, а служба seahub не стартует. В логах ничего нет.
░░ Начат процесс запуска юнита seahub.service.
янв 06 13:53:46 ilab00 seahub.sh[1580]: Starting seahub at port 8000 ...
янв 06 13:53:47 ilab00 python3[1595]: 2025-01-06 13:53:47,546 [DEBUG] root:102 is_cluster_mode cluster mode is disabled
янв 06 13:53:47 ilab00 python3[1595]: 2025-01-06 13:53:47,553 [INFO] seafevents.db:69 create_engine_from_conf [seafevents] database: mysql, name: seafile-seahub
янв 06 13:53:47 ilab00 python3[1595]: 2025-01-06 13:53:47,596 [DEBUG] root:1095 check_file_audit_enabled file audit: not enabled
янв 06 13:53:47 ilab00 python3[1595]: 2025-01-06 13:53:47,596 [DEBUG] root:1184 check_search_enabled search: not enabled
янв 06 13:53:47 ilab00 python3[1595]: 2025-01-06 13:53:47,596 [DEBUG] root:1199 check_repo_auto_del_enabled search: not enabled
янв 06 13:53:51 ilab00 seahub.sh[1580]: Error:Seahub failed to start.
янв 06 13:53:51 ilab00 seahub.sh[1580]: Please try to run "./seahub.sh start" again
янв 06 13:53:51 ilab00 systemd[1]: seahub.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ An ExecStart= process belonging to unit seahub.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
янв 06 13:53:51 ilab00 systemd[1]: seahub.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ The unit seahub.service has entered the 'failed' state with result 'exit-code'.
янв 06 13:53:51 ilab00 systemd[1]: Failed to start Seafile hub.
░░ Subject: Ошибка юнита seahub.service
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ Произошел сбой юнита seahub.service.
░░
░░ Результат: failed.
янв 06 13:53:51 ilab00 systemd[1]: seahub.service: Consumed 1.436s CPU time.
░░ Subject: Потребленные юнитом ресурсы
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ Юнит seahub.service завершен. Приводится статистика по потребленным им ресурсам.
Просто сбой и всё. Попробовал включить расширенное логирование. В seahub_settings.py добавляю:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(process)-5d %(thread)d %(name)-50s %(levelname)-8s %(message)s'
},
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s:%(lineno)s %(funcName)s %(message)s'
},
'simple': {
'format': '[%(asctime)s] %(name)s %(levelname)s %(message)s',
'datefmt': '%d/%b/%Y %H:%M:%S'
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'syslog': {
'class': 'logging.handlers.SysLogHandler',
'address': '/dev/log',
'formatter': 'standard'
},
},
'loggers': {
# root logger
# All logs printed by Seahub and any third party libraries will be handled by this logger.
'': {
'handlers': ['console', 'syslog'],
'level': 'DEBUG', # Logs when log level is higher than info. Level can be any one of DEBUG, INFO, WARNING, ERROR, CRITICAL.
'disabled': False
},
# This logger recorded logs printed by Django Framework. For example, when you see 5xx page error, you should check the logs recorded by this logger.
'django.request': {
'handlers': ['console', 'syslog'],
'level': 'DEBUG',
'propagate': False,
},
},
}
Сначала в логах ничего нет. Потом вижу в файле file_updates_sender.log:
ModuleNotFoundError: No module named 'pyasn1'
PyASN1 — это библиотека для Python, которая реализует поддержку ASN.1. Она поддерживает все типы и правила кодирования, определённые в стандарте ASN.1.
Не знаю что там произошло при обновлении, даже в логи не полез. Ставлю библиотеку:
pip3 install pyasn1_modules
Collecting pyasn1_modules
Downloading pyasn1_modules-0.4.1-py3-none-any.whl (181 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.5/181.5 KB 1.2 MB/s eta 0:00:00
Collecting pyasn1<0.7.0,>=0.4.6
Downloading pyasn1-0.6.1-py3-none-any.whl (83 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.1/83.1 KB 5.1 MB/s eta 0:00:00
Installing collected packages: pyasn1, pyasn1_modules
Successfully installed pyasn1-0.6.1 pyasn1_modules-0.4.1
После этого seahub запустился. И что это было? Вероятно, при обновлении модуль питона тоже зацепило, что можно проверить:
cat /var/log/apt/history.log | grep pyasn1
И таки-да. Не все обновления одинаково полезны.
Вероятно, данный модуль нужно добавить в инструкцию по установке Seafile.