Weak Dependencies Policy
Johdanto
Heikot riippuvuudet ovat käytännössä %Rebbes:% -tunnisteen muunnelmia ja ne verrataan (virtuaalisesti) %Provisions:% ja pakettien nimiin %Epoch-Version-Release% -vaihteluvälivertailuilla, aivan kuten tavallinen %Rerabes:%. Niillä on kaksi vahvuutta: 'heikko' ja 'vihje' sekä kaksi suuntaa: 'eteenpäin' (vastaava %Vaatii:%) ja 'taaksepäin' (jolla ei ole analogia aiemmassa riippuvuusjärjestelmässä).
Eteenpäin |
Taaksepäin |
|
Heikko |
Suosittelee: |
Lisämateriaalit: |
Vihje |
Ehdottaa: |
Parantaa: |
Heikot riippuvuudet mahdollistavat pienemmät minimiasennukset samalla kun oletusasennusominaisuus pysyy rikkaana. Ne myös mahdollistavat pakettien määritellä mieltymyksiä tietyille palveluntarjoajille, säilyttäen samalla virtuaalisten palveluiden joustavuuden, esimerkiksi suosimalla rubyä vs jrubyä tai community-mysql vs mariadb.
Heikot riippuvuudet
Heikot riippuvuudet käsitellään oletuksena samalla tavalla kuin tavallinen %Vaatii:%. Vastaavat paketit lisätään dnf-transaktioon. Jos paketin lisääminen johtaisi virheeseen, dnf ohittaa riippuvuuden oletuksena. Tämä mahdollistaa käyttäjien sulkea pois paketit, jotka lisättäisiin heikkojen riippuvuuksien vuoksi, tai poistaa ne myöhemmin. Heikkojen riippuvuuksien asentamisen ohittamiseksi, välitä %-setopt=install_weak_deps=False% %dnf%.
Kuten tavallisissa riippuvuuksissa, heikot riippuvuudet TÄYTYY olla tyydytettävissä virallisissa Fedora-repositorioissa.
Heikkoja riippuvuuksia voidaan käyttää paketissa vain, jos paketti toimii edelleen ilman riippuvuutta. On kuitenkin hyväksyttävää luoda paketteja, joilla on hyvin rajallinen toiminnallisuus, ilman sen heikkoja vaatimuksia. Heikkoja riippuvuuksia tulisi käyttää mahdollisuuksien mukaan minimoimaan asennus kohtuullisissa käyttötarkoituksissa, erityisesti virtuaalikoneiden tai konttien rakentamisessa, joilla on vain yksi tarkoitus eikä ne vaadi koko pakettia.
Heikkojen riippuvuuksien tyypillisiä käyttötapauksia ovat:
-
Dokumentaatio
-
Dokumentaation katseluohjelmat, jos ne puuttuvat, käsitellään sulavasti
-
-
Esimerkit
-
Plug-init tai lisäosat
-
Tuki tiedostomuodoille
-
Tuki protokollille
-
…
-
Vinkit
Vihjeet jätetään oletuksena huomiotta dnf:ssä. Niitä voidaan käyttää käyttöliittymätyökaluissa tarjotakseen lisäpaketteja, joita ei asenneta oletuksena, mutta jotka voivat olla hyödyllisiä yhdessä asennettujen pakettien kanssa. Paketin pääkäyttötapausten vaatimuksia ei tulisi viitata pelkästään vihjeillä, vaan sisällyttää vahvoihin tai heikkoihin riippuvuuksiin.
Package Preference
dnf (tai tarkemmin LibSolv) käyttää heikkoja riippuvuuksia ja vihjeitä päättääkseen, mitä pakettia käyttää, jos on valinta useiden yhtä pätevien pakettien välillä. Näissä tapauksissa paketit, joihin kohdistuvat riippuvuudet asennetuista tai asennettavista paketeista ovat suositeltuja. Huomaa, että tämä ei muuta normaaleja riippuvuuden ratkaisun sääntöjä. Esimerkiksi heikot riippuvuudet eivät voi pakottaa vanhempaa versiota paketista.
Jos riippuvuudelle on useita (tyypillisesti virtuaalisia) palveluntarjoajia, vaativa paketti voi lisätä Suggests: -vihjeen riippuvuusratkaisijalle, kumpi vaihtoehto on parempi. %Enhances:% tulisi käyttää vain harvoin, kun pääpaketti ja muut palveluntarjoajat ovat yhtä mieltä siitä, että vihjeen lisääminen vaadittuun pakettiin on jostain syystä puhtaampi ratkaisu.
Eteenpäin vs taaksepäin -riippuvuudet
Forward-riippuvuuksia arvioidaan tarpeiden mukaisesti asennettavien pakettien osalta. Myös parhaat vastaavat (täyttävät) paketit asennetaan. Käänteisissä riippuvuuksissa riippuvuutta sisältävät paketit asennetaan, jos vastaava paketti asennetaan myös.
Yleisesti ottaen tulisi käyttää eteenpäin suuntautuvia riippuvuuksia. Lisää riippuvuus pakettiin, jolloin toinen paketti lisätään järjestelmään.
Käänteiset riippuvuudet on suunniteltu pääasiassa kolmannen osapuolen toimittajille, jotka voivat liittää plug-in/lisäosiaan/laajennuksiaan jakeluun tai muihin kolmannen osapuolen paketteihin. Fedorassa kontrolli siitä, mitä paketteja paketti vaatii, tulisi pysyä pakettien ylläpitäjällä. On kuitenkin tilanteita, joissa vaativan paketin on helpompi välittää kaikista lisäosista. Tällöin käänteisiä riippuvuuksia voidaan käyttää kohdepaketin ylläpitäjän suostumuksella.
Huomaa, että EPEL:llä tai muilla kolmannen osapuolen tietopankeilla voi olla (ja niitä suositellaan noudattamaan) erilainen käytäntö.
Want to help? Learn how to contribute to Fedora Docs ›