malinux

malinux' lillablogg

[fdx-switch-link]

Terminal 3 — Denne posten er skrevet av malinux —

Dette er tredje post i terminalserien

I forrige post, som ble litt lang, gikk jeg igjennom flere ls (liste)-eksempler, du (diskbruk), samt hvordan man oppretter og sletter mapper.

Jeg vil i denne tredje posten, vise eksempler på hvordan vi kan kopiere, slette og flytte mapper- og filer, samt hvordan vi kan søke igjennom innholdet i filer og mapper.

Før vi går helt i gang her, vil jeg tipse om kommandoen clear, som på norsk skulle være noe slikt som rens. Er det mye rart i terminalen, skriv clear, og du får en ren terminal igjen. En annen måte å rense terminalen på, er å trykke på ctrl + l (kontroll + l).

 

Kopiere filer

Jeg ønsker å kopiere fila "tekstfil1.txt" fra Nedlastinger til mappen Dokumenter.

 

cp-1-1

  • cp - kopiere, eller copy på engelsk. Kommando som brukes til å kopiere filer og mapper.
  • ~ - (Tilde-tegnet) Betyr hjem i *nix, og referer til $HOME og referer altså til hjemmemappen til brukeren du er logget inn som. For eksempel /home/malinux.

Vi ser nå at tekstfila ligger i Dokument-mappen. Siden vi har kopiert fila, så ligger den nå både i ~/Nedlastinger og i ~/Dokumenter.

cp-1-2

For å kun å ha tekstfila i Dokumenter, og ikke også i Nedlastingsmappa, så må fila slettes fra Nedlastingsmappa.

Man kan også gi nytt navn på en fil når man kopierer den. Dette er spesielt nyttig om du ønsker å redigere en konfigurasjonsfil. Da gjør man ikke noe krøll på originalfila i fall man vil gå tilbake til originalkonfigurasjonen.

cp-1-3

BAK er en forkortelse for backup, og det kunne like godt stått FORAN der, men BAK er litt mer beskrivende, og gjør det lettere å identifisere den som en backup. Man kan altså kalle kopien hva man vil, men det anbefales å bruke noe beskrivende.

 


Flytte filer

For å slippe å måtte slette filen fra opprinnelsesmappen etter den er kopiert til destinasjonsmappen, kan dette gjøres i én operasjon.

mv-1-1

  • mv - flytt, eller move på engelsk. Brukes for å flytte filer eller mapper fra destinasjon 1 til destinasjon 2.

Som vi ser er filen nå flyttet fra ~/Nedlastinger til ~/Dokumenter, fordi fila nå er borte fra ~/Nedlastinger, men finnes i ~/Dokumenter.

 

Kopiere mapper

Jeg ønsker å ta backup av Dokumentmappa. Nå vil jeg presisere at skal man ha virkelig backup, så bør jo den også lagres på et annet medium, enn der du har mappa fra før. Dette er bare et eksempel på selve kopieringsprosessen.

cp-R-1-1

  • cp -R - -R står for rekursiv, eller at at cp skal kopiere hele mappen, undermapper og all dens innhold, samt skjulte filer, til den nye destinasjonen.

 

Flytte mapper

I stedet for å kopiere mappen fra destinasjon 1 til destinasjon 2, så kan vi flytte mappen. Da vil den forsvinne fra destinasjon 1 og  bli flyttet til destinasjon 2.

mv-1-2

Vi ser at mappen og dens innhold ble flyttet, da mappen er borte fra hjemmeområdet, men finnes i mappen Dokumenter.

 

Søke i mapper

Når jeg vil undersøke om fila jeg leter i, ligger i en mappe, bruker jeg ls-kommandoen, som beskrevet i Terminal 1, men vi slenger på en | grep <søkestreng>

grep-1-1

Vi ser at grep søker etter ord som starter på bokstavene vi la inn i søkestrengen, og at den ikke viser innhold, som ikke matcher søkestrengen vår.

 

Søke i og se innholdet i filer

Når jeg vil søke i eller se innholdet i filer, så brukes kommandoen cat

  • cat - samler sammen innholdet i en fil og printer innholdet til terminalen.

grep-1-2

Om innholdet i fila er lenger enn terminalen, så kan vi også bruke | less, som også er beskrevet i Terminal 2.

med cat | grep <søkestreng> så kan vi søke etter og kun vise ordene vi leter etter slik:
grep-1-3

Om det vi søker etter, ikke finnes i fila, vil den ikke returnere noe, som vi ser når jeg prøvde å søke etter malinux i fila, men der var ingen malinux.

 

Oppsummering:

Kopiere mappe eller fil:

Brukes når vi ønsker å ha mappen eller fila på flere steder. For eksempel ved backup, eller om vi vil være tryggere på at innholdet er flyttet over på rett måte og ikke noe mangler, før man sletter mappene eller filene fra destinasjon 1.

Flytte mapper eller filer:

Gjør det raskere å flytte filer eller mapper, da man ikke trenger å slette fra destinasjon 1 etter man erferdig. Bakdelen er at vi ikke har filene liggende i destinasjon 1 om noe går galt under flyttingen.

Se innholdet i filer:

Bruk cat filnavn, eller cat filnavn | grep <søkestreng> for å vise det du søker etter, om det finnes i fila.

 

Kilder:

http://info.ee.surrey.ac.uk/Teaching/Unix/


RAID på Linux – trinn 2 — Denne posten er skrevet av royk —

I første artikkel i denne serien, ga vi en enkel innføring i de forskjellige RAID-nivåene. I denne artikkelen, går vi gjennom installasjon av RAID-1/speiling på systempartisjonene på Linux gjennom installasjonen. Eksemplene under er for Debian Wheezy, men framgangsmåten er lik på Ubuntu og tilsvarende distroer. På CentOS og andre RedHat-baserte versjoner, vil det være forskjellig.

Kort om RAID-kontrollere

Denne artikkelserien handler om RAID gjort i åpen programvare. Det finnes RAID-kontrollere som gjør dette svært effektivt, men de koster mye og er skjelden eller aldri like fleksible som Linux' mdraid, som det som omtales her. Mange hovedkort kommer i dag med "RAID-kontroller", men disse har typisk bare en BIOS og kanskje litt elektronikk for å hjelpe til med paritetsberegning og kalles i Linux-kretser for FakeRaid. Har du en slik kontroller, skru av RAID i BIOS og la Linux gjøre jobben. Har du en skikkelig RAID-kontroller, kan du selv velge om du vil bruke denne eller mdraid. Om hva som er best, strides som alltid de lærde.

mdraid

mdraid (md som i "miltiple devices") er den mest brukte av Linux' innebygde software RAID-løsninger og er den jeg går gjennom her. LVM støtter også litt RAID, men dette omtales ikke her. md-driveren så dagen først i 2001, i 2005 kom RAID-6 inn, og i dag er dette annsynligvis noe av det mest utbredte RAID-systemet på kloden{{citation-needed}}, takket være mengden små, billige NAS-løsninger{{citation-needed}}.

Plassering av data og rota

Linux (dvs GRUB) kan ikke starte direkte fra RAID-nivåer andre enn RAID-1/speil. Noen NAS-produsenter, som QNAP, bruker små partisjoner i begynnelsen av store disker og speiler disse og bruker resten til RAID-5 eller -6. Jeg anbefaler ikke dette, siden det alltid er en god idé å separere data og system, og da på forskjellige fysiske disker. Det er veldig stor forskjell på I/O-mønster på rota (stort sett les) og på data (veldig varierende avhengig av datatype osv) og også i hastighet. Satt litt på spissen, gitt at systemet ikke swapper, kan du fint ha rota på treige minnepinner fra ebay, mens du har raske og gode disker til data. I tillegg vil man helst ha RAID direkte på disker (som sdc) og ikke på partisjoner (som sdc1), noe man ikke enkelt kan gjøre med rota. Dette er fordi at hvis du har et RAID og bytter alle disker med større, så vil det være mulig å utvide raidet med en enkel kommando. Ligger raidet på partisjoner, må du gjennom utvidelse av partisjonene før raidet kan utvides, og siden utvidelse av partisjoner må gjøres når disken er offline, vil det medføre nedetid og bannskap.

Speiling av systempartisjoner under installasjon

Jeg startet installasjon av en ny virtuell maskin eller VM med navn raidtest som ble satt opp med 2 disker på 8GB hver. Når installasjonsprogrammet nådde Partition disks, valgte jeg Manual. For hver disk, gikk jeg gjennom og laget én partisjon til /boot (500MB), én partisjon til swap (500MB) og resten til rota (/). Den første ble laget som physical partition, resten som logical partition. På samtlige valgte jeg Use as: physical volume for RAID. Etter at partisjonene ble opprettet, valgte jeg Configure software RAIDCreate MD Device, RAID1, 2 disker og 0 spares, og valgte vda1 og vda2 som active devices, så tilsvarende for de andre to settene med partisjoner. Valgte så Finish og fikk opp lista over disker og partisjoner igjen, men nå også med RAID-settene jeg hadde laget, her vist etter at jeg har valgt monteringspunkter og filsystemtype/swap. På en fysisk maskin vil disse enhetene bli hetende sda og sdb med partisjoner som sda1 og sdb1 og så videre.

Screen Shot 2015-03-30 at 18.21.19

Velg nå "Finish partitioning and write changes to disk" og installasjonen fortsetter som vanlig. Når installasjonen er ferdig, kjør en statussjekk av de tre RAID-settene som er satt opp:

Screen Shot 2015-03-30 at 19.17.36

Hvis en md-enhet, som md1 her, kommer opp med auto-read-only etter installasjon, er dette som regel en falsk alarm, da md-enheter normalt står i denne statusen fram til det blir forsøkt skrevet til enheten. Den kan imidlertid tvinges i read-write med "mdadm --readwrite /dev/md1" jamfør lista vist over.

Oppsummering

Ved å følge denne gjennomgangen, vil du ha et ferdig system med redundans på systemet. Oppsett av datasett bør gjøres manuelt, og mer om dette kommer i neste artikkel.


Ubuntu og pakkearkiv — Denne posten er skrevet av malinux —

Et pakkearkiv, er det man på engelsk kaller repository.

 

Hvordan legger vi til, installerer fra, og fjerner pakkearkiv i Ubuntu? Her skal jeg vise hvordan man kan gjøre dette med kommandoen add-apt-repository.

 

Hva er et pakkearkiv?
Et pakkearkiv, er et slags fjernlager, som inneholder blant annet programvarepakker og bibliotekpakker. Tenk deg et fjernlager som distribuerer pakker. Når maskinen sjekker etter oppdateringer, så sender pakkebehandleren, en forespørsel til fjernlageret. Kan dere oppgradere pakkene på denne lista her? Om fjernlageret har fått inn pakker med nyere programvare, enn de pakkehåndtereren har på lista, så får du forespørsel fra fjernlageret, om du ønsker å oppgradere disse. Da sender fjernlageret ut pakker, som pakkehåndtereren så tar seg av. Pakkehåndtereren, sørger for at pakkene blir oppgradert.

Det er vanlig at progamvarepakker er avhengige av forskjellige bibliotekspakker. Såkalte avhengigheter. Ubuntu har en rekke innebygde referanser til egne fjernarkiv, men man kan også legge til tredjepartsarkiv. Tredjepartsarkiv kan inneholde programvare du ikke får fra Ubuntus fjernarkiv. De kan også inneholde nyere versjoner av programvare, enn det som er tilgjenglig fra Ubuntus arkiv.

 

Hvorfor har vi slike fjernarkiv?
Dette er en av de store styrkene med Ubuntu, og de fleste andre Linux-distrubisjoner. Fordelene med egne fjernarkiv, er at alle program- og bibliotekspakker, installeres fra samme kilde. Dette vil redusere ressursbruken, da ikke hvert enkelt program vil ha sin egen oppdateringsløsning, som kjører i bakgrunnen. En annen fordel er at alle programmer kan installeres via samme installasjonsprogram, noe som gjør at man ikke trenger å besøke det enkeltes programs respektive hjemmeside, for å laste ned programvaren deres.

Programvare, som skal inn i pakkearkivene til Ubuntu må godkjennes før det kan legges til, noe som fører til større sikkerhet. Man er altså ikke utsatt for å installere malwareinfiserte pakker/programmer, fordi det programvaren må godkjennes og undersøkes først.

Ubuntus arkivreferanser er delt inn i Main, Restricted, Universe, og Multiverse

main - hovedarkivet. Inneholder offisielt støttete programvare.

restricted - begrenset programvare. Inneholder programvare, som ikke er tilgjengelig under en fullstendig fri lisens.

universe - univers. Inneholder community-vedlikeholdt programvare og er ikke offisielt støttet av Ubuntu, men .

Multiverse, eller mulitivers, inneholder ikke-fri programvare.

Ved bruk av tredjepartsarkiv, bør man være sikker på at man kan stole på utgiveren, den som har laget arkivet, før man eventuelt legger dette til i Ubuntu-installasjonen sin.

Er for eksempel multiverse deaktivert, så kan den aktiveres slik:

sudo add-apt-repository multiverse
sudo apt-get update

Man kan da installere pakker fra arkivet, som vist under. <pakkenavn> er navnet på pakken du skal installere. <>-tegnene skal ikke med.

sudo apt-get install <pakkenavn>

Skal man deaktivere multiverse, gjøres dette slik:

sudo add-apt-repository --remove multiverse

 

I dette eksempelet er jeg ikke fornøyd med den versjonen av spillet, "Battle for Wesnoth", som jeg får installere fra Ubuntus pakkearkiv (version:1.10.7 i Ubuntu 14.04.2) og vil ha en nyere versjon, 1.12 i stedet.

Jeg har funnet ut at en bruker på launchpad, Vincent Cheng, pakker nyere versjoner av "Battle for Wesnoth" i eget pakkearkiv.
https://launchpad.net/~vincent-c/+archive/ubuntu/wesnoth

Som vi kan se på siden, så står det hvordan man installerer pakkearkiv med apt-add-repository. Vi gjør som i eksempelet her:

sudo add-apt-repository ppa:vincent-c/wesnoth
sudo apt-get update
sudo apt-get install wesnoth-1.12

ppa - betyr personlig pakkearkiv, eller personal package archive på engelsk.

launchpadbruker - i dette tilfellet: vincent-c

/pakkearkiv - i dette tilfellet: wesnoth

Så på en måte betyr dette: "Jeg ønsker å laste ned pakker fra fra det personlige pakkearkivet til launchpadbruker vincent-c i arkivet /wesnoth

Addressreferansene til tredjepartsarkivene legges inn i mappen /etc/apt/sources.list.d/ og arkivreferansene legger seg inn i *.list-filer. I dette eksempelet ligger referansene i filen: vincent-c-wesnoth-trusty.list

I fila ligger følgende linjer.

deb http://ppa.launchpad.net/vincent-c/wesnoth/ubuntu trusty main
# deb-src http://ppa.launchpad.net/vincent-c/wesnoth/ubuntu trusty main

Den første linjen, peker til de vanlige pakkene, mens deb-src-linja (deb-kilde, eller deb-source på engelsk) peker til kildekodepakker for pakkene i arkivet, som starter på deb. Dette gjør det mulig å bygge en pakke fra kildekoden selv, eller se igjennom kildekoden. Jeg kommer ikke i denne posten til å vise hvordan man bygger en pakke fra kildekode, men det kommer i en senere post.

Som standard deaktiveres deb-src. #-tegnet betyr at linjen skal ignoreres. For å aktivere kildekodepkaker, kan dette gjøres slik. Det kan også gjøres når du legger til arkivet:

sudo add-apt-repository --enable-source ppa:bruker/pakkearkiv

Etter deb og addressen, ser vi det står trusty og main. 'trusty' referer til Ubuntu 14.04, altså trusty tahr, som er kodenavnet for den Ubuntu-versjonen jeg bruker. Dette står der så man får pakker og avhengigheter, som passer med versjonen man har installert av Ubuntu.

sudo apt-get update laster inn info om nye pakker fra det nye arkivet. apt-get fungerer slik at den henter en pakke fra et tredjepartsarkiv, framfor fra det interne arkivet, om samme pakke finnes begge steder.

 

For å nedgradere en pakke fra et tredjepartsarkiv, fjernes først pakken, så arkivtilgangen, og til slutt installerer man pakken på nytt, og den henter nå pakken fra de egne arkivene i stedet.

sudo apt-get purge <pakkenavn>
sudo apt-get autoremove
sudo apt-add-repository --remove ppa:<launchpadbruker>/<arkivnavn>
sudo apt-get update
sudo apt-get install <pakkenavn>

sudo apt-get purge <pakkenavn> - avinstallerer pakken og dens konfigurasjonsfiler.

sudo apt-get autoremove - fjerner andre pakker, som pakken er avhengig av om andre pakker er avhengig av de lenger. Disse kan fjernes for å spare plass.

sudo apt-add-repository --remove ppa:<bruker>/<arkivnavn> - fjerner arkivtilgangen til tredjepartsarkivet.

sudo apt-get update - oppdaterer informasjonen om hvilke pakker maskinen har installert fra før, og hvor disse pakkene skal hentes fra. Den vil nå ikke finne arkivtilgangen vi fjernet, men da hentes pakken fra internarkivene neste gang vi kjører apt-get update.

sudo apt-get install <pakkenavn> - vil nå altså installere versjonen som er inkludert i egne arkiv.

for å se flere måter å legge til/fjerne arkivtilganger via add-apt-repositories. Besøk manualsiden til add-apt-repsoitories, slik:

man add-apt-repositories

Kilder:

http://manpages.ubuntu.com/manpages/trusty/en/man1/add-apt-repository.1.html

http://manpages.ubuntu.com/manpages/trusty/en/man8/apt-get.8.html

https://help.ubuntu.com/community/Repositories/Ubuntu

https://launchpad.net/~vincent-c/+archive/ubuntu/wesnoth


RAID på Linux - trinn 1 — Denne posten er skrevet av royk —

RAID - Redundant Array of Inexpensive (eller Independant) Disks er en måte å bruke mange disker av samme størrelse til å utnytte plass bedre og samtidig unngå datatap når en disk tryner. RAID finnes i mange varianter.Ordet Redundans brukes mye videre i artikkelen, og betyr overflod, med andre ord for mange enheter enn det som kreves. Har man redundans i et system, det være seg strømforsyninger eller harddisker, tåler man at en enhet tryner, mens resten av systemet går videre. De vanligste RAID-nivådene er 1, 5 og 6. Disse er godt beskrevet på wikipedia, men en oppsummering følger under.

RAID-0

Som tallet avslører, er ikke dette egentlig et RAID-nivå. Det handler om å lagre data over mange disker i "striper" på typisk 64kB til 1MB eller høyere per disk. Dette gjør at man får høy hastighet, men gjør også at hvis én enkelt disk tryner, så går hele RAIDet ned.

RAID-1

Speiling - data lagres parallelt på to disker slik at når man mister en disk virker ting som vanlig. Godt implementert RAID-1 gjør også at lesehastigheten økes, siden man leser fra forskjellige sted på begge diskene samtidig. Skrivehastigheten tilsvarer en enkelt disk.

RAID-1+0

Dette er en kombinasjon av speiling (RAID-1) og striping (RAID-0) og tar med seg det beste fra begge typer. Med RAID-1+0 (også kalt RAID10) får man veldig høy ytelse og god sikkerhet. Man mister her som i RAID-1 halvparten av plassen i redundans.

Paritet

Følgende RAID-systemer bruker paritet og ikke enkel speiling. Det medfører at du mister kapasiteten til én disk per paritetsnivå, men at du også kan miste én disk per paritetsnivå uten datatap.

RAID-4

Data lagres i "striper" på samme måte som med RAID-0, men i tillegg brukes enkel paritet på dedikert paritetsdisk. Ulempen med RAID-4 er at ved skriving, blir paritetsdisken hardt belastet og fører til at RAIDet yter dårlig.

RAID-5

Enkel paritet som i RAID-4, men her distribuert over alle disker i RAIDet. Ligger data på disk 1, 2 og 3, ligger paritet på disk 4. Denne roteres jevnlig slik at data ligger på alle disker, mens paritet alltid ligger på en annen disk enn dataene i samme stripe.

RAID-6

Data lagres i "striper" som i RAID-4 og -5, men her benyttes dobbel paritet (i to dimensjoner) noe som betyr at man mister kapasitet og ytelse tilsvarende to av diskene, men til gjengjeld tåler å miste to disker uten datatap.

Hvorfor RAID-6?

En kan spørre seg hvorfor man vil bruke RAID-6 - sjansen for å miste to disker på en gang, er liten, spesielt med mindre disksett. Det er imidlertid en ganske stor sjanse for at, i et RAID-5, en disk tryner og man gjennom gjenoppbygging av RAIDet finner dårlige sektorer på en annen, eventuelt at en sviktende disk tryner ved belastninga av gjenoppbygginga. Ved RAID-6 vil sjansen være vesentlig lavere for datatap.

Hva skal jeg velge?

Fagfolk krangler fremdeles om hva som er sikrest av RAID-nivåer. I RAID-5 kan du miste én disk, mens i RAID-6 kan du miste to vilkårlige disker, i RAID-1+0 kan du miste en disk på hver side av hvert speil. RAID-4 kan kanskje brukes, men da helst med en SSD for paritetsdisken, og da bare for spesielle behov. I de fleste miljøer brukes RAID-6 for lagring på mange disker, kanskje 5 eller mer. Med over 15 disker eller så, bør det lages flere RAID-grupper som sys sammen med andre ting, som LVM. Skal du sette opp RAID-1+0 på Linux, er det nok bedre å bruke flere RAID-1-enheter og så bruke LVM over dem framfor å bruke RAID10-nivået i mdraid i Linux, da dette er svært lite fleksibelt.


Tabfullfør i terminal — Denne posten er skrevet av malinux —

Før dere blir gærne av å huske på kommandoer, får krampe i fingra etter å skrive inn alt for lange kommandoer og slikt, eller rett og slett for min egen og deres egen sikkerhet. Jeg brukte nemlig Ubuntu mer eller mindre fast fra Ubuntu 06.10 til omkring Ubuntu 12.04. Dette er altså en tidsperiode på fem år. Når noen etter fem år viser deg autofullfør, så er det fort gjort å tenke at man har lyst å kverke alle de som ikke har fortalt om dette tipset tidligere.

På en annen side, så får man lyst å kverke seg selv, når man innser at man med fem år på Linux ikke har tenkt at det kunne være en slik funksjon. Det er da man føler seg som en skikkelig idiot resten av året. Dessverre var det lenge til neste år på det tidspunktet da dette inntraff.

Det finnes heldigvis noe som heter autocomplete, eller autofullfør på norsk, som innebærer at du skriver noe av det du husker fra kommandoen, og så trykker du på tab to ganger, og du får opp alle kommandoer som starter på den/de første bokstavene du skrev inn, eller den fullfører kommandoen.

F.eks. så skal du gjøre et bashscript kjørbart, men husker ikke annet enn at kommandoen startet på ch. Du gjør da dette:

malinux@lillablogg:~$ ch[TABx2]

der [TABx2] ikke skal skrives, men det er for å markere at her skal du trykke tab-tasten to ganger.

Det vil da se omtrent slik ut i terminalen:

double-tab-completion1-1

Du kommer så på at kommandoen du letet etter het chown

Du kommer på at det er chmod du leter etter, og skriver inn m og gjentar prosedyren med å trykke to ganger på tab igjen.

double-tab-completion1-2

og du ser at kommandoen har fullført, fordi det ikke var andre kommandoer etter den i alfabetet og da fullføres hele kommandoen.

Slik vil det se ut:

double-tab-completion1-3

Så da skulle det gå litt raskere å fullføre kommandoer, slik at man slipper å skrive inn alt hele tiden.
Selv kan jeg få en tryggere hverdag 🙂


Terminal 2 — Denne posten er skrevet av malinux —

Dette er andre post i terminalserien.

Denne gangen skal jeg se nærmere på ls-kommandoen, beskrevet i posten Terminal 1, og hvordan vi kan endre hvordan den viser innholdet etter hvilke flagg vi bruker.

Videre vil jeg gå igjennom hvordan man oppretter nye kataloger/mapper.

Samt noen flere eksempler med cd-kommandoen, også beskrevet i Terminal 1

For å bli mer effektiv i terminalen, anbefales det å lese dette tipset om tabfullfør i terminalen

Om du skriver kommandoen under

ls --help

så vil du få en liste som ligner den her:

ls--help-1-1

Det som da har hendt, er at innholdet fra ls --help er så omfattende at ikke alt vises på terminalen samtidig. For å kunne scrolle i innholdet skriver man følgende:

ls --help | less

som gir meg muligheten til å vise innnholdet fra toppen. Jeg kan nå scrolle nedover med j, eller piltast ned, og opp igjen med k, eller piltast opp.

ls--help-1-3

Som vi ser, så er det mange muligheter med ls-kommandoen. Jeg kommer til å forklare de vanligste flaggene, da ls i seg selv er mer omfattende, som gjør den brukbar ved veldig spesielle behov.

Derfor kommer jeg kun til å forklare og gå igjennom de vanligste jeg bruker selv.

Der det det står f.eks. -a, --all så betyr det rett og slett at du kan enten bruke -a eller --all, men du kan f.eks. ikke skrive ls -a, --all slik:

malinux@lillablogg:~$ls -a, --all

Det kan vi se resultatet av her:

ls-a--all1-1

  • ls -a --all - betyr at den viser filer som starter på . (punktum), f.eks. .bash_history vises ikke om vi kjører kun ls, men vises når vi kjører ls -a. Dette kalles gjerne skjulte filer.

Her er et eksempel:

ls-2-1png

 

  • ls -l - betyr at den skal ha et langt visningsformat. Den presenterer innholdet som en liste med informasjon om rettigheter til skriving og lesing om filen, til størrelse og hvilken dato og klokkeslett filen eller mappa sist ble endret.

Her ser vi et eksempel på et slikt langt visningsformat

ls-2-2

  • ls -h - denne betyr at den skal vise innholdet i et menneskevennlig format. Det er fordi det regnes som umenneskelig å konvertere 8980 bytes, som er størrelsen på den examples.desktop-fila, til kilobytes i hodet, som øvrig er tinærmet lik 8.8kilobytes.

Denne kommandoen bør kjøres sammen med -l flagget, fordi -h alene ikke gir noen annen info enn hva som ligger i mappen.

Vi ser at vi kan kombinere flagg på denne måten:

ls-2-3

Vi ser også at 8980bytes altså var 8.8K, eller 8.8 kilobytes.

Vi kan altså kombinere flere flagg, og om vi også vil se hvor stor plass, eller hvem som eier de skjulte filene, så skriver vi ls -lha
ls-2-4

Skjulte filer

Dette gjør at vi får opp informasjon om skjulte filer også, de som starter med punktum, fordi vi bruker -a flagget.
Videre får vi opp størrelser i et mer menneskelig format, fordi vi har på -h flagget.
Vi får opp informasjon om brukerrettigheter, og eierinformasjon, dato og klokkeslett fordi vi har med -l flagget.

Om du nå har lurt på. Hm, men hvordan kan jeg se størrelsen på katalogene? De er vel ikke på 4 kilobytes, alle sammen? Ja, og nei, fordi den viser størrelsen på hva en tom mappe tar på disken/ssd-en, uavhengig av om mappen faktisk er tom eller ikke.

Problemet er at det ikke ser ut til at ls har noen funksjon, som viser dette på noen fin måte. Derimot har vi kommandoen du, disk usage, eller diskbruk på norsk.

du -h --max-depth=0 *

  • * - betyr alt i mappen vi står i. Vanligvis i mappen /home/dittbrukernavn/.
    I mitt tilfelle er dette /home/malinux/, da det er mitt brukernavn.
  • --max-depth=0 - betyr at den sjekker til den når bunnen i mappe/katalog-hiarkiet og viser totalsummen av hvor mye mappen inneholder.

Det gjør den fordi vi har satt inn verdien 0, som får den til å summer innholdet av alle undermapper den finner. Den øverste mappen i hiarkiet vises.

Her er to eksempler. Forskjellen mellom de to kommandoene, er at den nederste har -h for human, eller menneskelig visning av størrelsen. Ved å legge til -a, all, eller alle, tar med størrelsen for både filer og kataloger/mapper.

du--max-depth-1-1

Nå kan vi se at mappen Nedlastinger ikke er tom, da den inneholder noe på 997 megabytes.

For å se et begrenset antall nivåer innover i mappestrukturene, for å se hva som befinner seg der, skriv et tall større enn 0, der alle tall større enn 0 betyr antall nivåer nedover i mappehiarkiet:

Eksempel på hvordan titte på hva som er i første nivå i mappen Nedlastinger:

du -ha --max-depth=1 Nedlastinger/

du--max-depth1-2

Vi ser at mappen Nedlastinger inneholder en fil som heter ubuntu-14.02.2-desktop.amd64.iso, og at mappen totalt sett er like stor som den iso-filen.

man kan også se innholdet i mappen med ls-kommandoen.

ls -lh Nedlastinger

ls-2-5

Her viser den også innholdet i mappen Nedlastinger, og viser størrelsen på fila, som ligger i mappen. Denne gangen får vi ikke sett eventuelle skjulte filer, da -a flagget ikke er med.

Når vi nå skal opprette en ny mappe i terminalen, fordi vi ikke vil ha isofila i Nedlastinger-mappa. en fil som har et filnavn som ender på iso, betyr at det er et diskavtrykk. Et diskavtrykk er en nøyaktig kopi av disk, slik som for eksempel en dvd, lagret på disk/ssd. Et slikt diskavtrykk kan f.eks. brennes til en dvd-plate, eller skrives til en usb-minnepinne. Noe jeg kan gå igjennom i et senere blogginnlegg.

Jeg gir mappen et navn, som er kort, men som lett kan si noe om hva den inneholder. For å opprette mappen, gjøres dette slik:

mkdir Diskavtrykk

Når vi kjører ls -lh på den nye mappen får vi informasjon om at den ikke inneholder noe, da den sier at totalen er 0.

ls -lh

mkdir-1-2

For å sjekke om mappen inneholder noen skjulte filer, kan vi kjøre:

ls -lha Diskavtrykk

mkdir-1-3

Her ser vi noe rart. Det er noe skjult i mappen, som opptar 8 kilobytes. Det er jo ikke mye plass, men hva er dette? Dette noe, ser sånn her ut:

drwxrwxr-x 2 malinux malinux 4,0K mars 28 23:25 .
drwxr-xr-x 19 malinux malinux 4,0K mars 28 23:28 ..

Det er disse punktumene jeg tenker på.

  1. . (punktum), betyr denne mappen. . inneholder informasjon om hvilke, og hvor mange filer og mapper, mappen inneholder. Tallet 2 betyr at det er 2 oppføringer i Nedlastinger-mappen.
  • .. (to punktum), betyr forrige mappe i hiarkiet. .. inneholder informasjon om informasjon om mappen, som ligger over i hiarkiet. tallet 19, betyr at forrige mappe inneholder 19 elementer.

 

Navigere i kataloghiarkiet

I forrige terminal-post, forklarte jeg hvordan vi beveger oss bortover i katalog-hiarkiet med kommandoen cd. Det jeg ikke forklarte var hvordan man kommer seg tilbake igjen der man var.

  • cd . - endre katalog til katalogen vi står i nå. Helt unødvendig i praktisk bruk, da du ikke kommer av flekken.
  • cd .. - endre til katalogen over oss/før oss i hiarkiet.

For eksempel står du i /home/dittbrukernavn/Diskavtrykk og skal til /home/dittbrukernavn så gjøres dette som du ser på bildet:

cd-2-1

Vi er nå tilbake til standardposisjonen, som er /home/dittbrukernavn

Om du uavhengig av hvor i hiarkiet du er, men vil helt tilbake til standardposisjon, så skriv bare cd. Da vil den automatisk få deg tilbake til standardposisjonen.

 

Slette mapper

Da Diskavtrykk-mappen er tom, kan den slettes slik:

rmdir Diskavtrykk

  • rmdir - rm, som i remove, dir, som i directory, eller remove directory. Fjerner mappen om den er tom. Mappen regnes som tom om den ikke inneholder mer enn . og .., slik vi så lenger oppe i denne posten.

Er den ikke tom, slettes den slik:

rm -R Diskavtrykk

  • rm - remove. fjerne. Kommando som fjerner filer eller mapper.
  • rm -R - betyr at den skal fjerne filer og kataloger rekursivt. Dette betyr at kommandoen fjerner mappen Diskavtrykk, samt alle undermapper og filer. Dette er en funksjon man bør tenke seg om et par ganger før man kjører, så man ikke sletter filer, eller mapper man faktisk ønsker å ha.

rmdir-1-1

Vi ser at den siste kommandoen feiler, fordi mappen Diskavtrykk ble slettet med rmdir-kommandoen.

I neste post, nemlig Terminal 3, tenkte jeg i hovedsak å gå igjennom:

  1. Flytte og kopiere filer
  2. Flytte og kopiere mapper
  3. rm-eksempler

Kilder:

http://info.ee.surrey.ac.uk/Teaching/Unix/

http://manpages.ubuntu.com/manpages/trusty/en/man1/ls.1posix.html

http://manpages.ubuntu.com/manpages/trusty/en/man1/du.1.html

http://manpages.ubuntu.com/manpages/trusty/en/man1/cd.1posix.html

http://manpages.ubuntu.com/manpages/trusty/en/man1/mkdir.1.html

http://manpages.ubuntu.com/manpages/trusty/en/man1/rmdir.1.html

http://manpages.ubuntu.com/manpages/trusty/en/man1/rm.1fun.html


pastebinit i debian — Denne posten er skrevet av malinux —

Du har kanskje hørt ordet pastebin, men hva er det?
Det er altså et sted man lett kan poste tekst og få en link med én gang, slik at denne teksten kan deles med andre.

Men hva er pastebinit da? Det er et fint verktøy som brukes om man skal poste f.eks. kjernemeldinger fra kommandoen dmesg. Slik at du kan få hjelp til et problem, så en annen person kan se igjennom for å se hva problemet er.

Dette igjen gjør at du slipper å markere masse tekst i terminalen, over 500 linjer, kopiere, klippe ut, så lime inn i f.eks. paste.debian.net i nettleseren.

I stedet kan vi bruke pastebinit, rett i terminalen, men først må vi installere pastebinit:

sudo apt-get install pastebinit

Nå som vi har installert pastebinit, så kan vi poste kjernemeldingene direkte til en pastebin slik

dmesg | pastebinit

| betyr pipe, og finnes øverst til venstre på tastaturet. I alle fall på et pc-tastatur.
Pipe brukes for å manipulere, eller påvirke den kommandoen som står før pipe- symbolet med programmet man skriver inn etter pipe-symbolet.

Det som skjer i kommandoen over, er at pastebinit ber om å få teksten vi vanligvis ser fare over skjermen når vi bare kjører dmesg i terminalen. Den spør altså om den kan få ta over den teksten, fordi den gjerne vil gjøre noe med den i stedet for at vi skal få se den. Fordi pastebinit er plassert til høyre for pipe, så har ikke dmesg noe annet valg, enn å gi fra seg informasjonen sin til pastebinit. Jo lenger mot høyre, jo mer bestemmer man på en måte, for de som er under dem, er på en måte nederst på rangstigen, og blir nødt til å sende informasjonen oppover.

Vel, nok om det. Får vi ikke se den der linken snart da, skulle ikke dette gå raskere enn å markere og kopiere teksten manuelt og det der da? Den forklaringen din tok i alle fall lang tid.

Det er jo sant, men det går jo alltid litt tid først for å sette seg inn i noe, og da kan jo selv den raskeste metode gå tregere i starten.

I alle fall. Om du ikke orket å lese den lange forklaringen på pipe ditt, og pipe datt, og annet hvitt støy, og bare ville se hva som skjer, så har du sikkert fått en link som ligner denne?

http://paste.debian.net/163500/

Da burde alt være i orden, og du kan dele linken i et forum, uten fare for å poste over 500 linjer rett i forumet, med fare for utestengelse på livstid.

Har du derimot ikke fått noen slik link, men fått en sånn her i stedet?

http://paste.debian.net/

Da er noe ikke helt som det skal være. Har du et brukernavn på mer enn 10 tegn? Det hadde jeg på serveren min. Det var en fra ubuntu-norge-gruppa på facebook, som tipset om at han hadde funnet noe info om at det var noen brukernavngrense på maks 10 tegn. Jeg sjekket ut, og tenkte å besøke paste.debian.net direkte og prøve å sette inn et navn som er lenger enn 10 tegn. Dette problemet skjedde ikke da jeg postet mot paste.ubuntu.com. Ganske riktig fikk jeg følgende feilmelding.:

Could not add your entry to the paste database:

Invalid format for name (no special chars, max 10 chars)

Jeg prøvde så et brukernavn på nøyaktig 10 tegn:

og vips, fikk jeg denne i retur:

http://paste.debian.net/163502/

Jeg besøkte så paste.ubuntu.com og tok en titt også. Der stod det maks 30 bokstaver på brukernavn, noe min servers brukernavn er godt innenfor, og som forklarer hvorfor det fungerte mot paste.ubuntu.com

Da jeg ikke har lyst å bytte brukernavn på serveren, så fant jeg heldigvis en workaround. Jeg er vanligvis ikke så glad i workarounds, da de ikke egentlig løser det opprinnelige problemet. Man jobber seg rundt dem i stedet. Men kanskje var jeg bare glad for at det nå endelig virket i alle fall.

pastebinit er nemlig programmert slik at den henter parametere fra .pastebinit.xml og ikke i fra operativsystemet om .pastebinit.xml ekisterer. Som standard, er den ikke installert. .pastbinit.xml opprettes i hjemmemappen til brukeren som har brukernavn over 10 tegn. F.eks. brukeren lengerenntitegn, et brukernavn som er lenger enn ti tegn. Da oppretter man konfigurasjonsfila slik, der vi er en hvilken som helst teksteditors oppstartskommando. Kjører du på Debian server eller Ubuntu server, så må du bruke vi, eller annen teksteditor, som er terminalbasert.

vi /home/lengerenntitegn/.pastebinit.xml

Vi legger så inn følgende linjer, der kortbruker er et brukernavn på 10, eller færre tegn:

        
            kortbruker
        

I .pastebinit.xml kan man definere hvilke parametere som ikke skal hentes fra operativsystemet. De som ikke skal hentes der i fra, hentes fra verdiene vi selv kan definere i .pastebinit.xml. Altså overstyrer .pastebinit.xml parametere som programmet vanligvis ville hentet fra operativsystemet.

Dette gjør nå at pastebinit vil skrive inn kortbrukernavn i stedet for lengereenntitegn i navnefeltet, når den sender tekst til paste.debian.net, og vi har jobbet oss rundt begrensnigen på maks 10 tegn i navnefeltet.

For flere konfigurasjonsmuligheter gå til:

man pastebinit

scroll deg ned til seksjonen: "CONFIGURATION FILE" for flere eksempler.

Kilder:

man pastebinit
http://goo.gl/fnpZIe
https://bugs.launchpad.net/pastebinit/+bug/1437286


Speedtest i terminal — Denne posten er skrevet av malinux —

Hvordan sjekke farten på din internettforbindelse via terminalen?

Du har kanskje brukt http://www.speedtest.net/ i nettleseren for å undersøke om du får den hastigheten på nettforbindelsen din, som du betaler for.

Det er spesielt på Debian, eller Ubuntu server at det er nyttig å kunne teste internettfarten via terminalen, men kan også være nyttig for desktopbrukere.

Dette gjøres ved å installere python-pip. python-pip, er en pakke som installerer en egen pakkebehandler for python, slik at man kan installere diverse pythonrelatert programvare. Python er forøvrig et programmeringsspråk, som speedtest-cli er skrevet i.

sudo apt-get install python-pip

For å installere speedtest-cli via pip-pakkebehandleren:

sudo pip install speedtest-cli

For å teste nettforbindelsen mot serveren som ligger nærmest deg geografisk sett, kjør:

speedtest-cli

speedtest-cli-1-1

For å generere en link til et bilde av resultatet:

speedtest-cli --share

speedtest-cli-1-2

Her er linken jeg fikk, som jeg kan dele med dere her, eller i et forum, etc:
https://www.speedtest.net/result/4243993499.png

speedtest-cli sjekker automatisk opp mot den nærmeste serveren geografisk sett.

For å vise ei liste over andre servere kan man prøve kommandoen nederst. Den viser den nærmeste serveren først, geografisk sett. Jo lenger ned på listen, jo lenger unna ligger serveren deg.

Da kommandoen viser ei lang liste, og man ikke alltid kan scrolle til toppen i terminalen, bør man kjøre kommandoen under med | less. Da lager den ei liste man kan scrolle.

speedtest-cli --list | less

speedtest-cli-1-4

For å scrolle nedover i listen, trykk j, eller piltast ned. for å scrolle oppover igjen, trykk k eller piltast opp.

Trykk q for å avslutte scrollemodusen og returnere til bash-ledeteksten.

Vil du heller teste opp mot en annen server i stedet for den som ligger nærmest. Skriv inn kommandoen under og tallet som representerer serveren du ønsker å bruke.

For å f.eks. bruke serveren til Get i Oslo, så kjører man følgende kommando

speedtest-cli --server 4843

Legg merke til at tallet er det tallet som står bak serveren i lista.

speedtest-cli-1-5

For flere måter å bruke speedtest-cli på:

speedtest-cli --help

 


 

 

For å avinstallere speedtest-cli

sudo pip uninstall speedtest-cli

Om du også ønsker å avinstallere python-pip

sudo apt-get remove python-pip
sudo apt-get autoremove

Kilder:

http://ubuntuserverguide.com/2014/01/how-to-test-internet-connection-speed-using-speedtest-cli-on-ubuntu-server.html


Terminal 1 — Denne posten er skrevet av malinux —

Hva er så en terminal?

Terminalen er operativsystemets ultimate kommandosenter, der du praktisk talt har full kontroll på alle aspekter ved din datamaskin.

Den mest kjente terminalen er nok for mange MS-DOS, Microsoft sin variant av DOS, som står for Disk Operating System.

I *nix-verdenen, som Unix og andre Unix-lignende systemer, som f.eks. Linux er, så er det vanlig med en bash-terminal. Bash, står for Bourne-again shell, som tydelig viser til forløperen "Bourne shell", som er forløperen til bash. Bash erstattet Bourne shell i 1989.

Her er et bilde av terminalen i Ubuntu 14.04 LTS

Hva kan terminalen brukes til?

Jeg vil starte med de vanligste kommandoene her, også kan jeg lage flere poster framover, hvor vi tar for oss flere kommandoer etterhvert:

Først må vi få opp et terminalvindu. I Ubuntu, kan dette gjøres på i alle fall minst to måter.

  1. <super> (også kjent som Windowsknappen). Du får nå opp dash. du kan nå søke etter terminal og trykk enter når dash har funnet terminalen.Terminal1-1
  2. Den andre metoden er en relativt enkelt tastaturkombinasjon: ctrl + alt + t
  3. Det finnes helt sikkert flere måter, avhengig av vindusbehandler og system

Sånn her ser standardterminalen i Ubuntu ut:

Når terminalen åpnes opp slik, som en vanlig bruker, så ser man at brukernavnet står først: malinux som er brukernavn, @ betyr "at" (hos) lillablogg som er navnet på datamaskinen, $ betyr at man er der som en vanlig bruker. Hadde det stått #, så betyr det man er logget inn som superbruker (root). Det vanlige er at man som standard også står i hjemmekatalogen til den aktuelle brukeren.

For å skrive en kommando, skriv inn og trykk på enter:

  1. pwd        -    Forkortelse for "print working directory" (Vis hvilken katalog vi står i nå). Som vi ser, så står vi i hjemmekatalogen til malinux, som ligger i /home/malinuxpwd-1-1
  2. ls         -    Forkortelse for list (Vis hvilke filer som er i katalogen du står i). Her kan vi se hva hjemmemappen inneholder. De lyseblå navnene er mapper eller kataloger.ls-1-1
  3. cd         -    Forkortelse for "change directory" (Bytt katalog. Brukes for å bytte katalog). Nå er vi at vi står i mappen Bilder.cd-1-1Om vi kjører ls-kommandoen i mappen bilder, så ser vi at den ikke inneholder noe, altså har ikke malinux noen bilder i  bildemappen enda.ls-1-2

I neste post, tenkte jeg å gå igjennom såkalte flagg, og hva de brukes til. Jeg kan røpe allerede nå, at de fleste kommandoer har én, eller flere flagg man kan bruke, ut ifra hva man ønsker å gjøre. Ved å skrive <kommando> --help f.eks. ls --help, eller <kommando> -h på noen kommandoer, så får man ofte frem en liste med tilgjenglige flagg og en beskrivelse av hva de forskjellige flaggene lar oss gjøre.

Videre til Terminal 2

Kilder:

http://no.wikipedia.org/wiki/DOS

http://en.wikipedia.org/wiki/Bash_(Unix_shell)

 


Velkommen til malinux' lillablogg — Denne posten er skrevet av malinux —

Dette er altså en lillablogg. Hvorfor lilla? Fargen er hentet fra Ubuntu, som har lilla i temaet sitt. Jeg kommer til å blogge mest om operativsystemet Ubuntu, som f.eks guider og sånt på norsk, men også andre datating. Den andre grunnen er altså at lillablogg ligner på rosablogg, noe denne bloggen ikke er. Jenter kan nemlig blogge om andre ting enn cupcakes, mote og sminke, som for eksempel teknologi og andre nerderier. Nå kan jo ting innen teknologi også være på mote da. Favorittfargen min er tilfeldigvis også lilla.

Denne bloggen vil bli oppdatert med ujevne mellomrom