apt-get gennem HTTP proxy

For at få apt-get til at køre bag en HTTP proxy er det ikke nok at lave en export af http_proxy variablen. Der skal laves en apt.conf fil (hvis den ikke allerede eksisterer) i /etc/apt/ biblioteket.

Filen skal have en linie med følgende syntax:

Acquire::http::Proxy "http://proxyadresse:port";

Nu skulle du gerne kunne installere og opdatere dine programmer med apt-get.

xmltv id’er til DR’s xmlservice.

Hvis man har en PVR (Personal Video Recorder) er det rart også at have en liste over hvad de forskellige kanaler sender, det kan bl.a. DR hjælpe med da de har en xmltv service med et stort udvalg af kanaler.

Jeg bruger et system der hedder mythtv, og her kan man køre et program der hedder mythfilldatabase for at få fyldt data i databasen. Mythfilldatabase benytter sig af en såkaldt “grabber” der konfigureres til at hente info fra f.eks. DR, når dataen er hentet skal den indsættes korrekt i forhold til de kanaler man har indkodet i sin PVR. Dette gøres via de såkaldte xmltv ID’er, i mythtv gøres det næmmest via mythweb interfacet.

Hos DR hedder ID’erne noget alá: xxx.dr.dk, herunder er listen fra mit system:

‘+———–+————–+
| name | xmltvid |
+———–+————–+
| TV3 | dk3.dr.dk |
| DR Update | dru.dr.dk |
| DR K | tvk.dr.dk |
| Kanal5 | 999.dr.dk |
| dk4 | dk4.dr.dk |
| DR Ram | tvr.dr.dk |
| DR HD | tvh.dr.dk |
| TV 2 | td2.dr.dk |
| DR2 | dr2.dr.dk |
| DR1 | dr1.dr.dk |
| K5 HD | 999.dr.dk |
| 6rn HD | snt.dr.dk |
| Kanal4 | tvd.dr.dk |
| 6�eren | snt.dr.dk |
| TV3+HD | d3plus.dr.dk |
| Zulu | t2z.dr.dk |
| 2News | tws.dr.dk |
| Charli | 041.dr.dk |
| TV3+ | d3plus.dr.dk |
| Canal9 | ca9.dr.dk |
| Nickel | nis.dr.dk |
| 3Puls | tpl.dr.dk |
| DisnXD | 058.dr.dk |
| 2Sport | t2s.dr.dk |
| 2Film | t2f.dr.dk |
| FilmHD | t2f.dr.dk |
| 2Sp HD | t2s.dr.dk |
| NickHD | nis.dr.dk |
+———–+————–+

Listen har jeg hentet fra min mythconverg database med denne kommando:

select name,xmltvid from channel where xmltvid !='' order by name;

Ovenstående er de kanaler jeg har konfigureret (dem jeg mener er interessante fra yousees store pakke) der findes flere, men dem har jeg ikke.

Mythmote, en mythtv remote control til android.

Jeg har fået min kones aflagte HTC Tattoo telefon. Den kører android 1.6, og der er derfor gode muligheder for at lave en masse sjove ting med den. En af de ting jeg har prøvet er at installere en applikation kaldet “mythmote”, det er en applikation til at fjernstyre en mythtv frontend via telefonen og det er faktisk ret nemt at komme igang med.

Jeg har før set alle de smarte applikationer man kan få til diverse smartphones der kan bruges til at styre diverse ting med, og derfor tænkte jeg at der måtte da også være en til at styre mythtv med sin android telefon – og det var der sørme også 🙂

En hurtig søgning på google ledte mig frem til denne side: code.google.com/p/mythmote/ hvor man kan downloade den det føromtalte “mythmote”.

Den nemmeste måde at installere applikationer på er gennem androids “market” og mythmote burde også være der, men jeg kunne altså ikke finde den 🙁 måske pga. at jeg bor i DK.

Efter at have nørklet en del med at få installeret android SDK på min PC, for på den måde at kunne installere .apk applikationer på telefonen fandt jeg ud af at den nemmeste måde at installere på, var at gå til hjemmesiden via browseren i telefonen og installere direkte derfra.

Nu var mythmote installeret på min telefon, og jeg var klar til næste step. Nemlig, aktivering af fjernstyring i mythtv.

Det er klaret på ca. 2 minutter. Under “advanced” -> “Setup” -> “General” er det menu nummer 7 eller 8 og der sætter man et flueben i feltet “enable remote control”, lader den blive ved std. port nummer 6546 og trykker “next” et par gange samt “finish” og så er man klar.

Du kan teste at fjernstyring er aktiveret ved at telnette til maskinen på port 6546:

telnet ‘mythtv-frontend-adresse’ 6546

Hvis der er forbindelse skulle det gerne se sådan her ud:

telkasper@T43:~$ telnet office 6546
Trying 10.0.0.14…
Connected to office.home.local.
Escape character is ‘^]’.
MythFrontend Network Control
Type ‘help’ for usage information
———————————
#

Man kan nu sende kommandoer til boksen ved at skrive f.eks. “key left” nu vil menuen skifte til venstre, det er den måde mythmote kommunikerer med maskinen.

Programmet giver en del muligheder for at skifte rundt, og navigere i de forskellige menuer. Kommandoerne reagerer hurtigt, men jeg har dog oplevet at for mange kommandoer afsendt hurtigt efter hinanden (som f.eks. at skrue op eller ned for lyden) kan give udslag i hakkende afspilning.

Min telefon er crashet to gange ved brug af mythmote, men den virker ikke decideret ustabil. Men som tidligere nævt kører den kun android 1.6 (uden mulighed for at opgradere) så det kan også være det der påvirker.

Genskabe slettet sharepoint site.

På arbejdet er vi så heldige at have en sharepoint server. Serveren er installeret for ca. 3 år siden (inden jeg startede) og den har stort set passet sig selv siden. Vi har ingen sharepoint administratorer på kontoret og skal altså enten købe os til konsulent hjælp eller brugen en masse tid på Google hver gang vi skal have lavet ændringer i systemet, det er ikke optimalt. Til gengæld er det også så sjældent at vi har brug for at lave noget i systemet at det virker som overkill at have ressourcer der har ekspertise inden for dette begrænsede område. Vi har en uddannet sharepoint designer, men selve administrationen var ikke en del af det kursus.

Serveren har altså som tidligere nævnt passet sig selv, vi har lagt windows opdateringer på og det er det. Det betyder  så også at vi kører altså på en gammel version der aldrig er blevet opdateret eller på nogen anden måde “nurset”.

Forleden kom jeg så uheldigvis til at slette et af vores sites, jeg skulle slette et “undersite” men kom altså til at slette hele det site jeg var inde på – hvad gør man så?

Efter en del googling og roden rundt i sharepoint administrations værktøjet fandt jeg ud af at følgende burde kunne lade sig gøre:

  1. Gå ind i “sharepoint central administration”.
  2. Vælg “Application Management”.
  3. Vælg “Content Databases”.
  4. Vælg det rigtige site i “Web Application”.
  5. Vælg den rigtige database i listen. (husk at notere navnet på databasen da vi skal bruge det senere)
  6. Sæt hak i “Remove content database” og tryk ok.

Nu har sharepoint sitet fjernet linket til databasen (vi kører med en MS SQL, man kan sikkert bruge andre). Næste step er at ligge en kopi af databasen fra backup ind på database serveren. Jeg gjorde følgende for at genskabe databasen som den var dagen før:

  1. Stop IIS servicene på sharepoint serveren. (iisreset /stop)
  2. Stop SQL servicen på SQL serveren.
  3. Find den database fil der har samme navn som navnet på den database du noterede før.
  4. Omdøb database filen samt transaktions log filen til f.eks. originaltnavn.old.
  5. Kopier de gamle filer ind fra backuppen.
  6. Start SQL servicen på SQL serveren.
  7. Start IIS servicene på sharepoint serveren.
  8. Gå ind i den rigtige sharepoint “Web Application”
  9. Vælg “Add a content database”
  10. Under “Database name” skrives navnet på databasen.
  11. Under “Search server” vælger du navnet på sharepoint serveren.
  12. klik på OK og alt skulle nu køre igen.

Denne fremgangsmåde virkede for mig, jeg håber den også kan hjælpe dig.

/Kasper

.ssh/config filen.

Artiklen her tager udgangspunkt i at man bruger Open-SSH, som AFAIK er default på de fleste Linux/UNIX’er

Når man fra en Linux/UNIX maskine logger ind på en SSH server vil der i brugerens .ssh mappe i hjemmemappen på klient maskinen blive oprettet en fil kaldet “known_hosts”, denne fil indeholder navne, passphrases og public keys på de hosts man har været logget ind på. Dette gør bl.a. at man ikke skal svare på om man har tiltro til de enkelte hosts hver gang man logger ind, når man først har accepteret en host vil den ligge i filen og næste gang man logger ind bliver man kun promptet for password.

Udover known_hosts filen kan man lave en config fil som kan være med til at gøre livet lidt nemmere når man bruger SSH, man kan nemlig i denne fil lave konfigurationer for de enkelte hosts man plejer at logge ind på. Her er et eksempel på en simpel config fil:

Host home

Hostname ssh_server_adresse

User username

LocalForward 8080 intern_server_adresse:80

Med ovenstående kan jeg nu skrive:

ssh home

for at logge ind med brugernavnet username og lave en lokal videre af port 8080 til port 80 på en intern server.

Normalt skulle jeg skrive:

ssh -L 8080:intern_server_adresse:80 -l username ssh_server_adresse

for at opnå det samme.

Dette var et eksempel på en meget simpel fil (personligt er det dog oftest det jeg bruger config filen til), der er selvfølgelig mange flere options ved en hurtig googling kan man bl.a. finde en god gennemgang her:

http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=ssh_config

Det var så lidt om config filen til SSH klienten, jeg håber i kan bruge det.

/Kasper

/usr/lib/libgconf2-4/gconf-sanity-check-2 exited with code 256

Jeg har installeret ubuntu karmic 64 bit på min Lenovo T61. Jeg har før forsøgt mig med 64 bit, men har de andre gange haft droppet det pga. for meget bøvl med at få java, flash og diverse andre plugins/drivere til at spille. Men denne gang ser det ud til at alt kører fint, jeg har endnu ikke stødt på nogle problemer der ikke kunne løses ved lidt googling, så denne gang er jeg overbevist om at det 64 bit versionen forbliver på min laptop.

Men hvis man ser på den lidt kryptiske overskrift , kan man måske udlede at jeg har haft et andet problem  som jeg gerne vil beskrive her på siderne. Problemet opstod tilsyneladende efter en “apt-get upgrade && apt-get dist-upgrade”, når jeg skriver tilsyneladende er det fordi jeg ikke har kunnet google mig frem til en løsning, så måske er det mig selv der har fået lavet en fejl 40.

Nå, men problemet bestod i at efter en reboot kom følgende fejlmelding op lige inden login billedet var klart: “/usr/lib/ libgconf2-4/gconf-sanity-check-2 exited with code 256” og jeg kunne ikke logge ind, jeg  kunne simpelthen ikke få godkendt min bruger når jeg ville logge ind via GDM.

Jeg kunne dog stadig trykke CTRL-ALT-F2 og komme ud i en konsol, her forsøgte jeg mig med lidt forskellige ting jeg kunne google mig frem til bl.a. at chmod’e /etc/gconf/gconf.xml.system til 775, men det virkede ikke. Det skal også lige siges at denne løsning var relateret til en bug i intrepid, som efterhånden er nogle versioner gammel.

Jeg prøvede så at køre /usr/lib/libgconf2-4/gconf-sanity-check-2 direkte fra terminalen og kunne se at der var en permission denied på /tmp mappen. En ls -al / afslørede da også at permissions på /tmp var 755 og ikke 777 som de burde være.

Så efter en sudo chmod 777 /tmp virkede alt igen som det skulle 🙂

Jeg kan stadig ikke sige om det er mig selv der har kvajet mig eller om det er en fejl i en opdatering, men en søgning i ~/.bash_history siger intet om at jeg har chmod’ed /tmp folderen.

/Kasper

Lidt mere om SSH tunneler

Jeg har tidligere skrevet lidt om hvoran man kan bruge SSH tunnel til at lave portforwarding, det kan være en løsning hvis man f.eks. ikke vil åbne sin webserver op mod internettet.

Netop denne situation stod jeg i da min bror havde brug for et regnskabsprogram og jeg tilbød ham at installere en webserver med det danske gratis regnskabsprogram Saldi.

Jeg kender ikke til sikkerheden i webapplikationen, og jeg er ikke sikker på hvor tit jeg lige får opdateret denne server (det skulle helst være en “install and forget”) Derfor ville jeg ikke åbne op for det store internet.

Jeg valgte istedet at installere tunnelier fra bitvise på min brors PC, og herefter konfigurere den til at oprette en tunnel og starte en browser op, der peger på den side han skal ind på.

Det er der jo i forhold til min tidligere post ikke noget nyt i, det nye kommer her:

For at sikre mig at min bror ikke laver rav i den fra den bash shell han som default får når jeg opretter ham på mit system, ændrede jeg hans shell fra /bin/bash til /bin/false i /etc/passwd filen. Nu har han ikke mulighed for at logge ind med en shell, men han kan stadig forwarde porte.

Husk derfor også, at /bin/false skal bruges med omtanke, da den altså giver visse muligheder udover bare at blokere for login. Brug istedet /bin/nologin hvis du vil spærre helt af for en brugers mulighed for at logge ind/bruge portforwarding.

Læs evt. mere om det her: http://www.semicomplete.com/articles/ssh-security/

Mvh.

Attachments i roundcube webmail.

Jeg har gennem længere tid brugt roundcube webmail. Den er lavet med AJAX så den har nogle fede “eye candy” effekter og den er dejlig nem og hurtig at bruge. Forleden skulle jeg for første gang prøve at sende en mail med en vedhæftet fil via roundcube, det gik ikke så godt. Der var ingen problemer med at vedhæfte filen, men da den skulle sendes kom den aldrig videre end til at vise en fin animeret cirkel, der ligesom indikerer at den arbejder, men videre kom den altså aldrig.

Så måtte jeg jo ud og spørge google hvad det var for noget, der var mange forslag til at ændre grænsen for hvor meget man må uploade og hvor meget hukommelse PHP må ligge beslag på, men alt så faktisk fint ud.

I php.ini filen kan man angive maximum værdier for 3 parametre der kan have indflydelse:

  1. memory_limit som stod til 32 MB.
  2. post_max_size som stod til 16 MB.
  3. upload_max_filesize som også stod til 16 MB.

Udover php.ini er der en .htaccess fil i roden af roundcube mappen og her kan man også sætte nogle grænser, men de stod alle til 10 MB. og jeg forsøgte kun at sende 5 MB.

Jeg tjekkede at jeg kunne sende en attachment på 5 MB med mutt, og der var ingen problemer. Jeg har heller aldrig oplevet problemer med andre mail klienter, så det måtte altså være roundcube den var gal med.

Postfix log filerne sagde intet, faktisk kunne jeg se at den aldrig nåede til at begynde at sende, da der slet ikke var nogle entries som der normalt er når man sender en mail.

Så fandt jeg nogle logfiler fra roundcube som den gemmer i kataloget logs/ i sin egen mappe. Her fandt jeg nogle fejl i logs/errors som ledte mig på rette vej. Her er et eksempel:

PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 4696737 bytes) in /usr/share/roundcubemail/program/lib/Net/SMTP.php on line 831

OK, så det måtte altså være PHP der blokerede for at sende denne mail. Jeg google lidt igen på den ovennævnte log entry og jeg fandt en løsning.

Det viser sig at memory_limit værdien i php.ini som stod til 32 MB var for lidt. Hvorfor ved jeg ikke, men jeg har heller ikke gjort noget for at undersøge det. Jeg ændrede den til 64 MB og nu kunne jeg sende mails med “store” vedhæftninger.

Ændre tiden på din AppleTV

Jeg kunne ikke umiddelbart finde nogen nem måde at ændre tiden på min AppleTV box. I selve AppleTV menuen viser den ikke klokken, så her er det måske mindre relevant, men i XBMC er der et ur der på min box konstant gik 2 timer bagud 🙁

Måden jeg fik det ændret på var ved at logge ind på boxen via ssh (default brugernavn og kodeord = frontrow). Her kan man ændre serveren der bliver syncet imod i filen /etc/ntpd.conf. Den ændrede jeg så til min lokale ntp server, men det ændrede ikke så meget – den var stadig 2 timer bagud.

Tricket var så at filen /etc/localtime er et symlink til hvilken tidszone man befinder sig i, og min stod vistnok til US pacific. derfor slettede jeg det eksisterende /etc/localtime  link og lavede et nyt på følgende måde:

sudo ln -s /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime

Nu stiller tiden sig rigtigt næste gang den syncer, man kan også tvinge den ved at genstarte ntpd dæmonen på følgende måde:

sudo /System/Library/StartupItems/NetworkTime/NetworkTime restart

Så nogen nem måde fandt jeg aldrig, men den her virker!

3G internet via bluetooth med mobilen.

Det har altid været møgbesværligt at sætte bluetooth GPRS/3G forbindelsen op i linux. Indtil nu har det været moget med at scanne med hcitool, forbinde via rfcomm og så krydse fingre for at man falder over den rigtige guide til hvordan det nu lige er man gør. Jeg har sat det op 4-5 gange inden for de sidste 5 år, og hver gang har jeg måttet finde en guide og bruge en masse tid på det.

Nu har jeg så lavet en fresh install af ubuntu 9.04, og jeg håbede på at network manageren bare virkede “out of the box” med dial-up forbindelser, men det gjorde den ikke 🙁

Man skal stadig nørkle med en masse guides, nogle anbefaler gnome-ppp, andre vwdial, og nogle tredie bruger pon og pof og en masse scripts der skal tilpasses. Mange af disse guides er fra mellem 2002 og 2007, så jeg tænkte at der da måtte være kommet en lettere løsning siden “dengang”, det er jo trods alt snart 3 år siden.

Og i dag lykkedes det så for mig at finde en bedre løsning, jeg faldt nemlig over blueman. Blueman er en avanceret bluetooth manager (sammenlignet med gnomes default) der er super til at oprette forbindelse til dit bluetooth udstyr, f.eks. din 3G telefon, og som selv finder ud af hvad telefonen kan og giver dig muligheder derefter. Blueman integrerer sig selv med gnomes network manager, og nu er det en leg at oprette forbindelse til internettet via sin 3G telefon.

For at installere bluman i ubuntu 9.04 skal man tilføje følgende linie i /etc/apt/sources.list:

deb http://ppa.launchpad.net/blueman/ppa/ubuntu jaunty main

hvis den brokker sig over at gpg nøglen mangler kan den findes her:

http://keyserver.ubuntu.com:11371/pks/lookup?search=0x947C4F7371932C794B153F0F6B15AB91951DC1E2&op=index

Importer nøglen og kør sudo apt-get update, derefter sudo apt-get install blueman.

Nu er du klar til at komme på nettet via din telefon 🙂