Fyller på med lite mer information.
Skrivet av FullMoon:
Finns det några fördelar med detta? Jag antar att man alltid kan ha den senaste versionen av programmet om man installerar från source?
Anledningar till att kompilera eget kan vara bland annat:
Programmet finns inte färdigkompilerat till arkitekturen/distributionen.
De växlar som distributionen har kompilerat paketet med motsvarar inte de du vill ha; exempelvis kan något saknas, eller så aktiverar distributionen fler saker än du av någon anledning önskar.
Du vill ändra i koden själv och se på resultatet, exempelvis för att hjälpa till med utvecklingen av programmet.
En anledning till att många vill undvika att kompilera själv är att det kan ta ordentligt med tid för stora/många paket. Om man inte kan använda automatisk beroendehantering så kan det också kräva att man sätter sig in i vilka sidobibliotek man behöver för att all önskvärd funktionalitet ska aktiveras, och man kan behöva kompilera dessa bibliotek, som i sin tur kan bero på ytterligare bibliotek, och plötsligt så flyger livet förbi utan att man har tid att lukta på blommorna.
Skrivet av FullMoon:
Hur installerar ni source-filer? Finns det bara en metod eller flera?
Källkoden distribueras traditionellt genom just ett packat tar-arkiv som redan nämnts, eller vanligare och vanligare genom att den klonas direkt från ett versionshanteringssystem (ofta via tjänster som Github, Bitbucket, Google Code, etc.).
Därefter konfigureras miljön genom ett medföljande konfigurationsskript. Vanligen är det bara att köra detta skript som kontrollerar att rätt bibliotek finns installerade, etc., men man kan även ge det olika växlar som kan påverka programmets funktion på olika sätt (lite som "klickandet" i ett installationsprogram i Windows, men oftast mer flexibelt).
När detta är klart så kompileras programmet, och därefter kan det (valbart) flyttas till systemets centrala kataloger för lokalt kompilerade program (tänk "C:\Program files", fast annorlunda, då ett program generellt lägger innehåll i multipla kataloger). Man kan även låta programmet ligga kvar i katalogen där det kompilerats och köra det därifrån, eller välja alternativa målkataloger om det finns anledning till detta (man kanske inte har rättigheter att skriva till centrala kataloger, eller man vill lägga programmet i sin hemkatalog för att det ska följa med oavsett vilken terminal man råkar sitta vid för tillfället).
Använder man en binär distribution kanske det kan vara fördelaktigt att själv skapa ett installationspaket under processen snarare än att installera programmet "bakom ryggen" på pakethanteringssystemet. Hur detta går till skiljer sig bland annat beroende på paketformat.
Skrivet av FullMoon:
Ett påstående: "Tar" på "Linux" är som "Exe" på "Windows? Stämmer detta?
Inte ens nära, som nämnts ovan . Ifall man hämtar hem källkod för att kompilera något själv i Windows så kan även den ofta vara i .tar.gz-format.
Om du menar .exe-filer så som `notepad.exe`, dvs en kompilerad binär för att köra ett program, så är ELF som nämndes ovan en analog, men filer heter inte ".elf", och detta är inget som en "vanlig" användare behöver bry sig om.
Om du menar .exe-filer så som `install_firefox.exe`, dvs ett installationsprogram, så är motsvarigheterna i stället exempelvis .deb för Debianbaserade system eller .rpm för Red Hat-baserade system. Dessa format är generellt bra mycket "smartare" än en .exe-installationsfil är i Windows; Wikipedia har mer information.
Vanligen så hanterar man inte sådana installationsprogram manuellt, utan man låter en pakethanterare göra det. Man säger snarare bara "installera LibreOffice, tack", så hämtar pakethanteraren en uppdaterad version av LibreOffice från distributionen, konfigurerar och installerar den, och ser sedan till att hålla den uppdaterad utan att man manuellt ska behöva spana på dess hemsida efter nya versioner med exempelvis säkerhets/buggfixar. Att hålla koll på ett program på det sättet vore ineffektivt; att hålla koll på 100 program vore praktiskt ogörbart.