Завтра, 5 декабря 2019 года выходит новая версия сервера Seafile для Linux — 7.1.0. Релиз пока недоступен для скачивания, однако, если очень захотеть, то скачать можно.
Обновиться можно только с версии 7.0.x. Если у вас более ранняя версия 6.x.x, то сначала обновитесь на 7.0.x.
Список изменений
7.1
Поддержка Postgresql прекращена, поскольку мы переписали код доступа к базе данных, чтобы устранить проблему с авторскими правами.
Progresql support is dropped as we have rewritten the database access code to remove copyright issue.
7.1.0 (2019/12/05)
- Страницы администрирования переведены на React.
- Переход на Python3.
- Добавлено Library API Token. Вы можете генерировать токены для библиотек и использовать их в сторонних программах.
От себя добавлю, что Video Thumbnails тоже больше не поддерживаются.
Установка обновления
Будем обновлять Seafile Server с версии 7.0.5 до версии 7.1.0. Инструкция по обновлению имеется:
https://download.seafile.com/published/seafile-manual/upgrade/upgrade_notes_for_7.1.x.md
Работаем под рутом. Останавливаем сервисы:
service seafile stop
service seahub stop
service nginx stop
Устанавливаем python3 (у меня уже стоит).
apt-get install python3 -y
Удаляем python2, возможно, у вас будет другая версия python2 (dpkg-l | grep python2)
apt-get remove python2.7
Работаем под пользователем сервиса.
sudo -u sf -i
cd /opt
Скачиваем и распаковываем новый релиз.
wget https://download.seadrive.org/seafile-server_7.1.0_x86-64.tar.gz
tar -xf seafile-server_7.1.0_x86-64.tar.gz
Переходим в папку релиза, смотрим скрипты обновления:
cd seafile-server-7.1.0/
ls upgrade/
Для обновления Seafile Server с версии 7.0.5 до версии 7.1.0 нужно использовать скрипт upgrade_7.0_7.1.sh.
cd ./upgrade/
./upgrade_7.0_7.1.sh
Словил ошибку:
Проблема связана с тем, что мы раньше модифицировали файл seahub_settings.py для поддержки UTF8. К счастью, python3 уже и так работает с нормальной кодировкой Unicode. Комментируем или удаляем лишние строки:
# Устранение проблем с кодировкой UTF-8
#import sys
#reload(sys)
#sys.setdefaultencoding('utf8')
Ещё раз запускаем обновление:
./upgrade_7.0_7.1.sh
На этот раз ошибок нет. Лог скрипта обновления:
-------------------------------------------------------------
This script would upgrade your seafile server from 7.0 to 7.1
Press [ENTER] to contiune
-------------------------------------------------------------
Updating seafile/seahub database ...
[INFO] You are using MySQL
[INFO] updating seahub database...
/opt/seafile-server-7.1.0/seahub/thirdpart/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
result = self._query(query)
[WARNING] Failed to execute sql: (1091, "Can't DROP 'drafts_draft_origin_file_uuid_7c003c98_uniq'; check that column/key exists")
Done
migrating avatars ...
Done
updating /opt/seafile-server-latest symbolic link to /opt/seafile-server-7.1.0 ...
-----------------------------------------------------------------
Upgraded your seafile server successfully.
-----------------------------------------------------------------
Обновление завершено, перезагружаем сервер.
reboot
Под рутом запускаем сервисы.
service seafile start
service seahub start
service nginx start
Проверяем работу облака
Работает.