Skip to content →

Jesper Jarlskov's blog Posts

Programhåndtering via linux’ terminal

For et stykke tid siden skrev jeg en guide til Grundlæggende arbejde med linux’ terminal, som jeg lovede at følge op på med endnu en guide til flere programmer, kommandoer og tips og tricks med terminalen. I denne artikel vil jeg hovedsageligt fokusere på håndtering af programmer, dvs. at finde, installere, opdatere, fjerne og dræbe programmer via terminalen.

Tip

Først et lille trick. Hvis man skal vænne sig til at bruge terminalen noget oftere, er det rart at spare noget skrivearbejde. Det er meget ærgeligt at have siddet og opbygget en lang kommando som man regner med skal løse en eller anden opgave (eller på anden måde gøre et eller andet sejt ;)) bare for at få en fejl fordi man har glemt et sudo foran eller noget lignende.
Man kan i Linux’ terminal bruge piletasterne op/ned til at bladre igennem de kommandoer man tidligere har kørt. Hvis du har lavet en tastefejl eller lignende i en kommando, kan du altså med et klik på opad-pilen hente den fejlende kommando, med højre-venstre-pil kan du så gå til det sted hvor kommandoen fejlede, og rette det. Dette kan spare mange problemer og irritationer for mange mennesker.
Linux gemmer som standard et antal brugte kommandoer alt efter indstillinger. Jeg mener Ubuntu gemmer omkring 500 som standard. Du kan se din maskines liste med kommandoen
history

aptitude

Som nogen måske ved, benytter Ubuntu det pakkesystem der hedder apt. Advanced Packaging Tool. Det er et system bestående af en række servere der stiller en masse programmer til rådighed, både som ren source kode (den kode skrevet af programmørerne) og som binære filer (programmer klar til at blive kørt på din maskine). Dette er efter min mening en af Ubuntu’s største fordele, da det er så let at finde og installere de programmer man skal bruge.
Ubuntu kommer med nogle programmer der kan bruge dette apt-system, det mest kendte er nok apt-get. Jeg vil i denne artikel tale om alternativet, “aptitude”.
Jeg er ikke 100% sikker på de fundamentale forskelle mellem apt-get og aptitude, men jeg har hørt en række forskellige forklaringer, og disse, sammen med mine egne erfaringer gør at jeg selv benytter aptitude.

update

Før du begynder at rode rundt med pakkerne og kommandoerne er det en fordel at opdatere din liste med pakker. Dette betyder at du har adgang til de nyeste pakker. Dette er selvfølgelig let.
aptitude update.

search

En af de ting jeg er glad for i aptitude er søgefunktionen. Apt-get kommer også med en søgefunktion (i apt-cache) men jeg ser nogle fordele i aptitude’s udgave.
Den er ikke så svær at bruge, da det er en simpel kommando:
aptitude search [søgeord].
Hvis du f.eks. vil finde alt hvad der findes af firefox-relaterede programmer bruges:
aptitude search firefox. (Det er ikke sikkert at din bruger på computeren har adgang til at bruge aptitude, da der muligvis skal bruges administrator adgang, se SUDO som nævnt i den tidligere artikel).
En interessant feature i aptitude er her linjen i venstre side af søgeresultatet, hvor der for hver pakke står et eller flere bogstaver. En forklaring på disse bogstaver kan findes i aptitude’s manual, men de vigtigste to er:

  1. p – Intet spor af pakken (med andre ord, ikke installeret).
  2. i – Pakken er installeret på computeren.

install

Når du har brugt noget tid med at fedte rundt med programsøgning er det naturlige næste skridt normalt at installere programmer. Dette foregår heldigvis lige så nemt, hvis ikke nemmere.
aptitude install [pakkenavn].
Sværere behøver det ikke at være :-). Ikke engang hvis du gerne vil installere flere programmer samtidig.
aptitude install [pakke1] [pakke2].
De fleste programmer er afhængige af hinanden på kryds og tværs, f.eks. kan programmer der har en brugergrænseflade selvfølgelig ikke køre hvis du ikke har installeret et grafisk miljø á la Gnome eller KDE. Det er heldigvis ikke et problem du behøver at bekymre dig om så længe du bruger apt, apt sørger nemlig selv for at hente alle de ekstraprogrammer du behøver når du installerer et program, dependencies, som de hedder i apt-kredse.

remove

Hvis du på et tidspunkt finder ud af at du ikke længere har brug for et bestemt program. Har du selvfølgelig mulighed for let og smertefrit at fjerne det igen.
aptitude remove [pakkenavn], og det er her jeg virkelig synes at aptitude træder i karakter og viser sine kræfter.
Fordi på samme måde som den holder styr på de dependencies et program har når du installerer det, holder det også styr på de dependencies et program har haft, når du skal fjerne det igen. Det vil altså sige at aptitude sørger for selv at rydde op efter sig når du installerer og fjerner programmer, og du slipper for at have skrammel liggende som du måske har haft brug for i gamle dage.

safe-upgrade

En vigtig ting når man administrerer en computer er sørge for at alle programmer på maskinen er opdateret. Det kan der være mange gode grunde til. For det første er der et sikkerhedsperspektiv. Fejl i programmer findes og rettes konstant, mange af disse fejl er potentielle sikkerhedshuller på din maskine, og det er derfor en fordel at disse lukkes. På trods af at jeg mener at sikkerheden på Linux generelt er højere end på windowsmaskiner, er det stadig vigtigt at være opmærksom på dette sikkerhedsperspektiv.
Til gengæld er opdateringer, som alt andet jeg har omtalt, hurtigt og smertefrit, og kræver minimal indblanding fra brugeren. Det klares vha.
aptitude safe-upgrade.
For at være sikker på at få de nyeste opdateringer bruges safe-upgrade sammen med den tidligere nævnte update kommando. Det er muligt at sætte Ubuntu til at køre flere kommandoer i rap ved at adskille disse med &&, for at opdatere hele din installation til de nyeste versioner af dine pakker bruges altså:
aptitude update && aptitude safe-upgrade.
En lille kommando der kan hjælpe enormt.

|

Nogle programmer, som f.eks. aptitude search giver et vist output. Dette kan i Linux sendes forskellige steder hen, alt efter hvad det skal bruges til. Normalt sendes outputtet fra aptitude search bare tilbage til skærmen, også kendt som stdout (standard output), men dette kan ændres hvis man har brug for det. Outputtet fra et program kan f.eks. bruges som input til det næste. Denne metode kaldes i linuxterminalen vha. | tegnet, kaldet pipe. Et eksempel på dette vil blive vist i næste afsnit.

grep

grep kaldes med et input, det kan være en fil eller outputtet fra et andet program, vha. den tidligere nævnte pipe, samt et søgeord. grep vil så gennemgå hele det givne input, og printe alle de linjer der indeholder det givne søgeord. Dette bliver bl.a. brugt i forbindelse med aptitude search, hvis resultatlisten bliver for lang, så kan der sorteres i resultatet vha. pipe og grep.
I den tidligere foreslåede søgning efter firefox kom der ret mange resultater, og det kan være svært at finde det man leder efter, hvis man leder efter en specifik pakke. Hvis vi leger at vi leder efter pakken indeholdende firefox 3 kan vi finde alt relevant med kommandoen:
aptitude search firefox|grep 3.
Denne kommando består som nævnt af 3 kommandoer. Først foretages den samme søgning som før. Derefter sendes søgeresultatet videre til grep programmet, vha. | (pipe). Til sidst gennemgår grep hele søgeresultatet, og outputter kun linjer indeholdende søgeord nr. to, altså “3”, til terminalen.

ps

ps er en forkortelse for process status. Det er et program der hjælper med at administrere alle programmer der kører på maskinen. Den kan give computeradministratoren (eller brugeren)
aux
Den udgave af ps der følger med Ubuntu er meget omfattende. Den samler kommandoer fra forskellige ps-udgaver, og kan derfor både forstå UNIX options, BSD options og GNU long options. Det giver i alt rigtig mange muligheder der vil tage meget lang tid at gennemgå, og desuden har jeg aldrig rigtigt haft brug for andre end den ene jeg bruger normalt, nemlig:
ps aux.
Spørger man man ps er dette en kommando der lister alle processer, med BSD syntax (hvis det har interesse for nogen :-)). Dette vil selvfølgelig normalt være rigtig mange processer, og det vil derfor være svært at overskue, men her kommer vores to gode venner | og grep ind i billedet igen, de hjælper nemlig med at finde frem til de processer der har interesse. Hvis man f.eks. er interesseret i at vide hvilke processer firefox har kørende, bruges:
ps aux|grep firefox.
Dette vil outputte forskellige informationer om de processer firefox kører, men de første to, vil normalt være de interessante. Første kollone angiver brugernavnet på den bruger der har startet processen, dette har hovedsageligt interesse på maskiner med flere brugere, men det kan også være interessant at se om en process er startet af den bruger der er logget på, eller af root. Kollonne nr. to angiver pid, hvilket er en forkortelse for “process id”, dette er altså et unikt ID nummer for den enkelte process.

kill

Hvad kan dette så bruges til?
Det kan bl.a. bruges hvis man skulle gå hen og få problemer med et program der ikke svarer, så vil man jo normalt have interesse i at tvinge det til at lukke. Til dette skal du nemlig bruge kill kommandoen, samt processens pid.
Hvis du f.eks. har fundet ud af at din Firefoxbrowser er holdt op med at svare, bruger du, som nævnt:
ps aux|grep firefox
til at finde pid, og derefter:
kill -9 [pid]
til at dræbe processen. -9 er et udtryk for hvor “kraftigt” du prøver at dræbe processen. Der findes 4 af disse grader -1, -2, -15, -9, som stiger i “hårdhed” i den nævnte rækkefølge, startende fra -1 hvor man prøver at få processen til at lukke ved at lukke kommunikationen med den enkelte process, til -9 der tvinger processen i knæ med det samme.
Hvorfor graderne er navngivet på den givne måde er jeg dog ikke klar over.

Jeg håber artiklen har givet dig blod på tanden til at prøve at gøre dit eget liv lettere ved at overflytte noget af dit eget administrationsarbejde til terminalen. Er dit liv blevet lettere efter du har lært at bruge terminalen, eller mangler du stadig på det sidste lille skub før du springer ud i det, og i det tilfælde, hvad tror du at du mangler før du vil tage springet?
Eller har du bare forslag til hvad fremtidige artikler evt. kunne omhandle? Skriv en kommentar og kom med dit besyv.

9 Comments

Grundlæggende arbejde med Linux’ terminal

Selvom Ubuntu er et Linuxbaseret styresystem, kan man, i modsætning til hvad mange tror, sagtens klare sig, uden nogensinde at møde “Den sorte skærm med den lille blinkende pil”, i folkemunde kendt som terminalen. Men man har stadig mulighed for at styre systemet fra sin terminal, og jeg mener at der er rigtig mange gode grunde til at lære terminalen at kende, i det mindste overfladisk.
Terminalen er et rigtigt kraftigt værktøj, det kan gøre computerbrugerens hverdag meget lettere ved at automatisere en masse af det arbejde man ellers skulle lave manuelt. Som de skriver på linuxcommand.org:

Graphical user interfaces (GUIs) are helpful for many tasks, but they are not good for all tasks. I have long felt that most computers today do not use electricity. They instead seem to be powered by the “pumping” motion of the mouse! Computers were supposed to free us from manual labor, but how many times have you performed some task you felt sure the computer should be able to do? You ended up doing the work by tediously working the mouse. Pointing and clicking, pointing and clicking.

Denne første artikel vil omhandle grundlæggende brug af terminalen, hvad det er for en, hvordan den virker og hvordan den ser ud. Derudover vil den komme ind på nogle grundlæggende ting omkring hvordan man navigerer rundt i filer og mapper.
Linjer i artiklen skrevet som
dette
er kommandoer, og kan indtastes direkte i terminalen som det står.

Vi starter med nogle grundlæggende ting omkring terminalen og hvordan den bruges.

screenshot af konsole vindue

Her ses et screenshot af KDE’s terminalprogram Konsole, din terminal kan se lidt anderledes ud end dette alt efter hvilket program du bruger, men de grundlæggende ting er præcis det samme.
Selve terminaldelen er teksten på den sorte baggrund. Der står nogle oplysninger om hvem og hvad.

jarlen@kk:~$

først “jarlen”, dette fortæller “hvem”. Det er brugernavnet for den bruger der er logget på maskinen. @ udtales “at”, og benyttes på samme måde som i e-mailadresser, til at forklare hvilken maskine der er tale om. Det er altså brugeren jarlen på maskinen “kk”, på samme måde som jesper@jarlskov.dk er brugeren jesper på adressen jarlskov.dk.
Det næste “~” forklarer hvilken mappe på maskinen terminalen pt. er i. ~ er en forkortelse for brugerens private mappe på computeren. Man kan altså altid komme tilbage til sin private mappe med kommandoen
cd ~
cd vil blive gennemgået om lidt.
Hvis man af en eller anden grund har brug for den fulde sti til den mappe man er i, bruges kommandoen:
pwd
I mit tilfælde får jeg ouputtet:

jarlen@kk:~$ pwd
/home/jarlen
jarlen@kk:~$

da /home/jarlen er den fulde sti til min private mappe.
Men nu til nogen af de grundlæggende kommandoer.

man

man er en forkortelse for manual, og giver en beskrivelse af de forskellige kommandoer. Det er en kommando der er meget god som opslagsværk hvis man skal finde ud af hvordan en kommando bruges, men det er nok ikke en almindelige mennesker vil bruge så fantastisk meget, da disse manualer er utroligt kedelige. 🙂
Kommandoen bruges med man, efterfulgt af den kommando man skal bruge manualen for, f.eks. for ls:
man ls
For nogle programmer findes der også infofiler, de svarer til man-filerne, men er for det meste lidt kortere og mere overskuelige.

cd

cd står for change directory, og bruges til at navigere terminalen til en anden mappe.
cd Desktop
tager mig f.eks. fra min brugermappe til mappen Desktop. Navigering i mapper foregår på samme måde som i den almindelige filbrowser, og jeg kan altså kun bruge cd Desktop når jeg er i min homemappe, da det er her Desktop-mappen er placeret. Man kan også gå direkte til undermapper, f.eks.
cd Desktop/mappe1 skifter til mappe1 i Desktop-mappen. Det skal bemærkes at navigering i Linux er case-sensitivt. Der er altså forskel på store og små bogstaver. “Desktop” og “desktop” er altså to forskellige mapper. En rigtig lækker feature her er at de fleste terminaler understøtter tab-afslutning. Det betyder at hvis du skriver en del af mappenavnet og trykker på tab, vil terminalen selv færdiggøre navnet. Så cd De [tab] bliver altså automatisk til cd Desktop hvis du ikke har andre mappenavne der starter med “De”. Hvis der er mere end én mulighed kan man trykke tab to gange, så vil terminalen vise alle muligheder.
Der findes to specialtilfælde her. “.” og “..”, disse to “mapper” findes i alle mapper på systemet. “.” betyder “current directory”, altså nuværende mappe. Det er ikke noget man normalt vil få brug for, da cd . bare bringer dig til den mappe du allerede er i, der sker altså ikke nogen mærkbar ændring. “..” derimod betyder “parent directory”, altså “forældre mappe”. Dette henviser til den mappe der ligger niveauet højere i hierarkiet end hvor terminalen pt. befinder sig.
Så når:
cd Desktop
har taget terminalen fra din homemappe ind i Desktop-mappen, vil:
cd ..
tage dig et niveau op, altså fra Desktop-mappen tilbage til din home-mappe.

ls

ls står for list. Kommandoen giver en liste over indholdet af den mappe terminalen er i. Hvis du bruger en terminal med farver slået til vil filer og mapper blive vist i hver deres farve. Kommandoen som den står vil dog normalt ikke vise alt indholdet. Dette skyldes bl.a. at Linux behandler alle filer og mapper startende med “.” som skjulte, og de vil derfor ikke blive vist som standard.
Her får du brug for de såkaldte “flag”. Det er ekstra indstillinger du kan give programmerne, for at få dem til at fungere anderledes. Disse flag bruges med “-” efterfulgt af en bogstav. Det er her man-siderne bliver gode at have, da du her kan finde en liste over alle flag for en given kommando, samt en beskrivelse af hvordan de bruges.
Hvis du kigger i man ls kan du bl.a. se at ls kan benyttes med flaget -a, der vil vise disse skjulte filer og mapper.
ls -a vil altså vise alle filer og mapper der findes i den mappe terminalen er i, inkl. de skjulte. -l (lille L) flaget giver en listevisning, med flere detaljer om hver fil og mappe.
Flag kan kombineres, så:
ls -a -l vil derfor give en listevisning indeholdende bl.a. rettigheder og filstørrelse på alle filer og mapper i mappen, inkl. skjulte.

locate

locate er et søgeprogram der bruges til at finde filer på maskinen. Programmet indeholder en database over filer på computeren og arbejder derfor utroligt hurtigt. Dog er det nødvendigt selv at sørge for at denne database bliver vedligeholdt. Dette er ikke så slemt som det lyder, da det bare kræver at du engang imellem kører kommandoen:
updatedb
det synes jeg personligt er en meget lille pris at betale for så hurtig og effektiv søgning :-).
Køres kommandoen som den står vil den dog give fejlen:
updatedb: fatal error: You are not authorized to create a default slocate database! da der kræves administratorrettigheder. Dette klares vha. kommandoen sudo.

sudo

sudo er en forkortelse for Super User DO, og bruges til at give administratorrettigheder til det program du ønsker at køre. Hvis vi tager eksemplet fra før med updatedb giver man administratorrettigheder til updatedb-programmet vha. sudo således:
sudo updatedb. Terminalen vil herefter spørge efter din administratorkode. Sudo kan kun bruges af medlemmer af “admin”-gruppen på maskinen, den bruger der oprettes under installationen er automatisk med i denne gruppe, så hvis du kun har en bruger på maskinen bruges samme kode som når du logger på. Dette vil nok være tilfældet de fleste steder.
HUSK! når du skriver dit password i terminalen vil der ikke komme noget output. Du kan altså hverken se hvad eller hvor meget du har skrevet som password indtil videre, dette kan give nogle problemer engang imellem hvis man ikke lige er opmærksom på det.

which

Lidt i samme stil som locate findes programmet which. Det er også et søgeprogram, men i stedet for at finde filer som locate, bruges det til at finde ud af hvor dine programmer bliver installeret.
Jeg har f.eks. installeret programmet firefox som internetbrowser, så hvis jeg bruger kommandoen:
which firefox
får jeg outputtet:

/usr/bin/firefox

Vær opmærksom på at som sædvanlig i linux er inputtet case-sensitivt.
which Firefox vil altså ikke give noget resultat.

mv

Nu da du har lært at finde lidt rundt i dit filsystem og finde de filer og mapper du skal bruge, kunne det også være relevant rent faktisk at kunne gøre noget ved disse, så jeg vil nu gennemgå et par grundlæggende muligheder. Den første er mv. mv er en forkortelse for move, og bruges altså til at flytte filer og mapper rundt.
mv fil mappe
tager filen ved navn “fil” og ligger den i mappen “mappe”, stille og roligt. 🙂 Husk at du også her kan bruge tab-completion som nævnt ovenfor ved cd-kommandoen. Både til når du skriver filnavne og mappenavne. Hvis den mappe der står i andet argument ikke eksisterer vil mv behandle det som et filnavn du gerne vil gemme filen som. Det betyder at der ikke findes ingen kommando til at skifte navn på filer i linux, man bruger simpelthen mv kommandoen.
mv gammeltNavn nytNavn
ændrer navnet på filen “gammeltNavn” til “nytNavn” med mindre der findes en mappe ved navn “nytNavn” i den mappe terminalen er i.

cp

cp er en forkortelse for copy, og bruges til at kopiere filer og mapper. Grundlæggende bruges den på samme måde som mv.
cp fil mappe
kopierer filen ved navn “fil” ind i mappen ved navn “mappe”. Hvis du gerne vil kopiere mapper får du dog brug for flag, som jeg omtalte tidligere. Rigtig mange programmer kan bruge flaget “-r”, hvilket vil kalde programmet rekursivt, den samme kommando vil altså blive udført for alle filer og mapper i den mappe du arbejder med.
cp -r mappe1 mappe2
vil kopiere mappe1 over i mappe2, flaget -r sørger så for at alt indholdet af mappe1 bliver taget med, så du ikke ender med en tom mappe2.

rm

rm er en forkortelse for remove, og det er sådan set hvad den gør. Den bruges til at slette filer og mapper. Den fungerer lidt på samme måde som mv og cp.
rm fil sletter filen ved navn “fil”.
På samme måde som cp arbejder rm som standard kun med den fil eller mappe som du specificerer direkte. Hvis du skal slette en mappe med indhold skal du altså igen bruge -r flaget.
rm -r mappe sletter altså mappen med navnet “mappe” og alt indhold.

mkdir

mkdir er en forkortelse for “make directory”. Den bruges til at oprette nye mapper.
mkdir nyMappe
opretter en mappe med navnet “nyMappe”.

Afsluttende ord

Det var en gennemgang af meget grundlæggende brug af terminalen i Linux. Jeg vil i senere indlæg komme ind på nogle lidt mere avancerede funktioner, og altså nogle steder hvor terminalen rigtig vil kunne gøre dit arbejde lettere og hurtigere. 🙂

6 Comments

Mærkbar positiv omtale aka. Gratis software til alle

Gratis programmer er legende lette.

Sådan indledes en artikel i Ekstra Bladet’s KUP! tillæg i lørdags. Artiklen handler om det gratis Open Source operativsystem Ubuntu.
Artiklen er baseret på et interview med Christian Arvai, omkring hans egne meget positive erfaringer med Ubuntu, og kommer bl.a. ind på de fordele Christian har oplevet, som udover prisen i sig selv, også omfatter muligheden for at køre det på selv gamle maskiner, disse ting tilsammen giver hans 3 børn adgang til hver deres maskine, uden at det skal koste familien hele deres indkomst, og uden at gå på kompromis med hvad de kan lave. Artiklen nævner bl.a. den “Guide til installation af Pixelinespil” som Christian har skrevet på ubuntudanmark.dk som er en officielt forening for danske Ubuntubrugere.
Derudover bragte Ekstra Bladet endnu en artikel, om gratisprogrammer generelt. Her nævnes bl.a. den gratis kontorpakke Open Office og The Gimp, som er et gratis billedbehandlingsprogram. Der nævnes også gratisprogrammer der ikke er Open Source, fx det gratis antivirusprogram AVG.
Ekstra Bladet har foretaget nogle beregninger, og kommer frem til en besparelse på 5500kr hvis man udskifter sine betalingsprogrammer som Windows, Microsoft Office samt et betalt antivirusprogram, med de gratis alternativet. Om beregningerne holde stik skal jeg ikke kunne sige, men det burde give stof til eftertanke, da der er tale om mange penge, især set i forhold til at nogle af beløbene er årlige licensomkostninger, og altså ikke engang engangsudgifter. Der kan altså være rigtig mange penge at spare i længden.
Men tilbage til det egentlige emne. Jeg er selv medlem af ubuntudanmark.dk – Foreningen for danske Ubuntubrugere, og jeg prøver bl.a. holde mig et overblik over alt hvad der foregår på forummet ved at have tilføjet forummets RSS-feed til min feed reader: Google Reader. Det har været tydeligt at mærke at antal forumindlæg er vokset kraftigt, jeg vil gætte på at det daglige antal nye indlæg er næsten fordoblet siden i lørdags. I følge forumadministrator og formand for ubuntudanmark.dk, Martin Pihl kan det også tydeligt aflæses af statistikken for ubuntudanmark.dk at artiklen har haft en positiv indvirkning på sidens besøgstal, som han skriver:

Mod de normale cirka 500 daglige besøgende, kunne vi søndag tage imod
mere end 2.200 nysgerrige Ubuntu-interesserede.

Og det var skam ikke alle, der bare tog et kig på siden, og forsvandt
igen. Mod de normale 3-4 daglige nye brugerregistreringer, lå vi søndag
på hele 24 nye registrerede bruger!

Der er altså helt klart tale om positiv omtale, og det virker som om folk tager de gode råd til sig, og jeg håber at mange af dem vil hænge i, og få meget glæde af deres nye gratis software, ubuntudanmark.dk står ihvertfald klar til at hjælpe alle der får brug for det, og det gør ingen forskel at de ikke er medlemmer af foreningen! 🙂

2 Comments

Spændende WordPress plugins 2/2

For et stykke tid siden skrev jeg første indlæg i føljetonen Spændende WordPress plugins hvor jeg skrev om de første to af de wordpressplugins jeg er glad for, samt en længere udredning om hvorfor. Dette er (regner jeg med) sidste afsnit, hvor jeg vil komme ind på et par mere eller mindre kendte plugins.

Første post: De mest interessante, og knap så kendte

  • WordPress Automatic Upgrade
  • All in One SEO Pack

Andet post: De små nyttige

  • Google XML Sitemaps
  • ShareThis
  • WP Security Scan
  • Akismet

Google XML Sitemaps

En god måde at få besøgende på sin hjemmeside er fra søgemaskiner, men der kan være meget konkurrence på de “gode” søgeord, og søgemaskineoptimering er en hel videnskab i sig selv som jeg ikke vil komme ind på nu, men evt. i et senere indlæg.
Det første skridt i retning af at blive fundet i søgemaskinerne er at gøre søgemaskinerne opmærksom på at din hjemmeside findes. De fleste søgemaskiner tilbyder diverse services der giver webmasters mulighed for at få deres sites inkluderet i søgemaskinernes index. Flere af de store søgemaskiner som Google og Yahoo! tilbyder en service hvor man kan uploade et sitemap og på den måde informere google om sin hjemmeside og alle undersider.
Et sitemap er et specielt udformet XML-dokument der indeholder informationer om alle de undersider din hjemmeside indeholder. Dette giver søgemaskinerne bedre mulighed for at finde og indeksere alle dine sider, så de ved hvor de skal sende alle de besøgende hen 🙂
Det vil dog være et langsommeligt og kedeligt arbejde selv at skulle sidde og udforme dette sitemap, og chancen for at man husker at få det gjort er nok konstant dalende jo længere man har haft sin hjemmeside. Her kommer wordpress pluginet “Google XML Sitemaps” ind i billedet. Dette er simpelthen et plugin der i alt sin enkelthed sørger for at opdatere dit sitemap helt automatisk, i takt med at du skriver indlæg i din wordpress blog. På denne måde sikrer du at Google altid har relevant info om alle dine blogindlæg, så de er tilgængelige for alle de informationshungrende googlebrugere.

ShareThis

Bare det at få sin side på Google er dog ingen garanti for at få besøgende, der skal normalt mere arbejde til når ordet om din side skal spredes. Et andet interessant plugin der kan hjælpe med at sprede ordet om de interessante artikler eller blogindlæg du skriver på din hjemmeside er “ShareThis”.
ShareThis er et plugin der giver dine læsere hurtig og let adgang til at dele og stemme på dit blogindlæg på en række af de mange nyhedssider der findes rundt omkring, f.eks. Digg, Technorati eller del.icio.us, som alle er populære steder at dele og debattere interessante nyheder og blogindlæg man finder rundt omkring på nettet.
Du kan selv udvælge de nyhedssider du gerne vil have med i din ShareThis-boks, og hvilken rækkefølge de skal ligge i, og du får på den måde mulighed for selv at bestemme hvilke sider du mener kunne være interessante i forhold til dit indhold.

WP Security Scan

Virus, orme, SQL-injections og Cross-site-scripting. Internettet er proppet med mere eller mindre forståelige sikkerhedstrusler som man skal være opmærksom på når man surfer rundt. Det er vigtigt at man sørge for at holde sin computer og sine programmer opdaterede og sikre, og det samme gælder dine onlineprogrammer. Hvis der er noget der er dårligt for dit omdømme online, er det en hjemmeside der deler virus ud til alle de besøgende, hvis det bliver opdaget kan du være sikker på at dine besøgende aldrig kommer igen.
Internettet er et medie i hastig udvikling og “de onde” finder hele tiden på nye måder at skabe problemer for den almindelige bruger, og det gælder derfor om hele tiden at være opmærksom på hvad der sker på og omkring ens hjemmeside. Dette kan være svært da det som sagt går rigtig stærkt, og især hvis man ikke er så teknisk anlagt (eller mangler interessen) kan det være svært at følge med. Derfor er det rart at der er hjælp at hente. “WP Security Scan” er en lille hjælper der gør opmærksom på sikkerhedsaspekter der kan være værd at tænke over, og giver forslag til ændringer der kan gøre systemet mere sikkert. Det handler bl.a. om at informere om nye wordpressversioner der bliver tilgængelige (irrelevant hvis du bruger WordPress Automatic Upgrade som jeg omtalte i første halvdel af serien), samt at komme med foreslag til sikkerhedsforbedringer, som at skjule hvilken WordPressversion du kører med, dette kan gøre det sværere for potentielle angribere at gætte hvilke kendte sikkerhedshuller din wordpressinstallation er ramt af, og på den måde hjælpe med at holde dem på afstand.

Leave a Comment

Spændende WordPress plugins 1/2

På min tur rundt til nogen af de andre blogs jeg følger med på, har jeg lagt mærke til en tydelig tendens. Hvis man baserer sin blog på wordpress blogsystemet (som jeg gør), og har fundet en række plug-ins som man er rigtig glad for (som jeg har), så er man nødt til at skrive et post om det (som jeg er i gang med).
Da dette sandsynligvis vil blive et langt indlæg har jeg valgt at fordele det over to omgange, som det ses af listen nedenfor.

Første post: De mest interessante, og knap så kendte

  • WordPress Automatic Upgrade
  • All in One SEO Pack

Andet post: De små nyttige

  • Google XML Sitemaps
  • ShareThis
  • WP Security Scan
  • Akismet

WordPress Automatic Upgrade

Som du måske har lagt mærke til er min blog stadig meget ny, det er altså begrænset hvor mange erfaringer jeg har nået at lave mig, men en af de ting der virkelig har virket overbevisende for mig var “WordPress Automatic Upgrade (WPAU)”-pluginet.
Som navnet antyder hjælper pluginet med hurtigt og let at opdatere til den nyeste version, og i disse dage med virus, orme og sql-injections alle vegne kan man næppe få sikkerhedsopdateringer nok :-).
Når pluginet er installeret vil der i toppen af administratorsiderne være et “banner” der informerer dig hver gang der er en ny wordpressopdatering tilgængelig, et enkelt klik fører dig til opdateringssiden. Opdateringen foregår via. en håndfuld lette skridt, og minder meget om den procedure der også bruges på windows når man skal installere programmer, altså bare klik “næste”, “næste”, “næste”, “afslut”.
Hvor det på Windows nogen gange kan virke underligt at man skal trykke så mange gange på samme knap tilsyneladende uden speciel grund, har hvert enkelt step i WPAU’s opdateringsprocedure et reelt formål.
De første 2 steps bruges til at lave back-up af hele din blog. Dette “burde” som sådan ikke være nødvendigt, da en opdatering jo “burde” foregå let og smertefrit (hvilket det har gjort hver gang jeg har brugt WPAU), men man kan jo aldrig vide, så det er godt at være på den sikre side 🙂
Altså første step, back-up af alle dine wordpress filer (themes, plugins osv.), step to, back-up af din database. WPAU giver dig også direkte links til at downloade begge back-ups til din egen maskine, så du er helt sikker på der ikke sker noget.
De næste par steps hænger tæt sammen. I det første vælger man hvilken wordpress version man vil opgradere til. Steppet har pt. ikke den store nytte da der kun er mulighed for at opdatere til nyeste officielle wordpress version. Senere vil det dog blive muligt at opdatere til nyeste version på sit eget sprog.
I det næste step sætter WPAU bloggen i “maintenance mode”, dvs. bloggen “slåes fra” så WPAU kan få lov til at opdatere i ro og mag, uden at nogen har mulighed for at pille ved sitet eller databasen imens. Derudover bliver alle plugins deaktiveret, så man kan være sikker på at disse ikke skaber ballede i opdateringen, samt den anden vej rundt, at opdateringen ikke ødelægger dine plugins, eller disses indstillinger. Herefter sørger WPAU selv for at opdatere bloggen, og alle plugins reaktiveres, sammen med resten af bloggen.
Sværere er det ikke. Nu er hele bloggen opdateret (som sædvanlig mærker jeg ingen problemer :-)). For en sikkerheds skyld bør du dog checke siden igennem engang, bl.a. kan der ske fejl der gør at ikke alle plugins bliver reaktiveret af sig selv, men de par sekunder det tager at gøre dette selv, vil jeg mene er givet godt ud i forhold til hvor længe det ville tage at opdatere hele bloggen manuelt.
En sidste bonus er at WPAU også kan sørge for at opdatere dine plugins for dig ved et tryk på en knap. Så bliver det ikke meget lettere.

All in One SEO Pack

Som du måske har gættet hvis du kigger lidt rundt på mine andre indlæg, er jeg meget interesseret i teknik, IT og internet. En af de ting jeg synes er ret interessante er Search Engine Optimization, eller populært sagt, hvordan man bliver nr. 1 hos google.
For at få en god placering på google, gælder det om at få sin side til at virke relevant i forhold til det folk søger efter, og nogle af de ting google kigger på for at bestemme en sides relevans er bl.a. sidens title, og “meta tags”. Titlen er den du ser op topbaren, det vil på denne blogpost være “Spændende WordPress plugins | Jesper Jarlskov”. “Meta tags” er lidt bedre gemt, og du skal ind og kigge i kodens “source” for at finde disse, de er dog også kun henvendt til søgemaskinerne, og ikke til gæsterne på siden.
Normalt giver wordpress mulighed for at sætte nogle default-værdier til både sidens titel, og meta tags, og så vil disse blive brugt på alle de sider der findes på sitet, men her kommer “All in One SEO Pack” pluginet ind i billedet. Dette plugin giver mulighed for at specificere alle disse tags, til hvert enkelt af dine posts, og giver dig på den måde mulighed for at fortælle google hvilke søgeord der vil være relevant for hvert enkelt af dine indlæg, og på den måde vil pluginet kunne hjælpe dig i kampen op af googlestigen.
Dog skal man passe på med bare at læne sig tilbage og vente, da det stadig kræver relevant indhold hvis du vil have folk til at besøge din side 😉

5 Comments

Project Euler – Matematik, programmering og leg.

For et stykke tid siden indetroducerede min ven Mads Ravn mig for sitet: projecteuler.net. Det en en side der indeholder en lang række små programmeringsopgaver, af matematisk karakter.
Folkene bag sitet beskriver det selv som:
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.

Sitet indeholder ca. 200 opgaver af matematisk karakter, der allesammen kan besvares med et tal. Der så bruges som svar, på opgavesiden. Et eksempel på en af de lettere opgaver kunne være:
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.

Man skal altså finde alle tal mellem 0 og 1000 der kan divideres med enten 3 eller 5, og have 0 som rest. Alle disse tal skal så summeres, og man har resultatet på opgaven. Dette resultat skal indtastes i en boks på opgavesiden, og du vil herefter få at vide om resultatet er rigtigt.
Et eksempel på en lidt sværere opgave kunne være nr. 189 hvor man har en trekant, opbygget af 64 mindre trekanter, disse små trekanter skal alle farves med en af tre farver. Hvor mange forskellige muligheder har man for at kombinere de tre farver, hvis to nabotrekanter ikke må have den samme farve?

Når man har besvaret en opgave korrekt får man adgang til er forum hvor den enkelte opgave kan diskuteres, her kan man bl.a. diskutere kode og optimering af denne.
Der bliver holdt styr på hvor mange opgaver du har klaret (Jeg har pt. klaret 15 ud af 202 opgaver), samt at det er muligt at finde statistikker for andre brugere enten ud fra hvor mange opgaver de har løst, eller ud fra hvilket land de kommer fra. F.eks kan jeg se at der pt. er 148 danske brugere, og den dansker der har løst flest opgaver er troels, der har løst 148 opgaver, og bruger programmeringssproget Haskell, til det.

Personligt synes jeg det er nogle sjove små opgaver der udfordrer og tvinger dig til at tænke på alternative løsninger til problemer. Det er god træning hvis du godt kan lide at programmere, og det er på mange måder lærerigt. Så hvis man kan lide at programmere og/eller matematiske udfordringer vil jeg klart anbefale at oprette en profil og kigge lidt på det. Det kunne være man kunne lære noget 🙂

Leave a Comment

Open-Source Licenser holder også juridisk

Der er forbudt at stjæle og ændre i andre folks produkter hvis det bryder den licensaftale der er tilknyttet produktet, også selvom der er tale om gratis produkter der er lavet med henblik på at andre skal kunne bruge og ændre i produkter, så det kan tilpasses efter behov. Det slår appel-retten i USA nu fast, skriver [url=”http://www.networkworld.com/news/2008/081408-open-source-advocates-hail-appeals.html?hpg1=bn”]NetworkWorld[/url]. Robert Jacobsen er den ledende programmør på open source værktøjet [url=”http://jmri.sourceforge.net/”]Java Model Railroad Interface (JMRI)[/url], der er udgivet under en GNU General Public License (GPL), der giver alle ret til at downloade og ændre produktet efter egen forgodtbefindene, men der kræves dog at alle ændringer udgives under selvsamme GPL, sammen med en henvisning til originalproduktet som ændringerne har taget udgangspunkt i.
Den indeværende sags kerne er at firmaet Kam Industries der har downloadet ændret og distribueret kode fra JMRI-projektet uden referencer til hvor de har fået koden fra, samt hvilke ændringer der er foretaget, samtidig med at de har udgivet produktet under deres egen licens. JMRI har derfor fået appelrettens ord på at der er tale om copyrightbrud.
Personligt synes jeg det er et skridt i den rigtige retning, og det er godt at se at man kan få lov til at dele ud af sine egne hjemmelavede ting, mens man stadig får lov til at beholde sine rettigheder.

Kilder:
http://www.networkworld.com/news/2008/081408-open-source-advocates-hail-appeals.html?hpg1=bn
http://www.comon.dk/news/usa-domstol.blaastempler.open.source-licenser_37261.html
http://www.altomdata.dk/index.php?module=Pagesetter&func=viewpub&tid=1&pid=7784
http://www.version2.dk/artikel/8154
http://jmri.sourceforge.net/

Leave a Comment

The official Ubuntu Book

Jeg vil i dette post prøve at eksperimentere lidt med en decideret boganmeldelse. Det er ikke noget jeg har brugt siden engang i gymnasiet, og dengang handlede det noget mere om metaforer og ordbrug end det vil gøre denne gang 🙂

Jeg har et stykke tid har været interesseret i fri software, og er i den forbindelse begyndt at benytte Ubuntu, som er et GNU/Linux-baseret styresystem. Da jeg godt kunne tænke mig at lære mere om Ubuntusystemet valgte jeg at finde en bog om emnet, efter lidt søgen fandt jeg: The official Ubuntu Book.
Overordnet set synes jeg det er en rigtig god bog, der kommer ind på mange interessante emner den dækker et bredt udvalg af både tekniske og ikke-teknisk spørgsmål omkring Ubuntu, dette giver læseren mulighed for at lære noget hvad end denne måtte være helt ny til Linuxverden, eller en garvet command-line hacker.
Bogen starter med en del om hvad Ubuntu er, afsnittet giver en ikke-teknisk beskrivelse af Linux og idéen bag Fri og Open Source Software (FOSS), ydermere indeholder afsnittet en gennemgang Ubuntu’s historie, virksomheden Canonical der står bag systemet, samt Canonicals hovedsponsor Mark Shuttleworth.

Anden og også den største del af bogen er den tekniske del. Den er opbygget meget logisk, i og med at den starter fra bunden af, med en beskrivelse af hvordan man får fat i Ubuntu, samt hvordan det installeres. De færreste med en smule computererfaring skulle have problemer med installationen af Ubuntu, ellers skulle denne guide nok kunne afhjælpe de fleste problemer.
Efter installationsguiden kommer det naturlige næste step, hvordan man bruger systemet. Her gives en gennemgang af hvordan man navigerer rundt på sit nye Gnome Desktop Environment, der er standarden i Ubuntu. Desuden indeholder afsnittet beskrivelser af de en række af de standardprogrammer der følger med Ubuntu; Firefox til webbrowsing, Evolution til e-mails, Gimp til billedredigering, samt en række andre programmer der kan være nyttige i det daglige.
Efter introduktionen til den daglige brug af Ubuntu følger et endnu mere teknisk afsnit. Det handler om systemadministration, herunder opdatering af systemet samt af installerede programmer. Derudover beskrives det hvordan man arbejder med ekstern hardware som printere, netværksdrev, og der gives en introduktion til at arbejde med terminalen, desuden gives der en introduktion til Ubuntu som server. Bogen er fyldt med små “indskydelser” i form af korte ekstra tips og tricks som, f.eks. hvilke problemer folk normalt oplever i forbindelse med de emner der beskrives. En af bogens forcer er da også, efter min mening, forfatternes tendens til at skrive som om de rent faktisk taler af egne erfaringer. Der er bl.a. et helt kapitel med “typiske problemer” som mange folk vil løbe ind i. Dette giver nybegynderne en mulighed for at følge med, samtidig med at de mere teknisk erfarne får nogle nye tips.
Det tekniske afsnit afsluttes med en introduktion til Ubuntu-afarten Kubuntu, samt en beskrivelse af nogen af de mange andre Ubuntu-afarter der findes. Bogen giver altså mulighed for at lære at bruge Ubuntu, samtidig med at den giver inspiration til hvordan man kan eksperimentere med lignende systemer hvis man har lyst til det.

Den sidste, og efter min mening mest interessante del af bogen handler om det jeg ligeledes finder som noget af det mest interessante ved fri software; fællesskabet, eller communitiet. Der gives en god gennemgang af hvordan det foregår når så mange mennesker rundt omkring i hele verden arbejder sammen. Der forklares både om de involverede parters mest brugte kommunikationsformer via internettet såsom mailing-lister, og IRC-kanaler og indeholder også en gennemgang af de vigtigste lister og kanaler, samt en beskrivelse af hvad de hver især er beregnet til. Udover selve kommunikationen gennemgåes også en række af de værktøjer der bliver brugt af disse communities, som Launchpad og Bazaar.

Jeg synes det er en rigtig interessant bog der spænder meget bredt, helt fra “hvordan” og “hvorfor” bør man overveje Ubuntu som almindelig computerbruger, til hvordan og hvorfor kan man hjælpe med at gøre hele oplevelsen bedre både for sig selv for andre. Der er altså noget for enhver smag, hvad end man har er en garvet bruger der gerne vil give noget tilbage til Ubuntu, eller man bare har leget med tanken om at prøve Ubuntu men stadig er i tvivl om man “got what it takes”. Bogen er skrevet med henblik på Ubuntu version 6.06, det er ikke den nyeste version, men det er en LTS (Long Term Support), der bliver stadig bliver lavet opdateringer til. Desuden vil næsten alt der bliver beskrevet i bogen stadig være brugbart i de nyere versioner. De største ændringer er nok til communitiets opbygning hvor der nu bl.a. er kommet mange flere mailinglister.

En del af bogen kan læses online, eller man kan som jeg låne den på biblioteket, eller bestiles på
Amazon.co.uk

Leave a Comment

Første post

Dette er første post på min nye blog. Den vil hovedsageligt omhandle livet set fra en studerendes øjne, og software/programmering af forskellig art. Hovedsagelig af den frie slags.

Jeg er personligt meget glad for fri software, og bruger selv Ubuntu linux på min arbejdsmaskine, som er i brug hver gang tiden er til det. Derudover er jeg glad for selv at kode software, hovedsageligt i sprogene PHP, Python eller Java.

Denne blog er stadig helt ny og vil i starten hovedsageligt blive brugt til forskellige former for eksperimenter, men der vil forhåbentligt dukke nogle gode posts op med tiden som folk vil finde interessante, og vende tilbage til.

Derudover er det en åben blog, så folk er velkomne til at ligge en kommentar med spørgsmål eller andet interessant.

Leave a Comment