Оновлення Koha, встановленої з джерела, на версію з репозитарію
Розглянемо на прикладі оновлення АБІС Koha з 3.10.03.000 (встановлення з джерельних кодів) до (встановлення з репозитарію) та GNU/Linux Debian p 7.11 до 9...
Попередня версія АБІС Koha: 3.10.03.000, встановлення з джерельних кодів.
Попередня версія ОС: GNU/Linux Debian Wheezy 7.11.
Бекапи Koha
БД Koha
Дамп усієї БД Коха:
mysqldump -u kohauser -p Koha > Koha_3.10.03_dump.sql
Зауваження - якщо логи займають дуже багато - можна без них робити дамп
mysqldump -u kohauser-p Koha --ignore-table=Koha.action_logs > Koha_3.10.03_dump_without_action_logs.sql
Інші теки з Koha
Знайдено теки та файли:
/run/koha /run/lock/koha /etc/koha /var/log/koha /var/spool/koha /var/lib/koha /usr/share/koha /var/lib/mysql/Koha
та файли
/tmp/koha-zebra-ctl.Koha.pid /tmp/tracker-kohauser /var/mail/kohauser /etc/rc5.d/S18koha-zebra-daemon /etc/init.d/koha-zebra-daemon /etc/rc2.d/S18koha-zebra-daemon /etc/rc0.d/K01koha-zebra-daemon /etc/rc3.d/S18koha-zebra-daemon /etc/rc6.d/K01koha-zebra-daemon /etc/rc1.d/K01koha-zebra-daemon /etc/rc4.d/S18koha-zebra-daemon /etc/apache2/sites-available/Koha /etc/apache2/sites-enabled/Koha /var/spool/cron/crontabs/kohauser
Робимо бекап цих файлів та тек (за винятком теки з БД /var/lib/mysql/Koha/)
tar -c -f Koha.3.10.03_backup_other_files.tar \ /var/mail/kohauser/ \ /run/koha/ \ /run/lock/koha/ \ /etc/koha/ \ /var/log/koha/ \ /var/spool/koha/ \ /var/lib/koha/ \ /usr/share/koha/ \ /tmp/koha-zebra-ctl.Koha.pid \ /tmp/tracker-kohauser \ /etc/rc5.d/S18koha-zebra-daemon \ /etc/init.d/koha-zebra-daemon \ /etc/rc2.d/S18koha-zebra-daemon \ /etc/rc0.d/K01koha-zebra-daemon \ /etc/rc3.d/S18koha-zebra-daemon \ /etc/rc6.d/K01koha-zebra-daemon \ /etc/rc1.d/K01koha-zebra-daemon \ /etc/rc4.d/S18koha-zebra-daemon \ /etc/apache2/sites-available/Koha \ /etc/apache2/sites-enabled/Koha \ /var/spool/cron/crontabs/kohauser
Оновлення Debian
Хоча можна оновлюватися зразу до Stretch, краще це робити поступово
Оновлення Wheezy » Jessie
Корисні посилання:
- https://www.debian.org/releases/jessie/arm64/release-notes/ch-upgrading.ru.html
- https://www.howtoforge.com/tutorial/how-to-upgrade-debian-wheezy-to-jessie-stable-release/
Версія Дебіен:
lsb_release -a
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.11 (wheezy) Release: 7.11 Codename: wheezy
Вивчаємо список не повністю встановлених пакунків зі станом Half-Installed або Failed-Config.
dpkg --audit
Вивчаємо список відкладених пакунків
dpkg --get-selections | grep 'hold$'
За необхідності оновлюємо ключі
apt-get install debian-keyring debian-archive-keyring
Доводимо Debian Whhezy до актуального стану
apt-get update;apt-get upgrade;apt-get dist-upgrade
- ) Если вы настроили APT на установку некоторых пакетов из дистрибутива, отличного от стабильного (например, тестируемого), вам, возможно, придётся изменить настройки фиксации в APT (хранятся в файле /etc/apt/preferences и каталоге /etc/apt/preferences.d/), чтобы стало возможным обновление пакетов до версии нового стабильного выпуска. Более подробную информацию о фиксации пакетов в APT можно найти в apt_preferences(5).
Якщо Ви налаштували APT на установку деяких пакунків з дистрибутива, відмінного від стабільного (наприклад, тестового), Вам, можливо, доведеться змінити налаштування фіксації в APT (зберігаються в файлі /etc/apt/preferences і каталозі /etc/apt/preferences.d /), щоб стало можливим оновлення пакунків до версії нового стабільного випуску. Більш детальну інформацію про фіксацію пакунків в APT можна знайти в apt_preferences(5).
У чистій системі немає файла та каталог пустий — варто їх почистити і у старій системі перед оновленням.
Перейменував на /etc/apt/preferences.Wheezy
Закоментувати у /etc/apt/apt.conf
# APT::Default-Release "wheezy";
(якщо таке є)
В /etc/apt/apt.conf закоментував
# APT::Default-Release "wheezy";
Видаляємо забуті пакунки:
apt-get autoremove
Видаляємо пакунки, які були звантажені при установці раніше:
apt-get clean
Правимо /etc/apt/sources.list
deb http://security.debian.org/debian-security jessie/updates main deb-src http://security.debian.org/debian-security jessie/updates main
deb http://ftp.ua.debian.org/debian/ jessie main contrib non-free deb-src http://ftp.ua.debian.org/debian/ jessie main contrib non-free
Оновлюємо список доступних в Debian jessie пакунків
apt-get update
У деяких випадках виконання відразу повного оновлення (як описано далі) може привести до видалення великого числа пакунків, які Ви хочете залишити. Тому рекомендуємо проводити оновлення в дві стадії - спочатку мінімальне оновлення, щоб розібратися з конфліктами, а потім повне оновлення, як описано в Розділі 4.4.5, «Оновлення системи».
apt-get upgrade
Це призведе до оновлення тільки тих пакетів, які можна оновити без необхідності видалення або установки інших пакетів.
Мінімальне оновлення системи також може виявитися корисним, якщо в системі мало вільного місця і повне оновлення запустити через це неможливо.
Під час оновлення було:
Оновити конфігурацію `/etc/mysql/my.cnf'
*** my.cnf (Y/I/N/O/D/Z) [default=N] ? Y
Оновити конфігурацію `/etc/nagios/nrpe.cfg'
*** nrpe.cfg (Y/I/N/O/D/Z) [default=N] ? N
Після виконання попередніх кроків тепер можна приступити, власне, до оновлення. Виконайте команду:
apt-get dist-upgrade
Ця команда зробить повне оновлення системи, встановивши останні доступні версії всіх пакунків і дозволивши всіх змінилися між випусками залежності. При необхідності будуть встановлені нові пакунки (зазвичай, це нові версії бібліотек або перейменовані пакети) і вилучені всі викликаючі конфлікти застарілі пакунки.
Питання в процесі:
Конфіг /etc/perl/XML/SAX/ParserDetails.ini
+ keep the local version currently installed │
Конфіг '/etc/apache2/apache2.conf'
Y or I : install the package maintainer's version *** apache2.conf (Y/I/N/O/D/Z) [default=N] ? Y
Конфіг '/etc/apache2/ports.conf'
Y or I : install the package maintainer's version *** ports.conf (Y/I/N/O/D/Z) [default=N] ? Y
Конфіг /etc/perl/XML/SAX/ParserDetails.ini
+ keep the local version currently installed │
Конфіг '/etc/pulse/default.pa'
Y or I : install the package maintainer's version *** default.pa (Y/I/N/O/D/Z) [default=N] ? Y
Відновлюю порти
ports.conf Listen 80 Listen 8080
/etc/init.d/apache2 restart
apt-get -f install
немає проблем
Коли команда apt-get dist-upgrade закінчила роботу, «формально» оновлення завершено, але перед перезавантаженням слід виконати ще кілька дій. При оновленні з Wheezy до Jessie краще вичистити старі пакети before до першого перезавантаження. Зокрема, застарілі системні сценарії запуску можуть призводити до виникнення помилок. Подробиці про те, як знаходити і вичищати вилучені пакети, см. До Розділу 4.8.1, «вичищення віддалених пакетів».
Видаляємо старі пакети Jessie.
apt-get autoremove
Установка метапакета ядра
При виконанні dist-upgrade з wheezy до jessie настійно рекомендується встановити метапакет linux-image- * (якщо ви не зробили цього раніше). Цей метапакет буде автоматично завантажувати новішу версію ядра під час установки оновлення. Ви можете перевірити, встановлений у вас цей метапакет чи ні, за допомогою наступної команду:
dpkg -l "linux-image*" | grep ^ii | grep -i meta ii linux-image-686-pae 3.16+63+deb8u2 i386 Linux for modern PCs (meta-package)
Якщо в результаті ви нічого не побачили, то вам потрібно встановити новий пакет linux-image вручну, або встановити метапакет linux-image. Щоб побачити список доступних метапакетов linux-image, виконайте:
apt-cache search linux-image- | grep -i meta | grep -v transition
Якщо ви не знаєте який пакет вибрати, запустіть
uname -r 3.2.0-6-686-pae
Пошукайте пакет зі схожою назвою. Наприклад, якщо ви побачили 2.6.32-5-amd64, то рекомендується встановити linux-image-amd64. Для вибору підходящого з наданих пакетів, ви можете також скористатися командою apt-cache, щоб подивитися докладний опис кожного пакета. наприклад:
apt-cache show linux-image-amd64
у моєму випадку це
apt-cache show linux-image-686-pae
Потім вам слід використовувати команду apt-get install для його установки.
apt-get install linux-image-686-pae
Коли нове ядро буде встановлено, вам слід перезавантажитися, щоб отримати всі переваги нового ядра.
перезапускаю
reboot
Все добре.
Перейменувати
/etc/apache2/sites-available/Koha
в
/etc/apache2/sites-available/Koha.conf a2ensite Koha
/etc/init.d/apache2 restart
Оновлення Jessie » Stretch
Корисні посилання:
- https://wiki.yola.ru/debian:upgrade_8_9
- https://www.debian.org/releases/stretch/i386/release-notes/ch-upgrading.ru.html
Версія Debian
lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie
Вивчаємо список неповністю встановлених пакетів зі станом Half-Installed або Failed-Config.
dpkg --audit
Вивчаємо список відкладених пакетів.
dpkg --get-selections | grep 'hold$'
За необхідності оновлюємо ключі
apt-get install debian-keyring debian-archive-keyring
Доводим Debian Jessie до актуального состояния.
apt-get update;apt-get upgrade;apt-get dist-upgrade
Если вы настроили APT на установку некоторых пакетов из дистрибутива, отличного от стабильного (например, тестируемого), вам, возможно, придётся изменить настройки фиксации в APT (хранятся в файле /etc/apt/preferences и каталоге /etc/apt/preferences.d/), чтобы стало возможным обновление пакетов до версии нового стабильного выпуска. Более подробную информацию о фиксации пакетов в APT можно найти в apt_preferences(5).
у чистій системі немає файла та каталог пустий — варто їх почистити і у старій системі перед оновенням
Закоментувати у /etc/apt/apt.conf
# APT::Default-Release "jessie";
(якщо таке є)
Удаляем забытые пакеты:
apt-get autoremove
Удалите пакеты, которые были скачаны при установке ранее:
apt-get clean
Правимо /etc/apt/sources.list
deb http://security.debian.org/debian-security stretch/updates main deb-src http://security.debian.org/debian-security stretch/updates main deb http://ftp.ua.debian.org/debian/ stretch main contrib non-free deb-src http://ftp.ua.debian.org/debian/ stretch main contrib non-free
Обновляем список доступных в Debian stretch пакетов
apt-get update
В некоторых случаях выполнение сразу полного обновления (как описано далее) может привести к удалению большого числа пакетов, которые вы хотите оставить. Поэтому мы рекомендуем производить обновление в две стадии — сначала минимальное обновление, чтобы разобраться с конфликтами, а затем полное обновление, как описано в Раздел 4.4.5, «Обновление системы».
apt-get upgrade
Конфіг /etc/apt/apt.conf.d/50unattended-upgrades
install the package maintainer's version
Єто приведёт к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов. Минимальное обновление системы также может оказаться полезным, если в системе мало свободного места и полное обновление запустить из-за этого невозможно.
После выполнения предыдущих шагов теперь можно приступить, собственно, к обновлению. Выполните команду:
apt-get dist-upgrade
Эта команда произведёт полное обновление системы, установив последние доступные версии всех пакетов и разрешив всех изменившиеся между выпусками зависимости. При необходимости будут установлены новые пакеты (обычно, это новые версии библиотек или переименованные пакеты) и удалены все вызывающие конфликты устаревшие пакеты.
Питання в процесі (більшість тут пропускаю, подібні питання як при оновленні до джессі):
Конфіг /etc/ssh/sshd_config
install the package maintainer's version │
apt-get -f install
немає проблем
Когда команда apt-get dist-upgrade закончила работу, «формально» обновление завершено, но перед перезагрузкой следует проделать ещё несколько действий. При обновлении с Wheezy до Jessie лучше вычистить старые пакеты before до первой перезагрузки. В частности, устаревшие сценарии инициализации могут приводить к возникновению ошибок. Подробности о том, как находить и вычищать удалённые пакеты, см. в Раздел 4.8.1, «Вычистка удалённых пакетов».
Удаляем старые пакеты Jessie.
apt-get autoremove
Установка метапакета ядра
При выполнении dist-upgrade с wheezy до jessie настоятельно рекомендуется установить метапакет linux-image-* (если вы не сделали этого ранее). Этот метапакет будет автоматически загружать более новую версию ядра во время установки обновления. Вы можете проверить, установлен у вас этот метапакет или нет, с помощью следующей команды:
dpkg -l "linux-image*" | grep ^ii | grep -i meta
ii linux-image-686 4.9+80+deb9u5 i386 Linux for older PCs (meta-package) ii linux-image-686-pae 4.9+80+deb9u5 i386 Linux for modern PCs (meta-package)
Если в результате вы ничего не увидели, то вам нужно установить новый пакет linux-image вручную, либо установить метапакет linux-image. Чтобы увидеть список доступных метапакетов linux-image, выполните:
apt-cache search linux-image- | grep -i meta | grep -v transition
Если вы не знаете какой пакет выбрать, запустите
uname -r 3.16.0-6-686-pae
и поищите пакет с похожим именем. Например, если вы увидели 2.6.32-5-amd64, то рекомендуется установить linux-image-amd64. Для выбора подходящего из предоставляемых пакетов, вы можете также воспользоваться командой apt-cache, чтобы посмотреть подробное описание каждого пакета.
apt-cache show linux-image-686-pae
Затем вам следует использовать команду apt-get install для его установки.
apt-get install linux-image-686-pae
(вже було встановлено)
Когда новое ядро будет установлено, вам следует перезагрузиться, чтобы получить все преимущества нового ядра.
перезапускаю
reboot
система не доступна ;-(
Змінилися eth0 та eth1
Виправлення DNS
iface ens32 inet static dns-nameservers 192.168.105.2 192.168.105.13 8.8.8.8
/var/run/NetworkManager/resolv.conf (на нього зсилається /etc/resolv.conf)
search tntu.edu.ua nameserver 192.168.105.13 nameserver 192.168.105.14 nameserver 8.8.8.8
перезапуск мережі
потрібно встановити
apt-get install resolvconf
Вилучення старої Коха
Звідси берем частину щодо вилучення коха з джерела
Оновлення Koha 3.10.03 до Koha 18.05.04
Встановлення Koha з репозитарію
Додаю джерело пакунків
/etc/apt/sources.list.d/koha.list deb http://debian.koha-community.org/koha stable main
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install koha-common
sudo apt-get install koha-common koha-deps koha-perldeps koha-elasticsearch
sudo apt-get install \ mysql-server \ phpmyadmin \ memcached libmemcached-tools
WARNING: koha-plack requires some Apache modules that you are missing. You can install them with:
sudo a2enmod headers proxy_http systemctl restart apache2
sudo aptitude install libgdbm-dev apache2-dev
sudo perl -MCPAN -e 'install Readonly::XS'
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
sudo perl -MCPAN -e 'install Test::DBIx::Class'
sudo perl -MCPAN -e 'install WebService::ILS'
sudo koha-post-install-setup systemctl restart apache2
sudo a2enmod cgi sudo a2enmod headers proxy_http
sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf
DOMAIN="localhost" # Change this to be your domain. Any instance will be a subdomain of this string. OPACPORT="80" # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used) OPACPREFIX="" # For users' interface URL: Prefix to be added to the instance name. OPACSUFFIX="" # For users' interface URL: Suffix to be added to the instance name. INTRAPORT="8080" # TCP listening port for the administration interface INTRAPREFIX="" # For administration interface URL: Prefix to be added to the instance name. INTRASUFFIX="" # For administration interface URL: Suffix to be added to the instance name. ZEBRA_MARC_FORMAT="unimarc" # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'. ZEBRA_LANGUAGE="uk" # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'. DEFAULTSQL="" # a value is generally not needed. BIBLIOS_INDEXING_MODE="dom" # Set the indexing mode for bibliographic records. Valid values are dom (default) and grs1. AUTHORITIES_INDEXING_MODE="dom" # Set the indexing mode for authority records. Valid values are dom (default) and grs1. USE_MEMCACHED="yes" # Set the instance to make use of memcache. MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers. MEMCACHED_PREFIX="koha_" # Set the desired prefix for the instance memcached namespace. ENABLE_SRU="yes" # Enable the Z39.50/SRU server (default: disabled). SRU_SERVER_PORT="7090" # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc
/etc/koha/zebradb/etc/word-phrase-utf.chr
sudo koha-translate --install uk-UA sudo koha-translate --install ru-RU
sudo xmlstarlet sel -t -v 'yazgfs/config/user' /etc/koha/sites/ukr_unimarc/koha-conf.xml koha_ukr_unimarc
sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/ukr_unimarc/koha-conf.xml пароль
службу, індексацію та плак поки не включаю
http://koha.tntu.edu.ua:8080/cgi-bin/koha/installer/install.pl
Проходимо крок до створення БД
повинно бути
База даних koha_ukr_unimarc існує. Користувач „koha_ukr_unimarc“ має усі необхідні привілеї для доступу до бази даних „koha_ukr_unimarc“.
Оновлення БД
далі робимо це
mysql -uroot -p koha_ukr_unimarc < Koha_3.10.03_dump.sql
Upgrade the schema:
sudo koha-upgrade-schema ukr_unimarc > log.txt
Завершення встановлення-оновлення
Запуск служби Zebra
sudo koha-start-zebra ukr_unimarc
sudo koha-email-enable ukr_unimarc
Запуск індексації Zebra
sudo koha-rebuild-zebra -f -v ukr_unimarc
koha-plack --enable ukr_unimarc; koha-plack --start ukr_unimarc
Перевірка http://koha.tntu.edu.ua:80, http://koha.tntu.edu.ua:8000 - запускаються
Оновлено!
http://koha.tntu.edu.ua:7070/cgi-bin/koha/about.pl 18.05.04.000
Пошук проблем…
http://koha.tntu.edu.ua:8080/cgi-bin/koha/about.pl
Модулі Перл
Відсутні 2 необовязкові модулі:
Net::OAuth2::AuthorizationServer (0.16)
Selenium::Remote::Driver (1.27)
Перевірка пошуку: http://koha.tntu.edu.ua:8080/cgi-bin/koha/catalogue/search.pl?q=%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%8F http://koha.tntu.edu.ua:80/cgi-bin/koha/opac-search.pl?q=%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%8F - шукає
Проблема при перегляді запису в ЕК http://koha.tntu.edu.ua:80/cgi-bin/koha/opac-detail.pl?biblionumber=180035&query_desc=kw%2Cwrdl%3A%20%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%8F
Software error: Unsupported UNIMARC character encoding [] for XML output for UNIMARC; 100$a -> at /usr/share/perl5/MARC/File/XML.pm line 568. For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.
Запустити
sudo env KOHA_CONF=/etc/koha/sites/ukr_unimarc/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl -I /usr/share/koha/bin/migration_tools/22_to_30/rebuild_unimarc_100.pl > rebuild_unimarc_100.pl...LOG.txt
Спрацювало не зразу, пізніше не було помилок.
Для biblionumber не вдається змінити мапування з 090^9 на 001^@ Номер ідентифікації примітки http://koha.tntu.edu.ua:8080/cgi-bin/koha/admin/koha2marclinks.pl
Редагую це через phpmyadmin
витер biblio.biblionumber для усіх 090^9 в таблиці marc_subfield_structure в стовпчику kohafield
додав biblio.biblionumber для усіх 001^@ в стопчику kohafield
Перевіряю
http://koha.tntu.edu.ua:8080/cgi-bin/koha/admin/koha2marclinks.pl
є
та тут
є
Ще виконував
sudo env KOHA_CONF=/etc/koha/sites/ukr_unimarc/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl -I /usr/share/koha/bin/maintenance/touch_all_biblios.pl > touch_all_biblios.pl...LOG.txt
Старий код з Google Analytics не працює (у змінній OPACUserJS) - вилучити.
У змінну opaccredits додати код, взятий з https://analytics.google.com/analytics/web/?authuser=1#/a29224330w55258865p56264301/admin/tracking/tracking-code/
напр.
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-00909800787-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-00909800787-1'); </script>
Все решта працює!