Ero sivun ”Pkgsrc” versioiden välillä

Siirry navigaatioon Siirry hakuun
Suuri muokkaus. Päivitettu ja täydennetty artikkelia. Lisätty linkkejä toisiin artikkeleihin. Kerrottu muista tavoista pkgsrc-puun noutamiseen. Kerrottu pakettien päivittämisestä.
Rivi 1: Rivi 1:
{{pienaakkonen}}
{{pienaakkonen}}
'''pkgsrc''' on [[NetBSD]]-projektin pakettienhallintajärjestelmä, joka muistuttaa paljon muista BSD-käyttöjärjestelmistä tuttuja ports-kokoelmia. Erona ports-kokoelmiin on kuitenkin yhteensopivuus useampien UNIX:in tapaisten käyttöjärjestelmien, kuten Linuxin, kanssa. Tuki Linuxille lisättiin vuonna 1999.
'''pkgsrc''' on [[NetBSD]]-projektin [[paketinhallintajärjestelmä]], joka muistuttaa paljon muista BSD-käyttöjärjestelmistä tuttuja ports-kokoelmia. Erona ports-kokoelmiin on kuitenkin yhteensopivuus useampien UNIX:in tapaisten käyttöjärjestelmien, kuten Linuxin, kanssa. Tuki Linuxille lisättiin vuonna 1999.


pkgsrc on erityisen kätevä Linuxilla käytettäessä silloin, kun halutaan asentaa ohjelmistoja omaan kotihakemistoon, eli tyypillisesti sellaisissa tilanteissa, joissa ei ole pääkäyttäjän oikeuksia kohdejärjestelmään.
pkgsrc on erityisen kätevä Linuxilla käytettäessä silloin, kun halutaan asentaa ohjelmistoja omaan kotihakemistoon, eli tyypillisesti sellaisissa tilanteissa, joissa ei ole pääkäyttäjän oikeuksia kohdejärjestelmään.


== Asennus kotihakemistoon ==
== Asennus kotihakemistoon ==
Asennus tapahtuu kloonaamalla pkgsrc-puu omalle koneelle NetBSD:n versionhallinnasta ja kääntämällä tarvittavat ohjelmat lähdekoodista.
Asennus tapahtuu kloonaamalla pkgsrc-puu omalle koneelle NetBSD:n versionhallinnasta ja kääntämällä tarvittavat ohjelmat lähdekoodista. Pkgsrc-puu voidaan myös noutaa pakattuna [[Tarball|tervapallona]] HTTP:n kautta. Myös [[git]]-versionhallintaa voidaan käyttää, sillä pkgsrc-puu on myös peilattu [https://github.com/NetBSD/pkgsrc GitHub-palveluun]. Päivitysten kannalta on kätevintä käyttää joko CVS- tai Git-versionhallintaa. Jos latasit pkgsrc-puun tervapallona, joudut poistamaan puretun pkgsrc-puun ja korvaamaan sen uudella puretulla tervapallolla aina kun haluat päivittää pkgsrc-puun.


Kloonataan pkgsrc-kokoelma versionhallinnasta omaan kotihakemistoon <tt>pkgsrc</tt> -hakemiston alle.
Kloonataan pkgsrc-kokoelma versionhallinnasta omaan kotihakemistoon <tt>pkgsrc</tt> -hakemiston alle.
  $ env CVS_RSH=ssh cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
  $ env CVS_RSH=ssh cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
Jos haluat käyttää vakaata versiota pkgsrc-puusta, voi noutaa sen näin.
$ CVS_RSH=ssh cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2024Q4 -P pkgsrc
Huomaa että tämä lataa vuoden 2024 neljännen kvartaalin version. Päivitä numerot vastaamaan haluttua versiota.
Vaihtoehtoisesti myös git-versionhallintaa voidaan käyttää pkgsrc-puun noutamiseen.
$ git clone --depth 1 https://github.com/NetBSD/pkgsrc.git
Huomaa että, jos haluat pkgsrc-puun koko historian tai kaikki haarat (branch) käyttöösi, sinun täytyy poistaa valitsin <tt>--depth 1</tt> käytöstä.


Bootstrapataan tärkeimmät perusohjelmat muiden ohjelmien kääntämiseksi. Mikäli omassa jakelussa <tt>/bin/sh</tt> on symbolinen linkki [[Dash]]-komentotulkkiin, joudutaan määrittelemään pkgsrc käyttämään [[Bash]]-komentotulkkia [[env]]-ohjelman avulla.
Bootstrapataan tärkeimmät perusohjelmat muiden ohjelmien kääntämiseksi. Mikäli omassa jakelussa <tt>/bin/sh</tt> on symbolinen linkki [[Dash]]-komentotulkkiin, joudutaan määrittelemään pkgsrc käyttämään [[Bash]]-komentotulkkia [[env]]-ohjelman avulla.
Rivi 15: Rivi 23:
  $ cd ~/pkgsrc/bootstrap
  $ cd ~/pkgsrc/bootstrap
  $ env SH=/bin/bash ./bootstrap --unprivileged
  $ env SH=/bin/bash ./bootstrap --unprivileged
<tt>bootstrap</tt>-skripti ottaa vastaan myös muitakin valitsimia, kuten.
* <tt>--make-jobs 2</tt> - Käytä (esimerkiksi) kahta säiettä kääntämiseen
* <tt>--prefer-pkgsrc yes</tt> - Suosi pkgsrc-puun versioita ohjelmista ja kirjastoista kun asennat paketteja pkgsrc:n avulla.
* <tt>--prefer-native yes</tt> - Suosi valmiiksi asennettuja versioita ohjelmista ja kirjastoista kun asennat paketteja pkgsrc:n avulla. Huomaa että tämä valitsin ei ole yhteensopiva valitsimen <tt>--prefer-pkgsrc yes</tt> kanssa.


Tässä vaiheessa voidaan lisätä [[PATH]]-ympäristömuuttujaan pkgsrc:n binäärien sijainnit, jolloin käännettyjä ohjelmia voidaan kutsua suoraan komentoriviltä. Tämän voi tehdä esimerkiksi lisäämällä <tt>~/.profile</tt> -asetustiedostoon seuraavan rivin ja käynnistämällä komentotulkin sen jälkeen uudelleen:
Tässä vaiheessa voidaan lisätä [[PATH]]-ympäristömuuttujaan pkgsrc:n binäärien sijainnit, jolloin käännettyjä ohjelmia voidaan kutsua suoraan komentoriviltä. Tämän voi tehdä esimerkiksi lisäämällä <tt>~/.profile</tt> -asetustiedostoon seuraavan rivin ja käynnistämällä komentotulkin sen jälkeen uudelleen:
Rivi 38: Rivi 51:
  $ env CVS_RSH=ssh cvs update -dP -A
  $ env CVS_RSH=ssh cvs update -dP -A


Toinen vaihtoehto on käyttää uusinta ''stable'' -haaraa, joka on kirjoitushetkellä <tt>2019Q1</tt>.
Toinen vaihtoehto on käyttää uusinta ''stable'' -haaraa, joka on kirjoitushetkellä <tt>2024Q4</tt>.
  $ env CVS_RSH=ssh cvs update -dP -rpkgsrc-2019Q1
  $ env CVS_RSH=ssh cvs update -dP -rpkgsrc-2024Q4
 
== Ohjelmien päivittäminen==
Kun olet päivittänyt pkgsrc-puun, voit päivittää pkgsrc:n kautta asennetut ohjelmat. Pkgsrc tarjoaa useamman tavan päivittää paketteja, esimerkiksi.
* Voit käyttää komentoa <tt>pkg_chk -u -s</tt> Huom! pkg_chk täytyy asentaa erikseen.
* Voit suorittaa komennon <tt>bmake update</tt> jonkun paketin hakemistossa (esim. hakemistossa  ''~/pkgsrc/editors/nano'')
* Voit käyttää komentoa <tt>bmake replace</tt> jonkun paketin hakemistossa. Tämän komenon ero on se että <tt>bmake update</tt> saattaa kääntää usean eri riippuvuuden (paketin) uudelleen.
Lisää vaihtoehtoja on esim. [https://wiki.netbsd.org/pkgsrc/how_to_upgrade_packages/#index2h1 NetBSD:n Wikissä] Huomaa että Linux käyttää NetBSD:n <tt>make</tt>-ohjelmasta nimeä <tt>bmake</tt>.


== pkgsrc-puun siivoaminen ==
== pkgsrc-puun siivoaminen ==
Rivi 47: Rivi 67:


== Aiheesta muualla ==
== Aiheesta muualla ==
* [https://pkgsrc.org Pkgsrc-projektin kotisivut]
* [https://www.netbsd.org/docs/pkgsrc/ The pkgsrc guide]
* [https://www.netbsd.org/docs/pkgsrc/ The pkgsrc guide]
* [https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/ NetBSD wiki: How to use pkgsrc on Linux]
* [https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/ NetBSD wiki: How to use pkgsrc on Linux]
* [http://www.pkgsrc.se/ www.pkgsrc.se]
* [https://www.pkgsrc.se/ www.pkgsrc.se - kätevä pakettihaku sivusto]
 
==Katso myös==
* [[Flatpak]] - Jakelusta riippumaton paketinhallinta Linuxille.
* [[Snap]] - [[Canonical]]in tekemä kilpailija Flatpakille.
* [[AppImage]] - Eräs siirrettävä pakettiformaatti Linuxille.
* [[GNU Guix]] - GNU Guix System -jakelun käyttämä paketinhallintajärjestelmä, jota voi käyttää myös muillakin Linux-jakeluilla.
* [[Nix]] - NixOS-jakelun käyttämä paketinhallintajärjestelmä, jota voi käyttää myös muillakin Linux-jakeluilla.
* [[Ravenports]] - Toinen hieman Pkgsrc:n kaltainen järjestelmä.
* [[Gentoo#Prefix|Gentoo Prefix]] - [[Gentoo]]n paketinhallintajärjestelmä ([[Portage]]) voidaan myös asentaa toisen Linux-jakelun kotikansioon.


[[Luokka:Paketinhallinta]]
[[Luokka:Paketinhallinta]]
Noudettu kohteesta ”https://www.linux.fi/wiki/Pkgsrc