ArLUG (grupul utilizatorilor de Linux din Arad), este o comunitate de oameni, care împărtașesc pasiunea pentru sistemul de operare GNU/Linux și software-ul liber.
Scopurile ArLUG sunt:
* promovarea sistemului de operare Linux și a software-ului liber
* formarea/menținerea/dezvoltarea unei comunități locale
* educarea și instruirea oamenilor (ne)familiarizați cu acest sistem
La invitația lui Seba voi publica și aici articolul scris și pe blogul unui om leneș. Ideea de a scrie un astfel de tutorial a pornit de la faptul că, acum 3 ani, în urma citirii acestui articol pe pagina BBC, mai ales a părții că poți instala Ubuntu direct prin Windows, m-am gândit să încerc și eu. Dar bineînțeles că erau bug-uri. De exemplu, la o conexiune de tip PPPOE atunci nu-ți arăta că ești conectat, dar puteai folosi conexiunea la net. Vorbim de versiunea Ubuntu 8.04 LTS (Hardy Heron) de la vremea respectivă. Informații nu prea erau, soluții parțiale de rezolvare găseai pe tot felul de forumuri și la vremea respectivă m-aș fi bucurat să găsesc un astfel de tutorial. De atunci s-au schimbat multe în bine și mă bucur că am fost martor la toate aceste schimbări.
Să revenim, așadar. Cum configurăm conexiunea de tip PPPOE pe Ubuntu?
În partea din dre
apta sus a desktopului aveți bara cu ceasul, numele de utilizator și butonul de ieșire din sesiune. Tot acolo mai aveți și pictograma managerului de conexiuni (2 săgeți, una spre sus, una spre jos, la fel ca semnul de circulație „drum în ambele sensuri”. Uneori e ca un evantai de linii paralele și are un mic semn de exclamație pe ea).
La fel ca și la windows, la instalarea sistemului, acesta recunoaște placa de rețea și instalează driverele necesare (la windows în 99% din situații trebuie să introduci tu cd-ul cu driverele plăcii de rețea, Ubuntu recunoaște singur chipul de pe placa de bază sau placa de rețea) și creează o conexiune gen „Auto eth0”. Să zicem ca aceea e ca și cum ai avea în control panel la windows iconița cu Local Area Network. Pentru cei care sunt pe PPPOE nu-i prea ajută cu nimic. Ca să începem configurarea trebuie creată conexiunea de tip PPPOE. Click dreapta pe pictograma indicată mai devreme, apare un meniu, alegem „Editare conexiuni” (edit connections pentru cei care au sistemul în engleză).
Apare apoi o altă fereastră cu mai multe file deasupra: cu fir, fără fir, internet mobil de bandă largă, VPN și DSL. Noi va trebui să dnm clic pe DSL. Și apoi pe „Adaugă”.
În etapa următoare, în primul câmp se poate scrie numele rețelei (acolo puteți scrie ce doriți: Moș Crăciun, Scufița Roșie, Harap-Alb, internet, net, PPPOE), apoi chiar mai jos va trebui clicuit pe conectează automat, dacă se dorește conectarea automată a conexiunii la pornirea sistemului. Apoi din nou sunt niște file sau taburi (cu fir, opțiuni IPv4, DSL, configurări PPP) din care pe noi ne interesează doar fila pe care scrie DSL. Acolo dăm clic și în primul câmp introducem userul și în al treilea câmp parola. Dacă vrem să ne asigurăm că am scris bine parola se poate bifa opțiunea imediat mai jos și vom vedea parola. În final, avem opțiunea de a face conexiunea disponibilă tuturor utilizatorilor, bifând căsuța din stânga jos și în final clic pe „salvează…”. Sistemul va cere parola utilizatorului, și gata, se va conecta după câteva secunde și pe ecran, în colțul din dreapta sus, va apărea o notificare, semn că tot ce am făcut e OK. Nu mai rămâne decât să vă bucurați de libertatea de a utiliza un sistem gratuit, mult mai stabil, fără viruși și alte bazaconii… Succes. Asta în cazul în care și furnizorul de internet e OK cu rețeaua lui și nu sunt probleme de partea lui. Altfel nu-ți rămâne decât să mergi să-i pui o lumânare la biserică, poate, poate își revine…
Probabil că aţi avut nevoie la un moment dat să copiaţi fişiere de pe un calculator pe altulş server pe altul, sau de pe staţia de lucru pe server – indiferet care dintre variante în mod nomral ar trebuii sa parcurgeţti urmatorii unul din paşi:
Există o posibiliate mai simplă si e “build in” în prodoculul de ssh si se numeşte scp (secure file copy).
Şi să trecem la treaba cum putem să o folosim. Foarte simplu ţinând cont că există pe ambele maşini la care avem acces.
$ scp utilizator@masinaladistanta.ro:foo.txt /ceva/director/local
$ scp foo.txt utilizator@masinaladistanta.ro:/ceva/director/la-distanta
$ scp -r foo utilizator@masinaladistanta.ro:/ceva/director/la-distanta/bar
$ scp utilizator@masina1.ro:/ceva/director/la-distanta/foo.txt \
utilizator@masina2.ro:/ceva/director/la-distanta
$ scp foo.txt bar.txt utilizator@masinaladistanta.ro:~
$ scp utilizator@masinaladistanta.ro:/ceva/director/la-distanta\{a,b,c\} .
$ scp utilizator@masinaladistanta.ro:~/\{foo.txt,bar.txt\} .
Câteva opţiuni importante:
# find . -type f ! -perm -444 # Găseşte fişierele fara drept de citire de all
# find . -type d ! -perm -111 # Găsesşte directoare ne accesibile de all
# find /home/user/ -cmin 10 -print # Fişierele create sau modificate în ultimele 10 minute
# find . -name ‘*.[ch]‘ | xargs grep -E ‘expr’ # Caută ‘expr’ în director şi mai jos
# find / -name “*.core” | xargs rm # Găsesşte core dumps şi ştergele
# find / -name “*.core” -print -exec rm {} \; # idem mai sus
# find . \( -iname “*.png” -o -iname “*.jpg” \) -print -exec tar -rf images.tar {} \; # Găseşte imagini şi crează arhive, iname nu e case sensitive.
# find . -type f -name “*.txt” ! -name README.txt -print # Exclude README.txt
# find /var/ -size +10M -exec ls -lh {} \; # Găsesşte fişiere mai mari de 10MB
# find /var/ -size +10M -ls # mai simplu
# find . -size +10M -size -50M -print
# find / -type f -user root -perm -4000 -exec ls -l {} \; # Găsesşte fişierele SUID, fişiere vulnerabile care trebuie securizate
Grijă maxima cu xarg sau exec deoarece pot să returneze rezultate aiurea dacă fişierele sau directoarele conţin spaţii. Dacă ai îndoieli, foloseşte “-print0 | xargs -0” în loc de “| xargs“.
Opţiunea -print0 trebuie să fie ultima din comandă. Studiază şi mini tutorialul pentru find de aici http://www.hccfl.edu/pollock/Unix/FindCmd.htm.
# find . -type f | xargs ls -l # NU VA FUNCŢIONA CU SPAŢII ÎN NUME
# find . -type f -print0 | xargs -0 ls -l # NU VA FUNCŢIONA CU SPAŢII ÎN NUME
# find . -type f -exec ls -l ‘{}’ \; # Foloseşte ‘{}’ cu -exec
surse de inspiraţie: www.google.com şi man find
Avand nevoie zilele astea de un generator de parole pentru niste mysql-uri mi-am pus problema daca nu pot sa fac asta din ceea ce-mi ofera linuxul (nu vroeam sa folosesc perl sau alte limbaje). Asa ca am recurs la un goole search pentru a vedea cum pot crea un generator din bash. Astfel dupa ceva documentatie, unde am gasit diferite forme de “programare” m-am folosit de /dev/urandom si de tr (translate), parsand informatia de /dev/urandom catre tr care face selectia dupa formula: a-zA-Z0-9.
Fara prea multe comentarii iata sciptul rezultat:
#!/bin/bash
#Super simple password generator
#silviu.silaghi@gmail.com
if [ "$#" != 1 ]; then
echo ""
echo "Usage:"
echo "$0 [number of characters]"
echo ""
echo "Example:"
echo "$0 12"
#
else
tr -dc A-Za-z0-9 < /dev/urandom | head -c $1 | xargs
fi
Odata cu lansarea browserului web Chrome pentru platforma Linux, Google pune la dispozitie si un repository care poate fi folosit pentru a instala si/sau actualiza diferitele aplicatii Google cu ajutorul utilitarului yum.
Pentru a include acest repository pe un calculator cu Fedora, trebuie definit un fisier .repo astfel:
#cat /etc/yum.repos.d/google.repo
[google]
name=Google repo
baseurl=http://dl.google.com/linux/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
Odata definit fisierul .repo instalarea browserului web Chrome se face foarte simplu prin intermediul yum astfel:
[root@Fedora-Machine1 ~]# yum install google-chrome-beta
Loaded plugins: refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package google-chrome-beta.i386 0:4.0.249.43-34537 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================
Package Arch Version Repository Size
==========================================================
Installing:
google-chrome-beta i386 4.0.249.43-34537 google 17 M
Transaction Summary
==========================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 17 M
Is this ok [y/N]: y
Downloading Packages:
google-chrome-beta-4.0.249.43-34537.i386.rpm | 17 MB 00:01 …
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 7fac5991
google/gpgkey | 3.4 kB 00:00 …
Importing GPG key 0x7FAC5991 “Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com>” from https://dl-ssl.google.com/linux/linux_signing_key.pub
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : google-chrome-beta-4.0.249.43-34537.i386 1/1
Installed:
google-chrome-beta.i386 0:4.0.249.43-34537
Complete!
[root@Fedora-Machine1 ~]#
Deoarece în ultima perioadă de timp foarte multe persoane cu care am discutat despre Linux și infrastructura IT au ridicat problema backup-ului pentru sistemele Linux/Unix, am făcut un tutorial care să demonstreze una din posibilele soluții oferite de Linux și Open Source în domeniul protecției datelor.
Tutorialul în format PDF se găsește aici.
Orice sugestii, completări sau comentarii constructive sunt binevenite.
Pentru ca in ultimul timp piata a fost invadata de laptopuri de mici dimensiuni si pentru ca Sandra este posesoarea unui laptop Gigabyte M912M, m-am pus pe cautat una bucata distributie Linux care sa se potriveasca perfect cu acesta. Nu m-am stresat prea tare pana am dat peste Ubuntu Netbook Remix si m-am decis sa-l instalez pe jucaria nevestei.
Pentru instalare ai nevoie de:
Pregatire:
Am descarcat imaginea de pe pagina ubuntu.com pe calculatorul meu pe care s-a nimerit sa fie un MS XP. Am descarcat win32 Disk Imager de aici, am incarcat imaginea de mai sus in program si am scris-o pe USB Stick.
Daca folosesti ubuntu poti instala usb-imagewriter folosind comanda:
I se întâmplă fiecăruia mai devreme sau mai târziu: o fracţiune de secundă după ce ai apăsat Enter realizezi greşeala, dar este deja prea târziu. Tocmai ai şters un fişier sau director valoros pentru care nu este rezervă (backup). Sau poate există o rezervă, dar e veche de o lună… şi, şocat, vezi ultima lună fugind prin faţa ochilor şi realizezi dureros ce trebuie să refaci …
Continue reading…
Imaginati-va urmatoarea situatie: aveti de compilat o aplicatie Linux/UNIX sau modul de kernel, care necesita prezenta surselor pe disc, sa spunem in /usr/src/kernels/kernel-2.6.21.i386/ sau altundeva. Dar, nu aveti spatiu indeajuns ca sa copiati sursele sau sa instalati pachetele kernel-devel sau linux-source (e vorba de Fedora/RedHat sau Debian/Ubuntu)… Suna familiar? credeti-ma cateodata se intimpla
Ca si solutie se poate monta un director de pe un PC aflat la distanta care contine sursle de kernel necesare. Se poate face prin mai multe protocoale: smb, ftp, etc. In acest articol vom monta un director aflat pe alt PC folosind protocolul ssh, care este cel mai popular de acces la distanta si securizat de accesare a sistemelor Linux prin retea.
Mai jos sunt prezentati pasii necesari pentru a realiza acest lucru. Avem nevoie de doua pakete: sshfs si fuse-utils.
a. Ubuntu/Debian:
sudo aptitude install fuse-utils sshfs
b. Fedora/Centos/RedHat:
yum install fuse-sshfs fuse fuse-libs
c. Alt Linux: descarcati si compilati sshfs/fuse din surse
2. Verificati daca modulul de kernel fuse este incarcat:
lsmod | grep fuse
Ar trebuii sa fie o linie care sa contine fuse in lista (daca nu e: modprobe fuse).
3. Montati sistemul de fisiere de la distanta: (doua comenzi)
mkdir -p /mnt/sshfs/
sshfs remote-user@remote-machine:/some/directory /mnt/sshfs
unde remote-user este utilizatorul autorizat sa se autentifice pe remote-machine prin ssh. Va cere parola, dupa care enter
4. Asta e tot
Una din lucrurile interesante ce pot fi făcute cu lsof este de a recupera fişiere care tocmai au fost şterse.
În linux un fişier este un pointer către un inode, care conţine informaţii despre fişier (permisiuni, deţinător, şi unde este conţinul său în realitate pe disc). Stergând fişierul se şterg defapt legăturile către inode, dar nu şi inode-ul – dacă un alt proces îl are deja deschis, nu poate fi dat spre scriere până procesul respectiv nu a terminat lucrul cu inode-ul respectiv.
Pentru a încerca asta, creaţi un fişier, salvaţil ca şi sample.txt apoi tastaţi less sample.txt. Acum deschideţi alt terminal, şi tastaţi rm sample.txt. Dacă încercaţi acum ls sample.txt veţi primii un mesaj de eroare, deoarece legăturile către fisier au fost şterse. Dar, less încă are o referinţă către fişier. Aşadar acum tastam:
# lsof | grep sample.txt less 24080 ramu 4r REG 8,2 14 3096673 .../sample.txt (deleted)
Coloanele importante sunt a doua, care ne dă PID-ul procesului care tine fişierul deschis (24080), şi a patra, care ne dă descriptor-ul fişierului (4). Acum, mergem în /proc, unde înca există o referinţă către inode, de unde se poate copia fişierul înapoi (adică recupera):
# ls -l /proc/24080/fd/4 lr-x------ 1 ramu users 64 2009-06-02 18:46 /proc/24080/fd/4 -> .../sample.txt (deleted) # cp /proc/24080/fd/4 sample.txt
Notă: A NU se folosii opţiunea -a cu cp, pentru că aceasta va copia numai legătura simbolică, mai degrabă decât conţinutul real al fişierului.
Acum, verificaţi fişierul si asiguraţi-vă că aveţi ceea ce credeţi că ati vrea, şi aţi terminat!
P.S. În mod evident, circumstantele nu pot fi întotdeauna astfel, asa că această abordare poate fi utilizată doar dacă un alt proces are fişierul deschis. In rest nu poteti să utilizaţi această metodă pentru a recupera un fisier.
Tradus de la LinuxJournal