تثبيت 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>]

على سبيل المثال، دعنا نقول إنك بحاجة لتثبيت Google Chrome ولاحظت وجود حزمة متاحة تسمى 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 instal.

الأمر 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'"
     # البارامترات هي معلمات الحزمة، يتم تمريرها إلى الحزمة
     # تثبيت الوسيطات هي وسائط التثبيت، مُلحَقة بالوسائط الصامتة
     # في الحزمة للمثبت نفسه
 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.

كتم تحديث الحزم

Translated Text to Arabic:

الحفاظ على تحديث البرمجيات هو خيار موصى به بالتأكيد، ولكن ماذا لو كان لديك حزم حيث تحتاج إلى منع ذلك صراحة؟ لماذا ترغب في فعل ذلك؟

يمكن أن يكون سببًا لمنع التحديثات هو تجنب تكرار التحديث. على سبيل المثال، ربما كنت قد كنت تحاول فقط أتمتة التثبيت الأولي لحزمة. لا ترغب في الاحتفاظ بدورة حياة البرنامج بأكمله.

ربما تحتاج إلى إجراء بعض الاستثناءات عند إجبار 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/