Linux - hur funkar det?

Vart hamnar det sedan? Är allting redan bestämt på förhand vart i systemet någonting installeras och jag inte skall behöva tänka på det, eller hur funkar det?
Det hamnar lite varstans på hårddisken.

Linux har ett filsystem där tanken inte är att alla filer som hör till samma program dka ligga på samma ställe, utan istället lägger man alla filer programmet använder/består av i olika mappar beroende på vad det är för typ av fil.

Det här förstår jag är för att underlätta att programmen återanvänder filer mellan sig osv, men det gör också att det är mer eller mindre hopplöst att försöka ta bort ett programs alla filer manuellt.

Det finns iofs en massa windowsprogram som lider av liknande filinkontinens också, det ska jag inte sticka under stol med. Men gör mig är det här en av ganska få saker jag riktigt stör mig på i linux. Trots att jag haft linuxserver i 25 år. Antar att jag är för fast i typ windows 98-tänk…

EDIT: Det sagt är det absolut i "man behöver inte tänka på det"-territorium.

Åtminstone inte så länge man har en stor nog huvudhårddisk för att den ska ha plats för alla ens program, då.
 
Last edited:
Jag har börjat köra Linux (Ubuntu) 100% på jobbet och det är en dröm faktiskt. Har en fläskig Nvidia GPU och allt funkar galant, kör Krita, Blender mm. Teams (som jag måste använda pga jobbet) får jag köra i webbläsaren och det funkar.
Det enda programmet jag verkligen saknar är affinity, som tyvärr inte fungerar alls.
 
Mycket bra feedback här. Jag har jobbat med unix/linux i 25 år och kört det exklusivt hemma i många år. Man brukar kunna köra det mesta numera.

Att testköra från en live USB som nämnts i tråden är bästa sättet för den som är nyfiken. Då kan man verifiera att hårdvaran fungerar och testa lite program. Varför man inte vill köra från en sådan live miljö för jämnan kan bli lite tekniskt, men du kan lungt installera ifall den miljön visar att allt fungerar.

Numera är det relativt egalt vilken linuxdistribution man installerar, med den lilla brasklappen att när det är kommersiellmjukvara det handlar om, och det inte är nåt för serverhallen, och de säger sig supporta "linux" så betyder det i 80% av fallen att de testat med Ubuntu. Gillar man en specifik desktop miljö kan man köra den på vilken distribution som helst.
 
Det hamnar lite varstans på hårddisken.

Linux har ett filsystem där tanken inte är att alla filer som hör till samma program dka ligga på samma ställe, utan istället lägger man alla filer programmet använder/består av i olika mappar beroende på vad det är för typ av fil.

Det här förstår jag är för att underlätta att programmen återanvänder filer mellan sig osv, men det gör också att det är mer eller mindre hopplöst att försöka ta bort ett programs alla filer manuellt.

Det finns iofs en massa windowsprogram som lider av liknande filinkontinens också, det ska jag inte sticka under stol med. Men gör mig är det här en av ganska få saker jag riktigt stör mig på i linux. Trots att jag haft linuxserver i 25 år. Antar att jag är för fast i typ windows 98-tänk…

EDIT: Det sagt är det absolut i "man behöver inte tänka på det"-territorium.

Åtminstone inte så länge man har en stor nog huvudhårddisk för att den ska ha plats för alla ens program, då.
Det är ganska rent. Programfiler på ett ställe, användarinställningar på ett, systeminställningar (dvs sånt relaterat till hårdvaran i den specifika maskinen) på ett.

Fördelen är att du kan installera en ny maskin, installera alla program som du hade på din gamla (vilket det finns program som kollar vad man har och installerar samma på nya), och kopiera över din hemkatalog, och du har fått alla dina inställningar från gamla maskinen. Väldigt praktiskt, speciellt om man, som jag, är en person som älskar program med massor av inställningar och går genom dem alla. Mycket smidigare än Windows registry.

Eller, om du vill, lägg hemkatalogen på en filserver, och dela den mellan alla dina maskiner. Nackdelen är att det kräver tillgång till filservern, så mindre bra för mobilitet. Det går säkert att lägga upp någon synkning, men jag har inte tittat på det då jag inte har det behovet.

Vill du bli av med ett program så är det bara att avinstallera i pakethanteraren, så tar den allt. Blir det kvar någon fil så är det för att det är en delad fil som något annat program också behöver.
 
En fundering till:

Som jag fattat det så kör inte Linux med separata namngivna "drives" (C:, D:, E: och allt det där) för saker som interna hårddiskar, USB-stickor, externa hårddiskar etc, utan att ingår liksom i en "root" där allt är i samma mappstruktur.

Hur funkar det rent praktiskt?
Slås allt lagringsutrymme liksom ihop i en samlad klump där allt lagringsutrymme partitionen har tillgång till liksom ligger i samma mappsystem och det inte syns vilket fysisk enhet typ en fil faktiskt ligger på?

Om man jobbar med flera enheter, exempelvis en dator med flera hårddiskar, eller extern lagring eller NAS, vart syns det vart saker ligger, eller är det bara jag som har missförstått någonting?

Det är två potentiella scenarion här som jag specifikt vill veta:

1. Om jag har behov av att överföra filer mellan olika system, exempelvis genom att lägga bilder och filmer på en extern hårddisk/USB-sticka och sedan ta med dem fysiskt till en annan plats och jobba på en annan dator (exempelvis en maskin med Windows eller MacOS), kan jag göra det lika tydligt och enkelt som jag redan gör på Windows med systemet för tydligt separerade drives?

2. Kan jag enkelt ha tillgång till exempelvis en extern hårddisk i en setup där jag Dualbootar och har tillgång till samma filer och mappar på samma disk från bägge partitionerna?
Ponera att jag exempelvis skapar rollspelsmaterial, jag skriver i Obsidian och har mina vault på en extern hårddisk, jag skapar även illustrationer i Krita och exporterar dem som TIFF-filer till samma disk. Men för att sedan sätta ihop materialet så finns inte Affinity native i Linux, så då hoppar jag över till Windows och sätter ihop dem i layout där, men hämtar filerna från samma ställe som jag placerade dem från Linux. Är detta möjligt att göra problemfritt?

Det vore ju jättesegt om att använda Linux totalt rör till ett arbetsflöde som funkar ganska bra på Windows. Att hoppa mellan operativsystem är ju redan ett extra steg av krångel, men görs ju enklare om bägge OSen har tillgång till samma lagringsenheter, vilket jag rent intuitivt ju tycker att de borde kunna ha.

Eller behöver jag gå genom någon sorts molntjänst som Google Drive eller Nextcloud?
 
Även om de visas i samma katalogstruktur så är de olika enheter, precis som om du mountar en disk på en katalog i Windows (det går, men få gör det, jag har gjort det när jag haft fler diskar än enhetsbokstäver i en maskin).

Så, bara se det som en alternativ namngivning. Det är inte ett "delat lagringsutrymme som flyter mellan enheter". Det är bara att istället för x:\ så har du tex /mount/usb1/ (not: jag kommer inte ihåg vad det egentligen heter, så ta det som ett exempel).

En fördel med det här är att allt är enheter. Du kan skriva ut genom att kopiera en fil till skrivarenheten (som då naturligtvis är write-only) osv. utvecklingsmässigt gör det saker mycket renare. Du kan använda samma kommandon för att lista dem och manipulera dem.
 
En fundering till:

Som jag fattat det så kör inte Linux med separata namngivna "drives" (C:, D:, E: och allt det där) för saker som interna hårddiskar, USB-stickor, externa hårddiskar etc, utan att ingår liksom i en "root" där allt är i samma mappstruktur.

Hur funkar det rent praktiskt?
Slås allt lagringsutrymme liksom ihop i en samlad klump där allt lagringsutrymme partitionen har tillgång till liksom ligger i samma mappsystem och det inte syns vilket fysisk enhet typ en fil faktiskt ligger på?

Allting hamnar i samma "virtuella" filsystem. I Unix/Linux så är "allt en fil". Inte riktigt, men väldigt mycket ser ut som filer även om de inte är det.

Man monterar en enhet på någon plats i filsystemet. Själva den fysiska disken finns också representerad där.

Nu kommer jag inte ihåg exakt vilka namn som Linux brukar använda, men det kan vara något i stil med:
Du har en hårddisk med två partitioner, och en ansluten USB disk med en enda partition.
Hårddisken och dess partitioner syns som /dev/hd0, /dev/hd0a, och /dev/hd0b. USB disken och dess partition syns kanske som /dev/sd0 och /dev/sd0a
Saker som ligger under /dev är normalt inte vanliga filer utan hårdvaruenheter. Man kan (med rätt behörighet) läsa och skriva till dem som om de vore helt vanliga filer - t.ex. för att göra en exakt bit-för-bit kopia från en disk till en annan.

Sen så är (vanligtvis) alla de där partitionerna monterade någonstans. Första partitionen ligger kanske direkt under rooten "/". Den andra partitionen kanske monteras under /usr/users
USB diskens filer till slut kanske läggs under /usr/share/external/

Man kan naturligtvis se vilka enheter som ligger var i filsystemet, men för vanlig användning så ligger allting bara i ett enda stort filsystem där man inte ser vilken fysisk enhet något ligger på om man inte explicit går in och letar efter den informationen.
 
Även om de visas i samma katalogstruktur så är de olika enheter, precis som om du mountar en disk på en katalog i Windows (det går, men få gör det, jag har gjort det när jag haft fler diskar än enhetsbokstäver i en maskin).

Så, bara se det som en alternativ namngivning. Det är inte ett "delat lagringsutrymme som flyter mellan enheter". Det är bara att istället för x:\ så har du tex /mount/usb1/ (not: jag kommer inte ihåg vad det egentligen heter, så ta det som ett exempel).

En fördel med det här är att allt är enheter. Du kan skriva ut genom att kopiera en fil till skrivarenheten (som då naturligtvis är write-only) osv. utvecklingsmässigt gör det saker mycket renare. Du kan använda samma kommandon för att lista dem och manipulera dem.
Allting hamnar i samma "virtuella" filsystem. I Unix/Linux så är "allt en fil". Inte riktigt, men väldigt mycket ser ut som filer även om de inte är det.

Man monterar en enhet på någon plats i filsystemet. Själva den fysiska disken finns också representerad där.

Nu kommer jag inte ihåg exakt vilka namn som Linux brukar använda, men det kan vara något i stil med:
Du har en hårddisk med två partitioner, och en ansluten USB disk med en enda partition.
Hårddisken och dess partitioner syns som /dev/hd0, /dev/hd0a, och /dev/hd0b. USB disken och dess partition syns kanske som /dev/sd0 och /dev/sd0a
Saker som ligger under /dev är normalt inte vanliga filer utan hårdvaruenheter. Man kan (med rätt behörighet) läsa och skriva till dem som om de vore helt vanliga filer - t.ex. för att göra en exakt bit-för-bit kopia från en disk till en annan.

Sen så är (vanligtvis) alla de där partitionerna monterade någonstans. Första partitionen ligger kanske direkt under rooten "/". Den andra partitionen kanske monteras under /usr/users
USB diskens filer till slut kanske läggs under /usr/share/external/

Man kan naturligtvis se vilka enheter som ligger var i filsystemet, men för vanlig användning så ligger allting bara i ett enda stort filsystem där man inte ser vilken fysisk enhet något ligger på om man inte explicit går in och letar efter den informationen.

Hmm, jag känner att detta nog blir lite svårt att få en tydlig uppfattning om hur det fungerar i praktiken utan att ha ett konkret exempel att studera (att faktiskt köra igång en Linuxpartition på datorn),

Men det jag tolkar era svar som är att mina huvudsakliga frågor

1. Man kan enkelt lägga in material på en disk som man sedan plockar ur och tar med sig till en annan maskin

och

2. Man kan ha en extern disk som man har tillgång till innehållet på genom både Linux och Windows på samma maskin

Verkar gå att ordna utan större problem?

Hur är det med att använda samma hårddisk till detta, är det möjligt?

Säg att jag har en 1TB SSD i datorn, jag har en partition på 300gb för Linux, en på 300gb för Windows, och en på 400gb med lagringsutrymme som bägge har tillgång till.

Är det genomförbart?
 
2. Man kan ha en extern disk som man har tillgång till innehållet på genom både Linux och Windows på samma maskin

Verkar gå att ordna utan större problem?
Det beror på vilket filsystem du formaterar disken till. Det finns några olika filsystem till linux, och windows kan inte läsa alla (och skriva till ännu färre). Vissa filsystem har man kunnat skriva till med tredjepartsprogram, men inte kunnat komma åt via utforskaren.

Om du formaterar disken som NTFS från windows borde det inte vara några problem (längre, men ganska länge gick det inte och man var tvungen att formatera till FAT32 om man ville ha kompatibilitet med både linux och windows)
 
Hmm, jag känner att detta nog blir lite svårt att få en tydlig uppfattning om hur det fungerar i praktiken utan att ha ett konkret exempel att studera (att faktiskt köra igång en Linuxpartition på datorn),

Men det jag tolkar era svar som är att mina huvudsakliga frågor

1. Man kan enkelt lägga in material på en disk som man sedan plockar ur och tar med sig till en annan maskin

och

2. Man kan ha en extern disk som man har tillgång till innehållet på genom både Linux och Windows på samma maskin

Verkar gå att ordna utan större problem?

Hur är det med att använda samma hårddisk till detta, är det möjligt?

Säg att jag har en 1TB SSD i datorn, jag har en partition på 300gb för Linux, en på 300gb för Windows, och en på 400gb med lagringsutrymme som bägge har tillgång till.

Är det genomförbart?
Korrekt.

Man bör dock formattera disken som ska flyttas med ett filsystem som Windows förstår. Fat32, ExFat eller NTFS. Linux förstår det mesta, men Windows förstår inte vissa Linux-filsystem.
 
Så så länge man ser till att den partitioner av en hårddisk man vill ha som skall vara OS-agnostisk lagring kan läsas av Windows så är man hemma, för Linux kan hantera det mesta men Windows kan vara lite kinkigt?

På så sätt kan man jobba med samma filer i samma mappar från program från två olika OS utan att behöva flytta dem eller krångla på annat sätt. Exempelvis skapa en illustration i Krita på Linux, exportera den som TIFF till en mapp, hoppa över till Windows och hämta in den i Affinity från samma mapp.

Alternativt jobba med en .blend fil i Linux, och sedan hoppa över till Windows och öppna samma fil i sin Blender installation där och göra renderingen om det eventuellt skulle funka bättre med ens hårdvara.
 
Last edited:
Så så länge man ser till att den partitioner av en hårddisk man vill ha som vara agnostisk lagring kan läsas av Windows så är man hemma, för Linux kan hantera det mesta men Windows kan vara lite kinkigt?

På så sätt kan man jobba med samma filer i samma mappar från program från två olika OS utan att behöva flytta dem eller krångla på annat sätt. Exempelvis skapa en illustration i Krita på Linux, exportera den som TIFF till en mapp, hoppa över till Windows och hämta in den i Affinity från samma mapp.

Alternativt jobba med en .blend fil i Linux, och sedan hoppa över till Windows och öppna samma fil i sin Blender installation där och göra renderingen om det eventuellt skulle funka bättre med ens hårdvara.
Jepp, ha sånt som skall vara gemensamt på windows-sidan så skall det gå bra.

Men om du nu skall bli datornörd så får du ju skaffa en filserver och koppla upp mot den både från linux och windows, och på servern kan du köra Linux. :-D
 
Jepp, ha sånt som skall vara gemensamt på windows-sidan så skall det gå bra.

Men om du nu skall bli datornörd så får du ju skaffa en filserver och koppla upp mot den både från linux och windows, och på servern kan du köra Linux. :-D

Ja jag skulle ju ljuga om jag inte redan funderat på det.
Gärna en själv-hostad molntjänst som jag kommer åt överallt ifrån.

Men med filserver, är det en NAS du syftar på eller är det någonting annat?
 
Last edited:
Jag överlåter till typ Troberg och liknande att gå in på definitionerna. Men ja, en NAS är en sorts filserver, men det finns andra sätt att dela filer över nätverket än bara en NAS.
 
NAS eller filserver. I grund och botten samma sak, men en filserver är en dator som bara har som uppgift att vara en lagringsplats i nätverket, medan en NAS är en enklare enhet som gör samma sak.

Men, NASarna börjar bli mer och mer avancerade, och den jag har har mer datorkraft än många filservers jag kört, och kör ett riktigt OS. Så, gränsen börjar bli diffus.

Jag skulle säga att skillnaden är att en filserver är en dator som lika gärna skulle kunnat göra något annat, medan en NAS har ett syfte (vilket inte heller är helt sant idag, men den har ett huvudsyfte).

Men, för ditt syfte, vilket som. En NAS är nog lättare.
 
Tack för all nyttig info!

Ytterligare en fråga:

Mycket vad gäller programvara etc verkar i huvudsak skötas via olika "app store"-liknande grejer, eller pakethanterare som de verkar kallas.
Det som bestämmer vad som finns i dem är olika bibliotek med program och liknande, som verkar heta repositories och man når antingen via dessa pakethanterare eller via terminalen.

Men som måste det väl vara så ändå att ibland så finns det saker man helt enkelt måste ladda hem från en hemsida och installera manuellt. Kanske främst kommersiella program man köper eller liknande, eller bara sådant som inte är inbakad i något repository.

När man gör det, finns det liksom ett standardförfarande för hur man installerar de här programmen, eller är det något man måste lära sig och utföra specifikt för varje program. Finns det liksom "installation wizard" som det gör till precis allt med Windows, ett antal generella steg man alltid använder i exempelvis terminalen, eller blir det massa programspecifikt fixande man måste lista ut varje gång?
 
Hmm, jag känner att detta nog blir lite svårt att få en tydlig uppfattning om hur det fungerar i praktiken utan att ha ett konkret exempel att studera (att faktiskt köra igång en Linuxpartition på datorn),

Det ser liksom bara ut så här (jag har tagit bort onödiga rader)

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 235G 3.8G 219G 2% /
/dev/sda1 3.6T 1.5T 2.0T 44% /mnt/HDD4TB

Själva systemet är installerat på 256GB NMVE. Den är "mounted on" /. Dvs, "root".
Det finns inget ovanför eller utanför /.

Sedan har jag en USB-disk på 4TB, den är monterad på /mnt/HDD4TB.

Så du kan ha ett USB-minne, en extra hårddisk, eller vad som helst... och du kan "montera" den var som helst också.

Det vanliga om du har ett USB-minne är att det är formatterat med en "label", och i så fall monteras den ofta med automatik när du stoppar in den på

/media/zo0ok/EREBALTOR

...om ditt användarnamn nu är zo0ok...
 
Normalt sett är det paket man laddar ner, som sedan installeras med pakethanteraren (genom att man dubbelklickar på dem). På så sätt så har pakethanteraren fortfarande stenkoll på vilket program som behöver vad, så att den kan göra sådant som avinstallationer säkert.

Paketen har olika filändelser beroende på pakethantere, tex .deb eller .rpm.
 
Men som måste det väl vara så ändå att ibland så finns det saker man helt enkelt måste ladda hem från en hemsida och installera manuellt. Kanske främst kommersiella program man köper eller liknande, eller bara sådant som inte är inbakad i något repository.

När man gör det, finns det liksom ett standardförfarande för hur man installerar de här programmen, eller är det något man måste lära sig och utföra specifikt för varje program. Finns det liksom "installation wizard" som det gör till precis allt med Windows, ett antal generella steg man alltid använder i exempelvis terminalen, eller blir det massa programspecifikt fixande man måste lista ut varje gång?
Ja, fast nästan inte, det beror på.
Du kommer väldigt långt ändå.

Om du vill ha program som inte ingår i "distributionen" så är nog det vanliga (åtminstone om du inte är mer avancerad) att du installerar någon slags "App Store" (snap, flatpack, Steam) som hanterar allt åt dig, och då får du programmen därifrån.

Det finns program som man
a) laddar ner och packar upp (man kan ladda ner node.js eller firefox, men de finns också bundlade med distributionen)
b) kör en installer som i Windows (ex VMWare)
c) lägger till ett repository, och sedan kan man hantera det med sin pakethanterare (firefox, syncthing, men de finns också med distributionen)

Börja med att bara prova och se vad du får, och vad du kan installera, som är inkluderat.

Om du sedan kommer till något speciellt spel eller någon speciellt kommersiellt program, så finns det nog ett sätt som de beskriver.
 
Back
Top