Hur kopierar man ett installerat program från en Linuxdator till en annan?

Permalänk

Hur kopierar man ett installerat program från en Linuxdator till en annan?

Vi har en dator på jobbet som styr labbutrustning med hjälp av ett skräddarsytt program skrivet i Java. Vi har ingen backup på det programmet och jag skulle vilja föra över det till en annan dator för att kunna kontrollera identisk utrustning på en annan plats. Problemet är att datorns operativsystem är en urgammal version av RedHat med 2.4 kerneln och jag kan ingenting om Linux.

Jag undrar därför var jag hittar programmets filer och hur jag kan migrera dem till en CD om det inte räcker med att bara kopiera dem rakt av. Programmet startas från en ikon på skrivbordet och jag testade att bara kopiera ikonen till skrivbordet hos en modern Lubuntuinstallation, men det fungerade inte. Tror ni jag kan använda en modern Linuxdistro till det här programmet eller bör jag försöka hitta samma version av RedHat eller någon annan distro med 2.4-kerneln?

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Medlem

Det borde väll snarare vara beroende på vilken version av jvm du använder om det är kompitabelt?
Finns det inte någon info fil med vad som ska ingå och vad filerna heter. Är programmet installerat med rpm kan du lista filerna med

rpm -ql <paketnamn>

jag tror att

rpm --repackage <paketnamn>

kan skapa ett nytt paket från ett installerat program om programet var installerat med rpm, eftersom jag har Arch på laptopen kan jag dock inte testa (så det kan vara helt uppåt väggarna )

Permalänk
Skrivet av Rist:

Det borde väll snarare vara beroende på vilken version av jvm du använder om det är kompitabelt?
Finns det inte någon info fil med vad som ska ingå och vad filerna heter. Är programmet installerat med rpm kan du lista filerna med

rpm -ql <paketnamn>

Jag vet inte vilka filer som ingår i programmet förutom ikonen på skrivbordet och några lösa config-filer i home-katalogen. Datorn är byggd och konfigurerad av samma person som ursprungligen skrivit programmet och jag vet inte vilka konventioner han har följt. Programmet är skrivet specifikt för den här datorn och såvitt jag vet är det här den enda versonen av programmet som existerar och den finns inte i någon repository. Han som skrev programmet kanske har en kopia någonstans men jag får inte tag på honom.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Inaktiv

Men programmet är i java? Då borde det ligga en .jar fil någonstans som är körbar, den borde inte vara så svår att hitta om du kan starta programmet.

Du borde kunna testa att kopiera det till en annan dator och köra. Då det är i Java borde det inte vara några problem att köra på vilken dator som helst

Permalänk
Medlem
Skrivet av Paddan1000:

Jag vet inte vilka filer som ingår i programmet förutom ikonen på skrivbordet och några lösa config-filer i home-katalogen. Datorn är byggd och konfigurerad av samma person som ursprungligen skrivit programmet och jag vet inte vilka konventioner han har följt. Programmet är skrivet specifikt för den här datorn och såvitt jag vet är det här den enda versonen av programmet som existerar och den finns inte i någon repository. Han som skrev programmet kanske har en kopia någonstans men jag får inte tag på honom.

Det kan ju vara så att han gjorde ett rpm och installerade även om det inte finns i något repo du kan lista installerad paket med rpm -ql
annars vet jag inte det kan ju ligga på en rad platser inklusive i en användares katalog.

Permalänk
Medlem
Skrivet av anon81912:

Men programmet är i java? Då borde det ligga en .jar fil någonstans som är körbar, den borde inte vara så svår att hitta om du kan starta programmet.

Du borde kunna testa att kopiera det till en annan dator och köra. Då det är i Java borde det inte vara några problem att köra på vilken dator som helst

Det kan ju finnas konfig filer etc. också. Men de borde ju ha beskrivande namn.

Permalänk

Tack för era svar. Jag är inte på jobbet nu men ska gå igenom alla tips i tråden imorgon och testa dem på datorn.

Var skulle den där .jar-filen kunna ligga?

Jag vet inte vad packetnamnet skulle kunna vara om det inte är programmets namn men får jag upp en lista över alla installerade program om jag vara skriver rpm -ql <enter>?

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Medlem
Skrivet av Paddan1000:

Tack för era svar. Jag är inte på jobbet nu men ska gå igenom alla tips i tråden imorgon och testa dem på datorn.

Var skulle den där .jar-filen kunna ligga?

Jag vet inte vad packetnamnet skulle kunna vara om det inte är programmets namn men får jag upp en lista över alla installerade program om jag vara skriver rpm -ql <enter>?

Ja om jag minns rätt så ska man få det. Vill du filtera dem kan du pipe till grep med sökterm. typ | grep <troligt delnamn>
Möjligen finns det något annat sätt att filtera men de är nog vad jag använt.

Permalänk
Rekordmedlem

Om du inte hittar alla delar av programmet eller inte vill lägga tid på att klura ut det så kanske det går att lösa genom att skapa en virtuell dator utifrån den som fungerar, det kanske även går att klona hela hårddisken och köra det på en annan dator, linux brukar vara mycket mer "flyttbart" än win så det är kanske mest en licensfråga.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av mrqaffe:

Om du inte hittar alla delar av programmet eller inte vill lägga tid på att klura ut det så kanske det går att lösa genom att skapa en virtuell dator utifrån den som fungerar, det kanske även går att klona hela hårddisken och köra det på en annan dator, linux brukar vara mycket mer "flyttbart" än win så det är kanske mest en licensfråga.

I det fallet så är det nog bäst att virtualisera den gamla linux burken och köra den på en modernare dator och kunna ha kopior på den. Att migrera den till en fysisk maskin med annan hårdvara blir nog mycket, mycket besvärligt. Kruxet är väl hur den kommunicerar med labbutrustningen, om det sker över en vanlig rs-232 eller nätverk så borde det väl gå att tilldela en sån från den fysiska datorn till den virtuella linux maskinen.

Visa signatur

Riggen:ASRock X570M Pro4 - AMD Ryzen 7 3700X - Corsair 32GB DDR4 3200MHz - Corsair MP510 960Gb NVME - EVGA 1080ti SC2 - 3x Samsung 840 500GB - EVGA SuperNOVA G1+ 650W - Fractal Design Meshify C Mini Dark TG
NAS: FreeNAS @ HP Proliant MicroServer Gen 8 - Xeon E3-1230 V2 - 16Gb Kingston ECC RAM - Intel 530 120Gb - IBM m1015/LSI 9220-8i - 4x WD Red 3Tb

Permalänk
Skrivet av mrqaffe:

Om du inte hittar alla delar av programmet eller inte vill lägga tid på att klura ut det så kanske det går att lösa genom att skapa en virtuell dator utifrån den som fungerar, det kanske även går att klona hela hårddisken och köra det på en annan dator, linux brukar vara mycket mer "flyttbart" än win så det är kanske mest en licensfråga.

Jag har funderat på det, men datorn och RedHat-versionen är från 2003 och därmed inte längre supportad så jag var inte säker på om jag skulle kunna installera det på en modernare dator. Dessutom har datorn SCSI-hårddiskar. Kan jag ändå migrera till en IDE- eller SATA-hårddisk?

Det kan nämnas också att datorn inte är kopplad till internet och jag lyckas inte mounta något USB-minne. Det enda sättet att få filer ur den är genom dess SCSI CD-brännare (ej DVD).

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Medlem

Så länge den gamla datorn fungerar och inte sjunger på sista versen så är det väl bara att prova sig fram, här verkar vara något att börja med: http://www.techrepublic.com/blog/tr-dojo/virtualizing-a-physi...

Edit: här är någon som gjort de du vill göra och virtualiserat en gammal linuxmaskin, intressant läsning: http://www.linuxjournal.com/article/9942

Visa signatur

Riggen:ASRock X570M Pro4 - AMD Ryzen 7 3700X - Corsair 32GB DDR4 3200MHz - Corsair MP510 960Gb NVME - EVGA 1080ti SC2 - 3x Samsung 840 500GB - EVGA SuperNOVA G1+ 650W - Fractal Design Meshify C Mini Dark TG
NAS: FreeNAS @ HP Proliant MicroServer Gen 8 - Xeon E3-1230 V2 - 16Gb Kingston ECC RAM - Intel 530 120Gb - IBM m1015/LSI 9220-8i - 4x WD Red 3Tb

Permalänk
Rekordmedlem

Är det en normal pc ? Har du provat om den kan boota från usb ? Vet du hur stort hela systemet är ? Jag tänkte att det kanske går att boota nått "verktygs os" eller nån livelinux från usb och därifrån klona hårddisken.
Men hur styr datorn utrustningen, ansluts den via seriebuss eller speciell hårdvara ?
Jag tycker du borde prova att göra en "livelinux usbpinne" och prova boota från den, Puppylinux brukar vara lämpligt på äldre hårdvara och bootar den upp så borde det gå att klona hela installationen och sedan kunna testa den i en virtuell dator.
Det borde gå att få det att fungera om det inte är nåt speciellt kontrollerkort för själva styrningen.

Edit: Det går ju även att lägga tex Puppy på en cd om datorn inte kan boota från usb.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem

Här är en instruktion för att göra migreringen med hjälp av att boota med en modernare Linux-live-cd: http://www.localizingjapan.com/blog/2011/03/05/virtualizing-a...

Antar att datorn är från tidigt 2000-tal och att boota från en cd går om man aktivt väljer det, men att USB inte är riktigt pålitligt och användbart.

Visa signatur

Riggen:ASRock X570M Pro4 - AMD Ryzen 7 3700X - Corsair 32GB DDR4 3200MHz - Corsair MP510 960Gb NVME - EVGA 1080ti SC2 - 3x Samsung 840 500GB - EVGA SuperNOVA G1+ 650W - Fractal Design Meshify C Mini Dark TG
NAS: FreeNAS @ HP Proliant MicroServer Gen 8 - Xeon E3-1230 V2 - 16Gb Kingston ECC RAM - Intel 530 120Gb - IBM m1015/LSI 9220-8i - 4x WD Red 3Tb

Permalänk

Jag har försökt boota Lubuntu från USB, men det är inte valbart i BIOS. Boota från CD skulle antagligen fungera men jag har inte provat. Datorn är en Pentium III 800 Mhz med 256 MB RAM. Hur stor hårddisken är och hur mycket utrymme dess innehåll kräver vet jag inte hur man tar reda på eftersom jag känner mig ganska vilsen i RedHat. Jag skulle inte tro att innehållet tar mer än några få Gigabyte. Jag har inte skruvat upp datorn, men den känns inte normal utan den ger intrycket av att vara handbyggd av en superlinuxnörd som älskar obskyra standarder som SCSI och fulltower-chassin samt att spärra sina skapelser så långt det är möjligt, antingen för att jävlas eller för att klåfingriga linuxanalfabeter som jag inte ska råka förstöra något. Linuxinstallationen är nog också nedbantad på något sätt då vissa kommandon inte fungerar. Det tog mig två dagar bara att fundera ut hur CD-brännaren fungerade och jag hade aldrig kunnat få root-access om jag inte hade snubblat över informationen att man kunde boota i single-user mode för att ändra root-lösenordet.

Datorn kommunicerar med labutrustningen via nätverkssladd, men det är tydligen ett lokalt nätverk som inte har någon WAN-kontakt. Jag har inte satt in mig i hur det fungerar än eftersom jag först vill göra en kopia på programmet. IT-personalen på det andra labbet som behöver programmet får själva lista ut hur de ska få det att kommunicera med sin utrustning.

Jag vill inte installera något på datorn och ändra på den eftersom den är oersättlig just nu. Linuxinstallationer brukar förstöras när jag leker med dem hemma. Helst vill jag bara kopiera programmets filer rakt av utan påverkan på datorn. Kan jag spegla hårddisken med bara hjälp av en live-CD och ett USB-minne kan jag testa det, men jag gör det i andra hand om en vanlig kopiering inte fungerar.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk

Förmodligen är filen på skrivbordet en .desktop fil. Öppna den i valfri texteditor och se efter vilket program som den startar.

Om programmet har ett tillräckligt unikt namn så kan du använda locate i ett terminalfönster för att hitta filer.

locate filnamn

Permalänk
Skrivet av Korkskruv:

Förmodligen är filen på skrivbordet en .desktop fil. Öppna den i valfri texteditor och se efter vilket program som den startar.

Om programmet har ett tillräckligt unikt namn så kan du använda locate i ett terminalfönster för att hitta filer.

locate filnamn

Just det ja, den hade extensionen .desktop. Jag ska öppna den och titta imorgon.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Rekordmedlem

Datorn är kanske så gammal att den inte kör usbboot, men bränn en cd med tex Puppy och prova att boota och se om usbportarna fungerar och om hårddiskkontrollern fungerar, annars får du kolla vilken kontroller du har och leta drivrutiner för den (jag gissar att det är en Adaptec)

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Entusiast

I detta exempel har jag själv integrerat minecraft (ett java-program) i systemet, så att alla användare som loggar på kan ta del av det.
Här går jag igeom processen på hur man kan gå tillväga för att ta reda på mer om ett integrerat java-program i ett *nix system, och med informationen man får fram, ta backup på de relevanta filerna.

Guiden är en aningen lång, men jag försöker beskriva vad det är jag gör, och varför.
Det är bättre än att jag bara dumpar av ett gäng kryptiska kommandon endast de mest inbitna Linux-användarna förstår.

Observera att jag skriver här kommandon med så kallade långa växlar, istället för de korta.
De är mer självförklarande på det sättet, och är att föredra när man beskriver något, som i det här fallet.
Personligen använder jag ju givetvis korta växlar eftersom det är snabbare att skriva, men desto mer kryptiska istället.

Dold text

Nog om det. Låt oss komma igång.
För att ta reda på mer om det integrerade java-programmet ifråga, så utför jag följande steg:

  1. Ta reda på var kommandot är för att starta programmet.
    I mitt fall är det ett enkelt kommando: "minecraft". Inget mer. Spelet startar.
    Eftersom det handlar om ett java-program, så vet jag att det ligger mer bakom detta än just kommandot.
    Jag måste ta reda på var kommandot "minecraft" huserar, för att kunna "dissekera" det.
    Här kommer kommandot "whereis" väl till pass:

    whereis minecraft

    Jag får till svars: minecraft: /usr/local/bin/minecraft

  2. Nu är det dags att ta reda på vad kommandot ovan är för något.

    file /usr/local/bin/minecraft

    Får till svars:
    Bourne-Again shell script, ASCII text executable

    Prima. Det är et text-script. Det betyder att jag enkelt kan titta i filen och ta reda på var "magin" finns.

  3. Jag öppnar filen med min favorit-editor, och läser igenom det.
    Jag får syn på raden som startar själva java-miljön med programmet ifråga:

    ... java -Dsun.java3d.opengl=true -Xmx2048M -Xms1024M -jar /opt/minecraft/minecraft.jar ...

    Den sista delen är intressant. Det ger mig indikationen om att java-programmet "minecraft" är installerat i följande sökväg:
    /opt/minecraft

  4. Eftersom Minecraft är manuellt integrerad utanför distributionens paket-hanterares kontroll, så får jag lov att hantera /opt/minecraft på egen hand.
    Men för att vara på säkra sidan, kan jag dubbelkolla detta. (I mitt fall med Arch's "pacman". Använd din distributions pakethanterare för uppgiften. )

    pacman --query --owns /opt/minecraft

    Jag får till svars: "error: No package owns /opt/minecraft"
    Det betyder att distributionen inte känner igen filen/mappen ifråga, och jag kan lungt hantera den manuellt utan att det stör paketsystemet.

  5. Dags att säkerhetskopiera mappen ifråga.
    Min favorit-metod är att packa ner härligheten i en tarboll. Ni kan självfallet använda eran favorit-metod för att packa ihop filer. T.ex "7zip" eller KDE's "Ark".
    Nerpackning av mappen "/opt/minecraft" samt script-filen "/usr/local/bin/minecraft" sker t.ex. med följande tar-kommando:

    tar --create --bzip2 --file ~/Minecraft-backup.tar.bz2 /opt/minecraft /usr/local/bin/minecraft

    Nu har jag en ny fil i min hem-mapp: Minecraft-backup.tar.bz2

  6. Är det klart så långt?
    Det beror nog på vad det handlar om för program. I det här fallet handlar det om ett java-program som skapar och sparar filer individuella för varje användare i systemet.
    Det betyder alltså att det finns fler filer att ta hänsyn till i varje användares hem-mapp.
    Standard-förfarandet i *nix-världen är att programmet skapar en egen profil-mapp som har samma namn som programmet ifråga. Dock dold.

    I fallet med Minecraft, så skapar det en ".minecraft" -mapp i användarens hem-mapp. Eftersom namnet startar med en punkt, så är filen dold.
    Ställ in er filhanterare på att visa dolda filer, så ser ni en hel drös med filer och mappar som startar med en punkt.
    I det här fallet visas även ".minecraft" och det ser ut som om den innehåller alla inställningar till minecraft, alla världar som skapats i minecraft samt lite annat godis.

    Med samma metod som innan, tar jag även en backup på den aktuella användarens profil för programmet ifråga (I det här fallet för användaren "sysghost"):

    tar --create --bzip2 --file ~/Minecraft-profile_SysGhost.tar.bz2 /home/sysghost/.minecraft

    Jag har nu ytterligare en fil i min hem-mapp: Minecraft-profile.tar.bz2

  7. Nu då? är det klart?
    Njaaa... nästan. Ha tålamod.
    Det kan finnas en risk att java-programmet lagrar global konfiguration utanför sin egen arbets-mapp. Vart är helt upp till skaparen av java-programmet, men är programmeraren det minsta smart, så följar denne givetvis systemets standard. I det här fallet *nix-standard.
    Enligt *nix-standarden, lagras global konfiguration i mappen "/etc". Helst med samma namn som programmet ifråga.

    Låt oss kolla upp om så är fallet även här, genom att kolla efter något som har med programmet att göra i mappen "/etc".
    Använd er favorit-filhanterare för detta och använd sök-funktionen i mappen "/etc".
    Jag själv kör vidare med terminalen, och det ypperliga kommandot "find":

    find /etc -name *minecraft*

    jag får till svars, en trevlig lista med filer/mappar som kanske är aktuella:

    /etc/minecraft_server.conf /etc/minecraft_server-FATS.conf /etc/local.d/71_minecraft_FATS.stop /etc/local.d/71_minecraft_FATS.start

    I det här fallet har jag en egen minecraft-server, så jag har integrerat den i systemets uppstarts-rutiner samt lite annat gott. Mycket lämpligt att spara filerna ifråga.

    Tar en backup på filerna som jag tror är aktuella: (Använd er favorit-metod om ni så önskar)

    tar --create --bzip2 --file ~/Minecraft-global_configuration.tar.bz2 /etc/minecraft_server.conf /etc/minecraft_server-FATS.conf /etc/local.d/71_minecraft_FATS.stop /etc/local.d/71_minecraft_FATS.start

    Överkurs:

    Här har jag integrerat kommndot "tar" med "find" för att förenkla det hela.
    Detta är lite mer avancerad användning av terminalen och bash. Jag tänker inte gå igenom i detalj vad som sker. Det är överkurs.
    En utmaning till er nybörjare: Ta reda på hur kommandot fungerar och försök er på att förstå den.

    find /etc --name *[m,M]inecraft* --exec tar --append --bzip2 --file ~/Minecraft-global_configuration.tar.bz2 {} \;

    Dold text
Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk

Med er hjälp har jag konstaterat att programmet inte är installerat via rpm, men jag lyckades hitta dess katalog genom att lista alla aktiva processer med "ps" när programmet var igång och sedan söka igenom hårddisken efter startfilen med hjälp av "find".
Jag hann inte bränna över programkatalogen på en CD idag för att testa att starta programmet i Lubuntu, men jag ska göra det imorgon om jag hinner då.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk

Jag har nu kopierat över programkatalogen till Lubuntu-datorn i mappen /usr/local och installerat packeten "default-jre" för att få en Java runtime environment. Vi kan kalla programmet "Nils" och i programkatalogen finns filen "nils.sh" som ska starta programmet. Öppnar man "nils.sh" med en text-editor ser den ut så här på insidan:

"
#!/bin/sh
#File: /usr/local/nils/bin/nils.sh
#Purpose: Launches the Nils program.
#Author: Linuxotaku (RYT)
#Date: 2003-11-20
#Updates: RYT040208: Output directed to log file

LOG=/var/log/nils/nils.log
java -jar /usr/local/nils/bin/Nils.jar >> $LOG 2>&1
exit $?

"

Programmet startar inte om man klickar på filen men det startar om man manuellt skriver "java -jar /usr/local/nils/bin/Nils.jar" i terminalen och utelämnar ">> $LOG 2>&1".

Varför startar inte programmet när jag bara klickar på filen nils.sh, hur viktigt är ">> $LOG 2>&1" och varför måste jag utelämna det, vad innebär "LOG=/var/log/nils/nils.log" samt bör jag kopiera över filen "/var/log/nils/nils.log" från den gamla datorn eller kommer den att skapa sig själv?

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Entusiast
Skrivet av Paddan1000:

Jag har nu kopierat över programkatalogen till Lubuntu-datorn i mappen /usr/local och installerat packeten "default-jre" för att få en Java runtime environment. Vi kan kalla programmet "Nils" och i programkatalogen finns filen "nils.sh" som ska starta programmet. Öppnar man "nils.sh" med en text-editor ser den ut så här på insidan:

"
#!/bin/sh
#File: /usr/local/nils/bin/nils.sh
#Purpose: Launches the Nils program.
#Author: Linuxotaku (RYT)
#Date: 2003-11-20
#Updates: RYT040208: Output directed to log file

LOG=/var/log/nils/nils.log
java -jar /usr/local/nils/bin/Nils.jar >> $LOG 2>&1
exit $?

"

Programmet startar inte om man klickar på filen men det startar om man manuellt skriver "java -jar /usr/local/nils/bin/Nils.jar" i terminalen och utelämnar ">> $LOG 2>&1".

Varför startar inte programmet när jag bara klickar på filen nils.sh, hur viktigt är ">> $LOG 2>&1" och varför måste jag utelämna det, vad innebär "LOG=/var/log/nils/nils.log" samt bör jag kopiera över filen "/var/log/nils/nils.log" från den gamla datorn eller kommer den att skapa sig själv?

Den allra sista delen i kommandot "2>&1" betyder att fel-meddelanden som programmet och/eller java spottar ut dirigeras om samma kanal som vanliga meddelanden.
kanal 1, stdout, är den kanal som logg, warningar, status och annat skrivs ut till.
kanal 2, stderr, är den kanal som felmeddelanden normalt skrivs ut till.
"2>&1" betyder: "Dirigera om kanal 2 till kanal 1"

Men varför ditt script fungerar utan ">> $LOG " -biten, kan bero på att programmet inte har skriv-rättigheter till mappen /var/log/nils/, eller att den mappen saknas.

Kolla om mappen finns, och om inte, skapa den, och ge dina användare skrivrättigheter till den:

sudo mkdir /var/log/nils/ sudo chown root:users /var/log/nils/ sudo chmod 775 /var/log/nils/

Ditt script borde fungera efter detta.

PS: Givetvis så byter du ut "nils" till det riktiga namnet.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem

anledningen till varför du inte kan köra scriptet nils.sh kan vara för att du inte har kör och skrivrättigheter till själva skriptet, då det är kopierat.
Du kan se rättigheterna genom ls -al (eller valfria växlar). Till vänster får du då något i stil med rwxr-xr--, det är en tredelad rättighetssträng.

första 3 bokstäverna är användaren som äger filen (ex. root) och står i exemplet ovan för read write execute.
Nästa tre är gruppen som filen tillhör (ex. root) och där finns bara read och execute, - betyder ingen rättighet.
Sist är det alla andra användare och grupper, de har bara read i exemplet.

Du får fundera på om java-programmet ska köras med någon speciell användare(egentligen behörighet) och antingen göra denna till ägare eller använda en grupp som får köra scriptet.

LOG är en variabeldeklaration, så om du provar att köra

java -jar /usr/local/nils/bin/Nils.jar >>/var/log/nils/nils.log 2>&1

så kan det eventuellt funka bättre.

Men antagligen finns inte /var/log/nils och den användaren du använder för att köra .jar-filen har inte tillåtelse att skriva där. Det är samma som scriptet, du får fundera över användar-rättigheter och ev. skapa mappen /var/log/nils med rätt behörigheter.

Visa signatur

"Det här systemet fungerar urkasst." - operatör.
"Hur ska det fungera då?" - jag
"Gör så att det fungerar som jag vill." - operatör.
/facepalm

Permalänk

Jag skapade katalogen /var/log/nils och gjorde mig själv till ägare. Nu har filen nils.log skapats där av sig självt och jag kan starta programmet via nils.sh. Det enda som stör lite nu är att det kommer upp en ruta som säger "This text file seems to be an executable script" och man kan välja mellan "Execute" och "Execute in terminal" och lite till. Kan jag få bort den rutan så programmet öppnas direkt? Gärna via en genväg på skrivbordet.

Nu när jag kan köra programmet har fler problem uppenbarat sig. Man ska kunna ta backuper på mätdata via CD-brännaren och försöker jag göra det nu går inte det pga att brännaren inte är SCSI utan en vanlig IDE-DVD. Jag får lite fler felmeddelanden också som jag ska lista i nästa post.

Den bränner med kommandot "cdrecord" som jag installerat genom packeten "wodim". Det finns en scriptfil som heter burn.sh som tar hand om brännandet. Kan man ändra något där för att programmet ska kunna fungera med IDE- och SATA-brännare?

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk

wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions f wodim may have dfferent drive dependent defaults.
wodim: Operation not permtted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
scsidev: '0,6,0'
scsibus: 0 target: 6 lun: 0
WARNING: the deprecated pseudo SCSI syntax found as device specification.
Support for that may cease in the future versions of wodim. For now,
the device will be mapped to a block device file where possible.
Run "wodim --devices" for details.
wodim: No such file or directory.
Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
TOC Type: 1 = CD-ROM
Terminated due to error.
Take out the CD!

Finished!

*****

Jag upptäckte precis det här och har inte satt mig in i det själv. När jag är tillbaka på måndag ska jag försöka lösa det.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Rekordmedlem

Vad är det programmet försöker "bränna" ? Om du flyttar hela installationen till en ny maskin behöver du då skicka det direkt till en cd brännare ? Går det inte att få ut datat som en vanlig fil som du sedan kan hantera fritt och tex bränna på annat sätt eller ta ut via usb eller nätverk?

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Skrivet av mrqaffe:

Vad är det programmet försöker "bränna" ? Om du flyttar hela installationen till en ny maskin behöver du då skicka det direkt till en cd brännare ? Går det inte att få ut datat som en vanlig fil som du sedan kan hantera fritt och tex bränna på annat sätt eller ta ut via usb eller nätverk?

Jag vet inte exakt vad det är den bränner ut eftersom jag inte använder apparaten själv, men det är bland annat bilder från en kamera som är kopplad till datorn så filerna är ganska stora. Programmet är tänkt att användas av äldre damer som bokstavligen heter Agda och är 63 så det är bäst att den ursprungliga användarvänligheten bevaras så långt som det är möjligt.

EDIT: Jag kan posta innehållet i filen burn.sh senare om det är till någon hjälp. Jag vet inte om begränsningen ligger i något som är skrivet där eller i programmet Wodim som står för bränningen.

Som kuriosa kan jag nämna att programmet ursprungligen kostat skattebetalarna 250,000 kr så det är därför vi är så angelägna om att göra en kopia.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.

Permalänk
Medlem
Skrivet av Paddan1000:

Jag vet inte exakt vad det är den bränner ut eftersom jag inte använder apparaten själv, men det är bland annat bilder från en kamera som är kopplad till datorn så filerna är ganska stora. Programmet är tänkt att användas av äldre damer som bokstavligen heter Agda och är 63 så det är bäst att den ursprungliga användarvänligheten bevaras så långt som det är möjligt.

EDIT: Jag kan posta innehållet i filen burn.sh senare om det är till någon hjälp. Jag vet inte om begränsningen ligger i något som är skrivet där eller i programmet Wodim som står för bränningen.

Som kuriosa kan jag nämna att programmet ursprungligen kostat skattebetalarna 250,000 kr så det är därför vi är så angelägna om att göra en kopia.

antagligen skickas det med en fast sökväg i burn.sh till wodim. posta gärna innehållet i filen.

Visa signatur

"Det här systemet fungerar urkasst." - operatör.
"Hur ska det fungera då?" - jag
"Gör så att det fungerar som jag vill." - operatör.
/facepalm

Permalänk
Rekordmedlem

Ryms filerna på en cd är de inte stora med dagens mått och du lär inte ha några problem att hantera dem med usb eller nätverk, en cd tar ca 5 sekunder att överföra via lan.
Jag vet inte hur allt hänger ihop men går det att utnyttja modernare saker än en specifik scsi cd på en virtuell maskin vore det nog bra, går det att spara ner innehåller som en vanlig fil på datorn istället för att bränna det direkt blir det iallafall mycket med flexibelt, det skulle även gå att köra fjärrstyrning och föra över resultatet via lan och spara det på en server eller nån liknande lösning.
Ev kanske man kan använda en virtuell brännare om det måste "brännas" då kan man sedan hantera isofilen som vilken datafil som helst.
Kolla om det går att undvika den fysiska cd brännaren på nått sätt för det vore väldigt bra om det gick.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Skrivet av Otur:

antagligen skickas det med en fast sökväg i burn.sh till wodim. posta gärna innehållet i filen.

Skrivet av mrqaffe:

Ryms filerna på en cd är de inte stora med dagens mått och du lär inte ha några problem att hantera dem med usb eller nätverk, en cd tar ca 5 sekunder att överföra via lan.
Jag vet inte hur allt hänger ihop men går det att utnyttja modernare saker än en specifik scsi cd på en virtuell maskin vore det nog bra, går det att spara ner innehåller som en vanlig fil på datorn istället för att bränna det direkt blir det iallafall mycket med flexibelt, det skulle även gå att köra fjärrstyrning och föra över resultatet via lan och spara det på en server eller nån liknande lösning.
Ev kanske man kan använda en virtuell brännare om det måste "brännas" då kan man sedan hantera isofilen som vilken datafil som helst.
Kolla om det går att undvika den fysiska cd brännaren på nått sätt för det vore väldigt bra om det gick.

Som jag har förstått det sparar programmet all sin output i en katalog på hårddisken och när man har tillräckligt mycket filer för att fylla en CD trycker man på "backup-knappen" i programmet så kopieras filerna över till en CD. Detta går säkert att göra manuellt, men jag måste kolla med labassistenterna på måndag exakt vad "backup" innebär innan jag kan uttala mig. Det vore iallafall snyggt om de kunde göra som de är vana och inte behöver lära sig något nytt eller införa ett nytt arkivsystem.

Jag ska även posta innehållet i burn.sh på måndag. Jag har inte programmet eller någon Linuxdator här hemma just nu.

Visa signatur

Asus Rampage II Extreme LGA1366, Xenon X5672@3,8GHz, Thermalright Ultra-120 Extreme med 2x Noctua NF-P12, Corsair Vengeance 1600MHz CL9 6x4GB, Palit Geforce GTX 1060 6GB, Asus Xonar Essence STX, Corsair AX1200W, Cooler Master Silencio 650, Qpad MK-80, Mionix Naos 5000, 28 tum GIGABYTE M28U 3840x2160.