2008. december 23., kedd

Prompt testreszabása

Bash shell esetén egyszerűen testre lehet szabni a promptot. A prompt beállításait a ~/.bashrc fájlban beállíthatjuk (a ~ jelenti a home mappánkat, ami a /home/felhasználónév). Ha minden felhasználónak szeretnénk beállítani akkor a /etc/bash.bashrc fájlt kell szerkeszteni.


Írjuk be:
PS1='[\u@\h \W]\$ '

A PS1=’értékek ‘ sorral határozhatjuk meg a prompt kinézetét. Az utolsó ‘ jel előtt mindenképp kell egy szóköz!

A következő paramétereket használhatjuk:


  • \d: dátum “napneve hónap nap” format (e.g., “v febr 17″)
  • \H: gépnév
  • \j: aktuális folyamatok számának mutatása
  • \l: the basename of the shell’s terminal device name
  • \n: sortörés
  • \s: the name of the shell, the basename of $0 (the portion following the final slash)
  • \t: 24 órás idő HH:MM:SS formában (13:17:30)
  • \T: 12 órás idő HH:MM:SS formában
  • \@: 12 órás idő, de/du formában
  • \A: aktuális idő 24 órás HH:MM formátumba
  • \u: aktuális felhasználó neve
  • \v: bash verziója (pl., 2.00)
  • \V: bash verziója, plusz patch szint (pl., 2.00.0)
  • \w: aktális mappa, HOME mappa ~ jellel (pl. ~/Dokumentumok ami a /home/valaki/Dokumentumok-at jelöli)
  • \W: Aktuális mappa neve, HOME mappába ~ jellel, de nem öröklődik a ~ jel
  • \!: hány parancs van a historyba
  • \#: the command number of this command
  • \$ $ jel, ha root akkor # jel
  • \nnn a karakter, ami hasonlít az oktális nnn
  • \\: visszatört (\ altgr+q)
Charlie www.hogyan.org-ja alapján.

2008. december 5., péntek

A Business One kaland



Olvasom, hogy SAP rendszer kapható egynapos bevezetéssel :


Egy nap alatt vállalatirányítási rendszer
Az SAP Hungary Kft. bejelentette, hogy Partnerhálózatában elérhető a kisméretű cégek számára kidolgozott SAP Business One vállalatirányítási rendszerének (ERP) egynapos bevezetési csomagja. Az átlagos 4-30 napos bevezetési idő és ennek megfelelő implementációs költségek lecsökkentését az tette lehetővé, hogy az eddigi, különböző igények alapján történő testreszabás mellett kialakításra került ez az előredefiniált működésű csomag. Ezzel azt a –az SAP számításai szerint- 20 000 magyar kisvállalatot célozza meg az új modell, ahol a cégek belső folyamatai nem specializáltak. A telepítést követő esetleges beállításokat a felhasználó tudja elvégezni a rendszerhez adott kézikönyv alapján. A vállalat méretének növekedéséből fakadó további igények megjelenésekor pedig SAP partnercég bevonásával további testreszabást végezhetnek el. Az SAP Business One „dobozos” megoldásának bevezetése, mely tartalmazza a licenc díjat, felhasználói kézikönyvet, valamint az első év támogatási (support) szolgáltatását 690 000 Ft+Áfa összegért elérhető az SAP partnerhálózat egyes tagjain keresztül. „Magyarországon ezzel azon kisvállalatok ERP igénye válhat valóra, akik korábban nem érhették el az SAP esetenként több millió forintos befektetést igénylő megoldását. Ez az SAP válasza a kkv-kat különösen nehéz helyzetbe hozó pénzügyi válságra”-mondta Kézdy Gergely, az SAP channel managere az első referenciaügyfélnél tartott éles indulást követően. Az egynapos bevezetési modellek már bizonyítottak a világ 43 országában: a 20 000 SAP Business One ügyfél kb. 5%-a ezt a módszert választotta üzleti folyamatainak támogatására.
Nos, ilyen nincs, a gigászok gigászát, a nagyvállalati ERP-rendszerek egyik ősi - ám, de viruló - kövületét apró pénzért viheti a nép? Azt a szoftvert veheti meg a szerencsétlen sorsú, megnyomorított magyar vállalkozás ócsóé', amit a bankok töbszáz milláért vezetnek be?!? Felhívtam a magyar leányt - akivel beszéltem az persze fiú volt -, és vázoltam, hogy lenne energiám kipróbálni egy ilyen "egynapos" rendszert. Cserébe megírom nekik a tapasztalataimat - próbáltam kecsegtetni őket. Arra számítottam, hogy villámszerűen elküldenek a savanykásba, de nem. Két héttel a hívásom után ciripel a mobilom, hogy OK, adjam meg a számítógépem paramétereit, amelyre feltelepítik majd a Business One-t.

Mit mondjak, angolos hidegvérrel vették tudomásul, hogy egy közel nyolc éves vason szeretném kipróbálni a programot (duál PIII, 800 Mhz, 20 giga merevlemezzel, és nem egészen 1 giga RAM-mal). Mondták is, hogy azért ennél erősebb gépek képezik a célközönséget, meg hogy előfordulhat, hogy időnként lassúnak fogom érezni a működés sebességét, de megnyugtattak: azért mennie kell ezen a gépen is a programnak. Megkértek vigyem el a vasat a MOM-Parban lévő hídkvartettbe, ahol is rávarázsolják a szoftvert. Ahogy igérték, másnap átvehettem a gépet. Sajnos az általam trehányan összerakott gépet nem rakták rendbe - CD driver csavarjait nem húztam meg a sietségben, ezért a meghajtó ki-be csúszkázott ahogy cipeltem -, igaz szervízszolgáltatást nem is igértek.

Előttem a kép, milyen lesz használni! :)

- Halló drágám! Egy kicsit hagyd a dagadt ruhát másra, az én egyenlegem nézd meg légyszi!
- Igen drágám, már úgyis úntam a mosást... várjál bekapcsolom a szervert!
- Várok kicsiny csibemadaram...
- Na itt is van már... melyik számlád egyenlege érdekel?
- Nyuszikám, ne izélj má', annak az egynek is örülök... tudod mondtam már, válság van!
- Jajj te nagymedve, téged még a válság szele is elkerül, olyan ügyes vagy! Látod, a világ egyik legnagyszerűbb vállalatirányítási rendszerét is meg tudtad szerezni...
- Ciciamacska, siess egy kicsit, mert lassan türelmetlenkedni kezdenek a népek itt a telefonfülke mellett...
- Jézus, mi lett a mobiloddal?!?
- Nyuszó-muszó, már több hónapja nem telik nekünk ilyesmire. Mondod az egyenleget?
- Igen drágám... izé, egy nagy O betűt látok... ez minek a kódja arany sünegerem?
- Áááá... az egy nulla, nincs egy fillérünk sem drágám!!
A jelenet megtekinthető itt:
video

A következő bejegyzésben a szoftverrel tett első lépésekről fogok röviden...
-na-

2008. november 20., csütörtök

Apache könyvtár tallózás

Könyvtárra chmod 755, majd
httpd.conf
 
kcsDirectory /ahol/van/public_dirkcs


Order allow,deny
Allow from all

AuthUserFile /ahol/van/public_dir/.htpasswd
AuthGroupFile /dev/null
AuthName "Top Secret"
AuthType Basic
kscLimit GET POST PUTkcs
require valid-user
kcs/Limitkcs
kcs/Directorykcs

Az auth részt akkor tegyük be, ha nem szeretnénk hogy mindenki nézelődjön.

kcs=kacsacsőr :)

Forrás: sanyi (hup.hu)


2008. november 15., szombat

XP frissítés nem települ

1. Letölteni az alábbi programocskát.
http://go.microsoft.com/fwlink/?LinkId=43264
2. Hozzunk létre egy rámutató parancsikont!
3. Jobb klikk, tulajdonságok az ikonon.
4. Fenn, a parancsikon fül legyen aktív.
5. A "cél" mező tartalmának a legvége, az idézőjel után üssünk egy betüközt, majd írjuk be ezt a kapcsolót: /wuforce.
6. Okézzuk le a tulajdonságlapot.
7. Az ikon segítségével indítsuk el a kényszerített frissítést.

BambiByte hozzászólása alapján, amely a pcforum.hun esett meg...

2008. november 8., szombat

Google találatok - Hogy is állunk?

WebMa és a SearchEngineGenie. A kulcsszót, az oldal URL címét és a kereső nyelvét kell megadni.
Forrás: szoftvertipp.info

Filmfeliratok

Forrás: szoftvertipp.info

Elfelejtett MySQL root jelszó megváltoztatása

forrás: szoftvertipp.info

1. Állítsd le a MySQL-t:

sudo /etc/init.d/mysql stop

2. Indítsd el a mysqld konfigurálást:

sudo mysqld --skip-grant-tables &

3. Jelentkezz be rootként:

mysql -u root mysql

4. Írd fölül a régi jelszavad:

UPDATE user SET Password=PASSWORD('IDE_KERÜL_AZ_ÚJ_JELSZÓ')
WHERE User='root';

5. Töltesd be a jogosultsági táblát:

FLUSH PRIVILEGES;

6. Lépj ki:

exit;

2008. november 5., szerda

Nyomtatás DOS-ablakból lézernyomtatóra

Bármily valószerűtlenül is hangzik, még mindig akadnak programok, amelyeket eredetileg DOS-ra írtak, és ma is tökéletesen megfelelnek rendeltetésüknek. Akad közöttük könyvelőprogram, adatbázis-kezelő alkalmazás, sőt pszichológiai kiértékelő program is. A Windows gond nélkül futtatja ezeket a programokat DOS-ablakban, illetve a Parancssor segítségével, így életkoruk elvileg korlátlanul meghosszabbítható.
Egy gond van csupán ezekkel a programokkal: nem lehet nyomtatni belőlük Windows nyomtatóra. Márpedig a legtöbb modern tintasugaras, valamint lézeres nyomtató ilyen. És ki használ manapság mátrixnyomtatót...
A DOSprn alkalmazás segítségével azonban könnyen orvosolhatjuk ezt a problémát. A www.dosprn.com oldalról letölthető program beül a tálca értesítési területére, és folyamatosan rendelkezésre áll nyomtatáskor. Segítségével a DOS-os programból bármilyen Windows nyomtatóra nyomtathatunk. Az ikonra duplán rákattintva feljön a program beállítóablaka, ahol finomíthatjuk a beállításokat. Külön előnye a programnak, hogy magyarul is tud.
Az Általános beállítások fülön például megadhatjuk a „time-out”, azaz a tétlenségi idő értékét, az interfész nyelvét, a lap irányát stb.

dosprint

Bőven van állítanivaló a nyomtatási paramétereken


A Betű megjelenés fül értelemszerűen a nyomtatáskor használt fontkészlet beállításait foglalja össze. Választhatjuk csak a fix szélességű betűket (ilyenkor a választék meglehetősen szűk), vagy a teljes fontkészletet. Beállíthatjuk továbbá a használni kívánt kódkészletet.

dosprint

A betűtípus beállításain kívül a használni kívánt kódkészletet is kiválaszthatjuk


Ha magyarul akarunk nyomtatni, a 850-es kelet-európai vagy 852-es nyugat-európai kódkészletet kell kiválasztanunk. Az amerikai kódkészlet a 437-es.

techline.hu

Parancssor megnyitása közvetlenül a helyi menüből

Indítsuk el a Rendszerleíróadatbázis-szerkesztőt (a Start menü / Futtatás menüpontjában írjuk be: regedit.exe, majd nyomjunk Entert).
Navigáljunk el a HKEY_CLASSES_ROOT\Directory\shell bejegyzéshez.
Kattintsunk a jobb egérgombbal és a helyi menüből válasszuk az Új / Kulcs menüpontot.
Az új kulcs nevének adjuk ezt: CommandPrompt
Kattintsunk duplán a kulcsra és értéknek adjuk a következőt: Parancssor megnyitása innen

parancssor


Most hozzunk létre egy újabb kulcsot, az előbbi eljárással (Új / Kulcs) és adjuk neki névnek ezt: Command

parancssor


Kattintsunk rá duplán és értéknek adjuk meg a következőt: cmd.exe /k cd %1
Zárjuk be a Registry szerkesztőt. Ha mindent jól csináltunk, ettől kezdve, ha egy mappára kattintunk a jobb egérgombbal, a helyi menüben megjelenik a Parancssor megnyitása innen menüpont is.

parancssor


Erre kattintva pedig azonnal elindíthatjuk a parancssort, amelyben automatikusan a választott mappában találjuk magunkat.

techline.hu

2008. november 3., hétfő

Informatikus humor

A 852-es kídlap telepötúsa sikeresen befejezádétt
A plug-in próbája...
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
A Linux egy felhasználóbarát rendszer. De megválogatja, hogy kikkel barátkozik!
A végtelen ciklus is végetér egyszer, csak kellően erős hardver kell hozzá!
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!
Ha nincs internet, akkor minek az áram ?
Addig röhögtünk a főnök viccén, mig ra nem jöttünk, hogy ez az aznapi feladat...

To buy... or not to buy?
Letöltöttem az Internetet. Pornó nélkül elfért 2 DVD-n!
A Linux nem ingyenes. Meg kell fizetni a tanulópénzt.
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
Szerelem reggel, szerelem délben szerelem este... most már működhetne az a k..va szerver!

SUSE Studio - Köszi Kálmán!

Nat Friedman bemutatta legújabb projektjét a SUSE Studiot, amely egy olyan keretrendszer, amelynek segítségével mindenki könnyedén elkészítheti saját openSUSE-alapú disztribúcióját és ehhez nem kell más, mint egy böngésző.

2008. október 28., kedd

Rejtett alkalmazások eltávolítása


Az XP számos alkalmazást elrejt - így azok nem jelennek meg a "programok eltávolítása" listában. Egy nagyon egyszerű kis trükkel azonban mindent láthatóvá tehetünk ebben a listában, az összes alkalmazást ami a gépünkön van. Így válik eltávolíthatóvá például az Internet Explorer vagy akár a WordPad.

Csak keressük meg a /windows/inf/sysoc.inf nevű fájlt. Ez egy egyszerű szöveges fájl, nyissuk meg jegyzettömbben, és vegyük ki a "hide" szavakat/utasításokat a sorok mellől. Máris megjelentek a rejtett alkalmazások a "programok eltávolítása" menüben.


2008. október 26., vasárnap

És mondá az úr: legyen több asztal


Sysinternals Desktops
A mindössze 116 kilóbájtonyi méretű és 4 megás memóriahasználatú program telepítés nélkül futtatható.

XP parancssori utasítások

A következő lista a Windows XP új és a régebbi Windows kedvenc parancssoros alkalmazások keverékét mutatja. Ezek főleg a Windows XP Professional számítógép adminisztrációs feladatainak az elvégzésére szolgálnak, de az otthoni felhasználók is igénybe vehetik. Írjuk be a Start/Futtatásba: cmd. Ez után használjuk a következő parancsokat.:

bootcfg
Kimutatja a Windows boot loader beállításait. Például olyanokat, mint, az operációs rendszer elindításának a késleltetése (több operációs rendszer esetében), a boot bejegyzéseket és a hozzá tartozó opciókat.

defrag
Gondolom az olvasó már rájött a jelentésére. Ez a merevlemez(ek) töredezésmentesítésére szolgál. Ha csak a defrag parancsot adjuk meg, akkor az megjeleníti a lehetséges opciókat.

diskpart
Ez kezeli a partíciókat. Ha beütjük a DISKPART parancsot, akkor a parancssorunk, mondjuk a C:\> át fog változni DISKPART> -ra. Ha meg szeretnénk tudni a lehetséges parancsokat, akkor azt egy kérdőjel beütésével érhetjük el.

driverquery
Ez megjeleníti a rendszerben lévő meghajtó programok listáját.

fsutil
Ez egy nagyon érdekes alkalmazás. Az fsutil parancs megadasával több információt kapunk a lehetséges parancsokról. Az egyik ilyen parancs az fsinfo. Ezt fsutil fsinfo formában kell megadunk. További parancsoknál ugyanez a helyzet. Például: fsutil fsinfo drives. Nem árt ezt az alkalmazást szemügyre venni, mert egyes esetekben elég hasznos lehet.

getmac
Ez megjeleníti a MAC (Media Access Control) address értékeket. Ezek általában a hálózati kártyánk egyedi azonosítója. Ez hasznos lehet, ha mondjuk hálózati kártyát váltottunk és az internet szolgáltatónál regisztrálni kell azt. De sok más esetben is jól jöhet.

gpresult
Ez a parancs megjelenít néhány csoportházirend beállítást.

netsh
Ezzel négány hálózati beállítást tudunk elvégezni. Továbbá ugyanúgy működik, mint az fsutil. Ha többet szeretnénk megtudni, akkor azt a netsh /? parancs megadásával érhetjük el.

openfiles
Ez a parancs lehetővé teszi, hogy egy rendszergazda megjelenítse és leválassza egy adott rendszeren megnyitott fájlokat és mappákat (XP Pro). Ha több információt szeretnénk megtudni a lehetséges parancsokról, akkor adjuk meg az openfiles /? parancsot.

recover
Ez a parancs lehetővé teszi, hogy helyreállítsunk olvasható adatokat egy sérült merevlemezről. A recover parancs beírásával több információt tudhatunk meg, hogyan kell használni az alkalmazást.

reg
Ez a Renszerleíró adatbázis (Registry) parancssoros változata. Bár nem olyan egyszerű a kezelése, mint a grafikus felületűé, de elvégezhetjük mindazokat a műveleteket, amiket a grafikus verzióban. A reg parancs megadásával több információhoz jutunk.

schtasks
A Registry-hez hasonlóan ez az alkalmazás az Ütemezet feladatok (Scheduled Tasks) szerkesztésére szolgál. A schtasks /? Parancs segítségével több információhoz jutunk.

sfc
Ez a System File Checker. Segítségével helyreállíthatjuk azokat a fájlokat amiket mi (vagy valamilyen más programok) módosítottunk. Ez főleg akkor lehet hasznos, ha egy olyan meghajtó programot telepítettünk, ami instabilitást okoz. Továbbá még más funkciók is megtalálhatók benne. Az sfc parancs több információt ad az alkalmazásról.

shutdown
Valószínűleg értjük a jelentését. Ezzel a parancsal ki tudjuk kapcsolni a számítógépet. De nem csak a helyit (amelyiken dolgozunk), hanem egy távoli számítógépet is. A shutdown parancs több információt ad az alkamazásról.

tasklist
Ezzel a parancsal megtudhatjuk, hogy milyen alkalmazások futnak a rendszerben.

taskkill
Nélkülözhetetlen. Miután megtudtuk, hogy milyen programok futnak a rendszerben a tasklist segítségével, ki is lőhetünk (kikapcsolhatunk) párat. A taskkill /? parancs segítségével egy kis leckét kaphatunk erről az alkalmazásról. Például a taskkill /PID 1680 paranccsal lehet kilőni az MSN Messenger-t.

Futtatás menüpontból kiadható utasítások

Ez a leírás információkkal szolgál arról, hogy XP rendszerünk alatt milyen parancsokat futtathatunk, és ezek milyen feladatokat hajtanak végre. (A parancsokat a Startmenü-->Futtatás beviteli mezőjébe kell írnunk. )

cleanmgr.exe.....Adathordozók karbantartása, takarítása.
cmd.exe.....A parancssor előhívása.
dxdiag.exe.....Dierckt X diagnózisprogram.
regedt32.exe.....Registry editálása.
taskmgr.exe.....Task manager.
certmgr.msc.....Windows tanúsítvány (igazolvány) manager.
ciadv.msc.....Index szoláltatás.
compmgmt.msc.....Computer adminisztráció.
diskmgmt.msc.....Az adathordozók adminisztrációja.
devmgmt.msc.....Az XP eszközkezelője.
dfrg.msc.....Defragmentáció (Töredezettségmentesítés)
eventvwr.msc.....Események kimutatása.
fsmgmt.msc.....Az elérhetővé tett könyvtárak.
gpedit.msc.....A számítógép, és a csoportok konfigurálása.
lusrmgr.msc.....A csoportok és felhasználók konfigurálása.
ntmsmgr.msc.....A média adminisztrálása.
perfmon.msc.....Rendszermonitor.
secpol.msc.....Biztonsági beállítások.
services.msc.....A szolgáltatások adminisztrácója.


Forrás: lacy.hu

Debian Configure Network Interface Using Command-Line

You can configure a network interface from the command line using the networking utilities. You configure your network client hosts with the command line by using commands to change your current settings or by editing a number of system files.

Configuring DHCP address for your network card

If you want to configure DHCP address you need to edit the /etc/network/interfaces and you need to enter the following lines replace eth0 with your network interface card

#vi /etc/network/interfaces

# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp

Configuring Static IP address for your network card

If you want to configure Static IP address you need to edit the /etc/network/interfaces and you need to enter the following lines replace eth0 with your network interface card

#vi /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

After entering all the details you need to restart networking services using the following command

#/etc/init.d/networking restart

Setting up Second IP address or Virtual IP address in Debian

If you are a server system administrator or normal user some time you need to assign a second ipaddress to your Ubuntu machine.For this you need to edit the /etc/network/interfaces file and you need to add the following syntax.Below one is the only example you need to chnage according to your ip address settings

#vi /etc/network/interfaces

auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x

You need to enter all the details like address,netmask,network,broadcast and gateways values after entering all the values save this file and you need to restart networking services in debian using the following command to take effect of our new ipaddress.

After entering all the details you need to restart networking services using the following command

#/etc/init.d/networking restart

Configure Network Interface Using ifconfig

You can configure a network interface from the command line using the basic Linux networking utilities. You configure your network client hosts with the command line by using commands to change your current settings or by editing a number of system files. Two commands, ifconfig and route, are used for network configuration. The netstat command displays information about the network connections.

ifconfig Advantages

ifconfig is used to configure your network interface. You can use it to

Activate or deactivate your NIC or change your NIC’s mode

Change your machine’s IP address, netmask, or broadcast address

Create an IP alias to allow more than one IP address on your NIC

Set a destination address for a point-to-point connection

Using ifconfig with Examples

If you want to find your current ip address you need to enter the following command

ifconfig

Output looks like below

eth0 Link encap:Ethernet HWaddr 00:0F:EA:B2:53:85
inet addr:192.168.2.5 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20f:eaff:feb2:5385/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:471 errors:0 dropped:0 overruns:0 frame:0
TX packets:695 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:160637 (156.8 KiB) TX bytes:86193 (84.1 KiB)
Interrupt:185 Base address:0×6000

Create new network alias to a network card (NIC)

Syntax

ifconfig [network device]

Example

ifconfig eth0:1 172.30.49.4

Change IP address

ifconfig eth0 172.30.49.13

Change Subnetmask

Syntax

ifconfig netmask [netmask]

Example

ifconfig eth0 netmask 255.255.255.0

Change broadcast address

Syntax

ifconfig broadcast [address]

Example

ifconfig eth0 broadcast 172.30.49.1

Take interface down

Syntax

ifconfig [network device] down

Example

ifconfig eth0 down

Bring interface up

Syntax

ifconfig [network device] ipaddress up

Example

ifconfig eth0 172.30.49.13 up

If you want to know more information about ifconfig check man page

Setting your Debian stytem hostname

Setting up your hostname upon a debian installation is very straightforward. You can directly query, or set, the hostname with the hostname command.

As an user you can see your current hostname with

# /bin/hostname

Example

To set the hostname directly you can become root and run

#/bin/hostname newname

When your system boots it will automatically read the hostname from the file /etc/hostname

If you want to know more about how to setup host name check here

Setting up DNS

When it comes to DNS setup Debian doesn’t differ from other distributions. You can add hostname and IP addresses to the file /etc/hosts for static lookups.

To cause your machine to consult with a particular server for name lookups you simply add their addresses to /etc/resolv.conf.

For example a machine which should perform lookups from the DNS server at IP address 192.168.3.2 would have a resolv.conf file looking like this

#vi /etc/resolv.conf

enter the following details

search test.com
nameserver 192.168.3.2

Network Troubleshooting Tips

Networking is sometimes considered to be complex, and hard to troubleshoot and manage. However, Linux provides you with Some tools to figure out exactly what’s going wrong on your network, and how to fix it.Here we are going see some tools and how to check the network connectivity.

Ping

Ping is a computer network tool used to test whether a particular host is reachable across an IP network. Ping works by sending ICMP “echo request” packets to the target host and listening for ICMP “echo response” replies (sometimes dubbed “Pong!” as an analog from the Ping Pong table tennis sport.) Using interval timing and response rate, ping estimates the round-trip time (generally in milliseconds although the unit is often omitted) and packet loss (if any) rate between hosts.

This is very basic and powerful tool to check Internet connection

Example

#ping -c 4 google.com

-c option is used to pass how many packets you’re sending

If everything working file you should get reply looks like below

Pinging www.l.google.com [64.233.183.103] with 32 bytes of data:

Reply from 64.233.183.103: bytes=32 time=12ms TTL=244
Reply from 64.233.183.103: bytes=32 time=12ms TTL=244
Reply from 64.233.183.103: bytes=32 time=12ms TTL=244
Reply from 64.233.183.103: bytes=32 time=12ms TTL=244

Ping statistics for 64.233.183.103:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 12ms, Maximum = 12ms, Average = 12ms

Traceroute

traceroute is a computer network tool used to determine the route taken by packets across an IP network. An IPv6 variant, traceroute6, is also widely available.Very useful to trace IP packets.

Example

#traceroute google.com

ifconfig

The Unix command ifconfig can function as a tool to configure a network interface for TCP/IP from the command line interface (CLI).This is another easy tool to see if your interface is actually loading correctly.

Example

#ifconfig

eth0 Link encap:Ethernet HWaddr 00:0A:E6:C6:07:85
inet addr:132.18.0.16 Bcast:132.18.0.255 Mask:255.255.255.0
inet6 addr: fe80::20a:e6ff:fec6:785/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18458 errors:0 dropped:0 overruns:0 frame:0
TX packets:8982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4015093 (3.8 MiB) TX bytes:1449812 (1.3 MiB)
Interrupt:10 Base address:0xd400

Route

This is very useful to check routing config

Example

route -n

Netstat

If you want to see Routing Tables,all open ports,all listen ports

netstat -nr

-n means return numeric output (ie, IP address instead of hostname)

-r means print the routing table

find all open ports

netstat -a

find listening ports

netstat -l

Virtual Host

Segitségével elérhetjük, hogy egyetlen gépen több domainnel rendelkező web server fusson. Anélkül hogy külön külön gépet vennénk minden egyes oldalhoz, az Apache kofigurációs fájlban pár sorral létrehouzhatunk új domaint.

Az egyedüli feltétele ennek , hogy a web servernek rendelkezni kell minden egyes virtual host számára külön IP címmel. Ez könnyen megoldható ha van a servernek fizikai net kapcsolata minden virtual hostnak, vagy pedig egyes op-rendszereknél virtual interface.
Ha egy szervert több néven szeretnénk elérni, mint pl: vas.hu és ftp.vas.hu, akkor a Virtual host használatán belül a ServerAlias-al elérhetjük, csak annyit kell beirni pl: ServerAlias vas.hu *.vas.hu, a *-karakter bármilyen szöveget helyettesít.
Egyedi autentikációt tudunk hozzárendelni honlapjainkhoz, legyen az http, vagy https protokoll.

Mime types

Lehetôség van arra , hogy a file-ok tipusát a nevük alapján meghatározzuk. Erre szolgál a mod_mime.c modul. Ami alapértelmezetten települ a szerverünkkel.

Arra használható, hogy meghatározzuk a mime tipusát egy dokumentumnak. Ez arra jó, hogy bizonyos esetekben különleges kezelést lehet vele megvalósítani, vagy egyszerûen csak arra , hogy a kliens megfelelôen tudja kezelni a dokumentumot.
A TypesConfig direktívával lehet beállítani, hogy hol található a tipusokat leíró fájl.

Alapesetben ez a conf/mime.types .
A dokumentumokat tartalmazó fájlok neve úgy van kezelve, hogy áll egy "base name"-bôl majd utána mindenféle kiterjesztésekbôl.
base.type.language.enc
* type : a dokumentum tipusa , TypesConfig, AddConfig
* language : a dokumentum nyelvezete, AddLanguage
* enc : a dokumentum kódolása, AddEnCoding
Ide kapcsolódik még a "SetHandler" ami azt állítja be, hogy az egyes tipusok esetén milyen kezelést valósítson meg a szerver.

Handlerek

A handlerek alatt azt értjük, hogy ha meghívunk egy fájlt , akkor arra a hívásra mintegy válaszként elindul egy akció. Az Apache-on belül ezt nevezzük handler-nek.
Általában minden fájl-nak van egy handler-e ami a fájl tipusán alapul. így normál esetben a fájlokat a szerver szolgáltatja. De van lehetôség ettôl eltérni. Erre lehet megadni handlereket, és tipusokat.
A handlerek vagy be vannak építve a szerverbe a modulok által, vagy az Action direktívával adhatunk meg saját handlereket az egyes tipusokhoz.
Saját handlert egy tipushoz az AddHandler direktívával adhatunk.
pl: AddHandler cgi-script cgi ekkor a cgi kiterjesztésû file-okat cgi-scriptként fogja kezelni.

Az Apache személy szerint azért tetszik mert ha be szeretném állítani, akkor csak megnyitom a *.conf fájlt, és átírom vagy megírom amit
szeretnék. Az egész dokumentum egy nagy XML fájl amihez egy nagyon jo dokumentációt kapunk ha ellátogatunk auz apache.org oldalra.

A globális konfigurációs fájl a /etc/apache2/apache2.conf. Itt olyan opciókat állíthatunk be melyek globálisan érvényesek lesznek minden
esetleges virtuális domain-re is. Ha jól tudom akkor ha forrásból telepít valaki Apache szervert akkor a globális konfigurációs fájlban kell
beállítani az adott domain specifikus beállításokat is. Ebben az esetben (amikor csomagból telepítjük) viszont minden domain külön
konfigurációs fájllal könyvtárban kell elkészíteni. Ettől még nem fog működni, „bekapcsolni” egy szimbolikus link-el kell amit
a /etc/apache2/sites-enabled/. Egy fájl található most itt, a default. ezt érdemes lehet sablonnak használni utána „kikapcsolni”, vagyis
törölni a /etc/apache2/sites-enabled/@000-default szimlinket. Persze otthoni felhasználásra tökéletes ez is, így most én sem törlöm, csak
beállítom azokat a fontos paramétereket melyekről már említést tettem.

NameVirtualHost budacsik.home:80

ServerAdmin opcionális@megadni.hu
DocumentRoot /var/www/budacsik

Majd átírtam a /etc/hosts file-t:

127.0.1.1 budacsik.home budacsik

Valamint: echo budacsik.home > /etc/hostname

Ezután újra lehet indítani az apache-ot:

/etc/init.d/apache2 restart

Ha hiba nélkül lezajlik az újraindulás akkor rendben. A /var/www/budacsik könyvtárat előzőleg létrehoztam (mkdir /var/www/budacsik).

name-based virtual hosting
Az a domain elnevezés a DNS szervereknek/kéréseknek nyitott portot takarja...

Amúgy meg 2-es apache esetén (tényleg, milyet is használsz?) a httpd-vhosts.conf-ba:
NameVirtualHost *:80

a hostolt domaineknek meg valami ilyesmi:

ServerAdmin ide@emailcim.jon
DocumentRoot /hol/is/vannak/a/fajlok
ServerName www.domainamithostol.ok
ErrorLog "|/usr/local/bin/rotatelogs /var/log/apache/domainamithostokok-error_log 20M"
CustomLog "|/usr/local/bin/rotatelogs /var/log/apache/domainamithostolok-access_log 20M"
common

Még sok hasznos beállítási lehetőség van. :-) Az apache dokumentáció pl. felettébb hasznos olvasmány.

"Egyre több informatikusnak van nemi élete. Hígul a szakma..."

http://httpd.apache.org/docs/1.3/vhosts/name-based.html

Linux parancssor tippek

Parancs Leírás
lynx -dump -width=1000 http://www.pixelbeat.org/cmdline.html > cmdline.txt weboldal mentése szöveges formában
apropos szó 'szó'-hoz kapcsolódó parancsok
gpg -c fájl fájl titkosítása
gpg fájl.gpg fájl dekódolása
look szó gyors keresés a szótárban
grep --color szó /usr/share/dict/words 'szó' kiemelése a szótárban
nice parancs parancs futtatása alacsony prioritással
renice 19 -p $$ shell szkript futtatása alacsony prioritással. Hasznos lehet nem interaktív szkriptek esetén.
echo 'wget url' | at 01:00 url mentése reggel 1 órakor az aktuális könyvtárba
echo "mail -s 'indul a vonat' P@draigBrady.com < /dev/null" | at 17:45 email emlékeztető
printf "%'d\n" 1234 szám kiírása ezres csoportosításban a helyi beállításoknak megfelelően (pl.: 1.234)
echo "I live in `locale territory`" helyi beállításokat adja meg (nyelv, karakterkészlet, stb.)
watch -n1 'cat /proc/interrupts' adatok változásának figyelése folyamatosan
time command mennyi ideig tartott a parancs futtatása
alias hd='od -Ax -tx1z -v' hexa aliasz
which parancs parancs teljes elérési útja
ls /usr/bin | pr -T9 -W$COLUMNS 9 oszlopban listázza az /usr/bin tartalmát
touch -c -t 0304050607 fájl fájl módosításának idejét állítja (YYMMDDhhmm formában)
pstree -hlp folyamatok hierarchiája
lsof /könyvtár/fájl folyamat ami a fájlt használja
grep 'processor' /proc/cpuinfo | wc -l sorok száma (megj: wc -l adja meg a grep-el keresett kifejezés[processor] előfordulását adott szövegben[/proc/cpuinfo])
Lemezterület
ls -lSr fájlok mutatása legnagyobbat a legvégén
du -sh fájl/könyvtár a fájl vagy könyvtár által elfoglalt helyet mutatja. Lásd még: dutop
df -h szabad lemezterület
df -i szabad inode-ok
fdisk -l lemezpartíciók mérete (root-ként futtatva)
Könyvtár műveletek
cd - előző könyvtárba lép vissza
cd felhasználó home könyvtárába lép
(cd könyvtar && parancs) belép a könyvtárba, végrehajtja a parancsot és visszalép az aktuális könyvtárba
pushd . aktuális könyvtárat tárolja, így popd-vel vissza lehet lépni
CD
gzip < /dev/cdrom > cdrom.iso.gz másolat készítés adat cd-ről tömörítve
mkisofs -r könyvtár | gzip > cdrom.iso.gz cd képfájl készítése adott könyvtárról
mount -oloop cdrom.iso /mnt/könyvtár cd képfájl felcsatolása a /mnt/könyvtár -ba (szerkesztésre is)
gzip -dc cdrom.iso.gz | cdrecord dev=0,0,0 - cd kép írása
cdparanoia -B audio trackek másolása wav fájlokba az aktuális könyvtárba
cdrecord dev=0,0,0 -audio *.wav aktuális könyvtárban található wav-okból audio CD készítése
oggenc --tracknum='track' track.cdda.wav -o 'track.ogg' ogg fájl készítése wav fájlból
Archívumok
tar c könyvtár/ | bzip2 > könyvtár.tar.bz2 könyvtár tömörítése
bzip2 -dc könyvtár.tar.bz2 | tar x archívum kicsomagolása
tar c könyvtár/ | gzip | gpg -c |
ssh felhasználó@távoli_gép 'dd of=könyvtár.tar.gz.gpg' titkosított másolat készítése a könyvtárról távoli számítógépre
find könyvtár/ -name '*.png' | xargs tar rf könyvtár.tar a könyvtárban található *.png fájlok tömörítése (rekurzív)
( tar c /másolandó/könyvtár ) | ( cd /ahova/másolni/akarod/ && tar x ) /másolandó/könyvtár másolása (jogosultságokkal együtt) /ahova/másolni/akarod/
( cd /másolandó/ && tar c . ) | ( cd /ahova/másolni/akarod/ && tar x ) /másolandó/könyvtár tartalmának másolása (jogosultságokkal együtt) /ahova/másolni/akarod/
( tar c /másolandó/könyvtár ) |
ssh -C felhasználó@távoli_gép 'cd /ahova/másolni/akarod/ && tar x' /másolandó/könyvtár másolása (jogosultságokkal együtt) távoli gép /ahova/másolni/akarod/ könyvtárába
dd bs=1M if=/dev/hda | gzip |
ssh felhasználó@távoli_gép 'dd of=hda.gz' merevlemez mentése távoli gépre
rsync (Használd a --dry-run opciót teszteléshez)
rsync -P rsync://rsync.server.com/elérési/út/fájl fájl csak a megváltozott fájlok letöltése.
rsync --bwlimit=1000 fájlból fájlba helyi másolat készítése rate limit-tel. I/O műveleteknél néha jól jön.
rsync -az -e ssh --delete ~/publikus_oldal/ remote.com:'~/publikus_oldal' web oldal tükrözése (tömörített rsync-el titkosított ssh kapcsolaton keresztül)
rsync -auz -e ssh távoligép.hu:/könyvtár/ . &&
rsync -auz -e ssh . távoligép.hu:/könyvtár/ aktuális könyvtár szinkronizálása távolival
Fájl keresés
alias l='ls -l --color=auto' gyors könyvtár lista
ls -lrt fájlok listázása dátum szerint
find -name '*.[ch]' | xargs grep -E 'kifejezés' *.c és *.h fájlokban 'kifejezés' keresése az aktuális könyvtárban rekurzívan
find -type f | xargs grep -E 'kifejezés' összes fájlban 'kifejezés'-t keresi az aktuális könyvtárban rekurzívan
find -type f -maxdepth 1 | xargs grep -E 'kifejezés' összes fájlban 'kifejezés'-t keresi az aktuális könyvtárban
find -type f ! -perm -444 mindenki számára nem olvasható fájlok keresése (web oldalaknál hasznos)
find -type d ! -perm -111 mindenki számára nem elérhető könyvtárak keresése (web oldalaknál hasznos)
locate -r 'fájl[^/]*\.txt' a 'fájl' kifejezés keresése a fájlnevekben a *fájl*.txt-hez hasonlóan.
Naptár
cal -3 naptár (aktuális +/- 1 hónap)
date --date='25 Dec' +%A milyen napra esik a Karácsony ebben az évben
date --date '1970-01-01 UTC 130204800 seconds' másodpercek átváltása dátumtól számítva
TZ='America/Los_Angeles' date mennyi az idő a USA nyugati partján (tzselect szükséges a TZ használatához)
Hálózat (megjegyzés: ifconfig, route, mii-tool, nslookup parancsok elavultak)
ip link show hálózati eszközök
ethtool interface eszközök állapota
ip link set dev eth0 name wan eth0 átnevezése wan-ra
ip addr add 1.2.3.4/24 brd + dev eth0 ip és maszk(255.255.255.0) megadása
ip link set dev interface up eszköz fel (vagy le) kapcsolása
ip route add default via 1.2.3.254 alap átjáró állítása 1.2.3.254-re
host hosztnév ip címből hosznév vagy fordítva
netstat -lp --inet internet szolgáltatások listázása
netstat -p --inet aktív kimenő és bejövő kapcsolatok
echo 'üzenet' | smbclient -M netbiosnév popup üzenet küldése windows kliensre (alapesetben tiltva van például XP SP2 esetében)
Matematika
echo '(321-123)/123' | bc -l gyors számítás
echo 'print (10E3-123)/123' | python a python végzi el a tudományos műveletet
echo 'obase=16;ibase=10;123' | bc számrendszer váltás (10->16)
echo 'frame=20; minsize=64; (100*10^6)/((frame+minsize)*8)' | bc összetettebb számítás: FastE csomagok száma
echo 'frame=20; plot [64:1518] (100*10**6)/((frame+x)*8)' | gnuplot -persist FastE csomagok számát a csomag méretéhez viszonyítva rajzol egy grafikont
RPM
rpm -ivh csomag(ok).rpm rpm fájl(ok) installálása
rpm -Uvh csomag(ok).rpm rendszer frissítése rpm-ekkel
rpm -e csomag csomag eltávolítása
rpm -q csomag telepített csomag verziója
rpm -q -i csomag összes információ a csomagról
rpm -q -f /elérési_út/fájl melyik csomaghoz tartozik az adott fájl
rpm -q -l package telepített fájlok helye
rpm -q -l -p package.rpm telepítendő fájlok helye
rpm -q --requires package csomagok listája mely szükséges a csomaghoz
rpm -q --whatrequires csomag csomagok listázása melyekhez szükséges a csomag
rpm -q --changelog -p csomag.rpm | less changelog olvasása az rpmből
rpm -q -a --queryformat '%10{SIZE}\t%{NAME}\n' | sort -k1,1n összes csomag méret szerint rendezve
Szöveg szerkesztése (megjegyzés: stdin és stdout használjuk a példákban, ha fájlokkal akarsz dolgozni így próbáld újfájl)
sed 's/szöveg1/szöveg2/g' 'szöveg1' cseréje 'szöveg2'-re
sed '/ *#/d; /^ *$/d' megjegyzések és üres sorok eltávolítása
sed ':a; /\\$/N; s/\\\n//; ta' sorok összefűzése záró ''-el
sed 's/[ \t]*$//' sor végi üres karaktereket törli \
sed 's/\([\\`\\"$\\\\]\)/\\\1/g' "-el jelölt shell kifejezéseket idézőjelek közé teszi
sort fájl1 fájl1 fájl2 | uniq -u 'fájl2'ben lévő sorok amit 'fájl1' nem tartalmaz
echo 'TesZt' | tr '[:lower:]' '[:upper:]' konvertálás nagy betűre
tr -dc '[:print:]' < /dev/urandom nem nyomtatható karakterek szűrése
Grafika
sleep 5; import -window root -quality 90 screenshot.png 5 másodperc múlva képernyőkép készítése
convert bemenetifájl.jpg -comment 'a megjegyzés' kimenetifájl.jpg Megjegyzés hozzáfűzése a képhez
Karakter konvertálás (iconv, dos2unix, unix2dos elavultnak számít)
recode -l | less elérhető kódolások (aliasok egy sorban)
recode windows-1252.. módosítandó_fájl.txt windows "ansi" átkódolása helyi karakterkészletre (CRLF konverzió automatikusan történik)
recode utf-8/CRLF.. módosítandó_fájl.txt windows utf8 átkódolása helyi karakterkészletre
recode iso-8859-15..utf8 módosítandó_fájl.txt latin9 (nyugat európai) konvertálása utf8-ra
recode ../b64 <> file.b64 Base64 kódolás
recode ..HTML <> file.html szövegből HTML
recode -lf windows-1252 karakterek
echo -n 0xA4 | recode latin-9/x1..dump mi a karakter a latin-9 karakterkészletben
echo -n 0x20AC | recode ucs-2/x2..1252/x windows-1252 kódolás
echo -n 0x20AC | recode ucs-2/x2..utf-8/x utf-8 kódolás. töröld a /x -et a végéről ha utf8 terminált használsz
Interaktív
mc fájlkezelő (fájlok tartalma: bármelyik fájlon enter (például rpm)), ftp kliens, ...
screen virtuális terminálok bővítése pár funkcióval...
lynx karakteres web böngésző
gnuplot függvény rajzoló
octave matlab-hoz hasonló környezet

Szoftveres UPS (szünetmentes tápegység) felügyelet soros porton keresztül

Ma már elképzelhetetlen egy szerver szünetmentes tápegység (UPS, Uninterruptible Power Supply) nélkül. Az újabb típusok alkalmasak kapcsolatot teremteni a szerverrel és hosszabb áramszünet esetén megkérni azt, hogy álljon le. Ez általában a szerver soros portján keresztül történik.

Fontos paraméterek:

* van-e a tápegységnek soros vagy más kapcsolati lehetősége a szerverhez

* támogatja-e a Debian-ban lévő UPS felügyeleti démonok egyike a tápot108

* mekkora az áthidalási idő, a teljesítmény

* mekkora az akkumulátor újratöltődési ideje

* mennyi az akkumulátor élettartama

* milyen hosszú a garancia

* kapható-e alkatrész, új akkumulátor a táphoz

* van-e túláram és/vagy túlfeszültség-védelem

* mennyibe kerül

A lehetőségek szerint válasszunk olyat, aminek rövid az újratöltődési ideje, van benne védelem, és persze kompatíbilis a szoftverünkkel. Ne sajnáljuk rá a pénzt, ez egy fontos alkatrésze rendszerünknek. Olyan 40-50 ezer forintból már jó készüléket lehet venni. Ha a szerverünk a szolgáltatónál lesz, lehet, hogy ott biztosítanak neki tápegységet, bár annak hátránya az lehet, hogy nem kapcsolja le automatikusan a szerverünket.

A Debian-ban a következő szoftverek találhatóak:

* apcd: Az APC Smart UPS termékeihez.

* apcupsd: Az APC cég termékeihez készült, a táp jelzése esetén kikapcsolási folyamatot indít. Támogatja a BackUPS, BackUPS Pro, SmartUPS V/S, és SmartUPS(NET/RM) termékeket.

* bpowerd: A Best Patriot cég termékeit támogatja.

* genpower: a legtöbb RS-232-es eszközzel működik. Extra képességei: hálózati feszültség érzékelése, lemerült akku felismerése, soros kábel felismerése, az UPS inverterének kiiktatása. A Debian csomagban van egy extra kábelhez való vezérlő is, melyet "apc-pnp"-nek hívnak. Segítségével a fenti extrák kihasználhatóak a következő termékeknél: APC Back-UPS Pro, Smart-UPS, és Matrix-UPS rendszerek.

* upsd: képes a hálózaton keresztül is menedzselni a szerverek UPS-eit.

* powstatd (-crypt): könnyen konfigurálható, főleg dumb109 jellegű UPS-ekhez. a következő termékeket támogatja: CyberPower PowerSL soro, CyberPower Power2000 1500VA, CyberPower Power99 325VA, 400VA, 500VA, 720VA, Néhány régebbi CyberPower 385VA, 450VA modell, TrippLite Internet Office 500 UPS, több régebbi APC termék. Ez a program arra is képes, hogy több gépet is lekapcsoljon, melyek egy tápegységről futnak.

Nem ajánlhatok a fentiek közül "legjobb" címen programot, mert nincs lehetőségem kipróbálni az összes tápegységet. Mindenki válassza ki a neki szimpatikusat, esetleg tegyen fel többet is és próbálja ki mind. Természetesen az itt felsorolt eszközökön kívül is léteznek olyanok, melyekhez írtak Linux-os vezérlőprogramot (pl. MGE). Ezt a gyártó Web-helyén megtudhatjuk.

Fontos, hogy ha lehet, úgy állítsuk be a felügyeleti szoftvert, hogy küldjön levelet minden áramkimaradásról a rendszergazdának és legalább egy helyi dolgozónak, aki el tudja rögtön hárítani a hibát, ha leállna a szerver.

Lényeges, hogy a szerver BIOS-át ATX-es ház esetén - ha lehet - úgy állítsuk be, hogy áramkimaradás után azonnal bekapcsoljon, amint újra van áram.

http://www.szabilinux.hu/bw/bw03.html#III.3.4

dpkg

A dpkg a Debian GNU/Linux csomagjainak installálására, eltávolítására, építésére és menedzselésére alkalmas csomagkezelő. Kérhetünk információkat a csomagokról. Egy csomagnak több státusza lehet:

* installed - feltelepített és konfigurált csomag,
* half-installed - a csomag telepítése el lett kezdve, de valami miatt nincs tökéletesen feltelepítve,
* not-installed - a csomag nincs feltelepítve a rendszerre,
* unpacked - a csomag fel van telepítve, de nincs konfigurálva,
* half-configured - a csomag fel van telepítve, de nincs teljesen konfigurálva,
* config-files - a csomag már nincs a rendszeren, csak a konfigurációs fájljai vannak meg.

Egy csomag kiválasztásának három státusza lehet:

* install - kiválasztva telepítésre,
* deinstall - kiválasztva törlésre,
* purge - minden része kiválasztva törlésre, még a konfigurációs fájlok is.

(Ugyanis a ,,deinstall'' nem távolítja el a csomaghoz tartozó konfigurációs fájlokat.)

Egy csomagnak két jelzője lehet:

* hold - nem változtat a csomagkezelő az így megjelölt csomag állapotán,
* reinst-required - a csomag meg van sérülve, de nincs eltávolítva, ezért szükséges újratelepíteni.

A dpkg opciói közül csak az általam leggyakrabban használtakat sorolom fel, mert nagyon sok van közülük, és csak speciális esetekben használok ezeken kívül más opciókat:

-i | -install csomag_teljes_neve...
telepíti a csomag_neve csomagot;
-unpack csomag_teljes_neve...
telepíti a csomag_teljes_neve csomagot, de nem konfigurálja;
-configure csomag_neve...| -a | -pending
konfigurálja a telepített csomag_neve csomagot. Ha a -a vagy -pending opciót is használjuk, akkor minden telepített, de nem konfigurált csomagot konfigurálni fog.
-r | -remove | -purge csomag_neve...| -a | -pending
eltávolítja a csomag_neve csomagot. A -r vagy -remove eltávolítja a csomag minden fájlját, kivéve a konfigurációs fájlokat. Ezzel elkerülhetjük azt, hogy amikor újratelepítjük a csomagot, akkor újra kelljen konfigurálnunk. Így simán visszakaphatjuk a régi beállításainkat. Ha a konfigurációs fájlokat is el akarjuk távolítani, akkor a -purge opciót kell használnunk. Ha a -a vagy -pending opciót is használjuk, akkor egy csomag neve helyett minden csomag nevét megkapja ami telepítve van, és a jelzője törlésre vagy eltávolításra van kijelölve a /var/lib/dkpg/status fájl alapján.
-print-avail csomag_neve
kiírja a képernyőre a csomag_neve csomagról elérhető összes információt, a /var/lib/dpkg/available fájl alapján (felhasználóként is működik);
-l | -list csomag_neve
kiírja a képernyőre a csomag_neve csomagról elérhető szűkebb információkat, a /var/lib/dpkg/available fájl alapján. Használhatjuk a normál shell helyettesítőkaraktereit is (felhasználóként is működik).
-L | -listfiles csomag_neve...
kilistázza a képernyőre a telepített csomag_neve csomag összes fájlját, a fájlrendszeren lévő elérési helyükkel (felhasználóként is működik);
-S | -search fájlnév
megadhatunk bármilyen fájlnevet, és a dpkg megmondja, hogy melyik csomaghoz tartozik az adott fájl (felhasználóként is működik);
-help
kiírja a képernyőre az opciókat és a hozzájuk tartozó rövid magyarázatot (felhasználóként is működik);
-force-help
kiírja a képernyőre a -force kapcsoló opcióit és a hozzájuk tartozó rövid magyarázatot (felhasználóként is működik);
-R | -recursive
rekurzívan végrehajtja a vele ,,párosított'' parancsot minden fájlra, amire ráillik a *.deb meghatározás. Használhatjuk ezt az opciót a -i, a -A, a -install, a -unpack és a -avail opciókkal együtt.

Egy csomag telepítésének dpkg által végrehajtott lépései:

* kicsomagolja az új csomag ellenőrző fájljait;
* ha a csomagnak már fel van telepítve egy másik (régebbi) változata, akkor mielőtt elkezdené az új csomag telepítését, végrehajtja a régi csomag prerm scriptjét;
* lefuttatja az új csomag preinst scriptjét, ha szükséges a csomagnak;
* kicsomagolja az új fájlokat, és erre az időre elmenti a régi fájlokat, hogy ha valami hiba történne, akkor vissza tudja állítani a régi állapotot;
* ha a csomagnak már fel van telepítve egy másik (régebbi) változata, akkor mielőtt elkezdené az új csomag telepítését, végrehajtja a régi csomag postrm scriptjét, ami a lefutása után elindítja az új csomag preinst scriptjét, mert az új fájlok felülírják a régieket;
* konfigurálja a csomagot.

Egy csomag konfigurálásának dpkg által végrehajtott lépései:

* kicsomagolja a konfigurációs fájlokat és erre az időre elmenti a régi fájlokat, hogy ha valami hiba történne, akkor vissza tudja állítani a régi állapotot;
* lefuttatja az új csomag postinst scriptjét, ha szükséges a csomagnak.

Egy csomag eltávolításának dpkg által végrehajtott lépései:

* lefuttatja a prerm scriptet,
* eltávolítja a telepített fájlokat,
* lefuttatja a postrm scriptet.

UPSD beállítás

Fontos feladatokat ellátó szervereink folyamatos tápellátása kritikus területe a rendszereüzemeltetésnek. Ugyanilyen fontos, ugyanakkor gyakran elhanyagolt művelet az UPS-ek állapotának monitorozása, az UPS kapacitásának vészes szintre történő csökkenésekor a rendszer szabályos leállítása. Szerencsére létezik olyan eszköz, amellyel ez könnyen és hatékonyan menedzselhető.

Nem elég egy szünetmentes tápegységet beszerezni és beüzemelni, feltétlenül nyomon kell követni annak állapotát is. Természetesen itt nem az előlapi LED-ek szemmel verésére gondolunk, hanem a leadott áramra, feszültségre és a hátramaradó kapacitásra. Sajnos az UPS-ek gyártói nem könnyítik meg a dolgunkat: ahány típus, szinte annyi féle kábelre, driverre és csodára van szükségünk. Fellélegezhetünk, találtunk ugyanis egy olyan eszközt, amellyel szépen és egyszerűen vezérelhetjük ezeket a feladatokat.

A Network UPS Tools, röviden NUT mindent tud, amire csak gondolhatunk, sőt, még ennél többet is. Segítségével nem csak egy gépre kötött egyetlen szünetmentes monitorozását láthatjuk el, hanem a hálózati kliensekről is rákukucskálhatunk az UPS vagy UPS-ek állapotára. Amennyiben egyetlen tápegységre több eszközt is kötünk, úgy megoldhatjuk, hogy áramszünet esetén először a kevésbé fontos gépeket kapcsolja le a rendszer automatikusan, fenntartva a szerverre jutó tápellátást, majd végül magát a szervert fogja szabályosan leállítani.

A NUT megdöbbentő mennyiségű driverrel rendelkezik (lásd itt), beüzemeléséhez mindössze annyit kell tennünk, hogy letöltjük a megfelelő csomagot, feltelepítjük, majd kiválasztjuk a megfelelő drivert, összekötjük gépünket a szünetmentes soros vagy USB csatolójával, és néhány egyszerű teszt után máris indíthatjuk a megfigyelést. Akár saját rendszerleállító scriptet is készíthetünk, így nem kell a rendszerünk integritását féltenünk clusterezett környezetben sem.

Nézzük a legfontosabb konfigurációs fájlokat (Fedora alatt):

/etc/sysconfig/ups

Ebben a modellt és a kapcsolódási interface-t konfigurálhatjuk.

/etc/ups/ups.conf

Az UPS elérését, valamint nevét és rövid leírását rögzíthetjük.

/etc/ups/upsd.conf

A szünetmentest figyelő daemon hozzáférését korlátozhatjuk benne.

/etc/ups/upsd.users

A monitorozásra használandó felhasználókat és szerepköreiket definiálhatjuk.

/etc/ups/upsmon.conf

Az UPS megfigyelésének beállításaira szolgál (intervallum, végrehajtandó feladatok, stb).

Megfelelő beállítások után máris indíthatjuk a service ups start paranccsal és elégedetten hátradőlhetünk: minden jó kezekben van :)

Exim4 MTA beállítása

Ha szeretnéd, hogy az egész rendszer kezeljen külső leveleket, be kell állítanod az exim4 csomagot:

# dpkg-reconfigure exim4-config

E parancs kiadása után (rendszergazdaként), megkérdi, szétvágja-e a beállítást kisebb fájlokba. Kétség esetén az alap lehetőséget kell választani.

Most néhány általános levél forgatókönyvet mutatunk be. Válaszd a szükség szerint leginkább megfelelőt.

internet site

A rendszer hálózatra kötött és a levelek közvetlenül SMTP szolgáltatáson át kerülnek küldésre és fogadásra. A következő képernyők pár egyszerű kérdésre irányulnak, például a rendszer levelező nevére vagy tartományok listájára, melyekről elfogadsz leveleket, vagy melyek számára továbbítod őket.
levél küldése smarthost segítségével

E forgatókönyvben a kimenő levél egy másik gépre továbbítódik, melyet egy „smarthost” néven hívunk, mely elküldi az üzeneteket. A smarthost általában tárolja a gépedre címzett bejövő leveleket is, így nem kell folyton hálózaton lenni. Ez azt is jelenti, hogy le kell szedni a leveleidet a smarthost gépről egy olyan programmal, mint amilyen például a fetchmail.

Sok esetben a smarthost az internet-szolgáltatód levelező szervere lesz, ami e lehetőséget nagyon kívánatossá teszi betárcsázó felhasználóknak. Ez egy céges levelező szerver is lehet vagy egy másik gép a hálózatodon.
levél küldés smarthost útján, nincs helyi levél

Ez a lehetőség alapban ugyanaz, mint a előző kivéve, hogy a rendszer nem kezel leveleket helyi email-tartományokból. A rendszeren magán lévő levelek (például a rendszergazda számára) kezelése megmarad.
csak helyi kézbesítés

E lehetőségre van a rendszer alapértelmezetten beállítva.
beállítás elhalasztása

Csak akkor válaszd, ha tökéletesen tudod, ezt miért teszed. A levelező rendszer így beállítás nélkül marad — míg be nem állítod, nem tudsz leveleket küldeni vagy fogadni és nem fogod megkapni egyes rendszer-eszközök fontos üzeneteit.

Ha egyik forgatókönyv sem felel meg, vagy finomabb beállítás kell, szerkeszteni kell a /etc/exim4 könyvtár alatti fájlokat a telepítés után. Több adat az exim4 programról a /usr/share/doc/exim4 alatt; a README.Debian.gz további részleteket ad az exim4 beállításáról és további dokumentációkra mutat.

Levél küldése kifelé hivatalos tartomány-név nélkül a levél elvetését okozhatja a fogadó szerverek anti-spam szabályai miatt. A internet-szolgáltatód levelező kiszolgálójának használata ajánlott. Ha mégis közvetlenül küldenél kifelé levelet, használj az alaptól eltérő email-címet. Ha az exim4 az MTA programod, ez a /etc/email-addresses fájlban történhet.

phpCollab upgrade és egyéb trükkök

File feltöltési mizériák:
find this line in php.ini file, upload_max_filesize = 2M, change 2M for 10M and you cant upload file of 10MB

vagy

Yes. create file .htaccess in root directory of phpcollab installation, and add this lines :

php_value upload_max_filesize "10M"

vagy

add this line
php_value max_execution_time 360
360 are the seconds that execute script, if it is not sufficient to send the file increases 360 until it is sufficient

vagy

php_value max_execution_time 1200000
php_value post_max_size 200M
php_value upload_max_filesize 200M
Options -Indexes

vagy

1. edit the file includes/settings.php
2. change the variable $maxFileSize from 51200 to the amount of bytes you want to enable uploading
3. add the variable $maxCustom = to the same amount of bytes

nem elfelejteni!!! :))

Always restart the Apache service for any changes to php.ini to take place.

HELP! HELP! Hüje vagyok, kitöröltem az Admin júzert!!
No para: Create a new user account called admin and then alter that user with the following SQL to make it have admin privilages:
UPDATE db_name.members SET profil='0' where login='admin'

Apache telepítés (nem szentírás)

1. Minimal install, semmi elore benyomott dolog csak a standar systemet rakod fel a debian taskselnel.
2.Ha bebootoltal a rendszerbe, akkor felteszel egy tuzfalat - mivel internetes tukorrol telepit az ember alt. ugyis igy friss a rendszered. En ajanlom a shorewall-t. Annyira csinalod bonyolultta amennyire te szeretned :). Nagyon egyszeruen es jol konfiguralhato.
3. Ezek utan felteszel egy grsecet, pl. oscon csinal kernelpatcheket debian+grsec-kel. Ezzel lepatcheled a vanilla kernelt, es beallitgatod, van egy nagyon jo leiras a grsec-rol ilyen gyorstalpalo fele a grsec weboldalan, de itt a hupwiki-n is van egy eleg hasznalhato darab (mi az hogy) :).
4. Ha ezekkel vegeztel, akkor felteszel egy ssh-t, beallitgatod, aztan beallitod a tuzfalnak, hogy a 22-es vagy amelyik portot szanod neki engedje. Ha nagyon szeretned akkor egy hosts.allow es hosts.deny szerkesztesevel beallithatod, hogy honnan engedje csak, bar ha egy denyhosts-t beraksz, es rendesen frissited akkor nem lehet gaz. Termeszetesen csak 1-2 usernek engedj ssh hozzaferest, akinek nagyon muszaj.
5. Felrakod az apache2-t, es a libapache-mod-php5, mysql stb csomagot, ami kell neked. Emiatt is jo mar ha van elore tuzfalad, mert a mysql pl ilyenkor mar elindulgat es hat nem egy eletbiztositas mindenfelet kipakolni a netre. Foleg egy mysql-t, ballitatlanul :).
6. Mysql-nek adsz jelszot. mysqladmin -p root password uj_jelszo. (termeszetesen erdemes bonyolult jelszot adni ennek is mint a root, es user jelszavaknak, es ugyanakkor kulonbozot is toluk.
7. Az apache-t is beallitgatod, melyik interface-n figyeljen, milyen ip range-bol johet csatlakozas, termeszetesen felrakhatsz security modulokat, amelyek ajanlottak is egyebkent :).
Ha ezzel is vegeztel akkor ezt is kiengeded a tuzfalon, azon a porton/portokon amiket szeretnel neki adni.

Usermod, ami király

usermod [-c comment] [-d home_dir [ -m]] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-l login_name] [-s shell] [-u uid [ -o]] login

A usermod parancs módosítja a rendszer számlafájlját, átírva azokat a változtatásokat, amelyeket a parancssorban megadtunk.

-c komment
A komment kerül a rendszer jelszófájljába, a felhasználó komment mezőjébe. Normális ennek módosítására a chfn(1) parancs szolgál.
-d home_dir
A felhasználó új bejelentkezési könyvtára. Ha használjuk a ,,-m'' opciót, akkor az aktuális home könyvtár tartalmát átmozgatja az újonnan megadott home könyvtárba, amelyet létrehoz, ha még nem létezett.
-e lejárati_idő
A dátum, ameddig érvényes a felhasználói számla. A lejárati_idő formátuma: hónap:nap:év, mindegyik két számjegyes formában.
-f inaktív_napok
A jelszó lejárta után ennyi nappal a jelszó tartósan kikapcsolódik. A 0 értéknél azonnal kikapcsolódik, amint a jelszó lejár, a -1 érték pedig kikapcsolja ezt a lehetőséget. Az alapértelmezett érték -1.
-g kezdő_csoport
A csoport neve vagy száma, amely a felhasználó új kezdő csoportja lesz. A csoportnévnek léteznie kell. Az alapértelmezett csoportszám 1.
-G csoport
Egy lista a kiegészítő csoportokról, amelyekhez a felhasználó tartozik. Ha egy csoportot kihagyunk azok közül, amelynek a felhasználó a tagja, akkor a felhasználó törölve lesz a csoport tagjai közül.
-l login_név
Megváltoztatja a felhasználó login nevét. Semmi mást nem változtat meg.
-s shell
A felhasználó új login shelljének a neve.
-u uid
A felhasználó UID-je numerikus formában. Ez az érték egyedi, kivéve, ha a ,,-o'' opciót használjuk. Az értéknek pozitívnak kell lennie. A 0 és 99 közötti értékeket tipikusan a rendszerszámlákhoz szokták rendelni. A felhasználó home könyvtárban lévő fájljai automatikusan megkapják az új UID értéket. Amelyek a home könyvtáron kívül vannak, azokat kézzel kell átállítani.

A usermod nem tudja megváltoztatni a nevét annak a felhasználónak, aki be van jelentkezve a rendszerbe. Az ilyen felhasználónak először le kell állítani az összes processzét, ha a felhasználó numerikus ID-jét is meg akarjuk változtatni. Ha megváltoztattuk, akkor a crontab fájlok tulajdonosát kézzel kell megváltoztatnunk. NIS esetében bármilyen változást a NIS szerveren kell végrehajtani.

* /etc/passwd - felhasználói számla információk
* /etc/shadow - titkosított felhasználói számla információk
* /etc/group - csoport információk

chfn(1), chsh(1), groupadd(8), groupdel(8), groupmod(8), passwd(1), useradd(8), userdel(8)

http://www.bences.hu/tech/linux_doksi/dolgozat.htm

A Wget használata

wget - egy program állományok letöltésére a World Wide Web-ről
ÁTTEKINTÉS
wget [kapcsolók] [URL-lista]
FIGYELMEZTETÉS
Az itt található információk a Wget teljes dokumentációjának csak egy részét képezik. Nem naprakész. Az információs dokumentáció teljes, naprakész adatokat tartalmaz. Az információs dokumentációt az Emacs info alrendszerével vagy az info programmal lehet megtekinteni.
LEÍRÁS
Wget egy program különböző állományok bináris letöltésére a World Wide Web-ről HTTP (Hyper Text Átviteli Protokoll) és FTP (File Átviteli Protokoll) -n keresztül lemezre mentés céljára. Wget egy nem-interaktív program, amely azt jelenti, hogy a háttérben is tud dolgozni a felhasználó bejelentkezése nélkül, nem úgy, mint a legtöbb Web-böngésző (tehát a program elindítása után nyugodtan ki lehet jelentkezni, a program tovább fog működni). A szerverrel való kapcsolat alapján dönti el, hogy az állományok megfelelően kerültek-e letöltésre, és addig próbálja meg a letöltést míg az megfelelő nem lesz, vagy a felhasználó által beállított értéket el nem éri. FTP szervereknél REST módot használja, ha lehetséges. Proxy szerverek használata támogatott, hogy a letöltést gyorsítsa, a hálózat terhelését csökkentse.
Wgetegy teljes körű letöltési mechanizmust használ, amellyel a Web nagy részét le lehet letölteni, hogy a távoli gép fa struktúráját a helyi gépen hozzuk létre. Természetesen a letöltési mélységet (rekurzió) és más paramétereket meg lehet adni. A letöltött dokumentumok figyelésével biztosítja a Wget, hogy a rekurzió sohase kerüljön végtelen ciklusba. Mind HTTP, mind FTP szervereknél alkalmazható.
A letöltés folyamata könnyen nyomon követhető formában jelenik meg, pontokkal mutatva. Mindegyik pont 1k letöltött adatot jelent. Beépített funkciók segítik a letöltés finomhangolását, pl. mely hivatkozásokra (linkre) terjedjen ki a letöltés (Ld. -L, -D és -H kapcsolók).
URL ELNEVEZÉSEK
Az RFC1738 szabványban rögzített URL formák többsége használható. 2 alternatív forma megadása lehetséges a wget-ben, amely azt jelenti, hogy az alábbi módokon lehet megadni egy dokumentum helyét az Interneten:
Hagyományos URL (ajánlott forma):
http://gazdagép:[portszám]/elérésiút
http://fly.cc.fer.hr/
ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
ftp://felhasználónév:jelszó@gazdagép/könyvtár/állomány
Csak FTP esetén használandó (ncftp-szerű):
gazdagép:/könyvtár/állomány
Csak HTTP esetén használandó (netscape-szerű):
gazdagép(:portszám)/könyvtár/állomány
A felhasználónév és/vagy jelszó megadása az URL-ben az alábbi módon lehetséges:
ftp://felhasználónév:jelszó@gazdagép/könyvtár/állomány
Ha a fenti formák között nem tudjuk mi a különbség, akkor nyugodtan használhatjuk a lynx vagy netscape-nél alkalmazott formákat. Az alternatív formák nem elterjedtek, ezért lehet, hogy a jövőben nem fognak működni a Wget-ben.
OPCIÓK
Pár parancssori kapcsolóval lehet a wget-et vezérelni. Nem szükséges ezek mindegyikének teljes ismerete vagy használata, ha csak nem a program alapbeállításától eltérő működést szeretnénk elérni. Egyszerű használathoz egyáltalán nem kell a különböző kapcsolókat használni. Jó tanács, hogy a gyakran használt beállításokat a .wgetrc állományban tároljuk.
A következő lista az összes kapcsolót bemutatja rövid magyarázattal csökkenő fontossági sorrendben:
-h --help
Felsorolja a lehetséges kapcsolókat. Segítséget nyújt a program használatához. Nem megfelelő vagy hiányos parancssor használatakor is megjelenik.
-V --version
Megjeleníti a Wget verziószámát.
-v --verbose
Részletes (verbose) kimenet az összes lehetséges információval. Alapesetben a kimenet csak a letöltéseket és hibaüzeneteket tartalmazza. Ha a kimenet a stdout, akkor alapértelmezett a részletes mód.
-q --quiet
Csöndes mód (quiet), a kimenet teljes hiánya.
-d --debug
Hibakereső (debug) mód. Csak akkor érhető el, ha a program a -DDEBUG opcióval lett fordítva. Ha a program fordítása így történt, akkor a kimenetben csak a -d kapcsoló megadása után jelenik meg többlet információ.
"-i állomány --input-file=állomány"
A megadott állománybólolvassa ki a szükséges URL-ket, ekkor nem szükséges a parancssorban URL-t megadni. Ha azonban mind a parancssorban, mind az állomány révén URL lett megadva, akkor először a parancssori URL kerül feldolgozásra. Az állománynak nem szükséges HTML dokumentumnak lennie (de nem gond ha az), elég ha csak egymás után felsorolva vannak az URL-ek.
Azonban, ha a -force-html kapcsolót használjuk, akkor az állományt HTML dokumentumként olvassa be. Ebben az esetben a problémát relatív hivatkozások (relativ links) okozhatják, amelyet a dokumentumban elhelyezett vagy a -base=URL kapcsoló megadásával lehet kiküszöbölni.
"-o naplóállomány --output-file=naplóállomány"
A megadott naplóállományba (logfile) írja az üzeneteket a stdout helyett. Részletes kiment kerül a naplóállományba. Ha ez nem szükséges, akkor használjuk a -nv (nem részletes, non-verbose) opciót.
"-a naplóállomány --append-output=naplóállomány"
Naplóállományhoz hozzáfűzés. Ugyanaz, mint az -o opció, csak hozzáfűzi az újabb üzeneteket a naplóállományhoz (vagy újat hoz létre, ha még nem létezik) ahelyett, hogy felülírná a régi állományt.
"-t szám --tries=szám"
A szám-ban megadott értékre állítja az újrapróbálkozások (retries) számát. 0 a végtelen sok próbálkozást jelenti.
--follow-ftp
HTML dokumentumokban található FTP hivatkozásokat is letölti.
-c --continue-ftp
FTP állományok letöltésénél ott folytatja (continuing), ahol a letöltés megszakadt. A "wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z" paranccsal ha az aktuális könyvtárban már található egy ls-lR.Z állomány, akkor a wget a lokális állomány mérete utáni részt tölti le. Nem szükséges megadni a -c kapcsolót, ha folytatni akarjuk a letöltést megszakadó kapcsolatnál, mert a wget ezt önállóan megteszi, vagyis megpróbálja folytatni a megszakadt letöltést.
Ahol használni kell ezt az opciót, az egy részben letöltött (más FTP programmal, vagy egy megállított wget-tel) állomány teljes letöltésénél.
"-g on/off --glob=on/off"
Kiegészítés (globbing) be/kikapcsolása FTP letöltéskor. Alapesetben bekapcsolódik a kiegészítés, ha az URL helyettesítő karaktereket tartalmaz (pl. csillag, kérdőjel). A kiegészítéssel több állományt lehet ugyanabból a könyvtárból letölteni egyetlen paranccsal, például ftp://gnjilux.cc.fer.hr/*.msg. A kiegészítés jelenleg csak Unix FTP szervereknél alkalmazható.
"-e parancs --execute=parancs"
A parancsban megadott dolgot hajtja végre, úgy mintha a .wgetrc állományban lett volna megadva. A parancssorban megadott parancs előbb kerül végrehajtásra, mint a .wgetrc állományban megadott, ha ott egyáltalán meg van adva.
-N --timestamping
A dátum-méretjelzés (timestamping) figyelése, hogy a program megállapítsa szükséges-e a dokumentum letöltése. Ha a távoli állomány utolsó módosításának időpontja régebbi, mint a helyi másolaté, és ha a méretük is azonos, akkor az állomány nem kerül letöltésre. Ez a kapcsoló a hetenként történő HTTP vagy FTP tükrözésekkor hasznos, mivel nem engedi meg ugyanannak a dokumentumnak az újabb letöltését, ha az nem lett megváltoztatva.
-F --force-html
Ha a bemenet egy dokumentumból történik, akkor azt HTML-dokumentumként értelmezi. Ezzel a HTML-dokumentumban megadott relatív hivatkozások letöltését lehet elvégezni, ha a szerepel a bemeneti állományban vagy a -base kapcsoló meg lett adva a parancssorban.
"-B base_href --base=base_href"
A base_href-ben megadott helyet fogja használni, mintha a bemeneti állományban szerepelt volna formában. Az állományban szereplő cím felülírja a parancssorban megadottat.
-r --recursive
Rekurzív (recursive) letöltés. Az URL protokolltól függően ez két dolgot jelent. HTTP oldalak rekurzív letöltése azt jelenti, hogy a parancssorban megadott URL-t letölti, azt HTML-dokumentumként kezeli (ha egyáltalán az) és letölti mindazokat az állományokat, amelyekre a dokumentum hivatkozott, ezt folytatja egy megadott szintig (alapesetben ez 5 szint, -l opcióval megváltoztatható). wget a HTTP szerveren található könyvtárstruktúrával azonos struktúrába tölti le a dokumentumokat.
Ez az opció bemutatóknál hasznos, ahol a lassú Internet kapcsolatot szeretnénk elkerülni. A legjobb eredményt akkor kapjuk, ha a hivatkozások relatívak, mivel így az oldalak a letöltött helyen is gond nélkül fognak működni.
FTP esetén a rekurzív letöltés a megadott könyvtár összes alkönyvtárának letöltését jelenti, hasonlóan a HTTP rekurzív letöltéséhez.
Jól meg kell gondolni a rekurzív letöltés használatát, mert az Internet kapcsolat nagy leterhelését eredményezheti. A terhelést a letöltés mélységének csökkentésével (Ld. -l) és/vagy az újrapróbálkozások számának csökkentésével (Ld. -t) lehet csökkenteni.
-m --mirror
Tükrözés (mirroring) használata. Ez a rekurzió és dátum-méretfigyelés kombinációja.
"-l szint --level=szint"
A rekurzív letöltés mélységét adja meg. Alapesetben ez 5. A megadott letöltési mélység elérésekor a letöltés visszatér a szülőkönyvtárba, és onnan megy tovább másik szálon. Így az -r -l1 használata csak egy dokumentumból történő letöltést eredményez. A letöltés mélységének 0-t megadva (elméletileg) végtelen mélységű letöltés érhető el. Jól gondoljuk meg, mert a letöltött dokumentumok száma exponenciálisan növekszik a letöltés mélységével.
-H --span-hosts
Host-ok átlépése rekurzív letöltéskor. Ld. -r és -D kapcsolók. Bővebben a HIVATKOZÁSOK KÖVETÉSE részben.
-L --relative
Csak relatív hivatkozások követése. Adott honlap letöltésekor hasznos, mivel az akár ugyanazon szerveren lévő dokumentumokat is figyelmen kívül hagyja, ha nem relatív a hivatkozás. Bővebben a HIVATKOZÁSOK KÖVETÉSE részben.
"-D tartomány-lista --domains=tartomány-lista"
A használandó és a DNS (Tartomány Név Szerver, Domain Name Server)-ben azonosított tartományok listája vesszővel elválasztva. Ez nem helyettesíti a -H kapcsolót, ha szükséges, akkor azt külön is meg kell adni. A kapcsolóval gyorsítani lehet a feldolgozást, még ha csak egy szerverre is történik az átmenet. Bővebben a HIVATKOZÁSOK KÖVETÉSE részben.
"-A lista / -R lista --accept=lista / --reject=lista"
Vesszővel felsorolt kiterjesztések, amelyek letöltése engedélyezett (Accepting) vagy nem engedélyezett (Rejecting). Például ha csak GIF és JPEG állományokat szeretnénk letölteni, akkor a -A gif,jpg,jpeg opciót használjuk. Ha viszont minden le szeretnénk tölteni a méretes MPEG és AU állományok kivételével, akkor az -R mpg,mpeg,au opciót használjuk.
"-X lista --exclude-directories lista"
Vesszővel egymás után felsorolt könyvtárak neve, amelyeket nem szeretnénk letölteni (eXclude).
"-P prefix --directory-prefix=prefix"
A letöltési állományok könyvtárát állítja be a prefix-ben megadottra (alapesetben ez "."). Az összes dokumentum és könyvtár a megadott könyvtárba kerül lementésre.
"-T szám --timeout=szám"
Várakozási idő (timeout) beállítása. Minden letöltéskor egy megadott idő van engedélyezve a dokumentum olvasásának megkezdésére, ha ez nem történne meg akkor kapcsolat továbbra is élne, de nem adna eredményt. Alapesetben a várakozási idő 900s (15 perc).
"-Y on/off --proxy=on/off"
Proxy használatának engedélyezése/tiltása. Ha a megfelelő környezeti változóban ez meg van adva, akkor automatikusan működésbe lép.
"-Q szám[KM] --quota=szám[KM]"
Letöltési kvóta (quota) megadása byte-ban (alapértelmezett), kilobyte-ban vagy megabyte-ban. Előnyösebb az rc állományban beállítani. Ld. később.
"-O állománynév --output-document=állománynév"
A dokumentumok nem a megfelelő dokumentumnévvel kerülnek lementésre, hanem az állománynév-ben megadott egyetlen állományhoz kerülnek hozzáfűzésre. Ebben az esetben az újrapróbálkozások száma automatikusan 1. Ha `-' -t adunk meg, akkor a stdout-ra kerül a kiíratás, a -quiet kapcsoló pedig be lesz kapcsolva. Óvatosan használjuk ezt a kapcsolót mivel minden hibaüzenet kiírását kikapcsolja, így nem tudjuk megfelelően ellenőrizni a wget működését.
-S --server-response
Kiírja a HTTP és/vagy FTP szerver által küldött válaszok fejlécét.
-s --save-headers
Lementi a HTTP szerver által küldött fejlécet a tényleges tartalom előtt.
"--header=additional-header"
Alternatív fejléc (header) megadása. Több eltérő fejlécet is meg lehet adni. A fejléc nem tartalmazhat CR vagy LF kódot.
--http-user --http-passwd
A HTTP szerverhez szükséges felhasználónév és jelszó magadása. Wget jelenleg csak a hagyományos authentikációs (ellenőrzési) módot kezeli.
-nc
Nem írja felül a rekurzív letöltéskor a már lementett dokumentumokat (not-clobber). Ez a kapcsoló akkor hasznos, ha egy megszakadt letöltést szeretnénk folytatni onnan, ahol megszakadt. Ekkor a .html vagy .htm dokumentumok a lemezről töltődnek be és kerülnek feldolgozásra a Web letöltés folytatásához.
-nv
Nem részletes (non-verbose) mód használata, amellyel csak a hibaüzenetek és az alapvető információk kerülnek kijelzésre. A -quiet opcióval lehet teljesen megszüntetni a kijelzést.
-nd
Rekurzív letöltéskor nem hozza létre a szükséges könyvtárstruktúrát (no-directories). Ezzel a kapcsolóval az összes dokumentum egyetlen könyvtárba kerül letöltésre felülírás nélkül (ha ugyanazon állománynév többször fordul elő, akkor .n kierjesztéssel kerül az újabb állomány lementésre).
-x
Az -nd ellentétes opciója. Könyvtárstruktúra létrehozása még akkor is, ha nem lenne szükséges a letöltésnél.
-nh
Az időt rabló DNS-azonosítás kikapcsolása minden hostra. Bővebben a HIVATKOZÁSOK KÖVETÉSE részben.
-nH
Kikapcsolja gazdagép-névvel megegyező könyvtár létrehozását (no-hostname). Alapesetben a http://fly.cc.fer.hr cím egy fly.cc.fer.hr könyvtárat fog létrehozni, ahova a dokumentumok letöltésre kerülnek. Ezzel az opcióval ezt lehet megelőzni.
--no-parent
Nem lép feljebb a szülőkönyvtárnál.
-k --convert-links
Nem relatív hivatkozások (non-relativ links) konvertálása a helyi gépen relatív hivatkozásokra.
HIVATKOZÁSOK KÖVETÉSE
A rekurzív letöltésnél meg lehet adni, hogy mely hivatkozások legyenek figyelembe véve.
Csak relatív hivatkozások
Ha csak a relatív hivatkozások kerülnek letöltésre (-L kapcsoló), akkor a rekurzív letöltés sohasem tölt le egy másik szerverről.
Néhány példa
Egyszerű letöltés (az adott állományt letölti az aktuális könyvtárba):
wget http://ftp.gnu.org/pub/gnu/emacs/emacs-21.4a.tar.gz
Tegyük fel, hogy valami miatt megszakadt a letöltésünk, és az emacs-21.4a.tar.gz állomány hiányosan található meg a gépünkön. Ekkor folytathatjuk a letöltést, ha bekapcsoljuk a -c opciót:
wget -c http://ftp.gnu.org/pub/gnu/emacs/emacs-21.4a.tar.gz
Ha egy weboldalt (pl. http://www.weitz.de/regex-coach/) szeretnénk elmenteni 1 mélységben (tehát azokat az oldalakat, amikre a weboldal hivatkozásai mutatnak, nem szeretnénk lemásolni), akkor a következőt írjuk a parancssorba:
wget -p -k http://www.weitz.de/regex-coach/
Ha ugyanezt szeretnénk megtenni, de 3 mélységig, akkor a következő a parancs:
wget -p -k -r -l3 http://www.weitz.de/regex-coach/
Az utóbbi két parancs az oldalakat a www.weitz.de/regex-coach/ könyvtárba fogja tenni. Ha azt szeretnénk, hogy mondjuk a public_html/rc könyvtárba másolja a Wget a weboldalt, akkor a -nd (nem rendezi könyvtárakba a letöltött állományokat) és a -P opciókat használjuk:
wget -p -k -r -l3 -nd -P public_html/rc http://www.weitz.de/regex-coach/
Ha a letöltendő weboldal nem HTML-dokumentum (pl. .shtml, .php, .asp, stb. kiterjesztésű), akkor a -E opció segíthet (HTML-re konvertálja a dokumentumot):
wget -p -k -E http://www.thinkgeek.com/

A mentő ötlet: tar

A tar

A GNU zip egyszerre csak egy fájlt tud tömöríteni, de mit tegyünk hogyha több fájlt szeretnénk ``összecsomagolni''? A megoldás a tar. A tar összecsomagolja az általunk megadott fájlokat egyetlen fájlba, amiből később kicsomagolhatjuk őket, szintén a tar használatával.

A tar-nak egy - jel után kell megadni hogy mit csináljon, minden művelet és kapcsoló egy betű. A legfontosabbak:

*

c - új tar fájl létrehozása
*

x - már létező tar fájl kicsomagolasa
*

v - végrehajtás közben írja ki a fajlneveket
*

z - készítsen/csomagoljon ki .tar.gz fájlt
*

f - fájlnév következik

Az f általában mindig használandó, ha nem adjuk meg akkor a tar alapértelmezés szerint (történelmi okok miatt) a szalagos egységet (tape drive) használja.

Ezután meg kell adnunk a tar fájl nevet, s ha becsomagolunk, akkor a becsomagolandó fájlok nevet - a tar könyvtár(ak)at is elfogad.

Tegyük fel, hogy az aktuális könyvtárban levő html fájlokat szeretnénk becsomagolni, és szeretnénk a fájlneveket kiíratni végrehajtás közben. A tar fájl neve legyen html_fajlok.tar.

$ ls *.html
icewm-1.html icewm-2.html icewm-5.html icewm-8.html
icewm-10.html icewm-3.html icewm-6.html icewm-9.html
icewm-11.html icewm-4.html icewm-7.html icewm.html
$ tar -cvf html_fajlok.tar *.html
icewm-1.html
icewm-10.html
icewm-11.html
icewm-2.html
icewm-3.html
icewm-4.html
icewm-5.html
icewm-6.html
icewm-7.html
icewm-8.html
icewm-9.html
icewm.html
$ ls -l html_fajlok.tar
-rw-rw-r-- 1 tpapp tpapp 40960 Oct 24 12:03 html_fajlok.tar
$

És létre is jött a tarfájl. A tarfájl általában valamivel nagyobb, mint a becsomagolt fájlok méretének összege, mivel a tarfájl tartalmaz kiegészítő információkat is (fájl neve, tulajdonosa, jogok, stb.) Ez a fájl még nem tömörített, úgyhogy tömöríthetjük gzip-el.

$ gzip html_fajlok.tar
$ ls -l html_fajlok.tar.gz
-rw-rw-r-- 1 tpapp tpapp 6273 Oct 24 12:03 html_fajlok.tar.gz
$

Az először tar-al becsomagolt, majd gzip fájlok gyakoriak, kiterjesztésük általában .tar.gz, vagy esetleg .tgz. Ez a formátum szinte szabvány, csak indokolt esetben érdemes tőle eltérni. A tar z kapcsolójával akár egyből csinálhatunk ilyen fájlt (a rövidség kedvéért most nem íratjuk ki a fájlneveket):

$ tar -czf html_fajlok.tar.gz *.html
$ ls -l html_fajlok.tar.gz
-rw-rw-r-- 1 tpapp tpapp 6273 Oct 24 12:03 html_fajlok.tar.gz
$

A kicsomagolás az x kapcsolóval történik, a c helyett használandó. Kicsomagoláskor elég a tar fájl nevét megadni. A z itt is használható .tar.gz fájlok kezelésére.

$ tar -xvzf html_fajlok.tar.gz
icewm-1.html
icewm-10.html
icewm-11.html
icewm-2.html
icewm-3.html
icewm-4.html
icewm-5.html
icewm-6.html
icewm-7.html
icewm-8.html
icewm-9.html
icewm.html
$

------------------------------------------------------------------------------------------------------------------

Egy nagyon egyszerû backup szkript
#!/bin/bash
tar -cZf /var/my-backup.tgz /home/me/

tar cf nev.tar Dir: a Dir könyvtár tartalmát összecsomagolja a nev.tar file-ba
tar czf nev.tar.gz Dir: ugyanez, csak gzip tömörítéssel
tar czf nev.tar /dev/nst0: a /dev/nst0 szalagos meghajtóra archivál
tar xzf nev.tar.gz: a nev.tar.gz archívum tartalmát csomagolja ki az aktuális könyvtárba

Egy újabb egyszerű "mentőprogram":

#!/bin/bash

/bin/tar czf /dev/nst0 /mnt
/bin/mt rewoffl -f /dev/nst0

Ha e scriptet betesszük a root crontabjába megfelelő időzítéssel, akkor a megadott időpontokban az mnt könyvtár tartalmát elmenti a szalagos meghajtóra, majd a feladat végeztével visszacsévéli és kiadja a szalagos médiát.

A következő alkalmazás kicsit kifinomultabb: több könyvtárat is megadhatunk, valamint alkalmas a kiírt anyag ellenőrzésére:

#!/bin/bash

PATH=/bin:/usr/bin

backupdirs="/etc /home /var"

mt -f /dev/nst0 rewind

for path in $backupdirs
do
echo "A $path könyvtárak archiválása indul" | wall
tar czf /dev/nst0 $path 1>/dev/null
sleep 2
done

echo "Archiválás kész, állapot:: $?" | wall
echo "Az archívum ellenőrzése indul" | wall

mt -f /dev/nst0 rewind

for path in $backupdirs
do
echo "$path ellenőrzése" | wall
tar tf /dev/nst0 1>/dev/null && \
echo "$path: verified" | wall || \
echo "$path: hibák az ellenőrzés során" | wall
if [ $? -eq 0 ]
then echo "$path: ellenőrizve"
else echo "$path: hiba az ellenőrzés során" 1>&2
fi

mt -f /dev/nst0 fsf 1
done

mt -f /dev/nst0 rewind
echo "Távolítsa el a szalagot!" | wall

HOGYAN térjünk át DOS-ról/Windowsról Linuxra

HOGYAN térjünk át DOS-ról/Windowsról Linuxra
Írta Guido Gonzato,
v1.3.2, 1999. február 22.

Ez a HOGYAN azoknak a (talán hamarosan csak volt) DOS és Windows fel­
használóknak szól, akik elhatározták, hogy áttérnek a Linuxra, az
ingyenes UNIX klónra. A dokumentum célja, hogy a DOS/Windows és Unix
közötti hasonlóságokat kihasználva segítse az olvasót abban, hogy a
DOS és Windows alatt megszerzett tudását minél könnyebben Linuxos
tudássá fordíthassa, valamint hogy tippeket adjon a két operációs
rendszer közötti fájl- és erõforráscserére.
______________________________________________________________________

Tartalomjegyzék

1. Bevezetés
1.1 A Linux valóban megfelel neked?
1.2 Igen, ez az! Mesélj még!
1.2.1 Bevezetõ fogalmak
1.2.2 Segítség
1.3 Konvenciók

2. A türelmetleneknek
3. Ismerd meg a bash-t
4. Fájlok és programok
4.1 Fájlok: elõzetes megjegyzések
4.2 Szimbolikus linkek
4.3 Hozzáférési engedélyek és tulajdonjogok
4.4 DOS-os parancsok Linuxos megfelelõi
4.4.1 Példák
4.5 Programok futtatása: többfeladatúság
4.6 Programok futtatása távoli gépeken

5. Könyvtárak használata
5.1 Könyvtárak: elõzetes megjegyzések
5.2 Könyvtárak hozzáférési engedélyei
5.3 DOS-os parancsok Linuxos megfelelõi
5.3.1 Példák

6. Hajlékony lemezek, merevlemezek és társaik
6.1 A DOS-szerû eszközkezelés
6.2 A UNIX-szerû eszközkezelés
6.3 Biztonsági mentés

7. Mi helyzet a Windows-zal?
8. A rendszer konfigurálása
8.1 Rendszerinicializáló fájlok
8.2 Programinicializáló fájlok

9. Hálózatos fogalmak
10. Egy kis programozás
10.1 Szkriptek: .BAT fájlok Linuxon
10.2 C

11. A fennmaradó 1%
11.1 A tar és gzip programok használata
11.2 Programok telepítése
11.3 Tippek amik nékül nem boldogulsz
11.4 Hol vannak az alkalmazások?
11.5 Egy pár dolog, amit eddig nem tudtál megcsinálni
11.6 UNIX használata DOSWin alatt
11.7 Gyakori kiterjesztések és az ezekkel kapcsolatos programok
11.8 Fájlkonverziók
11.9 Ingyenes irodai csomagok

12. Vége, egyelõre
12.1 Szerzõi jogok
12.2 Jogi felelõsség
12.3 Magyar fordítás

______________________________________________________________________

1. Bevezetés

1.1. A Linux valóban megfelel neked?

Linuxra akarsz váltani?
Remek ötlet, a Linux technológiai értelemben felülmúlja a DOS-t, a
Windows 9x-et, sõt a Windows NT-t is. De légy óvatos, ez nem jelenti
azt, hogy számodra hasznosabb. A fõbb különbségek a DOS/Windows és a
Linux között a következõek:

· A Windows alatt fut a Microsoft Office és rengeteg játék, általában
könnyû telepíteni és konfigurálni, szörnyen instabil, gyengén
teljesít, gyakran lefagy.

· A Linux alatt fut a StarOffice, egy csomó technikai szoftver, de
kevesebb játék, nehezebb telepíteni és konfigurálni, stabilitása
legendás, jól teljesít, nagyon ritkán fagy le.

Csak te tudod eldönteni, hogy mi kell neked. A Linux hatalmat ad a gép
erõforrásai felett, de idõbe telik, amíg megtanulsz élni vele. Ezért
ha fõleg kereskedelmi szoftverekre van szükséged, vagy nem szeretnél
új parancsokat és fogalmakat megismerni, akkor jobban teszed, ha
máshol nézel körül. Jó ha tudod, hogy sok kezdõ adja fel a kezdeti
nehézségek miatt.

Sokan dolgoznak azon, hogy a Linuxot egyszerûbb legyen használni, de
ne hidd azt, hogy profi leszel, ha nem olvasol el egy csomó
dokumentációt, és nem használod legalább egy pár hónapig. A Linux nem
ad azonnal sikerélményt. Ezen figyelmeztetések ellenére hadd mondjam,
hogy 100%-ig biztos vagyok abban, hogy ha te a megfelelõ
felhasználótípusba tartozol, akkor a Linuxban megtalálod a
számítógépes Nirvanát. Mellesleg Linux és a DOS/Windows képes
ugyanazon a gépen egyidejûleg létezni.

Elõfeltételek a dokumentumhoz: feltételezem, hogy

· ismered az alapvetõ DOS parancsokat és fogalmakat;

· a Linux és esetleg az X Window System (röviden X11) megfelelõen van
telepítve a számítógépeden;

· bash a parancsértelmezõd (a COMMAND.COM Linuxos megfelelõje).

Hacsak külön nem mondom, minden információ a jó öreg DOS-ra
vonatkozik. Van itt-ott a Windowsra is utalás, de ne feledd, hogy a
Windows és a Linux teljesen különbözõ, ellentétben a DOS-szal, ami
halványan emlékeztet egy UNIX-ra.

Fontos megemlíteni, hogy ez a munka se nem egy teljes bevezetõ, se nem
egy konfigurációs kézikönyv.

A dokumentum legfrissebb (angol) verziója megtalálható sokféle
formátumban az FTP-
helyen.

1.2. Igen, ez az! Mesélj még!

Installáltad a Linuxot a számítógépeden. Adtál magadnak egy
azonosítót, (ha nem ez a helyzet, akkor gépeld be most, hogy adduser)
és a Linux fut a gépeden. Éppen most ütötted be az azonosítódat és a
jelszavadat, és most nézed a képernyõt hogy: ``Na és most mi van?''

Ne ess kétségebe! Már majdnem kész vagy, hogy ugyanazokat a dolgokat
megtehesd, amiket annak idején a DOS-szal megtehettél, és még sokkal
többet! Ha DOS/Windows-t futtatnál Linux helyett akkor a következõ
dolgokat tehetnéd:

· programok futtatása, fájlok létrehozása, másolása, nézegetése,
törlése, nyomtatása, átnevezése;

· könyvtárak létrehozása, törlése, listázása és váltás közötük: MD,
RD, DIR, CD;

· lemezek formázása, fájlok másolása lemezekrõl és lemezekre;

· a rendszer testreszabása;

· barangolás az Interneten;

·

· a fennmaradó 1%.

Örömmel veheted tudomásul, hogy ezek a feladatok megvalósíthatók
Linuxban is, méghozzá a DOS-hoz hasonló módon. A DOS alatt az átlagos
felhasználó az elérhetõ több, mint 100 parancsból igen keveset
használ: ugyanez elmondható -- egy bizonyos pontig -- a Linuxra is.

1.2.1. Bevezetõ fogalmak

A legjobb módja az új dolgok megtanulásának, hogy ha elkezdünk
kísérletezgetni. Bátran kipróbálhatunk akármit, játszogathatunk a
Linuxszal, -- ha nem ``root''-ként jelentkeztünk be, -- semmit nem
ronthatunk el. Néhány szempont:

· Elsõként is, hogyan lépj ki a Linux-ból? Ha karakteres képernyõt
látsz, akkor nyomd le a billentyûket, majd várj
addig, amíg a rendszer rendbeteszi a belsõ dolgait, és végül jelzi
neked, hogy minden rendben. Ekkor már nyugodtan kikapcsolhatod. Ha
az X Window System alatt dolgozol, akkor elsõként , majd a billentyûket nyomd le. Soha ne
reseteld vagy kapcsolt ki a PC-t közvetlenül Linux alatt, mivel
megsérülhet a fájlrendszer!

· A DOS-tól és a Windowstól eltérõen a Linux beépített védelmi
rendszerrel rendelkezik. A fájlokhoz és a könyvtárakhoz hozzáférési
engedélyek rendelhetõk (lásd a ``Hozzáférési engedélyek''
fejezetet), és ezért néhányuk el sem érhetõ a közönséges
felhasználó számára. Ezzel szemben a DOS és a Windows megengedi,
hogy a merevlemezed egész tartalmát egy mozdulattal letöröld.

· Van egy különleges felhasználó, a ``root'', azaz a rendszergazda,
élet és halál ura a számítógépen. Ha a saját számítógépeden
dolgozol, te leszel a root is. Rootként dolgozni veszélyes,
bármilyen hiba végzetesen károsíthatja, vagy megsemmisítheti a
rendszert, akárcsak a DOS vagy Windows alatt. Ne dolgozz rootként,
ha nem nagyon muszáj.

· A Linux bonyolultságát annak köszönheti, hogy nagyon jól
konfigurálható. Gyakorlatilag minden alkalmazás és sajátosság az
egyéni igényekhez igazítható egy vagy több konfigurációs fájl
segítségével. Ha sok lehetõségnek bonyolultság az ára.

· Az átirányítás és a csövek (pipe) a DOS-ban is meglévõ
sajátosságok, de a Linux alatt hatékonyabbak, és a szerepük is
sokkal fontosabb. Több egyszerû parancs összefûzve egészen
összetett feladatok megoldására is képes. Használd majd õket!

1.2.2. Segítség

Sokféleképpen kaphatsz segítséget. A legfontosabbak:

· Olvasd el a dokumentációt -- komolyan mondom! Bár ez a HOGYAN, amit
most olvasol bevezethet a Linux használatába, de van egy pár könyv,
amit muszáj elolvasnod. Pl. Matt Welsh ``Linux Installation and
Getting Started'' ( ),
Larry Greenfield ``Linux User Guide'' (
), és a Linux FAQ ( ). Ne hagyjon nyugodni a lelkiismeret, amíg legalább az
egyiket el nem olvastad!

· A telepített csomagok dokumentációja általában az /usr/doc/
könyvtár alkönyvtáraiban van.

· A parancsértelmezõ ``belsõ parancsairól'' a help, vagy még inkább a
man bash vagy az info bash begépelésével kaphatsz segítséget.

· Egy parancsról a man parancs begépelésével kaphatsz segítséget, ez
megmutatja a parancs kézikönyvoldalát. Meg lehet még próbálni az
info parancs begépelését is, ez megmutatja a parancs info lapját,
amennyiben az létezik. Az info egy hypertext alapú dokumentációs
rendszer, kicsit szokatlan lehet elsõre. Végül megpróbálhatod az
apropos parancs és a whatis parancs beírását is. Mindegyik
felsorolt programból a `q' gomb lenyomásával lehet kilépni.

· Legvégül ott az Internet, a Usenet megfelelõ hely a segítség
megszerzésére, például nézd meg a
hírcsoportot. Kérem, ne írj nekem segítségkérõ levelet, mert nagyon
elfoglalt vagyok.

1.3. Konvenciók

Ebben a munkában a példák gyakran fognak a következõ formában
szerepelni: <...> egy kötelezõ argumentum, a [...] egy választható
argumentum. Például:

$ tar -tf [> redir_file]

A file.tar-t kötelezõ megadni, de az átirányítás a redir_file-ba
opcionális.

Az ``OEK'' azt jelenti, hogy ``további információkért Olvasd El a
Kézikönyvoldalt''. Nem tudom eléggé hangsúlyozni, milyen fontos a
dokumentáció olvasása. A ``DOSWin'' a ``DOS/Windows''-t rövidíti.

Amikor egy parancs példájában a prompt #, akkor azt csak a root
hajthatja végre.

2. A türelmetleneknek

Gyorsan bele akarsz vágni a dolgok közepébe? Akkor nézd meg ezt a
táblázatot!

DOS Linux Notes
------------------------------------------------------------------------------

ATTRIB (+-)attr file chmod file teljesen különbözõ
BACKUP tar -Mcvf device dir/ úgyszintén
CD dirname\ cd dirname/ majdnem ugyanaz a szintaxis
COPY file1 file2 cp file1 file2 úgyszintén
DEL file rm file vigyázat, nincs undelete
DELTREE dirname rm -R dirname/ úgyszintén
DIR ls nem teljesen ugyanaz a szintaxis
DIR file /S find . -name file teljesen különbözõ
EDIT file vi file attól tartok, nem fog tetszeni
jstar file hasonló, mint a DOS-os edit
EDLIN file ed file felejtsd el
FORMAT fdformat,
mount, umount eléggé eltérõ szintaxis
HELP command man command, ugyanaz a filozófia
info command
MD dirname mkdir dirname/ majdnem ugyanaz a szintaxis
MORE < file less file sokkal jobb
MOVE file1 file2 mv file1 file2 úgyszintén
NUL /dev/null úgyszintén
PRINT file lpr file úgyszintén
PRN /dev/lp0,
/dev/lp1 úgyszintén
RD dirname rmdir dirname/ majdnem ugyanaz a szintaxis
REN file1 file2 mv file1 file2 nem megy több fájlra
RESTORE tar -Mxpvf device különbözõ szintaxis
TYPE file less file sokkal jobb
WIN startx ég és föld!

Ha többet szeretnél tudni a fenti táblázatnál, akkor olvasd el a
következõ fejezeteket.

3. Ismerd meg a bash-t

Van egy jó hírem: a Linuxban sokkal kevesebbet kell gépelned a
parancssorban, mert a bash parancsértelmezõ gépel helyetted, ahol csak
lehet, és szuper sorszerkesztõ képességekkel rendelkezik. Elõször is a
felfele-nyíl gomb felhozza az elõzõ parancssort, de ez csak a kezdet.
A lenyomása kiegészíti a fájl- és könyvtárneveket, tehát ha
beírod, hogy:

$ ls /uTABloTABbTAB

az megfelel az

$ ls /usr/local/bin

sor beírásának. Ha nem egyértelmû a helyzet, pl. a

$ ls /uTABloTABiTAB

sor beírásánál, akkor a bash megáll, mert nem tudja, hogy az
/usr/local/info vagy az /usr/local/include könytárra gondoltál-e. Adj
meg több betût, és nyomd le ismét a billentyût.

Szintén hasznos billentyûkombinációk az , ez a kurzor
bal oldalán álló szót törli, az a jobb oldali szót törli, az
a kurzort egy szóval jobbra mozgatja, az ugyanez,
csak balra, a a sor elejére, és a a sor végére. Az
billentyû ugyanúgy viselkedik, mint az .

Egyelõre ennyi elég. Ha megszokod ezeket a gyorsbillentyûket, nagyon
fog idegesíteni a DOS parancssora...

4. Fájlok és programok

4.1. Fájlok: elõzetes megjegyzések

A Linuxban a könyvtárak és a benne lévõ fájlok struktúrája nagyon
hasonló a DOSWin-ben megismerthez. Minden fájlnak adott szabályokhoz
illeszkedõ neve van, a fájlokat könyvtárakban tárolják, néhányuk
végrehajtható, néhányuk speciális kapcsolókat is igényel ill.
megenged. Sõt használhatsz dzsóker karaktereket, átirányítást,
csöveket. Csak néhány kisebb különbség van.

· DOS alatt a fájlneveknek úgynevezett 8.3 alakja van pl.:
NOTENOUG.TXT. Linux alatt ez jobban megoldott. Ha a Linuxot egy
olyan fájlrendszerrel (nem szükséges, hogy tudd pontosan, mi is ez
most) telepíted, mint az ext2, vagy az umsdos, akkor hosszabb
neveket is használhatsz (egészen 255 karakterig), több ponttal a
névben. Például, Ez.egy_IGEN.hosszú.Fájlnév. Kérlek, vedd észre,
hogy kisbetûket és nagybetûket is használtam. Valójában ...

· A kis- és nagybetûket megkülönböztetjük a fájl- és programnevekben.
Így a FÁJLNÉV.tar.gz és a fájlnév.tar.gz nevek két külõnbözõ fájlt
jelölnek. Ugyanez igaz a parancsokkal kapcsolatban is. Ha az ls
parancsot kiadod, (ez ugyanaz mint a DOS-ban a DIR), akkor
könyvtáradban található fájlok listáját kapod, míg ha az LS
parancsot adod ki, akkor egy hibaüzenetet.

· A Windows felhasználók vigyázzanak a linuxos hosszú fájlnevekkel.
Ha fájlnév tartalmaz szóközt (nem javasolt, de lehetséges), a
fájlnevet dupla idézõjelek közé kell tenni, ha hivatkozunk rá.
Például:

$ # A következõ parancs létrehozza a "Régi fájljaim" könyvtárat.
$ mkdir "Régi fájljaim"
$ ls
Régi fájljaim bin tmp

Továbbá van néhány karakter, ami nem lehet a fájlnév része, pl.
!*$&#.

· Nincs olyan kötelezõ kiterjesztése a parancs ill. program
fájloknak, mint a .COM és az .EXE , vagy a .BAT a batch-fájloknak.
A végrehajtható fájlokat egy `*' különbözteti meg a fájlnév végén
ha az ls -F paranccsal listáztattad ki. Például:

$ ls -F
levél_Józsinak Cindy.jpg cjpg* Ez_egy_könyvtár/ elsõ_scriptem* régi~

A cjpg* és az elsõ_scriptem* fájlok végrehajthatóak -- ``programok''.
DOS alatt a .BAK végzõdés a biztonsági másolat (backup) fájlokat
jelöli; a Linuxban az ilyen típusú fájlok tilde `~' karakterre
végzõdnek. Továbbá, ha egy fájlnevet ponttal kezdesz, akkor ez a fájl
rejtett fájlként lesz nyilvántartva. Például: az
.én.egy.rejtett.fájl.vagyok fájl nem fog megjelenni az ls parancs
után.

· A DOS alatt egy program kapcsolóit /kapcsoló formában kell megadni,
míg a Linux alatt a -kapcsoló vagy a --kapcsoló használatos.
Például a dir /s-nek az ls -R a megfelelõje. Megjegyzem sok DOS
program -- mint a PKZIP vagy az ARJ -- Unix stílusú kapcsolókat
használ.

Most már akár a ``DOS-os parancsok Linuxos megfelelõi'' fejezetre
ugorhatsz, de a helyedben én tovább olvasnék.

4.2. Szimbolikus linkek

A Unix rendelkezik egy fájltípussal, ami nem létezik DOS alatt: ez a
szimbolikus link. Tekinthetjük ezt úgy, mint egy fájlra vagy
könyvtárra mutató pointert, és használhatjuk õket az eredeti fájl vagy
könyvtár helyett. Ez hasonló a Windows parancsikonjaihoz. Példa
szimbolikus linkre az /usr/X11, amely az /usr/X11R6-ra mutat, és a
/dev/modem, amely vagy a /dev/ttyS0-ra vagy a /dev/ttyS1-re mutat.

Szimbolikus link létrehozása:

$ ln -s

Example:

$ ln -s /usr/doc/g77/DOC g77manual.txt

Mostantól g77manual.txt-ként is hivatkozhatsz az /usr/doc/g77/DOC
fájlra. A linkek így jelennek meg a könyvtárlistában:

$ ls -F
g77manual.txt@
$ ls -l
(egy csomó dolog...) g77manual.txt -> /usr/doc/g77/DOC

4.3. Hozzáférési engedélyek és tulajdonjogok

A DOS-os fájlok és könyvtárak a következõ tulajdonságokkal
(attribútumokkal) rendelkezhetnek: A (archív), H (rejtett), R (csak
olvasható), és S (rendszer fájl). Csupán a H-nak és az R-nek van
értelme Linux alatt. A rejtett fájlok egy ponttal kezdõdnek, míg az R
megfelelõjét a lentiekben tárgyaljuk.

Unix alatt egy fájl rendelkezik hozzáférési engedélyekkel és
tulajdonossal, aki egy ``csoporthoz'' tartozik. Itt egy példa:

$ ls -l /bin/ls
-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*

Az elsõ mezõ tartalmazz a /bin/ls fájl hozzáférési engedélyeit. Ez a
fájlt a root felhasználóhoz és a bin csoporthoz tartozik. A többi
információtól eltekintve, jegyezd meg, hogy a -rwxr-xr-x a
következõket jelenti (balról jobbra):

- a fájl típusa (- = közönséges fájl, d = könyvtár, l = link, stb.);
rwx a fájl tulajdonosának a hozzáférési engedélyei (olvasható, írható,
végrehajtható); r-x a fájltulajdonos csoportjának az engedélyei
(olvasható, végrehajtható); (most nem részletezem a csoport fogalmát,
kezdõként egyelõre jól megleszel nélküle ;-) végül r-x az összes többi
felhasználó engedélyei (olvasható, végrehajtható).

A /bin könyvtárnak szintén vannak hozzáférési engedélyei, olvasd el a
``Könyvtárak hozzáférési engedélyei'' fejezetet a részletekért. Emiatt
nem törölheted az /bin/ls fájlt, hacsak nem te vagy a root, nincs
írási jogot, hogy ezt megtedd. Egy fájl hozzáfárési engedélyeinek
megváltoztatása a következõképpen lehetséges:
$ chmod

ahol a `ki' helyén u (user, azaz a tulajdonos), g (group, azaz a
csoport) vagy o (other, azaz bárki más) állhat, az `X' vagy + vagy -,
az `engedély' lehet r (read, azaz olvasható), w (write, azaz írható)
vagy x (execute, azaz végrehajtható). Általános példák a chmod
parancsra:

$ chmod +x file

Ez végrehajthatóvá teszi a file-t. A

$ chmod go-rw file

eltávolítja a fájlról az írási és a olvasási engedélyeket mindenki
számára, kivétel csupán a fájl a tulajdonosa. A

$ chmod ugo+rwx file

mindenkinek olvasási, írási és végrehajtási jogot ad. Végül, de nem
utolsósorban a

# chmod +s file

paranccsal hozhatóak létre egy úgynevezett ``setuid'' vagy ``suid''
fájl, azaz olyan fájl, amelyet mindenki végrehajthat a tulajdonos
jogaival. Általában a root tulajdonában levõ suid fájlokkal fogsz
találkozni, ezek többnyire fontos rendszerfájlok, mint például az X
szerver.

Van egy rövidebb mód is az engedélyek megadására, ez számokkal
történik. Az rwxr-xr-x kifejezhetõ úgy, mint 755. Minden betûnek egy
bit felel meg, a --- 0, a --x 1, a -w- 2, a -wx 3, és így tovább.
Bonyolultnak látszik, de egy kis gyakorlás után át fogod látni a
koncepciót. A root, azaz a rendszergazda, minden fájl hozzáférési
engedélyeit megváltoztathatja. OEK.

4.4. DOS-os parancsok Linuxos megfelelõi

Bal oldalon vannak a DOS-os parancsok, jobb oldalon a linuxos
megfelelõi.

ATTRIB: chmod
COPY: cp
DEL: rm
MOVE: mv
REN: mv
TYPE: more, less, cat

Átirányítás és csõszervezés operátorok: < > >> |

Dzsóker karakterek: * ?

nul: /dev/null

prn, lpt1: /dev/lp0 vagy /dev/lp1; lpr

4.4.1. Példák

DOS Linux
---------------------------------------------------------------------

C:\GUIDO>ATTRIB +R FILE.TXT $ chmod 400 file.txt
C:\GUIDO>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc
C:\GUIDO>COPY *.* TOTAL $ cat * > total
C:\GUIDO>COPY FRACTALS.DOC PRN $ lpr fractals.doc
C:\GUIDO>DEL TEMP $ rm temp
C:\GUIDO>DEL *.BAK $ rm *~
C:\GUIDO>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/
C:\GUIDO>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc
C:\GUIDO>PRINT LETTER.TXT $ lpr letter.txt
C:\GUIDO>TYPE LETTER.TXT $ more letter.txt
C:\GUIDO>TYPE LETTER.TXT $ less letter.txt
C:\GUIDO>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null
n/a $ more *.txt *.asc
n/a $ cat section*.txt | less

Megjegyzések:

· A * karakter alkalmazása a Linux alatt elegánsabb. A * kifejezéshez
minden fájl illeszkedik kivéve a rejtett fájlokat. A rejtett fájlok
a .* kifejezéshez illeszkednek, de vigyázat, az aktuális könyvtár
`.' és a szülõkönyvtár `..' is illeszkedik! A *.* kifejezéshez csak
azok a fájlok illeszkednek amelyeknek a közepén '.' található. A
p*a kifejezésre mind a papa, mind a pipa, míg a *g* kifejezésre
mind a `régi' és mind a `rugók' szavak illeszkednek.

· Ha a more programot használod, akkor a billentyût használd
a lapozáshoz, és a 'q' billentyût a kilépéshez. A less program
sokkal jobban használható, s itt használhatod nyíl-billentyûket is.

· A Linuxban nincs UNDELETE, tehát jól gondold meg mielõtt bármit is
kitörölsz.

· A DOS < > >> jelein túlmenõen, a Linux ismeri a 2> jelet, amivel
átirányítható szabványos hibakimenet (stderr), továbbá a 2>&1 a
szabványos hibakimenetet (stderr) a szabványos kimenetre (stdout),
míg a 1>&2 a szabványos kimenetet a szabványos hibakimenetre
irányítja.

· A Linux rendelkezik még egy dzsóker karakterrel, a [] jellel.
Használata: az [abc]* kifejezés azokhoz a fájlnevekhez illeszkedik
amelyek a, b vagy c betûvel kezdõdnek. A *[I-N,1,2,3] kifejezés
azokhoz a fájlnevekhez illeszkedik amelyek I, J, K, L, M, N, 1, 2,
3 betûvel végzõdnek.

· Az lpr kinyomtatja a fájlt a háttérben. A nyomtatási sor
ellenõrzésére használd a lpq parancsot. Az lprm paranccsal
kitörölheted a fájlt a nyomtatási sorból.

· Nincs olyan parancs mint a DOS alatti RENAME, így a mv *.xxx *.yyy
nem fog mûködni. Egy REN-hez hasonló parancs letölthetõ az
FTP-helyrõl.

· Használj cp -i-t és mv -i-t, ha azt szeretnéd, hogy a rendszer
szóljon, ha valamit felül készül írni.

4.5. Programok futtatása: többfeladatúság

Ha futtatni akarsz egy programot akkor a DOS-hoz hasonlóan itt is a
program nevét kell begépelned. Ha a könyvtár (``Könyvtárak
használata'' fejezet), amiben a programot eltároltad megtalálható a
PATH (``Rendszerinicializáló fájlok'' fejezet) környezeti változóban,
a program el fog indulni. Kivétel: a DOS-tól eltérõen a Linux alatt
az aktuális könyvtárban lévõ program is csak akkor fog elindulni, ha a
könyvtár benne van a PATH-ban. Tipp: ilyen esetben, ha a programod
prog akkor azt gépeld, hogy ./prog.

Így néz ki egy tipikus parancssor:

$ parancs [-k1 [-k2] ... [-kn]] [par1 [par2] ... [parn]] [<> kimenet]

ahol a -k1, ..., -kn a program kapcsolói, és a par1, ..., parn a
program paraméterei. Egy sorban több parancsot is begépelhetsz:

$ parancs1 ; parancs2 ; ... ; parancsn

Ennyit a programok futtatásáról, bár könnyû a következõ lépés
megtétele is. Az egyik legfontosabb indok, ami a Linux használata
mellett szól, hogy a Linux többfeladatú operációs rendszer, azaz képes
több program (ezentúl processzek) párhuzamos (egyidejû) futtatására.
Elindíthatsz processzeket a háttérben, és amíg ezek futnak, tovább
folytathatod a munkádat. Sõt, a Linux lehetõvé teszi, hogy egyidejûleg
többször bejelentkezve különbözõ virtuális terminálokon is dolgozz: ez
olyan mintha több számítógéped lenne egyszerre, amin dolgozhatsz!

· Az 1-tõl 6-ig terjedõ virtuális terminálokra való átlépéshez nyomd
le az ... billentyûket.

· Egy új session indításához az aktuális virtuális terminálon add ki
a su - parancsot. Például: su - root. Ez akkor hasznos,
ha egy olyan feladatot kell elvégezned, amit csak a root tehet meg.

· A sessiont az exit paranccsal lehet befejezni. Ha vannak leállított
munkáid (lásd késõbb), akkor a rendszer figyelmeztet.

· Ha a háttérben szeretnél elindítani egy processzt, írj egy `&'
jelet a parancssor végére:

$ progname [-kapcsolók] [paraméterek] [<> kimenet] &
[1] 123

A burok (shell) a processzt egy munkaszámmal (például ez fent [1]) és
a processz azonosítójával (PID) azonosítja (példánkban ez 123).

· Ha szeretnéd látni, hogy összesen hány processz fut, írd be azt,
hogy ps ax. Ez a parancs kilistázza az összes jelenleg futó
processzt.

· Ha szeretnél lelõni (leállítani) egy processzt, használd a kill
parancsot. Elképzelhetõ, hogy le kell lõnöd egy processzt, ha
nem tudod, hogyan kell leállítani, kilépni belõle... ;-). Néha a
processz csak a kill -SIGKILL alkalmazásával lõhetõ le:

A burok megengedi, hogy megállíts egy processzt, idõszakosan
szüneteltesd a futását, háttérbe küldjed, vagy a háttérbõl az
elõtérbe hozd vissza. Ebben az összefüggésben a processzeket
``munká''-nak nevezik.

· Ha szeretnéd látni, hogy hány munka fut, írd be: jobs. Itt a
munkákat a munkaszámuk azonosítja, nem a PID-jük.

· Egy elõtérben futó processz leállításához nyomd le a -t
(nem mindig mûködik).

· Egy elõtérben futó processz futása felfüggeszthetõ a
lenyomásával (szintén nem mindig mûködik).

· Egy futásában felfüggesztett processzt a bg <%job> paranccsal lehet
a háttérbe küldeni (a processz munkává válik).

· A munka elõtérbe hozására használd a fg <%job> parancsot. A
legutoljára háttérbe küldött munka elõtérbe hozásához elég kiadni a
fg parancsot.

· Egy munka lelövéséhez a kill <%job> parancsot kell használni, ahol
a a burok által a processzhez rendelt munkaszám: 1, 2, 3,
...

Ezeknek az utasításoknak a használatával egyszerre tudsz egy lemezt
megformázni, fájlok egy csoportját tömöríteni, kitömöríteni archivált
fájlokat, programokat fordítani, és még mindig rendelkezésedre áll egy
prompt, tovább dolgozhatsz zavartalanul! Próbáld ugyanezt megtenni DOS
alatt! És próbáld ki ugyanezt Windows alatt is, csak hogy lásd a
teljesítménybeli különbséget a két megvalósítás között (ha ugyan le
nem fagy közben)!

4.6. Programok futtatása távoli gépeken

Egy távoli gépen történõ programfuttatáshoz elsõként be kell
jelentkezned oda, s ehhez tudnod kell a gép nevét vagy IP-címét.

$ telnet tavoli.gep.hu

Bejelentkezés után elindíthatod kedvenc programod. Gondolom
szükségtelen megemlítenem, hogy a másik gépen is kell rendelkezned
felhasználói azonosítóval.

Ha van X Window rendszered, akkor akár X-es alkalmazásokat is
futtathatsz a távoli gépen oly módon, hogy az a te képernyõdön jelenik
meg. Legyen például a távoli gép a tavoli.gep.hu, míg a Te géped az
sajat.gep.hu. Egy a távoli gépen levõ X-es program futtatása az
sajat.gep.hu-n a következõképpen lehetséges:

· indítsd el az X-et, majd azon belül egy xterm-et, vagy egy azzal
ekvivalens terminál emulátort (rxvt, color-xterm, nxterm, kvt,
...), majd gépeld be:

$ xhost +tavoli.gep.hu
$ telnet tavoli.gep.hu

· bejelentkezés után:

tavoli:$ DISPLAY=sajat.gep.hu:0.0
tavoli:$ program &

(A DISPLAY... sor helyett, esetleg a setenv DISPLAY
local.linux.box:0.0 sor kell beírnod. Ez a távoli gépen futó
parancsértelmezõ buroktól függ.)

És láss csodát! A távoli gépen elindul a program, ami majd a te
képernyõdön fog megjelenni. Azonban modemes kapcsolat esetén nem
érdemes ezzel próbálkozni, használhatatlanul lassú lesz. Ráadásul ez
egy durva és nem biztonságos módszer, az ``Remote X Apps mini-HOWTO''
foglalkozik a
témával részletesebben.

5. Könyvtárak használata

5.1. Könyvtárak: elõzetes megjegyzések

Láttuk már a különbséget a DOSWin és Linux alatti fájlok között. A
könyvtárak esetén a DOSWin alatt a gyökérkönyvtár a \, a Linux alatt a
/. Hasonlóképpen az egymásba ágyazott könyvtárak esetén az elválasztó
jel DOSWin alatt a \, Linux alatt a /. Példa fájlnévre útvonallal
együtt:

DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX
Linux: /home/guido/papers/geology/middle_eocene.tex

Ahogy megszoktad, a .. a szülõkönyvtár, és a . az aktuális könyvtár.
Ne feledd, hogy a rendszer nem enged bármelyik könyvtárba belépni
(cd), akármelyik könyvtárat törölni (rmdir), vagy akárhol egy új
könyvtárat létrehozni (mkdir). Minden felhasználónak van egy saját
könyvtára, amit a rendszergazda jelöl ki számára, és ahol a dolgait
tarthatja. Például az én gépemen a saját könyvtáram a /home/guido.

5.2. Könyvtárak hozzáférési engedélyei

A könyvtárak szintén rendelkeznek hozzáférési engedélyekkel. Amit a
``Hozzáférési engedélyek és tulajdonjogok'' címû fejezetben láttunk,
az itt is érvényes: tulajdonos, csoport, mások (user, group és other).
Egy könyvtárnál a rx azt jelenti, hogy cd-vel be tudsz lépni oda, míg
ha a w is meg van adva, akkor törölni is tudsz abban a könyvtárban (a
törlendõ fálj engedélyeinek megfelelõen természetesen), vagy akár
magát a könyvtárat is törölheted.

Például annak megelõzésére, hogy mások és a csoportod tagjai a
/home/guido/text könyvtáradban nézelõdjenek ezt a parancsot kell
kiadnod:

$ chmod og-rwx /home/guido/text

5.3. DOS-os parancsok Linuxos megfelelõi

DIR: ls, find, du
CD: cd, pwd
MD: mkdir
RD: rmdir
DELTREE: rm -rf
MOVE: mv

5.3.1. Példák

DOS Linux
---------------------------------------------------------------------

C:\GUIDO>DIR $ ls
C:\GUIDO>DIR FILE.TXT $ ls file.txt
C:\GUIDO>DIR *.H *.C $ ls *.h *.c
C:\GUIDO>DIR/P $ ls | more
C:\GUIDO>DIR/A $ ls -l
C:\GUIDO>DIR *.TMP /S $ find / -name "*.tmp"
C:\GUIDO>CD $ pwd
nincs - lásd a megjegyzést $ cd
úgyszintén $ cd ~
úgyszintén $ cd ~/temp
C:\GUIDO>CD \OTHER $ cd /other
C:\GUIDO>CD ..\TEMP\TRASH $ cd ../temp/trash
C:\GUIDO>MD NEWPROGS $ mkdir newprogs
C:\GUIDO>MOVE PROG .. $ mv prog ..
C:\GUIDO>MD \PROGS\TURBO $ mkdir /progs/turbo
C:\GUIDO>DELTREE TEMP\TRASH $ rm -rf temp/trash
C:\GUIDO>RD NEWPROGS $ rmdir newprogs
C:\GUIDO>RD \PROGS\TURBO $ rmdir /progs/turbo

Megjegyzések:

· Az rmdir használatakor, a törlendõ könyvtárnak üresnek kell lennie.
Egy könyvtár és teljes tartalmának törléséhez használd a rm -rf
parancsot, (saját felelõsségedre).

· A `~' karakter a saját könyvtárad rövidítése. A cd vagy a cd ~
parancsok a saját könyvtáradba visznek, bárhol is legyél. Ennek
megfelelõen a cd ~/tmp parancs a /home/saját_könyvtárad/tmp
könyvtárba juttat.

· A cd - ``visszacsinálja'' az utolsó cd parancsot.

6. Hajlékony lemezek, merevlemezek és társaik

Linux alatt két módja van az eszközkezelésnek, a DOS-szerû és a UNIX-
szerû. Válassz!

6.1. A DOS-szerû eszközkezelés

A legtöbb Linux disztribúcióban megtalálható az Mtools csomag, egy
parancskészlet, amely teljesen megegyezik a DOS-os megfelelõjével,
csak mindegyik neve `m' betûvel kezdõdik, pl. mformat, mdir, mdel,
mmd, stb. Megõrzik a hosszú fájlneveket is, de a hozzáférési
engedélyeket nem. Az Mtools konfigurálása után, amit a
/etc/mtools.conf fájl szerkesztésével tehetsz meg (példafájl található
a disztribúcióban), elérheted a DOSWin partíciókat, a CD-ROM-ot és a
Zip meghajtót. Egy új lemez megformázásához azonban nem elég az
mformat parancs. Rootként ki kell adni elõbb az fdformat /dev/fd0H1440
parancsot.

A hajlékony lemezeken levõ fájlokat nem tudod elérni egy ilyen
paranccsal: less a:file.txt! Ez a hátránya a DOS-szerû
lemezkezelésnek.

6.2. A UNIX-szerû eszközkezelés

A UNIX másképp kezeli az eszközöket, Nincsenek külön meghajtók, mint
az A: vagy a C:, minden lemez, legyen az egy hajlékony lemez vagy
bármi, a helyi fájlrendszer részévé válik a ``csatolás''-nak nevezett
mûvelet segítségével. Miután befejezted a munkát a lemezzel, mielõtt
kiveszed a meghajtóból, le kell csatolni a fájlrendszerrõl.

Egy lemez fizikai formázása egy dolog, egy fájlrendszer létrehozása
rajta egy másik. A DOS FORMAT A: parancsa mindkettõt megcsinálja, de
a Linux alatt erre két külön parancsot kell használni. Egy hajlékony
lemez formázására pár sorral feljebb volt egy példa, a fájlrendszer
létrehozásához írjuk be:

# mkfs -t ext2 -c /dev/fd0H1440

Használhatjuk a dos, a vfat (ajánlott) vagy más formátumokat is az
ext2 helyett. Ha elkészült a lemez, csatoljuk a helyi fájlrendszerhez
a

# mount -t ext2 /dev/fd0 /mnt

paranccsal. Ha nem az ext2 fájlrendszert használjuk, akkor meg kell
adnunk a megfelelõ típust. Ezután a hajlékony lemezen levõ fájlokat a
/mnt könyvtárra való hivatkozással érheted el az A: vagy B: helyett.
Példák:

DOS Linux
---------------------------------------------------------------------

C:\GUIDO>DIR A: $ ls /mnt
C:\GUIDO>COPY A:*.* $ cp /mnt/* .
C:\GUIDO>COPY *.ZIP A: $ cp *.zip /mnt
C:\GUIDO>EDIT A:FILE.TXT $ jstar /mnt/file.txt
C:\GUIDO>A: $ cd /mnt
A:> _ /mnt/$ _

Miután végeztél a lemez használatával, mielõtt kiveszed a meghajtóból,
feltétlenül csatold le a

# umount /mnt

paranccsal. Természetesen csak a formázatlan lemezekre kell használni
az fdformat és a mkfs parancsokat, a már használatban lévõkre nem. Ha
B: meghajtót szeretnéd használni, írj fd1H1440-t és fd1-t az fd0H1440
és az fd0 helyett a fenti példákban.

Felesleges mondani, hogy minden, ami a hajlékonylemezekre vonatkozik,
az a többi eszközre is vonatkozik, például akarhatsz egy másik
merevlemezt, vagy egy CD-ROM meghajtót is csatolni. A CD-ROM-ot így
kell csatolni:

# mount -t iso9660 /dev/cdrom /mnt

Ez volt a ``hivatalos'' módja a lemezek csatolásának, de van egy trükk
is. Mivel egy kissé idegesítõ, hogy csak a root csatolhatja a
hajlékony lemezt és a CD-ROM-ot, minden felhasználónak megengedhetjük
ezt a következõ módon:

· Rootként írjuk be:

# mkdir /mnt/floppy ; mkdir /mnt/cdrom
# chmod 777 /mnt/floppy /mnt/cd*
# # Ellenõrizzük, hogy a CD-ROM-nak tényleg ez az eszköz felel-e meg!
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*

· Adjuk hozzá az /etc/fstab fájlhoz a következõ sorokat:

/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/floppy vfat user,noauto 0 0

Ezután egy DOS-os hajlékony lemezt és egy CD-ROM-ot így lehet
csatolni:

$ mount /mnt/floppy
$ mount /mnt/cdrom

Az /mnt/floppy és az /mnt/cdrom könyvtárakat most már mindegyik
felhasználó elérheti. Ne feledd, hogy ha mindenkinek megengeded, hogy
lemezeket csatoljon, azzal egy biztonsági rést ütsz a rendszeren.
Két hasznos parancsról szeretnék még szólni. A df információkat ad a
csatolt fájlrendszerekrõl, a du konyvtarnev kiírja, hogy mennyi helyet
foglal a könyvtár a lemezen.

6.3. Biztonsági mentés

Több szoftver is létezik, amelyek segítik ezt megvalósítani, de a
legegyszerûbb módja annak, hogy egy többkötetes mentést végezz, a
következõ (persze rootként):

# tar -M -cvf /dev/fd0H1440 mentendo_konyvtar/

Elõtte bizonyosodj meg róla, hogy beraktál egy formázott lemezt a
meghajtóba, és rendelkezel kellõ mennyiségû üressel is. A mentés
visszatöltéséhez helyezd be az elsõ lemezt a meghajtóba, és írd a
parancssorba a következõket:

# tar -M -xpvf /dev/fd0H1440

7. Mi helyzet a Windows-zal?

A Windows ``megfelelõje'' a grafikus X Window System. A Windows és Mac
felülettel ellentétben az X11-et nem úgy tervezték, hogy egyszerû
legyen használni, vagy hogy jól nézzen ki. A cél eredetileg csak
annyi volt, hogy grafikus lehetõséggel ruházzák fel a UNIX-os
munkaállomásokat. A fõ különbségek:

· Amíg a Windows ugyanúgy néz ki mindenhol a világon, az X11 nem
ilyen, sokkal jobban konfigurálható. Az X11 kinézetét egy fontos
komponens, az ``ablakkezelõ'' program határozza meg. Ebbõl nagy a
választék: az fvwm, egyszerû, de szép és memóriatakarékos,
fvwm2-95, Afterstep, WindowMaker, Enlightenment, és sok más. Az
ablakkezelõt általában az .xinitrc-bõl indítják.

· Az ablakkezelõd beállítható, hogy az ablakok úgy viselkedjenek,
mint a Windows alatt: kattintásra elõtérbe kerülnek. Egy másik
lehetõség, hogy akkor kerül az elõtérbe, ha az egér átmegy felette.
Az ablakok elhelyezése a képernyõn lehet automatikus vagy
interaktív: ha egy furcsa keret jelenik meg a programod helyett,
kattints a bal egérgombbal oda, ahol szeretnéd, hogy a program
ablaka megjelenjen.

· A legtöbb tulajdonság igény szerint alakítható egy vagy több
konfigurációs fájl szerkesztésével. Olvasd el az ablakkezelõd
dokumentációját. A konfigurációs fájl neve lehet .fvwmrc,
.fvwm2rc95, .steprc, stb. Egy példa kongigurációs fájl többnyire
megtalálható /etc/X11/ablakkezelõ-név/system.ablakkezelõ-név néven.

· Az X11 alkalmazások speciális könyvtárakat --
``widgetkészlet''-eket használnak. Ezekbõl sokféle van, így aztán a
alkalmazások kinézete különbözõ. A legegyszerûbbek az Athena
widgeteket használják (két dimenziós kinézet; xdvi, xman, xcalc);
mások a Motifot használják (netscape); megint mások a Tcl/Tk,
XForms, Qt vagy Gtk widgetkészleteket használják. Majdnem
mindegyik említett könyvtár közel hasonló kinézetet és érzést
biztosít, mint a Windows.

· Az érzés sajnos nem egységes. Például ha kiválasztasz egy sornyi
szöveget az egérrel, és megnyomod a gombot, azt várod,
hogy a sor eltûnjön, igaz? Ez nem fog megtörténni az Athena alapú
alkalmazásokkal, de a többivel igen.

· A görgetõsávok és a méretezés mûködése függ az ablakkezelõtõl és a
widgetkészlettõl. Tipp: ha a görgetõsávok nem úgy mûködnek, ahogy
várod, a mozgatáshoz próbáld meg használni a középsõ egérgombot,
vagy a két szélsõ gombot egyszerre.

· Az alkalmazásoknak nincs alapértelmezett ikonjuk, de lehet sokat
definiálni. A legtöbb ablakkezelõnek van egy menüje, amely elõjön,
ha az asztalra (``root ablak'') kattintasz. Mondanom sem kell, ez a
menü is változtatható az igényeknek megfelelõen. A root ablak
megjelenése az xsetroot vagy az xloadimage parancsokkal
változtatható.

· A vágólap csak szöveget tartalmazhat, és furcsán viselkedik. Ha
kiválasztottál egy szöveget, az már a vágólapon is van, menj
máshova, és kattints a középsõ egérgombbal a beillesztéshez. Van
egy xclipboard nevû alkalmazás, amely több vágólapot kezel
egyszerre.

· A fogd-és-vidd (drag-and-drop) opcionális, csak az olyan
ablakkezelõkben és/vagy alkalmazásokban mûködik, amelyek
támogatják.

Ha takarékoskodni szeretnél a memóriával, olyan alkalmazásokat kell
használnod, amelyek ugyanazokat a programkönyvtárakat használják, bár
ez a gyakorlatban nehéz lehet.

Vannak projektek, amelyek azt tûzték ki célul, hogy a Windowshoz
hasonló egységes felületet hozzanak létre X11 alatt. A Gnome,
, és a KDE, , nagyszerûek.
Próbáld ki õket, nem fogod visszasírni a Windowst.

8. A rendszer konfigurálása

8.1. Rendszerinicializáló fájlok

A DOS alatt két fontos fájl van, az AUTOEXEC.BAT és a CONFIG.SYS,
amelyeket az operációs rendszer a bootolás ideje alatt a rendszer
inicializálására és olyan rendszerváltozók beállítására használ, mint
például a PATH és a FILES, illetve ahonnan további programokat vagy
batch fájlokat is indíthat. Linux alatt számos inicializáló fájl
létezik, és ezek között van néhány, amelyeket jobb, ha nem
bütykölgetsz, amíg nem tudod, hogy pontosan mit is csinálsz. Egyébként
a legfontosabbakat el fogom mondani:

FÁJLOK MEGJEGYZÉSEK

/etc/inittab Most még ne piszkáld!
/etc/rc.d/* Ezt se!

Ha csak arra van szükséged, hogy a PATH vagy más környezeti változót
beállítsd, vagy meg akarod változtatni a login után megjelenõ
üzeneteket, vagy automatikusan el akarsz indítani egy programot a
bejelentkezés után, akkor a következõ fájlokat ajánlom a figyelmedbe:

FÁJLOK MEGJEGYZÉSEK

/etc/issue beállítja a bejelentkezés elõtti üzeneteket
/etc/motd beállítja a bejelentkezés utáni üzeneteket
/etc/profile beállítja a PATH és egyéb változókat, stb.
/etc/bashrc álneveket és függvényeket állít be (lásd lent)
/home/your_home/.bashrc a környezeted álneveit és függvényeit állítja
/home/your_home/.bash_profile vagy
/home/your_home/.profile mint fent + indítja a programjaid

Ha az utóbbi fájl létezik (megjegyzem, egy rejtett fájl), akkor a
bejelentkezés után a benne szereplõ utasításokat végrehajtja a
rendszer.

Például nézzük meg a következõ .bash_profile fájlt:

______________________________________________________________________
# Ez itt egy megjegyzés
echo Környezet:
printenv | less # DOS alatti SET parancs megfelelõje
alias d='ls -l' # könnyû megérteni, mi az álnév
alias up='cd ..' # az álnév nem más, mint egy rövidítés
echo "Figyelmeztetlek, hogy a PATH változó: "$PATH
echo "A mai dátum `date`" # a 'date' parancs kimenetét írja ki
echo "Jó munkát, kedves "$LOGNAME
# Az alábbi egy "burokfüggvény"
ctgz() # .tar.gz archív fájlok tartalmát listázza
{
for file in $*
do
gzip -dc ${file} | tar tf -
done
}
# a .bash_profile fájl vége
______________________________________________________________________

Jól sejtetted, hogy a $PATH és a $LOGNAME környezeti változók. Nagyon
sok van még ezeken kívül, például OEK less vagy bash.

Ha a következõ sort berakod az /etc/profile-ba, az nagyjából hasonló
dolgot eredményez, mint a DOS-os PROMPT $P$G:

export PS1="\w\\$ "

8.2. Programinicializáló fájlok

A Linux alatt gyakorlatilag mindent, amire csak szükséged lehet, a
kedvedre alakíthatsz. A legtöbb programnak van egy vagy több
inicializáló fájlja, amit állítgathatsz, gyakran .programnévrc néven a
saját könyvtáradban. Az elsõk, amiket valószínûleg változtatni akarsz
majd:

· .inputrc: a bash használja billentyûkódok értelmezéséhez.

· .xinitrc: a startx ez alapján inicializálja az X Window-t.

· .fvwmrc: az fvwm ablakkezelõ használja.

· .joerc, .jstarrc: a joe szövegszerkesztõ használja.

· .jedrc: a jed szövegszerkesztõ használja.

· .pinerc: a pine levelezõprogram használja.

· .Xdefault: sok X program használja.

Ezek mindegyikével és a társaival elõbb-utóbb találkozni fogsz, OEK!
Talán még a Configuration HOWTO
is érdekelni fog
ezek után.

9. Hálózatos fogalmak

A Linux alatt nemcsak hogy létezik a ``Telefonos hálózat'', de sokkal
gyorsabb és stabilabb is. A dolog neve itt ``PPP'', ezt a protokollt
használja a modemen keresztüli internetkapcsolathoz. Szükséged van egy
olyan kernelre, amely támogatja a PPP-t, és egy tárcsázóprogramra.

Ha le szeretnéd tölteni a leveleidet az internetszolgáltatódtól, akkor
egy ``levélkézbesítõ'' segédprogramra van szükséged, ami a POP
protokollt használja. Miután a levél letöltõdött, úgy fog kinézni,
mintha közvetlenül a linuxos gépedre küldték volna. Ezután egy
levélolvasó program segítségével kezelheted, mint például a pine, a
mutt, az elm, vagy más.

Windows alatt a tárcsázó automatikusan elindul, ha egy internetes
alkalmazást elindítasz. A Linux alatt ez nincs így, elõször kell
tárcsázni, azután indítani az alkalmazást. A diald nevû program a
megszokott viselkedést hozza vissza. A telefonos hálózat telepítése és
konfigurálása valaha a legnehezebb dolgok közé tartozott Linux alatt,
de ennek vége: olvasd el a Configuration HOWTO-t.

Végül egy szót a ``Network neighborhood''-ról: megteheted, hogy a
linuxos géped úgy jelenjen meg egy windowsos hálózatban, mint egy
Windows NT/9x! A bûvös szó: SaMBa; ez nem a brazil tánc, hanem az SMB
protokoll linuxos implementációja. Nézd meg a
weblapot!

10. Egy kis programozás

10.1. Szkriptek: .BAT fájlok Linuxon

Ha a .BAT fájlokat hosszú programsorok rövidítésére használtad (én
sokszor), akkor ezt megvalósíthatod a megfelelõ ``alias'' sorok
alkalmazásával a .profile, és a .bash_profile fájlokban. De ha a .BAT
fájljaid bonyolultabbak voltak, akkor lefogadom, hogy egyszerûen
imádni fogod a burok programnyelvét: ez legalább olyan hatékony mint a
Qbasic, ha nem hatékonyabb. Változókat definiálhatsz, léteznek a
while, for, case, if... then... else struktúrák, és még számos
lehetõséget nyújt. Jó alternatívája lehet egy ``igazi''
programnyelvnek.

Ha egy szkriptet -- a DOS alatti .BAT fájl megfelelõje -- akarsz írni,
egyszerûen egy olyan szabványos ASCII fájlt kell írnod, amely a
parancsokat tartalmazza, el kell mentened, és a következõ paranccsal
végrehajthatóvá kell tenned: chmod +x . A végrehajtáshoz
egyszerûen csak a nevét kell begépelned.

Elõre figyelmeztetlek, hogy a rendszer alapértelmezett
szövegszerkesztõjét, a vi-t, tapasztalatom szerint a kezdõk nagyon
nehéznek találják. Nem fogom most itt elmagyarázni a mûkõdését, olvasd
el Matt Welsh könyvében a megfelelõ fejezetet, vagy keress egy
leírást a hálózaton. A vi-ról álljon itt annyi, hogy:

· ha szöveget akarsz bevinni, üss egy i-t aztán vidd be a szöveget;

· egy karakter törléséhez üss egy -et, utána egy x-et;

· ha ki akarsz lépni mentés nélkül, üss -et, aztán :q!-t;

· ha ki akarsz lépni mentéssel, üss -et, aztán :wq-t.

A joe kezdõknek ideális szövegszerkesztõ, ha a jstar parancs
begépelésével indítod, akkor ugyanazok lesznek a billentyûparancsok,
mint egy DOSWin szövegszerkesztõben. A jed WordStar vagy IDE üzemmódja
még jobb. Nézd meg a ``Hol vannak az alkalmazások?'' fejezetet, ha nem
tudod, honnan szerezheted meg ezeket a szövegszerkesztõket.

A linuxos szkriptek írásáról egy egész könyvet lehetne írni, így most
nem fogok a témában igazán elmélyedni, csak mutatok néhány
remélhetõleg hasznos példát, amibõl aztán leszûrheted az alapvetõ
szabályok egy részét.

______________________________________________________________________
#!/bin/sh
# sample.sh
# Ez egy megjegyzés
# Ne változtasd emg az elsõ sort! Annak ott kell lennie!
echo "Ez a rendszer egy: `uname -a`" # a parancs kimenetét írja ki
echo "a program neve $0" # beépített változó
echo "A következõ $# paramétert kaptam: "$*
echo "Az elsõ paraméter: "$1
echo -n "Hogy hívnak? " ; read nev
echo Vedd észre a különbséget: "Szia $nev" # az " használata idézõjelként
echo Vedd észre a különbséget: 'Szia $nev' # az ' használata idézõjelként
DIRS=0 ; FILES=0
for file in `ls .` ; do
if [ -d ${file} ] ; then # ha a fájl könyvtár
DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
elif [ -f ${file} ] ; then
FILES=`expr $FILES + 1`
fi
case ${file} in
*.gif|*.jpg) echo "${file}: grafikus fájl" ;;
*.txt|*.tex) echo "${file}: szöveges fájl" ;;
*.c|*.f|*.for) echo "${file}: forráskód" ;;
*) echo "${file}: generic file" ;;
esac
done
echo "Összesen ${DIRS} könyvtárat és ${FILES} fájlt találtam."
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then az utolsó parancs kilépési kódja
echo "Nem találtam a következõ fájlt: ZxY--!!!WKW"
fi
echo "Na ebbõl elég... Írd be, hogy 'man bash', ha több információt szeretnél!"
______________________________________________________________________

10.2. C

A Unixok alatt a rendszer nyelve a C, akár szereted akár nem. Persze
egy csomó másik nyelv is elérhetõ (FORTRAN, Pascal, Lisp, Basic, Perl,
awk, ...).

Feltételezve, hogy ismered a C-t, álljon itt néhány segítõ tanács
azoknak, akiket eddig a Turbo C++ vagy valamelyik DOS-os testvére
kényeztetett. A Linux C fordítóját gcc-nek hívják, és
alapértelmezésben híján van minden villogó, fütyülõ kütyünek, ami
általában velejárója a DOS-os hasonmásának: nincs Integrált Fejlesztõi
Környezet (IDE), on-line help, beépített debugger, stb. A gcc egy
parancssorból hívható fordító, nagyon hatékony és erõteljes. Ha le
szeretnéd fordítani a szokásos hello.c programodat, akkor a

$ gcc hello.c

sor a fordítás végeredményeképpen egy végrehajtható a.out nevû fájlt
fog készíteni. Ha ettõl az elnevezéstõl el akarsz térni, akkor a

$ gcc -o hello hello.c

sor a hello névre fogja elkeresztelni a futtatható fájlt. (Világos,
hogy nem célszerû az a.out fájlban hagyni a kész mûved, mert a
következõ fordítás alkalmával felülíródik). Ha szeretnél egy
programkönyvtárat linkelni a programodhoz, akkor egy sor végi
-l kapcsoló oldja meg ezt a feladatot. Például, ha a
matematikai könyvtárral linkeled össze:

$ gcc -o mathprog mathprog.c -lm

(A -l kapcsoló arra utasítja a gcc-t, hogy az
/usr/lib/lib.so; könyvtárral linkelje a programot, tehát az
-lm az /usr/lib/libm.so-t használja).

Ezek a parancsok elegendõek egy kis program esetén, de ha a programod
számos forrásból áll össze, akkor szükséged lesz a make
segédprogramra. Tegyük fel, hogy írtál egy kifejezéselemzõt: a
forrásfájl parser.c és két #include fájlja van, parser.h és xy.h.
Ezután szeretnéd egy calc.c nevû programban használni a parser.c
függvényeit, amely viszont includolja a parser.h fájlt. Nos, mit kell
ekkor tenned, ha a calc.c fájlt akarod fordítani?

Egy úgynevezett Makefile-t kell írnod, amely leírja a fordító számára
a forrásfájlok közötti összefüggéseket. A példánkban ez a
következõképpen néz ki:

______________________________________________________________________
# Ez a Makefile a calc.c fordítását végzi
# Üss -ot a megfelelõ pozíciókban!

calc: calc.o parser.o
gcc -o calc calc.o parser.o -lm
# calc két object fájltól függ: calc.o és parser.o

calc.o: calc.c parser.h
gcc -c calc.c
# calc.o két forrásfájltól függ

parser.o: parser.c parser.h xy.h
gcc -c parser.c
# parser.o három forrásfájltól függ

# A Makefile vége
______________________________________________________________________

Ezt a fájlt Makefile néven mentsd ki, és futtatsd a make parancsot,
esetleg mentsd el calc.mak néven, és írd be azt, hogy make -f
calc.mak. Természetesen OEK. Továbbá ne feledd, hogy bármikor leírást
kaphatsz a C függgvényekrõl, a kézikönyvoldalak segítségével. Például:

$ man 3 printf

A programok hibakereséséhez használd a gdb-t. A használati utasításhoz
írd be: info gdb.

Rengeteg programkönyvtár van, amit használhatsz. Valószínûleg az
elõször használandók között lesz az ncurses és az svgalib, amik a
szöveges illetve a grafikus képernyõ kezelését valósítják meg. Ha elég
bátorságot érzel az X alatti programozáshoz (nem olyan nehéz), akkor
számos programkönyvtár áll rendelkezésedre, amelyekkel egy
szempillantás alatt mûködõ alkalmazásokat lehet létrehozni. Nézd meg a
weblapot, és tartsd
észben, hogy a Gtk kezd a Linux szabvánnyá válni.

Sok szövegszerkesztõ képes integrált fejlesztõkörnyezetként
viselkedni, például az emacs és a jed képes a nyelv szintaktikai
elemeinek kiemelésére, automatikus bekezdésekre, stb. Ezen kívül
beszerezheted az rhide csomagot az
FTP-helyrõl. Ez a
Borland integrált fejlesztõkörnyezetét koppintja, valószínûleg elnyeri
majd a tetszésedet.

11. A fennmaradó 1%

Valójában sokkal több, mint 1%...

11.1. A tar és gzip programok használata

A Unix alatt van néhány széles körben használt program fájlok
tömörítésére és archiválására. A tar program archiválja a fájlokat --
hasonlóan a PKZIP-hez vagy a WinZIP-hez, de nem tömöríti, csak
becsomagolja (Linux alatt a '-z' opcióval tömöríti is ;-). A

$ tar -cvf [fajl...]

sor egy új archív fájlt készít. Ha egy archív fájlt szeretnél
kicsomagolni, a

$ tar -xpvf [fajl...]

sorral teheted meg. Ha az archív fájl tartalmára vagy kíváncsi, akkor
a

$ tar -tf | less

sorral nézegetheted. Ha tömöríteni szeretnél akkor a compress és gzip
programok állnak rendelkezésedre, bár a compress elavult, és jobb ha
nem használod. A megfelelõ parancsok:

$ compress
$ gzip

Ezek egy .Z (compress) vagy .gz (gzip) kiterjesztésû tömörített fájlt
készítenek. Ezek a programok egyszerre csak egy fájlt képesek
tömöríteni. A kitömörítéshez használd a

$ compress -d
$ gzip -d

sorokat, és OEK.

Az unarj, zip és unzip (PK??ZIP kompatíbilis) segédprogramok szintén
elérhetõek. A .tar.gz vagy .tgz kiterjesztésû fájlok (tar programmal
csomagolt, majd gzip-pel tömörített) ugyanolyan gyakoriak a UNIX
világában, mint a .ZIP fájlok DOS alatt. A .tar.gz tartalmát a
következõ módon nézheted meg:

$ tar -ztf | less

11.2. Programok telepítése

Elõször is: a telepítés a root feladata. A legtöbb linuxos programot
.tar.gz archívum formájában terjesztenek, ami általában egy könyvtárat
tartalmaz, amit úgy hívnak, mint a programot, és amiben fájlok és/vagy
alkönyvtárak vannak. Ezt a /usr/local könyvtárban kiadott

# tar -zxf

paranccsal érdemes kibontani, és utána elolvasni a README és INSTALL
fájlokat. A programokat többnyire forráskód alakjában terjesztik,
amit le kell fordítanod, általában a make és utána make install
parancsok kiadásával. Ha a csomagban van configure szkript, akkor
elõbb azt futtasd. Természetesen kell a gcc vagy a g++
fordítóprogram.

Más csomagokat a / könyvtárban kell kicsomagolni, ilyenek a Slackware
.tgz csomagjai. Megint más csomagok tartalmazzák a fájlokat, de nem
egy alkönyvtárban -- vigyázz, ne csinálj rendetleséget!. Mindig
listázd ki az archív fájl tartalmát telepítés elõtt.

A Debian és a Red Hat disztribúciók saját csomagformátummal
rendelkeznek, ezek a .deb és az .rpm. Az utóbbi szélesebb körben
elfogadott. Egy rpm csomag telepítéséhez add ki az

# rpm -i package.rpm

parancsot.

11.3. Tippek amik nékül nem boldogulsz

Hátralapozás: Nyomd le a billentyûkombinációt, és
ekkor egy pár oldal visszalapozhatsz a képernyõn, attól függõen, hogy
mennyi a videomemóriád.

Képernyõ alaphelyzetbe állítása: Elõfordulhat hogy egy bináris fájl
cat vagy more paranccsal való megjelenítése során tele lesz a képernyõ
mindenféle szeméttel. Gépeld be vakon a reset parancsot, ami rendbe
teszi a dolgokat, vagy a következõ karaktersorozat is segít: echo
CTRL-V ESC c RETURN.

Szöveg másolása: konzolon lásd alább, X alatt a jobb egérgombbal
kijelölheted a szöveget (továbbá pl. általában 2 kattintás a szót,
három a teljes sort kijelöli), majd a középsõ (vagy a 2 szélsõ)
egérgombbal átmásolhatod oda, ahova akarod. Valamint létezik egy
xclipboard nevû program is (sajnos csak szövegekre), de ne tévesszen
meg a lassú válaszideje.

Egérhasználat: telepítsd a gpm programot, ami egy egérmeghajtó a
konzolhoz. Hasonlóan használhatod, mint fent, s akár a virtuális
konzolok között is.

Üzenetek a kerneltõl: nézd meg root-ként a /var/adm/messages vagy a
/var/log/messages fájlt, hogy miket üzent a kernel, beleértve a
rendszerindulást is. A dmesg parancs is hasznos.

11.4. Hol vannak az alkalmazások?

Ha gondolkozol, hogy lecserélheted-e a régi megbízható DOSWin
alkalmazásodat egy linuxosra, javaslom, hogy böngészd végig a
legnagyobb linuxos szoftvergyûjteményeket:
, és
. Egy másik jó kiindulópont a ``Linux
Applications and Utilities Page''
, és a ``hivatalos'' Linux
honlap .

11.5. Egy pár dolog, amit eddig nem tudtál megcsinálni

A Linux alatt rengeteg dolgot meg lehet tenni, ami DOSWin alatt
bonyolult, nehézkes vagy lehetetlen. Itt egy rövid lista
étvágygerjesztõnek:

· Az at a megadott idõben hajtja végre a kívánt programot.

· Az awk egy egyszerû és mégis sokat tudó programnyelv szöveges
fájlok manipulására. Például legyen a data.dat egy több oszlopos
adatfájl, ekkor a

$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat

kilistázza az 1. és a 4. mezõt minden olyan sorból, amelyekben a 2.
mezõ tartalmazza az ``abc'' mintát.

· A cron adott idõközönként, megadott idõben végrehajtható feladatok
végrahajtására jó. Írd be: man 5 crontab.

· A file megmondja, hogy mi a fájl típusa (ASCII szöveg,
végrehajtható, archív, stb.);

· A find (lásd még a ``DOS-os parancsok Linuxos megfelelõi''
fejezetben) az egyik leghasznosabb és legtöbbet tudó program.
Használható különbözõ feltételeknek megfelelõ fájlok megkeresésére
és ezeken valamely eljárás végrehajtására. Az általános használata:

$ find

ahol a magában foglalja a keresési feltételeket és a
végrehajtandó mûveleteket. Példák:

$ find . -type l -exec ls -l {} \;

megkeresi azokat a fájlokat melyek szimbolikus linkeket jelölnek, és
kiírja, hogy mire mutatnak.

$ find / -name "*.old" -ok rm {} \;

megkeresi azokat a fájlokat, amelyek illeszkednek a mintára, és törli
õket, de elõbb megerõsítést kér.

$ find . -perm +111

megkeresi azokat a fájlokat, melyek engedélye 111 (futtatható).

$ find . -user root

megkeresi a root fájljait. És még rengeteg lehetõség van -- OEK.

· A grep szövegmintákat keres a fájlokban. Például a

$ grep -l "fizika" *.tex

parancs kilistázza az összes *.tex fájlt, amelyben szerepel a
``fizika'' szó. Egy változata, a zgrep, a gzip-pel tömörített fájlokra
mûködik. OEK.

· A reguláris kifejezések segítségével bonyolultan de nagyon
hatékonyan kereshetünk szövegekben. Például a ^a[^a-m]X{4,}txt$
kifejezés ráillik egy olyan sorra, amely `a'-val kezdõdik, a
következõ karaktere bármi lehet az a-m intervallumon kívül, 4 vagy
több `X' követi, és `txt' a vége. A reguláris kifejezéseket a
fejlettebb szövegszerkesztõkben, a less-ben, és még sok más
programban használhatod. Rövid bevezetésként olvasd el a grep
kézikönyvoldalát (man grep)!

· A script a szkript_fajl képernyõre kiírt üzeneteit
elmenti egy fájlba, addig amíg nem adsz ki egy exit parancsot.
Hibakeresésnél hasznos.

· A sudo megengedi a felhasználóknak, hogy megcsinálják, amit csak a
root tehet meg (pl. lemezek formázása vagy csatolása a
fájlrendszerhez, OEK).

· Az uname -a rendszerinformációkat ír ki.

· A zcat és a zless segítségével gzip-pel tömörített fájlokat
nézegethetsz, anélkül, hogy ki kellene tömöríteni. Például:

$ zless szovegfajl.gz
$ zcat szovegfajl.gz | lpr

· A következõ parancsok sokszor jól jönnek: bc, cal, chsh, cmp, cut,
fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac,
tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.
OEK.

11.6. UNIX használata DOSWin alatt

Hiszed vagy sem, vannak olyan programok, amelyek UNIX-szerû
környezetet hoznak létre DOSWin alatt! Az egyik a Djgpp csomag (
) DOS alá, a másik a Cygnus (
), egy sokkal bonyolultabb megvalósítás Win32
környzetben. Mindkettõ ugyanazokat a GNU fejlesztõeszközöket és
segédprogramokat tartalmazza, mint a Linux, bár nem fogod ugyanazt a
teljesítményt és stabilitást megkapni.

Ha szeretnél belekóstolni a Linux használatába, próbáld ki a Djgpp-t.
Töltsd le, és telepítsd a következõ fájlokat (az írás idején a
legfrissebb verzió a 2.02): djdev202.zip, bnu281b.zip, bsh1147b.zip,
fil316b.zip, find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip,
shl112b.zip. A telepítési útmutató mellékelve van, és a
hírcsoportban is kaphatsz segítséget.

DOSWin alatt különösen a bash használata jelent felüdülést. A
megfelelõ konfiguráláshoz szerkeszd át a telepítésnek megfelelõen a
BOOT.BAT fájlt, azután cseréld le ezeket a fájlokat a (Windows
partíción levõ) saját könyvtáradban:

# ez a _bashrc

LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'

# ez a _bprof
if [ -f ~/_bashrc ]; then
. ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# a less(1) beállításai
LESS="-M-Q" # hosszú prompt, csendes
LESSEDIT="%E ?lt+%lt. %f" # felsõ sor szerkesztése
VISUAL="jed" # szövegszerkesztõ
LESSCHARSET=latin1 # ékezetes betûk megjelenítése
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

11.7. Gyakori kiterjesztések és az ezekkel kapcsolatos programok

Valószínûleg már egy csomó fájlkiterjesztéssel találkoztál. Az
egzotikus fajtákon kívül (pl. font fájlok stb.) íme egy lista, hogy mi
micsoda.
· 1 ... 8: kézikönyvoldalak. Így olvasd õket: groff -Tlatin1 -man
.

· arj: arj-vel tömörített fájl.

· dvi: a TeX (see below) által létrehozott fájl. xdvi-al nézheted
meg; dvips-sel PostScript .ps fájllá alakíthatod.

· gz: gzip-pel tömörített fájl.

· info: info fájl (hasonló a kézikönyvoldalhoz). Az info program
használja.

· lsm: Linux Software Map fájl. Ez egy egyszerû ASCII fájl, ami a
hozzá tartozó programcsomag leírását tartalmazza.

· ps: PostScript fájl. A megjelenítéséhez kelleni fog a gs, és vagy a
ghostview vagy a gv.

· rpm: Red Hat csomag. Bármilyen rendszeren telepíthetõ az rpm
csomagkezelõvel.

· taz, tar.Z: tar-ral készült csomag compress-szel tömörítve.

· tgz, tar.gz: tar-ral készült csomag gzip-pel tömörítve.

· tex: szövegfájl, amit a rendkívül sokoldalú TeX tördelõprogram
dolgoz fel. Szerezd be a tex csomagot, sok disztribúció része!

· texi: texinfo fájl, TeX és info fájlokat lehet csinálni belõle
(lásd info). A texinfo program használja.

· xbm, xpm, xwd: grafikus fájl.

· Z: compress-szel tömörített fájl.

11.8. Fájlkonverziók

Ha szöveges fájlokat kell cserélned DOSWin és Linux között, figyelj a
``sorvég'' problémájára. DOS alatt a sor végét CR/LF jelöli (ASCII 13
+ ASCII 10), a Linux alatt csak LF. Ha DOS-os szövegfájlt szerkesztesz
Linux alatt, a sorok végén furcsán kinézõ `M' karakterek lesznek
olvashatóak, a linuxos szövegfájl DOS alatt pedig egyetlen kilométeres
sor lesz, bekezdések nélkül. Egy csomó segédprogram áll rendelkezésre
(pl. a dos2unix és a unix2dos) az oda-vissza konvertálásra.

Ha a szövegfájlod ékezetes betûket is tartalmaz, gyõzõdj meg róla,
hogy Windows alatt csináltad és nem sima DOS alatt, máskülönben az
összes ékezetes karakter elromlik.

A Word vagy WordPerfect fájlok egyszerû szöveggé alakítása egy kicsit
nehezebb, de lehetséges. Az egyik CTAN FTP-helyrõl (pl.
) töltsd le a megfelelõ segédprogramot. Szedd le
a word2x programot a /pub/tex/tools/ könyvtárból, vagy próbáld ki a
/pub/tex/support/ könyvtárban található programok egyikét. A word2x a
Word 6 fájlokat konvertálja, a Word 97 fájlok konverziójához az
mswordview-ra lesz szükséged (
), ami HTML
formátumúvá alakítja õket.

11.9. Ingyenes irodai csomagok

Ha a fájlok konvertálása nem elégséges, van rá lehetõség, hogy
kipróbálj egy (ingyenes!) Microsoft Office-szerû irodai csomagot.

A StarOffice csomag magánfelhasználásra ingyenes (újabban üzleti célra
is ingyenes -- a ford.). Nagy, elég lassú, de amúgy nagyon jó: egy
csomó funkcióval rendelkezik, amivel a Microsoft Office nem. Képes
elolvasni a Word és az Excel fájljait, bár a konverzió nem mindig
tökéletes. A honlap: .

Egy másik jó csomag a Corel WordPerfect, ennek is letölthetõ egy
ingyenes verziója. Kell többet mondanom? Gyerünk, szedd le!
.

12. Vége, egyelõre

Gratulálok! Megismerkedtél egy kicsit a UNIX-szal, és készen állsz már
arra, hogy érdemi munkát is végezz. Ne felejtsd, hogy a rendszerrel
kapcsolatos tudásod még elég korlátozott, és számíts arra, hogy csak
nagyobb gyakorlat megszerzése után érzed magad igazán otthon. De
fogadok, hogy az itt leírtak is elegendõk ahhoz, hogy a kezdeti
lépéseket megtedd.

Biztos vagyok abban, hogy élvezni fogod a Linux használatát, és egyre
többet fogsz majd tudni róla -- mindenki így van vele. Szintén fogadni
mernék, hogy soha nem térsz vissza a DOSWin-hoz! Remélem sikerült
magam megértetni, és az itt leírtak hasznára válnak a 3 vagy 4 olvasóm
számára.

12.1. Szerzõi jogok

A Linux HOGYAN dokumentumok szerzõi joga a megfelelõ szerzõké, hacsak
másképp nem rendelkeznek. A Linux HOGYAN dokumentumokat szabad részben
vagy egészben másolni és terjeszteni bármilyen fizikai vagy
elektronikus adathordozón, de ezt a szerzõi jogokra vonatozó
megjegyzést minden másolathoz mellékelni kell. Az üzleti célú
terjesztés megengedett és bátorított, de a szerzõ szeretne tudomást
szerezni minden ilyen terjesztésrõl.

Minden Linux HOGYAN-on alapuló fordítás, származtatott mû vagy
összefoglaló munka ezen szerzõi jogi kötelmek alá kell essen. Ez azt
jelenti, hogy nem szabad olyan HOGYAN-on alapuló mûvet létrehozni,
amely további megkötéseket tartalmaz a terjesztésre. Bizonyos
feltételek esetén ezek a szabályok figyelmen kívül hagyhatóak, errõl a
Linux HOGYAN koorditátor ad felvilágosítást a lent olvasható címen.

Röviden megfogalmazva, szeretnénk, ha az információ elterjedne minél
több csatornán, de szeretnénk megtartani a HOGYAN dokumentumok szerzõi
jogát, és szeretnénk értesülni bármilyen terjesztési tervrõl.

Kérdésekkel a Linux HOGYAN koordinátorát, Tim Bynumot lehet megkeresni
a drótpostacímen.

12.2. Jogi felelõsség

A ``HOGYAN térjünk át DOS-ról/Windowsról Linuxra'' Guido Gonzato mûve,
. (Töröld ki a ``REMOVE_ME''-t.)
Köszönettel tartozom Matt Welshnek, a ``Linux Installation and Getting
Started'' szerzõjének, Ian Jacksonnak, a ``Linux frequently asked
questions with answers'' szerzõjének, Giuseppe Zanettinek, a ``Linux''
szerzõjének, mindenkinek, aki javaslatokat írt nekem, és fõleg Linus
Torvaldsnak és a GNU-nak, akik a Linuxot adták az emberiségnek.

Erre a dokumentumra nem vonatkozik semmilyen garancia. Nagyon
igyekeztem, hogy hibátlan legyen, de mindenki csak a saját
felelõsségére használhatja az itt közölt információkat. Semmilyen
esetben sem lehet engem felelõssé tenni az itt leírtak
felhasználásából eredõ károkért.

A visszajelzéseket örömmel veszem. Bármilyen kérdést, kérést,
javaslatot szívesen meghallgatok.

Élvezd a Linuxot és az életet!

Guido =8-)

12.3. Magyar fordítás

Az elsõ magyar fordítást Danyi András (danyiand@biocom.bio.u-
szeged.hu) készítette az 1.0-ás verzióról, ami angolul 1996-ban jelent
meg. A jelenlegi 1.3.2-es verzió fordítását Tímár András
(atimar@itp.hu) készítette, természetesen erõsen támaszkodva Danyi
András meglévõ fordítására.