changing default text editor

In ubuntu, editorul de text implicit este nano. E cel mai usor de utilizat pentru utilizatorii incepatori, dar cu timpul incepi sa inveti si feature-urile mai avansate pe care le ofera si alte editoare de text. De aceea apare si dorinta uneori de a modifica editorul text implicit. mc foloseste editorul text implicit pentru a edita fisierele cu F4, la fel si crontab.

Astfel se poate modifica editorul implicit:

sudo update-alternatives --config editor

unde se afiseaza:

There are 5 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /bin/nano                40        auto mode
  1            /bin/ed                 -100       manual mode
  2            /bin/nano                40        manual mode
  3            /usr/bin/mcedit-debian   25        manual mode
  4            /usr/bin/vim.basic       30        manual mode
  5            /usr/bin/vim.tiny        10        manual mode

Press enter to keep the current choice[*], or type selection number: _

si se alege numarul editorului care se vrea a folosi. Eu am ales 4 :) .

atat

how to check the exit status code

Atunci cand un program isi termina executia, el returneaza un cod de eroare. Acest cod nu este afisat la monitor implicit. Pentru a prelucra informatia din acest cod este necesar a se vedea continutul variabilei “$?“.

Sa presupunem ca se cauta un string intr-un fisier text:

$ grep mama family.txt
$

Deviceul standart de output nu va returna nimic, ceea ce ar insemna ca acel string nu poate fi gasit in fisier. Ce se intimpla atunci cand se pune aceasta comanda intr-un script? Acest caz ar trebui tratat diferit.

Verificarea codului de eroare se face astfel:

$ grep mama family.txt
$ echo $?
1

A se nota faptul ca codul 0 reprezinta o rulare terminata cu succes, iar diferit de 0 inseamna aparitia unei erori.
Pentru a verifica acest cod intr-un script, se poate face astfel :

1 grep mama2 family.txt
2 if [ $? -eq 0 ]; then
3     echo "success"
4 else
5     echo "fail"
6 fi

atat

svn server with SVNListParentPath = On

La un moment dat, dupa ce am setat serverul de svn, mi-am zis eu asa ca… ar fi bine ca eu sa pot vedea lista tuturor repository-uri care exista pe server ca sa imi fac si eu o idee generala despre server.

Si, am intrat in fisierul /etc/apache2/mods-available/dav_svn.conf si am setat SVNListParentPath pe On. In final, fisierul arata astfel :

<Location /svn>
DAV svn
SVNParentPath /var/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>

Dupa aceste modificari… multe teste… am observat ca serverul nu se comporta asa cum as fi vrut eu. Problema aparea la vizualizarea directoriul parinte unde se afla toate repository-urile. Intr-un final problema am rezolvat-o modificand in fisierul dav_svn.conf urmatoarea linie :

 <Location /svn/>

Continue reading svn server with SVNListParentPath = On

howto secure svn server

Acest post vine in continuarea post-ului de instalare a unui server de svn. Voi face serverul de svn sa permita lucrul cu userii. Sa presupunem ca avem mai multe proiecte ( respectiv pentru fiecare proiect cate un repository aparte ) si in fiecare proiect lucreaza doar anumite persoane care va trebui sa aiba acces la acele proiecte.

Acum avem 2 proiecte : projectx si projecty :

root@srv1:~# cd /var/svn/
root@srv1:/var/svn# ls
root@srv1:/var/svn# svnadmin create projectx
root@srv1:/var/svn# svnadmin create projecty
root@srv1:/var/svn# ls -lah
total 16K
drwxr-xr-x  4 root root 4.0K 2010-02-07 17:20 .
drwxr-xr-x 16 root root 4.0K 2010-02-06 18:10 ..
drwxr-xr-x  6 root root 4.0K 2010-02-07 17:20 projectx
drwxr-xr-x  6 root root 4.0K 2010-02-07 17:20 projecty
root@srv1:/var/svn# chown -R www-data:www-data *
root@srv1:/var/svn# ls -lah
total 16K
drwxr-xr-x  4 root     root     4.0K 2010-02-07 17:20 .
drwxr-xr-x 16 root     root     4.0K 2010-02-06 18:10 ..
drwxr-xr-x  6 www-data www-data 4.0K 2010-02-07 17:20 projectx
drwxr-xr-x  6 www-data www-data 4.0K 2010-02-07 17:20 projecty

Trebuie sa facem nishte modificari ale serverului apache astfel ca sa permita accesul la toate proiectele ( repository-uri ) create.

Continue reading howto secure svn server

howto install svn server

Cazul practic se face pe o masina de ubuntu 9.04 server. Acces la serverul svn va fi prin http.

1. Pentru inceput instalam SVN si modulul de interconectare apache-svn.

root@srv1:~# apt-get install subversion libapache2-svn

2. Creez un folder unde vor fi toate proiectele de svn :

root@srv1:~# cd /var
root@srv1:/var# mkdir svn

3. Acum trebuie sa creem un repository de subversion (SVN) pentru proiectu projectx:

root@srv1:/var/svn# svnadmin create projectx

4. Modificam fisierul de configurare a modulului de webdav a svn-ului:

root@srv1:/var/svn# vi /etc/apache2/mods-enabled/dav_svn.conf

5. In fisierul de configurare, tagul Location specifica adresa de unde va putea fi accesat svn ca adresa de URL, ex : http://www.myserver.com/projectx

<Location /projectx>

Continue reading howto install svn server

[linux] howto find ubuntu or kernel version

command :

cat /etc/issue

output:

Ubuntu 9.04 \n \l

command:

cat /etc/lsb-release

output:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

Pentru a afla versiunea kernelului, precum si alte cateva informatii aditionale, se foloseste comanda uname.

  • uname -a : printeaza toate informatiile
  • uname -r : printeaza versiunea de release a kernelului
  • uname -v : printeaza versiunea kernelului
  • uname -o : printeaza numele sistemului de operare.

Exemplu:

root@srv1:~# uname -a
Linux srv1 2.6.28-17-server #58-Ubuntu SMP Tue Dec 1 19:58:28 UTC 2009 i686 GNU/Linux
root@srv1:~# uname -r
2.6.28-17-server
root@srv1:~# uname -v
#58-Ubuntu SMP Tue Dec 1 19:58:28 UTC 2009
root@srv1:~# uname -o
GNU/Linux

end.