Kan man køre et program uden at installere det?
I Windows er det ofte, især for mindre programmer, muligt at eksekvere et program ved simpelthen at køre exe-filen fra en hvilken som helst placering. I nogle tilfælde indeholder zip-pakken flere filer som så blot skal pakkes ud i en passende mappe, hvorefter programfilen kan køres.
Jeg har selv programmeret til Windows i mange år, og alle mine programmer kan køre på den måde, dvs. uden installation.
Men kan man det i Linux? Helt konkret har jeg en NAS som er linuxbaseret, man kan logge ind med telnet eller ssh og bruge de programmer der nu engang ligger der, men der er ikke noget pakkesystem, og heller ikke make mm. Det er altså ikke umiddelbart muligt at installere nye programmer.
Så er det jeg tænker på at man vel må kunne kopiere den/de pågældende filer de rigtige steder hen, forudsat at man kan finde de rigtige binære versioner som passer til OS og hardware, og på den måde få programmet ind "ad bagvejen"?
Nu er det så jeg kommer til kort, for i Linux aner jeg ikke hvor filerne ryger hen ved installation.
Jeg håber der er nogle der kan hjælpe mig lidt på vej.
Det drejer sig i øvrigt om Midnight Commander, mc.
Jeg har selv programmeret til Windows i mange år, og alle mine programmer kan køre på den måde, dvs. uden installation.
Men kan man det i Linux? Helt konkret har jeg en NAS som er linuxbaseret, man kan logge ind med telnet eller ssh og bruge de programmer der nu engang ligger der, men der er ikke noget pakkesystem, og heller ikke make mm. Det er altså ikke umiddelbart muligt at installere nye programmer.
Så er det jeg tænker på at man vel må kunne kopiere den/de pågældende filer de rigtige steder hen, forudsat at man kan finde de rigtige binære versioner som passer til OS og hardware, og på den måde få programmet ind "ad bagvejen"?
Nu er det så jeg kommer til kort, for i Linux aner jeg ikke hvor filerne ryger hen ved installation.
Jeg håber der er nogle der kan hjælpe mig lidt på vej.
Det drejer sig i øvrigt om Midnight Commander, mc.
Kommentarer20
Re: Kan man køre et program uden at installere det?
I Synaptic pakkemanageren kan du bare klikke på pakken, vælge egenskaber i værktøjslinien og vælge fanebladet installerede filer. Listen er kun tilgængelig for installerede pakker.
For Midnight Commander er der godt nok mange filer, men en stor del er sprogfiler og lignende, der nok kan undværes.
Re: Kan man køre et program uden at installere det?
I GNU/Linux med pakkehåndtering har du meget mere overblik over hvad der installeres hvor end du nogensinde kommer i nærheden af at have på MS Windows.
for rpm-baserede systemer: 'rpm -ql [pakkenavn]'
for debian-baserede systemer: 'dpkg -L [pakkenavn]' (iirc)
#2:
For større
For større programpakker i Windows kan det godt være svært at hitte ud af hvor installationsfilerne ryger hen, men faktisk er der rigtigt mange programmer der udelukkende lægger filer i deres egen mappe. Derfor er de portable, de kan altså flyttes rundt efter forgodtbefindende, endda over på en anden PC uden installation.
Mit indlæg er på et plan beslægtet med "portable apps" som jo netop kører direkte ud fra fx en USB stick. Det kan flere og flere windowsprogrammer. Kan man mon det samme i Linux?
#3
Det er skam muligt. Se fx
Det er skam muligt. Se fx Firefox som du kan hente i en tar.gz fil hvor programmet ligger compilet og du blot kører den fil ved navn firefox.
Re: Kan man køre et program uden at installere det?
Jeg er helt klar til at få prygl hvis det jeg siger er forkert, jeg har ingen speciel forudsætning for at vide noget om programmering :)
#5:
det er jo ikke kun et
det er jo ikke kun et spørgsmål om linking - tænkt på dependencies der har datafiler, som for eksempel ncurses
Re: Kan man køre et program uden at installere det?
Kan man installere uden at være rod? Det ville måske kunne løse det. Jeg tænker på noget i retning af at filerne i stedet for at blive lagt i fx /usr/bin som man ikke har adgang til, kommer ned i /home/martin/usr/bin eller noget i den stil.
Altså en slags virtuel root?
#7
Ja du kan godt smide
Ja du kan godt smide tingene sådan, men så er det nok også en god ide lige at opdatere $PATH
Men det ændre ikke på at linkeren stadig skal vide hvor den skal lede, og data filer som redeeman også skal kunne lokaliseres af programmerne
Re: Kan man køre et program uden at installere det?
Der er et problem nemlig at du ikke som med windows kan regne med at alt er 110% samme sted men det er kun et problem hvis du dynamisk linker til systembibliotker der ikke ligger i programmets egen filstruktur.
Der er visse konventioner og det er mugligt at sætte stinavne til bibliotker via en runtime variable istedet for enten at hardcode eller sætte på compile time(Det normalt for linux programmer). Det er stort set det samme som på windows.
De typiske unix standard bibiliteker har lidt flere fratures til at gøre det mugligt end window normalt tilader.
Statisk linkede programmer eller programmer der kun linker i egen programstruktur er der ingen problemer med overhovedet.
#7 yep sagtens.
#9:
Det lyder da positivt at
Det lyder da positivt at det kan lade sig gøre uden de store problemer. Kan du også give et hint om hvordan man gør? Jeg er ret så meget på bar bund med det!
Meget gerne med mc som konkret eksempel.
Re: Kan man køre et program uden at installere det?
./confugure --with-glibc-static --prefix="somewhere"
make
make Install
make distclean
burde lave en relativ portable udgave af mc.
Det skal selvfølgeligt gøres i biblioteket med mc's kildekode bagefter er biblioteket someplace basalt set klar til at blive zipped og distribueret
Er lige igang med at teste men det burde virke.
Hvis du bruger samme distribution når du compiler som når du eksekvere burde der slet ikke værre problemer.
Re: Kan man køre et program uden at installere det?
Du kan slå en masse features fra på compile time hvis de ikke er understøttet af din target platform.
disclaimer, jeg er en støvet gammel hobbyist når det kommer til unix ikke programør eller lpic certificeret expert.
Re: Kan man køre et program uden at installere det?
På forhånd tak.
Re: Kan man køre et program uden at installere det?
Re: Kan man køre et program uden at installere det?
Re: Kan man køre et program uden at installere det?
Re: Kan man køre et program uden at installere det?
Re: Kan man køre et program uden at installere det?
Re: Kan man køre et program uden at installere det?
Men så må du jo bare lave din egen pakke ;)
#19:
Ja, jeg har kigget på
Ja, jeg har kigget på zero install men MC er der desværre ikke. Og jeg ved ikke hvordan man laver sin egen pakke.