نحوه به روز رسانی خودکار نرم افزار رایگان با Chocolatey

شما برنامه هایی مانند Spotify ، Adobe Reader ، Chrome ، Firefox ، 7-Zip ، VLC Media Player را در رایانه خود دارید. لیست(VLC Media Player…the list) ادامه دارد و همه آنها رایگان هستند. بدون نرم افزار رایگان(freeware) چه کار می کنیم ؟ با این حال، این برنامه ها برای رفع حفره های امنیتی و معرفی ویژگی های جدید و مفید به به روز رسانی های مکرر نیاز دارند. به‌روزرسانی‌ها هرگز در زمان مناسب اتفاق نمی‌افتند.

اینجاست که شکلاتی(Chocolatey) وارد بازی می شود. از برنامه رایگان Chocolatey برای به روز نگه داشتن نرم افزار خود استفاده کنید. این آسان، سریع، ساده است، و آیا ما به رایگان اشاره کردیم؟ خیلی خوب به نظر می رسد که درست باشد، با این حال اینطور است. (Seems)اما شکلاتی(Chocolatey) چیست؟

شکلاتی چیست؟

اگر کارهایی را در خط فرمان ویندوز(Windows command line) ، PowerShell یا خط فرمان لینوکس(Linux command line) انجام نداده اید ، مفهوم Chocolatey می تواند کمی عجیب باشد. Chocolatey یک برنامه در سطح ماشین است که به شما در مدیریت نرم افزار(manage software) کمک می کند .

در سطح ماشین به این معنی که رابط کاربری(user interface) گرافیکی وجود ندارد که به شما در انجام کارها کمک کند. تمام دستورات باید تایپ شوند. اجازه ندهید(t let) که شما را بترساند(Don) ! اگر می‌توانید کلمات بنویسید، می‌توانید به این امر مسلط شوید.

چگونه Chocolatey را نصب کنم؟

چند چیز وجود دارد که شکلاتی(Chocolatey) باید کار کند. هنگامی که یک برنامه برای کار کردن به برنامه های دیگر از ویژگی های ویندوز(Windows) نیاز دارد، به آن برنامه های مورد نیاز به عنوان وابستگی گفته می شود. وابستگی های شکلاتی این است که شما باید حداقل از موارد زیر استفاده کنید:(Chocolatey)

  • ویندوز 7 یا جدیدتر
  • PowerShell نسخه 2 یا جدیدتر
  • NET Framework 4 یا جدیدتر
  • بعلاوه، باید روی رایانه خود دسترسی مدیر داشته باشید(administrator access)

اگر ویندوز 7(Windows 7) یا جدیدتر دارید، قبلاً نسخه 2 یا جدیدتر PowerShell را دارید . (PowerShell version 2)اگر مطمئن نیستید که NET Framework 4 دارید ، نگران نباشید. هنگام نصب Chocolatey ، اگر دات نت 4 ندارید، Chocolatey آن را برای شما نصب خواهد کرد.

PowerShell را با تایپ کردن در کادر جستجوی PowerShell در (PowerShell)منوی Start(Start Menu) باز کنید . باید نتیجه ای را مشاهده کنید که نام آن Windows PowerShell App است.

روی آن کلیک راست کرده و Run as Administrator را انتخاب کنید . انجام این کار به عنوان اجرای PowerShell در یک نمونه بالا(elevated instance) شناخته می شود . این به امتیازات مدیر ارتقا یافته است. پنجره PowerShell(PowerShell window) باز می شود.

در پنجره PowerShell(PowerShell window) دستور را تایپ یا کپی(type or copy) و پیست کنید:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

بخش Set-ExecutionPolicy Bypass -Scope Process -Force به PowerShell می گوید که شما نمی خواهید سیاست اجرای محدود را فقط برای این مورد بعدی اعمال کنید. PowerShell ، به طور پیش فرض، فقط به فرآیندهای امضا شده اجازه اجرا می دهد. این بالاترین تنظیمات امنیتی است(security setting) . اما ما باید این فرآیند بدون امضای نصب Chocolatey را اجرا کنیم .

قسمت iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) از فرمان به PowerShell می گوید که به (PowerShell)وب سایت Chocolatey(Chocolatey website) برود ، نصب را دانلود کنید. اسکریپت ps1.، و آن را اجرا کنید. این بخشی است که واقعا Chocolatey را نصب می کند .

شما خواهید دید که یک دسته از متن در حال پرواز(text fly) است. با خیال راحت(Feel) برگردید و آن را بخوانید تا بدانید چه اتفاقی افتاده است. در پایان پیشنهاد می کند که دستور choco /? برای دیدن لیستی از توابع این یک راه خوب برای اطمینان از اینکه نصب شما کار کرده است. برو و آن دستور را اجرا کن.

انبوهی دیگر از متن در کنار شما خواهد بود که خواندن و درک آن نیز خوب است. در پایان، اگر نصب Chocolatey شما جواب داد، چیزی شبیه به شکل زیر خواهید دید، جایی که قسمت سبز رنگ نسخه‌ای را که تازه نصب کرده‌اید فهرست می‌کند.

نصب نرم افزار با Chocolatey

قبل از اینکه به به روز رسانی نرم افزار با آن بپردازیم، اجازه دهید نگاهی گذرا به نصب نرم افزار با Chocolatey بیندازیم.(Chocolatey)

برای مرور نرم افزاری که از طریق Chocolatey در دسترس است، به صفحه https://chocolatey.org/packages . خواهید دید که به آنها بسته می گویند.

بسته ای را که می خواهید نصب کنید پیدا کنید. برای این مثال، ما از Malwarebytes Anti-Malware استفاده خواهیم کرد. همیشه داشتن Malwarebytes در رایانه شما خوب است.

در نمونه ای از PowerShell از دستور choco install malwarebytes استفاده کنید . همین است. نصب آغاز خواهد شد. با متن زیر متوقف می شود:

اگر راحت به Chocolatey اجازه می‌دهید نرم‌افزار شما را مدیریت کند، پس از اتمام نصب، باید از ویژگی choco enable -n allowGlobalConfirmation استفاده(choco feature enable -n allowGlobalConfirmation) کنیم تا بتوانیم نصب‌ها و به‌روزرسانی‌ها را در آینده به‌طور خودکار انجام دهیم. در حال حاضر، اجازه دهید فقط از A برای تکمیل نصب استفاده کنیم.

خواهید دید که Malwarebytes در حال دانلود است و سپس شروع به نصب می کند.

در عرض یک دقیقه، Malwarebytes بدون هیچ کار دیگری برای شما دانلود و نصب می شود.

به روز رسانی نرم افزار با Chocolatey

اکنون که نرم‌افزاری را نصب کرده‌ایم، می‌توانیم آن را با Chocolatey به‌روزرسانی کنیم . باز هم(Again) ، شما باید PowerShell را به عنوان مدیر(Administrator) باز کنید. سپس می توانید دستور choco upgrade malwarebytes را اجرا کنید .

این باعث می شود Chocolatey بیرون برود و ببیند آیا به روز رسانی وجود دارد یا خیر و سپس آن را به روز کنید. ما به تازگی Malwarebytes را نصب کردیم، بنابراین نشان می دهد که بسته های zero out one به روز شده اند. این اشکالی ندارد

اگر چندین بسته را با Chocolatey نصب کرده اید، می توانید همه آنها را با یک دستور یک خطی به روز کنید: choco upgrade all -y .

این به همان اندازه سخت است. اکنون کاری که باید برای به‌روزرسانی خودکار نرم‌افزار با Chocolatey انجام دهیم این است که به نحوی آن دستور را بر اساس یک زمان‌بندی اجرا کنیم.

به روز رسانی(Update Software) خودکار نرم افزار با Chocolatey

مرحله بعدی را می‌توانید با استفاده از یادداشت‌پد یا(Notepad) PowerShell ISE ( محیط اسکریپت‌نویسی یکپارچه(Integrated Scripting Environment) ) انجام دهید. ما این مثال را با استفاده از Notepad انجام خواهیم داد زیرا همه نسخه های ویندوز(Windows) دارای PowerShell ISE نیستند.

Notepad را باز کنید. دستور choco upgrade all -y را در Notepad کپی کنید.

با نامگذاری چیزی مانند upgrade-ChocoPackages.ps1، آن را به عنوان اسکریپت PowerShell(PowerShell script) ذخیره کنید . پسوند ps1 به ویندوز می گوید که این یک  اسکریپت PowerShell است(PowerShell script) .

نوع فایل را از Text Documents (*.txt) به All Files (*.*).اگر این کار را نکنید، ویندوز(Windows) آن را ارتقا می دهد-ChocoPackages.ps1.txt(upgrade-ChocoPackages.ps1.txt) و فکر می کند که این فقط یک فایل Notepad است(Notepad file) .

ویندوز دارای یک ویژگی عالی به نام Task Scheduler است. احتمالاً یک کاربر خانگی(home user) معمولی در مورد آن نمی‌داند، اما Task Scheduler ویژگی است که باعث می‌شود بسیاری از چیزها به طور منظم اجرا شوند.

در منوی Start(Start Menu search) در Task Scheduler جستجو کنید . وقتی در نتیجه بالا آمد روی آن کلیک کنید .(Click)

وقتی Task Scheduler باز شد، روی Task Scheduler Library در قسمت سمت چپ بالای پنجره کلیک کنید. با این کار تمام کارهای برنامه ریزی شده ای که در حال حاضر روی رایانه شما تنظیم شده اند را به شما نشان می دهد.

در قسمت Actions در قسمت بالا سمت راست، روی Create Task کلیک کنید . Create Basic Task(Create Basic Task isn) برای این وضعیت مناسب نیست، زیرا بعداً از دستورات استدلال استفاده خواهیم کرد.

در پنجره باز شده، در تب General ، نامی مانند Choco Upgrade All و سپس توضیحاتی(Description ) مانند Updates all software installed by Chocolatey به( Updates all software installed by Chocolatey) کار بدهید . اگر حساب کاربری(user account) فعلی شما یک حساب سرپرست(administrator account) در رایانه شما نیست، از دکمه تغییر کاربر یا گروه(Change User or Group) برای انتخاب حساب سرپرست(Administrator account) استفاده کنید .

شما همچنین باید رمز عبور حساب مدیر را بدانید. (Administrator account)مطمئن(Make) شوید که Run انتخاب شده باشد چه کاربر وارد شده باشد یا نه(Run whether the user is logged on or not) . این به اسکریپت اجازه می‌دهد حتی اگر روی رایانه‌تان نیستید اجرا شود و تمام امتیازاتی را که برای انجام کار نیاز دارد، خواهد داشت.

برگه Triggers(Triggers) جایی است که می‌خواهید کار را در چه زمانی اجرا کنید . برای این، یک بار در هفته باید فراوان باشد. در مثال ما، تنظیم شده است که هر یکشنبه(Sunday) ساعت 1:00 بامداد اجرا شود، برای بهترین عملکرد، زمانی را انتخاب کنید که احتمالاً از رایانه خود استفاده نمی کنید.

توصیه می‌شود اگر کار بیشتر از: اجرا شد، Stop the task را(Stop the task if it runs longer than:) نیز علامت بزنید و مدت زمان را به 2 ساعت تغییر دهید. شما می توانید آن را همانطور که می خواهید تنظیم کنید. برای اینکه ماشه اعمال شود، باید کادر Enabled را در پایین علامت بزنید.

به تب Actions بروید، و ما به کار می گوییم که می خواهیم چه کاری انجام دهد. Action به طور(Action) پیش‌فرض روی Start a Program تنظیم می‌شود . این چیزی است که ما می خواهیم، ​​بنابراین آن را رها کنید. در قسمت Program/script عبارت powershell.exe را تایپ کنید. این به ویندوز اجازه می‌دهد بداند که یک اسکریپت PowerShell را(PowerShell script) اجرا می‌کنید .

در قسمت Add arguments ، آرگومان های زیر را وارد کنید.

-noprofile - این کار از اجرای اسکریپت های (-noprofile)نمایه PowerShell(PowerShell profile) جلوگیری می کند و به آن می گوید که فقط اسکریپت مورد نظر شما را اجرا کند.

-ExecutionPolicy Bypass - اگر مطمئن نیستید که اجرای اسکریپت فعال است، خوب است که این را در آرگومان ها داشته باشید. این اطمینان حاصل می کند که اسکریپت اجرا می شود.

-file - این آرگومان است که به Task Scheduler می گوید که هر آنچه که در ادامه می آید مسیر فایلی است که می خواهیم PowerShell اجرا کند. در مثال ما، اسکریپت در C:\Scripts\upgrade-ChocoPackages.ps1 شد. ممکن است در رایانه شما متفاوت باشد، بنابراین مطابق با آن تنظیم کنید. اگر مسیر فایل شما هر نامی با فاصله در آنها دارد، باید کل مسیر را در داخل نقل قول ها قرار دهید.

آرگومان کامل مانند -noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

در تب Conditions ، گزینه های بیشتری وجود دارد که می توانیم در مورد نحوه اجرای اسکریپت تنظیم کنیم. به آنها نگاه کنید تا ببینید کدام یک را می خواهید درخواست کنید. برای این مثال، روی Start the task فقط در صورتی تنظیم شده است که رایانه روشن است(Start the task only if the computer is on AC power) و اگر رایانه به برق باتری سوئیچ کند، Stop(Stop if the computer switches to battery power ) تنظیم شده است تا اطمینان حاصل شود که باتری تمام نمی شود.

Wake the computer to run this task برای اطمینان از اجرای کار انتخاب شده است، خواه رایانه در حالت خواب باشد یا خیر.

در برگه تنظیمات ، توصیه می‌شود که کادر (Settings )Allow task to be on demand را(Allow task to be run on demand) علامت بزنید تا پس از اتمام کار، بتوانیم کار را به صورت دستی آزمایش کنیم. انتخاب های پیش فرض برای بقیه خوب هستند.

روی OK کلیک کنید تا ایجاد کار برنامه ریزی شده به پایان برسد. پنجره ای باید با نام کاربری که دوباره انتخاب کرده اید در تب General ظاهر شود. شما باید رمز عبور کاربر را وارد کرده و روی (user and click) OK کلیک کنید . این به ویندوز می‌گوید که شما واقعاً اختیار اجرای وظیفه را دارید.

اکنون به پنجره اصلی Task Scheduler(Task Scheduler window) بازگشته اید . وظیفه جدید خود را پیدا کنید برای تست روی کار کلیک راست کرده و (task and select) Run را انتخاب کنید .

هیچ اتفاق مهمی نمی بینید، به جز اینکه وضعیت کار به Running تغییر می کند . در عرض یک دقیقه یا بیشتر، باید ببینید که آخرین زمان اجرا(Last Run Time ) نیز به مهر زمانی که شروع به اجرای کار کردید تغییر می کند.

اگر هیچ پیام خطایی دریافت نکردید، کار باید درست باشد. پنجره Task Scheduler(Task Scheduler window) را ببندید و نگران نباشید که به صورت دستی هر یک از نرم افزارهایی را که با Chocolatey نصب کرده اید به روز کنید.

تمام شد!

ممکن است برای راه اندازی این کار کار زیادی به نظر برسد. این را در نظر بگیرید: بین 10 تا 30 دقیقه طول کشید تا این را تنظیم کنید. اگر از این برای به‌روزرسانی 10 برنامه استفاده می‌کنید، و هر برنامه هر ماه حدود 6 دقیقه طول می‌کشد تا فرآیند به‌روزرسانی را طی کند، بین 30 تا 50 دقیقه صرفه‌جویی کرده‌اید.

شما در حال حاضر در زمان ذخیره شده جلوتر هستید. در طول یک سال، این می تواند 6 تا 10 ساعت در زمان صرفه جویی شود. این شامل زمان صرفه جویی شده با دانستن نحوه استفاده از Chocolatey برای نصب برنامه ها در یک یا دو دقیقه به جای 10 یا 15 دقیقه نمی شود.



About the author

من یک بازبین نرم افزار و مهندس بی سیم با بیش از 10 سال تجربه در این زمینه هستم. من در بررسی برنامه ها و نرم افزارهای تلفن همراه و همچنین کمک به مشتریان برای بهینه سازی شبکه های خود تخصص دارم. از طریق بررسی‌هایم، می‌توانم به شما در تصمیم‌گیری آگاهانه درباره محصولاتی که باید استفاده کنید، نحوه بهبود گردش کار و موارد دیگر کمک کنید. مهارت های من عبارتند از: ارتباط کتبی و شفاهی عالی، حل مسئله، دانش فنی قوی و توجه به جزئیات. من همچنین در کار مستقل و همکاری در پروژه ها مهارت دارم.



Related posts