Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu  (gelezen 3876 keer)

Offline MKe

  • Lid
Misschien niet echt voor de beginners, maar ook weer niet heel moeilijk. Het is ook niet een volledige beschrijving, maar misschien kom ik daar later nog aan toe indien belangstelling:

Stel, je draait Ubuntu 16.04 (zoals elke verstandige gebruiker) en je wilt heel graag een programma gebruiken die alleen in 17.10 zit. Bijvoorbeeld de nieuwste versie van GIMP (in 16.04 zit 2.8.16 en in 17.10 zit 2.8.22).

Je kunt natuurlijk een virtual machine maken met 17.10 maar dat is best lastig, hoe kom je bij je bestanden etc. Handiger is natuurlijk om Gimp gewoon als proces op je huidige installatie te draaien. Misschien kan je het met een ppa doen, dat weet ik niet, maar stel dat je dat niet wilt.

Dan is er een oplossing die Singularity heet (http://singularity.lbl.gov/install-linux). Er is een Ubuntu package: http://neuro.debian.net/pkgs/singularity-container.html.
Ik ga er even van uit het installeren lukt (ik heb zelf Manjaro op deze computer).

Singularity is een systeem dat gebruikt maakt van de Linux kernel. Je kunt er containers mee starten. In die container kun je dan Ubuntu 17.10 installeren (minus je kernel en al je drivers) en het programma die je wilt runnen.

Hieronder het voorbeeld van Gimp:
Ik maak eerst een tekst bestand 'Recept' genaamd met de volgende inhoud:
Bootstrap: docker
From: ubuntu:17.10

%runscript
gimp

%post
    apt-get update
    apt-get install -y gimp

Vervolgens bouw ik een 'image' met dit bestand:
sudo singularity build gimp.img Recept
Dit heeft een bestand geproduceerd dat gimp.img heet. Dit is onze container met een volledige Ubuntu 17.10 installatie en gimp erin.

Nu kanik het gewoon runnen met het volgende commando:
singularity run gimp.img
en voila: gimp 2.18.22 draaiende in Ubuntu 17.10 op mijn 16.04 (of in mijn geval Manjaro) installatie.

Omdat Gimp in een container draait zal het alleen bij je home en bij de /tmp kunnen komen. Niet bij ander mappen op je harde schijf.

Natuurlijk kun je ook gewoon ander programma's in je container installeren.

Tot zo ver een snelle introductie. Er is veel meer mogelijk, en indien er belangstelling is wil ik daar wel later verder op ingaan.
« Laatst bewerkt op: 2017/11/16, 22:49:56 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline MKe

  • Lid
Hmmm, ik dacht er wel mensen geïnteresseerd zouden zijn in Singularity. Het lijkt mij leuk om hier eens samen met anderen mee te experimenteren. Maakt ook de noodzaak om te upgraden naar de 'latest and greatest' Ubuntu een stuk minder groot.


Offline jvecht

  • Lid
    • Just Vecht
Hoi MKe,

Dit vind ik wel leuk. Van dat moderne gedoe met containers wil ik wat meer begrijpen.

In dit geval doe je dat allemaal in de 16.04 LTS, Maar waar haalt die singelaar dan de andere Ubuntu versie vandaan? Is het dan zo dat je "het doet" in de andere Ubuntu versie waarna je er een soort containerpakket aan over houdt wat je in de oudere LTS kan draaien?

Of is er ergens een tut die het me uitlegt?

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline MKe

  • Lid
Flatpak komt eraan in Mint 18.3.....  ;)
https://www.linuxmint.com/rel_sylvia_cinnamon_whatsnew.php

http://flatpak.org/#features
Grappig, dat is op dezelfde techniek gestoeld als Docker/Singularity. Singularity lijkt mij nog superieur, maar flatpak is zeker beter geschikt voor minder technische mensen.

Hoi MKe,

Dit vind ik wel leuk. Van dat moderne gedoe met containers wil ik wat meer begrijpen.

In dit geval doe je dat allemaal in de 16.04 LTS, Maar waar haalt die singelaar dan de andere Ubuntu versie vandaan? Is het dan zo dat je "het doet" in de andere Ubuntu versie waarna je er een soort containerpakket aan over houdt wat je in de oudere LTS kan draaien?

Of is er ergens een tut die het me uitlegt?

groet,

Just
Hoi Just,

Wat er gebeurt is dat er in een 'container' alle bestanden van de nieuwe distro worden geinstalleerd. Alle verwijzingen naar deze 'libraries' e.d. zullen ook binnen deze container blijven. Zoals ik al zei is dit tot zo ver vergelijkbaar met b.v. Virtualbox. Het verschil zit hem erin dat Singularity gebruik maakt van de kernel van je eigen PC, zodat het direct op de hardware van je computer draait in plaats van 'virtuele' hardware in een VM.

Het volgende is een tekening van Docker, het 'zuster systeem van Singularity:

Je ziet dus dat niet het hele OS in de container aanwezig hoeft te zijn. Bij Virtual machine/virtualbox is dat dus wel zo.
« Laatst bewerkt op: 2017/11/20, 18:26:16 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline jvecht

  • Lid
    • Just Vecht
Hoi MKe,

Als ik beweer dat ik het snap sta ik te liegen, maar het principe heb ik wel door. Dan is die container opzetten wel aardig wat werk?

En dat commando om die container te bouwen geef je dan in die container, waarna je in jouw voorbeeld gimp.img overhoudt.
Ohhh! Is dat nou hoe ze zo'n appimage maken zoals Kdenlive onder andere beschikbaar heeft van de nieuwste versie??

Dat is dan wel supervet, zeg!

groet,

Just <in enen 60 jaar jonger>
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Een hoop mooie ontwikkelingen :)
Flatpak had ik al wat van gelezen, volgens mij (weet het niet zeker) is daarin ook software beschikbaar die niet standaard in de repo's te vinden is (discord?).

Singularity  ken ik nog niet, maar is het dan zo dat je oudere software kunt runnen op een nieuwere systeem? Ik kan mij namelijk nog vaag voor de geest halen dat ik een paar jaar geleden bezig ben geweest om diverse hulpprogramma's voor IceWM over te zetten. Bepaalde dingen waren geloof ik geschreven en afhankelijk van bepaalde oudere QT3 dingen, monnikenwerk noemt men dat ;) Het zou dan inderdaad handig zijn dat zoiets dan tot het verleden zou behoren.


Ryzen 7 1700 16gb, RX 580 8gb, AOC 24" FreeSync scherm,  Corsair Strafe Red (mechanisch toetsenbord), 256GB SSD, 4 TB HDD. OS: Linux Mint

Offline jvecht

  • Lid
    • Just Vecht
Hoi MKe,

Als ik beweer dat ik het snap sta ik te liegen, maar het principe heb ik wel door. Dan is die container opzetten wel aardig wat werk?

Ik heb net een introductievideo bekeken en snap nu hoe dat werkt. Beetje te lastig om zelf mee bezig te gaan. Die video is wel de moeite waard, maar hij is Engelstalig. Ik was nog geen minuut aan het kijken toen ik hem terug moest spoelen. Ik was het helemaal kwijt.

Voor eventuele mensen met interesse: https://youtu.be/xuIQoth0r4E

Leuk!

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline MKe

  • Lid
Het is niet zo lastig hoor, Just. Ik had al een voorbeeld gegeven van Gimp in een Ubuntu 17.10 image. Iemand als jij zou dat zeker moeten snappen.
Alles draait om het recept, daarmee kun je zelf van alles bouwen. Het recept is gewoon een simpel tekst bestand die je met leafpad of gedit kunt maken. Ff voor je geheugen, het recept was dus:
Bootstrap: docker
From: ubuntu:17.10

%runscript
gimp

%post
    apt-get update
    apt-get install -y gimp

Bovenstaande bestaat uit 3 secties die niet zo moeilijk zijn. Allereerst de header:
Bootstrap: docker
From: ubuntu:17.10
Hier geef ik aan dat ik mijn image wil baseren op Ubuntu 17.10. Om bijvoorbeeld Fedora te gebruiken kun je de de regel 'From : ubuntu:17.10' vervangen door 'From: fedora:23' waarmee je aangeeft dat je Fedora versie 23 wilt gebruiken als basis.

Onder de sectie %post zet je alle functies die uitgevoerd moeten worden als je de image wilt bouwen. Denk hierbij aan het installeren van pakketten. Ik gebruik Ubuntu in deze image dus installeer ik alles met apt-get:
%post
    apt-get update # update de database met te installeren pakketten van de repository
    apt-get install -y gimp # installeer gimp

In de %runscript sectie zeg je welk commando moet worden uitgevoerd als je de image runt. In dit geval wil ik hiermee gimp runnen, dus is deze sectie:
%runscript
gimp

Simpel toch?

Na het maken van die tekst file bouw je de image. Dat is niets anders dan een bestand op je harde schijf.

Een image run je met het commando singularity run <image file>
Je kunt hier natuurlijk een snelstarter voor maken voor het gemak, maar dat verschilt volgens mij per desktop omgeving. Het is echt niet moeilijker dan dat.

Het leuke is natuurlijk dat je vanalles kan installeren zonder je eigen systeem te vervuilen. Geen gezeur met auto-remove en bestanden die achterblijven.
« Laatst bewerkt op: 2017/11/20, 21:28:05 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline MKe

  • Lid
Een hoop mooie ontwikkelingen :)
Flatpak had ik al wat van gelezen, volgens mij (weet het niet zeker) is daarin ook software beschikbaar die niet standaard in de repo's te vinden is (discord?).

Singularity  ken ik nog niet, maar is het dan zo dat je oudere software kunt runnen op een nieuwere systeem? Ik kan mij namelijk nog vaag voor de geest halen dat ik een paar jaar geleden bezig ben geweest om diverse hulpprogramma's voor IceWM over te zetten. Bepaalde dingen waren geloof ik geschreven en afhankelijk van bepaalde oudere QT3 dingen, monnikenwerk noemt men dat ;) Het zou dan inderdaad handig zijn dat zoiets dan tot het verleden zou behoren.
We zouden eens moeten kijken welke Ubuntu versies er allemaal in de Docker repo zitten, misschien staat 8.04 er nog wel in :) . Maar inderdaad in theorie zou het moeten kunnen. Een ding zou roet in het eten kunnen gooien. Singularity is geen VM, dus het maakt gebruik van je kernel op je computer. Heb je een 64 bits kernel, dan heb je kans dat 32 bits software niet werkt.

edit: heb net een Singularity gebouwd met Ubuntu 10.04 erin, maar omdat de repo's niet meer bestaan lukt het niet om daar iets in te installeren.

Nog een mooi voorbeeld: Ik wil digikam gebruiken in mijn i3 omgeving, maar heb geen zin om mijn systeem te vervuilen met al die KDE meuk.:

Recept:
Bootstrap: docker
From: ubuntu:17.10

%post
    apt-get update
    apt-get install -y digikam

%runscript
    digikam
Bouwen:
sudo singularity build digikam.img Recept

Runnen: singularity run digikam.img
et voila: digikam 5.6.0
« Laatst bewerkt op: 2017/11/20, 21:55:45 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #10 Gepost op: 2017/11/20, 22:11:41 »
Hoi MKe,

Ik ga dat script voor GIMP eens proberen op mijn oude Toshiba. Als het zo simpel is wil ik dat wel eens zien.

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline midas

  • Lid
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #11 Gepost op: 2017/11/21, 09:45:11 »
Ja en Ubuntu heeft het systeem met snap-packages. De laatste Gimp-versie staat bijvoorbeeld ook in de snapstore:

https://uappexplorer.com/snaps
Linux Mint 20.2 Cinnamon

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #12 Gepost op: 2017/11/21, 10:08:52 »
Hoi Midas,

Verklaar je eens nader?

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline midas

  • Lid
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #13 Gepost op: 2017/11/21, 10:27:35 »
Zelf (nog) geen ervaring mee maar onder Ubuntu 16.04 (LTS) zou het al goed moeten werken. Je zou dan zo vanuit de terminal een 'snap' kunnen installeren:

https://www.ubuntu.com/desktop/snappy

Nu nog een beetje op experimentele basis (Ubuntu Mate 17.10 heeft bijvoorbeeld al een snap-package als proef draaien)...straks bij release Ubuntu 18.04 (LTS) moeten snap-packages officieel op de desktop moeten draaien.
Linux Mint 20.2 Cinnamon

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #14 Gepost op: 2017/11/21, 10:31:53 »
Hoi Midas,

Die snaps is wat anders natuurlijk, maar ook mooie techniek.

Straks eens dat eerste Recept van MKe proberen in mijn oude Toshiba. Gewoon om te zien wat er gebeurt. Ik ben heel benieuwd.

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline MKe

  • Lid
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #15 Gepost op: 2017/11/21, 10:37:30 »
Installatie van Singularity kun je hier vinden: http://singularity.lbl.gov/install-linux

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #16 Gepost op: 2017/11/21, 12:13:03 »
Txs!

Ha, ik vind Budgie 17.10 terug op die laptop. Nou heb ik drie oude disks voor het ding, maar ditmaal toch even Xubuntu 16.04 ergens opnieuw opzetten. Tegenwoordig wordt er hier heel wat geprobeerd.

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #17 Gepost op: 2017/11/21, 14:11:47 »
Hoi MKe,

Xubuntu staat er vers op, "Singi" ook en draaien met de selftest optie was succesvol. Maar als ik de gimp.img wil bouwen vanuit jouw eerste recept krijg ik de foutboodschap:

demo@demo-Sat-Xub1604-A100:~$ sudo singularity build gimp.img Recept
ERROR: Unknown command 'build'

Ik doe nog iets fout, maar wat dan?

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline MKe

  • Lid
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #18 Gepost op: 2017/11/21, 15:17:25 »
Welke versie van singularity heb je? Ik heb versie 2.4. Het kan zijn dat versie 2.3 niet volledig compatible is.

De versie bepaal je
$ $ singularity -v                                                                                                                                                                                                                                             
Increasing verbosity level (2)
Singularity version: 2.4-master.g718360b
USAGE: singularity [global options...] <command> [command options...] ...

GLOBAL OPTIONS:
    -d|--debug    Print debugging information
    -h|--help     Display usage summary
    -s|--silent   Only print errors
    -q|--quiet    Suppress all normal output
       --version  Show application version
    -v|--verbose  Increase verbosity +1
    -x|--sh-debug Print shell wrapper debugging information

GENERAL COMMANDS:
    help       Show additional help for a command or container                 
    selftest   Run some self tests for singularity install                     

CONTAINER USAGE COMMANDS:
    exec       Execute a command within container                               
    run        Launch a runscript within container                             
    shell      Run a Bourne shell within container                             
    test       Launch a testscript within container                             

CONTAINER MANAGEMENT COMMANDS:
    apps       List available apps within a container                           
    bootstrap  *Deprecated* use build instead                                   
    build      Build a new Singularity container                               
    check      Perform container lint checks                                   
    inspect    Display container's metadata                                     
    mount      Mount a Singularity container image                             
    pull       Pull a Singularity/Docker container to $PWD                     

COMMAND GROUPS:
    image      Container image command group                                   
    instance   Persistent instance command group                               


CONTAINER USAGE OPTIONS:
    see singularity help <command>

For any additional help or support visit the Singularity
website: http://singularity.lbl.gov/
« Laatst bewerkt op: 2017/11/21, 15:19:20 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #19 Gepost op: 2017/11/21, 15:30:49 »
Even gekeken, ja 2.3.2 Beter dan dat ik naar 2.4 upgrade. Dan kan ik je beter volgen.

Even kijken hoe ik dat doe.

Just

< vanavond verder, nu ff boodschappen doen en eten koken>
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #20 Gepost op: 2017/11/21, 19:52:04 »
That build command is inderdaad nieuw bij versie 2.4 en ik vind een tarball met de 2.4 hier: https://github.com/singularityware/singularity/releases/tag/2.4 Nou nog achterhalen hoe ik de upgrade netjes uitvoer.

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #21 Gepost op: 2017/11/21, 20:58:39 »
Het blijkt een tarball met de nieuwe broncode. Ik heb de oude versie met een apt purge verwijderd en nu de nieuwe broncode compileren:

  • ./configure loopt zonder fouten
  • make gaat ook goed
  • Nu de installatie: sudo make install Gaat ook goed!
  • singularity --version
  • 2.4-dist

Yes, het draait.  Voor de meeluisteraars, dit is een standaard compilatie. Alleen in de eerste stap (./configure) zat nog een prefix, die netjes was vermeld.

Nou het Recept van MKe weer draaien.

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #22 Gepost op: 2017/11/21, 21:29:25 »
Programmabeheer in Linux Mint 18.3 (bèta). Klik op de afbeeldingen om ze te vergroten:







Resultaat van installeren van Flatpakversie van Gimp: twee keer Gimp in het menu, namelijk de oudere versie uit de pakketbronnen en de nieuwste stabiele versie van bovenstrooms:


Beide zijn gewoon te gebruiken en "bijten" elkaar niet.
« Laatst bewerkt op: 2017/11/21, 21:51:11 door Pjotr »

Offline jvecht

  • Lid
    • Just Vecht
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #23 Gepost op: 2017/11/21, 21:42:09 »
Hoi MKe,

Nu krijg ik de foutboodschap

chroot: failed to run command '/bin/sh': Exec format error
ABORT: Aborting with RETVAL=255

Ik heb er naar gezocht en als ik het goed begrijp komt het omdat mijn oude laptop 32 bits is en de 17.10 64 bits.

Heb jij een 32 bits OS om in het Recept te zetten?

[later] Beter om dit gewoon gelijk op een 64 bits machine te doen zeker?

groet,

Just
« Laatst bewerkt op: 2017/11/21, 22:01:48 door jvecht »
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline MKe

  • Lid
Re: Tip: veilig software van andere Ubuntu versies runnen in je huidige Ubuntu
« Reactie #24 Gepost op: 2017/11/21, 22:20:53 »
Klopt, 64 bits is beter. Ik denk dat er weinig mensen zijn die nog 32 bits images maken.