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.