Cygwin

botond küldte be 2018. 10. 17., sze – 22:16 időpontban

A Cygwin egy Unix-szerű környezet és parancssori felület a Microsoft Windows operációs rendszer számára. A Cygwin a Windows-alapú alkalmazások, adatok és más rendszererőforrások natív integrációját kínálja az Unix-szerű alkalmazások számára. Így lehetséges a Windows alkalmazások indítása a Cygwin környezetből, valamint az Unix-alapú programok futtatása a Windows rendszerben.

Cygwin - LXDE asztalkörnyezet integráció a Windows 7 rendszerben

Cygwin - LXDE asztalkörnyezet integráció a Windows 7 rendszerben

 

A rendszert eredetileg a Cygnus Solutions fejlesztette ki, melyet később a Red Hat vásárolt meg. Ez egy ingyenes és nyílt forráskódú szoftver, amelyre a GNU Lesser General Public License 3. verziójának feltételei vonatkoznak. Jelenleg a Red Hat, NetApp és más önkéntesek tartják fenn.

Cygwin két részből áll: egy DLL könyvtárból, ami POSIX rendszerhívásokat és API funkciókat valósít meg Win32 rendszerhívásokkal, valamint egy széleskörű szoftvercsomagból, ami biztosítja az Unix-szerű rendszer elemeit és megjelenését. Ez a szoftvercsomag tartalmazza például a GNU programfejlesztési eszközkészletet is, ami lehetővé teszi a Cygwin rendszerében történő szoftverfejlesztést, valamint megtalálhatók benne a Unix/Linux rendszerekben is lévő programok megfelelői.

A Cygwin lehetővé teszi az inetd, syslogd, sshd, Apache és más démonok szabványos Windows szolgáltatásként történő telepítését, biztosítva a Microsoft Windows rendszerek számára a Unix és Linux kiszolgálók emulálását.

A Cygwin környezet belső csomagkezelővel nem rendelkezik, így a programcsomagok telepítése a fő telepítő futtatásával történik, amely letölti a kiválasztott csomagokat az interneten található adattárakból. A telepítő telepítheti, frissítheti és törölheti a csomagokat. A teljes telepítés mérete akár a 36 Gb-ot os meghaladhatja, de egy használható konfiguráció már 1-2 Gb-os tárhelyen is összeállítható.

 

 

A Windows és Unix/Linux rendszerek összeegyeztetése

A Windows és a Unix rendszerek közötti különbözőségek összehangolására irányuló törekvések:

  • A Unix mount parancs Cygwin-specifikus verziója lehetővé teszi a Windows elérési útját "fájlrendszerként" a Unix fájlterületen. A kezdeti csatolási pontok konfigurálhatók az / etc / fstab fájlban, amely nagyon hasonló formátumú, mint a Unix rendszereken, kivéve, hogy az eszközök helyén Windows-útvonalak jelennek meg. A fájlrendszerek bináris módban (alapértelmezés szerint) vagy szöveges módban telepíthetők, amely lehetővé teszi az automatikus konverziót az LF és a CRLF végződések között (amely csak a fájlok megnyitására szolgáló programokat érinti, anélkül, hogy kifejezetten szöveges vagy bináris módot kellene megadnia).
  • A Cygwin 1.7-es verziójában bevezetésre került a POSIX lokalizációk átfogó támogatása, amellyel az UTF-8 kódolás lett az alapértelmezett. A Windows fájlnevek és egyéb azonosítók, amelyek UTF-16-ban vannak kódolva, automatikusan átváltanak a kiválasztott karakterkódolásra.
  • A Windows meghajtó betűjelek egy speciális Unix könyvtárba kerülnek "bemappolásra", így például a C: meghajtó a /cygdrive/c útvonalon válik hozzáférhetővé (A cygdrive előtag megváltoztatható).
    A Windowsos hálózati útvonalak, mint például a \\HOSZT\MEGOSZTOTT\FÁJL pedig a //HOSZT/MEGOSZTOTT/FÁJL útvonalon válnak elérhetővé.
    A Windows elérési útvonalai közvetlenül is használhatók a Cygwin programokból, de sok program nem támogatja őket helyesen, ezért nem ajánlott a használatuk.
  • Teljes funkcionalitású /dev és /proc fájlrendszerek biztosítottak. A /proc/registry útvonal például közvetlen hozzáférést biztosít a Windows registry-jéhez (rendszerleíró adatbázis).
  • A Cygwin támogatja a POSIX szimbolikus linkeket, amelyek rendszer attribútummal ellátott egyszerű szövegfájlként jelennek meg a fájlrendszerben. A Cygwin felismeri az NTFS csomópontokat és ezeket is POSIX szimbolikus linkekként kezeli.
  • A hozzáférés-vezérlési listák (ACL-ek) kezelésére szolgáló Solaris API támogatja és kezeli a Windows NT ACL rendszerét.
  • A /etc/passwd és /etc/group fájlok tartalmazzák a Windows felhasználók és csoportok megfelelőit.
  • Különféle segédprogramok állnak rendelkezésre a Windows és a Unix elérési útjainak és fájlformátumainak konvertálásához, a vonalvégi (CRLF / LF) problémák kezeléséhez, a végrehajtható fájlokhoz kapcsolódó DLL-ek megjelenítéséhez stb.
  • Az inetd, syslogd, sshdApache és más démonok a Cygwin alatt standard Windows szolgáltatásként (service) installálható, ezáltal lehetővé téve a Unix / Linux szerverek futtatását a Microsoft Windows rendszerekben.
  • És még számos apró kiegészítés, amik áthidalják a két rendszer közötti eltéréseket...