Keresés

Részletes keresés

NevemTeve Creative Commons License 2005.07.19 0 0 115
K: C-programban mekkorák a short, int, long, long long, size_t, void *, ptrdiff_t adattípusok?
V: Platformfüggő.

K: És mégis, mit lehet tudni róluk?
V: Hát... legtöbbször
sizeof (char)=1
sizeof (short)=2
sizeof (short)<=sizeof (int)<=sizeof (long)<=sizeof (long long)
sizeof (long)=4/8
sizeof (long long)=8
sizeof (void *)=sizeof (long)
sizeof (size_t)=sizeof (long)
sizeof (ptrdiff_t)=sizeof (void *)

K: És mi következik ebből?
V: Pl, ha olyan adatot akarsz felvenni, ami számot és pointert is tartalmazhat, akkor az ne "int" legyen, hanem "long", és máris hordozhatóbb a programod.
NevemTeve Creative Commons License 2005.07.17 0 0 114
K: Nem megy az internet!
V: Sajnálatos. Kérdésed van?

K: Van: mit csináljak, hogy működjön az ADSL/CATV internet?
V: Ellenőrizd, hogy van-e Ethernet-kártya a gépedben, össze van-e kötve a modemmel (haladó esetben router-rel). Ha van hálókártya (magyarul NIC), akkor
1. derítsd ki a típusát (de pontosan ám, nem csak úgy hogy "Intel" meg "integrált").
2. ellenőrizd, hogy égnek/vilognak-e rajta kis lámpácskák (LED-ek).

K: És ha tudom a NIC típusát?
V: Derítsd ki, hogy a linux támogatja-e, és ha igen, minő driverrel (kernelmodullal)!
K: Én derítsem ki?!
V: Igénybe vehetsz fizetett segítőt is, de akkor minek neked ez a FAQ?
K: De hol keressem az információt?
V: Pl a /usr/src/linux/Documentation könyvtárban, illetve az interneten.
Egy régebbi leírás pl itt: http://www.faqs.org/docs/ethernet/Ethernet-HOWTO.html.

K: Honnan tudom, hogy szerencsésen betöltődött a driver?
V: Próbáld ki ezt a parancsot: ifconfig -a. Ha van az outputban eth0, akkor jó a helyzet.
NevemTeve Creative Commons License 2005.07.08 0 0 113
K: Két winchesterem van, az elsőn Windows. Lehet azt, hogy a másodikra telepítem a linuxot, meg a lilo-t, és a BIOS-ban kavarok a boot-orderrel?
V: Lehet.
K: És fog működni a Windows is meg a linux-is?
V: Szerintem legfeljebb az egyik, de lehet hogy egyik sem.

K: Akkor mit javasolsz?
V: Telepítsd a lilo-t teljes egészében az első winchesterre, pl stage1 (boot=) az MBR-be vagy az Extended partícióba, a stage2 (map=) egy külön file-ba, akár egy külön (linux-os) partíción... amit akár /boot-ként használhatsz.

K: Miért nem lehet a stage2 a második winchesteren?
V: Ha biztos vagy benne, hogy nem fogod kiszerelni/ nem fog elromlani/ stb, akkor persze lehet ott is. Ha ezek valamelyike mégis előfordulna, akkor az elsőről sem tudsz bootolni addig, míg a lilo stage1-et le nem szeded róla.

K: Két linux (alapú OS) is van a gépemen. Lehet őket egy lilo-ból indítani?
V: Lehet. Ha mondjuk az "A" rendszerben vagy, akkor mountold a "B" rendszer /boot partícióját pl /mnt/B/boot néven, és a /etc/lilo.conf-ba írd be, hogy
image=/mnt/B/boot/bzImage
 label=B
 root=/dev/hda9 # root fs for "B" linux
és futtasd a /sbin/lilo-t!
NevemTeve Creative Commons License 2005.07.08 0 0 112
K: Hol lehetne többet megtudni a lilo-ról?
V: Meg fogsz lepődni: a lilo(8) és lilo.conf(5) manualokban.

K: Legalább annyit árulj el, hogy mi az a stage1 meg stage2?
V: A stage1 az a bizonyos egyszektornyi program, akiről a (111)-ben beszélgettünk. Feladata az, hogy betöltse a stage2-t. Ja és az is, hogy kiíja, hogy LI. (Ha az előbb nem mondtam volna, a /etc/lilo.conf "boot=" sora mondja meg, hogy hová kerüljön.)

K: És a stage2?
V: A stage2 adja ki a menüt (ha kértük), enged választani, azután betölti a kívánt kernelt, vagy valami mást ("other=" opció). Továbbá kiírja hogy LO.

K: Hol vagyon ez a stage2?
V: A map-file-ban, ugyanott van az egyes betölthető kernelek helye leírva (szektorcím).
K: Szektorcím? Hát a lilo nem a file-név alapján találja meg az egyes kerneleket?
V: Szép is lenne! Valahányszor új file-rendszert talál ki valaki, rögtön a lilo-ba is bele kellene hack-olni annak a kezelését...
K: Dehát a grub éppen ezt csinálja!
V: Lehet, de mi most a lilo-ról beszélünk!

K: Lehet a lilo-t is meg a kernelt is floppy-ra telepíteni?
V: Ha elférnek, akkor igen. Mondjuk csinálj ehhez egy külön /floppy/lilo.conf.floppy file-t is, hogy az is kéznél legyen (/sbin/lilo -C /floppy/lilo.conf.floppy parancsot ne felejtsd majd el!)... olyasmi tartalommal, hogy
boot=/dev/fd0
map=/floppy/map
root=/dev/hdaN # saját root-partíciód!
image=/floppy/bzImage # vagy ahogy a kerneledet hívják
 label=Floppy
 read-write

(Persze tehetsz bele további image= és other= sorokat is, a saját rendszerednek megfelelően)
Előzmény: NevemTeve (111)
NevemTeve Creative Commons License 2005.07.08 0 0 111
K: Hová lehet a lilo-t (illetve annak elsődlegesen betöltődő részét) telepíteni?
V: Floppy esetén a Boot Sector-ba, Hard Disk esetén az MBR-be, vagy valamelyik partíció Boot Sector-ába.

K: Melyik partíció jöhet szóba?
V: Lehet Primary, Extended vagy Logikai... de semmi esetre sem olyan, amiben DOS-os vagy Windows-os filerendszer van (fat,vfat,ntfs).

K: Hogy kerül a vezérlés a lilo-ra?
V: Floppy vagy MBR esetén egyértelmű a dolog; Primary vagy Extended partícióba telepített lilo akkor futhat, ha az a partíció az aktív (bootable) jelzésű.

K: Az Extended Partíció nem lehet aktív!
V: Szavazzunk; szerintem lehet... legalábbis az én gépemen így van. Lehet hogy a Logikai Partícióra gondolsz? Az tényleg nem lehet aktív.

K: Akkor nincs is értelme oda lilo-t tenni!
V: Normálisan nincs... de ha akarsz, tehetsz a gépedre több lilo-t is, akik egymást is indítgathatják... így akár egy Logikai Partíción lévő lilo is indítható.

K: Elegem van az egész lilo-ból! Hogyan tudom kiszedni az MBR-ből?
V: Például az "FDISK /MBR" parancssal DOS-ból.

K: És ha egy partíció boot-sectorán van?
V: Akkor elég ha az FDISK-kel leszeded a partícióról az aktív (bootable) jelzést, és átrakod a Windows-osra.

K: Na jó, hála a tanácsaidnak szerencsésen kizártam magam a rendszeremből! Mit csináljak?
V: Keresd elő az oly fontos rescue disket (CD-t), és olvasd el a (22)-es hozzászólást!
NevemTeve Creative Commons License 2005.07.07 0 0 110
K: Hány megnyitott file-om lehet egyszerre?
V: Shell-ben az ulimit -n mondja meg, az ulimit -n <érték> állítja be.

K: Csak ezt lehet az ulimit-tel hangolni?
V: Nem, próbáld ki a ulimit -a-t!

K: És programból?
V: Az ulimit(2) rendszerhívás megszűnt, mint könyvtári függvény (ulimit(3)) még létezik, de elavult. A getrlimit(2) és setrlimit(2) ajánlható, az RLIMIT_NOFILE paraméterrel.

K: Igen, de az "ulimit -n"-nel csak csökkenteni tudom a korlátot!
V: Akkor nézz utána a "-H" és "-S" opcióknak! Az előbbi a "hard-limit"-et állítja, ezt csak csökkenteni lehet, az utóbbi a "soft-limit"-et, ez növelhető is, de csak a "hard-limit" méretéig.
K: És végülis melyik számít a gyakorlatban, azaz hány megnyitott file-om lehet?
V: A kisebbik, vagyis a soft-limit.

K: A 'root' sem növeleheti a hard-limitjét?
V: Dehogynem... (egyébként a manual szerint a "CAP_SYS_RESOURCE capability" kell hozzá... akármi is légyen az)

K: És hogy lehet ezt globálisan szabályozni?
V: PAM használata esetén a /etc/security/limits.conf-ban, pl:

* hard nofile 2048
* soft nofile 1024

K: Megtörtént, de semmi hatása!
V: Természetesen! Előbb a /etc/pam.d/login file-ba tegyél egy session required pam_limits.so tartalmú sort!
NevemTeve Creative Commons License 2005.07.04 0 0 109
K: Nem mennek a java-applet a Mozillámban, az about:plugins sem mutatja hogy tudna appletet.
V: Elhiszem.

K: Mit tegyek, hogy menjen?
V: A http://java.sun.com-ról töltsd le a JRE (java run-time environment) nevű szoftverkomponenst! (Ha tervezed, hogy java-ban fogsz programozni, akkor a JDK-t is választhatod, részhalmazként tartalmazza a JRE-t)

K: És hogyan fogja tudni a Mozilla használni ezt a JRE-t?
V: A /some/where/mozilla*/plugins könyvtárba kell be szim-linkelni a /there/where/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so file-t (nem másolni!).

K: Nekem nincs "jre" könyvtáram, csak "j2re1.4.2_01" vagy ilyesmi.
V: Használd azt, vagy az egyszerűség kedvéért csinálj erre is egy szimlinket: ln -s j2re1.4.2_01 /there/where/jre.

K: Mi lenne az előnye egy ilyen linkelésnek?
V: Ha mondjuk frissíted a jre-t, csak a szimlinket kell átállítanod, és egycsapásra mindenki az új verziót látja.

K: Nálad például hogy néz ki mindez?
V:
ls -l /opt/jre /usr/local/mozilla /usr/local/mozilla/plugins/libjavaplugin_oji140.so
/opt/jre -> j2re1.4.2_01
/usr/local/mozilla -> mozilla.178
/usr/local/mozilla/plugins/libjavaplugin_oji140.so -> /opt/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so
NevemTeve Creative Commons License 2005.06.22 0 0 108
K: Van egy problémám, be is írtam valamelyik topikba, mégse válaszolt senki! Lehet hogy valami baj van a kérdésemmel?
V: Lehet. Itten tessél szíves tájékozódni: Hogyan kérdezzünk okosan
NevemTeve Creative Commons License 2005.06.21 0 0 107
K: Igaz, hogy vannak a Linux-on kívül is UNIX-szerű rendszerek?
V: Igaz.
K: És ezek a UNIX-szerű rendszerek mennyire kompatibilisek egymással?
V: Hát úgy félig-meddig: valószínűleg van ugyanolyan nevű parancs, mint amit Linux-ból ismersz, csak mást csinál, vagy kevesebb opciót ismer stb.

K: Egy script-ben hogyan lehet lekérdezni az operációs rendszer mibenlétét?
V: Az 'uname' paranccsal, pl

Egyik gép:
uname -m: i686
uname -p: unknown
uname -s: Linux
uname -v: #1 Wed Jun 15 15:14:50 CEST 2005
uname -r: 2.6.11

Másik gép:
uname -m: 00C8347D4C00
uname -p: powerpc
uname -s: AIX
uname -v: 5
uname -r: 2

Látszik hogy ezt az információt is elég eltérően közlik, talán a következőképpen lehetne kezelni:

OS=$(uname -s)
if [ "$OS" = "Linux" ]; then
 VER=$(uname -r)
 HW=$(uname -m)
elif [ "$OS" = "AIX" ]; then
 VER=$(uname -v).$(uname -r)
 HW=$(uname -p)
else
 VER='unknown'
 HW='unknown'
fi
echo "$OS version $VER is running on $HW"
NevemTeve Creative Commons License 2005.06.16 0 0 106
K: Mit csinál a kernel, mikor szerencsésen inicializálta magát?
V: Mountolja a root-filerendszert.
K: Az melyik?
V: Amit a root= paraméterrel átadsz neki, illetve ami bele van defaultolva.
K: Hogyan tudom 'beledefaultolni'?
V: Az rdev paranccsal.

K: És ha mountolt, akkor kész is van?
V: Nem még egy programot is elindít.
K: Na és melyiket?
V: Amit az init= paraméterrel átadsz neki, illetve a /sbin/init, /etc/init, /bin/init, /bin/sh programok valamelyikét (vagy is azt, amelyiket elsőként megtalál ebben a sorrendben).

NevemTeve Creative Commons License 2005.06.15 0 0 105
K: És ha ez megvan, akkor megadhatom a mount-nak az acl opciót, és kész?
V: Igen, de azért nézzünk egy példát:
touch mano; getfacl mano
# file: mano
# owner: root
# group: root
user::rw-
group::r--
other::r--
setfacl -m u:teve:w mano; getfacl mano
# file: mano
# owner: root
# group: root
user::rw-
user:teve:-w-
group::r--
mask::rw-
other::r--

Ezzel előidéztük azt a rendkívül vicces állapotot, hogy a teve user tudja írni ezt a file-t, de nem tudja olvasni... bővebben lásd a man setfacl-t

touch jenci; getfacl mano | setfacl -S- jenci; getfacl jenci
# file: jenci
# owner: root
# group: root
user::rw-
user:teve:-w-
group::r--
mask::rw-
other::r--

a 'jenci'-nek legyenek ugyanazok a beállításai, mint a 'mano'-nak
NevemTeve Creative Commons License 2005.06.15 0 0 104
K: Szeretnék ACL-t használni!
V: Elhiszem.

K: De a kernelem nem támogatja! Mit állítsak be?
V: Pl:
* Filesystems/ Second extended fs support/ Ext2 extended attributes/ Ext2 POSIX Access Control Lists - CONFIG_EXT2_FS_POSIX_ACL
* Filesystems/ Ext3 journalling file system support/ Ext3 extended attributes/Ext3 POSIX Access Control Lists - CONFIG_EXT3_FS_POSIX_ACL
* Filesystems/ Reiserfs support/ ReiserFS extended attributes/ ReiserFS POSIX Access Control Lists - CONFIG_REISERFS_FS_POSIX_ACL
* Filesystems/ JFS filesystem support/JFS POSIX Access Control Lists - CONFIG_JFS_POSIX_ACL
NevemTeve Creative Commons License 2005.06.15 0 0 103
K: Szeretnék ACL-t használni!
V: Elhiszem.

K: De a kernelem nem támogatja! Mit állítsak be?
V: Pl:
* Filesystems/ Second extended fs support/ Ext2 extended attributes/ Ext2 POSIX Access Control Lists - CONFIG_EXT2_FS_POSIX_ACL
* Filesystems/ Ext3 journalling file system support/ Ext3 extended attributes/Ext3 POSIX Access Control Lists - CONFIG_EXT3_FS_POSIX_ACL
* Filesystems/ Reiserfs support/ ReiserFS extended attributes/ ReiserFS POSIX Access Control Lists - CONFIG_REISERFS_FS_POSIX_ACL
* Filesystems/ JFS filesystem support/JFS POSIX Access Control Lists - CONFIG_JFS_POSIX_ACL
NevemTeve Creative Commons License 2005.05.29 0 0 102
K: Lehet linux-ból NTFS-t olvasni?
V: Igen, az "ntfs" filerendszerrel.

K: És írni lehet?
V: Nem.
K: És ha én nagyon szeretném?
V: Akkor lehet. Lásd itt: Captive: The first free NTFS read/write filesystem for GNU/Linux
NevemTeve Creative Commons License 2005.02.02 0 0 101
K: Mifene az a suEXEC az Apache-ban?
V: A CGI (és SSI) programok futtatásánál van jelentősége: ha van suEXEC, akkor a "teve" felhasználó public_html könyvtárában lévő CGI a "teve" felhasználó nevében (jogaival) fog futni; ha nincs, akkor a "www-data" felhasználó nevében.

K: Van erre valami bizonyíték?
V: CGI-ből futtattam az "id -a" parancsot, annak a kimenete a két esetben:
van: uid=1001(teve) gid=100(users) groups=7(lp), 20(dialout), 25(floppy), 29(audio), 100(users), 998(gnokii), 1000(friends)
nincs: uid=33(www-data) gid=33(www-data) groups=33(www-data)

K: Hogyan lehet ezt szabályozni?
V: Fordítási opció, hogy egyáltalán legyen-e ilyen opció az Apache-ban, ha van, akkor a /usr/*apache*/suexec program meglétén múlik, hogy működik-e ez a funkció. (A file helye disztribúciófüggő).

K: Készül napló a suEXEC használatáról?
V: Igen /var/log/apache/suexec néven (vagy hasonló).

K: Nagyszerű, ez a /root/public_html-beli CGI-kre is vonatkozik?
V: Nem, ennél azért óvatosabbak az Apache fejlesztői;)

K: Bővebb leírást hol találok?
V: STFW
Apache suEXEC Support
Configuring & Installing suEXEC
NevemTeve Creative Commons License 2005.02.01 0 0 100
K: Mire jó az strace?
V: Egy programfutás rendszerhívásait lehet vele naplóztatani, hibakereséshez nagyon hasznos lehet.

K: Mik az opciói?
V: Néhány fontosabb:
-o: output file
-f: a gyermekfolyamatokat is kövesse
-s <méret>: stringeket milyen hosszban írja ki
-t vagy -tt: időpontot is naplózzon
-T: a rendszerhívás által elhasznált időt is naplózza
-p <pid>: egy már futó programot kövessen

K: Akkor egy példa:
V: strace -t -f -o /tmp/ls.log ls
K: Másik?
V: strace -f -p $(pidof inetd)

K: De én a programokat nem parancssorból indítom, hanem rákattintok egy desktop-ikonra...
V: Valahogy nyomozd ki, hogy az az ikon ténylegesen milyen programot indít el;)

K: Mégis mit keressek egy ilyen strace-s outputban?
V: Nem olyasmi ez, amibe ne tudnál pár hónap alatt belejönni;) Próbálj olyasmiket találni, hogy "-1, error, failed, wrong, not found"
NevemTeve Creative Commons License 2005.01.21 0 0 99
K: Hogy is van ez a DISPLAY?
V: Így: host:server.screen. Ebből a "host" elhagyható/elhagyandó, ha az a lokális gép, a "server" egy szám (0 vagy több), ami az X-server sorszáma a gépen belül, a screen szintén egy szám, akkor van jelentősége, ha az illető X-server több képernyőt (screen-t) kezel egymaga, alapértelmezése 0.
K: Például?
V: Például: export DISPLAY=:0 első (egyetlen) lokális szerver; export DISPLAY=100.101.102.103:0 távoli gépen futó első (egyetlen) szerver (mármint az X-klienshez képest távoli, a felhasználóhoz remélhetőleg közeli gép).
K: Szóval a ":0" az ugyanaz mint a "127.0.0.1:0"?
V: Nem egészen, az első unix-domain socketet fog használni, a második TCP-t... bármit is jelentsen ez;)
K: Ez nagy sebességkülönbség?
V: Nem szükségszerűen... elméletileg a unix-domain kicsivel gyorsabb kellene legyen, de könnyen lehet, hogy ez platformfüggő...
NevemTeve Creative Commons License 2005.01.21 0 0 98
K: Igaz, hogy az X Window System-ben a szerver a kliens, a kliens meg a szerver?
V: Azért ezt próbáljuk egy kicsit lassabban...

K: Mi az az X server?
V: Az a program, ami a grafikus kártyán és a monitor keresztül kapcsolatot tart a felhasználóval (továbbá a billentyűzetet, egeret, stb is kezeli).
K: Tehát az a program, amelyik a kliens gépen fut?
V: Attól függ, mit értünk "kliens gép" alatt... jobb lenne azt mondani, hogy a felhasználó helyi (magyarul: lokális) gépén fut az X server.

K: És mi az X kliens?
V: Az a program, ami a ki-/bemenetét az X-serveren keresztül végzi.
K: És a szerver gépen fut...
V: Mondjuk inkább úgy, hogy a felhasználóhoz képest távoli (magyarul: remote) gépen is futhat.

K: És hogyan jönnek-mennek a hírek a kettő között?
V: Értelemszerűen hálózaton: TCP-n (6000-es port) avagy unix-domain-socket-en (ha a kliens meg a szerver ugyanazon a gépen van - ls -l /tmp/.X11-unix/X0.
K: De milyen protokollal működik az X?
V: Úgy hívják, hogy X protokoll.

K: X server csak linuxon futhat?
V: X server nem csak UNIX-on futhat, hanem sok más rendszeren is, pl MS Windows-on is, sőt vannak (voltak) olyan grafikus terminálok, amik gyárilag X-servert futtatnak (X terminál a nevük).

K: Egy számítógépen csak egy X szerver futhat?
V: Nem szükségszerűen... próbáld ki a X :1 parancsot.
K: Jé, tényleg... és a két X-szerver ezek ugyanazokat a portokat használja?
V: Nem, hanem szépen egymás után, valahogy így:
X port file
0 6000 /tmp/.X11-unix/X0
1 6001 /tmp/.X11-unix/X1
...

K: Honnan tudja a kliens, hogy melyik X serverhez kapcsolódjon?
V: A DISPLAY változóból, vagy a -display opcióból.
K: Igaz, hogy a telnet/ssh kliens ezt automatikusan beállítja?
V: Kedvező esetben igen, egyébként be kell gépelned valami ilyesmit:
export DISPLAY="$(who am i | awk '{print substr ($6,2,length($6)-2)}'):0

K: És akkor bárkinek a gépére küldhetek egy X ablakot? Mondjuk ha van egy jó kis sokoban-om, azt átküldhetem a komámnak az "xsokoban -display ip.cim:0" paranccsal?
V: Azért nem egészen biztos, hogy ő vevő erre... Az xauth és xhost parancsokkal lehet szabályozni, hogy ki küldhessen ablakot az X-szerverre.

K: Tudnál egy példát mondani?
V: Egy nagyon egyszerűt, lokális gépen, nem rootként bejelentezve:
$ su -c "rxvt" # Nem megy, "Xlib: connection to "localhost:0.0" refused by server"
$ xhost +localhost # Akkor a lokális gépről bárki nyithasson ablakot
$ su -c "rxvt" # Most már megy

K: És mi az az X démon? Avagy xdm/ kdm/ gdm?
V: Egy olyan eszköz, amellyel grafikus felületen jelentkezhetsz be valahová...
K: Hogyhogy valahová?
V: Az X server kapcsolódik a (helyi vagy távoli gépen futó) az xdm-hez, amely egy bejelentkező ablakot nyit. Ha sikerült bejelentkezni, az xdm elindítja a felhasználó kedvenc programjait, például az ablakkezelőt (window manager).
K: És akkor mi is ennek az előnye?
V: Hogy kimarad egy lépés: lokális gép esetén a text-módú bejelentkezés, és az X szerver elindítása (X vagy startx parancs), távoli gép esetén pedig a terminálos (telnet,ssh) belépés.
K: De eddig arról volt szó, hogy az X-server kapcsolatokat fogad, itt meg kapcsolódik?
V: Jogos meglátás, ez tényleg 'fordított írányú' működés... bővebben az Xserver(1) manualban az XDMCP-nél (-query,-broadcast,-indirect stb opciók)

K: Akkor most a "startx" vagy az "X" indítja az X-servert? Vagy az xdm?
V: Legkönnyebben az utolsó kérdésre tudok válaszolni: az xdm beállítható úgy is, hogy a lokális gépen rögtön indítson el egy X-servert, amely azután konnektál őhozzá, de ez nem szükségszerű; lehet olyan gépen is futtatni (a többi X klienshez hasonlóan), amelyen egyáltalán nincs grafikus rendszer.
K: Szóval hogyan kell X-servert indítani?
V: Hát lehet pusztán az X parancsot futtatni, de kissé fapados lesz, próbáld ki:
X &
export DISPLAY=:0
xterm &
xeyes &
K: Nem értem, az ablakoknak nincs kerete, nem lehet őket átméretezni...
V: Nem, mert mindezeket egy újabb X-kliens csinálja, melynek ablakkezelő (magyarul: window manager) a neve.
K: Mint amilyen a KDE vagy a gnome?
V: Azért azok elég sok mindent tartalmaznak az ablakkezelőn kívül is... számos ablakkezelő van, például a twm.
K: Tehát a startx...
V: A puszta X-en kívül más programokat is elindít, például ablakkezelőt... itt már a manualhoz utasítalak szeretettel.
NevemTeve Creative Commons License 2005.01.19 0 0 97
K: Pontosan hogyan kell kiszámolni a az umask-kal módosított jogbiteket?
V: módosított_bitek = eredeti_bitek & ~umask
tehát az umask bitjeit invertálva logikai 'és' kapcsolatba hozzuk az eredeti bitekkel.
Előzmény: NevemTeve (96)
NevemTeve Creative Commons License 2005.01.19 0 0 96
K: Mifene az umask?
V: Egy file-jogosultságakot korlátozó eszköz, akkor lép életbe, amikor egy file-t (könyvtárat) hozol létre: a program által megadott jogokból 'kivonódik' az umask.

K: Hirtelen nem emlékszem, hogy is kell ezeket a biteket kiszámolni?
V: Add össze az alábbi táblázatból:
u+r 0400 tulajdonos olvashatja
u+w 0200 tulajdonos írhatja
u+x 0100 tulajdonos futtathatja
g+r 0040 csoport olvashatja
g+w 0020 csoport írhatja
g+x 0010 csoport futtathatja
o+r 0004 bárki más olvashatja
o+w 0002 bárki más írhatja
o+x 0001 bárki más futtathatja

K: És az umask által így korlátozott jogokat nem is lehet megváltoztatni?
V: De, a chmod(1) paranccsal vagy a chmod(2) rendszerhívással.

K: De én a mount-opcióknál is láttam umask-ot...
V: Az értelme hasonló az előbbihez: ezeket a biteket(=jogokat) kell elvenni a 0777 (=mindenkinek mindent szabad) -ból.

K: Jut eszembe, könyvtárak esetén mit jelentenek ezek a jogbitek?
V: Nézd meg a FAQ-ban az 58-as hozzászólást!
NevemTeve Creative Commons License 2005.01.05 0 0 95
egyes típusok, példul az enyém, nem mennek 2.6.8.1-es és 2.6.9-es kernellel
A 2.6.10 segített a dolgon...
Előzmény: NevemTeve (88)
NevemTeve Creative Commons License 2005.01.05 0 0 94
K: Programozni szeretnék, milyen (segéd)programokat érdemes megismernem?
V:
make Függőség-kezelő program (bármit is jelentsen ez)
gcc,g++ Egy úgynevezett front-end (előtét), amely az előfordítás, fordítás, szerkesztés valamelyikét vagy mindegyikét elvégzi az opcióktól és paraméterektől függően. (Általában érdemes ezt használni, nem pedig közvetlenül az alábbiakat.)
cpp preprocesszor
cc1,cc1plus a tulajdonképpeni fordító
as assembler
collect2 a szerkesztést megelőzően hajt végre valamilyen jócselekedet, ő szoktak észrevenni a feloldatlan extern-eket
ld linker (programszerkesztő program)
ar object modulokból könyvtárat (arhívumot) alkothatunk vele, ezeket könyvtáratakat programok linkelésénél használhatunk; az arhívumok hagyományosan .a kiterjesztésűek (Megj: Tkp a .deb csomagok is ar-arhívumok)
ranlib egy archívum elemeiből egy index-et képez, hogy gyorsítsa a linkelést (megtekintés: nm -s library.a)
nm egy object (vagy executable, vagy ar archívum) szimbolumait listázza
strip kitakaritja a szimbolumokat egy objectből (vagy executable-ból)
objdump mindenféle jópofaságot tudhatunk meg egy objectről; például a -S opcióval disassemblált listát láthatunk a forráskóddal összefésülve
readelf további okosságokat tudhatunk meg vele (az ELF az object-ek és executable-k formátuma, a mai linux-okban ez a szabványos)
ldd egy executable-ra futtatva listázza a használt shared-libeket (osztott programkönyvtárakat)
gdb a debugger
install ha kész a program, ez segít a telepítésben
libtool (saját állítása szerint) nagyban leegyszerűsíti a shared-libek készítését
ldconfig a shared-libek installálása után futtatandó, bővebb lásd GCC-Howto-ban
tar ezzel csomagoljuk össze projektünk számtalan file-ját
file megsaccolja egy file-ról, hogy mi van benne
strings egy bináris file-ban olvasható szövegeket keres
od egy bináris file-t oktálisan(!) listáz, "od -tx1 -Ax" opciókkal lehet hexa-kiíratást kapni
DonQuijote Creative Commons License 2004.10.23 0 0 93
XF86Config-4 (ma különösen jó formában vagyok)
Előzmény: DonQuijote (92)
DonQuijote Creative Commons License 2004.10.23 0 0 92
Természetesen az XF68Config-4-ban kell beállítani, nem az XFree86-4-ben.
Előzmény: DonQuijote (91)
DonQuijote Creative Commons License 2004.10.23 0 0 91
K: Szeretnék billentyűzetet váltani valamilyen billentyűzetkombinációval X alatt. Lehetőleg sem KDE-t, sem Gnome-ot nem akarok használni. Probáltam ugyan a Gnome-ot is, de az meg valami XKB hibát ír ki.
V: Ha XFree 4.4-ed van, akkor csak be kell állítanod az XFree86-4-ben, hogy
Option "XkbLayout" "us,hu"
Option "XKbOptions" "grp:alt_shift_toggle"
és máris tudsz angol és magyar kiosztás között váltani a bal Alt + jobb Shift kombinációval.
Ha 4.3-as XFree van a gépeden, akkor előbb még le kell töltened az 4.4-eshez adott új magyar billentyűzet definiáló fájlt (mert az a 4.3-ban még nem volt benne), és be kell másolnod a helyére, ami Debiánon az /etc/X11/xkb/symbols/pc.
NevemTeve Creative Commons License 2004.10.21 0 0 88
Off (Nyilván nem generikus nem-működésről van szó, annyira azért tesztelik a kernel-fejlesztők, ugyanakkor egyes típusok, példul az enyém, nem mennek 2.6.8.1-es és 2.6.9-es kernellel. (Lehet hogy ezt a thread-et nem itt kellene folytatni))
DonQuijote Creative Commons License 2004.10.21 0 0 87
Nekem is teljesen jól megy 2.6.8.1-es kernellel egy Asus M2400 laptopon meg egy Asus A7N8X alaplapon is. Mi a gond?
Előzmény: NevemTeve (85)
best sunday dress Creative Commons License 2004.10.21 0 0 86
bocs az offért, de ezt nem teljesen értem. nekem például gond nélkül mennek 1.1-es és 2.0-s usb eszközök is (digikam, mp3/ogg lejátszó, kétféle pendrive) 2.6.8-as kernellel, a konfigban benne vannak ezek (lehetn modul is , persze):

CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_STORAGE=y
Előzmény: NevemTeve (85)
NevemTeve Creative Commons License 2004.10.20 0 0 85
K: A legújabb 2.6.x-es kernelekkel nem megy a pendrive-on!
V: Nekem sem :(
K: Akkor mit tegyek?
V: Downgrade-elj!
NevemTeve Creative Commons License 2004.10.19 0 0 84
K: Mifene az 'errexit' a shell-ben?
V: Azt szabályozza, hogy a shell(script) kilépjen-e az első hibás parancsnál. A 'set -e'/'set +e' -vel lehet ki-/be kacsolni (hosszabb formában: 'set -o errexit'/'set +o errexit')
Próbáld ki a következő példa-scriptet:
#!/bin/sh
echo "Disabling errexit"
set +o errexit
echo 'előtte'
hiba
echo 'utána'
echo "Enabling errexit"
set -o errexit
ujhiba
echo 'végül' # ezt már nem fogod látni

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!