Offline |
|
|
Csatlakozott:2015.03.12. 18:30 Hozzászólások:975 Megköszönt másnak: 67 alkalommal Megköszönték neki: 136 alkalommal
|
Az első lépések II.Egy Debian GNU/Linux alaprendszer telepítésének menete részletesen, képekkel illusztrálva az alábbi linkeken található.: Debian GNU/Linux 4.0 rendszer telepítése - Expert módbanDebian GNU/Linux 5.0 rendszer telepítése - GUI módbanBash programozás
# A parancsértelmezőnk által ismert parancsokat fűzhetjük össze egy "programba". (lásd .bat) # Programunk első sorában minden esetben meg kell adnunk a futtató programot, jelen esetben a bash-t. # Tehát a fájlunk kezdete legyen: #!/bin/bash # Felkiáltójel nélkül más futtató programot (parancsértelmezőt) is megadhatunk a programunk első sorában. # Futtatási jog nélkül nem tudjuk használni, ezért chmod +x programnev # Programunk futtatásához ./programnev parancsot kell használnunk. Írásjelek # Escape-karakter: \ Bourne Again Shell escape-karaktere. Többek között ezzel a jellel lehet elérni, hogy az őt követő speciális karakter elveszítse módosító hatását.
# Dollárjel: $ Segítségével változó neve és értéke között tudunk különbséget tenni. Ha $valtozo-t írunk, az a változónk értékét fogja visszaadni.
# Kétszeres idézőjel: " " Az idézőjelek arra valók, hogy egyes karakterek vagy lefoglalt szavak speciális jellegét feloldják. # Egyszeres idézőjel: ' ' Megakadályozza a héjat (shell), hogy a $-t a változók jelzésének tekintse
# Szögletes zárójel: [] Intervallumok megadására szolgáló eszköz # Kérdőjel: ? Egy elem helyettesítésére szolgáló jel # Csillag: * Joker karakter, bármennyi karakter helyettesítésére
# Felsővessző: ` (jobbra tartó - AltGr + 7) Operátor, mely a két ` ` között lévő jelsort végrehajtja, és a kimenetét adja vissza úgy, hogy az új sor karakter helyére szőközt rak.
# Kettőskereszt: # Kommentezés eszköze. (megjegyzés) # And jel: & Parancsok háttérbeli futtatására szolgáló eszköz. Pl.: updatedb & # Kettős And jel, vagy pontosvessző: && = ; Parancsokat futtathatunk egymás után. Pl.: cp -R /var/www /home/backup && shutdown -h nowDedikált környezeti változók EDITOR : Az alapértelmezett szövegszerkesztőnk HOME : Felhasználói könvvtárunk elérési útvonala MAIL : Beérkező email-jeink alapértelmezett könyvtára PATH : Azok az elérési útvonalak, melyekben a shell futtatható állományokat keres OSTYPE : Az operációs rendszerünk típusa PAGER : Az alapértelmezett file nézegetőnk elérési útvonalát kell tartalmaznia PWD : A könyvtár, ahol éppen vagyunk. (Szimbólikus linknél nem egyezik meg a pwd kimenetével!) SHELL : A jelenleg futú shell-ünk teljes elérési útvonala TERM : A Terminálunk típusát tartalmazza
Ezek értékeinek kiíratására a következő parancs használható:
echo $VALTOZO_NEV Shell változókÉrtékadó utasítással.:
valtozo=érték : a változónk értéke legyen "ertek" valtozo=$(echo 2+3 | bc) : a változónk értéke legyen 2+3, bc-vel kiszámolva. export valtozo : shell változónkat környezeti változóvá tesszük # Ha azt szeretnénk, hogy restart után is permanens maradjon változónk, # az /etc/profile -ba is fel kell vennünk. unset valtozo : ha már nincs szükség rá, mint környezeti változó. Belső változókecho $0 # A futó program neve
echo $$ # A futó program PID-je
echo $? # A legutolsó parancs visszatérési értéke Csővezetékek (pipe-ok)
# " | " segítségével tudjuk egy program kimenetét (stdout) egy másik program bemenetére (stdin) csatolni. pl.:
ps aux | grep iceweasel # Az összes folyamat kimenetét a grep szűrő bemenetére irányítjuk, amely az iceweasel-t keresi.
# stdin - standard input, jele : fd0 (alapértelmezett bemenet, pl.: billentyűzet) # stdout - standard output, jele : fd1 (alapértelmezett kimenet, pl.: monitor) # stderr - standard error, jele : fd2 (alapértelmezett hibacsatorna)
./program 2> hiba.txt # Programunkat lefuttatjuk, az esetleges hibákat (stderr) a hiba.txt-be irányítjuk, # az stdout helyett.
./program 1> kimenet.txt 2>&1 # Programunkat lefuttatjuk, kimenetét (stdout) a kimenet.txt-be mentjük, valamint # az esetleges hibákat (stederr) hozzáfűzzük a kimenet.txt-hez.
cat file1 | sort | wc -w > file2 # file1-et tartalmát a sort-nak adja át, az rendezi, majd átadja a wc-nek, majd a wc # kimenete a file2-be íródikNéhány egyszerű példa.: #!/bin/bash echo Hello World! # A szokásos Hello World kiírása, programunk futtatásakor.
#!/bin/bash STR="Hello World" echo $STR # Az STR változó deklarálása, majd értékének kiíratása.
#!/bin/bash tar -cZf /var/backup.tgz /home/user # /home/user tartalmát menti és tömöríti a /var/backup-ba.
#!/bin/bash OF= /home/user/$(date +%Y%m%d).tgz tar -cZf $OF /home/user/sajt # Egyszerű backup script, mely a /hme/user/sajt tartalmát, napi dátummal # ellátva egy .tgz állományba tömörítve menti.
#!/bin/bash if ["foo" = "foo1" ]; then echo "a feltétel igaz" else echo "a feltétel hamis" fi # Egyszerű if-else szerkezet
Egyszerű szerkezetek.: if, while, until, for -if szerkezet.: ---------------
#!/bin/bash T1="foo" T2="bar" if [ "$T1" = "$T2" ]; then echo "a feltetel igaz" else echo "a feltetel hamis" fi # eldöntjük T1 és T2 értékéről, hogy egyenlőek e.
#!/bin/bash if [ -f /etc/passwd ] then echo "letezik!" else echo "nem letezik!" fi # eldöntjük, hogy /etc/passwd file létezik-e vagy sem. # Blokkos eszköz (pl. pendrive) esetén -b kapcsolót kell használni!
#!/bin/bash test -f /etc/passwd && echo "letezik" || echo "nem letezik" # A egyel feljebb levő probléma másik megoldása. # Blokkos eszköz (pl. pendrive) esetén -b kapcsolót kell használni!
-File szintű kapcsolók
if [ -a file ] then ...
-a : igaz, ha létező file -e : igaz, ha létező file -b : igaz, ha blokkos eszköz (pl /dev/sda) -c : igaz, ha "karakterspeciális" file Pl.: (/dev/ttyACM0 - ez egy nokia telefon.) -d : igaz, ha könyvtár -f : igaz, ha regular file -G : igaz, ha a futtató user csoportjáé a file -N : igaz, ha módosították az utolsó olvasás óta -O : igaz, ha a futtató useré a file -r : igaz, ha olvasható? -L : igaz, ha symbolic link -s : igaz, hogy nem üres -z : igaz, hogy üres -w : igaz, ha írható a scriptet futtató user számára # Tagadás mindenhol használható, azaz.: ! -f : nem regular file?
-Változó szintű kapcsolók
if [ file == file2 ] then ...
file1 == file2 egyenlőek? file1 != file2 igaz hogy nem egyenlőek? if [ "$(cat tibi)" != "$(cat peti)" ]; then echo "Tibi nem Peti! " exit 1 # Stop! fi
-Szám szintű kapcsolók
if [ $foo -eq 3 ] then ...
$foo -eq 3 : igaz, ha foo értéke egyenlő 3-al (equal) $foo -ne 3 : igaz, ha foo értéke nem egyenlő 3-al (not-equal) $foo -gt 3 : igaz, ha foo értéke nagyobb 3-nál (greater than) $foo -ge 3 : igaz, ha foo értéke nagyobb egyenlő 3-al (Greater or equal) $foo -lt 3 : igaz, ha foo értéke kisebb 3-nál (Less than) $foo -le 3 : igaz, ha foo értéke kisebb egyenlő 3-al (less than or equal)
"$foo" == "10" foo értéke 10?
# Dupla zárójellel használhatóak ==, !=, >=, >, <, <=.. (($foo <= 3)) foo értéke nagyobb egyenlő 3-nál
-while szerkezet.: ------------------
#!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo a szamlalo erteke: $COUNTER let COUNTER=COUNTER+1 done # COUNTER változónkat 1-el növeljük addíg, amíg el nem éri a 10-et.
-until szerkezet.: ------------------
#!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo a szamlalo erteke: $COUNTER let COUNTER-=1 done # COUNTER változónkat 20-as kezdőértékről 1-el csökkentjük, amíg el nem éri a 10-et.
-for ciklus (C szerű) ---------------------
#!/bin/bash for i in `seq 1 10`;do echo $1 done # az i változónkat felveszi 1-től 10-ig az értékeket, majd ki is írjuk a képernyőre
-for ciklus (a könyvtár elemeire) ---------------------------------
#!/bin/bash for i in $( ls );do echo a konyvtar elemei: $i done # kiíratjuk a képernyőre az aktuális könyvtár elemeit Egyszerű függvények.: #!/bin/bash function quit { exit } function hello { echo Hello! } hello quit echo foo # Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 10. sor sosem fut le!)
#!/bin/bash function quit { exit } function e { echo $1 } e Hello e World quit echo foo # Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 11. sor sosem fut le!)Érdekes/hasznos bash scriptek -experimental- echo "Most `w -h | wc -l` felhasználó van bejelentkezve." # Kiíratjuk programunk segítségével, hogy hány felhasználó van bejelentkezve
test -d /home/user && echo "van" || echo "nincs" # Megvizsgáljuk, hogy van e /home/user könyvtár, két kimenetű elágazással (&&) # Ha van.: van # Ha nincs.: nincs # -d : van-e ilyen?
if [ -d /home/user ]; then echo "van"; else echo "nincs"; fi # Ugyanaz mint az előző példa, csak kicsit másként. # [-test parancs, ]-test zárás
if [ -s /etc/motd ]; then echo "nagyobb"; else echo "zerus"; fi # Megvizsgáljuk, hogy a /etc/motd nagyobb e nullánál, vagy zérus. # -s akkor ad IGAZ-at, ha a fájl létezik és nagyobb 0-nál.
for i in *.mp3; do mpg123 "$i"; done # Az aktuális könyvtárban az összes mp3 kiterjesztésű állományt, az mpg123 # nevű programmal lejátszuk.
< /dev/urandom tr -dc A-Za-z0-9_ | head -c8 # 8 karakteres random jelszó generátor
for i in $(ls); do cat $i >> 123.txt; done # aktuális könyvtárban található file-ok 123.txt file-ba összefűzése.
host -t mx mydomain.com nslookup -q=mx mydomain.com dig -t mx mydomain.com # MX record check-re használható parancsok
net rpc shutdown -I IP -U DOMAIN/user # shell-ből Windows klienst állíthatunk le távolról. (ha tudjuk a local admin jelszavát..)
net rpc shutdown -I IP -U DOMAIN/user -f -t 60 # Előbbi parancs, időzítve 60sec-re.
echo tartalom | mailsend -to sendto@domain.dom -from from@domain.dom -starttls -port 587 -auth -smtp STMP.server.address -sub targy +cc +bc -v -user Username -pass Password # 587-es porton (TLS) levélküldés. A fenti változók jelentései: # # tartalom : az levél tartalma # sendto@domain.dom : címzett # from@domain.dom : feladó # SMTP.server.address : milyen SMTP-n keresztül # targy : az üzenet tárgya # user/pass : SMTP user neve, jelszava. Egyéb programokabook # Address book.
antiword # Microsoft .DOC nézegető
amsn # MSN kliens (GUI)
acpi # ACPI eszközök információi
acpid # acpi program démonja
audacious # xmms utód, grafikus felületre mp3 lejátszó program
bitchx # IRC kliens (TUI) -volt-
badblocks # Lemez ellenőrző (Bad sectorokat keres) -o file_nev : a hibás sectorokat a file_nev állományba menti cal # Szöveges naptár -y : az aktuális év teljes naptárát mutatja meg
clamav # víruskereső szoftver
clear # Törli a képernyőt
dict # Szótár program opendict dict-freedict-hun-eng : magyar-angol dict-freedict-eng-hun : angol-magyar
elinks # Konzolos böngésző.
false # Nem csinál semmit, sikertelenül. (1-es visszatérési értékkel)
finch # Konzolos Instant messenger, pidgin, ..
firestarter # Tűzfal konfiguráló
fsck # Filesystem check. # Lemez-ellenőrző (helytelen leállítás után autómatikusan lefut.) # A helyre nem hozott állományokat a lost+found könyvtárba teszi.
fwbuilder # Tűzfal beállító
gaim # MSN, irc, etc, kliens gpg -c file # Fájl titkosítása (OpenPGP)
gpg file # Fájl kititkosítása
gparted # Lemez partícionáló
hdparm # Merevlemes információk -i /dev/hdx : Merevlemezünkről ad információt -Tt /dev/hdx : Sebességmérő eszköz
hddtemp /dev/hdx # Lemez hőmérséklet figyelő
irssi # IRC kliens program, konzolos felületre.
k3b # KDE alapú cd-dvd író program (GUI)
kopete # MSN kliens
lynx # Konzolos böngésző
mbmon # Motherboard monitoring
memtest86 # Memória tesztelő alkalmazás
mp3blaster # Konzolos mp3 lejátszó, tracklist support-al.
mplayer # Média lejátszó
mutt # Konzolos levelező kliens
qemu # Processzor emulátor
setterm # Konzol beállításai
tpconfig # Touchpad konfiguráló
tpctl # IBM ThinkPad hardver konfiguráló
true # Nem csinál semmit, sikeresen. (0-ás visszatérési értékkel)
thosutils # Toshiba laptop programok
reset # Visszaállítja a konzol beállításait
vlc # Média lejátszó
xchat # IRC kliens (GUI) xmms # Audió lejátszó program xmms-liveice # Audió kimenetet küldi a southcast-nek
xdpyinfo # X kiszolgáló információk yes > file # Csupa y-t ír a file-ba, elég gyorsan.
zgv # Konzolos képznézegető
RAID1 készítése élő rendszerenLinux software RAID 1 készítése, élő Debian/GNU Linux (Etch) rendszeren
Az alábbi leírást mindenki csak saját felelősségére használja! A folyamat elindítása előtt javasolt biztonsági mentést készíteni az adatokról, hiszen bármely elütés, figyelmetlenség következtében az adatok elveszhetnek!
RAID technológiáról bővebben.: ------------------------------ RAID WikipediaSoftware RAID Linux alattmdadm Wikipedia - eng /dev/sda - élő rendszerem lemeze /dev/sdb - a majdani RAID1 másik lába.
# Az én élő rendszerem partíciói.: (nálad ez valószínűleg egészen más) # A lemez/partíció elnevezéseket saját rendszeredhez kell igazítani. Csak megfontoltan. # # Eszököz csatolási pont file rendszer # ------- -------------- ------------- # /dev/sda1: /boot ext3 # /dev/sda2: swap # /dev/sda3: / ext3
# A procedúra végén (az én esetemben) ilyen felállást szeretnék elérni.: # # Eszököz csatolási pont file rendszer résztvevők # ------- -------------- ------------- ---------- # /dev/md0: /boot ext3 (/dev/sda1 és /dev/sdb1-ből) # /dev/md1: swap (/dev/sda2 és /dev/sdb2-ből) # /dev/md2: / ext3 (/dev/sda3 és /dev/sdb3-ból)
apt-get install initramfs-tools mdadm # Két szükséges csomag telepítése, mdadm kérdésénél érdemes ALL-t választani.
modprobe md modprobe linear modprobe multipath modprobe raid0 modprobe raid1 modprobe raid5 modprobe raid10 # Töltsük be az összes modult.
sfdisk -d /dev/sda | sfdisk /dev/sdb # /dev/sda lemezünk partíciós tábláját /dev/sdb lemezünkre másoljuk!
fdisk -l # Ellenőrizzük le, hogy valóban sikerült-e.
fdisk /dev/sdb # Készítsük el a file rendszereket a partíciókra. # A gombok lenyomásának sorrendje a következő.: m : manual t : partíció rendszer id változtatása 1 : első partíció L : listázás fd : Linux Raid Autodetect filerendszer (ezt be kell gépelni!) t : .. 2 : második partíció fd : .. t : .. 3 : harmadik partíció fd : .. w : kiírás.
# Ha már korábban próbálkoztunk RAID építésével a /dev/sdb lemezzel, az alábbi parancsokat adjuk ki.
mdadm --zero-superblock /dev/sdb1 mdadm --zero-superblock /dev/sdb2 mdadm --zero-superblock /dev/sdb3 # Error-al elszállhat a dolog, de ez nem ad okot aggodalomra.
# Most pedig hozzuk létre a "féllábú" (degraded) tömbünket a /dev/sdb lemezre. # Mivel a rendszer jelenleg a /dev/sda lemezről fut, egyelőre azt nem tudjuk a tömbhöz adni, csak utólag.
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2 mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3
cat /proc/mdstat # Ellenőrizzük le, hogy sikerült-e # [_U] jelzi hogy jelenleg fállábú a tömbünk (sdb)
mkfs.ext3 /dev/md0 mkswap /dev/md1 mkfs.ext3 /dev/md2 # Hozzuk létre a file rendszereket a tömbökre.
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig mdadm --examine --scan >> /etc/mdadm/mdadm.conf # Mentés készítése az mdadm.conf-ról # Az új "helyzet" elmentése az mdadm.conf-ba.
mkdir /mnt/md0 mkdir /mnt/md2 # md0, md2 mappák létrehozása, ahova majd felmountoljuk a tömböket.
mount /dev/md0 /mnt/md0 mount /dev/md2 /mnt/md2 # Mountoljunk!.
mount # Az utolsó sorokban leellenőrizhetjük, hogy sikerült-e a csatolás
cp /etc/fstab /etc/fstab-orig # fstab-ról backup készítése
mcedit /etc/fstab # Az fstab-ban cseréljük ki a következőket.: /dev/sda1 /dev/md0 -ra /dev/sda2 /dev/md1 -ra /dev/sda3 /dev/md2 -ra # Majd mentsünk rá a configra.
cp /etc/mtab /etc/mtab-orig # mtab-ról backup készítése
mcedit /etc/mtab # Az mtab-ban cseréljük ki a következőket.: /dev/sda1 /dev/md0 -ra /dev/sda3 /dev/md2 -ra # Majd mentsünk rá a configra. Figyelem!Amennyiben már Grub2-vel rendelkezünk, az alábbi linkről állítsuk be a bootloadert .: Link
Egyébiránt mehetünk tovább.
cp /boot/grub/menu.lst /boot/grub/menu.lst-orig # menu.lst mentése.
mcedit /boot/grub/menu.lst # Az alábbi változtatásokat állítsuk be.: [...] default 0 fallback 1 [...]
# A config végén készítsünk az első (title-savedefault közötti) részről egy új bekezdést. # valamint, a /dev/sda3 -at cseréljük /dev/md2 re # a root (hd0,0) -t (hd1,0)-ra. (Ha különbözőek a lemezeid elnevezése, itt is légy körültekintő!) # valahogy így.:
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.18-4-486 RAID (hd1) root (hd1,0) kernel /vmlinuz-2.6.18-4-486 root=/dev/md2 ro initrd /initrd.img-2.6.18-4-486 savedefault
update-initramfs -u # Ramdisk frissítése.
cp -dpRx / /mnt/md2 # Másoljuk a /dev/sda3 tartalmát /mnt/md2-re (Aminek egyelőre csak /dev/sdb3 része.)
cd /boot cp -dpRx . /mnt/md0 # Másoljuk a /dev/sda1 tartalmát /mnt/md0-ra (Aminek egyelőre csak /devb/sdb1 része.)
grub root (hd0,0) setup (hd0) root (hd1,0) setup (hd1) quit # Telepítsük a grub-ot a második lemezünkre. # A következő indításkor, ha minden sikeres volt, már a második HDD-ről indul a rendszerünk! # azaz neki állhatunk majd a /dev/sda lemez RAID-be állításához!
reboot # Restartoljunk.
df -h cat /proc/mdstat # Ellenőrizzük le ismét, hogy áll a tömbünk.
fdisk /dev/sda # hozzuk létre a Linux Raid Autodetect file rendszereket a partícióinkra az alábbi billentyűkkel.: t 1 fd , t 2 fd, t 3 fd , w
mdadm --add /dev/md0 /dev/sda1 mdadm --add /dev/md1 /dev/sda2 mdadm --add /dev/md2 /dev/sda3 # Adjuk hozzá a féllábú (sdb-n álló) tömbünkhöz a /dev/sda partícióit.
cat /proc/mdstat # Ellenőrizzük le, hogy szinkronizálódnak-e a lemezeink. # Ilyesmit kellene látnunk.: Personalities : [raid1] md2 : active raid1 sda3[2] sdb3[1] 4594496 blocks [2/1] [_U] [=====>...............] recovery = 29.7% # Várjuk meg míg befejezi az összes partíció szinkronizálását.
watch cat /proc/mdstat # 2 másodperces frissítéssel figyelemmel követhezjük a file tartalmát.
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig mdadm --examine --scan >> /etc/mdadm/mdadm.conf # Mentés készítése az mdadm.conf-ról # A legújabb "helyzet" elmentése az mdadm.conf-ba.
mcedit /boot/grub/menu.lst
# Másoljuk le a korábban létrehozott kernel stanza-t és cseréljük # a (hd1,0) -t hd(0,0) -ra. # Ez a te esetedben ismét más lehet!
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.18-4-486 RAID (hd0) root (hd0,0) kernel /vmlinuz-2.6.18-4-486 root=/dev/md2 ro initrd /initrd.img-2.6.18-4-486 savedefault # valamint szerkesszük az alábbi sort eszerint, majd mentsük a file-t.: [...] # kopt=root=/dev/md2 ro [...]
update-initramfs -u # Ramdisk frissítése
reboot
# ha mindent jól tettünk, a RAID1-ünk aktív, és használható. # Hamarosan: # # Elhasalt/elromlott HDD cseréje élő RAID1 alatt.Adatmentés sw. RAID1-et alkotó HDD-rőlElőfordulhat, hogy Linux alatt létrehozott sw. RAID1 kötetet alkotó HDD-t egy másik gépben szeretnénk menteni. Alábbi leírás ehhez a procedúrához nyújt segítséget. (a dev. elnevezések nálad egészen mások lehetnek!)
dmesg |grep Attached # Mi az újonnan behelyezett disk neve? # Pl.:
[ 2.628336] sd 1:0:0:0: [sdb] Attached SCSI disk [ 2.629248] sd 0:0:0:0: [sda] Attached SCSI disk [ 2.644424] sd 2:0:0:0: [sdc] Attached SCSI disk
fdisk -l /dev/sdc # Milyen file rendszerrel rendelkezik a /dev/sdc? # Valami ilyesmit kellene látnunk.:
Device Boot Start End Blocks Id System /dev/sdc1 1 243202 1953513472 fd Linux raid autodetect
mdadm --examine /dev/sdc1 # újabb ellenőrzés, a HDD sdc1 partícióját illetően. A RAID partícióra vonatkozik+
mkdir /mnt/raid1 # hozzunk létre egy csatolási pontot a RAID1-et alkotó HDD-nek.
mdadm -A -R /dev/md9 /dev/sdc1 # Hozzunk létre egy md9 nevű féllábú tömböt, melyet /dev/sdc1 alkot. # Amennyiben sikeres, ilyesmit kellene látnunk:
mdadm: /dev/md9 has been started with 1 drive (out of 2).
mount /dev/md9 /mnt/raid1 # csatoljuk a féllábú tömböt /mnt/raid1 mappába. # a HDD-n található adatokat mostantól el tudjuk érni.Ha már nincs rá szükség.:umount /dev/md9 # a tömb lecsatolása a file-rendszerből.
mdadm -S /dev/md9 # Az ideiglenes RAID tömb leállítása.Ha a RAID1-et alkotó HDD-t szeretnék visszahelyezni eredeti helyére a RAID tömbbe.:(dev és md elnevezésekre ügyeljünk!)
mdadm -a /dev/md0 /dev/sdb1 # md0 tömbhöz adjuk hozzá a /dev/sdb1 partíciót # Ha sikeres volt:
mdadm: re-added /dev/sdb1
cat /proc/mdstat # ellenőrizzük a tömb állapotát. # Kimenet:
Personalities : [raid1] md0 : active raid1 sdb1[0] sdc1[1] 1953512312 blocks super 1.2 [2/1] [_U] [=======>.............] recovery = 36.9% (721315776/1953512312) finish=154.1min speed=133211K/sec
# A fenti kivastagított sor jelzi, hogy egyelőre még féllábú (degraded) a tömbünk. # Ha a sync lefutott, [UU]-t kell kapnunk. Local repository készítése apt-mirror segítségével A cél.: Egy saját repository készítése a lokális hálózaton figyelő gépek számára (http-n), a hálózati forgalom csökkentése érdekében. (magyarul a teljes tartalmat (~70Gb.) letöltjük egyszer, a későbbiekben pedig csak frissítenünk kell, ezt a /etc/cron.d/apt-mirror kikommentelésével érhetjük el.)
apt-get install apt-mirror apache2 # A majdani tároló-gépünkön kell telepítenünk. # Mivel http-n fogjuk elérni a repo.-t, ezért egy web server alkalmazást is telepítünk.
mcedit /etc/apt/mirror.list # Állítsuk át az alábbi címekre.: (innen fogja a "server" összeszedni az adatot)
deb http://ftp.hu.debian.org/debian squeeze main contrib non-free deb-src http://ftp.hu.debian.org/debian squeeze main contrib non-free deb http://security.debian.org/debian squeeze/updates main contrib non-free deb-src http://security.debian.org/debian squeeze/updates main contrib non-free
clean http://ftp.hu.debian.org/debian clean http://security.debian.org
------------------------------------------------ Az alábbi parancsot érdemes éjszakára ütemezni.: ------------------------------------------------
su - apt-mirror -c apt-mirror # Most pedig töltsük le a csomagokat, az alapértelmezésben beállított helyre (mirror.list ben van a config.) # Ha kész a letöltés, a /var/spool/apt-mirror/mirror/ftp.hu.debian.org/debian alatt ott lesznek a fájlok.
/bin/bash /var/spool/apt-mirror/var/clean.sh # Fölösleg pucolása
ln -s /var/spool/apt-mirror/mirror/ftp.hu.debian.org/debian /var/www/debian ln -s /var/spool/apt-mirror/mirror/security.debian.org/ /var/www/security # Két symlinket kell létrehoznunk, hogy a kliensek be tudják frissíteni csomaglistájukat
Majd a kliens oldalon a sources.list-et kell editálni.:
deb http://SZERVERUNK_CIME/debian squeeze main contrib non-free deb-src http://SZERVERUNK_CIME/debian squeeze main contrib non-free deb http://SZERVERUNK_CIME debian squeeze/updates main contrib non-free deb-src http://SZERVERUNK_CIME/debian squeeze/updates main contrib non-free apt-get update apt-get upgrade # Kliens oldali tesztelés.Távoli mappák felcsatolása SSHFS használatával Ezen leírás bemutatja távoli mappák biztonságos felcsatolásának módját a helyi fájlrendszerbe SSHFS (Secure Shell FileSystem) segítségével. A felcsatolás FUSE-on (Filesystem in Userspace) keresztül valósul meg.
apt-get install sshfs # A kliensre szükséges telepíteni az SSHFS csomagot, ahova felcsatolásra kerül a távoli mappa. # A szerverre természetesen szükséges SSH szervert is telepíteni.
lsmod |grep fuse # Kliens oldalon szükség lesz a fuse nevű kernel modulra is, szóval ellenőrizzük. Üres kimenet esetén nincs betöltődve!
apt-get install fuse-utils # Amennyiben a fenti modul hiányzik, a fuse-utils csomag telepítésével pótolni szükséges.
useradd sshbackup # A szerveren az sshbackup felhasználó létrehozása. Az ő nevében jelentkezünk be SSH-n keresztül a kliensről.
passwd sshbackup # Jelszó beállítása sshbackup felhasználónak.
gpasswd -a sshbackup dirgroup # A távoli mappához szükséges a távoli sshbackup usernek hozzáférnie. Ezt szerver oldalon tisztázni kell. # Egy példa.: # sshbackup user hozzáadása a dirgroup csoporthoz, melynek jogosultsága van (vagy lesz) a távoli mappához. # Ez természetesen kikerülhető, amennyiben a felcsatolandó mappa tulajdonosa már az sshbackup user.
sshfs -o idmap=user -p 22 sshbackup@192.168.1.1:/home/sshbackup /home/user/sshbackuplink
# sshbackup nevében felcsatoljuk a távoli szerver (192.168.1.1) /home/sshbackup mappáját, tcp22-es portot használva. # A csatolási pont a helyi fájlrendszerben /home/user/sshbackuplink mappa lesz.
mount # Bizonyosodjunk meg a kliensen a mount-olás sikerességéről. Valami ilyesmit kellene látnunk.:
sshbackup@192.168.1.1:/home/sshbackup on /home/user/sshbackuplink type fuse.sshfs (rw,nosuid,nodev,max_read=65536)
df --si # Megbizonyosodás2
sshbackup@192.168.1.1:/home/sshbackup ...
fusermount -u /home/user/sshbackuplink # Lecsatolás Forrás: http://www.letix.hu/#top _________________ Fórumi aktivitásom véget ért: 2017.09.07. Innentől esetleg steamen vagyok elérhető.
|
|