a se kdo kej z linuxom ukvarja

Vse kar ne paše v ostale teme...
Odgovori
Uporabniški avatar
nebivedu
Moderator
Prispevki: 8738
Pridružen: 22. April 2006, 16:08
Kraj: Črnuče

a se kdo kej z linuxom ukvarja

Odgovor Avtor: nebivedu » 21. December 2011, 20:46

A je kdo stručko za linux? Rabim par skript za napisat.
Error Code #0656: “Oil pan gasket too tight. Unable to leak oil and mark territory.”

Uporabniški avatar
klemz
Član Subaru kluba
Prispevki: 5385
Pridružen: 29. Januar 2007, 18:37
Kraj: Čeče - Hrastnik

Odgovor Avtor: klemz » 23. December 2011, 20:07

Google je največji stručko, jst sm pa uporabnik free zadev.

Uporabniški avatar
lupastro
Uporabnik foruma
Prispevki: 346
Pridružen: 31. Avgust 2008, 18:57
Kraj: Suhorje, brkini

Odgovor Avtor: lupastro » 24. December 2011, 11:26

se strinjam s klemzom, drugače pa imaš lahko kar nekaj podpore s strani uporabnikov ubuntu.si foruma ;)

Uporabniški avatar
nebivedu
Moderator
Prispevki: 8738
Pridružen: 22. April 2006, 16:08
Kraj: Črnuče

Odgovor Avtor: nebivedu » 24. December 2011, 11:50

Za take skripte kot jih jaz rabim, si z ubuntu forumom nimam kaj pomagat ,a goglu pa tudi ni ravno veliko o tem napisano.

Gre pa za LVM particioniranje diskov + raid polje + raid polje. In ukaze vse poznam, treba pa je narest skripto, kjer po vrsti vse te ukaze izvede.

Narest moram 6 diskov v virtualizaciji. Prvi disk je 20Gb, ostali so po 2Gb (5x). Potem pa s skripto narest tole:
Diske postavit v mirror (po 2 in 2 diska skupaj) in potem posamezen mirror še v stripping z drugim, peti disk pa je machine hot varianta - torej je stalno prižgan in je za nadomestitev, če kateri od teh prvih štirih crkne.
Error Code #0656: “Oil pan gasket too tight. Unable to leak oil and mark territory.”

Uporabniški avatar
vrecha
Uporabnik foruma
Prispevki: 1403
Pridružen: 09. Januar 2008, 22:48
Kraj: Ausard, WS
Kontakt:

Odgovor Avtor: vrecha » 24. December 2011, 14:50

... ukaze vse poznam, treba pa je narest skripto, kjer po vrsti vse te ukaze izvede.
Tu nekaj ne štima, sumim, da tale zgornji stavek ni čisto resničen.
Ker kolikor je meni jasno, ti nimaš dveh levih rok kar se googlanja tiče. In google brezskrbi da v trenutku najde vse, kar se GNU/Linux skriptanja tiče.

Namig:

Koda: Izberi vse

#!/bin/sh

v prvi vrstici skripte je vse, kar rabiš, če tvoja zgoraj citirana izjava drži. :roll:

S povprečnim luserjem (Linux USERjem, za neposvečene), njegovim znanjem in nasveti na Ubuntu forumu in na podobnih straneh pa si res lahko bore malo pomagaš, tu se popolnoma strinjam s teboj.
I'm just a soul who's intentions are good, oh Lord, please don't let me be misunderstood ...

Uporabniški avatar
nebivedu
Moderator
Prispevki: 8738
Pridružen: 22. April 2006, 16:08
Kraj: Črnuče

Odgovor Avtor: nebivedu » 25. December 2011, 00:05

vrecha napisal/-a:
... ukaze vse poznam, treba pa je narest skripto, kjer po vrsti vse te ukaze izvede.
Tu nekaj ne štima, sumim, da tale zgornji stavek ni čisto resničen.
Ker kolikor je meni jasno, ti nimaš dveh levih rok kar se googlanja tiče. In google brezskrbi da v trenutku najde vse, kar se GNU/Linux skriptanja tiče.

Namig:

Koda: Izberi vse

#!/bin/sh

v prvi vrstici skripte je vse, kar rabiš, če tvoja zgoraj citirana izjava drži. :roll:

S povprečnim luserjem (Linux USERjem, za neposvečene), njegovim znanjem in nasveti na Ubuntu forumu in na podobnih straneh pa si res lahko bore malo pomagaš, tu se popolnoma strinjam s teboj.
Ukaze poznam in ukaz sam mi ni problem izvest. Problem mi je pa narest skripto z ukazi, ki se mora izvajat nad interaktivnim programom - torej ko moraš enter pritisnit v samem programu, da zaključiš nekaj kar si naredil in to v skripti narediš z tem ukazom. Če pa recimo 3x narediš \n (enter), se pa skripta prekine, kar pa ni prav. In take zadeve moram rešit.

Evo recimo primer:

Koda: Izberi vse

#!/bin/sh
$ echo -e "n\np\n1\n\n+50M\nn\np\n2\n\n+100M\nn\ne\n4\n \n\nn\nl\n \n\nw\n" | sudo fdisk /dev/sde

Še prevod tega: - z programom fdisk ustvarimo MBR particijsko tabelo na /dev/sde tako, da bodo na njem 2 primarni particiji (1: 50MB, 2: 100MB) ter razširjena particija z 1 logičnim pogonom. Ker je fdisk interaktiven program, si lahko v skripti pomagam, da ustrezne vnose s konzole "prednaložim".

In to moram jaz narest. Problem je pa v tem, da moram narest brez fdiska, ki je uporaben samo do 2Gb velikosti particij in je treba urediti z LVM - torej particioniranje nad 2Gb velikosti particij in z ukazom "parted", ki pa je meni totalno neznan.

Predvidevam, da tega tukaj gor ne bom izvedel kako bi to naredil.
Error Code #0656: “Oil pan gasket too tight. Unable to leak oil and mark territory.”

Uporabniški avatar
DaviiD
Član Subaru kluba
Prispevki: 244
Pridružen: 20. Januar 2007, 01:11

Odgovor Avtor: DaviiD » 25. December 2011, 02:58

Od kod ti ideja, da fdisk podpira samo do 2GB? Najbrz si mislil 2TB, ki pa ni omejitev fdiska, ampak DOS particijske tabele. Torej, ce zelis particijo vecjo od 2 TB mores uporabit GPT particijsko tabelo, pri cemer pa mores pazit:
1.) Orodje za particioniranje ni vec fdisk, ki zna samo DOS label, ampak parted ali pa recimo gdisk.
2.) Pri DOS particijski tabeli je bil za MBRjem se prostor, kamor si je grub ali drugi bootloader shranil stage2 loader. Pri GPT labeli tega ni, tako da mores pazit, da v startu naredis ali eno manjso particijo (dovolj je par mega), ali pa pustis plac fraj in particijo zacnes malo kasneje

Drugace pa ne vem v cem ti je problem, ker parted sprejema ukaze ali:
a.) iz command line-a, torej parted /dev/sdX mkpart primary zacetek konec
b.) vse te komande zapises v recimo p.script, pa potem pozenes parted --script p.script, in bo izvedel vse to kar je v fajlu.

Ce pa bi rabil interakcijo s kaksnim programom, ki ne zna delat preko parametrov pa lahko uporabis expect skript (man expect).

Uporabniški avatar
nebivedu
Moderator
Prispevki: 8738
Pridružen: 22. April 2006, 16:08
Kraj: Črnuče

Odgovor Avtor: nebivedu » 25. December 2011, 16:02

Ja, moja napaka ni 2Gb ampak 2TB, še vedno pa je omejitev 32 bitni sistem - fdisk na 64 bitnem ne deluje v povezavi z GPT particijami (64 bitno naslavlanje).

Ok, torej lahko jaz samo odprem eno skripto (test.sh) in vanjo recimo zapišem zaporedno tele ukaze?

Koda: Izberi vse

#!/bin/sh 
$ sudo parted -s /dev/sdf mklabel gpt  # ustvarim GPT disk
$ sudo parted -s /dev/sdf mkpart primary 0M 100M   #  prva particija med 0 in 100MB
$ sudo parted -s /dev/sdf mkpart primary 100M 300M # druga particija med 100 in 300MB
$ sudo parted -s /dev/sdf mkpart primary 300M 2G # tretja particija med 300MB in  2GB
$ sudo parted -s /dev/sdf print #izpišem vse particije
Error Code #0656: “Oil pan gasket too tight. Unable to leak oil and mark territory.”

Uporabniški avatar
DaviiD
Član Subaru kluba
Prispevki: 244
Pridružen: 20. Januar 2007, 01:11

Odgovor Avtor: DaviiD » 25. December 2011, 19:40

Lahko tako, lahko pa se bolje naredis skripto naprimer parted.script in vanjo zapises:

Koda: Izberi vse

mklabel gpt  # ustvarim GPT disk
mkpart primary 0M 100M
mkpart primary 100M 300M
mkpart primary 300M 2G
print
Potem pa v tisto pravo skripto napises:

Koda: Izberi vse

#!/bin/sh
$ sudo parted /dev/sdf --script parted.script
Ce pa delas po svojem nacinu pa tudi lahko, ampak brez -s flaga.

Druga stvar je pa ta, da pazi ce imas skucajno disk, ki ima 4KB sektorje, predstavlja pa, da ima 512B. V tem primeru parted tega ne bo zaznal (ker mu disk ne javi) in ne bo poravnal particij prav za 4KB sektorje. V tem primeru bo sicer vse delalo, ampak nenormalno pocasi. Gre pa za razne WD Green diske, ... Pac samo vzami na znanje, da ce te bo kaj zezalo je to najbrz to...

[/code]

Uporabniški avatar
DaviiD
Član Subaru kluba
Prispevki: 244
Pridružen: 20. Januar 2007, 01:11

Odgovor Avtor: DaviiD » 25. December 2011, 19:41

Pa fajn je, ce pri skripri preverjas tudi exit status vsakega programa, da ne bos recimo, ce ti parted nekaj crkne (ne bo dovolj velik disk recimo), da ne gres potem LVMja delat. Kako se to naredi pa pogooglaj malo, ker ne vem napamet...

Uporabniški avatar
nebivedu
Moderator
Prispevki: 8738
Pridružen: 22. April 2006, 16:08
Kraj: Črnuče

Odgovor Avtor: nebivedu » 25. December 2011, 20:10

Diski so virtualni in imajo vsi 4k bloke, tako da to ne bo problem, bom pa vseeno okol vsakega ukaza dal if za preverjanje kode.

Hvala.
Error Code #0656: “Oil pan gasket too tight. Unable to leak oil and mark territory.”

Uporabniški avatar
vrecha
Uporabnik foruma
Prispevki: 1403
Pridružen: 09. Januar 2008, 22:48
Kraj: Ausard, WS
Kontakt:

Odgovor Avtor: vrecha » 25. December 2011, 22:16

Še bolj v duhu skriptanja in bolj berljivo je, če namesto if stavkov za reakcijo na neuspel ukaz uporabiš ||. Npr:

Koda: Izberi vse

 cat /etc/shadow || echo "Ne dovolijo ... "
;-)

Presneto koristno. Bom ob tej temi obnovil kakšno pozabljeno zadevo.
I'm just a soul who's intentions are good, oh Lord, please don't let me be misunderstood ...

Odgovori

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 0 gostov