Kirjoittaja Aihe: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?  (Luettu 2963 kertaa)

wicke

  • Vieras
Ongelma on siis tämä, että verkko ei toimi Ubuntussa (laitteiston ajuriongelma), mutta rinnalla olevalla Windowsilla on yhteys verkkoon ja sitä kautta voin hakea paketteja palvelimelta, mutta hakiessani paketin, en voi tietää, mitä muita paketteja kyseinen paketti vaatii. Miten voin siis selvittää Windowsin puolella paketin riippuvuudet?

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #1 : 26.01.23 - klo:13.18 »
Tämä aihe on muinainen, eikä oma kysymykseni ole täsmälleen sama, mutta kysymyksen otsikko on, joten ei keksitä uutta threadia vaan käytetään tätä vanhaa. Eli käytän 22.04 ympäristössä tiettyjä epävirallisia pakettilähteitä saadakseni ohjelmistoon haluamani laajennososan. Nyt pakettilähteet ovat rakentuneet niin, että yhtä laajennosta vaille kaiken saan ihan Ubuntun omasta pakettilähteestä. Laajennusosa jota kaipaan tulee pakettilähteestä, jossa perusohjelmistosta on aavistuksen vanhempi versio kuin Ubuntun virallisissa paketeissa. Teen asennukset pääosin Synapticilla, joka on tällaiselle maallikolle se helpoin tapa. Aiemmissa versioissa homma meni minusta niin, että Synaptic ei ollut kauhean nuuka siitä oliko asennettuna, joku väärä versioyhdistelmä ja se hyväksyi erilaisen repositoryillä kikkailun. Siis sen että käytin tilapäisesti jotain pakettilähdettä aktiivisena ja kun olin sieltä asentanut haluamani poistin sen pakettilähteen ja se väärästä repositorystä asennettu paketti jäi käyttöön.

Nyt 22.04 versiossa tuntuu sille, että kun teen tätä aiemmin toiminutta systeemiä vaihtaessani käytössä olevia repositoryjä Synaptic helposti poistaa paketin, joka ei ole yhteensopiva. Tämä sinällään on varmasti järkevää ja perusteltua, mutta mitenkäs minun pitäisi toimia jos haluan toimia sitä vasten.

Eli haluan asentaa yksittäisen paketin repositorystä ja jättää kaiken muun ennalleen. Nähdäkseni vaihtoehdot ovat

1) Muuttaa Synapticin jotenkin sallivammaksi tällaiselle kikkailulle
2) Asentaa pelkän DEB paketin jotenkin siten, että ei välitä riippuvuuksista - onnistuisiko tämä apt-getillä?
3) Kääntää paketin itse
4) joku muu temppu


Nyt olen tehnyt sen yhden laajennososan siten, että käytän yhtä epävirallista pakettilähdettä, jossa on pykälää virallisia lähteitä vanhempi versio pääohjelmasta, mutta sieltä löytyy kaikki kaipaamani paketit. Olen Synapticilla lukinnut paketin siihen vanhimpaan. Se toimii kohtuullisesti, mutta ei täysin, eli siinä on yksi häiritsevä pikku bugi ja lisäksi kaikki päivitysjärjestelmät koko ajan tarjoavat sitä uudempaa. Jos hyväksyn Synapticin tai Webminin tarjoamat päivitykset saman tien se haluamani laajennososa poistuu.

Eli pärjäilen kyllä näin, mutta ihan täydellinen tämä ei ole. Mitä vaihtoehtoja minulla on, jos tarve on saada ohjelmistoon yksi laajennososa, joka olisi pakettilähetissä tarjolla, mutta jota en osaa pelkästään asentaa hämmentämättä muita paketteja. Itse asiassa olen miettinyt, että olisiko nyt se ensimmäinen hetki kun jotain on pakko kääntää itse. Tähän saakka muiden kääntämät paketit ovat hoitaneet homman nin hyvin, ettei tarvetta ole ollut, mutta nyt aletaan olla aika lähellä.

juyli

  • Käyttäjä / moderaattori
  • Viestejä: 1200
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #2 : 26.01.23 - klo:19.35 »
...Eli käytän 22.04 ympäristössä tiettyjä epävirallisia pakettilähteitä saadakseni ohjelmistoon haluamani laajennososan. Nyt pakettilähteet ovat rakentuneet niin, että yhtä laajennosta vaille kaiken saan ihan Ubuntun omasta pakettilähteestä. Laajennusosa jota kaipaan tulee pakettilähteestä, jossa perusohjelmistosta on aavistuksen vanhempi versio kuin Ubuntun virallisissa paketeissa.
Voisit rohkeasti kertoa, mistä ohjelmasta ja lisäosasta on kysymys.
Yleisellä tasolla voi olla vaikeampaa tarjota oikeaa ratkaisua ongelmaasi.

PS. Ehkä jo vanhaan kysymykseen jatkaminen on turhaa (jos viestiin ei ole edes vastattu) - rohkeasti vain aloittamaan uusi viestiketju!

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #3 : 27.01.23 - klo:06.14 »
VDR ja sen lisäosat. Sillä ohjelman nimellä nyt tuskin on kovin suurta väliä, eli sama kuvio pätenee ihan mihin tahansa softaan, kun käytetään epävirallisia pakettilähteitä.

Eli tämän hetken kuvio pakettilähteille on se, että tämä repository on nyt käytössä ja sieltä sen sain toimimaan, mutta itse core VDR tulee sieltä aavistuksen vanhempana versiona kuin Ubuntun omat pakettilähteet:
https://ppa.launchpadcontent.net/fnu/unstable-vdr-fnu/ubuntu

Siitä johtuen joudun jatkuvaan luuppiin sen kanssa, että VDR:lle tarjotaan koko ajan päivitystä.

Näistä seuraavista se kaipaamani dvbapi laajennos olisi tarjolla, mutta niissä ei ole kaikkia muita paketteja mitä tarvitsen.

https://ppa.launchpadcontent.net/ckone/jammy-vdr/ubuntu
https://ppa.launchpadcontent.net/gandalf-der-grosse/main/ubuntu
https://ppa.launchpadcontent.net/seahawk1986-hotmail/jammy-vdr/ubuntu

Eli jos otan näitä käyttöön Ubuntu poistaa esimerkiksi selainpohjaisen hallintakäyttöliittymän tai linkityksen talouden Kodi päätteisiin, koska niitä paketteja ei ole näissä kaikissa tarjolla.

Olen tottunut noihin jo vuosikymmenen luottamaan, eli olen aina saanut noiden kavereiden ylläpitämistä pakettilähteistä haluamani laajennokset (ja samalla versiopäivityksiä), mutta nyt uudella 22.04 versiolla tämä on selvästi hankaloitunut. Eli Synaptic (tai Ubuntu itse) on tullut tarkemmaksi riippuvuuksista, versioista ja niiden ristiinmenosta. Ihannetilanne olisi jos pystyisin käyttämään Ubuntun omaa VDR paketointia ja sitten vain saisin sen dvbapi paketin, jota tarvitsen maksukortin salauksenpurkuun ihan mistä tahansa noista tai jostain muualta. Mutta se ei nyt onnistu, eli jos aktivoin noita pakettilähteitä minulla osa paketeista päivittyy ja osa häviää, enkä saa systeemiä ihan haluamakseni.
« Viimeksi muokattu: 27.01.23 - klo:10.42 kirjoittanut tikola »

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #4 : 27.01.23 - klo:14.22 »
Ehkä paras ratkaisu olisi kääntää puuttuva laajennus Ubuntun VDR-paketoinnin päälle. Sen voi tehdä paketointijärjestelmän ulkopuolella, tai voit tehdä itse deb-paketin PPA:sta saatavan lähdepaketin pohjalta.

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #5 : 27.01.23 - klo:14.25 »
Näin minäkin sitä järkeilin. Lähinnä hain tässä sitä onko tuossa paketointisysteemissä jokin muuttunut, kun aiemmin onnistunut pakettien ja lähteiden kanssa pelailu ei enää toimikkaan. Sehän on tässä tapauksessa tuo maksukortin dvbapi, joka aiheuttaa ongelman - muut paketit kyllä löytyvät ihan heittämällä.

Koskaan ei ole vielä yli kymmenvuotisen VDR käytön aikana kääntää mitään - nyt ollaan jo aika lähellä

Jos käännän riippuvuudet syntyvät niihin paketteihin mitä minulla sattuu olemaan asennettuna sillä hetkellä, jos ylipäänsä riippuvuuksia on olemassakaan?

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #6 : 27.01.23 - klo:15.29 »
Näin minäkin sitä järkeilin. Lähinnä hain tässä sitä onko tuossa paketointisysteemissä jokin muuttunut, kun aiemmin onnistunut pakettien ja lähteiden kanssa pelailu ei enää toimikkaan.

Apt on aina toiminut niin, että saman nimisen paketin uudempi versio korvaa vanhan automaattisesti. Asennetun version kiinnittäminen onnistuu parhaiten komennolla apt-mark hold. Lukitseminen Synapticilla vaikuttaa vain Synapticin toimintaan, eli Apt:n komentorivi ja muut frontendit kuten Ubuntun update-manager eivät tottele Synapticin merkintöjä. Eivätkä ole ennenkään totelleet.

Eli voit kiinnittää esimerkiksi vdr:n asennetun paketin komennolla:

Koodia: [Valitse]
sudo apt-mark hold vdr
Kiinnitys poistuu komennolla:

Koodia: [Valitse]
sudo apt-mark unhold vdr
Kiinnitettyjen pakettien listaus:

Koodia: [Valitse]
apt-mark showhold

Jos käännän riippuvuudet syntyvät niihin paketteihin mitä minulla sattuu olemaan asennettuna sillä hetkellä, jos ylipäänsä riippuvuuksia on olemassakaan?

Joo, todennäköisesti pitää kääntää uudelleen seuraavan Ubuntun version myötä, kun vdr tai mahdolliset muut riippuvuudet vaihtuvat. Yleensä rajapinnat pysyvät samoina, eli riittää ajaa aiemmin kirjoitettu ja taltioitu käännösskripti uudelleen, niin se pullauttaa tuoreen deb-paketin ulos. Jos rajapintoihin joskus tulisi muutoksia, joudut koodaushommiin tai hakemaan apua laajennoksen kehittäjältä.
« Viimeksi muokattu: 27.01.23 - klo:15.32 kirjoittanut nm »

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #7 : 27.01.23 - klo:17.38 »

Eli voit kiinnittää esimerkiksi vdr:n asennetun paketin komennolla:

Koodia: [Valitse]
sudo apt-mark hold vdr

Tuo oli muuten kova - tuota lähden kokeilemaan ensiksi

Jtkone

  • Käyttäjä
  • Viestejä: 895
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #8 : 27.01.23 - klo:18.41 »

Eli voit kiinnittää esimerkiksi vdr:n asennetun paketin komennolla:

Koodia: [Valitse]
sudo apt-mark hold vdr


Sen verran tähän väliin, että onko tuo sama kuin Synapticissa lukitse versio?

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #9 : 27.01.23 - klo:18.49 »
Sen verran tähän väliin, että onko tuo sama kuin Synapticissa lukitse versio?

Ei ole sama. Tietääkseni Synapticin lukitus vaikuttaa vain Synapticin sisällä:
https://bugs.launchpad.net/ubuntu/+source/synaptic/+bug/42178

Jtkone

  • Käyttäjä
  • Viestejä: 895
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #10 : 27.01.23 - klo:19.08 »
Kiitos nm nopeasta vastauksesta. Jotenkin mainitsemasi oli minullakin takaraivossa.

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #11 : 28.01.23 - klo:08.35 »
Mutta onko tuo haluttu toiminto vai ei - eli pitäisikö Synapticin osata tehdä sama lukitus vai ei? Eli onko tuollaisella 20 vuotta vanhalla "bugilla" toiveita tulla ikinä kuntoon?

Olettevasti jos se alkaa sopivassa paikassa sopivia ihmisiä ärsyttämään niin sitten, mutta ehkei tässä kannata hengitystä pidättää korjautumista odotellessa. Minua tuo vähän synaptic aktiivikäyttäjänä hiertää. APT on siis se käyttöjärjestelmän oma tapa hoitaa pakettien hallinta ja Synapitic on jonkinlainen käyttöliittymä sitä vasten, mutta ei sisällä kaikkia ominaisuuksia mitä APT osaa? Vai onko APT vain yksi pakettienhallintaohjelma muiden joukossa?

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #12 : 28.01.23 - klo:12.03 »
Mutta onko tuo haluttu toiminto vai ei - eli pitäisikö Synapticin osata tehdä sama lukitus vai ei? Eli onko tuollaisella 20 vuotta vanhalla "bugilla" toiveita tulla ikinä kuntoon?

Synapticin kehittäjä on halunnut pitää lukituksen erillisenä järjestelmätason lukituksesta. Ihan alun perin Synaptic määritteli lukitukset järjestelmätasolla, mutta käyttäjät rikkoivat toiminnolla jakelupäivityksiä ja syyttivät sitten Synapticia ongelmistaan. Kehittäjä päätti rajoittaa käyttäjien kannalta hankalan ominaisuuden lukituksen Synapticin sisäiseksi, jolloin muilla Apt:n käyttöliittymillä tehdyt päivitykset eivät hajoa lukitusten vuoksi. Lukitus toimii siis niin kauan kuin käyttää ainoastaan Synapticia pakettien asentamiseen ja päivittämiseen. Sinänsä toteutus olisi muutettavissa, jos Synapticin kehittäjä/ylläpitäjä niin haluaisi.


Vai onko APT vain yksi pakettienhallintaohjelma muiden joukossa?

Apt ja dpkg toimivat Debian-pohjaisten jakelujen perusrunkona, eli niiden kautta hallitaan järjestelmän ja useimpien sovellusten pakettien asennukset ja päivitykset. Synaptic ja vaikkapa Ubuntun päivityssovellus ovat vain Apt:n päälle rakennettuja käyttöliittymiä. Myös komentorivin apt ja apt-get -komennot ovat käyttöliittymiä, jotka kutsuvat Apt:n varsinaisia kirjastoja.

Nykyisin Apt:n rinnalla Ubuntussa käytetään Snap-paketteja, ja myös Flatpakin voi ottaa käyttöön. Synaptic ei tue niiden hallintaa. Muissa jakeluissa puolestaan on omat pakettienhallintajärjestelmänsä.
« Viimeksi muokattu: 28.01.23 - klo:12.17 kirjoittanut nm »

tikola

  • Käyttäjä
  • Viestejä: 205
    • Profiili
Vs: Pakettien riippuvuuksien tyydyttäminen manuaalisesti?
« Vastaus #13 : 28.01.23 - klo:12.33 »
Kiitokset hyvästä selvityksestä - Snappeihin olenkin VDR hommissa jo tutustunut, eli OSCAM suositettiin asentamaan sen kautta.