= Aktualizacja systemy Debian 9 Stretch do Debian 10 Buster = || || || Debian 9 (Stretch) || Debian 10 (Buster) || ||Domyślne || PostgreSQL || 10 || 11 || || || PHP || 7.0 || 7.3 || ||Opcjonalne || PostgreSQL || 11 || 11 || || || PHP || 7.2 || downgrade 7.2 || ''Support dla Debian oraz PHP''[[BR]] Support dla Debian 10 [https://wiki.debian.org/LTS/ https://wiki.debian.org/LTS/][[BR]] Support dla PHP [http://php.net/supported-versions.php http://php.net/supported-versions.php][[BR]] [[BR]] Poniższa instrukcja przedstawia sposób aktualizacji systemu operacyjnego Linux. '''Przed przystąpieniem do prac BEZWZGLĘDNIE należy pamiętać o wykonaniu KOPI BEZPIECZEŃSTWA, całego systemu, bazy danych, katalogu /home/edokumenty.''' '''1. Aktualizacja systemy w gałęzi Stretch, Debian 9''' Zaczynamy od aktualizacji systemu w ramach gałęzi, której aktualnie się znajduje (tj. Stretch, Debian 9): {{{ #apt-get update #apt-get upgrade }}} Jeśli system nie był długo aktualizowany pewnie trzeba będzie uruchomić system ponownie ze względu na nowszą wersję jądra systemu. {{{ #reboot }}} Przed aktualizacją dystrybucji wykonujemy kopię klików konfiguracyjnych {{{ tar -pczf etc.tar.gz /etc }}} '''2. Aktualizacja dystrybucji z Stretch na Buster, Debian 9 na Debian 10''' Po aktualizacji systemu edytujemy plik /etc/apt/sources.list, zmieniamy dotychczasowe wpisy dla Stretch na Buster {{{ deb http://httpredir.debian.org/debian buster main deb http://httpredir.debian.org/debian buster-updates main deb http://security.debian.org buster/updates main }}} Możemy również skorzystać z polecenia, który wykona zmiany {{{ sed -i 's/stretch/buster/g' /etc/apt/sources.list }}} Sprawdź również do /etc/apt/sources.list.d/ czy nie posiadasz innych repozytoriów, które mogą wskazywać na Stretch. W naszym przypadku były trze dodatkowe listy dla: {{{ sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/pgdg.list deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main }}} {{{ sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/edokumenty.list deb http://ftp.debian.org/debian buster-backports main }}} {{{ sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/php.list deb https://packages.sury.org/php/ buster main }}} Następnym krokiem jest zaktualizowanie pakietów {{{ apt-get update }}} oraz aktualizacja dystrybucji {{{ apt-get dist-upgrade }}} W niektórych przypadkach aktualizacji dystrybucji systemu mogą pojawić się problemy z aktualizacją komponentów PHP. W tym przypadku należy usunąć link symboliczny do php.ini z /etc/php5/cli i przeniesienie php.ini z /etc/php5/apache2/. Po zakończonej aktualizacji i restarcie systemu ponownie tworzymy link symboliczny do php.ini. Wznowienie aktualizacji wykonujemy poleceniem {{{ apt-get -f install }}} Po zakończonej aktualizacji wykonujemy restart systemu {{{ reboot }}} '''3. Aktualizacja PostgreSQLa do wersji 10/11''' Jeśli aktualizujemy Debiana z wersji 9 (Stretch) to prawdopodobnie będziemy już mieli zainstalowaną wersję PostgreSQL w wersji 10 lub 11. Jeśli jednak tak nie jest postępuje zgodnie z poniższa instrukcją. Przystępujemy do aktualizacji PostgreSQLa do wersji 10/11. Po zainstalowaniu PostgreSQLa będą dostępne dwa klastry dla wersji 9.6/10 oraz wersji 10/11, odpowiednio na portach 5432 i 5433. Instalację przeprowadzamy za pomocą polecenia Aktualizujemy dotyczący pakietów dla nowej wersji Debiana obecnie jest to buster {{{ deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main apt-get update }}} {{{ apt-get install postgresql-10 }}} lub {{{ apt-get install postgresql-11 }}} Po zainstalowaniu PostgreSQL a przed odtworzeniem bazy należy pamiętać aby wgrać pliki tssearch_data dla wyszukiwarki. {{{ wget http://support.edokumenty.eu/download/deployment/components/tsearch_data_polish_20120730.zip unzip tsearch_data_polish_20120730.zip cp tsearch_data_polish/* /usr/share/postgresql/[WERSJA_POSTGRESQL]/tsearch_data/ }}} Po tych czynnościach możemy przystąpić do odtworzenia bazy danych Możemy wykonać zrzut bazy z PostgreSQL na porcie 5432. {{{ #su - postgres $pg_dump -U edokumenty -f edokumenty_upgrade.sql edokumenty (polecenie zakłada że eDokumenty działają na bazie edokumenty i właścicielem bazy jest użytkownik edokumenty) }}} W nowym klastrze trzeba utworzyć użytkownika oraz bazę: {{{ $createuser -p 5433 --no-superuser --no-createdb --no-createrole http $createuser -p 5433 --no-superuser --no-createdb --no-createrole edokumenty $createdb -p 5433 -E UTF8 edokumenty -O edokumenty }}} Następnie wrzucamy do serwera psql zrzut wykonany chwilę wcześniej: {{{ $psql -p 5433 -U edokumenty -f edokumenty_upgrade.sql edokumenty }}} Następnym krokiem jest zatrzymanie PostgreSQL {{{ /etc/init.d/postgresql stop }}} W pliku konfiguracyjnym zmieniamy porty dla PostgreSQL aby nowy działał na domyślnym porcie 5432 Starego PostgreSQL zmieniamy na 5433 {{{ vim /etc/postgresql/9.6/main/postgresql.conf port=5433 }}} W konfiguracji nowego PostgreSQL zmieniamy na 5432 {{{ vim /etc/postgresql/10/main/postgresql.conf port=5432 }}} W pliku konfiguracyjnym pg_hba.conf dla aktualnej wersji PostgreSQL dodajemy wpisy, {{{ vim /etc/postgresql/10/main/pg_hba.conf local edokumenty edokumenty md5 local edokumenty http md5 }}} Następnym krokiem jest uruchomienie PostgreSQL {{{ /etc/init.d/postgresql start }}} Możemy również wykonać aktualizację clustra za pomocą poleceń opisanych w artykule [http://support.edokumenty.eu/trac/wiki/AdminGuide/PgUpgrade Upgrade PostgreSQL]