Installation fra tar.gz
Jeg kunne godt tænke mig at installere Maxima på mit system, men programmet ligger ikke i de almindelige repos og jeg har ikke haft særlig meget held med .rpm filerne (fik en eller anden fejl).
Før nogen så venligt dirigerer mig over til et repo hvor man kan hente programmet, vil jeg dog gerne tilføje at jeg aldrig har prøvet at "make" eller "compile" et program på Linux nogensinde. Og det synes jeg ærlig talt er en fejl, så det kunne jeg godt tænke mig at prøve. Hvis nogen så venligt kan bistå mig med lidt assistance.
Jeg har en fil maxima-5.16.3.tar.gz . gz er et arkiveringsformat og tar er en Tarball fil - hvad det så end er :D
Jeg ved at det ikke er den rene kildekode, men måske en form for maskinekode til Linux-systemer?
Jeg kører openSUSE 11 og går ud fra at jeg skal affyre en make kommando med tilhørende tar-fil, men jeg ved ikke hvad sådan en kommando præcist gør - og det ville da være meget rart at vide før jeg begynder at rode med systemet, sikkert med rodrettigheder :/
Nogen input eller nogle links / info jeg kan bruge? Da jeg startede med Linux blev jeg lynhurtigt frustreret over at der var så mange programmer man var nød til at compile - i og med at jeg ikke anede hvordan man gjorde dette. Jeg tror det er nemt, men jeg har aldrig været i stand til at finde ud af det.
Før nogen så venligt dirigerer mig over til et repo hvor man kan hente programmet, vil jeg dog gerne tilføje at jeg aldrig har prøvet at "make" eller "compile" et program på Linux nogensinde. Og det synes jeg ærlig talt er en fejl, så det kunne jeg godt tænke mig at prøve. Hvis nogen så venligt kan bistå mig med lidt assistance.
Jeg har en fil maxima-5.16.3.tar.gz . gz er et arkiveringsformat og tar er en Tarball fil - hvad det så end er :D
Jeg ved at det ikke er den rene kildekode, men måske en form for maskinekode til Linux-systemer?
Jeg kører openSUSE 11 og går ud fra at jeg skal affyre en make kommando med tilhørende tar-fil, men jeg ved ikke hvad sådan en kommando præcist gør - og det ville da være meget rart at vide før jeg begynder at rode med systemet, sikkert med rodrettigheder :/
Nogen input eller nogle links / info jeg kan bruge? Da jeg startede med Linux blev jeg lynhurtigt frustreret over at der var så mange programmer man var nød til at compile - i og med at jeg ikke anede hvordan man gjorde dette. Jeg tror det er nemt, men jeg har aldrig været i stand til at finde ud af det.
Kommentarer14
Re: Installation fra tar.gz
Mange tarball installeres med "./configure" -> "make" -> "make install (som root)" (kræver selvf. at man har alle relevante devel-pakker installeret)
Men det er ikke nogen universel standard for installation af programmer fra tarballs, så du er nødt til at kigge på instruktionerne for hver enkelt enten i medfølgende readme/install e.l. eller på leverandørens website.
Tar gør bare det at den "ruller" flere filer sammen til et arkiv med een fil. Gzip komprimerer.
Re: Installation fra tar.gz
Efter at have kigget lidt i tar.gz filen, fandt jeg frem til følgende vejledning:
CONFIGURE SCRIPT IS PRESENT
---------------------------
``./configure --help'' prints information about configuration options.
To build with GNU Autotools using the default options, type
./configure
make
make check
make install
configure supports many options. Type
./configure --help
to see them enumerated.
Da jeg ikke har nogen mappe på mit hjemmedrev der hedder "/.configure", er jeg lidt på bar bund. Skal jeg lave denne mappe først (i hjemmedrevet?) eller oprettes den automatisk når jeg kører en make (og i så fald hvorhenne?). Eller er "./configure" en fil jeg skal køre? (hvor er den henne?).
Eller er jeg helt galt på den, og i virkeligheden skal udpakke hele .tar.gz filen, og efterfølgende dykke ind i den og køre configure derinde (der er et skript derinde, bare uden punktum foran)? Og i så fald, hvor havner programmet så henne og er den udpakkede "masse" bare midlertidige installationsfiler som jeg udrenser bagefter?
Der er mange spørgsmål, men jeg prøver at forstå systemet :D Det er forholdsvist nyt for mig.
Re: Installation fra tar.gz
www.linuxbog.dk
Da jeg ikke har nogen mappe
Det er "./configure" - ikke "/.configure" :-) Og det er ikke en mappe, men en kommando. Har du pakket filen ud?
tar xvfz maxima-5.16.3.tar.gz
så hopper du ned i maxima-5.16.3 mappen:
cd maxima-5.16.3
og så
./configure
make
make check
make install
Re: Installation fra tar.gz
Du kunne evt tage et kig på http://www.linuxbog.dk/friheden/friheden/tar-gz-intro.html som er en underside fra linuxbog som #3 henviser til
Re: Installation fra tar.gz
Som en anden påpeger kunne du få glæde af at læse de linuxbøger online.
Med " ./ " eksekvere man en fil - så at sige.
Så der burde gerne være en configure fil i din tarball du har hentet ned.
./configure vil så starte configure filen.
Re: Installation fra tar.gz
1. Jeg udpakker hele tar.gz biblioteket, men de filer der kommer ud af det er altså selve programmet? (og ikke brug-og-smid-væk installationsmateriale/kildekode)? I tilfælde af at det *er* hele programmet, hvor ville det så være mest fornuftigt at lægge programmet? Mit indtryk er at et program i Linux (say firefox) mere eller mindre ligger spredt godt ud over hele systemet (med en enkelt configurationsmappe i hjemme-biblioteket), men vil det også være tilfældet med et program som man installerer "manuelt"?
2. Hvad er make kommandoerne i stand til at gøre? Det varierer sikkert fra dist til dist, men tager de f.eks. og spreder hele programmet ud over systemet og opretter eventuelle opsætningsmapper? - hvad hvis man vil installere et program til alle systemets brugere?
Pt er min plan at udpakke programmet til noget ala "~/.maxima/maxima-5.16.3" og efterfølgende trykke "make" kommandoerne af dér. Men hvad vil der så (nogenlunde) ske? Og hvordan afinstallere man møget igen, hvis dette skulle vise sig at være nødvendigt?
Re: Installation fra tar.gz
2. ./configure chekcker dependencies og sætter generelt op hvordan programmet skal compiles.
eks bruger jeg altid selv
./configure --prefix=$HOME/opt/maxima
så specificerer jeg at jeg vil installere programmet i min hjemmepamme under mappen opt. (det er ikke altid en god ide at installere globalt på systemet udenom pakkemanageren)
så skriver du "make", som styrer compileringen af programmet. Altså du skal nu vente på at programmet compiles
slutteligt skriver du "make install", der sørger for at programmet installeres. (i dette tilfælde i $HOME/opt/maxima).
Fordelen med en lokal installation er at du kan fjerne programmet igen med "rm -rf $HOME/opt/maxima". Plus du roder ikke med dit system.
Nu skulle du kunne køre programmet med ~/opt/maxima/bin/maxima.
Re: Installation fra tar.gz
Komisk nok er Maxima lige blevet opdateret i dag. Hvordan opdaterer jeg programmet? Skal jeg bare køre de samme procedurer og overskrive den gamle installation? Og hvad ville der i så fald ske med eventuelle opsætninger?
Hvis man installerer et program "manuelt" uden at indstille PATH, findes der så programmer der selv opretter en "settings"-mappe i hjemmedrevet?
I hunger for knowledge :)
Re: Re: Installation fra tar.gz
Nogle programmer kan uninstalleres med
make uninstall
men desværre ikke alle. Det er netop derfor jeg altid bruger prefix metoden, så kan du evt også installere flere versioner parallelt med --prefix=$HOME/opt/maxima-ver1 og --prefix=$HOME/opt/maxima-ver2 osv..
Hvis du vil installere den nye under samme prefix som den tidligere, kan du bare fjerne den gamle. Eller evt tage en backup for en sikkerheds skyld hvis nu den nye ikke virker ("mv ~/opt/maxima ~/opt/maxima.old" eller noget lignende)
Indstillingerne er normalt gemt pr bruger i en mappe under $HOME, typsk med "." foran. E.g. $HOME/.maxima, og mistes derfor ikke ved geninstallation.
Havde du ikke brugt prefix ville programmet være blevet installeret globalt på systemet. Dette vil betyde at filerne er spredt over hele systemet, dvs /usr/bin /usr/share /usr/local og hvor ellers. Hvis der ikke findes en "make uninstall" kommando til programmet må du manuelt rundt og finde filer på systemet :(... (og hold dig væk fra filer der hører til andre pakker).
Hvis du vil installere for alle brugere kan du evt bruge --prefix=/usr/local, da /usr/local er reserveret til lokale installetioner (for alle brugere).
se evt http://www.pathname.com/fhs/ "filesystem hierchy standard"...
På den måde blander du ikke dine egne installationer sammen med dem lavet med din pakkemanager (apt-get, zypper, yum,...)
Re: Installation fra tar.gz
Underligt nok havde jeg et par problemer med projektet da kommandoen make slet ikke var inkluderet i openSUSE. I og med at den fyldte 900 kB, synes jeg da at det er ret underligt.
Re: Installation fra tar.gz
Re: Re: Installation fra tar.gz
Det er meget normalt at bineære distributioner som OpenSUSE ikke indeholder compilere og andre dev-værktøjser som make, dat det er meningen at alt brugeren skal bruge kommer fra repositories. Plus du kan ofte ikke bruge make uden gcc som fylder væsentligt mere...
"make filen indeholder typisk også instruktioner til fjernelse af programmer."
Det er afhængigt at build-systemet. Jeg ved ikke hvad der er default gnus build system (der bruger ./configure) men jeg ved CMake ikke som default har en "make uninstall". (http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_…)
Mange manuelt-skrevne make filer (som dem jeg selv ville lave) indeholder heller ikke en uninstall option.
Plus du kan ofte ikke bruge
Givetvis helt korrekt, men mit system havde allerede gcc og manglede kun make kommandoen (men det kan self være at jeg har installeret gcc og lign. ved en anden lejlighed, men det tror jeg nu ikke).