torsdag 22 augusti 2013

Sätta upp git-repo för scm-sync-configuration plugin

Det finns ett utmärkt Jenkinsplugin för att spara konfigurationer och deras ändringar till GIT eller SVN, scm-sync-configuration. För att börja använda pluginet behövs ett repo där det kan spara konfigurationerna.

När jag hade använt git init på en mapp kunde pluginet trots detta inte spara, jag fick blandade felmeddelanden.
Lösningen var att initiera repot som ett bare repo.

Eftersom jag redan hade ett skapat repo (git init) gjorde jag om det till ett bare repo med följande kommando:
git config --bool core.bare true

Men om jag vill sätta upp ett nytt repo av denna sorten gör man så här:
git init --bare

tisdag 20 augusti 2013

Sök filer och kör kommandon på dem i Linux

För att utföra detta kan man använda find:
find . -name '*.foo' -exec cat {} \;

Det som händer när vi kör operationen är följande:
. Sök i den mappen som vi är i.
-name '*.foo' Sätter ett filter för vilka filer som ska hittas.
-exec cat {} Kör cat, ersätt {} med filnamnen från sökresultaten.
\; Avslutar -exec-kommandot.
Källor:
StackOverflow

fredag 16 augusti 2013

admin user missing i UGE

När skulle installera Univa Grid Engine 8.1.5, UGE, under Red Hat RHEL6 möttes jag av det något kryptiska meddelandet "admin user missing" när installationen skulle slutföras.

Som felsökning försökte jag köra installationen som root och låta root vara UGE-admin. Försökte även skapa en användare vid namn admin, som ingick i wheel-gruppen. Fortfarande samma felmeddelande.

I användarguiden nämns felmeddelandet. Men lösningen är då inte mycket till hjälp;
Setup the host properly so that name service provides the name properly to the remote machine (or create the user locally).

Förklaringen? UGE är uppdelat i flera paket, ett plattformsoberoende installationspaket samt plattformsspecifika binärer. Under installationsprocessen behövs binärerna, men det finns ingen kontroll för att se att de finns på plats. Felmeddelandet man får om binärerna saknas är därför "admin user missing".

Lösningen är därför väldigt simpel, extrahera binärerna och installationspaketet i samma mapp.

söndag 11 augusti 2013

Uppgradering av ruTorrent

I detta inlägg ska jag gå igenom hur man hämtar hem senaste versionen av ruTorrent samt återställer sin gamla konfiguration.

Jag börjar med att hämta ut senaste versionen via svn
svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent

I SVN-repot ligger plugin-filerna inte inuti rutorrent-installationen, det får vi lösa.
cd rutorrent
mv plugins rutorrent/
cd rutorrent
mv * ..
rm -rf rutorrent

Nu behöver vi hämta konfigurationen från vår gamla ruTorrent-installation. I mitt fall ligger den i www.
cp -r /var/www/rutorrent/conf .

Jag behöver också kopiera konfigurationen från mina plugins
cp -r /var/www/rutorrent/share .

Jag flyttar nu bort min gamla installation och lägger den nya på plats.
sudo mv /var/www/rutorrent ~/rutorrent.old
cd ..
sudo mv rutorrent /var/www/rutorrent
chown -r www-data:www-data /var/www/rutorrent

Om allt gått vägen ska din nya installation vara på plats!

rTorrent fryser

Jag har tidigare beskrivit hur man installerar rTorrent tillsammans med ruTorrent. Efter något års användande märkte jag att rTorrent började frysa mer och mer. Men det var svårt att lista ut varför, lasten var alltid låg och rTorrent kunde frysa även direkt efter omstart och när nätverkstrafiken var låg.

Efter en del sökande hittade jag till slut svaret. rTorrent förlitar sig på cURL, som i sin tur inte kan göra DNS-uppslagningar asynkront. Resultatet är att rTorrent hänger sig så fort den försöker göra en DNS-uppslagning som tar tid.

Lösningen är att kompilera om cURL tillsammans med c-ares, där efter kompilera om libtorrent och slutligen rtorrent.


1. Installera c-ares
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar zxf c-ares-1.10.0
cd c-ares-1.10.0
./configure
make
sudo make install

2. Installera cURL
wget http://curl.haxx.se/download/curl-7.31.0.tar.gz
tar zxf curl-7.31.0.tar.gz
cd curl-7.31.0
./configure --enable-ares
make
sudo make install

3. Installera libtorrent
git clone https://github.com/rakshasa/libtorrent
cd libtorrent
./autogen.sh
./configure
make
sudo make install

4. Installera rtorrent
git clone svn://rakshasa.no/libtorrent/trunk/rtorrent
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install

Efter detta kör jag curl --version för att se att följande står: Features: AsynchDNS.

Om du kör ruTorrent är det möjligt att den säger följande nu:
"rss: Some functionality will be unavailable. Web-server user can't access external program (curl)."

I så fall ska du köra:
sudo apt-get install curl php5-curl

Efter det bekräftar jag åter igen att rätt version av curl körs med hjälp av curl --version.

Källa:
FileShareFreak
Ubuntu Forums
Rutorrent Forums