• Kategorier
  • Senaste
  • Taggar
  • Populära
  • Logga in
  • Logga in
  • Sök
  • Kategorier
  • Senaste
  • Taggar
  • Populära

Installera-Linux guider för nybörjare

Linux
linux guide
1
1
214
Laddar fler inlägg
  • Äldst till nyaste
  • Nyaste till äldst
  • Flest röster
Svara
  • Svara som ämne
Logga in för att posta
Det här ämnet har raderats. Endast användare med ämneshanterings-privilegier kan se det.
  • Mikael
    Mikael Senaste redigerad av 19 feb. 2020 16:32

    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 😉

    Jenkler IT AB - Er leverantör för e-handel, hemsidor och IT-support - 073-731 76 64

    Ett svar Senaste svaret Svara Citera 0
    • 1 / 1
    global:pagination.out_of, 1, 1
    • Första inlägget
      1/1
      Sista inlägget
    • Konvertera till och från UTF-8 med iconv

      Mikael
      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!

      Linux
      19 feb. 2020 16:30
    • Användbara kommandon för Linux

      Mikael
      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.

      Linux
      19 feb. 2020 16:29
    • Klona webbplatser med wget

      Mikael
      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

      Linux
      19 feb. 2020 16:28
    • Hur man kör Ultimate Boot CD från USB-minne

      Mikael
      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.

      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 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. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne. 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 Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      Linux
      19 feb. 2020 16:24
    • Hur man använder sed kommandot i Linux

      Mikael
      Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      Linux
      11 aug. 2022 07:40
    • Byta till Linux från Windows

      Mikael
      Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      Linux
      30 okt. 2020 14:12
    • Skriva POSIX kompatibla shellskript

      Mikael
      Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      Linux
      17 sep. 2020 11:47
    • Använda en ssh SOCKS proxy

      Mikael
      Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      Linux
      21 aug. 2020 11:29
    • KVM qemu - Kommandon

      Mikael
      Virsh

      Ett smidigt cli till qemu. Alla kommandon skrivs efter man har kört virsh

      Anslut till qemu

      connect qemu:///system

      Lista alla instanser

      list --all

      Starta en instans

      start <namn>

      Anslut till consolen på en instans. För att komma ur den så är det CTRL+5 (Svensk tangentbord)

      console <namn>
      Linux
      23 juli 2020 11:02
    • Alpine Linux - Kommandon

      Mikael
      APK - Alpine Linux paket hanterare

      Detta är Alpines pakethanterare och paketen hittar ni här https://pkgs.alpinelinux.org

      Uppdatera nuvarande paket så att de matchar paketdatabasen samt uppdatera cachen.

      apk -U upgrade

      Om man ska uppdatera allt och ignorera dependency constrains. Detta är bra om man gör en major uppdatering. Kolla även igenom /etc/apk/world och uppdatera /etc/apk/repositories. Glöm ej att köra update-conf när du gör en stor uppgradering.

      apk --available -U upgrade update-conf

      För att hitta vilket paket en fil tillhör.

      apk info --who-owns /hela/sökvägen/till/filen

      Sök efter installerade paket som börjar på alpine.

      apk list --installed alpine*

      Lista paket som behövs av alpine-base.

      apk info -R alpine-base

      Lista paket som busybox behöver.

      apk info -r busybox
      Linux
      24 mars 2020 18:25
    • Problem med NVIDIA Optimus

      Mikael

      Om man har problem med en laptop av denna typ så kan man svartlista felaktiga moduler.

      /etc/modprobe.d/blacklist.conf

      blacklist nouveau
      Linux
      18 mars 2020 00:13
    • Wifi med interfaces och wpa_supplicant

      Mikael
      Konfiguration

      Exempel konfiguration för att få wpa_supplicant att starta upp innan nätverket tas upp.

      /etc/network/interfaces

      auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp hostname gorf pre-up /etc/init.d/wpa_supplicant start post-down /etc/init.d/wpa_supplicant stop
      Linux
      18 mars 2020 00:07
    • Ansluta till dolda nätverk

      Mikael
      Gömda SSID

      Jag använder wpa_supplicant för wifi konfigurering och har man som jag dolda nätverk så for man ej glömma scan_ssid=1.

      network={ key_mgmt=WPA-PSK psk="mittpass" scan_ssid=1 ssid="mittnet" }

      Bra att komma ihåg detta 😉

      Linux
      17 mars 2020 18:56
    • Vad är skillnaden mellan Linux och Unix

      Mikael
      Historia

      Hittade en bra film som just förklarar lite historia.

      Unix vs Linux

      Sevärt om man är lite nyfiken!

      Linux
      24 feb. 2020 12:31
    • Bästa länkarna att lära sig mer om Linux

      Mikael

      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 😉

      Linux
      19 feb. 2020 16:38
    • Installera CoreOS i VirtualBox

      Mikael

      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.

      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

      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.

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

      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.

      VBoxManage clonehd coreos_production_stable.vdi my_vm01.vdi

      Ä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.

      Ö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.

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

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

      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.

      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).

      ssh -p 10022 -i hostname core@x.x.x.x Länkar VirtualBox Config-drive Cloud-config guide CoreOS Quickstart More specific topics

      Nu är guiden klar 😉

      Linux
      19 feb. 2020 16:37
    • Docker - Kommandon

      Mikael
      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.

      Linux
      19 feb. 2020 16:35
    • SystemRescueCd - Rädda data från din hårdisk med en räddningsskiva

      Mikael

      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.

      Linux
      19 feb. 2020 16:34
    • Gentoo - Tvinga installation och ignorera säkerhetskontroller för emerge

      Mikael

      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 😉

      Linux
      19 feb. 2020 16:33
    • Installera-Linux guider för nybörjare

      Mikael

      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 😉

      Linux
      19 feb. 2020 16:32
    • Konvertera till och från UTF-8 med iconv

      Mikael
      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!

      Linux
      19 feb. 2020 16:30
    • Användbara kommandon för Linux

      Mikael
      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.

      Linux
      19 feb. 2020 16:29
    • Klona webbplatser med wget

      Mikael
      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

      Linux
      19 feb. 2020 16:28
    • Hur man kör Ultimate Boot CD från USB-minne

      Mikael
      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.

      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 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. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne. 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 Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      Linux
      19 feb. 2020 16:24
    • Hur man använder sed kommandot i Linux

      Mikael
      Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      Linux
      11 aug. 2022 07:40
    • Byta till Linux från Windows

      Mikael
      Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      Linux
      30 okt. 2020 14:12
    • Skriva POSIX kompatibla shellskript

      Mikael
      Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      Linux
      17 sep. 2020 11:47
    • Använda en ssh SOCKS proxy

      Mikael
      Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      Linux
      21 aug. 2020 11:29
    PrevNext
    1
    2
    3
    4
    5



    Senaste inläggen från UEX

    • Sed - strömredigerare för filtrering och omvandling av text

      Sed kommandot är som vim ganska knepigt att lära sig men när man får koll på det så kan man underlätta sitt arbete med shell script extremt mycket.

      När man ska manipulera och omvandla texter så är sed ett av de bästa verktygen i Linux. Jag ska försöka använda mig av bra kompatibilitet så att det funkar på så många installationer som möjligt. Därför har jag testat dessa kommandon på asus wrt som har en äldre busybox installation.

      Argument till kommandot

      -e Kör flera editeringar efter varandra. Jag rekommenderar att man kör sed 's/byt/till/; s/byt/till/' fil.txt istället för sed -e 's/byt/till/' -e 's/byt/till/' fil.txt. Blir både kortare och bättre med ; istället för -e.

      -n Stäng av automatisk print till standar ut. Använd sed -n 'p' för att få ut text.

      Kommandon

      För att skicka text till sed (standard input) så finns det olika sätt att göra detta på. Här ser du fyra exempel på detta.

      < fil.txt sed -n '2,3p' sed -n '2,3p' fil.txt cat fil.txt | sed -n '2,3p' printf 'Lite text' | sed -n 's/text/sed/p'

      Printa rad 4 till 6.

      sed -n '4,6p' fil.txt

      Radera rad 2 till 4 och printa sedan.

      sed -n '2,4d;p' fil.txt

      Tre exempel på att byta ut ordet byt till ordet till fast bara på rad 10 till 13. Det första exemplet byter ut det i texten och sedan printar hela texten medans det andra bara printar det som lyckats blivit utbytt. /p är en specialare som bara printar det den matchar på när man byter ut saker eller söker efter dem. Tredje exemplet gör samma som första men bryr sig ej om det är exakt match på stora och små bokstäver.

      sed -n '10,13s/byt/till/;p' fil.txt sed -n '10,13s/byt/till/p' fil.txt sed -n '10,13s/byt/till/I;p' fil2.txt

      Detta fungerar som grep att man letar efter hitta och sedan printar det som matchar. Det andra alternativet gör som den första men lägger till 10 rader efter matchen. Det tredje alternativet begränsar sökningen från rad 4 till 10. Det fjärde exemplet tar rader från försa <p> taggen till sista </p> taggen och sedan söker efter rader med <b> som den sedan tar bort och printar resten. Så en begränsning med {} kan sättas upp med både 4,10 eller ord och taggar.

      sed -n '/hitta/p' fil.txt sed -n '/hitta/,+10p' fil.txt sed -n '4,10{/hitta/p}' fil.txt sed -n '/<p>/,/<\/p>/{/<b>/d;p}' fil.txt

      d är använbart i många fall. Första exemplet är för att ta bort allt efter en match. När man använder ! så blir det tvärt om. Andra exemplet tar bort allt före en match.

      sed -n '/hitta/,$d;p' fil.txt sed -n '/hitta/,$!d;p' fil.txt

      q är riktigt bra om du vill sluta läsa in data. Då kan du genom flera q leta efter ett ställe och sedan ett annat och printa resten. Observera att om du vill ha med sista raden som den stannar på så måste du lägga in p före q.

      sed -n '/hitta/q;/hitta2/q;p' fil.txt sed -n '/hitta/q;p;/hitta2/q' fil.txt

      Här har vi några exempel på saker som skrivs ut 1. Första raden. 2. Femte raden. 3. Sista raden. 4. Sista radens nummer. 5. Sista radens nummer och innehåll. 6. Alla radnummer och innehåll.

      sed -n '1p' fil.txt sed -n '5p' fil.txt sed -n '$p' fil.txt sed -n '$=' fil.txt sed -n '$=p' fil.txt sed -n '=p' fil.txt

      När man har med n inom ' ' så hoppar man över en rad för varje rad. Detta betyder att varannan rad skriver ut radnumret. Den andra exemplet skriver ut varannan rad. Du kan hoppa över 3 rader för varje rad med sista exemplet.

      sed -n '=;n' fil.txt sed -n 'n;p' fil.txt sed -n 'n;n;n;p' fil.txt

      Det finns fall där man måste använda -e istället för ;. Detta när man lägger till text ovanför, under eller byter ut en rad. -ne behövs bara på första. sedan kan du fortsätta som vanligt. Anledningen till detta är att man kan inte lägga några ; tecken efter texten som man lägger till för då läggs den bara till som text istället för att köra nästa kommando.

      sed -ne '/3/aLite ny text under rad 3' -e 'p' fil2.txt sed -ne '/3/cLite ny text istället för rad 3' -e 'p' fil2.txt sed -ne '/3/iLite ny text ovanför rad 3' -e 'p' fil2.txt

      För att förstå N/P/D så är det bäst att kolla på video 2 från 7:44. N lägger in nästa till patten space och P printar första från patten space samt D som tar bort första från patten space.

      För att förstå script, -f och # så är det bäst att kolla video 3 från 4:45.

      För att förstå holding space och x/h/H/g/G så är det bäst att titta på video 4 från 5:37.

      För att förstå holding space och :/b/t så är det bäst att titta på video 4 från 13:05.

      Filmer och sed editorn

      Dessa måste vara de bästa filmerna om man skall lära sig sed.

      Understanding how sed works 1/4

      Understanding how sed works 2/4

      Understanding how sed works 3/4

      Understanding how sed works 4/4

      Tips

      Ibland så kan det vara bra att använda andra avskiljare än / i sed för att det krockar. Ett tecken som jag tycker är bra är | (pipe). Om man behöver använda variabler så kan man lösa det som i andra exemplet.

      sed -n '10,13s|byt|till|;p' fil.txt sed -n "10,13s|$byt|$till|;p" fil.txt

      Man kan göra så många saker med sed och det går inte att ta upp allt. Men efter du har läst detta och även sett på filmerna så kommer du förstå sed mycket bättre än innan.

      11 aug. 2022 07:40 • läs mer
    • Windowsfx (linuxfx)

      Har du funderat på att gå över till opensource för att du är trött på Windows som operativsystem? Det kan vara svårt att börja med en Linux distribution som är avancerad och tar lång tid att lära sig.

      Något som kan vara värt att testa är Linuxfx som gör din migrering till Linux lättare. När du sedan har fått upp smaken så kan du testa en lite svårare variant av Linux. Lär dig mer om Linux via vår länklista.

      Här kan man ladda ner Linuxfx.

      30 okt. 2020 14:12 • läs mer
    • Bashism

      Visst är det härligt att automatisera saker på din dator? Shellskript finns i många former men när vi pratar Linux så brukar folk referera till bash-skalet. Problemet med bash är att det inte följer POSIX-standarden och har massor med extra funktioner som inte stöds i andra eller gamla skal och detta kallar man för bashism. Exempel på skal som är snabba är tex dash och ash.

      När man skriver skript så vill man gärna att det är portabelt så att man kan flytta det mellan olika servrar eller datorer. Jag strävar alltid att göra saker så portabelt som möjligt och då vill man följa POSIX rakt ut.

      Som tur så finns det ett verktyg som heter checkbashisms och går att installera i de flesta Linux distributioner. Använd det genom att köra

      checkbashisms -f -p <ditt skript>

      Så kommer den berätta för dig vad som inte följer POSIX i ditt script. Notera att du ska alltid använda #!/bin/sh i toppen på skriptet.

      Kolla här om du vill läsa mer om bashism.

      17 sep. 2020 11:47 • läs mer
    • Arbeta via proxy i någon annans nätverk Tunneln

      Det första man måste göra är att sätta upp denna tunnel via ssh. Inget annat speciellt behövs. Observera att detta bara funkar för TCP och ej UDP.

      Du öppnar en SSH-anslutning till en fjärrserver. När man öppnar anslutningen kommer din SSH-klient också att öppna en lokal TCP-port, endast tillgänglig för din dator. I exemplet nedan använder jag lokal TCP-port: 1337. Du konfigurerar din webbläsare Firefox för att använda den lokala proxy istället för att direkt gå ut på internet. Fjärr SSH-servern accepterar din SSH-anslutning och fungerar som en utgående proxy / vpn (SOCKS5).

      Kör följande kommando i din terminal för att aktivera tunneln. När du kör detta kommer ssh att ligga i förgrunden tills du gör CTRL + C för att avbryta det.

      ssh -C -D 1337 -N <användare>@<server>

      Om du föredrar att hålla den igång i bakgrunden, lägg till -f för att forka den till ett bakgrundskommando.

      ssh -C -D 1337 -f -N -p <port> <användare>@<server>

      Du kan se att den funkar genom att köra netstat -nap | grep 1337. För att stänga av så kan du köra kill på process nummer som du får genom att köra ps | grep [1]337.

      Vad detta kommando gör;

      -C: Sparar bandbredd genom att komprimera data i tunneln. -D 1337: öppna en SOCKS-proxy på din lokala port: 1337. Prova ett annat portnummer om porten är upptagen. Om du vill öppna flera SOCKS-proxyer till flera slutpunkter väljer du en annan port för var och en. -f: Kör processen för tunneln i bakgrunden. -N: kör inte fjärrkommandon, användbart för att bara vidarebefordra portar. -p: Om din ssh-server lyssnar på en annan port än 22. -q: tyst läge, skriv inte ut något i terminalen. <din server>: En fjärr SSH-server du har tillgång till Webbklienten

      För att använda proxyn så behöver du en webbläsare. Den bästa webbläsaren för detta är Firefox oberoende av vilket operativsystem du har. Börja med att gå till Inställningar -> Nätverksinställningar -> Inställningar... i Firefox.

      Väl sedan Manuell proxykonfiguration och fyll i SOCKS-värd (127.0.0.1) och port (1337). Bra att bocka i SOCKS v5 samt Proxy DNS när du använder SOCKS v5.

      Felsökning

      Lite vanliga fel som kan uppstå. Du kan alltid felsöka med curl för att se hur det funkar.

      curl --socks5 127.0.0.1:1337 https://www.google.com

      Om det inte funkar så kan det vara bra at kolla så att AllowTcpForwarding / ssh_forwarding är påslaget i din router / server / WSL.

      channel 2: open failed: administratively prohibited:

      Om du får "The connection was reset" i Firefox så kan du ha missat att SOCKS-värd ska vara satt och inte HTTP Proxy / HTTPS Proxy.

      21 aug. 2020 11:29 • läs mer
    • Virsh

      Ett smidigt cli till qemu. Alla kommandon skrivs efter man har kört virsh

      Anslut till qemu

      connect qemu:///system

      Lista alla instanser

      list --all

      Starta en instans

      start <namn>

      Anslut till consolen på en instans. För att komma ur den så är det CTRL+5 (Svensk tangentbord)

      console <namn>

      23 juli 2020 11:02 • läs mer

    Nyheter

    Fallout och Doom QA-arbetare når preliminärt avtal med Microsoft efter nästan två år2025-05-31 15:49

    Idag har mer än 300 fackligt organiserade kvalitetssäkringsarbetare på ZeniMax Media, som arbetar med titlar som The Elder Scrolls och Doom, meddelat att de har nått en preliminär överenskommelse med moderbolaget Microsoft om sitt första kollektivavtal sedan de bildade sin fackförening för två år sedan.

    ZeniMax Workers United, som är fackligt organiserade under Communications Workers of America (CWA), sa att avtalet inkluderar betydande allmänna löneökningar, minimilöner, skydd mot godtyckliga uppsägningar, rutiner för tvistlösning, skydd kring användning av artificiell intelligens som kan påverka arbetare, samt en kreditpolicy för att säkerställa att QA-arbetare får rättvis erkänsla för det arbete de utför i spelen.

    Men vägen till ett avtal har varit utmanande framhåller IGN. I november förra året gick arbetare ut i en dags strejk, med hänvisning till brist på framsteg i förhandlingarna om skydd för distansarbete och anklagelser om att Microsoft outsourcade QA-arbete utan att förhandla med facket. Sedan, i april, röstade arbetare i överväldigande grad för att ge sitt godkännande till en strejk, igen med oro över distansarbete och låg ersättning.

    Det preliminära avtalet är beroende av att fackmedlemmarna godkänner det i en omröstning, vilken förväntas avslutas senast den 20 juni.

    <bild>Med kollektivavtal på plats kanske kvalitetssäkringen blir bättre.</bild>


    Bethesda rear ut The Elder Scrolls-serien på Steam2025-05-31 15:30

    Om du gillar The Elder Scrolls eller enbart vill testa det nya {The Elder Scrolls IV: Oblivion Remastered} går det att få tag på titlarna billigare denna helg. Bethesda rear ut hela spelserien på Steam med upp till 75% rabatt. Det massiva flerspelarspelet {The Elder Scrolls Online} kostar cirka 54 kronor och {The Elder Scrolls V: Skyrim} Anniversary Edition kostar 180 kronor. Om du inte är sugen på de äldre titlarna är det även 20% rea på The Elder Scrolls IV: Oblivion Remastered som går att köpa för 479 kronor. Äger du denna remaster går det även att få tag på Deluxe uppgraderingen billigare. Vilket The Elder Scrolls har du lagt flest timmar på och vilket har du moddat mest?

    <bild>Rustningarna tenderar att få en ny design för varje spel i serien.</bild>


    The Witcher 3: Wild Hunt kunde ha hetat "Northern Lights"2025-05-31 15:20
    Witcher 3 kunde haft ett namn med en nordisk koppling.
    Danny Boyle pratar om hur de infekterade har utvecklats i 28 Years Later2025-05-31 14:46

    Det är lite mer än 22 år sedan Danny Boyle regisserade Cillian Murphy i 28 Days Later. Under 2025 kommer vi få den tredje filmen i serien, med titeln 28 Years Later och både Boyle och Murphy återvänder - den sistnämnda dock enbart som producent. Nu har regissören berättat lite kring hur han vill göra filmens infekterade annorlunda än hur de varit tidigare.

    "There have been evolutions because we didn't want to just stand still with them. There has been kind of mutations that have developed, if you like," säger Boyle i en intervju med IGN.

    Boyle har också valt att filma i ett väldigt brett perspektiv; 2.76:1-Widescreen och Boyle förklarar valet av bildformat såhär; "You hope that it gives a sense of unease really... that they could be anywhere, because we know they move very fast. Apart from these new ones, the 'slow-lows' which of course move very slowly, but they're still dangerous."

    I rollerna kommer vi bland annat få se Ralph Fiennes, Aaron Taylor-johnson och Jodie Comer och filmens manus är skrivet av Alex Garland.

    <bild>Mys i sommarvärmen.</bild>


    Delar av miljöerna i Xenoblade Chronicles 3 skapades med AI2025-05-31 14:08

    Att skapa moderna spel är en både kostsam och tidskrävande process, vilket gör att utvecklare ständigt söker nya sätt att effektivisera arbetet. I fallet med {Xenoblade Chronicles 3} har utvecklaren Monolith Soft inte använt AI i den bemärkelse vi oftast talar om idag, men delar av spelets grafik är faktiskt resultatet av automatiserad generering.

    I en intervju hos japanska CG World berättar map model designer Yoichi Akizuki och support engineer Mitsuhiro Hirose att teamet använde verktyget Houdini för att skapa delar av spelvärlden. Houdini låter utvecklare sätta upp regler för hur objekt skapas och placeras, vilket gör det möjligt att automatiskt producera stora mängder innehåll på kort tid:

    "The main reason for the introduction [of procedural asset generation] was to cope with the increasing volume of assets required for games. This has had a particularly significant impact on our game titles, which feature the exploration of vast and diverse fields. The conventional method had limitations in terms of cost and schedule. So we replaced the placement process with a procedural one and automated it, allowing us to focus our development resources on the actual game creation. We had been conducting basic research on Houdini for some time, but it was with Xenoblade Chronicles 3 that we were able to put it into practice for the first time as part of our asset placement system."


    Även om Monolith Soft redan tidigare experimenterat med den här typen av teknik, är det först i Xenoblade Chronicles 3 som metoden använts fullt ut i produktion. Trots att spelet i stort fått ett varmt mottagande, har vissa kritiker påpekat att miljöerna ibland kan kännas ödsliga eller sakna variation. Kanske är det en konsekvens av det automatiserade tillvägagångssättet, eller vad tror du?

    <bild></bild>


    Första patchen till Elden Ring: Nightreign kommer nästa vecka2025-05-31 13:17

    Elden Ring: Nightreign kan inte anses vara annat än en succé för From Software, efter över två miljoner sålda exemplar och över 300 000 samtida spelare under premiärveckan. Men trots detta så dras det förstås med vissa problem, något som nu ska åtgärdas i den första patchen som släpps nästa vecka.

    Patch 1.02 kommer bland annat att öka mängden runor man får vid solo expeditioner och man blir också automatiskt återupplivad efter att ha dött under de nattliga bossfighterna. Ett gäng buggar ska också vara fixade i och med denna patch, men vi får antagligen mer info om detta när den är släppt.

    <bild>Elden Ring: Nightreign dras med lite buggar, något som From Software nu ska åtgärda.</bild>

    <social>https://x.com/ELDENRING/status/1928436890924884471</social>


    After Inc: Revival - Återuppbyggnadsuppföljaren till Plague Inc. får PC-släpp2025-05-31 12:57
    Gå från att förstöra till att bygga upp.
    Bloober försäkrar att pro-patchen till Silent Hill 2 fortfarande är på väg2025-05-31 09:18
    Den som väntar på något gott…
    Elden Ring Nightreign snabbpatchat, solospelarpatch nästa vecka2025-05-30 18:19
    Ska bli bättre för de som spelar ensamma.
    EA dementerar uppgift om att Codemasters stängs2025-05-30 17:10
    "Helt ogrundade och felaktiga".
     073-731 76 64   info@uex.se