
Alkoss Linux alatt! 🙂

Vámosi Gergely,
Szakinformatikus
gvamosi _at_ yahoo _dot_ com
A 2019-20-21-ben készült webprogramozásról szóló blog-könyvem “Apache, MySQL/MariaDB, Perl/PHP – Webprogramozás okosan – Vámosi Gergely TechBlog” címmel az alábbi webcímen érhető el https://wlammpp.wordpress.com/.
Kernel (rendszermag) fordítás, virtualizáció – az utolsó próbakő 🙂
Linux alatt fordíthatunk saját beállításokkal egyedi rendszermagot. A kernel teljesen testreszabható. Mivel a saját Linux-omat gyári maggal használom, ezért a fordítás bemutatásához először is telepítem a virtualbox szoftvercsomagot, hogy a virtuális gépben telepíthessek egy sandbox (játék) Linux-ot. 🙂 https://tecadmin.net/install-virtualbox-on-debian-10-buster/ Beszéljünk még egy dologról. Általában root-ként, rendszergazdaként alig használjuk a gépet, ennek biztonsági okai vannak (a…
A szövegszerkesztő – vi
Ma egy szövegszerkesztőről van egy körülbelüli elképzelésünk. Na a vi nem ilyen. 🙂 A vi <filenév> paranccsal indul a szövegszerkesztő. Ilyenkor alapban parancs módban vagyunk. 🙂 Billentyűkkel lehet eljutni a szerkesztői módba. Szerkeszteni ugyanis szerkesztői módban lehet. 🙂 “O” (shift+o) billentyűvel egy új sort szerkeszthetünk az aktuális pozíció fölött – ezek között a nyilakkal közlekedhetünk,…
Debug – hibakeresés, bináris debug, kis lépések módszere, strace
Ha programozunk, debug-olnuk is kell, azaz hibát is kell keresnünk, mivel a hibátlan programozást még nem találták fel. Erre komplett fejlesztő eszközök vannak, melyek használatát itt nem részletezném. Maga a debug szó “bogártalanítást” jelent, és egy urbánus legendába hajló sztori az alapja. Az első számítógépek fizikai relékkel (jelfogókkal) működtek. Egy ilyen őskori gép egyszer elromlott,…
Fork-bomba (és harakiri) 🙂
Ma az alábbi scriptről lesz szó, ami nemes egyszerűséggel a fork_bomb.sh nevet kapta. Arra való, hogy padlóra vigye a Linux vagy UNIX rendszert. Ha egy szülő folyamat egy gyermek folyamatot indít, fork történik. Ez a “bomba” saját magát indítja el újra meg újra. Ez egyébként csúnya dolog ebben a formában. 🙂 gvamosi@gergo1:~$ cat fork_bomb.sh#!/bin/sh## fork…
Titkosítás, DES, AES, Blowfish, MD4, MD5, SHA-2, RSA, DSA, RC4, TKIP, WEP, WPA, WPA2, TLS, SSL, PGP, SSH
Igen sok rövidítés került a címbe. Ezek egy része algoritmus, más része hash függvény vagy protokoll. A teljesség igénye nélkül vegyük sorra őket, hiszen ezekkel találkozhatunk a mindennapi életben. A DES (Data Encryption Standard) illetve a Triple DES és az AES (Advanced Encryption Standard) ún. szimmetrikus kulcsú vagy “titkos kulcsú” algoritmusok. Ez azt jelenti, hogy…
Linux parancsok IV.
Sort kell kerítsek még néhány parancs bemutatására. Nézzük sorban. Ha belépünk egy Linux szerverre, hasznos lehet az uname parancs. gvamosi@gergo1:~$ uname -aLinux gergo1 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux A parancs kimenetéből egyből megtudhatjuk, hogy az operációs rendszer Linux, Debian Linux, a hoszt neve gergo1, a kernelünk (leírása később) 4.19-es, a rendszerünk x86…
Mentés (backup)
A mentés a nagyon fontos gyakorlati rendszergazdai teendő. Az informatika egyik alaptétele a következő: ha egy adat csak egy helyen van meg, az nincsen (!). Ezért fontos mentési stratégiát kialakítani egy szerver, de akár a desktop gépünk, illetve hordozható eszközünk esetében is! Tiszteljük meg annyira saját magunkat, hogy saját munkáinkat, adatainkat, leveleinket, kapcsolatainkat, etc. legalább…
A log-olás (logging), naplózás alapjai
Linux rendszerünkben – pláne ha szerver – sokféle esmény történik. Ezek nyomot is hagynak – már ha jól van minden beállítva -, alapvető helyük az ún. syslog (rendszer napló), helye a könyvtárstruktúrában “/var/log/syslog”. Beszélnünk kell még egy alapvető dologról. Minden folyamatnak van egy bemenete (STDIN, száma 0) és két kimenete: a standard kimenet (STDOUT, száma…
Netes install, Live képfile (image)
No igen, kérdezhetnénk, de hogyan installálhatom fel a Debian 10-es Linux-omat, illetve bármilyen egyéb Linux-ot? Ha van gyors és olcsó hálózati kapcsolatunk, akkor gyerekjáték az egész. Alapvetően három féle install lehetséges. Először is egy kis .iso image letöltésével, ami azután a hálózatról fogja “lerántani” a szükséges file-okat. Az aktuális mérete ennek 335 MByte, USB stick-re…
Init script-ek, kill -HUP, runlevel-ek, boot loader
A Linux rendszert induláskor egy ún. boot loader tölti be, helye fizikailag a rendszerben konfigurált boot-sorrendben megtalálható “merevlemez” – HDD vagy SSD -, USB stick, CD vagy DVD, illetve hasonlóak lehetnek (a jövőre nézve). Ezeken van egy ún. MBR – Master Boot Record, ahol egy apró információt tárol el a boot loader – régebben LILO,…
Tűzfal (firewall)
A Linux gépeken már régi téma a tűzfal. A tűzfal arra való, hogy védelmet nyújtson a magánhálózatoknak illetve a számítógépeknek az Interneten garázdálkodó rosszakaratú támadók ellen. Éppen ezért beszélhetünk hálózat-biztonságról – erről nálam itthon a router-en lévő tűzfal gondoskodik -, illetve hoszt-biztonságról, ami a Linux notebookom-on van telepítve. Ma már általában egyszerűek a beállítások, mind…
Ethernet, bridging, switching, routing és a Linux router táblája
Először beszélnünk kell arról, hogy mi az az Ethernet. Az Ethernet a LAN (Local Area Network – helyi hálózat) hálózatokra kidolgozott szabvány. Működésének lényege, hogy hallgatózik az összes résztvevő, és ha “csend” van, akkor küldik az adatokat. Beszélünk ma 100 MBit-es (megabit per másodperc) Ethernetről és GBit-es (gigabit per másodperc) Ethernetről is. Ez az elméleti…
Hálózat, IP-címek
A tegnapihoz tartozok még egy magyarázattal. A hálózati szereplőknek egyedi címük van, úgynevezett IP címük. Ez a korábban említett IP protokoll a TCP/IP-ből, az ISO-OSI modell harmadik, hálózati rétegéből. A világot korábban az IPV4 szerint osztották fel. Az egyetemek többek között úgynevezett autonóm zónákat kaptak. A BME például a 152.66.XXX.XXX úgynevezett B osztályú hálózatot. Azért…
Portszkennelés (Port Scan) Linux alatt – nmap, hálózati kapcsolatok – netstat
Telepítettem a napokban régi jó szoftvercsomagomat, az nmap-et is. Beszéltünk róla, hogy Linux alatt 0-65535-ig (2^16-1) számozottak a portok. Egy port lehet TCP (Transmission Control Protocol – kapcsolatorientált, byte-stream jellegû, megbízható protokoll, pl. “on-demand” kép- és hangátvitel, letöltés, mivel a TCP egy megbízható protokoll, újra küldi az “elveszett” csomagokat) vagy UDP (User Datagram Protocol -…
Telnet, HTTP 80-as port
Fel kellett installálnom a szokásos apt-get install paranccsal a telnet csomagot. Úgy látszik már annyira kiment a divatból ez az ódon parancs, hogy fenn sincs a distribution-ban alapból. 🙂 Régebben két Linux (UNIX) gép között leginkább csak a telnet parancs volt. Ez kódolatlan plain text (sima szöveges) adatátvitel két hálózati szereplő között. Hja, “biztonság”, hol…
Zombi-gyilkolás 🙂
A folyamatok státusza a top parancs képernyője szerint lehet “running” – “futó”, “sleeping” – “alvó”, “stopped” – “megállított”, illetve “zombie” – “zombi”. A tegnapi secure shell-es lecke megírása közben véletlenül lehajtottam a Linux notebook képernyőjét, azaz összecsuktam a gépet. Közben az asztali Mac mini-ről bejelentkezve maradtam. Ilyenkor egy bennragadt shell processzről van szó. Majdhogynem zombi.…
Secure Shell – biztonságos távkapcsolat két számítógép között – ssh, scp egy Mac mini OS X és egy Linux között
Két Linux/UNIX alapú számítógép között a biztonságos kapcsolatot, titkosított adatátvitelt az úgynevezett secure shell, azaz ssh kapcsolat jelenti. Alapvetően kliens-szerver kapcsolat, és rémesen egyszerű, ha az ember egyszer ráérez. Először is felfedeztem, hogy az sshd, ssh daemon – vagyis a szerver – nincs installálva a Debian 10-em alatt. No ezen könnyű volt segíteni. Debian alatt…
Környezeti változók Linux alatt
Beállítani egy környezeti változót az export paranccsal lehet. gvamosi@gergo1:~$ export KERESS_PENZT_LINUXSZAL=gvamosi.worpress.com Kiírni egy környezeti változó értékét pedig mi sem egyszerűbb. gvamosi@gergo1:~$ printenv KERESS_PENZT_LINUXSZALgvamosi.worpress.comgvamosi@gergo1:~$ echo $KERESS_PENZT_LINUXSZALgvamosi.worpress.com Az összes környezeti változót a set, env vagy printenv paranccsal kérdezhetjük le. gvamosi@gergo1:~$ printenv | sortCOLORTERM=truecolorDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busDESKTOP_SESSION=gnomeDISPLAY=:0GDM_LANG=en_US.UTF-8GDMSESSION=gnomeGJS_DEBUG_OUTPUT=stderrGJS_DEBUG_TOPICS=JS ERROR;JS LOGGNOME_DESKTOP_SESSION_ID=this-is-deprecatedGNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/12b6ca2c_41b1_4c0d_81ab_573afc40b82aGNOME_TERMINAL_SERVICE=:1.91GTK_MODULES=gail:atk-bridgeHOME=/home/gvamosiKERESS_PENZT_LINUXSZAL=gvamosi.worpress.comLANG=en_US.UTF-8LOGNAME=gvamosiOLDPWD=/home/gvamosi/Documents/irasok/Andreas_Witt-Egy_kidobott_ferfi_elete-20190418-NagycsutortokPATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:.PWD=/home/gvamosiQT_ACCESSIBILITY=1QT_IM_MODULE=ibusSESSION_MANAGER=local/gergo1:@/tmp/.ICE-unix/1075,unix/gergo1:/tmp/.ICE-unix/1075SHELL=/bin/bashSHLVL=0SSH_AUTH_SOCK=/run/user/1000/keyring/sshTERM=xterm-256colorUSER=gvamosiUSERNAME=gvamosi_=/usr/bin/printenvVTE_VERSION=5402WAYLAND_DISPLAY=wayland-0XDG_CURRENT_DESKTOP=GNOMEXDG_MENU_PREFIX=gnome-XDG_RUNTIME_DIR=/run/user/1000XDG_SEAT=seat0XDG_SESSION_CLASS=userXDG_SESSION_DESKTOP=gnomeXDG_SESSION_ID=2XDG_SESSION_TYPE=waylandXDG_VTNR=2XMODIFIERS=@im=ibus Egy környezeti változót az unset paranccsal “törölhetünk”. Magyarázat néhány környezeti változóhoz: USER:…
Boole-algebra és shell script
Az és, a vagy és a negáció műveletei igen fontosak. Nézzünk egy egyszerű példát. [ “$#” -ne 2 ] && { echo “Nem megfelelő argumentumszám”; exit; } Hogy ez hogyan működik egy képzeletbeli script elején? Az && és kapcsolatot fejez ki. Tehát ha nem 2 argumentumot kap a script, akkor kíír egy üzenetet és kilép…
Linux parancsok III. – folyamat (processz vagyis process) kezelés
A rendszer illetve felhasználói folyamatok változását a top paranccsal követhetjük nyomon. gvamosi@gergo1:~$ toptop – 14:07:27 up 10 days, 23:46, 1 user, load average: 1.25, 1.64, 1.48 Tasks: 296 total, 1 running, 295 sleeping, 0 stopped, 0 zombie %Cpu(s): 6.6 us, 2.7 sy, 0.0 ni, 90.2 id, 0.1 wa, 0.0 hi, 0.4 si, 0.0 st MiB…
Sorvége jel Linux, Mac és Windows alatt, folyamat kezelés parancssorból
Az ún. szövegfile-ok feldolgozása soronként történik. A sorvége karakterek a CR – carriage return, escape szekvenciája \r, (decimális kódja 13, hexadecimálisan pedig 0D, jelölik még ^M, azaz CTRL+M-ként is, “CTRL+V CTRL+M”-ként lehet “előhozni”), illetve az LF – line feed, azaz shell scriptben vagy c-ben jelölve \n (decimális kódja 10, hexadecimálisan pedig 0A). Linux alatt -…
Linux parancsok II. – és a pipeline
Linux illetve UNIX-ok alatt van egy nagyon izgalmas eszköz a fejlesztő vagy rendszergazda kezében. Ez a “|” pipe jel. 🙂 https://www.guru99.com/linux-pipe-grep.html A “|” pipe jel segítségével az egyik parancs kimenetét a következő parancs bemenetére köthetjük, így létrehozva egy pipeline-t, azaz egy csővezetéket. Értsd: egy parancs STDOUT-ját a következő parancs STDIN-jére lehet kötni. Természetesen több tagon…
Mi az a UNIX? Honnan ered a Linux? Mi a csoda az a GNU?
A UNIX matematikai alapokon nyugszik. Igen, kell a matek! 🙂 Alapvetően két fő ágba sorolhatóak a UNIX operációs rendszerek. Ezek: System V illetve POSIX (Portable Operating System Interface for uniX). A Linux a POSIX családba tartozik, ide tartozik még – a teljesség igénye nélkül – a BSD, a Mac OS X, a QNX és a…
Hackerek, figyelem! Mik azok a /etc/passwd és a /etc/group file-ok? 🙂
Nézzünk meg két sort a passwd file-ból! root:x:0:0:root:/root:/bin/bashgvamosi:x:1000:1000:gvamosi,,,:/home/gvamosi:/bin/bash A root user, a rendszergazda szerepel benne az első sorban, 0-ás uid-del és gid-del (felhasználó id és csoport id), illetve saját magam, mint felhasználó, az első, felhasználók számára kiosztott uid-del és gid-del, az 1000-essel. Az itt szereplő gid a felhasználó alap csoport azonosítója. Az összes többi csoport-tagságot…
Jogosultságkezelés filerendszer-szinten
Ha kérünk egy listát egy tetszőleges könyvtárban egy terminálablakban az ls -l paranccsal, akkor sok érdekességet látunk. gvamosi@gergo1:~$ ls -ltotal 64drwxr-xr-x 3 gvamosi gvamosi 4096 Aug 22 04:30 Androiddrwxr-xr-x 3 gvamosi gvamosi 4096 Aug 22 04:40 AndroidStudioProjectsdrwxr-xr-x 2 gvamosi gvamosi 4096 Aug 22 04:15 Desktopdrwxr-xr-x 24 gvamosi gvamosi 4096 Sep 1 23:58 Documentsdrwxr-xr-x 23 gvamosi…
Prompt – PS1 környezeti változó – mit is jelent a terminál ablakban vagy szöveges terminálban megjelenő gvamosi@gergo1:~$ prompt jel?
Az egész rendszerre érvényes, belépéskor automatikusan végrehajtott parancsok és beállítások helye a /etc/profile, ami rendszergazdaként, vagyis root user-ként (felhasználóként) szerkeszthető. Csak a prompt-beállítás szempontjából fontos részeket idézem. gvamosi@gergo1:~$ cat /etc/profileif [ “${PS1-}” ]; then if [ “${BASH-}” ] && [ “$BASH” != “/bin/sh” ]; then # The file bash.bashrc already sets the default PS1. #…
Manual pages, man pages, man lapok, használati útmutatók – rendszergazdáknak és programozóknak
Hogyan kaphatunk a parancsokról még több leírást, a –help opción felül? Erre valók az ún. manual pages, man pages – azaz a man lapok vagyis a használati útmutatók. gvamosi@gergo1:~$ man ls A fenti paranccsal az ls parancs használati útmutatóját, man lapjait kérhetjük le. A man lapok szekciókba vannak sorolva. Pl. a 3-as szekcióból így kérhetjük…
A .bash_profile file a home könyvtárban és az alias-ok
Tartozom tegnapról egy magyarázattal. Volt ugye bár ez a parancs: gvamosi@gergo1:/dev$ l tty3 Ez nem más, mint egy alias bejegyzés a home könyvtárban található .bash_profile-ból. Hogy mi ez a file? Amennyiben – egyébként szinte mindig – bash van beállítva a /etc/passwd file-ban login shell-nek – magyarázat egy későbbi postban 🙂 -, úgy az ebben a…
Ami a Linux könyvtárrendszerének rövid bemutatásából kimaradt: /dev és /proc
No de mi is az a /dev? Nos, az ez alatt lévő bejegyzések a tulajdonképpeni device-ai, azaz eszközei a rendszernek. A teljesség igénye nélkül pár érdekesség: gvamosi@gergo1:/dev$ file sdasda: block special (8/0) Ez nem más, mint a rendszerben található SSD. A lemez partícióit, tehát a fizikai geometriáját az fdisk paranccsal kérdezhetjük le, rendszergazdaként (root felhasználóként).…
A leggyakoribb parancsok I.
Azután a bizonyos dollár jel után – erről majd később – egy terminálban vagy a konzolon adhatunk a linux rendszerünknek parancsokat. gvamosi@gergo1:~$ ls -l Ez a parancs kijelzi egy listában az adott könyvtár tartalmát. A -l egy kapcsoló, azt jelenti, hogy kijelzést kapunk a file típusáról, hogy könyvtár-e vagy file vagy egyéb, a jgosultságokról, írható,…
Mi fán terem a / – azaz a gyökér vagy root könyvtár – avagy bevezetés a Linux könyvtárstruktúra alapjaiba
Linux alatt, akár az Android telefonokon nincsenek C: D: E: satöbbi “meghajtók”, csupán egy, a gyökér “/” alól elágazó könyvtárfa. 🙂 gvamosi@gergo1:~$ ls -l /total 408drwxr-xr-x 2 root root 4096 Jun 28 21:09 bindrwxr-xr-x 4 root root 4096 Jun 27 06:47 bootdrwxr-xr-x 20 root root 3380 Aug 27 04:49 devdrwxr-xr-x 153 root root 12288 Sep…
BASH programozás – script-ek
Beköszönés szintjén találtam egy rövidke ismertetőt a linux rendszerek parancssori programozásához. 🙂 http://web.cs.elte.hu/linfo/Shell/script.html Az egyik script-et ki is próbáltam. Tényleg működik. #!/bin/sh for i in *.txt do if grep font $i > /dev/null then mv $i .. fi done Hogy mit jelent az első sorban a /bin/sh? Kideríthetjük! gvamosi@gergo1:~$ file /bin/sh/bin/sh: symbolic link to dashgvamosi@gergo1:~$…
Gondoltad volna, hogy milyen sok helyen használsz a mindennapokban Linux-ot?
https://opensource.com/article/19/8/everyday-tech-runs-linux Tudtad-e, hogy az Internet belsejében Linux van? Bizony, az útválasztók, a “router”-ek – ezek afféle csomópontok – szinte mind Linux alapúak! Megbízhatóak és gyorsak!
2D vektorgrafika alapok Linux alatt
Szia Zsuzsa! Nem felejtettem el kérésed. Én ingyenes Inkscape-t használok Linux alatt. Ilyet tud: https://design.tutsplus.com/tutorials/create-a-burning-vector-match-using-gradient-meshes–vector-4349 Egy plakátot szinte teljesen ingyen (nem üzleti felhasználás, amúgy pár dollár lenne a font meg a háttér) készítettem úgy, hogy volt Illustrator-os és Photoshop-os alapom még az egyetemről, a kollégiumból, és pár hónap alatt ehhez hozzá tanultam idén nyáron. Ja,…
Kövesd a blogom
Szeretném megkapni e-mail-ben az új bejegyzéseket.