התקנת Chocolatey: מדריך שלב אחרי שלב

אם אתה מתמודד עם ניהול ותחזוקת תוכנה ברחבי הסביבה שלך, אתה בטירוף. במאמר זה, אתה הולך ללמוד איך להתקין Chocolatey ולשלוט על החבילות של תוכנות שלך!

במאמר זה, תלמד, בצורה מעשית, איך להתקין את Chocolatey, לנהל תוכנות ולקבל הקדמה בסיסית למה שהופך את המוצר הזה לפועל.

נוגע ל: איך ליצור את חבילת ה־Chocolatey הראשונה שלך

דרישות מוקדמות

מדובר במדריך שיהיה סיור. אם אתה מתכוון ללכת בזירה, וודא שיש לך את הדרישות הבאות מתקיימות.

  • Windows 10 – המדריך ישתמש ב-Windows 10 1903.
  • Windows PowerShell 5.1 (אופציונלי) – יכול לא להיות דרוש באופן טכני על ידי Chocolatey, אך זהו מה שכל הדוגמאות במאמר זה ישתמשו בו.

לפרטים מלאים על כל הדרישות הטכניות, ראה את עמוד דרישות ה־Chocolatey.

התקנת Chocolatey

כשאתה מתחיל עם Chocolatey, המשימה הראשונה שלך תהיה להוריד ולהתקין את לקוח Chocolatey. מבחינה טכנית, יש ל-Chocolatey גם רכיב שרת, אך במאמר זה, אתה תתמקד בשימוש בלקוח להורדה, התקנה ועדכון של תוכנות.

אתה יכול להתקין את Chocolatey בכמה דרכים שונות. במאמר זה, אתה תלמד את הדרך הנפוצה ביותר, באמצעות PowerShell.

עבור פירוט מקיף של כיצד להתקין את לקוח Chocolatey בדרכים רבות, יש לבדוק את מדריך ההתקנה של Chocolatey.

כדי להתקין את Chocolatey, החברה מספקת סקריפט PowerShell נוח לביצוע במערכת שלך. לפני שתריץ את סקריפט ההתקנה, כדאי לבדוק אותו לפני הורדה. ניתן למצוא את הסקריפט כאן.

קשור: איך להפעיל את PowerShell כמנהל

עם חלון הפקודות של PowerShell פתוח כמנהל, יש להוריד ולבצע את הסקריפט בפקודה אחת.

הקטע הקוד למטה:

  • וודא ש-PowerShell יכול לנווט ב-SSL תעודת בשרת של chocolatey.org
  • הורד את הסקריפט מ-https://chocolatey.org/install.ps1
  • הרץ את הסקריפט לאחר הורדתו
  • הוסף את התיקייה %ALLUSERSPROFILE%\chocolatey\bin למשתנה הסביבה PATH
[System.Net.ServicePointManager]::SecurityProtocol = 3072
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Downloading and install Chocolatey

יתכן שתתקל בשגיאה הזכרת הרשאות ביצוע. אם כך, ייתכן שההגדרות הנוכחיות שלך לא מאפשרות ביצוע סקריפטים. לתקן זאת, יש לוודא ש-אתה מפשיר את ההגדרות של הרשאות הביצוע, ומשנה אותן ל-Unrestricted או RemoteSigned.

מאמת התקנה

לאחר שהתסריט של PowerShell סיים וחזרת לקונסולת PowerShell, אשר את היכולת להפעיל את לקוח Chocolatey הנקרא choco.exe.

כאשר אתה מפעיל את choco, אתה אמור לראות את הגרסה שהותקנה ומידע בסיסי נוסף כפי שמוצג למטה.

PS51> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.~~

קבלת עזרה

אחת מהיתרונות הטובים ביותר של לקוח Chocolatey CLI הוא המערכת שלו לעזרה. המערכת המובנית לעזרה עושה עבודה מצוינת בתיעוד של כל הפונקציות של Chocolatey.

כדי לגשת אל מערכת העזרה, ספק את המפקד -? לפקודת choco כפי שמוצג למטה.

תוכל לראות שלל פקודות קיימות בלקוח Chocolatey שבאמצעותן תוכל לבצע מגוון רחב של פעולות לניהול תוכנות.

PS51> choco -?
This is a listing of all of the different things you can pass to choco.
 
Commands
 
 * list - lists remote or local packages
 * find - searches remote or local packages (alias for search)
 * search - searches remote or local packages (alias for list)
 * info - retrieves package information. Shorthand for choco search pkgname --exact --verbose
 * install - installs packages from various sources
 * pin - suppress upgrades for a package
 * outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 * upgrade - upgrades packages from various sources
 * uninstall - uninstalls a package
 * pack - packages up a nuspec to a compiled nupkg
 * push - pushes a compiled nupkg
 * new - generates files necessary for a chocolatey package from a template
 * sources - view and configure default sources (alias for source)
 * source - view and configure default sources
 * config - Retrieve and configure config file settings
 * feature - view and configure choco features
 * features - view and configure choco features (alias for feature)
 * setapikey - retrieves, saves or deletes an apikey for a particular source (alias for apikey)
 * apikey - retrieves, saves or deletes an apikey for a particular source
 * unpackself - have chocolatey set itself up
 * version - [DEPRECATED] will be removed in v1 - use `choco outdated` or `cup <pkg|all> -whatif` instead
 * update - [DEPRECATED] RESERVED for future use (you are looking for upgrade, these are not the droids you are looking for)
 
 
Please run chocolatey with `choco command -help` for specific help on
 each command.

אם אתה תקוע אי פעם בניסיון להבין איך לבצע פעולה מסוימת, בדוק את מערכת העזרה!

מציאת חבילות

כשכבר יש לך את לקוח Chocolatey מותקן ופועל, הגיע הזמן לראות אילו סוגי חבילות זמינות להתקנה. יש ללקוח שלך שלוש פקודות שמאפשרות לך לעשות זאת בשם list, search, ו־find. פקודות אלו סורקות את גלריית Chocolatey לחבילות זמינות או לרשימת חבילות במכונה שלך.

מטה תמצא את הפירוט והדוגמאות שנמצאות במערכת העזרה.

PS51> choco list --help

List/Search Command
 
Chocolatey will perform a search for a package local or remote.
 
* choco list - lists remote or local packages
* choco search - searches remote or local packages (alias for list)
* choco find - searches remote or local packages (alias for search)
 
Usage:
 
choco search <filter> [<options/switches>]
choco list <filter> [<options/switches>]
clist <filter> [<options/switches>]
 
Popular Switch --localonly or -lo
Usage of -lo:
 
choco <search,list,find> --localonly

לדוגמה, למטה יש דוגמה לספירת כל החבילות (list) שמותקנות במחשב מקומי (-lo).

PS51> choco list -lo
Chocolatey v0.10.15
chocolatey 0.10.15
chocolatey-core.extension 1.3.3
GoogleChrome 77.0.3865.90
3 packages installed.

בדיקת חבילות Chocolatey לפני הורדה

לפני שאתה מוריד חבילה, תמיד עליך להבין מה בדיוק עושה החבילה ההיא. מזל שיש לך את הפקודה info. פקודה זו מוצאת פרטים על חבילות הממוקמות במאגר Chocolatey.

עם choco info, אתה יכול למצוא אפיונים של חבילה כמו יוצר החבילה, ספירת הורדות, בדיקת תקינות, מקור, ועוד.

תבחן את האפשרויות שלך להרצת choco info למטה.

PS51> choco info --help

Info Command
 
Chocolatey will perform a search for a package local or remote and provide
detailed information about that package. This is a synonym for
`choco search <pkgname> --exact --detailed`.
 
* choco info pkgname - retrieves package information.
* Shorthand for choco search pkgname --exact --verbose
* Shorthand for choco search pkgname --exact --detailed
 
 
Usage:
 
choco info [<options/switches>]

לדוגמה, נניח שאתה צריך להתקין את גוגל כרום ושם חבילה זמינה שנקראת googlechrome. הרץ choco info googlechrome ושים לב לאיזה מידע אתה יכול למצוא.

PS51> choco info googlechrome
Chocolatey v0.10.15
GoogleChrome 77.0.3865.90 [Approved] Downloads cached for licensed users
Title: Google Chrome | Published: 9/18/2019
Package approved as a trusted package on Sep 18 2019 20:15:10.
Package testing status: Passing on Sep 18 2019 18:45:17.
Number of Downloads: 19851699 | Downloads for this version: 262131
Package url
Chocolatey Package Source: <https://github.com/chocolatey-community/chocolatey-coreteampackages/tree/master/automatic/googlechrome>
Package Checksum: 'v7bDDUTo21k31xqUW+1amzaEWjeOqsEgS3txYNRgRaO3Q7ZnkzYz4S69AxTFn4r0HUB5Wi7NHXZBag/OaJTPKA==' (SHA512)
Tags: google chrome web internet browser admin
Software Site: <https://www.google.com/chrome/browser/>
Software License: <https://www.google.it/intl/en/chrome/browser/privacy/eula_text.html>
Description: Chrome is a fast, simple, and secure web browser, built for the modern web.

התקנת חבילות

מספיק לקבל מידע על חבילות. הגיע הזמן להתקין מערכות תוכנה בפועל! כדי לעשות זאת, השתמש ב- choco install.

הפקודה choco install היא חזקה וחיונית. אם יש פקודה אחת שעליך לזכור ולהפוך למומחה בה, זו היא.

הפקודה choco install מתקינה חבילה או רשימת חבילות שאתה סופק כאשר אתה יודע מה שאתה צריך.

הרץ choco install --help כדי לראות מה האפשרויות שלך.

PS51> choco install --help
 Install Command
 Installs a package or a list of packages
 Usage:
 choco install  [ ] []
     cinst  [ ] []
 Examples:
 choco install sysinternals
 choco install notepadplusplus googlechrome atom 7zip
 choco install notepadplusplus --force --force-dependencies
 choco install notepadplusplus googlechrome atom 7zip -dvfy
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-arguments="'/DIR=C:\git'"
     # פרמטרים הם פרמטרים של החבילה, מועברים לחבילה
     #  ארגומנטים להתקנת המתקין, מחוברים ל-silentArgs
     #  בחבילה עבור המתקין עצמו
 choco install nodejs.install --version 0.10.35
 choco install git -s "'https://somewhere/out/there'"
 choco install git -s "'https://somewhere/protected'" -u user -p pass

שמירה על עדכון חבילות Chocolatey

פעם שהחבילה מותקנת, תרצה בוודאות לשמור עליה מעודכנת. זהו תכונה חזקה של Chocolatey.

ברגע שיש לך כמה חבילות מותקנות, במהירות תגלה ש-Chocolatey לא מעדכן חבילות באופן אוטומטי ברקע. הלקוח של Chocolatey לא רץ כשירות.

כדי לעדכן חבילות שמותקנות של Chocolatey, עליך לקרוא את choco ידנית בכל פעם שאתה רוצה לשדרג. כדי לעשות זאת, הפעל את הפקודה choco upgrade יחד עם החבילה שאתה רוצה לשדרג.

הפקודה upgrade תתקין את החבילה אם היא אינה קיימת במערכת.

מטה תמצא את הפירוט והדוגמאות שנמצאות במערכת העזר.

PS51> choco upgrade --help
 Upgrade Command
 Upgrades a package or a list of packages. Some may prefer to use cup
  as a shortcut for choco upgrade. If you do not have a package
 installed, upgrade will install it.
 Usage:
 choco upgrade  [ ] []
 cup  [ ] []
 Examples:
 choco upgrade chocolatey
 choco upgrade notepadplusplus googlechrome atom 7zip
 choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-args="'/DIR=C:\git'"
 Params are package parameters, passed to the package
 Install args are installer arguments, appended to the silentArgs
 in the package for the installer itself
 choco upgrade nodejs.install --version 0.10.35
 choco upgrade git -s "'https://somewhere/out/there'"
 choco upgrade git -s "'https://somewhere/protected'" -u user -p pass
 choco upgrade all
 choco upgrade all --except="'skype,conemu'"

אפשר לשדרג את כל החבילות לגרסה האחרונה על ידי הרצת choco upgrade all.

מציאת חבילות מקומיות ישנות

מה קורה אם ברצונך לבדוק האם ישנה גרסה חדשה של החבילה שלך לפני שאתה מפעיל choco upgrade באופן ישר? ניתן להשתמש בפקודת outdated. פקודת outdated סורקת את החבילות שמותקנות לך ומשווה אותן עם מחסן החבילות המסומן שלך לעדכונים פוטנציאליים של החבילות.

כדאי להביט באפשרויות של choco outdated --help למטה.

PS51> choco outdated --help

Outdated Command
 
Returns a list of outdated packages.
 
* outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 
Usage:
 
choco outdated [<options/switches>]
 
Examples:
 
choco outdated
choco outdated -s <https://somewhere/out/there>
choco outdated -s "'<https://somewhere/protected>'" -u user -p pass

לדוגמא, אם ברצונך למצוא את כל החבילות שמותקנות במקומך ואינן מעודכנות, תוכל לעשות זאת באמצעות choco outdated.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?
 
 
Chocolatey has determined 0 package(s) are outdated.

מעכב עדכוני חבילות

אחזור על התוכנה בקביעות היא המלצה בהחלט, אך מה קורה כאשר יש לך חבילות שבהן תרצה למנוע באופן מפורש את העדכונים? למה בכלל תרצה לעשות זאת?

הסיבה למניעת עדכונים יכולה להיות למניעת פרקטיות עדכון כפול. לדוגמה, ייתכן ורק רצית לאוטומטזיה של התקנה ראשונית של חבילה. אין לך צורך לשמר על מעקב אחר מעקב החיים התוכנה המלאים שלה.

אולי יש צורך לבצע יוצא דופן כאשר נדרש לאכוף עדכון לכל החבילות ב-Chocolatey. במקרה כזה, אתה יכול להצמית חבילות.

כאשר אתה מריץ פקודות שונות של Chocolatey, תראה את המאפיין המוצמד. לדוגמה, בעת הרצת פקודת outdated, תוכל לראות בבירור את המאפיין כפי שמוצג למטה.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?

מטה תמצא את התיאור והדוגמאות שנמצאות במערכת העזר

PS51> choco pin --help

Pin Command
 
Pin a package to suppress upgrades.
 
This is especially helpful when running `choco upgrade` for all
 packages, as it will automatically skip those packages. Another
 alternative is `choco upgrade --except="pkg1,pk2"`.
 
Usage
 
	choco pin [list]|add|remove [<options/switches>]
 
Examples
 
	choco pin
	choco pin list
	choco pin add -n=git
	choco pin add -n=git --version 1.2.3
	choco pin remove --name git
* pin - suppress upgrades for a package

הסרת חבילות Chocolatey

ואחרונה, אולי החלטת שאתה כבר לא זקוק לתוכנה מסוימת. במקום להיכנס ידנית ללוח הבקרה, למצוא את התוכנה ולהסיר אותה בדרך הזו, השתמש בפקודה choco uninstall כדי להפוך את העבודה לקלה.

פקודת choco uninstall מסירה חבילות תוכנה אחת או יותר במכה אחת.

שים לב איך להשתמש בפקודה choco uninstall דרך תוכן העזר למטה.

PS51> choco uninstall --help

Uninstall Command
 
Uninstalls a package or a list of packages.
 
Usage:
 
choco uninstall <pkg | all> [pkg2 pkgN] [options/switches]
cuninst <pkg | all> [pkg2 pkgN] [options/switches]
 
NOTE: `all` is a special package keyword that will allow you to
uninstall all packages.
 
Examples:
 
choco uninstall git
choco uninstall notepadplusplus googlechrome atom 7zip
choco uninstall notepadplusplus googlechrome atom 7zip -dv
choco uninstall ruby --version 1.8.7.37402
choco uninstall nodejs.install --all-versions

שיחזור מידע לפני ביצוע שינויים (choco whatif)

אוטומציה של ניהול תוכנה יכולה להיות משימה הולמת אם היא מבוצעת בצורה נכונה. במקום לבצע המון שינויים בבת אחת, יהיה יותר חכם להריץ תחילה בדיקה כדי לראות מה היה יכול לקרות. למרבה המזל, לקוח Chocolatey מציע כמה פרמטרים לביצוע דבר כזה.

המתג WhatIf

לכל פקודת choco יש מתג בשם --whatif עם כמה שמות נוספים כמו --noop ו---what-if. כאשר משתמשים במתגים אלו עם פקודת choco, Chocolatey לא יבצע את הפעולה אך יודיע לך מה היה קורה.

ניתן לראות דוגמה למטה שמנסה להסיר את כל החבילות במערכת המקומית אך באמצעות מתג whatif כדי למנוע בפועל עשייה כלשהי.

PS51> choco uninstall all -whatif

Chocolatey v0.10.15
_ Chocolatey:ChocolateyUninstallCommand - Noop Mode _
Would have uninstalled chocolatey v0.10.15.
Would have uninstalled GoogleChrome v77.0.3865.90.
Would have uninstalled chocolatey-core.extension v1.3.3.

אישור פעולות

כאשר אתה מריץ את choco install כדי להתקין חבילה, כללית הוא שתתבקש לאשר אם ברצונך שהתהליך ימשיך. Choco דורש גם אישור לחבילות נוספות שמוזמנות כתלות לחבילה הראשונית שלך.

ניתן לראות למטה דוגמה של כיצד Chocolatey מבקש תחילה להתקין את Firefox לפני ביצוע הפעולה בפועל.

PS51> choco install firefox
Chocolatey v0.10.15
Installing the following packages:
firefox
By installing you accept licenses for the packages.
Progress: Downloading Firefox 69.0.1... 100%
 
Firefox v69.0.1 [Approved]
firefox package files install completed. Performing other installation steps.
The package Firefox wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint):

תהליך האישור הוא מניע חירום, אך יכול להאט אותך. אם ברצונך שהתהליך ימשיך בלתי מופרט, הוסף מתג -y, --yes או --confirm בסוף הפקודה שלך.

שימוש במתג -y עובד טוב כשמפעילים פקודות לא מפוקדות כמו במשימה מתוזמנת.

שלבים הבאים

עכשיו שאתה יודע איך להתקין את Chocolatey ולהשתמש בו ברמה גבוהה, לאן תלך מכאן? נסה למצוא תוכנה נפוצה שאתה צריך להתקין ולשדרג שוב ושוב.

נסה לבנות תסריט לניהול התוכנה הזו עם Chocolatey כדי להתרגש ולהתחיל ללמוד עוד על מנהל החבילות הנוח הזה עבור Windows!

Source:
https://adamtheautomator.com/install-chocolatey/