Ero sivun ”Pkgsrc” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p →Ohjelmien asentaminen: typo |
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 | '''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> | Toinen vaihtoehto on käyttää uusinta ''stable'' -haaraa, joka on kirjoitushetkellä <tt>2024Q4</tt>. | ||
$ env CVS_RSH=ssh cvs update -dP -rpkgsrc- | $ 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] | ||
* [ | * [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]] | ||