virtuaalipalvelin

Tulosta PDF

Sisällysluettelo

[piilota]

Perussysteemin asentaminen

Peruskäyttöjärjestelmänä toimii Debian Lenny, johon on asennettu KVM-virtualisointi ja open-iscsi verkkolevyjä varten. Lisäksi pääpalvelimella toimii bacula-varmuuskopiointijärjestelmä. Roottipartitio tehtiin “perinteisesti”. Muut partitiot on tehty LVM:llä.

 

Verkkoasetusket

Verkon asetukset löytyvät palvelimelta

/etc/network/interfaces

hakemistosta. Turvallisuussyistä jätetään laittamatta tähän.

Open-iSCSI

Asennettu open-iscsi ja käytetään debiania open-iscsi initiaattorina.

Mountataan Promisen ja HP:n levyt:

iscsiadm -m discovery -t sendtargets -p <targetin ip>
iscsiadm --mode node --targetname <targetin nimi> --portal <targetin ip:3260> --login

Tarkat nimet ja ip:t jätetään pois turvallisuussyistä. iscsi asetukset löytyvät palvelimen hakemistosta:

/etc/iscsi

iSCSCI-asetuksia voi tarkastella myös vaikkapa komennolla:

iscsiadm -m node -o show

ja iSCSI-automaattisen tunnistuksen boottauksen yhteydessä saa päälle:

iscsiadm -m node -o update -n node.startup -v automatic

LVM

Käytännössä nas-levyt on partitioitu yhteen volumegrouppiin, jota virtuaalit ja backup systeemi käyttävät. Levyt olisi voitu mountata järkevämminkin… mutta niiden asentamiseen “paloissa” on historialliset syyt.

LVM asennuksen näkee palvelimelta:

Fyysisten levyjen tiedot:

pvdisplay

Volume grouppien tiedot:

vgdisplay

Loogiset volumet:

lvdisplay

Huom! Debian Lennyssä on bugi/ominaisuus, joka vaikuttaa LVM mounttaukseen. LVM yritetään mountata ennen kuin iSCSI-verkko on pystyssä -> fail. Tämän johdosta mountataan uudestaan rc.local skriptissä:

vgchange -aly && mount -a

KVM

Päädyttiin käyttämään KVM-virtualisointia, joka toimii mainiosti.

Uusien virtuaalien asentamiseksi käytetään virt-inst komentoa. Esimerkki Debianin asennuksesta:

virt-install --connect qemu:///system -n nettiareenatesti -r 512 --vcpus=2 -f /vserver/images/nettiareenatesti.qcow2 -s 12 -c /vserver/isoimages/debian-503-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm

ja WinXP:

virt-install --connect qemu:///system -n xptesti -r 512 --vcpus=2 -f /vserver/images/xptesti.qcow2 -s 12 -c /vserver/isoimages/winxp.iso --vnc --noautoconsole --os-type windows --os-variant winxp --accelerate --network=bridge:br0 --hvm

Windows Server 2008 lvm kiintolevypartitiolla (100Gb juurihakemisto, 1GB ram):

virt-install --connect qemu:///system -n w08pelitalo -r 1024 --vcpus=2 -f /dev/dm-0 -c /vserver/isoimages/win2008.iso --vnc --noautoconsole --os-type windows --accelerate --network=bridge:br0 --hvm

Virtuaalipalvelimet sijaitsevat tällä hetkellä virtuaalihappi-palvelimen hakemistossa:

/vserver

isoimaget hakemistossa:

/vserver/isoimages

ja virtuaali-imaget:

/vserver/images

Varmuuskopiojärjestelmä

Varmuuskopiojärjestelmän kuvaus.

Muuta

Multipath iSCSI verkkoon

http://anothersysadmin.wordpress.com/2008/11/17/howto-debian-and-scsi-multipathing-with-multipath-tools

http://blog.loftninjas.org/2008/05/28/dm_multipath-and-open-iscsi-on-debian-etch/

 

Virtio ajuri KVM-Guestille

Linuxille homma on helppoa… Ohjeet tästä.

 

Windowssille homma on vähän monimutkasempi, kuitenkin intternetistä löytyy ohje täältä. Ajurilevy löytyy /vserver/isoimages/KVM_xxxxx.iso, mounttaa tämä virtuaalikoneelle ja asenna/aja alla olevassa ohjeessa olevat jutut tuolta levyltä.

Huom! Myös winkkarilla kannattaa tarkistaa virtuaalipalvelimelta:

virsh edit <guestin nimi>

että konffissa lukee:

<model type='virtio'/>

Alla vielä ratkaisu kopioituna.

I figured it out in the end. I'm putting the solution here to help other people if they run into the same problem.

Windows 2008 requires the KVM-certificates to be installed to make the network driver work (it isn't sufficient to click yes on the pop-ups asking if you trust the source of the driver).
However, the installcertificate.bat file, which is meant to install the certificates, doesn't work on a clean install of Win2008. The batch-file uses certmgr.exe, which doesn't exist in Win2008 (part of .NET SDK?).
A certmgr executable does exist in Win2008, but it's called certmrg.msc and is apparently only a GUI, which doesn't accept the required arguments to install the certificates.

Furthermore, testsigning needs to be turned on in Windows to make Windows accept the driver.

The following steps works for me on Win2008 64bit:
1. Doubleclick on the kvmtest.cer certificate and install it in "Trusted Root Certification Authorities".
2. After the installation has completed, doubleclick the cerfiticate again and install it to "Trusted Publishers".
3. Turn on testsigning by running the command: "bcdedit /set testsigning on"
4. Reboot the system.
5. Install the driver by doubleclicking on the netkvminstall.exe.
6. Done...after a few moments, the new card should be up :)

Ongelmatilanteita

Network interface muuttuuminen linuxissa isäntäkoneen konffia muutettaessa

Jos linuxi luo uusia verkkokortteja, kun esim MAC osoite muuttuu, verkkokorttien osoitteet/nimet löytyvät filestä:

/etc/udev/rules.d/70-persistent-net.rule
Vanhan verkkokortin konffin voi poistaa, tämän jälkeen linkkaa “uusi” verkkokortti virtuaaliin ja anna sen tunnistua uudestaan boottauksessa.

Lähteet

LVM: http://www.debian-administration.org/articles/410
Debian open iscsi: http://wiki.debian.org/iSCSI
KVM asennus: http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-lenny-server
KVM virtuaalien asentaminen: http://linux.die.net/man/1/virt-install
virt-install man sivut: http://linux.die.net/man/1/virt-install

svn

=Versionhallinta SVN=

Näissä ohjeissa pyritään siihen, että asiat opitaan tekemään sekä komentorivi-svn:llä nettiareenatesti -palvelimella että oman koneen NetBeans + Bundled SVN Client for Windows -yhdistelmällä. Useimmat käytännön esimerkit saattavat kuitenkin keskittyä komentorivin toimintojen esittelyyn. Kivaa tietysti olis jos Joku(tm) viitsisi tehdä hienot screenshoteilla höystetyt ohjeet NetBeansin ja sen pluginin käytöstä.

==Yleistä==

Jotta svn:n toiminnan ymmärtää, on sisäistettävä käsitteet “working copy”, “repository” ja “revision”. Yksinkertaisesti esitettynä:

*Working copy on se kasa tiedostoja, jota koodaaja muokkaa.
*Uusi revision syntyy aina, kun käyttäjä commitoi oman working copynsä repositoryyn. Jokaisella revisionilla on oma numero.
*Repository säilyttää kaikki revisionit, eli erilaiset versiot working copyistä joita käyttäjä on commitoinut. ”’Repositoryä ei koskaan muokata suoraan.”’

Repositoryssä ei pääsääntöisesti tehdä koskaan mitään käsin. Kaikki toiminta tapahtuu svn ja svnadmin -komentojen kautta, ja suurimmaksi osaksi nimenomaan working copyssä annetuissa komennoissa.

Trunkkia ja jokaista branchia voi tietyssä määrin ajatella “mini-repositorynä” tai “ydin-repositorynä” (as in “ydinperhe”) siinä mielessä, että jokainen working copy liittyy nimenomaan trunkkiin tai johonkin tiettyyn branchiin.

”’HUOM”’: Repositoryssä on vain yksi juokseva revision-numero, joka on trunkille ja kaikille brancheille yhteinen. Eli “trunkin tai jonkin tietyn branchin” revision numero voi kasvaa ilman, että trunkin tai kyseisen branchin sisältö muuttuu miksikään. Aina kun johonkin branchiin (ml. trunk) commitoidaan jotain, revision numero kasvaa yhdellä.

==Repositoryn luominen==

*svn repon luominen:
<pre>
svnadmin create /opt/svnrepo
</pre>
*tuodaan olemassaolevat filet repoon:
<pre>
svn import mytree file:///opt/svnrepo/some/project
</pre>
*svn checkoutti omaan working copyyn:
<pre>
svn checkout file:///opt/svnrepo/some/project
</pre>

luo defaultti hakemistopolku:
*branches
*tags
*trunk

*branches hakemistoon omat versiot, trunkissa perusversio
*oman branchin teko (svn juurihakemistossa): svn copy trunk branches/nimi
*branchin commit: svn commit -m “initial commit”

http://www.abbeyworkshop.com/howto/misc/svn01/
http://svnbook.red-bean.com/en/1.0/ch03s07.html

==Branch ja sen kanssa työskentely==

Kokonaisprosessi menee näin:
<ol>
<li>Kopioidaan trunk omaksi branchiksi repossa</li>
<li>Otetaan Checkout branchista, jolloin saadaan working copy branchista ja ryhdytään muokkaamaan sitä</li>
<li>Muokataan ja commitoidaan muutoksia branchiin, kunnes saadaan tarpeeksi valmista trunkkiin laitettavaksi</li>
<li>Mergetään trunkkiin oma branchi (ja jos trunkissa on jotain toisten tekemiä muutoksia, myös trunkista omaan branchiin)</li>
<li>Toistetaan vaiheet 3-4 kunnes työsopimus päättyy. 😛 </li>
</ol>

Seuraavaksi tarkastellaan näitä vaiheita hiukan tarkemmin. Nämä ohjeet olettavat että repository on hakemistossa:
<pre>
/opt/svnrepo/wikicurrent
</pre>
Edelleen ohjeet olettavat, että repositoryn sisällä on aiemmin mainittu trunk-tags-branches -rakenne. Lisäksi trunkin sisällöstä oletetaan olevan working copy seuraavassa paikassa:
<pre>
/var/www/wikicurrent
</pre>

===Oman branchin luonti trunkista===

Seuraava komento käsittelee repositoryä, eikä tee mitään muutoksia millekkään olemassaolevalle working copylle, ”’eikä myöskään luo working copyä”’.
<pre>
user@nettiareenatesti:~$ svn copy file:///opt/svnrepo/wikicurrent/trunk file:///opt/svnrepo/wikicurrent/branches/oma-branch
</pre>

Seuraavaksi on otettava checkout tuosta branchista, jotta saadaan sitä vastaava working copy:
(nämä ohjeet koskevat shellipalvelimella tehtävää checkoutia, NetBeansin svn-pluginissa pitää mennä svn checkoutin yhteydessä valitsemaan “Repository Folder(s)” -kohdasta oikea branchi)
<pre>
user@nettiareenatesti:~$ cd /var/www/
user@nettiareenatesti:/var/www$
user@nettiareenatesti:/var/www$ svn checkout file:///opt/svnrepo/wikicurrent/branches/oma-branch
.
. (Tähän kohtaan vilistää sata ja tuhat tiedostoa jotka haetaan reposta uuteen working copyyn)
.
user@nettiareenatesti:/var/www$ cd oma-branch
user@nettiareenatesti:/var/www/oma-branch$
</pre>

===Muokkaukset ja commitit===

Tässä vaiheessa muokataan, testataan… ja commitoidaan:
<pre>
user@nettiareenatesti:/var/www/oma-branch$ svn commit -m “Tähän jokin commitoitavia muutoksia kuvaava kommentti”
</pre>
Edellinen siis commitoi nyt muutokset nimenomaan omaan branchiin, ei trunkkiin.

===Merge===

Mergejä varten on tarpeen, että mergejä omasta branchista trunkkiin tekevillä on pääsy johonkin trunkin working copyyn. Prosessi menee näin:

<ol>
<li>Varmistetaan että käytettävä trunkin working copy on ajantasalla ja siirrytään sinne.</li>
<li>Merge-komennolla yhdistetään branchin repossa oleva versio trunkin working copyyn (jossa nyt ollaan).

<ol><li>Huom: Vanhoissa svn:n versioissa: jos trunkissa on tapahtunut muutoksia, joita ei ole tapahtunut omassa branchissa, ei branchin viimeisintä versiota saa suoraan yhdistää trunkin viimeisimpään versioon! Asia on nimittäin niin, että svn tulkitsee trunkin muutosten branchista-puuttumisen siten, että branchissa on “poistettu” trunkin muutokset ja tällöin trunk kadottaa omat muutoksensa!</li>

<li>Edellämainitussa tilanteessa mergelle pitää branchia kertoessa ilmoittaa se revision-#, josta lähtien branch erosi trunkista. Tällöin svn osaa katsoa branchiin tehdyt muutokset oikein ja yhdistää ne trunkin muutosten kanssa oikein.</li>
<li>”’Kaikeksi onneksi”’ nettiareenatestissä on svn:n 1.5 -versio, joka osaa ihan itse fiksusti katsoa mistä versioista muutokset lasketaan eli seuraava trunkin working copyssä osaa etsiä viimeisen mergen tai branchin alun ja sijoittaa vain nämä muutokset:
<pre>
user@nettiareenatesti:/var/www/wikicurrent$ svn update <– noudetaan trunkin muutokset working copyyn
At revision #. <– tähän tulee jokin numero, tai tiedot siitä mikä kaikki on trunkissa päivittynyt sen jälkeen kun viimeksi on päivitetty.
user@nettiareenatesti:/var/www/wikicurrent$ svn merge file:///opt/svnrepo/wikicurrent/branches/oma-branch
</pre></li>
</ol>
</li>
<li>Jos muutoksia pitää tarkistaa, korjata, siivota mahdollisia konflikteja, ne tehdään trunkin working copyssä.</li>
<li>Lopuksi trunkin working copy commitoidaan, jolloin trunkin repossa oleva pääversio saadaan sellaiseksi että se sisältää branchin muutokset. Tämän jälkeen kannattaa vielä mennä oman branchin working copyyn tekemään merge trunkista branchille ja commitoida mahdolliset muutokset, niin varmistetaan se, että oma branchi on repon ja working copyn suhteen samassa tilassa kuin trunk.</li>
</ol>
Tätä kannattaa lukea ajatuksella: <br />
[http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html] <br />
[http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html]

==Snapshotin ottaminen==

Vietäessä tehdy päivitys tuotantoon, otetaan trunk-versiosta snapshot tags-hakemistoon:

<pre>
svn copy file:///opt/svnrepo/wikicurrent/trunk \
http:///opt/svnrepo/wikicurrent/tags/versio-1.5 \
-m “Tagataan wikin 1.5 version julkaisu.”
</pre>

==Netbeans==

===Windows===

Tuodaan projekti NetBeansiin Team/Subversion/checkout:

(tässä vaiheessa saatetaan joutua vielä pluginin päivitys/asennusrumbaan, jotta saadaan netbeansin svn-tuki toimimaan. Valitse Bundled Clinet for Windows, ja anna netbeansin tehdä mitä tekee. Jos jää jumiin, sulje netbeans ja yritä uudestaan.)

<pre>
svn+ssh://10.41.41.29/opt/svnrepo/projekti/trunk
</pre>

Tunnel komento, windows esim:

<pre>
plink -l nimi -pw salasana
</pre>

(Imuroi tarvittaessa plink puttyn sivulta, sijoita se sopivaan paikkaan vaikka E:\Program Filesiin ja aseta sen sijainti pathiin.)

”’Kokeile ensin konsolista että plink toimii!!!”’

Käytetään trunkissa olevaa perusversiota. Ohjelma näkyy osoitteessa: http://10.41.41.29/projekti/

Katso että lokaalit conffifailit myslille jne eivät kulje svn:n mukana!!!!

===ohjeita muualla:===

http://php.dzone.com/articles/creating-a-netbeans-php-projec
http://www.apachefriends.org/en/xampp.html
http://netbeans.org/kb/61/php/project-setup.html
http://netbeans.org/kb/61/php/installing-and-configuring-required-software.html
http://www.xdebug.org/docs/install

==Ongelmia/ohjeita==

===SVN:Ignore===

Jotkut tiedostot tulee jättää pois versionhallinnasta, ja tämän voi tehdä svn:ignorella.

Svn:ssä jokaiseen hakemistoon voi liittää ns. “propertyjä”, jotka muuttavat svn:n käyttäytymistä. svn:ignore on yksi tällainen property. Tärkeää on ymmärtää, että property sijoitetaan nimenomaan hakemistolle, ei tiedostolle. Lue tämä linkki:

[http://blog.bogojoker.com/2008/07/command-line-svnignore-a-file/ http://blog.bogojoker.com/2008/07/command-line-svnignore-a-file/]

===Revert esimerkki===

Paikalliset möhläykset svn:ssä saa tekemättömiski:

<pre>
svn revert hakemisto
</pre>

===Rollback esimerkki===

Kun jotain menee mönkään, saat edellisen version käyttöön:

<pre>
svn merge -r2:1 http://url/to/repo/project/trunk .
svn ci -m ‘Rolled back to r1’ .
</pre>

===OSX hienouksia===

SSH tunnelointi pitää tehdä käyttäen -q vipua, koskapa OSX tykkää kertoa erinomaisuudestaan palvelimelle bannerilla, jota tämä ei tunnista. Muutoin lopputuloksena on sarjan “Informatiivisia virheilmoituksia” kärkisijoille yltävä: error -15

===Miten lisätään kaikki versioimattomat alihakemistot svn:iin?===

svn status | grep ‘?’ | sed ‘s/^.* /svn add /’ | bash

Tauhkaa

=Kaikkea Tauhkaa=

==MySQL dumppiohje==

Otetaan myslidumppi tuotannosta:
<pre>
mysqldump –host=palvelimen.osoite -u tunnus -p tietokanta > testi.sql
</pre>

Dumppi kantaan:
<pre>
mysql –host=palvelimen.osoite -u tunnus -p tietokanta < testi.sql
</pre>

==Regexp ohjeita perlillä==

Korjataan kaikki pienet kirjaimet isoilla tiedostosta ‘alku.sql’ sanan ‘Luokka:’ jälkeen ja viedään uuteen failiin ‘loppu.sql’:
<pre>
perl -wpe ‘s/(\W[Ll]uokka:\s*)([a-z])(\w+)/$1.uc($2).$3/ge’ < alku.sql > loppu.sql
</pre>

Vaihdetaan kaikki tiedostossa ‘alku.sql’ esiintyvät ‘blogit.nettiareena.fi’ tekstit muotoon ‘blogit’test.nettiareena.fi’ ja kirjoitetaan tiedostoon ‘loppu.sql’

<pre>
perl -wpe ‘s/blogit\.nettiareena\.fi/blogit.test.nettiareena.fi/g’ < alku.sql > loppu.sql
</pre>
==Testiblogin kannan säätö==

koppaa .htaccess file wp-config.php

perl -wpe ‘s/localhost/devel.nknuoriso.hki.local\/blogit/g’ < nuortensivut.sql > loppu.sql

mysql -u root -p nuortensivut < loppu.sql

===blogien kannassa===

Paikat joihin osoitetta on tungettu:

*wp_options
**siteurl: http://devel.nknuoriso.hki.local/blogit
*wp_blogs
**domain: devel.nknuoriso.hki.local
**path: /blogit/
*wp_site
**domain: devel.nknuoriso.hki.local
**path: /blogit/
*wp_sitemeta
**siteurl: http://devel.nknuoriso.hki.local/blogit
**source_domain: devel.nknuoriso.hki.local

UPDATE wp_blogs SET domain = REPLACE (
domain,
‘devel.nknuoriso.hki.local/blogit’,
‘devel.nknuoriso.hki.local’)

UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/rikki’ WHERE `wp_blogs`.`blog_id` = 1; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/dashboard/’ WHERE `wp_blogs`.`blog_id` = 14; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/kesablogi/’ WHERE `wp_blogs`.`blog_id` = 8; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/mejaluonto/’ WHERE `wp_blogs`.`blog_id` = 10; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/’ WHERE `wp_blogs`.`blog_id` = 11; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/benkku/’ WHERE `wp_blogs`.`blog_id` = 13; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/skeitti/’ WHERE `wp_blogs`.`blog_id` = 15; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/hna/’ WHERE `wp_blogs`.`blog_id` = 18; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/clubi/’ WHERE `wp_blogs`.`blog_id` = 19; UPDATE `nuortensivut`.`wp_blogs` SET `path` = ‘/blogit/helsinkiteam/’ WHERE `wp_blogs`.`blog_id` = 20; UPDATE

==Hook script ohje==

/opt/svnrepo/hooks hakemistossa:

<pre>
cp post-commit.tmpl post-commit
chmod +x post-commit
</pre>
Laita ylläoleva skripti ajamaan allaoleva ohjelma:

esim
<pre>
/usr/bin/sudo -u www-data /opt/svnrepo/hooks/blogicommitscript
</pre>

Ja itse ohjelma:

This is done all the time, and is easily accomplished by adding a post-commit hook script to your repository. Read about hook scripts in Chapter 5 of the book. The basic idea is to make the “live site” just an ordinary working copy, and then have your post-commit hook script run ‘svn update’ on it.

In practice, there are a couple of things to watch out for. The server program performing the commit (svnserve or apache) is the same program that will be running the post-commit hook script. That means that this program must have proper permissions to update the working copy. In other words, the working copy must be owned by the same user that svnserve or apache runs as — or at least the working copy must have appropriate permissions set.

If the server needs to update a working copy that it doesn’t own (for example, user joe’s ~/public_html/ area), one technique is create a +s binary program to run the update, since Unix won’t allow scripts to run +s. Compile a tiny C program:

<pre>
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
execl(“/usr/bin/svn”, “svn”, “update”, “/opt/svnrepo/hooks/blogicommitscript”,
(const char *) NULL);
return(EXIT_FAILURE);
}
</pre>

… and then chmod +s the binary, and make sure it’s owned by user ‘www-data’. Then in the post-commit hook, add a line to run the binary.

compile:

<pre>
g++ -Wall hello.cc -o hello
</pre>
===Hook skriptin käyttäjäoikat===

Fiksuinta ajaa post-commit skriptit yhteisellä käyttäjällä, esim www-data ja asettaa kopioitujen tiedostojen käyttäjäoikeudet myös www-data käyttäjälle. Muuten saattaa lähteä hiukset päästä tiedosto-oikeuksien kanssa.

http://reinout.vanrees.org/weblog/2009/06/03/trac-post-commit-hook.html

/etc/sudoers file:

# The relevant users are in the “versioning” group.
%versioning devel.nknuoriso.hki.local = (www-data) NOPASSWD: /opt/svnrepo/hooks/blogicommitscript

==SVN ignore==

http://wolfram.kriesing.de/blog/index.php/2005/svnignore-and-svnkeywords
==Tiedosto oikat /var/www…==

Tiedostoille 664 (Käyttäjälle (user) luku/kirjoitusoikeus, ryhmälle (group) luku/kirjoitus, muille (others) lukuoikeus)

Hakemistoille 775 Käyttäjälle (user) rwx, ryhmälle (group) rwx, muille (others) rx)

Käytännössä:

<pre>
sudo chown -R www-data:versionning
sudo chmod -R 664 .
sudo find . -type d | sudo xargs chmod 0775
sudo chmod g+ws -R .
</pre>

chown -R user:group . # aina muutosten perään

==Jotain cräplipsen passuista==

If you have to enter password you many multiple times like I did (note I have cygwin installed) then follow the below instruction. Might work for you.
# In Eclipse, under Windows –> Preferences –> Team –> SVN –> SVN interface: make sure you have selected JavaSVN.
Now i only have to enter my password once, no errors

==Etsitään .svn höhä hakemistosta==

<pre>
find . -name “.svn” -exec rm -rf {} \;
</pre>

==Netbeans ja merget==

http://stackoverflow.com/questions/2562522/how-to-update-and-merge-branch-in-netbeans

<pre>
how do i update the branch with the new data of the trunk

Check out the branch

Merge the repository trunk into the checked out branch

commit the branch to the repository

how do i merge the branch with the trunk

Check out the trunk

Merge the repository branch into the checked out trunk

commit the trunk to the repository

You can’t merge two repository projects in Netbeans without making local copies
</pre>

==ISCSI/LVM säätöä==

===Levys===

Fyysisten levyjen tiedot:

<pre>
pvdisplay
</pre>

===Volume Group===

Volume grouppien tiedot:

<pre>
vgdisplay
</pre>

Volumegroupin palautus, kun jotain on levinnyt….

<pre>
vgcfgrestore vol
</pre>

Sisälläolevien partitioiden allokointi:

<pre>
vgchange -ay
</pre>

===Volume===

Volume tiedot:

<pre>
lvdisplay
</pre>

===Sälää===

<pre>
iscsid
iscsiadm –mode node –targetname
iqn.1994-12.com.promise.96.63.55.55.1.0.0.20 –portal 10.0.0.60:3260
–login
vgcfgrestore vol
vgchange -ay
</pre>
<blockquote>

One step I’ve noticed with the Ubuntu machines I’ve setup is that the target isn’t connected automatically on restart of the service. To correct this I’ve edited the target’s defaults file (/etc/iscsi/nodes/iqn*.sometargetname/ipaddress,node,1/default). In here I’ve changed node.conn[0].startup to automatic.

This can also be setup with:
./iscsiadm -m node -T iqn.2005-03.com.max -p 192.168.0.4:3260 \
-o update -n node.conn[0].startup -v automatic
however sometimes I get an error (-5) with this although it in the docs at open-iscsi.org. Sometimes it works. If not, edit the file.

</blockquote>
baculan myslin resetti:

http://blog.mansonthomas.com/2009/09/reset-bacula-database-and-files.html

html lisäämine:

Kirjoita happiwikin hakukenttään Special: SecureHTMLInput

1. Kirjoita avaimen nimi, ei välttämätön
2. Anna salasana-avain. Salasana on: *****
3. Laita HTML-koodi, jonka haluat lisätä laatikkoon

bacula

Tape labelin poistaminen, tyhjentäminen:
mt -f /dev/st0 rewind
mt -f /dev/st0 weof

Kasetin lataaminen lataajalla:

/etc/bacula/scripts/mtx-changer /dev/sg1 load 2 /dev/st0 0
/etc/bacula/scripts/mtx-changer /dev/sg1 unload 2 /dev/st0 0

Btapen käyttö:
btape -c /etc/bacula/bacula-sd.conf /dev/nst0

Linkkejä:

http://www.debianhelp.co.uk/bacula1.htm <br>
http://www.bacula.org/fr/dev-manual/Basic_Volume_Management.html <br>
http://blog.mansonthomas.com/2009/09/reset-bacula-database-and-files.html <br>
http://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/ <br>
http://www.mssl.ucl.ac.uk/www_computing/buns/tapes.html <br>
http://marc.info/?l=bacula-users&m=119300311901313&w=2 <br>
http://www.whoopis.com/howtos/tapebackup.html <br>
http://www.backupcentral.com/phpBB2/two-way-mirrors-of-external-mailing-lists-3/bacula-25/hp-msl2024-autochanger-err-device-or-resource-busy-qu-103156/ <br>

Skripti joka tyhjää tapet ja niide labelit. Huom aseman pitää olla tyhjä alussa (en nyt jaksa tehä mitää tarkistuksia :P):

<pre>
#!/bin/bash

a=1

for a in `seq 24`
do
echo -n “$a clearataan”
/etc/bacula/scripts/mtx-changer /dev/sg1 load $a /dev/st0 0
mt -f /dev/st0 rewind
mt -f /dev/st0 weof
/etc/bacula/scripts/mtx-changer /dev/sg1 unload $a /dev/st0 0
done

echo; echo

exit 0
</pre>

Recycling All Your Volumes

This tip comes from Phil Stracchino.

If you decide to blow away your catalog and start over, the simplest way to re-add all your prelabeled tapes with a minimum of fuss (provided you don’t care about the data on the tapes) is to add the tape labels using the console add command, then go into the catalog and manually set the VolStatus of every tape to Recycle.

The SQL command to do this is very simple:

update Media set VolStatus = “Recycle”;
Bacula will then ignore the data already stored on the tapes and just re-use each tape without further objection.

control debian daemons

rcconf

http://www.bergek.com/2009/02/22/control-debian-daemons/

n900 ffmpeg flv

http://rodrigopolo.com/about/wp-stream-video/encoding-stream-video

E:\tmp>ffmpeg -i “stasi rauhanasema 17052010 uus.mp4”  -ss 10 -vframes 1 -an -f image2 snapshot.png

E:\tmp>ffmpeg -y -threads 8 -i “stasi rauhanasema 17052010 uus.mp4”  -s 848×480-aspect 16:9 -r 24 -vcodec libx264 -pass 1 -b 1072k -maxrate 1616k -bufsize 3232k -g 24 -vpre e:\tmp\libx264-fastfirstpass.ffpreset  -an 04-480.flv

E:\tmp>ffmpeg -y -threads 8 -i “stasi rauhanasema 17052010 uus.mp4”  -s 848×480 -aspect 16:9 -r 24 -vcodec libx264 -pass 2 -b 1072k -maxrate 1616k -bufsize 3232 k -g 24 -vpre e:\tmp\libx264-hq.ffpreset -acodec libfaac -ac 2 -ar 44100 -ab 128k 04-480.flv

WARNING: A flag I use many times is the Threads flag, be careful with this flag, I have an Intel i7 procesor so I decided to use 16 threads but with a Intel Quad Core I can only achieve 8 threads, the more threads the faster you get your encoding done, if you put more threads than your CPU can handle FFmpeg will return an error.

Kubuntu 10.04

Set a static IP address

I can’t get Network-Manager-KDE (that is installed by default in Kubuntu) to accept my static IP address settings. This has been a problem for me with every version of Network Manager.

  • You can uninstall Network-Manager-KDE completely and install Wicd Network Manager instead:
sudo apt-get remove network-manager-kde
sudo reboot
sudo apt-get install wicd
  • If you only use wired connections, then you don’t need any network manager (Network Manager or Wicd) and can edit the network interfaces configuration file manually.
  • Remove Network Manager:
sudo apt-get remove network-manager-kde
sudo reboot
  • Edit the /etc/network/interfaces file:
sudo kate /etc/network/interfaces
and replace the line
iface eth0 inet dhcp
with the following lines (using your own LAN settings, of course):
iface eth0 inet static
address 192.168.0.35
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
  • Then restart networking:
sudo /etc/init.d/networking restart
  • Check to see if your settings are now correct:
ifconfig


Edit the file: /lib/udev/rules.d/70-hid2hci.rules

(If you need help editing a file, see bottom section.)

Change this line:

# Logitech devices
KERNEL==”hiddev*”, ATTRS{idVendor}==”046d”, ATTRS{idProduct}==”c70[345abce]|c71[34bc]”, \
RUN+=”hid2hci –method=logitech-hid –devpath=%p”

to

KERNEL==”hidraw*”, ATTRS{idVendor}==”046d”, ATTRS{idProduct}==”c70[345abce]|c71[34bc]”, \
RUN+=”hid2hci –method=logitech-hid –devpath=%p”

sudo apt-get install openssh-server

https://help.ubuntu.com/community/Repositories/Kubuntu

Remove pulse:

apt-get remove pulse

upgrade alsa

http://ubuntuforums.org/showthread.php?p=6589810

check:

http://wiki.xbmc.org/index.php?title=HOW-TO_set_up_HDMI_audio_on_nVidia_GeForce_G210,_GT220,_or_GT240

http://bigbrovar.aoizora.org/index.php/2010/01/10/how-to-safely-remove-ppa-repository-from-ubuntu/

url link

[url=http://www.phpbb.com/]Visit phpBB![/url]

useless crap out of windows

http://keskustelu.suomi24.fi/show.fcgi?category=108&conference=4500000000000301&posting=22000000012912575

raid

21:42
http://www.mail-archive.com/linux-raid@vger.kernel.org/msg10637.html
21:42 tosa tero on se  mdadm –zero-superblock /dev/sdb1
21:44 annant tuon  mdadm –zero-superblock /dev/d_1
21:45 annant tuon  mdadm –zero-superblock /dev/sda1 ja /dev/sdc1
jne…
21:45 mdadm –manage /dev/mdfoo –fail /dev/sdfoo
21:45 mdadm –manage /dev/mdfoo –remove /dev/sdfoo
21:45 mdadm –manage –stop /dev/mdfoo
21:45 noistaki voi aolla jeesiä
21:46 ja umounttaa ne viel
21:48 jos ei lähe nii sitte http://dban.sourceforge.net/ ja tolla
wipee sen kerran nii johan pitäs pelittää
21:50 tai shred -vfz -n 1 /dev/hda
21:50 tai shred -vfz -n 1 /dev/sda
21:50 tai shred -vfz -n 1 /dev/sdc
21:51 tai dd if=/dev/zero of=/dev/sda
21:51 mutta noissa kestää sitten
21:52 tai jos tolla ensin sudo dd if=/dev/zero of=/dev/hda bs=521
count=1
21:52 mutta tuokaan ei kai poista sitä superblockkia
21:53 http://mirror.href.com/thestarman/asm/mbr/WIPE.html
21:55 elä tätä ajakkaan hajoo koko paska kuitenkin tai dd
if=/dev/zero of=/dev/sda
21:57 nojoo huomenna jatkuu

« Previous posts Back to top