Toon posts:

Hoe apps te herconfigureren na Linux clean install

Pagina: 1
Acties:

Vraag


  • DeerDitch
  • Registratie: Mei 2010
  • Laatst online: 27-01 12:18
Hoi,

Ik heb mijn Home directory op een aparte SSD staan, die ik met fstab mount aan /home/huib. Ik heb Linux vandaag opnieuw geïnstalleerd nadat ik problemen had met amdgpu software.

Volgens mij is het niet nodig om al mijn apps opnieuw te installeren (die staan namelijk op de aparte SSD en zijn dus niet verwijderd tijdens de Linux installatie). Maar ik moet wel een soort van reconfig doen, want als ik nu bijvoorbeeld in Start zoek naar Steam, dan wordt de Steam applicatie niet gevonden. Ook met
code:
1
dpkg -l | grep steam
wordt er niets gevonden.

Ik kan Steam echter wel starten vanuit de terminal: ~/.local/share/Steam/steam.sh

Is er een command line om alles in ~/.local/share/ te herconfigureren ook al zijn die apps nog niet met dpkg geïnstalleerd?

OS: Kubuntu 22.04.1 LTS x86_64
Kernel: 5.15.0-56-generic

Bedankt alvast!
Huib

f251a3362191f14872ff368789dd3c1a220782a1c582fbb31fec609763dd2cef

Beste antwoord (via DeerDitch op 03-01-2023 22:24)


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

Alles wat in je menu terecht komt, komt van /usr/share/applications en ~/.local/share/applications. Als je software eerst als .deb hebt geïnstalleerd, dan stonden de .desktop bestanden daarvan in /usr/share/applications. En aangezien je die niet meer hebt... ;)

Commandline FTW | Tweakt met mate

Alle reacties


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

Ik neem aan dat je de /home partitie niet op /home/huib hebt laten koppelen, want dat is wat raar. ;)

En wat bedoel je er mee dat je software op een andere schijf hebt geïnstalleerd? Bij Linux installeer je veelal software uit de repositories of als het daar niet te vinden is via .deb die de maker aanbiedt. Het is iig niet gebruikelijk om zoals bij Windows maar wat zut in een random locatie uit te pakken.

Iets als Steam vereist ook 32 bit libraries, dus als je een plain Ubuntu hebt geïnstalleerd zonder specifiek de vereiste 32 bit onderdelen die Steam nodig heeft, zal het niet gaan werken. Het is daarom helemaal niet erg om het package van Steam te installeren. Het meeste staat toch al in je home map en die heb je al gescheiden van het OS, zoals je zelf al aangeeft.

Voor al het andere, hoe wil je dat het OS iets weet van software dat niet geïnstalleerd is?

Commandline FTW | Tweakt met mate


  • DeerDitch
  • Registratie: Mei 2010
  • Laatst online: 27-01 12:18
Nee uiteraard niet. Maar ik heb een aparte ssd met een map 'huib' erop. Die koppel ik aan /home en zo heb ik dan altijd mijn documenten en apps op 1 plaats

Het zou dan mooi zijn als dpkg of een andere tool mijn ~/.local/share map kan scannen om te zien wat daar in staat en dat dan opnieuw te configureren.

Qua apps heeft het nu weinig nut zo'n aparte ssd.

f251a3362191f14872ff368789dd3c1a220782a1c582fbb31fec609763dd2cef


Acties:
  • Beste antwoord
  • +1Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

Alles wat in je menu terecht komt, komt van /usr/share/applications en ~/.local/share/applications. Als je software eerst als .deb hebt geïnstalleerd, dan stonden de .desktop bestanden daarvan in /usr/share/applications. En aangezien je die niet meer hebt... ;)

Commandline FTW | Tweakt met mate


  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 09:09

aawe mwan

Wat ook leuk is:

Misschien kan je nog wat terughalen door in je commandline history te kijken: als je de historie groot genoeg hebt ingesteld (oneindig lang is mogelijk), dan kan je daar alle sudo apt-get install commando's terugvinden.

Ik heb meerdere manieren gevonden om te achterhalen welke applicaties je geïnstalleerd hebt, maar die halen hun informatie bijna allemaal ergens anders vandaan dan uit je $HOME directory.

老厮是麂


  • DeerDitch
  • Registratie: Mei 2010
  • Laatst online: 27-01 12:18
Ik las op StackOverflow volgens mij een manier waarbij ze voor herinstall een lijst met geïnstalleerde apps maakten via dpkg.
Dat zou voor de volgende keer een goede manier zijn.

f251a3362191f14872ff368789dd3c1a220782a1c582fbb31fec609763dd2cef


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

Jep, toen ik m'n laptop van het werk ging herinstalleren zodat ik niet meer in een VM hoefde te werken, gebruikte ik het volgende:
aptitude search '~i!~M' | awk '{print $2}'
aptitude search '~i~M' | awk '{print $3}'

Hiermee kreeg ik twee lijstjes, packages die ik 'handmatig' heb geïnstalleerd en packages die als automatisch gemarkeerd staan, zoals dependencies. Maar simpelweg 'dpkg -l' doet het ook.

Commandline FTW | Tweakt met mate


  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 09:09

aawe mwan

Wat ook leuk is:

Misschien voldoet het bestand /var/lib/dpkg/status

En ook dit geeft een lijst van alle handmatig geïnstalleerde packages:
apt-mark showmanual

Ik zou bijna willen zeggen: het is tegenwoordig niet meer zo ingewikkeld als een paar jaar geleden, toen je nog op StackOverflow moest vragen hoe je dit doet (en dan alleen halve antwoorden kreeg).

[Voor 36% gewijzigd door aawe mwan op 04-01-2023 21:24]

老厮是麂


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

Dat bestand backuppen kan ook, maar het bevat veel meer dan alleen de package naam. De dependencies, omschrijving en andere metadata staat er ook in. Puur een lijst van installed, zonder extra rariteiten, krijg je ook met dit (hoewel, beetje rariteit misschien :P ):
dpkg -l | grep -e '^ii' | awk '{print $2}'

Commandline FTW | Tweakt met mate


  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 07:47

DaFeliX

Tnet Devver
Hero of Time schreef op woensdag 4 januari 2023 @ 22:22:
Dat bestand backuppen kan ook, maar het bevat veel meer dan alleen de package naam. De dependencies, omschrijving en andere metadata staat er ook in. Puur een lijst van installed, zonder extra rariteiten, krijg je ook met dit (hoewel, beetje rariteit misschien :P ):
dpkg -l | grep -e '^ii' | awk '{print $2}'
apt-mark showmanual


O-)

Einstein: Mijn vrouw begrijpt me niet


  • Merethil
  • Registratie: December 2008
  • Laatst online: 09:31
Dit dus?
aawe mwan schreef op woensdag 4 januari 2023 @ 21:22:

En ook dit geeft een lijst van alle handmatig geïnstalleerde packages:
apt-mark showmanual

  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 07:47

DaFeliX

Tnet Devver
euh, ja inderdaad :$

Ik zat teveel te letten op 't feit dat ie het er over had om /var/lib/dpkg/status te backuppen en had helemaal over de volgende paragraaf heengelezen.

Einstein: Mijn vrouw begrijpt me niet


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

showmanual - Print the list of manually installed packages
Dat is dus geen volledige lijst van wat er geïnstalleerd is wat je met mijn commando wel krijgt. Sommige packages kunnen als auto gemarkeerd zijn, maar door recommend zijn geïnstalleerd, wat je dan niet meer krijgt als je '--no-install-recommends' gebruikt (en iets wat ik altijd doe, smijt gelijk die optie in aptitude uit om recommend als depend te behandelen).

En zoals hierboven genoemd, al eerder aangegeven in dit topic.

Commandline FTW | Tweakt met mate


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:22

CAPSLOCK2000

zie teletekst pagina 888

DeerDitch schreef op dinsdag 3 januari 2023 @ 16:52:
Ik heb mijn Home directory op een aparte SSD staan, die ik met fstab mount aan /home/huib. Ik heb Linux vandaag opnieuw geïnstalleerd nadat ik problemen had met amdgpu software.

Volgens mij is het niet nodig om al mijn apps opnieuw te installeren (die staan namelijk op de aparte SSD en zijn dus niet verwijderd tijdens de Linux installatie).
Nee, dat klopt niet. Applicaties staan niet in je homedirectory, daar staan alleen jouw persoonlijke configuraties. Ik snap wel waarom je dat denkt want er is één uitzondering... Steam. Steam zet zichzelf en applicaties die via Steam installeert wél in je homedirectory.

Maar dat is dus de grote uitzondering. Steam gedraagt zich grotendeels als Windows-applicatie en doet daarom wat dingen afwijkend van normale Linux software.
Maar ik moet wel een soort van reconfig doen, want als ik nu bijvoorbeeld in Start zoek naar Steam, dan wordt de Steam applicatie niet gevonden. Ook met
code:
1
dpkg -l | grep steam
wordt er niets gevonden.
Je zal het Steam package van Ubuntu moeten herinstalleren.
Ik kan Steam echter wel starten vanuit de terminal: ~/.local/share/Steam/steam.sh
Handig, maar wel misleidend.
Is er een command line om alles in ~/.local/share/ te herconfigureren ook al zijn die apps nog niet met dpkg geïnstalleerd?
Nee, zeker niks kant-en-klaars. Misschien zou je iets kunnen knutselen dat op grond van de namen van die files en directories een gok doet naar welk package er geinstalleerd moet worden. Ik denk dat zo'n gok vaak verkeerd uitpakt en je systeem een enorme puinhoop zou worden.
Dit is zo'n punt waar ik denk "als je het moet vragen kun je er beter niet aan beginnen".

Dat gezegd hebbende, ik hou niet van zeggen dat iets te moeilijk is en je het niet eens moet proberen. Ik denk namelijk dat het wel mogelijk is om in ieder geval een heel eind te komen én dat het een leuke en leerzame excercitie is. Maar daar moet je wel zin in hebben want er is redelijke kans dat je het zo'n puinhoop wordt waardoor je nog een keer moet herinstalleren.

This post is warranted for the full amount you paid me for it.


  • Shivs
  • Registratie: Januari 2010
  • Niet online
Je hebt er nu niets meer aan, maar wat je kan doen is een klein scriptje maken dat alles doet op je systeem na een herconfiguratie. In dat script installeer je alle programma's en daarna zet je je home dir terug, dan heb je alles klaar.

Ik doe dit zelf in Ansible, maar Bash, Python of wat dan ook werkt natuurlijk ook.

  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 09:09

aawe mwan

Wat ook leuk is:

CAPSLOCK2000 schreef op vrijdag 6 januari 2023 @ 10:35:
[...]
Misschien zou je iets kunnen knutselen dat op grond van de namen van die files en directories een gok doet naar welk package er geinstalleerd moet worden.
Daarvoor kan je apt-file gebruiken:
apt-file find /usr/share/fonts/truetype/noto/NotoSerifTamilSlanted-SemiCondensedMedium.ttf

Het getoonde resultaat is:
fonts-noto-extra: /usr/share/fonts/truetype/noto/NotoSerifTamilSlanted-SemiCondensedMedium.ttf

dus in dit geval is fonts-noto-extra het gezochte package bij het gegeven bestand.

Als je dit doet met alles in ~/.local/share/applications, dan ben je er?

老厮是麂


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:14

Hero of Time

Moderator LNX

There is only one Legend

aawe mwan schreef op vrijdag 6 januari 2023 @ 21:18:
[...]

Daarvoor kan je apt-file gebruiken:
apt-file find /usr/share/fonts/truetype/noto/NotoSerifTamilSlanted-SemiCondensedMedium.ttf

Het getoonde resultaat is:
fonts-noto-extra: /usr/share/fonts/truetype/noto/NotoSerifTamilSlanted-SemiCondensedMedium.ttf

dus in dit geval is fonts-noto-extra het gezochte package bij het gegeven bestand.

Als je dit doet met alles in ~/.local/share/applications, dan ben je er?
Nee, want apt-file heeft alleen weet wat er in de packages zit die je via een repositorie installeert en waarbij er een file list beschikbaar is. Dat is bij third party repo's niet altijd het geval. En omdat zut in $HOME/.local niet in een systeem package zit, want jij hebt /home/jaawe als home map, ik heb een hele andere en TS weer anders, zal je nooit antwoord krijgen waar $HOME/.local/share/whatever/je/zoekt in staat. ;)

Commandline FTW | Tweakt met mate


  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 09:09

aawe mwan

Wat ook leuk is:

Hij zoekt zo te zien niet naar je lokale bestand, maar kan op een deel van de padnaam matchen:

$ apt-file find applications/thunderbird.desktop
thunderbird: /usr/share/applications/thunderbird.desktop


(Dit op een Chromebook waar Thunderbird niet op geïnstalleerd is en waar ~/.local/share/applications nog niet bestaat.) Geen gegarandeerd succes, maar misschien helpt het @DeerDitch met zoeken.

[Voor 9% gewijzigd door aawe mwan op 06-01-2023 21:47]

老厮是麂

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee