PowerShell'i uus paketihaldussüsteem

Win 10 logo Windows PowerShell ja temasse integreeritud uus paketihaldussüsteem, mille nimeks on "PackageManagement" (endine "OneGet")

 

 

Windows PowerShell — see on Microsofti laiendatud automatiseerimise vahend, mis koosneb käsurea kasutajaliidese konsoolist ja kaasaantud keelestsenaariumitest. PowerShell on ehitatud Microsoft.NET Framework baasile ja ta on temaga integreeritud. Peale selle lubab PowerShell mugava juurdepääsu COM (Component Object Model), MI (Windows Management Infrastructure) ja ADSI (Active Directory Service Interfaces) tehnoloogiatele ning tööriistadele. Samas saab tema konsoolis ka tavalisi käsurea (CMD) käskusid täita. Selle kõigega luuakse ühine keskkond, mis lubab kasutajatel erinevaid ülessandeid täita. Neid ülessandeid täidetakse tavaliselt käsutööriistade (cmdlets) abil, mis on .NET spetsialiseeritud klassid.

Windows 10 saab veel ühe uuenduse ja nimelt PowerShell'i on nüüd integreeritud ka "PackageManagement" nimeline paketihaldussüsteem. Win 10 varasemates test-versinoonides oli tema nimeks OneGet ja vastavalt sellele sai siis PowerShell konsoolis ka antud nimega (st OneGet) käskusid kasutada, aga Windows 10 finaalversioonis see enam nii ei ole. Kuid sellele vaatamata põhineb see paketihaldussüsteem OneGet avatud lähtekoodiga projektile. Kui Sa oled mõnda Linux'i distribuuti jooksutanud, siis tead, et ka nendes kasutatakse paketihaldussüsteeme ja tead ka selliseid käsuviiba käskusid näiteks nagu "apt-get" või "yum install" - nüüd on taoline paketihaldussüsteem ka Windowsisse üle toodud - üsna suur uudis.

PackageManagement (aka OneGet) ei ole tehniliselt "paketihaldussüsteem" vaid ta on märksa keerulisem ja siiski rohkem "Pakett-Juhtimise-Mänedžer" (Package-Manager-Manager). Ta on PowerShell käsutööriistade (cmdlets) komplekt ja raamistik, millega võib standardiseeritud teel juhtida erinevatest kohtadest pärit erinevat tüüpi tarkvara.

PackageManagement' on põhiliselt tarkvarainstrument, mis teeb vajaliku tarkvara leidmise, allalaadimise, installeerimise ja uuendamise (ka uninstallimise) palju lihtsamaks. See uus Pakett-Juhtimise-Mänedžer lubab Sul usaldusväärsest repositooriumist laadida alla suvalise tarkvara kõige uuema versiooni ja seejärel ta installeerida ning seda vaid mõne kliki või klahvivajutusega.

Oma esialgses arengufaasis ei ole seda PackageManagement instrumenti lihtne kasutada ja ta on mõeldud siiski rohkem süsteemiadministraatorite jaoks. Microsoft ei valda tegelikult ühtegi "OneGet repositooriumi ehk varasalve" (Repository) — fakt, sellist asja ei ole.

Märkus: Tarkvara repositooriumid on spetsiaalsed serverid, kus hoitakse kontrollitud ja kõige uuemate versioonidega tarkvara. Sealtkaudu saab ka juba installitud tarkvarade uuendused (värskendused).


OneGet ise ei ole pakettide juhtija, teda võib kasutada koos pakkujatega, et saada ligi tarkvara repositooriumitele, mida võib seejärel standardiseeritud konsoolikäsudega (cmdlets) juhtida. PackageManagement (aka OneGet) esimeses versioonis kasutati töölaua programmide installeerimiseks Chocolatey repositooriumi, aga seda tehti ainult selleks et näidata selle uue kontseptsiooni õigsust ja nüüdseks on see Chocolatey pakkuja eemaldatud.

"PackageManagement" on Package Management Agregaator, mis on jagatud nelja sektsiooni:

"PackageManagement" on Package Management Agregaator, mis on jagatud nelja sektsiooni



PackageManagement (OneGet) kasutamine:

* Käivita PowerShell ja Sa võid seda teha näiteks Start Maenüü kaudu - pilt. Või kui hiljem tekivad mingid probleemid, siis käivita PowerShell administraatori õigustega ja proovi uuesti - pilt.

* Sisesta käsureale Get-Command -Module PackageManagement ja vajuta ENTER, et näha PackageManagement vahendi kõiki kättesaadavaid käsutööriistu (cmdlets):

Sisesta käsureale Get-Command -Module PackageManagement ja vajuta ENTER


(Märkus: Varem sai kasutada Get-Command -Module OneGet käsku, aga nüüd see enam ei tööta.)


* Seejärel sisesta Get-PackageProvider cmdlet ja vajuta ENTER. Pärast seda sisesta Get-PackageSource cmdlet ja vajuta ENTER. Need näitavad Sulle, et millised pakettide pakkujad ja allikad on ligipääsetavad. Kui Sa vaatad tulemust, siis näed, et ainsaks registreeritud paketi allikaks on PowerShellGet (PSGallery) moodul, aga see on normaalne, sest vaikimisi ongi ainult seesama üksainus repositoorium installeeritud:

Get-PackageProvider ja Get-PackageSource cmdlet'id näitavad Sulle, et millised pakettide pakkujad ja allikad on ligipääsetavad.


OneGet ise ei installi tarkvara, noh, mitte otseselt ja ka mitte enda omasid. OneGet ise ei oma tarkvara repositooriumi. OneGet delegeerib kõik installeerimise operatsioonid installeeritud paketi pakkuja pluginile. Koos OneGet'iga on saadaval üsna väike komplekt neid paketi pakkujaid, aga sellest piisab, et installida ja leida rohkem pakkujaid. See minimaalne komplekt sisaldab (vaata eelmist pilti):

- MSI pakkuja (installeerib Windows Installer .MSI faile, mis on kasutaja poolt omandatud).
- MSU pakkuja (installeerib kasutaja poolt alla laaditud Microsofti Update failid).
- PowerShellGet pakkuja lubab Sul juhtida PowerShell mooduleid, mis asuvad onlain galeriis (PSGallery); vaikimisi paketi repositoorium on www.PowerShellGallery.org.
- Programs pakkuja (see ei installi programme vaid ta toob esile Windowsi enda 'Add and Remove Programs and Features' vahendi rakendused; temaga võib mõnda tarkvara uninstallida ehk desinstalleerida).

Märkus: Sina võid oma PowerShell konsoolis näha lisaks ka muid paketi pakkujaid (näiteks NuGet, PSModule jne) ja see oleneb sellest et millist Windows 10 versiooni Sa jooksutad. Peale selle peab silmas pidama ka seda et see PackageManagement (aka OneGet) vahend pole veel lõplikult valmis. Ja loomulikult ilmuvad sinna loetellu veel ka need paketi pakkujad, mis Sa hiljem ise juurde installeerisid, näiteks Chocolatey. Antud näites ei ole siia veel midagi juurde installitud.


* Et näha kõiki kättesaadavaid pakkujaid, sisesta Find-PackageProvider cmdlet (Sa võid näiteks ka sellise cmdlet'i sisestada: find-package -provider PowerShellGet PSReadline -allversions).
Nagu alltoodud pildilt on näha, siis pakutakse ka NuGet paketi pakkuja allalaadimist ning installeerimist. (NuGet on Microsofti platvormile loodud avatud lähtekoodiga tasuta paketi pakkuja NuGet pakettide juhtimiseks.) Sisesta soovi korral y ja vajuta ENTER:

Et näha kõiki kättesaadavaid pakkujaid, sisesta Find-PackageProvider cmdlet.


Kui Sa sisestad seejärel uuesti selle Get-PackageProvider, siis näed, et NuGet on ilmunud siia paketi pakkujate loetellu - pilt.

Näiteks kui Sa sisestasid algul selle get-packageprovider cmdlet'i, seejärel find-package -provider PowerShellGet PSReadline -allversions ja lõpuks Install-Package PSReadline -MinimumVersion 1.2, siis näed sellist akent (PSReadline mooduli installiks nõutakse juba adminõigustega PowerShell konsooli) - pilt. Mida Sa sellega tegelikult tegid? Kasutame selgituseks eelpool toodud 'Package Management Agregaatori' diagrammi - pilt.

* Pärast PSReadline installeerimist, suurenes meie pakettide arv kohe tunduvalt. Et näha kui palju pakette me saame kasutada, sisestame Find-Package | Measure-Object cmdlet'i - pilt. (Märkus: Selleks võib kasutada ka märksa paremat cmdlet'i: Find-Package | Sort-Object –Property Name | Out-GridView).

* Ka paketi pakkujate arv on nüüd tunduvalt suurenenud, sisestad Find-PackageProvider - pilt.

* Vaikimisi otsitakse "Package Management" poolt neid poolt ainult PowerShellGallery.com ja Azure hoidlatest. Seega võiks mõned head pakkujad ka ise juurde installida, näiteks "Chocolatey", aga Sa pead seejuures teadma antud allika URL (interneti) aadressi ja ka seda et mida ta sisaldab (st mida Sulle vaja on) - pilt. Kui Sa sisestad nüüd jälle selle Get-PackageSource cmdlet'i, siis näed, et ka "Chocolatey" allikas on saadaval - pilt.

Märkus: Chocolatey on avatud lähtekoodiga apt-get-sarnane paketi mänedžer (tegelikult allalaadimise mänedžer), mis kasutab NuGet paketihalduse infrastruktuuri ja mida võid kasutada isegi siis kui Sa ei omagi Windows 10 operatsioonisüsteemi.


* Kui Sa tahad PackageManagement abil kusagilt mingit tarkvara installeerida, siis pead Register-PackageSource cmdlet'i kasutama, et antud paketi allikat PackageManagement all registreerida. Näiteks Register-PackageSource -Name "Chocolatey" -Location "http://chocolatey.org/api/v2" –ProviderName "Chocolatey" –Trusted -Verbose - pilt ...................ja....................... pilt.


Kuid Unregister-PackageSource cmdlet abiga võid mittevajaliku paketi allika süsteemist eemaldada, näiteks Unregister-PackageSource -Source "Chocolatey" -Location "http://chocolatey.org/api/v2" –Provider "NuGet" (või siis lihtsalt Unregister-PackageSource –name Chocolatey).

Pärast uue paketi allika installi ja registreerimist võid Sa otsida, installeerida ja uninstallida tarkvara (paketi) järgmiste cmdlet'ide abil:

Find-Package nimi
Näiteks: Find-Package –Name VLC või Find-Package -Name VLC –Source "ChocolateyRepository" või siis Find-Package -Name "VLC" –Provider "Chocolatey".


Install-Package nimi
Näiteks: Install-Package –Name VLC või siis Find-Package VLC | Install-Package


Uninstall-Package nimi
Näiteks: Uninstall-Package –Name VLC


Tuleb ka sellega arvestada, et siin võib veel üht-teist muutuda, sest asi on alles arendamisel.

Etteotsa

 




< Tagasi Windows 10 pealehele ja sisukorda

 

 

Saada ka enda tuttavale lugemiseks!

Kui Sa saadad meili, siis on Sinu saadetavas kirjas selle lehe aadress juba
olemas ja muu saad ise juurde lisada.

Sisesta siia saaja e-mail aadress:

 

 

elaja koju .|. .|. .|. About Us .|. .|. .|. About Me .|. .|. .|. Site Map .|. .|. .|. POSTKASTI EI OLE! Sorry, no mailbox | © Ahv & Co Eesti Vabariik 2015 (16/17/18)