Linux

Ubuntu
Ubuntu

A Linux operációs rendszer egy szabad és nyílt forráskódú szoftver, amelynek központi része a Linux-rendszermag. A Linux elnevezés gyakran az egész Unix-szerű operációs rendszert, amely a Linux-rendszermagra és a GNU projekt keretében fejlesztett alapprogramokra épül, jelöli. Az operációs rendszer pontosabb neve ebben az értelemben GNU/Linux.

A "Linux" kifejezést használják a különböző Linux-disztribúciókra is, amelyek olyan egyedi összeállítások, amelyek tartalmaznak bizonyos programokat és beállításokat. A Linux sokféle elektronikus eszközben megtalálható, beleértve hálózati eszközöket, mobiltelefonokat, okostelefonokat, háztartási gépeket és szórakoztató elektronikai berendezéseket. A Linux széles körben használt szerverek és személyi számítógépek között is, és egyre több személyi számítógépen telepítik Linux disztribúciókat.

Története

GNU logo
GNU logo

A GNU projekt

Világszerte sok programozót inspirált az 1983-ban indított GNU Projekt, amelyet Richard M. Stallman (RMS) indított útjára. A szabad szoftveres megmozdulás célja az volt, hogy szabadon felhasználható, minőségi szoftvereket készítsen és terjesszen. Elkezdődött a GNU operációs rendszer, a GNU Hurd fejlesztése is, de a kilátások szerint nem lehetett a megjelenésére számítani néhány éven belül (2015-ben jelent meg).

Az 1980-as évek PC-s operációs rendszerei

A 80-as évek elejétől az egyik meghatározó PC-s operációs rendszer a DOS (Disk Operating System) volt. Az IBM a zárt forráskódú MS-DOS operációs rendszerrel szállította személyi számítógépeit, melyek később elárasztották a világot. Az akkori Apple Macintosh gépek (a szintén zárt forrású MacOS operációs rendszerrel) jobbak voltak az IBM PC-knél, de magasabb áruk és a perifériák alacsony választéka meggátolta őket a szélesebb körű elterjedésben.

A UNIX operációs rendszer

Egy másik, a 80-as években használt operációs rendszer a Unix volt. Jó tulajdonságai ellenére főként az intézmények, kutatási központok, iskolák operációs rendszere volt, részben az ára miatt, részben mert eredetileg sem otthoni felhasználásra, hanem nagyszámítógépekre tervezték. A UNIX operációs rendszer forráskódja zárt volt, ahhoz néhány kivételezett intézményen kívül mások nem férhettek hozzá

A MINIX operációs rendszer

A MINIX nevű operációs rendszer, amit 1987-ben fejlesztett Andrew S. Tanenbaum, egy hollandiai, amerikai állampolgárságú professzor és kernelszakértő. MINIX célja az volt, hogy az oktatásban használják, és segítse a diákokat az operációs rendszerek működésének és felépítésének megértésében. Bár nem volt különösebben erős operációs rendszer, a forráskódja nyitott volt, és ezáltal bárki hozzáférhetett a kódhoz. Ennek köszönhetően programozók és egyetemisták sokat tanulhattak belőle. Linus Torvalds is egy ilyen olvasó volt, aki később a Linux rendszermagjának fejlesztésébe kezdett.

A Linux születése

1991-ben Linus a Helsinki Egyetem számítástechnikai tudományok karának másodéves hallgatója volt. Linus autodidakta hacker volt, saját operációs rendszert szeretett volna írni, mivel a GNU Hurd-re várhatóan néhány évet várni kellett volna. A 21 éves egyetemista a Intel 80386-os processzor védett módú (protected mode), feladat-váltó (task-switching) lehetőségeit szerette volna felfedezni. Ez körülbelül 1991 nyarának elején lehetett, a pontos dátumra maga Linus sem emlékszik. Egy biztos: egy e-mail tanúsága szerint 1991. július 3-án már a POSIX szabvány után érdeklődött az interneten, így ekkor már futhatott nála egy kezdetleges rendszer. A program fejlesztése a Tanenbaum-féle Minix alatt történt, eleinte assembly nyelven.

1991. augusztus 25-én Linus egy mostanra már legendássá vált levelet küldött a MINIX hírcsoportba. A levél magyar nyelvű fordítása:

„Üdv minden Minix-felhasználónak odaát! Egy (ingyenes) operációs rendszert csinálok (csak hobbiból, nem lesz olyan nagy és profi, mint a gnu) a 386-os (486-os) AT-klónokhoz. Április óta érlelem, és lassan elkészül. Szeretnék visszajelzéseket arról, hogy mi tetszik és mi nem tetszik a Minixben az embereknek, mivel az én operációs rendszerem némileg hasonlít rá (többek között (gyakorlati okokból) azonos a fájlrendszer fizikai kiosztása).

A bash (1.08) és a gcc (1.40) programokat már átültettem, és úgy tűnik, működik a dolog. Ez azt jelenti, hogy pár hónapon belül valami hasznosat fogok kapni, és kíváncsi lennék, milyen funkciókat szeretnének legtöbben. Minden javaslatot szívesen veszek, azt viszont nem ígérem, hogy meg is valósítom őket :-)

- Linus (torvalds@kruuna.helsinki.fi)

Ui.: Igen! Nincs benne Minix-kód és többszálú fs-sel rendelkezik. Nem hordozható (a 386 feladatváltást használja stb.), és lehet, hogy soha nem is fog az AT-merevlemezeken kívül bármi mást támogatni, minthogy nekem csak ez van :-(.”

Így kezdődött a Linux története. Linus levele számos programozót inspirált. Andrew S. Tanenbaum - a MINIX operációs rendszer atyja - Hollandiában élő egyetemi tanár, operációsrendszer-kutató, egyik későbbi levelében azt írta, hogy a Linux elavult, mert monolitikus, ezért a professzor nem jósolt neki nagy jövőt. A levélből óriási vita lett. Ennek ellenére a Linux az elmúlt 21 évben hihetetlen fejlődésen ment keresztül, és még mindig monolitikus, pontosabban hibrid (távol áll a mikrokerneltől, de betölthető-eltávolítható modulokra osztható a funkciók többsége).

GNU/Linux

A "Linux" eredetileg csak a rendszermag (kernel) nevét jelöli. A Linux kernel alapú operációs rendszerek általában használják a GNU projekt által fejlesztett alapvető programokat és könyvtárakat. Ennek eredményeként a teljes operációs rendszer elnevezése jogilag helyesből "GNU/Linux operációs rendszer" lenne, amit Richard Stallman, a GNU projekt alapítója támogat. Azonban a köznyelvben és a gyakorlatban az emberek egyszerűen "Linuxnak" hívják az ilyen rendszereket. Néhány Linux disztribúció továbbra is ragaszkodik a "GNU/Linux" elnevezéshez, például a Debian, de a többség egyszerűen "Linux" néven említi ezeket a rendszereket. Linus Torvalds, a Linux kernel készítője is elhatárolódik a "GNU/Linux" elnevezéstől, mivel a Linux kernel nem egy közvetlen része a GNU projektnek.

A Linux kernel

A Linux kernel a Linux operációs rendszer magja. Unix-szerű, monolitikus kernel, melyet Linus Torvalds informatikus alkotott meg 1991-ben, azóta egy csoport fejleszti a világ minden tájáról. Eredetileg az Intel 386-os processzorára fejlesztette, hogy tanulmányozhassa az akkoriban újdonságnak számító 386 védett üzemmódját, de később számos más architektúrára is kiterjesztették.

Fejlesztés

A legfontosabb különbség a Linux és más népszerű operációs rendszerek között az, hogy a Linux kernel és a komponensek ingyenesek és nyílt forrásúak. A Linux nem az egyetlen ilyen operációs rendszer, de a legismertebb és legszélesebb körben használt. Számos szabad- és nyílt forrású szoftver licencelése a copyleft licencen alapul, melynek lényege, hogy a jog adta eszközöket nem az adott szellemi termék terjesztésének gátlására, hanem a megkötések kiküszöbölésére használják fel, így garantálva a felhasználás szabadságát a módosított változatokra nézve is. A legismertebb szabad szoftver licenc a GNU GPL, amely egy copyleft licenc. A Linux kernel és a legtöbb GNU projektből származó szoftver ezt a licencet használja.

Linux disztribúciók

Egy disztribúció adott készítőtől vagy gyártótól származó összeállítás, amely egy GNU/Linux alaprendszert, és ahhoz tartozó, bizonyos szempontok szerint válogatott és testre szabott programokat (és gyakran egyéni kernelt) tartalmaz. Ilyen szempont lehet például a célközönség, a felhasználás célja, a célgép hardverkonfigurációja, kezelhetőség, biztonság stb.

A disztribúciók sokfélesége kompatibilitási problémákhoz vezet, azaz nem biztos, hogy ha egy program működik az egyiken, akkor működni fog a másikon is. Ennek az az oka, hogy a különböző disztribúciók részben különböző bináris formátumokat, indexelést, … használnak. Különböző standardokkal (Linux Standard Base és Filesystem Hierarchy Standard) igyekeznek segíteni ezen.

Fontosabb disztribúciók:

  • Arch Linux
  • Debian
  • Elementary OS
  • Fedora, Red Hat Linux, CentOS
  • Gentoo
  • Kali Linux
  • KDE neon
  • Linux Mint
  • Mageia
  • Manjaro
  • Slackware
  • SuSE
  • Ubuntu
  • Zorin

Programozás Linux alatt

Programozás Arch Linux-ban
Programozás Arch Linux-ban

A legtöbb Linux disztribúció támogat számos programozási nyelvet és eszközöket a fejlesztők számára. Ezek közé tartozik a GNU toolchain, amely tartalmazza a GCC (GNU Compiler Collection) fordítót és a GNU build system alkalmazásokat. A GCC-vel több programozási nyelvet, például Ada, C, C++, Java és Fortran fordíthatnak. Emellett elérhetőek kereskedelmi fordítók is, például az Intel C++ Compiler, Sun Studio és az IBM XL C/C++ Compiler.

A Linux támogatja dinamikus nyelveket, mint a PHP, Perl, Ruby, Python és mások. Emellett a C#-ot is támogatja a Mono projekt segítségével, amely egy nyílt forráskódú implementációja a .NET platformnak. Számos Java virtuális gép és fejlesztői eszköz is elérhető Linuxon.

A grafikus alkalmazások fejlesztéséhez két fő keretrendszer, a GNOME és a KDE, használható. Ezek a keretrendszerek GTK+ és Qt widget toolkit-on alapulnak, és számos programozási nyelvet támogatnak. Több fejlesztői környezet is rendelkezésre áll, például Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, QtCreator és Omnis Studio. Emellett a hagyományos szerkesztők, mint a Vim és az Emacs is népszerűek a fejlesztők körében.

Használata

Sokféle Linux disztribúció létezik, és mindegyik más-más területre összpontosít, például különböző számítógépes architektúrák támogatására, stabilitásra, biztonságra, lokalizációra, valós idejű alkalmazásokra vagy szabad szoftverekre. Jelenleg több mint háromszáz disztribúció fejlesztése folyik aktívan, de csak néhányuk vált ismertté általános célú rendszerek olarak.

A Linux kernel sokféle számítógépes architektúrán működik, a kézi eszközöktől (pl. mobiltelefonok) a szuperszámítógépekig. Vannak olyan disztribúciók is, amelyek kisebb gépigényekkel rendelkeznek, és olyan kernelvariánsok, amelyek különböző, akár ritkábban használt architektúrákon is futnak. A Linux rendszermag kiterjedt támogatása miatt rendkívül sokféle eszközön és gépen használható.

Asztali felhasználás

Ubuntu 20.04 Desktop
Ubuntu 20.04 Desktop

A Linux asztali operációs rendszerek népszerűsége folyamatosan növekszik, bár áttörés még nem történt. Két vezető grafikus felület, a GNOME és a KDE, fejlettek és széles nyelvi támogatással rendelkeznek. Az asztali teljesítmény vitatott, de fejlesztések történtek a területen.

Sok alkalmazás elérhető Linux alatt, és a Wine segítségével futtathatók Windows alkalmazások is. Egyes területeken, mint az asztali kiadványszerkesztés és hangszerkesztés, Linux lemaradhat, de a hétköznapi felhasználói igényeket kielégítő programok is elérhetőek. Sok szabad szoftver, például Pidgin, Firefox, OpenOffice.org és GIMP, elérhető Linuxon.

A Linux-disztribúciók rendelkeznek csomagkezelőkkel, amelyek lehetővé teszik szabad szoftverek egyszerű telepítését. Az elterjedését néha nehézségek nehezítik, mivel eltér a kereskedelmi rendszerektől, de az irány biztató.

Szerverek és szuperszámítógépek

Szerverek
Szerverek

A Linux-disztribúciók eredetileg szerver operációs rendszerek voltak, és a szerverek területén sikeresek voltak a stabilitásuk és hosszú menetidejük miatt. Az LAMP szerver-szoftver kombináció (Linux, Apache, MySQL, Perl/PHP/Python) elterjedt a fejlesztők körében, és a Linux-disztribúciók fontos szereplői ezen a területen, például a Facebook is Linux alapokon működik.

Az Apache webkiszolgáló (a LAMP része) az egyik legnépszerűbb webkiszolgáló szoftver, amely hozzájárult a Linux sikeréhez a szerverek területén.

A Linux-disztribúciók dominánsak a szuperszámítógépek területén is, és a TOP500 listán szereplő legnagyobb teljesítményű szuperszámítógépek jelentős része Linux operációs rendszert használ. Az IBM például a Linuxot választotta a Sequoia nevű szuperszámítógépéhez, amely a világ legnagyobb teljesítményű szuperszámítógépe lett.

Beágyazott rendszerek

A Linux alacsony ára és módosíthatósága miatt sok beágyazott eszközben használják. Linux komoly versenytársa lett a Symbian OS-nek, és okostelefonok és egyéb eszközök piacán is elterjedt. Példák közé tartoznak a Nokia okostelefonjai, Intel Moblin netbook operációs rendszere, Lenovo smartbookja, Google Android, és a TiVo digitális videó-felvevő. Számos hálózati eszköz, zenei munkaállomások és világítástechnikai vezérlő is Linux alapokon működik. Linux az eszközökön sokszínű alkalmazásokhoz és testre szabáshoz hasznos.

Piaci részesedés

A szöveg számos tanulmányt és statisztikát említ a Linux és a szabad szoftverek elterjedtségéről. Az IDC által készített tanulmány szerint 2013-ra a Linux rendszerek bevétele meghaladhatja a 35,5 milliárd dollárt. A szerverpiacot illetően 2007-ben a Linux 12%-os részesedéssel rendelkezett, és 2008-ban Steve Ballmer, a Microsoft vezérigazgatója is elismerte, hogy a szerverek 60%-a Linuxot futtat. Az asztali rendszerek terén a Linux elterjedése alacsonyabb, kevesebb mint 2%, míg a Microsoft által kiadott operációs rendszerek több mint 90%-os részesedéssel rendelkeznek. Az átállás költségei és a Windowsra tervezett programok hiánya a Linux elterjedését hátráltatják, de a Linuxot a biztonsága, megbízhatósága, alacsony költsége és bizonyos cégektől való függetlensége miatt is kedvelik. A netbookok terén a Linux kezdetben népszerű volt, de később a Windows vette át a vezetést. A filmiparban sok stúdió Linuxot használ a filmkészítéshez, mivel hatékony, gyors és költséghatékony.

Linux használata a közigazgatásban

A Linux népszerűvé vált a közigazgatásban is néhány országban. Például a brazil kormány elkötelezett a Linux iránt, használják az oktatásban, hivatalokban és választásoknál is. Brazíliában milliók tanulót és számos termet szolgál ki a Linux szoftvercsomag, és további intézmények is áttérnek rá. Az orosz hadsereg saját Linux-disztribúciót fejlesztett ki, India pedig felsőoktatási intézményeinek elrendelte a Linux használatát. Franciaország és Németország is elkezdték az átállást nyílt forrású szoftverekre, ideértve a Linuxot is. Az Európai Unió is támogatja a szabad szoftverek, köztük a Linux alapú operációs rendszerek használatát.

Használat, támogatás

Telepítés

A Linux telepítése kezdetben nehéz volt, de ma már sok disztribúció könnyen telepíthető, hasonlóan a Windows rendszerekhez. A Linux telepítéséhez általában nincs szükség licenszek elfogadására vagy eredetiséget igazoló kódok beütésére. A telepítő általában automatikusan felismeri a hardvert és beállítja a megfelelő meghajtókat. Az előtelepített Linux rendszerek, például a Hewlett-Packard és a Dell gépek, tartalmazzák a szükséges meghajtókat.

A Linux telepítése könnyen elvégezhető egy önálló telepítő CD vagy DVD segítségével, amelyről a rendszer elindul, és a telepítési folyamat során a felhasználó beállításokat tehet. Sok disztribúció LiveCD-ket is kínál, amelyek lehetővé teszik a rendszer kipróbálását telepítés nélkül. A magyar fejlesztésű blackPanther OS például lehetővé teszi a telepítést egyetlen kattintással USB-kulcsra.

A Linux terjedését korlátozhatja, hogy kevés hardvergyártó támogatja teljeskörűen, és gyakran fejlesztőknek kell meghajtóprogramokat írniuk. Az előtelepített Linux rendszerek ezt a problémát megkerülik, mivel a gyártók már telepítéskor hozzáadják a szükséges meghajtókat.

Beállítások

A Linux disztribúciók nem mindig biztosítanak teljes grafikus beállítási lehetőségeket, és a rendszer mélyebb beállításaihoz gyakran szükség lehet karakteres konzol használatára. A beállítások disztribúcióról disztribúcióra változnak, de általában minden szoftvernek lehet külön felhasználói beállítása, amelyet a felhasználó saját mappájában tárol. A fontos rendszerbeállítások általában az /etc könyvtárban találhatók, amelyeket a felhasználók nem módosíthatnak. Az átlagos felhasználók nem rendelkeznek jogosultsággal a rendszergazda funkciókhoz. Ez a Linux stabilitását és biztonságát erősíti.

Terméktámogatás, Szoftver- és termékgyártók támogatása

A hagyományos értelemben vett terméktámogatás nem létezik az ingyenes Linux változatokhoz, mivel a rendszer fejlesztése és támogatása nonprofit közösségek munkáján alapul. Ezek a közösségek általában levelezőlistákat, fórumokat és weboldalakat üzemeltetnek, ahol a felhasználók segítséget kaphatnak egymástól. A Linux rendszerek gyorsan reagálnak a hibákra és biztonsági résekre, és gyorsan készülnek el a frissítések.

A Linux alapú rendszerek szabadon terjeszthető alkalmazásokra épülnek, és minden alkalmazásnak saját támogatása és fejlesztőközössége van. Ezenkívül vannak olyan "fizetős" disztribúciók, mint a Red Hat Linux, amelyek kereskedelmi támogatási szolgáltatásokat nyújtanak.

Sok szoftver- és termékgyártó cég támogatja a Linuxot, és kiadja termékeit ehhez az operációs rendszerhez. Például az AMD, a Google, a Mozilla és a Hewlett-Packard is támogatja a Linuxot. A Google 2009-ben bejelentette a Linux alapú, nyílt forráskódú Chrome OS operációs rendszerét.

Biztonság

A Linux biztonsága függ a felhasználási területtől, így asztali rendszerként szigorúbban osztja ki az egyes taskoknak a hozzáférést, mint más elterjedt rendszerek. Ez többek között ahhoz vezet, hogy sok elterjedt vírus és féreg nem képes arra, hogy megtámadja a Linuxot. Eddig csak két vírus, a Staog és a Bliss lépett fel Linux alatt.

A Linux először egy nagyon technikai és a biztonságot kiemelten kezelő körben terjedt el, így fejlesztése egy biztonságra nagymértékben ügyelő közönség előtt zajlott le.

Nagygépes rendszerekben a biztonság főként attól függ, hogy a rendszergazdák mennyire tudják kiismerni a rendszert. Itt a Linux szabad forrásával tűnik ki, ugyanis így többletköltségek nélkül lehet tesztelni és átvizsgálni. Speciálisan biztonságközpontú disztribúciók egész sora áll rendelkezésre.

A Linuxot nem egy architektúrára tervezték, ezért a vírusok és a férgek csak azokon az architektúrákon tudnak elterjedni, amikre tervezték őket. A Linux forráskódja nyílt, tehát sokan tudják tanulmányozni, vizsgálni és a saját eszközeikhez, ízlésükhöz igazítani. Ez ahhoz is vezet, hogy sokan vizsgálják és fejlesztik biztonsági szempontból is.

Problémák és kritika

A Linux kritikája néhány okból fakad:

  1. Nem minden hardverre alkalmas, mivel a gyártók nem mindig fejlesztik ki a Linuxhoz a szükséges meghajtókat, és azokat nyilvánosságra kell hozni a GPL szerint.
  2. A digitálisan vásárolt hang- és videofelvételek esetében nincs egységes jogvédelmi rendszer, így sok gyártó saját megoldásokkal védekezik a kalózkodás ellen, és néhány vállalat nem biztosított eredetiség-ellenőrző programokat Linuxra.
  3. A Linux rendkívül testreszabható, de a beállításokhoz magas szintű technikai tudás és tapasztalat szükséges. Egyes disztribúciók igyekeznek megkönnyíteni a felhasználók számára a konfigurációt előre beállított beállításokkal, automatizálással vagy speciális programokkal.

English summary

A Linux operating system is a free and open-source software, with its central component being the Linux kernel. The term "Linux" is often used to refer to the entire Unix-like operating system, built on top of the Linux kernel and basic programs developed within the GNU project. In this sense, the more accurate name for the operating system is GNU/Linux.

Linux is widely used across various electronic devices, including network equipment, mobile phones, smartphones, household appliances, and entertainment devices. It is also a popular choice for servers and personal computers, with more Linux distributions being installed on personal computers.

The Linux kernel, developed by Linus Torvalds in 1991, played a significant role in the open-source software movement. It started as a hobby project but gained immense popularity over the years. Various distributions, each with its own unique package of programs and configurations, have made Linux adaptable for different needs, and its open-source nature has contributed to its widespread adoption and continuous development.

Linux is known for its security and stability, making it a favored choice for server environments, including many of the world's largest supercomputers. Moreover, Linux has a growing presence in the embedded systems industry and is gradually gaining ground in desktop computing, with ongoing support and development from a global community of enthusiasts and developers.