Stranica koja služi kao administratorov podsjetnik ali može biti korisna i svima vama za obavljanje svakodnevnih zadaća održavanja računalnih sustava, programiranja i drugih srodnih IT aktivnosti.

Sekcija 1: LINUX

1.1) Kopiranje stabla direktorija pomoću rsync alata

Scenarij: Na izvorišnom računalu, na lokaciji /path/to/source/* nalazi se sadržaj (*) koji je potrebno kopirati na odredišno računalo na lokaciju /path/to/destination/*. Kopiranje će se raditi preko ssh, a odredišno računalo sluša na portu 12345. Problem je moguće riješiti na više načina, a ovdje je prikazan jedan od njih (push from source to destination). Potrebno se logirati na izvorišno računalo i pokrenuti rsync:

[username@source ~]$ rsync -e 'ssh -p 12345' /path/to/source/ username@remote_host:/path/to/destination/

Potencijalno korisne opcije: -a: archive (with recursion), -v: verbose, -z: compress;

[username@source ~]$ rsync -avz -e 'ssh -p 12345' /path/to/source/ username@remote_host:/path/to/destination/
1.2) Otvaranje i zatvaranje porta u Centos 7 (firewall-cmd)

Scenarij A: Potrebno je trajno dopustiti spajanje na tcp port 12345 s Interneta. Postupak:

1. Provjera aktivne zone:

firewall-cmd --get-active-zones

2. Provjera porta (zamijeniti “public” s aktivnom zonom iz 1. koraka ako nije public); no=zatvoren, yes=otvoren:

firewall-cmd --zone=public --query-port=12345/tcp

3. Otvaranje porta:

firewall-cmd --zone=public --add-port=12345/tcp --permanent

4. Firewall reload:

firewall-cmd --reload && systemctl restart firewalld

5. Provjera:

firewall-cmd --zone=public --query-port=12345/tcp

Scenarij B: Potrebno je trajno onemogućiti spajanje na prethodno omogućen port 12345 s Interneta. Postupak:

1. Provjera aktivne zone:

firewall-cmd --get-active-zones

2. Provjera porta (zamijeniti “public” s aktivnom zonom iz 1. koraka ako nije public):

firewall-cmd --zone=public --query-port=12345/tcp

3. Zatvaranje porta (zamijeniti “public” s aktivnom zonom iz 1. koraka ako nije public):

firewall-cmd --zone=public --remove-port=12345/tcp

4. Firewall reload:

firewall-cmd --reload && systemctl restart firewalld

5. Provjera:

firewall-cmd --zone=public --query-port=12345/tcp

Dobra dokumentacija s primjerima:

https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/

1.3) MariaDB na Centos 7 u logu: “[ERROR] mysqld: Can’t open file: …”
tail /var/log/mariadb/mariadb.log

daje naveden error i mysql server ne radi. Razlog je preniski Max open files limit na OS levelu za proces. Provjera:

1. Nađi pid od mariadb servera:

cat /var/run/mariadb/mariadb.pid

2. Nađi limits za taj pid:

cat /proc/PID/limits

Vjerojatan rezultat (Max open files): 1024/4096 za soft i hard limit. Potrebno podignuti limite. Fix:

mkdir -p /etc/systemd/system/mariadb.service.d
echo "[Service]" >/etc/systemd/system/mariadb.service.d/limits.conf
echo "LimitNOFILE=infinity" >>/etc/systemd/system/mariadb.service.d/limits.conf
systemctl daemon-reload
systemctl restart mariadb

Ponovi provjeru. Očekivane vrijednosti su 65536 za soft i hard limit.

1.4) Provjeri otvorene mrežne portove i servise koji slušaju na njima.
netstat -tulpn
1.5) OpenVZ container se ne starta nakon reboota. Error: /dev/ploop26173p1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.

Failed to mount image /vz/private/2adde390-94c8-4af0-8f13-7c9b0851c2f0/root.hdd: Error in e2fsck (fsutils.c:470): e2fsck failed (exit code 4)

Uzrok u ovom trenutku nije 100% poznat. Rješenje je sljedeće:

ploop check -F /vz/private/2adde390-94c8-4af0-8f13-7c9b0851c2f0/root.hdd/root.hds
ploop mount /vz/private/2adde390-94c8-4af0-8f13-7c9b0851c2f0/root.hdd/DiskDescriptor.xml
fdisk -l /dev/ploop26173
e2fsck /dev/ploop26173p1
prlctl start <CTname>
1.6) Nađi datoteke veće od 1MB, kreirane/modificirane u zadnjih 5 min, rekurzivno.
find . -type f -cmin -5 -size +1M | xargs ls -allh
1.7) Nađi najnovije kreirane/modificirane datoteke, rekurzivno.
find $1 -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head
1.8) Rješenje za spajanje na CheckPoint VPN
https://unix.stackexchange.com/questions/450229/getting-checkpoint-vpn-ssl-network-extender-working-in-the-command-line
1.9) Problemi pri obnovi letsencrypt certifikata; moguće rješenje za slučaj problema s čitanjem fileova postavljenih od strane certbot-a na VestaCP/Nginx
sudo -u username mkdir -p /home/username/web/example.com/public_html/.well-known/
chmod g+s /home/username/web/example.com/public_html/.well-known
certbot certonly --dry-run --webroot -w /home/username/web/example.com/public_html -d example.com -d www.example.com

Ako test (zadnja linija gore) prolazi, odraditi renew:

certbot renew --webroot -w /home/username/web/example.com/public_html --renew-hook 'service nginx reload'

U crontab dodati –webroot opciju, npr:

11 07 * * * certbot renew --webroot -w /home/username/web/example.com/public_html --renew-hook 'service nginx reload'
1.10) Centos instalacija (Anaconda) ne vidi virtualne diskove sa RAID adaptera

Razlog: Instalacijski ISO nema drivere. Rješenje: http://blog.nemebean.com/content/installing-centos-8-dell-poweredge-r610

1.11) DNF: Failed to set locale, defaulting to C.UTF-8
dnf install langpacks-en glibc-all-langpacks -y
1.12) Provjeri sve klijente spojene na port 80 i 443
watch ss -tn src :80 or src :443

Sekcija 2: WRF

2.1) UPP grib2 setup (online tutorial):
https://dtcenter.org/upp/users/support/online_tutorial/UPPv3.2/setup_run/grib2_adv.php
2.2) “flerchinger used in new version. iterations= 10” u rsl.error logu. Temperature na 2m neispravne (0K i slično).

Kao jedno od mogućih rješenja (neočekivano) se pokazala promjena dekompozicije domene (i/ili) broja mpi procesa. Moguće je da veličina domene i dekompozicija iste u nekim nesretnim kombinacijama mogu uzrokovati neispravnost runa koji se očituje među ostalim na ovaj način.

2.3) Priprema Centos 7 minimal install za MeteoAdriatic ARW
sudo yum -y install git
git clone https://github.com/meteoadriatic/mmsetup.git
mv mmsetup/mmsetup.sh .
rm -rf mmsetup
chmod +x mmsetup.sh

 

Sekcija 3: Python

3.1) Linkovi

1) https://lectures.quantecon.org/py/

 
3.2) Upgrade svih python paketa

a) popis outdated:

pip list -o --format columns

b) upgrade:

pip list -o --format columns| cut -d' ' -f1|xargs -n1 pip install -U


3.3) Python 3, “UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\u0107’ in position x: ordinal not in range(128)”

export PYTHONIOENCODING=utf-8

 

Sekcija 4: MySQL

4.1) Eksport recorda u csv:

mysql -u user -p database -e"SELECT ..." | sed 's/\t/,/g' > records.csv




Sekcija 5: VmWare

5.1) vmdk fileovi rastu u beskraj…

1) U Win cmd (možda ne treba):

sdelete -z C:

Sdelete: https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete

2) Nakon toga u VmWare WS, kreirati snapshot, izbrisati snapshot. To bi trebalo merge-ati sve u bazni vmdk file i izbrisati zaostale viškove. Eventualno u settings od diska, Compact disk.