• Logga in
    • Sök
    • Kategorier
    • Senaste
    • Taggar
    • Populära
    1. Hem
    2. Mikael
    3. Inlägg
    • Profil
    • Följer 0
    • Följare 0
    • Ämnen 514
    • Inlägg 3008
    • Bästa 3
    • Controversial 0
    • Grupper 4

    Inlägg skapade av Mikael

    • Byta indentering från tab till 2 mellanslag

      Kodindentering

      Det finns många olika varianter av indentering. Många använder tab medans andra använder 2 eller 4 mellanslag. Jag har själv alltid använt tab men har på senare tid gått över till 2 mellanslag. Man kan lätt konvertera filer med tabbar till mellanslag genom att använda sig av Vim (se smarta kommandon).

      Ett problem som jag stötta på var att veta vilka filer som jag hade fixat. Det är mycket att gå igenom manuellt. Med hjälp av detta kommando så söker du genom alla filer i en trädstruktur som innehåller just tab.

      Lista filnamn och innehåll som matchar tab

      grep -Pr "\t" *
      

      Lista bara filnamnen

      grep -lPr "\t" *
      

      Mycket bra och lätt kommando för att underlätta konverteringen åt dig 🙂

      postat i Utveckling
      Mikael
      Mikael
    • App för att editera textfiler i Google drive

      Google Drive

      Google drive är riktigt bra ifall man vill ha sina dokument i molnet. Som standard så finns det ingen bra editor för att editera textfiler online.

      Commanditor

      Det bästa jag har hittat hittills är denna app: https://commanditor.github.io

      Drive Notepad

      Detta är en tidigare app som var populär att använda. Du hitter den här: https://drivenotepad.github.io

      Båda dessa appar finns att lägga till i drive.

      postat i Utveckling
      Mikael
      Mikael
    • Bästa länkarna att lära sig mer om Linux

      Om du är sugen på att lära dig något nytt så tycker jag att du ska ta en titt på Linux och öppen källkod. Om du är en person som är villig att kämpa lite för att läsa sig ett system så är Linux klockrent för dig. Det finns självklart olika svårighetsgrader beroende på vilken distrubution av Linux du väljer att börja med.

      Börja med att kolla in dessa länkar!

      • Kernel newbies - Lär dig mer om ramverket som gör det möjligt att interagera med datorns maskinvara.
      • Linux Questions - Här är en bra källa ifall du har frågor om Linux och alla distributioner i allmänhet.

      Det finns självklart massor med sidor på internet som är bra men det finns mycket skit också tyvärr. Har ni tips som jag tycker är bra så lägger jag till dem i listan 😉

      postat i Linux
      Mikael
      Mikael
    • Installera CoreOS i VirtualBox

      Här är en guide för er som har upptäckt hur bra CoreOS är och hur man installerar CoreOS i Oracle VM VirtualBox. Kör inte scripten som root.

      2000px-CoreOS.svg.png

      Bygg en Virtual Disk

      Det finns ett script som förenklar skapandet av VDI avbildningen. Den laddar ner en grund avbildning, verifierar GPG och konverterar den till VirtualBox format. Du kan hitta scriptet på GitHub. Host systemet för VirtualBox måste ha stöd för VirtualBox tools.

      1. Som första steg så laddar du ner scriptet och gör den exekverbar.
        wget https://raw.github.com/coreos/scripts/master/contrib/create-coreos-vdi
        chmod 755 create-coreos-vdi

      2. För att köra scriptet så kan du specificera platsen där den ska hamna och CoreOS version.
        ./create-coreos-vdi -d /coreos/vdi/image/path -V stable
        Du kan välja vilken kanal man ska basera din disk avbildning på (alpha, beta, stable) . Man kan också specificera ett versionsnummer för CoreOS om man vill.

      Skapa en Config-Drive

      För att komma åt din maskin så behöver du en config-drive med SSH-nyckel inställningar. Det finns även ett script för att hjälpa dig med att bygga din config-drive. Du kan modifiera till dina inställningar i create-basic-configdrive om du vill lägga in något extra i din cloud-config.

      1. Skapa din nyckel med ssh-keygen.
        ssh-keygen -b 4096 -f hostname

      2. wget https://raw.github.com/coreos/scripts/master/contrib/create-basic-configdrive
        chmod 755 create-basic-configdrive
        ./create-basic-configdrive -H my_vm01 -S hostname.pub
        Detta kommer att skapa en ISO-fil som heter my_vm01.iso med ssh-nyckeln som du väljer att använda.

      Skapa en ny virtuell maskin i VirtualBox

      Klona avbildningen för varje ny virtuell maskin du skapar och sätt den till önskad storlek.

      1. VBoxManage clonehd coreos_production_stable.vdi my_vm01.vdi

      2. Ändra storlek på den virtuella avbildningen till 10 GB
        VBoxManage modifyhd my_vm01.vdi --resize 10240
        När CoreOS bootar så kommer den märka att volymen har modifierats och ändra storlek på filsystemet.

      3. Öppna VirtualBox Manager och gå till menyn Machine > New. Skriv in önskat maskinnamn och välj Linux som typ och Linux 2.6 / 3.x (64 bit) som version.

      4. Välj sedan önskat minne. Jag rekommenderar 1 GB minst för att det ska funka bra.

      5. Sedan väljer du Use an existing virtual hard drive fil och tar den nya klonade avbildningen. Sedan så tycker du på Create.

      6. Sedan måste du lägga till config-drive avbildningen som CD/DVD. När maskinen bootar så använder den config-drive för att sätta upp din nyckel och annat du har skrivit i den cloud-config. Sedan är det bara att starta maskinen.

      7. För att behålla inställningarna från cloud-config så ska config-drive avbildningen vara monterad hela tiden.

      Logga in

      Det kan ta ett tag för nätverket att komma upp under VirtualBox och du behöver veta ip-numret som du fått för att kunna ansluta till den. Det är bara att tycker enter några gånger för att det ska dyka upp. Nu är det bara att logga in via SSH och använd nyckeln du skapat. Sätt upp Port Forwarding i VirtualBox Manager så du kan komma åt SSH (10022:22).

      1. ssh -p 10022 -i hostname [email protected]

      Länkar

      • VirtualBox
      • Config-drive
      • Cloud-config guide
      • CoreOS Quickstart
      • More specific topics

      Nu är guiden klar 😉

      postat i Linux
      Mikael
      Mikael
    • Docker - Kommandon

      Docker

      Här har ni en lista på kommandon för Docker. Mina dockerfiler finns på github.

      Generell

      Lista alla containers (-a Visa alla containers, standard är att bara visa vilka som är igång)

      docker ps  -a
      

      Övervaka alla containers

      docker stats
      

      Lista alla images

      docker images
      

      Kör ett docker paket (Använd <kommando> för att ändra standard kommandot)

      docker run -it --rm <docker path> <command>
      -d = starta i bakgrunden*
      -it = Interaktiv + tty*
      --name = Sätt ett namn / Lämna tomt för slumpat namn*
      --rm = Ta bort container när den avslutas*
      -p 80:80 = Mappa coreos / docker portar*
      --volumes-from = Montera volumes*
      -w = Vilken katalog det körs från inne i containern*
      

      Kör ett kommando i en aktiv container

      docker exec -it <container> <command>
      

      Anslut till en aktiv container

      docker attach <container>
      

      Koppla ifrån en aktiv container

      ctrl + p + q
      

      Uppsättning

      Hämta en image

      docker pull <Docker sökväg>
      

      Spara image innehåll till en tar fil

      docker save <image name> > filename.tar
      

      Spara container innehåll till en tar fil (Detta kommer inte att innehålla någon volume data)

      docker export <container id> > filename.tar
      

      Skapa

      Bygg image filen (Ladda ner dockerfilen i en tom katalog)

      docker build -t <name>/repository .
      

      Autentisera sig mot en docker hub

      docker login
      

      Ladda upp imagen till hub.docker.com

      docker push <name>/repository
      

      Ta bort och rensa

      Ta bort containers

      docker rm <container1> <container2>
      

      Radera alla containers (Tar bort allt)

      docker rm $(docker ps -a -q)
      

      Ta bort images

      docker rmi <image1> <image2>
      

      Ta bort alla images (Tar bort allt)

      docker rmi $(docker images -q)
      

      Övrigt

      När konsolen fastnar

      ctrl + z
      

      Jag kommer att fylla på denna lista när jag kommer på mera bra kommandon för Docker. Mer information om hur Docker fungerar hittar du på docs.docker.com.

      postat i Linux
      Mikael
      Mikael
    • SystemRescueCd - Rädda data från din hårdisk med en räddningsskiva

      Det är bra att känna till verktyg som kan rädda data från din disk när det har blivit fel på disken eller att operativsystemet har pajat.

      sysresccd-003-640x480.png

      SystemRescueCd

      SystemRescueCd är ett Linux-system på räddningsskiva som finns som en startbar cd-rom eller USB-minne för att administrera eller reparera ditt system och data efter en systemkrasch. Syftet är att ge ett enkelt sätt att utföra administrativa uppgifter på datorn, som att skapa och redigera hårddiskpartitioner.

      Den levereras med en hel del Linux systemverktyg (parted, partimage, fstools, ...) och grundläggande verktyg (Redaktörer, Midnight commander, nätverksverktyg). Detta Linux-system kan användas för både Linux och Windows-datorer och på stationära datorer samt servrar. Detta räddnings system kräver ingen installation eftersom den kan startas från en CD / DVD-enhet eller USB-minne, men det kan installeras på hårddisken om du vill. Kärnan stödjer alla viktiga filsystem (ext2/ext3/ext4, reiserfs, btrfs, xfs, jfs, vfat, ntfs), samt nätverksfilsystem (samba och nfs).

      Jag använder oftast själv denna cd för att rädda dara från Windows, Linux och Mac.

      postat i Linux
      Mikael
      Mikael
    • Gentoo - Tvinga installation och ignorera säkerhetskontroller för emerge

      När du inte kan installera ett Linuxpaket eftersom emerge säger ifrån av någon anledning, så kan det vara bra att känna till hur man tvingar systemet. Det finns några fall där du som administratör vet att det funkar även fast systemet inte tror det.

      Lägg till I_KNOW_WHAT_I_AM_DOING="yes" innan emerge kommandot
      I_KNOW_WHAT_I_AM_DOING="yes" emerge -av chromium

      Jag har själv använt detta när jag ska installera chromium och har lite ram-minne i datorn. Även fast jag la till en större swapfil så ville systemet ändå inte strunta i 3GB minnes kravet.

      Hoppas ni får användning av detta 😉

      postat i Linux
      Mikael
      Mikael
    • Installera-Linux guider för nybörjare

      Det är ganska mycket arbete med att skriva en guide från grunden så jag tänkte ta en genväg och länka till guider istället som är bra och är på svenska. Känns dumt att göra om något som redan finns och är bra. Vem vet när jag har tid så kanske jag skriver något eget.

      Linux guider

      Desktop

      • Linux Mint - Nivå lätt

      Server

      • Gentoo - Nivå svårt
      • Ubuntu Server - Nivå medel

      Om man verkligen vill lära sig Linux på riktigt så kan jag rekommendera Gentoo Handbook. Om du tvingar dig själv att lära dig detta då kommer du både kunna hantera Linux på klienter och servrar. Tyvärr är dokumentationen på engelska men vill ändå visa denna guide.

      Tipsa gärna om fler så lägger jag upp dem här 😉

      postat i Linux
      Mikael
      Mikael
    • Konvertera till och från UTF-8 med iconv

      Iconv

      Olika filer har olika teckenkodning och du kan se vilken kodning du har med kommandot file.

      file filenamn.txt
      

      Om du behöver konvertera en fil från ISO-8859-1 till UTF-8 så kan du använda iconv. Iconv är ett datorprogram och ett standardiserat programmeringsgränssnitt (API) som används för att konvertera mellan olika teckenkodningar.

      iconv -f iso-8859-1 -t utf-8 < filnamn1.txt > filename2.txt
      

      Man kan även bygga script som convert_iso-8859-1_utf-8.sh för att utföra olika saker med iconv.

      #!/bin/bash
      
      if [ $# -gt 0 ]; then
          folder=${1%/}
          if [ -d "$folder.backup" ]; then
              echo "Error: backup folder exists"
              exit
          fi
          cp -r $folder $folder.backup
          find $folder -type f -exec bash -c '
              file={}
              if [ -n "$(file $file | grep -i iso-8859)" ]; then
                  echo $file
                  iconv -f iso-8859-1 -t utf-8 -o "$file.tmp" "$file"
                  mv "$file.tmp" "$file"
              fi ' \
          \;
      else
          echo "Usage: $0 <directory>"
      fi
      

      Tänk på att du kan använda iconv för att konvertera en teckenkodning till vilken annan teckenkodning som helst. Detta är mycket användbart om du frågar mig 😉 Ta alltid backup på alla filer innan du kör skript!

      postat i Linux
      Mikael
      Mikael
    • Användbara kommandon för Linux

      Terminalkommandon i Linux

      Terminalfönstret är och förblir det mest grundläggande sättet att hantera kommandon i Linux, Unix och liknande system. Samtidigt är det inte alltid så lätt att hitta information om hur man använder de olika kommandona på svenska.

      5.jpeg

      Eftersom Linux har blivit mycket lättare med distributioner som liknar Windows så glömmer folk bort att lära sig grunden i Linux. Styrkan i Linux är just terminalkommandon och den flexibilitet man får. Nästan alla kommandon har växeln --help där man kan få mera hjälp. Vill man få mycket information så använder man kommandot man innan kommandot.

      Tar fram manualen för kommandot ls
      man ls

      Dessa är viktiga att kunna för vanligt bruk

      • cat - Visa en fils innehåll i terminalfönstret
      • cd - Ändra vilken katalog i filsystemet du arbetar i
      • cp - Kopierar fil eller katalog
      • df - Visa lista på användning av minnesutrymme, bl.a. hårddisk
      • du - Ta fram storleken på filer eller kataloger
      • history - Se din kommando historik
      • ifconfig - Visa dina nätverksuppkopplingar och ip-address
      • killall - "Döda" (stäng av) dataprocesser, t.ex. program
      • less - Visa en fils innehåll i ett rullbart fönster där du kan rulla upp eller ner med piltangenterna,
      • ls - Visa alla filer som finns på den nuvarande katalogen
      • man - Visa en hjälpfil som beskriver hur man använder ett kommando
      • mkdir - Skapa en ny filkatalog under katalogen där du står
      • mv - Flytta en fil till en ny filkatalog och/eller byt namn på den
      • nano - Enkel och snabb texteditor (Jag rekommendera att man lär sig vim)
      • passwd – Ändra ditt lösenord
      • ping – Sänd ett kontaktmeddelande till en annan dator för att verifiera nätkontakt
      • pwd – Visa namnet och sökpå den katalog där du står
      • rm - Tar bort en fil (Går ej att ångra sig)
      • sudo – Utför ett linuxkommando med rättigheter som om du vore användare root (Superanvändaren)
      • tail – Visa de sista raderna i en textfil (Använd head för de första)

      Kommandon som kan vara värt att känna till

      • chmod - Ändra rättigheter på filer eller kataloger
      • chown - Ändra ägare på filer eller kataloger
      • find - Sök i ditt filsystem
      • free - Se hur mycket minne du har
      • grep - Hämta ut bitar av information från kommando
      • iwconfig - Kommando för trådlöst nätverk
      • iwlist - Kommando för trådlöst nätverk
      • kill - Döda en viss process (Funkar att använda istället för killall)
      • mount - Montera ett filsystem från tex en extern enhet
      • ps - Lista aktiva processer
      • rsync - Skapa kopia av en större filmsamling
      • su - Bli en annan användare
      • tar – Skapa arkivfiler och även komprimerade arkivfiler (gzip / bzip)
      • top - Visa körande processer
      • traceroute - Ta fram nätverksväg till en node
      • useradd - Lägger till nya användare till systemet
      • wget - Hämta hem filer

      Mer avancerade kommandon

      • alias - Skapa alias för dina kommandon
      • bash - Scripting för att utföra många kommandon på samma gång
      • vim - En avancerad texteditor
      • export - hantera variabler i din shell miljö
      • sort - Sortera data från kommandon

      Det finns mycket kommandon att lära sig. Om du tycker att jag missat något så är det bara att säga till så lägger jag till det.

      postat i Linux
      Mikael
      Mikael
    • Klona webbplatser med wget

      Kloning av webbplats

      Wget har förmågan att klona en webbplats. Detta kommando är bra om du vill hämta en lokal kopia från webben och få ner CSS, bilder och Javascript lätt. Observera att det inte alltid blir en garanterad kopia med sidor som har mycket dynamiskt innehåll. Jag rekommenderar därför att man gör en manuell granskning efteråt utan nätverk.

      2 exempel kommandon för att klona webbplatsen

      wget -E -k -m --trust-server-names https://www.exempel.se
      wget -E -k -m --compression=gzip --password="password" --trust-server-names --user="user" --compression=auto https://www.exempel.se
      

      Man måste köra detta på varje domän eller subdomän man vill ladda ner och använda sig av GNU Wget.

      --adjust-extension / -E: Fixa html filändelse på dynamiskt innehåll.
      --compression=auto: Om du försöker spegla en sida där serven svarar med gzip.
      --convert-links / -k: Konverterar länkarna i dokumentet för att göra dem lämpliga för lokal visning.
      -m / --mirror: Växlar som är lämpliga för spegling.
      --password="": Lösenord ifall htpasswd är aktiverat.
      --trust-server-names: Om det här är inställt, kommer det lokala filnamnet baseras på omdirigeringsadressen.
      --user="": Användarnamn ifall htpasswd är aktiverat.

      Om du får problem med robots.txt och rättigheter så kan du lägga till: -e robots=off

      postat i Linux
      Mikael
      Mikael
    • Hur man kör Ultimate Boot CD från USB-minne

      Installation av Ultimate Boot CD (UBCD)

      För att köra UBCD från ett USB-minne så behöver ditt usb-minne partitioneras i FAT16 eller FAT32 och formateras innan nödvändiga filer kopieras över till USB-minnet. Läs mer om Partitionera och formatera ditt usb minne.

      1. Nu måste vi skriva data till mbr på USB-stickan. Filen mbr.bin som behövs för att göra detta hittar du i den extraherade UBCD iso (/ubcd/tools/linux/ubcd2usb/). Ladda ner ison från UBCD och extraherad den. Glöm inte att byta ut X mot rätt enhet.
      dd if=mbr.bin of=/dev/sdX
      
      1. Montera partitionen på din USB-enhet. Du kan använda ett GUI för att göra detta eller bara via en terminal. I vissa fall så monterar din distribution USB-enheter automatiskt genom att ta bort och stoppa in USB-minnet igen.
      2. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne.
      3. Installera syslinux på ditt USB-minne. Se till att /ubcd/tools/linux/ubcd2usb/syslinux är körbar. Ta bort växeln -i ifall du redan har installerat syslinux på ditt USB-minne innan.
      cd ubcd
      chmod a + x tools/linux/ubcd2usb/syslinux64
      tools/linux/ubcd2usb/syslinux64 -i -s -d /boot/syslinux /dev/sdX1
      
      1. Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      postat i Linux
      Mikael
      Mikael
    • Partitionera och formatera ditt USB-minne

      Partitionera och formatera ett USB-minne

      I många fall är det nödvändigt att göra ett USB-minne redo att användas som en boot-bar cd eller dvd. Du måste även vilken enhet som USB-minnet finns på i /dev/.

      1. Anslut ditt USB-minne via USB-porten.
      2. Kör ett av följande kommando
      fdisk -l
      

      Detta kommer att lista alla enheter. Titta på storleken för att avgöra vilken som är ditt USB-minne. Det kan vara så att du behöver root-rättigheter för att se enheterna.

      dmesg | tail
      [38350.743408] sd 9:0:0:0: [sdb] 4028416 512-byte hardware sectors (2063 MB)
      [38350.744272] sd 9:0:0:0: [sdb] Write Protect is off
      [38350.744284] sd 9:0:0:0: [sdb] Mode Sense: 23 00 00 00
      [38350.744291] sd 9:0:0:0: [sdb] Assuming drive cache: write through
      [38350.747289] sd 9:0:0:0: [sdb] 4028416 512-byte hardware sectors (2063 MB)
      [38350.748267] sd 9:0:0:0: [sdb] Write Protect is off
      [38350.748284] sd 9:0:0:0: [sdb] Mode Sense: 23 00 00 00
      [38350.748289] sd 9:0:0:0: [sdb] Assuming drive cache: write through
      [38350.748305]  sdb: sdb1
      [38350.749432] sd 9:0:0:0: [sdb] Attached SCSI removable disk
      

      Du kommer få en output som ser ut ungefär så här. I detta exempel är USB-minnet /dev/sdb

      df -h
      /dev/sdb1             2,0G  1,9G   87M  96% /media/NANO
      

      Du kan endast använda detta om ditt USB-minne är automatiskt monterat av din distribution. Detta listar alla monterade filsystem. Lista ut vilken det är genom att kolla på storleken. I detta fall är USB-minnet /dev/sdb
      3. Om du nu har hittat vilken enhet i /dev/ som ditt USB-minne använder så kan du partitionera den.

      VARNING: säkerhetskopiera alla filer som du vill bevara till en annan enhet. Denna process kommer att ta bort all information som för närvarande lagras på USB-minnet. Fortsätt med försiktighet!

      • Först så måste vi ta bort alla partitioner från usb-minnet. Öppna en terminal och skriv sudo su.
      • Skriv umount /dev/sdX för att avmontera ditt USB-minne (Byt ut X mot rätt bokstav och var försiktig).
      • Skriv fdisk /dev/sdX (Byt ut X mot rätt bokstav och var försiktig).
      • Skriv d för att ta bort en partition.
      • Skriv 1 för att välja den första partitionen och tryck sedan enter.
      • Skriv d igen för att ta bort nästa partition. (fdisk ska automatiskt välja den andra partitionen)
      • När alla är borta så ska vi skapa en ny partition.
      • Skriv n och enter för att skapa en ny
      • Skriv p och enter för att göra den primär.
      • Skriv 1 för att göra denna till första partitionen och enter 2 gånger för första och sista cylinder.
      • Skriv a och sedan 1 ifall det behövs för att göra den förta partitionen boot-bar.
      • Skriv t för att ändra partition typen. Om du vill ha FAT16 så skriver du e och för FAT32 (om stickan är större än 2GB) så skriver du c
      • Skriv w för att skriva partition informationen till USB-stickan.

      Nu när partitioneringen är klar så är det dags för att fixa till filsystemet på USB-stickan. Om du vill ha FAT16 så ska det skrivas -F 16 och annars -F 32. Jag utgår ifrån att du kör FAT32. Byt även ut X mot rätt enhet som tidigare.

      mkfs.vfat -F 32 /dev/sdX1
      
      postat i Linux
      Mikael
      Mikael
    • Hur man installerar CoreOS i VirtualBox eller fysik server

      Installera CoreOS i VirtualBox

      Här kommer lite instruktioner om hur man kör CoreOS i en virtuell maskin som heter VirtualBox. Om du inte vill köra i VirtualBox så finns instruktioner längre ner hur du får in CoreOS på en fysik server.

      Skapa en virtuell disk

      Det finns skript som förenklar skapande av VDI filer. Skriptet laddar ner en grundavbildning, verifierar och konverterar avbildningen till VirtualBox format.

      Du kan hitta skriptet på GitHub. Datorn du kör på måste ha support för VirtualBox tools.

      Börja med att ladda ner skriptet och gör den körbar

      wget https://raw.github.com/coreos/scripts/master/contrib/create-coreos-vdi
      chmod +x create-coreos-vdi
      

      När du kör skriptet så kan du specificera var du ska skapa filen samt vilken CoreOS version du vill använda.

      ./create-coreos-vdi -d /coreos/vdi/image/path -V stable
      

      Du kan använda alpha, beta och stable som version. Du kan även skriva in ett specifikt versionsnummer om du har speciella behov. I detta fall så känns stable bäst.

      Skapa en Config-Drive

      Du kommer behöva en config-drive för att åtminstone ställa in en SSH-nyckel som du använder för tillgång till den virtuella maskinen. För att skapa en enkel config-drive så finns det även ett skript för detta som heter create-basic-configdrive. Du kan ändra din cloud-config i detta skript.

      wget https://raw.github.com/coreos/scripts/master/contrib/create-basic-configdrive
      chmod +x create-basic-configdrive
      ./create-basic-configdrive -H dittnamn -S /sökväg/till/din/publika/nyckel.pub
      

      Detta kommer att skapa en ISO-fil med namn dittnamn.iso vilket blir ditt värdnamn på din virtuella maskin. Denna iso ska alltid vara monterad när du startar systemet. Den ser till att din nyckel fungerar och andra inställningar som du har gjort i din cloud-config.

      Fixa till en Ny Virtuell maskin i Virtualbox

      Börja med att klona och ändra storlek på din original vdi-fil. Detta gör du för att får rätt storlek på din virtuella maskin.

      VBoxManage clonehd coreos_production_stable.vdi dittnamn.vdi
      VBoxManage modifyhd dittnamn.vdi --resize 10240
      

      När du nu startar din virtuella maskin så kommer CoreOS att känna av att storleken har ändrats och bygger då om filsystemet så det blir rätt.

      1. Öppna VirtualBox Manager och gå till Machine > New. Skriv in ditt värdnamn och välj Linux som verision.
      2. Välj storleken på arbetsminnet. Jag rekommenderar att du minst väljer 1 GB för bästa resultat.
      3. Sedan tar du Use an existing virtual hard drive file och väljer din vdi fil du har skapat.
      4. När maskinen sedan är skapad så går du till settings och klickar på Storage tab för att välja din config-drive till CD/DVD.
      5. Nu är den redo att starta.

      Logging In

      Ibland så kan det ta ett tag för nätverket att komma up i en Virtuell maskin så ha tålamod. Du kommer att se vilket ip din maskin fick när du trycker enter några gånger på prompten. Observera att du måste använda din SSH nyckel för att komma åt systemet. Som standard finns det ingen lösenord för core användaren.

      Värt att nämna är att man inte kan vidarebefordra portar under 1024 om man kör Virtualbox som vanlig användare. Jag rekommenderar att man väljer 10022, och 10080 istället för 22 och 80 i port-installningarna (Port Forward) i Virtualbox.

      Installera CoreOS på en fysisk server

      Jag antar att du har fysisk access till din server. Att installera CoreOS på en vanlig fysik server är lättare än VirtualBox. Det ända du behöver är en Linux LiveCD. Jag brukar använda SystemRescueCd men det går bra med vilken skiva som helst. Självklart så måste du fixa din cloud-config med de inställningar du vill ha samt en public SSH-nyckel.

      Starta upp på skivan och kör dessa kommandon

      wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install
      chmod +x coreos-install
      ./coreos-install -d /dev/sdx -C stable -c cloud-config
      

      Observera att all data kommer försvinna från din disk sdx.

      Länkar

      • VirtualBox
      • Config-drive
      • Cloud-config guide
      • CoreOS Quickstart
      • More specific topics

      Själv använder jag CoreOS i kombination med DigitalOcean vilket fungerar väldigt bra måste jag säga. Har även några fysiska serverar med CoreOS. Men om man inte har fysiska burkar eller kör VPS och bara vill testa så är VirtualBox bra. Om min guide inte är nog så finns det massor information under länkarna ovan som säker kommer hjälpa till!

      Vad har ni för erfarenhet av CoreOS?

      postat i Linux
      Mikael
      Mikael
    • Användbara kommandon för Systemd

      Systemd

      Systemd är en servicehanterare för Linux som är kompatibel med SysV och LBS init skript. Med Systemd så får man ett system som har stöd för att köra parallella script. Man använder sockets och D-Bus aktivering för att starta tjänster samt hålla koll på processer som körs i ditt system. Det går även att göra avancerade skript med beroenden och andra nya funktioner.

      2000px-Linux_kernel_unified_hierarchy_cgroups_and_systemd.svg.png

      Analysera systemtillståndet

      Lista units som är igång

      systemctl
      

      Lista units som är i status fail. Detta kan göras för alla units eller bara för en speciell.

      systemctl --failed <unit>
      

      Ladda om konfigurationen

      systemctl daemon-reload
      

      Användning av units

      Starta en unit omgående

      systemctl start <unit>
      

      Stoppa en unit omgående

      systemctl stop <unit>
      

      Ladda om konfigurationen för en unit

      systemctl reload <unit>
      

      Visa status för en unit. Här kan du se ifall den är igång eller inte.

      systemctl status <unit>
      

      Kolla om en unit är aktiverad eller inte

      systemctl is-enabled <unit>
      

      Ta bort en unit från boot-processen

      systemctl disable <unit>
      

      Lägg in en unit så att den startar i boot-processen

      systemctl enable <unit>
      

      Skriv ut en lista på schemalagda arbeten som är aktiva (--all för att lista alla timers i systemet)

      systemctl list-timers
      

      Ta manuellt bort units som har hamnat i status failed. Detta kan göras för alla units eller bara för en speciell.

      systemctl reset-failed <unit>
      

      Starta bakgrundsscript utan unit-fil.

      systemd-run --unit=nodebb-logger sh -c 'sleep 1000'
      

      Loggar

      Visar hur stora loggarna är

      journalctl --disk-usage
      

      Skriv ut loggen för en service (-f = Visa och följ bara de senaste loggarna)

      journalctl -f -u <unit>
      

      Skriva loggen till en fil

      journalctl --no-pager --since yesterday > logg.txt
      

      Rensa bort loggarna för att spara plats

      journalctl --vacuum-size=50M
      

      Det är skönt att ha en lathund när man inte kommer ihåg alla kommandon i huvudet 🙂

      postat i Linux
      Mikael
      Mikael
    • Om du har problem med ljudet

      Ljudproblem i Linux

      Ibland kan det vara knepigt att få till ljudet i Linux. Det kan vara problem med att det inte kommer något ljud alls eller att man inte kan ha flera program igång samtidigt som spelar upp ljud. Här är lite anteckningar för att göra det lättare att felsöka nästa gång.

      Om och när du kompilerar in stöd för ditt ljudkort i Linux-kärnan, så tänk på att ta bort alls som har med OSS att göra för att minska problem. Editera filen /etc/asound.conf och lägg in inställningar för ditt ljudkort.

      pcm.!default {
        type hw
        card 2
      }
      ctl.!default {
        type hw
        card 2
      }
      

      Genom att använda aplay -L så kan du ta reda på vad dina instälningar är. I mitt fall är det PCH och 0 som gäller. Du kan läsa mer om detta under länkar i denna tråd.

      Lite kommandon som kan vara bra att känna till

      Se vilka program som använder ditt ljudkort just nu

      fuser -v /dev/snd/* /dev/dsp*
      

      Testa ifall ljudet funkar

      speaker-test -t wav -c 2
      

      Med detta kommando kan du ställa in din volym. Missa inte att du kan använda F6 för att switcha ljudkortsutgång.

      alsamixer
      

      Länkar

      • Alsa
      postat i Linux
      Mikael
      Mikael
    • Hur man kör SystemRescueCD från USB-minne

      SystemRescueCD

      En av de bästa räddningsskivorna jag använder är SystemRescueCD. Denna skiva är bra ifall din dator har gått sönder och du behöver rädda data. Det går bra att bränna ut denna skiva på en cd för att sedan använda i din dator.

      SystemRescueCD

      Använd ett USB-minne istället

      Börja med att installera Syslinux i ditt system. I Gentoo så heter paketet sys-boot/syslinux. Detta gör du för att få kommandot isohybrid, vilket hjälper dig med att skapa en räddnings-USB.

      1. Ladda ner den senaste SystemRescueCd-filen. Detta är en ISO-fil som man ska bränna ut på CD i vanliga fall.
      2. Kör isohybrid /sökväg/till/systemrescuecd-x86-x.y.z.iso. Detta kommer att modifiera ISO-filen så den blir kompatibel för ett USB-minne.
      3. Stoppa in ditt USB-minne och vänta 5 sekunder så systemet hittar den.
      4. Avmontera stickan ifall ditt system montera den automatiskt.
      5. Kör dd if=/sökväg/till/systemrescuecd-x86-x.y.z.iso of=/dev/sdx i shellet där sdx är ditt USB-minne.

      Lycka till 😉

      postat i Linux
      Mikael
      Mikael
    • Packa upp zip-filer i en Linux-terminal

      Du kommer behöva kommandot zip i din Linux-distribution. I Gentoo heter paketet app-arch/zip.

      unzip filen.zip -d <katalog>
      

      Om du inte skriver växeln -d så hamnar alla filer i den katalogen du befinner dig i.

      Packa upp zip-filer i en Linux-terminal

      postat i Linux
      Mikael
      Mikael
    • Hämta Oracle Java från en terminal

      Oracle Java

      För att man ska få hämta hem Java från Oracle så behöver man godkänna avtalet. Detta gör det svårt att hämta filen via script. Börja med att hitta sökvägen till filen via Oracle. Tänk på att du måste godkänna avtalet innan du kan få länken.

      För att hämta kör du detta

      Om du använder Curl

      curl -H "Cookie: oraclelicense=accept-securebackup-cookie" -k -L -O <sökväg>
      

      Om du använder Wget

      wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" <sökväg>
      

      Byt ut sökvägen till rätt fil 😉

      postat i Linux
      Mikael
      Mikael
    • CoreOS - Kommandon

      CoreOS

      CoreOS är baserat på Chromium OS som i sin tur är baserat på Genoo Linux. Själv använder jag Gentoo Linux som operativsystem för alla mina datorer eftersom det är ett säkert, rent och stabilt system. Läs mer om CoreOS.

      2000px-CoreOS.svg.png

      CoreOS uses

      • Systemd

      Kommandon

      Kolla status på CoreOS

      update_engine_client -status
      

      Uppdatera CoreOS

      update_engine_client -update
      

      Felsökning

      Jag hade en instans där docker filsystemet fick slut på utrymme. Efter att man hade rensat upp med docker rmi så fick jag.

      Could not find container for entity id
      

      Efter att jag hitta detta så löste jag problemet.

      cd /var/lib/docker
      sudo sqlite3 linkgraph.db 
      update edge set name='some-random-container-name' where name='failing-container-name';
      .quit
      
      postat i Linux
      Mikael
      Mikael
    • Skapa en swapfil

      Swap

      Att använda swap-filer funkar lika bra som att ha en hel partition för swap i sitt system. Fördelen med en fil är att man lätt kan ändra storlek och flytta på den.

      Så här skapar du en swap-fil

      Bestäm storleken på den nya swap-filen i megabytes och multiplicera med 1024 för att bestämma antalet block. Här är ett exempel om du vill ha 8 GB swap: 8 x 1024 x 1024 = 8388608

      Skapa en fil för din swap som utgår från exemplet ovan

      dd if=/dev/zero of=/swap bs=1024 count=8388608
      chmod 600 /swap
      

      Skapa swap-filen

      mkswap /swap
      

      Om du vill aktivera din svap

      swapon /swap
      

      Om du vill deaktivera din svap

      swapoff /swap
      

      Lägg in denna konfiguration i /etc/fstab för att aktivera swap när systemet startats

      /swap none swap sw  0  0
      

      Du kan verifiera att allt är som det ska genom att köra kommando cat /proc/swaps eller free.

      Ställ in Swappiness

      Swappiness är en Linux-kärna parameter som styr den relativa vikt som besämmer när minnet ska allokeras i swap-filen. Swappiness har ett värde mellan 0 och 100. Ett lågt värde gör att kärnan undviker att använda swap om den inte måste. Standardvärdet är 60 för de flesta systemen. Eftersom swap finns på disk så är det långsammare att ha data i swap istället för arbetsminnet.

      • vm.swappiness = 0 - Här kommer kärnan bara lägga saker i swap för att undvika out of memory problem.
      • vm.swappiness = 1 - Använd minimalt med swap.
      • vm.swappiness = 10 - Detta används för att öka prestandan på många system.
      • vm.swappiness = 60 - Detta är standardinställningen.
      • vm.swappiness = 100 - Här kommer kärnan använda swap aggressivt.

      Ställ in swappiness värdet som root

      echo 10 > /proc/sys/vm/swappiness
      

      Alternativt kör

      sysctl -w vm.swappiness=10
      

      Verifiera ändringen

      cat /proc/sys/vm/swappiness
      

      Alternativt kör

      sysctl vm.swappiness
      

      Om du permanent vill spara dina förändringar så gör dett i /etc/sysctl.conf.

      vm.swappiness = 10
      

      Det kan vara värt att se över sitt system för att ställa in bästa inställningarna. Standard brukar funka bra men för er som vill anpassa så har ni infon.

      postat i Linux
      Mikael
      Mikael
    • Skapa ett USB-minne i Windows för installation av Ubuntu

      Ubuntu USB-minne

      Innan du börjar måste du hämta en Ubuntu-avbild från Ubuntus hemsida. När man vill köra en installation av Ubuntu från ett USB-minne så behöver man ha ett USB-minne med minst 2 GB ledigt utrymme. Det är även bra att verifiera avbilden som du laddat ner.

      Det enklaste sättet att skapa ett Ubuntu-installationsmedia på ditt USB-minne är att använda Rufus USB installer. Du behöver ladda ner, installera och följ instruktionerna nedan.

      Ladda ner Rufus USB installer

      Rufus USB installer

      1. Öppna Rufus och välj USB-minne under enhet.
      2. Klicka på cd-rom ikonen bredvid FreeDOS. Välj den ISO-avbild som du hämtade från Ubuntus hemsida och klicka på Öppna.
      3. Tryck på Starta och sedan svara ja på frågan om att ladda ner programvaran Syslinux.
      4. Klicka på OK för att skriva i ISO Image läge.
      5. Kontrollera att ditt USB-minne är valt och sedan "OK" för att fortsätta. Tänk på att all data från usb-minnet kommer att försvinna.
      6. När den är klar är det bara starta om datorn och börja använda Ubuntu från usb-minnet eller installera Ubuntu.

      Om du inte redan kan Ubuntu så rekommenderar jag dig att läsa handboken. Det bästa är att den är på svenska.

      postat i Linux
      Mikael
      Mikael
    • Rbash - The Restricted Shell

      Om bash startas med namnet rbash eller använder växeln --restricted eller -r som alternativ så blir skalet begränsat. Ett begränsat skal används för att sätta upp en mer kontrollerad miljö än standardskalet och beter sig identiskt med bash med vissa undantag.

      Funktioner som är avstängda eller inte går att göra

      • Ändra katalog med inbyggda cd
      • Sätta eller ta bort värden från SHELL, PATH, ENV, eller BASH_ENV variablerna
      • Använda kommando namn som innehåller snedstreck
      • Använda filnamn som innehåller snedstreck som ett argument till ett inbyggt kommando
      • Använda ett filnamn som innehåller ett snedstreck som argument till -p alternativet till det inbyggda kommandot hash
      • Importera functions definitioner från skal-miljön
      • Köra värdet från SHELLOPTS från skal-miljön
      • Omdirigera data med ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, och ‘>>’
      • Använda inbyggda exec för att byta skalet till ett annat kommando
      • Lägga till eller ta bort inbyggda kommandon med -f och -d växlarna
      • Använda inbyggda kommandot enable för att lägga till kommandon som är avaktiverade
      • Använda -p växeln för inbyggda kommandon
      • Stänga av restricted mode med ‘set +r’ eller ‘set +o restricted’.

      Dessa restriktioner aktiveras efter att startup filerna har blivit lästa. Detta betyder att du kan göra massor med inställningar i användarens konfigurationsfiler för att låsa ut användaren från vissa saker.

      postat i Linux
      Mikael
      Mikael
    • Turnkey - Serverprogramvara via USB-sticka

      Server

      Om man behöver smälla upp en server snabbt så är Turnkey ett bra alternativ. Turnkey har 100+ opensource-lösningar färdig att använda. Du kanske behöver få upp en server med Wordpress, Joomla, drupal m.m. Funkar även bra ifall man behöver ha en webbserver eller filserver på 10 min.

      turnkeylinux.jpg

      Om du behöver en äldre programvara så löser man det lätt genom att hämta hem en gammal version av Turnkey. Ett bra exempel på detta är när man har lite äldre kod som kanske behöver en tidig PHP version. Det är bara att använda sig av VirtualBox samt en sticka så har du lösningen på plats 😉

      postat i Linux
      Mikael
      Mikael
    • Time lapse från övervakningskamera / go pro / dashcam med ffmpeg

      Hur du snabbt skapar en time lapse

      Om du vill skapa en sk time lapse från inspelat materiel, så finns det en uppsjö verktyg att köpa. För den händige så går det med lite enkla knep att göra det med hjälp av ett gratisprogram, som finns till de flesta operativsystemen.
      I mitt fall så vill jag skapa en komprimerad video som visar förloppet när mitt garage byggs, och det är ett spann av flera veckor som ska komprimeras ned till några minuter.

      Jag har helt sonika riggat en övervakningskamera som spelar in videosnuttar när något rör sig, som jag riktat in på bygget ifråga. Ett otal minutlånga filmer i formatet AVI skapas och läggs i mappar, sorterade efter datum och klockslag. Nedan är ett exempel på hur 'ffmpeg' kan användas för att skapa en timelapse:

      Skapa en lista på filmsnuttarna i aktuell mapp och släng in dem i textfilen mylist.txt

      ls *.avi | while read each; do echo "file '$each'" >> mylist.txt; done
      

      Lägg ihop snuttarna till en lite längre film

      ffmpeg -f concat -i mylist.txt -c copy video_draft.avi
      

      Snabba upp den lite längre filmsnutten till vad som passar(beror givetvis på hur långt förloppet är - 1.0 är normaltid och allting mindre snabbar upp, exvis så är 0.5 dubbel hastighet)

      ffmpeg -i video_draft.avi -filter:v "setpts=0.05*PTS" snabb.avi
      

      snabb.avi kommer nu vara resultatet.

      postat i Linux
      Mikael
      Mikael
    • 1
    • 2
    • 90
    • 91
    • 92
    • 93
    • 94
    • 120
    • 121
    • 92 / 121