Aihe

Voiko pakettivarastosta asennetun ohjelman päälle asentaa uuden kääntämällä sorsista?

pakett

Ilman , että sotkee mitään?

21

<50

    Vastaukset

    • Juu se sorsa ei tykkää kun sitä käännellään. Jättäisin tekemättä.

    • Varmaankaan ei ole kauhea vaiva poistaa ensin asennettu ohjelma ennen esim. uudemman version asennusta. Itse tein eilen juuri noin mahdolliset ongelmat välttääkseni, kys. ohjelmasta kun ei ole automaattisesti päivittyviä uudempia versioita.

    • Kuinka se kääntäminen tehdään?

      • Tuota minäkin olen usein ihmetellyt kun kääntämisellä on aika monta erilaista merkitystä.


      • Ei näköjään tällä palstalla ainakaan kenelläkään ole aavistustakaan kääntämisestä.
        Esim. laittaa kääntäessään --prefix=/usr/local/bin tai /opt/oma_hak/bin
        auttaa oikein hyvin aloittelevaa kääntäjää?
        Turha toitottaa ohjelman poistosta: senhän osaa jokainen hiiren oikean painikkeen valikosta valitsemalla poista. oma kääntäjäversio
        Parempi kysellä aloittajien sivulta, siellä on aina joku viisaampi kääntelijä joka osaa neuvoa.


    • Oletus on /usr/local/bin... tuolta itse asennetut ohjelmat helppo poistaa. Toki voit asentaa kotikansioosi myös. Jos haluaa asentaa paketinhallinnan päälle niin siihen pitää olla hyvä syy. Paketinhallinta kirjoittaa sen yli kun päivitys tulee.

    • laittaa kääntäessään yllä esitetyn --prefix=/usr/local/bin tai /opt/oma_hak/bin varmuuden maksimoimiseksi, niin menee käännökset eri paikkaan. Tämän jälkeen voi valita, kumpaa kääntäjää haluaa käyttää ja oletuksena sen saa esim. PATH-muuttujaa säätämällä. Joskus kauan sitten täytyi tehdä näin, kun kääntäjä heitti coret, mutta käännös piti silti saada läpi ja koodit ei kuitenkaan olleet vielä kelvollisia uudelle versiolle kääntäjästä, suurelta osin. Vaikka nykyään kai suositaan oman kotihakemiston alle tehtyä bin-kansiota? Voi olla oma kääntäjäversio vaikka jokaisella käyttäjällä. Kirjastot ei yleensä pääse sekoittumaan, koska niissä on versionumerointi kuitenkin. Hyvin harvoin voi joutua tekemään myös kirjastoista erilliskäännökset, jos linkkeriä ei muuten saa uskomaan! Vaihtoehtona tietysti staattinen linkitys.

    • Kannattaa varmaan poistaa se edellinen asennus ensin, sitten asentaa sorsista uudelleen.
      Sorsista asentamalla ei tule päivityspalvelin tietoja, joten ne pitää lisätä sitten myös käsin.

    • Itse olen tehnyt näin:

      Pakettimanagerin asentama: wodim

      Itse käännetty: cdrecord (tekijä: Jörg Schilling)

      make: cmake( myös tekijä: Jörg Schilling)

      M-Karin mukaan "GNU make toimii ihan yhtä hyvin. Ei siinä ole mitään ongelmaa".

      Minä uskon tässä asiassa enemmän Jörg Schillingiä kuin M-Karia.

      Jos Jörg Schillingin mukaan paras tapa saada cdrecord -lähdekoodi käännetyksi konekieliseksi on cmake:n käyttö, niin silloin käytän cmake:a !

      cmake itse kääntyy sillä oletuksella, eli make (ilmeisesti GNU, ainakin debianin osalta ja varmaan ubuntunkin).

      Kun olen saanut käännetyksi eli lopputuloksena cdrecord (binääriohjelma eli executable).

      Seuraavaksi:

      etsi kaikki symboliset linkit, joiden nimi on cdrecord mutta jotka osoittavat wodim:iin.

      Tuhoa ko. linkit, ja kopioi niiden sijaintipaikkaan joko aito cdrecord tai tee linkki aitoon cdrecord:iin.

      Lopuksi:
      tuhoa wodim, ja tee wodim -niminen linkki cdrecordiin.

      Aikamoinen rävellys?

      Ehkä, mutta näin toimimalla estät esim. k3b:n rikkoutumisen kun se käyttää taustalla joko cdrecordia tai wodimia.

      Erona se, että wodim EI OSAA kirjoittaa oikein DVD-R -levyä (vaikka luuleekin osaavansa).

      Jos siis kirjoitat DVD-R -levyn wodimilla, kirjoitus menee aina pieleen !

      Mutta jos kirjoitat cdrecordilla ja laatumerkkiä olevalle tyhjälle levylle, tulos on poikkeuksetta onnistunut DVD -levy.

      Jos olisit pakettimanagerilla poistanut tuon wodimin, niin moni sitä käyttävä ohjelma rikkoutuisi, kun eivät osaisi löytää väärän nimistä ja/tai väärässä hakemistossa olevaa cdrecordia.

      Esittämälläni tavalla homma oikeasti toimii.

      Tai, no, toimi, kunnes joku urpo linux kernel -kehittäjä muokkasi kerneliä tavalla, joka rikkoi jopa aidon cdrecordin toimivuuden !

      Surullinen fakta: jos haluat kirjoittaa CD-R, tai varsinkin DVD-R -levylle, niin luotettavin tapa tehdä se on käyttää windowsia.

      hieman vanhemmilla linux -jakeluilla esittämäni tapa toimi linuxissakin oikein hyvin.

      Mutta uusimpien kernel -muutosten jälkeen sekään ei välttämättä enää toimi.

      Hyvä kysymys: kenen etujen mukaista on tehdä linux kerneliin käyttäjälle vahingollisia muutoksia ?

      • Miksi käyttää cdrecord:ia, kun tuki levyformaatille löytyy nyt suoraan kernelistä? vaikka dd:llä kopioit imagen siis nyt onnistuneesti, mikäli oikein ymmärrän.


      • Kyllä mulla on onnistunut DVD-R levyjen, samoin kuin DVD+R levyjen kirjoitus K3b:llä joka käyttää wodimia cdrecordin sijaan. Jos jotain menny joskus pieleen niin se on ollu "jakkaraongelma".


      • En ole aikoihin levyjä poltellut. K3b on kyllä yksi parhaita poltto-ohjelmia. cdrecord osaa polttaa levyn ilman K3b:tä. cdrdao vaihtoehto. cdrecord-ohjelmassa tunnettu tietoturvaongelma ja siksi ei käytössä nykyisissä jakeluissa. k3b toimi aikoinaan jo KDE 3 versiossa hyvin.

        Cdrecord käyttää SCSI levykomentoja. Ne täytyy kääntää kerneliin ja myös emulointi cd/dvd asemalle vaikka olisi ide liitännässä. Muistaakseni vielä kernelin lähdepuussa ja jos käännetty niin saa modpropella muistiin. SCSI laitteita en ole aikoihin kääntänyt ja Cdrecord pitäisi olla jo turha.


      • Mikko_Tku kirjoitti:

        En ole aikoihin levyjä poltellut. K3b on kyllä yksi parhaita poltto-ohjelmia. cdrecord osaa polttaa levyn ilman K3b:tä. cdrdao vaihtoehto. cdrecord-ohjelmassa tunnettu tietoturvaongelma ja siksi ei käytössä nykyisissä jakeluissa. k3b toimi aikoinaan jo KDE 3 versiossa hyvin.

        Cdrecord käyttää SCSI levykomentoja. Ne täytyy kääntää kerneliin ja myös emulointi cd/dvd asemalle vaikka olisi ide liitännässä. Muistaakseni vielä kernelin lähdepuussa ja jos käännetty niin saa modpropella muistiin. SCSI laitteita en ole aikoihin kääntänyt ja Cdrecord pitäisi olla jo turha.

        Mikko_Tku:

        muiden kommentoijien mukaan "tuki levyformaatille löytyy nyt suoraan kernelistä".

        Jos noin, on, niin miten:

        a) komentoriviltä

        b) k3b -ohjelmasta

        kirjoitetaan

        1) CD-R -levy

        2) DVD-R -levy

        hyödyntäen suoraan kernelin tukemaa optisen levyn käsittelyä ?

        Itse en näihin kysymyksiin vastausta tiedä.

        Se, mitä toedän, on se, että wodim ei ole koskaan osannut kirjoittaa DVD-R -levyä oikein, vaikka ohjelma itse luuleekin tuon osaavansa,

        Jos wodimilla yrittää kirjoittaa DVD-R -levyä, tuloksena on joka kerta pilalle mennyt levy.

        aidolla cdrecordilla en ole koskaan epäonnistunut optisen levyn kirjoittamisessa, uusimpia jakeluja lukuunottamatta.

        uusimmissa linux -jakeluissa on muutettu jotain sellaista, joka rikkoo cdrecordin toimivuuden. (Asian yksityiskohdat eivät ole tiedossani)

        Eli uusimmissa linux -jakeluissa ei toimi ollenkaan cdrecord, ja wodimilla ehkä saa CD-R levyn kirjoitettua, mutta yritys kirjoittaa DVD-R -levy tuottaa pilalle menneen levyn.

        Mistään suorasta kernel -tuesta en tiedä muuta kuin että sellaisen joku tässä keskustelussa on maininnut.

        Tuo koko wodim vs. cdrecord -ongelma kertoo surullisen tosiasian linuxista ja sen kehittämisestä:

        ennen uusimpia kernel -muutoksia cdrecord toimi oikein hyvin, mutta jakelujen tekijöille cdrecord ei kelvannut, kun sen lisenssi on muu kuin GPL. Tämä muu lisenssi myös sallii sen jakamisen linux -jakelun mukana.

        wodim on lisenssiltään GPL, ja vain lisenssin takia linux -jakeluiden tekijät rakastavat wodimia siitä huolimatta, että wodimilla ei pysty tekemään DVD-R -levyä, vaan ohjelma pilaa levyn joka kerta.

        Sopii kysyä, miksi GPL -lisenssifanatismi on aina ollut linux -jakeluiden tekijöille tärkeämpi asia kuin se, että ohjelmat toimisivat oikein.

        käsittääkseni k3b on tehty niin, että se kirjoittaa levyn ensisijaisesti cdrecordilla, jos sellainen on asennettu, muussa tapauksessa wodmilla.

        Mitään suoraa kernel -tukea k3b ei osaa käyttää.

        Eli jos tuollainen suora kernel -tuki on oikeasti olemassa (eikä ollut jonkun trollaajan oma valhe), niin siitä ei k3b:ssä hyödy mitään, vaan sitten pitäisi osata oikea komentoriviltä toimiva komento.

        Mikko_Tku:

        jos tiedät, onko tuollainen suora kernel -tuki on oikeasti olemassa, niin jos on, laitapa tähän esimerkki, miten kirjoitat vaikkapa omalevykuva.iso -tiedoston DVD-R -levylle samoin kuin jos se tehtäisiin cdrecord -ohjelmalla !


      • Anonyymi kirjoitti:

        Mikko_Tku:

        muiden kommentoijien mukaan "tuki levyformaatille löytyy nyt suoraan kernelistä".

        Jos noin, on, niin miten:

        a) komentoriviltä

        b) k3b -ohjelmasta

        kirjoitetaan

        1) CD-R -levy

        2) DVD-R -levy

        hyödyntäen suoraan kernelin tukemaa optisen levyn käsittelyä ?

        Itse en näihin kysymyksiin vastausta tiedä.

        Se, mitä toedän, on se, että wodim ei ole koskaan osannut kirjoittaa DVD-R -levyä oikein, vaikka ohjelma itse luuleekin tuon osaavansa,

        Jos wodimilla yrittää kirjoittaa DVD-R -levyä, tuloksena on joka kerta pilalle mennyt levy.

        aidolla cdrecordilla en ole koskaan epäonnistunut optisen levyn kirjoittamisessa, uusimpia jakeluja lukuunottamatta.

        uusimmissa linux -jakeluissa on muutettu jotain sellaista, joka rikkoo cdrecordin toimivuuden. (Asian yksityiskohdat eivät ole tiedossani)

        Eli uusimmissa linux -jakeluissa ei toimi ollenkaan cdrecord, ja wodimilla ehkä saa CD-R levyn kirjoitettua, mutta yritys kirjoittaa DVD-R -levy tuottaa pilalle menneen levyn.

        Mistään suorasta kernel -tuesta en tiedä muuta kuin että sellaisen joku tässä keskustelussa on maininnut.

        Tuo koko wodim vs. cdrecord -ongelma kertoo surullisen tosiasian linuxista ja sen kehittämisestä:

        ennen uusimpia kernel -muutoksia cdrecord toimi oikein hyvin, mutta jakelujen tekijöille cdrecord ei kelvannut, kun sen lisenssi on muu kuin GPL. Tämä muu lisenssi myös sallii sen jakamisen linux -jakelun mukana.

        wodim on lisenssiltään GPL, ja vain lisenssin takia linux -jakeluiden tekijät rakastavat wodimia siitä huolimatta, että wodimilla ei pysty tekemään DVD-R -levyä, vaan ohjelma pilaa levyn joka kerta.

        Sopii kysyä, miksi GPL -lisenssifanatismi on aina ollut linux -jakeluiden tekijöille tärkeämpi asia kuin se, että ohjelmat toimisivat oikein.

        käsittääkseni k3b on tehty niin, että se kirjoittaa levyn ensisijaisesti cdrecordilla, jos sellainen on asennettu, muussa tapauksessa wodmilla.

        Mitään suoraa kernel -tukea k3b ei osaa käyttää.

        Eli jos tuollainen suora kernel -tuki on oikeasti olemassa (eikä ollut jonkun trollaajan oma valhe), niin siitä ei k3b:ssä hyödy mitään, vaan sitten pitäisi osata oikea komentoriviltä toimiva komento.

        Mikko_Tku:

        jos tiedät, onko tuollainen suora kernel -tuki on oikeasti olemassa, niin jos on, laitapa tähän esimerkki, miten kirjoitat vaikkapa omalevykuva.iso -tiedoston DVD-R -levylle samoin kuin jos se tehtäisiin cdrecord -ohjelmalla !

        Ihan turhaan trollaat, cdrecordia ei ole kehitetty enää ikuisuuteen joten cdrecordin kehityksen loppumisen takia se todennäkösesti on distroista tiputettu eikä sen lisenssin takia. Sitäpaitsi esimerkiksi Debianissa on non-free repository juuri sitä varten, että sen kautta voidaan jaella suljettuun koodiin perustuvia ohjelmia, jotka on kuitenkin vapaasti käytettäviä. Eli esimerkiksi Debianissa main repositoryssä on vain avointa softaa, mutta se ei tarkota sitä että esimerkiksi suljettuun koodiin perustuvat ajurit ei olisi saatavilla Debianin omista repositoryistä. Suljettuun koodiin perustuvat ohjelmat vain on non-free -repositoryssä ja ne ohjelmapaketit, jotka on itse avoimeen koodiin perustuvia mutta vaativat toimiakseen non-free paketteja ovat contrib -repositoryssä. En tiedä miten asia on järjestetty muissa distroissa, mutta Debianissa se on noin. Eli sun GPL -trollauksesi on täysin aiheetonta. Yleensä ohjelmapaketteja tiputetaan distroista etenkin sen takia, että ne on vanhentuneita ja niiden ohjelmien kehitys on loppunut. Tai sitten sen takia, esimerkiksi sen takia, että poistettava paketti aiheuttaa yhteensopivuusongelmia, mikä sekin on usein seurausta siitä ettei poistettavaa ohjelmaa enää kehitetä.


    • Voi.
      Tai poista ensin pakettivaraston ohjelma ja conffit sun muut Kotikansiosta, niin ei uusi toimi vanhoilla asetuksilla.

      • Itse olen huomannut, kun pitänyt välillä kääntää sorsista uudempaa pakettia mm. jonkun koodekin puuttumisen takia, että kannattaa tehdä omaan kotihakemistoon asennuskansiot, joihin asentaa omat ohjelmansa, voi olla ihan /home/xxx/bin, esimerkiksi. Konfiguroinnit se hakee edelleen /etc:stä, joten tarkkana pitää kyllä olla.
        Nyt voi sitten säätää PATH-muuttujan alkuun em. kotihakemsiton bin-hakemiston, niin järjestelmä löytää omat asennukset ensin. Ja jos niitä ei halua käyttä, riitää kirjoittaa /usr/bin/ohjelma, niin käynnistyy pakettienhallinnan versio. Eli .bashrc tiedostoon muokkaa "export PATH=" riviä. Polut erotetaan kaksoispisteellä:
        export PATH=/home/xxx/bin:/usr/bin:$PATH
        Pakettihallinta pitää kirjaa asemtamistaan paketeista. Se ei siis tiedä mitään siitä, mitä olet paketeillasi tehnyt - voit vaikka poistaa ne käsipelillä. Tällöin tietysti paketinhallinnan mielestä ohjelma on yhä asennettuna, jolloin sitä koskevat rajoitteet edelleen pätevät, mm. se, mitä kirjastoja pitää olla asennettuna jotta ohjelma toimii. Tästä saa erittäin kimurantteja riippuvuus-ongelmia aikaiseksi ja lopulta pakettienhallinnan saa kyllä sekoitettua, joten suosittelen kanssa siinä vaiheessa, kun asentaa "yleiseen käyttöön" ohjelman, eikä vaan kotihakemistoon, että poistaisi sen pakettihallinnan version.. toisaalta myös se voi olla virhe, koska ohjelmasi on asennettuna, mutta pakettihallinnan mielestä ei ja jos kirjastoa jota ohjelma tarvitsee, ei enää käytä kukaan, se voi poistaa tämän jolloin itse asentamasi versio lakkaa toimimasta. Oman ohjelman riippuvuudet täytyy siis myös tietää melko tarkasti. Onneksi niitä voi vähän haarukoida ldd-komennolla. Se ei kerro mistä paketista riippuvuus tulee, vaan kirjaston tarkkuudella täsmällisine versioineen. "Apt autoremove" on siis siivousintoineen melko turhauttava komento, jos nyt ymmärrät jo, mitä tarkoitan!


      • Anonyymi kirjoitti:

        Itse olen huomannut, kun pitänyt välillä kääntää sorsista uudempaa pakettia mm. jonkun koodekin puuttumisen takia, että kannattaa tehdä omaan kotihakemistoon asennuskansiot, joihin asentaa omat ohjelmansa, voi olla ihan /home/xxx/bin, esimerkiksi. Konfiguroinnit se hakee edelleen /etc:stä, joten tarkkana pitää kyllä olla.
        Nyt voi sitten säätää PATH-muuttujan alkuun em. kotihakemsiton bin-hakemiston, niin järjestelmä löytää omat asennukset ensin. Ja jos niitä ei halua käyttä, riitää kirjoittaa /usr/bin/ohjelma, niin käynnistyy pakettienhallinnan versio. Eli .bashrc tiedostoon muokkaa "export PATH=" riviä. Polut erotetaan kaksoispisteellä:
        export PATH=/home/xxx/bin:/usr/bin:$PATH
        Pakettihallinta pitää kirjaa asemtamistaan paketeista. Se ei siis tiedä mitään siitä, mitä olet paketeillasi tehnyt - voit vaikka poistaa ne käsipelillä. Tällöin tietysti paketinhallinnan mielestä ohjelma on yhä asennettuna, jolloin sitä koskevat rajoitteet edelleen pätevät, mm. se, mitä kirjastoja pitää olla asennettuna jotta ohjelma toimii. Tästä saa erittäin kimurantteja riippuvuus-ongelmia aikaiseksi ja lopulta pakettienhallinnan saa kyllä sekoitettua, joten suosittelen kanssa siinä vaiheessa, kun asentaa "yleiseen käyttöön" ohjelman, eikä vaan kotihakemistoon, että poistaisi sen pakettihallinnan version.. toisaalta myös se voi olla virhe, koska ohjelmasi on asennettuna, mutta pakettihallinnan mielestä ei ja jos kirjastoa jota ohjelma tarvitsee, ei enää käytä kukaan, se voi poistaa tämän jolloin itse asentamasi versio lakkaa toimimasta. Oman ohjelman riippuvuudet täytyy siis myös tietää melko tarkasti. Onneksi niitä voi vähän haarukoida ldd-komennolla. Se ei kerro mistä paketista riippuvuus tulee, vaan kirjaston tarkkuudella täsmällisine versioineen. "Apt autoremove" on siis siivousintoineen melko turhauttava komento, jos nyt ymmärrät jo, mitä tarkoitan!

        Onkohan tässä jokin kömmähdys;

        Eli .bashrc tiedostoon muokkaa "export PATH=" riviä. Polut erotetaan kaksoispisteellä:
        export PATH=/home/xxx/bin:/usr/bin:$PATH

        Minkä vuoksi ( .bashrc ) tiedoston polkumääritystä pitää muuttaa ( export ) komentoa käyttäen.


      • Anonyymi kirjoitti:

        Onkohan tässä jokin kömmähdys;

        Eli .bashrc tiedostoon muokkaa "export PATH=" riviä. Polut erotetaan kaksoispisteellä:
        export PATH=/home/xxx/bin:/usr/bin:$PATH

        Minkä vuoksi ( .bashrc ) tiedoston polkumääritystä pitää muuttaa ( export ) komentoa käyttäen.

        Jotta siitä saa ympäristömuuttujan:
        $ export | grep HOO
        $ HOO=1
        $ echo   $HOO
        1
        $ export | grep HAA
        $ export HAA=1
        $ export | grep HOO
        $ echo $HAA

        Perustava ero. ensimmäinen HOO=1 tekee bash-muuttujan HOO. Jälkimmäinen export tekee ympäristömuuttujan. Ero on näkyvyysalueissa, eli voit kännistää ohjelman antamalla parametriksi $HOO:n, mutta ohjelma ei sitä näe ilman tätä, koska sen skoopissa ei ole kuin ympäristömuuttujat. sen sijaan $HAA näkyy vaikka sitä ei olisi annettukaan parametrina.


    • Testitarkoituksissa joskus asentelin pakettivarastosta summanmutikassa ohjelmia koneelle niin paljon kun mahtui. Kovalevyn täytyttyä aloin poisteleen asennuksia yksi kerrallaan.
      Kaikki sujui ongelmitta ja kone on edelleen teräkunnossa.

    • Ei ohjelma itsessään sotke mitään, olkoot versio mikä tahansa, mutta ohjelman riippudet voivat sen tehdä. Ohjelman kun päivität, niin se voi päivittää riippuvuuksiakin, ja ne paketit on yleisesti jaettuna eri ohjelmien kesken.
      Snap on eri homma, siinä tulee mukana kaikki tarvittava, eli ohjelmakoodi ja kaikki sen tarvitsemat riippuvuudet, koodia nuokin, pikku paketissa.

      • Snap on vihoviimeinen rilluke, sotkee konetta jatkuvasti niin kauan kun sen antaa olla. Snapohjelmien poistamisen jälkeen ongelmatkin hävisivät. En ntiedä onko yleinenkin vika mutta ainakin minulla poisto selkiinnytti koneen toimintaa.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Maisa tahtoo Mikon kanssa yhteisen lapsen

      On kuitenkin kiire sillä sairaus voi paheta ja se kaataisi vauvahaaveet: "Lentoemäntänä työskentelevä mediapersoona Maisa Torppa, 29, kertoo tuoreess
      Kotimaiset julkkisjuorut
      118
      10045
    2. Maisuliini vongannut vieraalta mieheltä

      Käsi pystyyn kenelle tuli yllärinä: https://www.seiska.fi/Uutiset/Maisa-Torppa-taas-suhdeskandaalissa-Yritti-iskea-kaasonsa-miehen-ystavat-hylkasivat
      Kotimaiset julkkisjuorut
      285
      5196
    3. Turun seudulla löydetty ensimmäiset uudelleen koronaan sairastuneet

      Taitaa rokotukset mennä hukkaan, kun ei tulekaan immuniteettiä. https://www.iltalehti.fi/koronavirus/a/5039e73d-b54b-4edd-a962-a3c841d846d7
      Maailman menoa
      94
      3214
    4. Jättiselvitys: He saivat 100 000 euroa Business Finland tukea

      Jättiselvitys Business Finlandin koronatuista: he saivat 100 000 euroa, yli tuhat peruutti hakemuksensa https://www.is.fi/taloussanomat/art-2000007660
      Maailman menoa
      67
      3140
    5. Onkobmaisasta rikostutkinta päällä?

      Vauva palstalla oli lähipiirin viestit julkaistu mitä siellä täydellisessä pikku perheessä todellisuudessa tapahtuu... Aivan järkyttävää tekstiä jos p
      Kotimaiset julkkisjuorut
      154
      1485