Portál AbcLinuxu, 1. května 2025 08:44
pg_upgradecluster 9.1 mainK tomuto bych poznamenal jen tolik, že tato výchozí verze udělá
pg_dumpall
do sql souboru a ten se vám na disk musí vejít společně se starou i novou DB. Pokud se migruje "prázdná DB", tak to není nutné řešit, ale pro normální DB o velikostech desítky GB už je na to potřeba myslet (ale ty mají doufejme své správce).
Pokud přece jen narazíte na větší db, tak, pokud máte nějakou externí zálohu celého stroje (což byste měli mít ještě před samotnou administrací), tak lze použít metodu update na místě, pomocí parametrů --method=upgrade --link
. To překonvertuje datové soubory na místě a je to velmi rychlé i na stovky GB (těch změn tam obvykle není mnoho). Debian na to má skripty, na jiných systémech si musíte poradit ručně.
pg_upgradecluster
. A předat mu případné parametry pro pg_upgrade
. Takto upgraduju mnoho serverů napříč verzemi debianu a už taky mnoho verzí PG. Malé DB neřeším, tam nechám výchozí způsob, tedy dump, větší db si pohlídám zvlášť a většinou dělám metodou upgrade, link (tj pg_upgradecluster --method=upgrade --link 9.1 main
). Případně u některých serverů proběhne čistá instalace a přenos DB přes pg_dump -h stary.stroj | psql -h novy.stroj
. Každopádně, pokud je to Debian, používat jeho nástroje ( pg_createcluster, pg_dropcluster, pg_lsclusters, pg_upgradecluster). Lze mít navíc více instancí PG na jednom stroji i v různých verzích (většinou teda stará a nová), automaticky jim to přiřadí další číslo portu apod, ale v dnešní době snadno dostupné virtualizace tato výhoda asi padá.
Pokud máš PG nainstalovaný debianní cestou, tak je správné používat debianní nástroje, tedy ten pg_upgradecluster. A předat mu případné parametry pro pg_upgrade. Takto upgraduju mnoho serverů napříč verzemi debianu a už taky mnoho verzí PG.Na tomto jsem se uz spalil. Pokud jsou pouzity nejake rozsireni typu PostGIS, ktere taky potrebuji upgrade a ktere maji vazby na externi knihovny, je to cesta, jak si rozbit databazi. Z toho duvodu se mi osvedcilo provozovat vedle sebe puvodni i novou databazi, kazdou na jinem portu a postupne prenaset data ze stare do nove pres pg_dump a pripadne udelat korekce, a nakonec prehodit porty.
apt autoremove=>
apt --purge autoremove
se jako určitě někdy brzy bude moct hodit ;D
btw je nějakej lepšejší způsob jak si de nainstalovaný balíčky seřadit podle toho kolik jakoby zabíraj místa hele bez použití aptitude?? :O :O
dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
druhý straně :D :D hele :D :D ;D ;D
apt-get a dpkg si dávají strašný pozor na konzistenci dat: v podstatě se snaží zaručit, že když v jakémkoli okamžiku během instalace vypadne elektřina, tak systém v pořádku najede a stav bude konzistentní.Tohle mám na apt osobně dost rád. Již mnohokrát jsem opravoval systémy s yum/dnf, kde výpadek elektřiny či (častěji) zásek systému rozbil rpm db.
balíček se dá nastavit jako instalovaný ručně tak, že uděláte apt-get install balíček. Samozřejmě ho to nebude znovu instalovat, jenom to řekne „balíček byl nainstalovaný automaticky, teď jste požádali o instalaci, tedy ho označuji jako nainstalovaný ručně a už ho nebudu nabízet k odstranění“, což je přesně to, co chcete.Nebo taky
apt-mark manual ...
aptitude mi přijde pomalejší a má chytřejší dependency solverAptitude jsem ze serverů odinstaloval poté, co podruhé napáchal bordel, který se s apt neděl.
# zobrazeni odkud, jake verze je/lze instalovat balicek apt policy balicek # zobrazeni v kterem nainstalovanem balicku se nachazi konkretni soubor (ci cesta/soubor) dpkg -S bin/mc # vypis souboru z daneho balicku dpkg -L balicek # seznam nainstalovanejch balicku dpkg -l # vyhledani v seznamu balicku (a jejich popisu) dostupnych z nastavenych repositaru apt-cache search balicek_nebo_cast_popisuapt-mark byl jiz zminen pro nastaveni stavu na "instalovan rucne", ale dalsi:
# nastaveni balicku stav instalovan auto apt-mark auto balicek # podrzeni balicku v aktualni verzi a ingrorovani pripadnych aktualizaci apt-mark hold balicek # zruseni podrzeni balicku v aktualni verzi apt-mark unhold balicek # zobrazeni balicku instalovanych jako auto, nebo jako manual, nebo jako hold apt-mark showauto apt-mark showmanual apt-mark showhold
vim
. Normálně mně na server tedy stačí balíček vim
. Balíček vim-nox
je tučnější varianta se zakompilovanou podporou ruby, tcl, pythonu.
Já se přiznám, že většinu balíčkování na unstable (svůj desktop) dělám aptitude
a mám tendenci pak řešit i upgrade serveru v aptitude. Asi to není úplně přímočaré, ale jak jsem zvyklý... Před upgradem označím všechno v sekci libs jako automaticaly installed - stisk M na sekci libs. Ono se vůbec vyplatí projít instalované balíčky a na všech co ta nejsou z mojí vůle dát automaticaly (A) - stiskem M. Pokud je to všechno pěkně označeno, tak upgradne navrhne snadno i aptitude
. Snahou se pochopitelně nemít v serveru nic co tam být nemusí.
Na smazání balíčků, po kterých zbyly konfiguráky většinou stačí
aptitude purge ~cAle používám občas i
apt update && apt upgrade
a až potom třeba aptitude
.
deborphan
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.