Repository در لینوکس چیست؟ – توضیح مخزن به زبان ساده


نصب نرمافزارهای مختلف بر روی سیستمعامل یکی از کارهای ابتدایی هر مدیر سیستم یا کاربر معمولی است. شیوه نصب نرمافزارها در محیط ویندوز معمولا ساده و سرراست است. کافیست یک فایل اجرایی را اجرا کرده و مراحل مشخصی را دنبال کنید. اما این فرآیند در لینوکس قدری متفاوت است. بیشتر توزیعهای لینوکس از مخازن نرمافزاری پشتیبانی میکنند که نسخههای بهروز و کامپایل شده مختص به آن توزیع لینوکس را در خود ذخیره میکنند. مدیران سیستم به جای دریافت نرمافزارها از وبسایت توزیع تولیدکننده نرمافزار، از Repository در لینوکس برای این کار استفاده میکنند.
ابزارهای مدیریت پکیج که در همه توزیعهای پرکاربرد لینوکس وجود دارند، فهرست نرمافزارها و آخرین بهروزرسانی آنها را از مخازن نرمافزار «Software Repositories» دریافت میکنند و زمانی که مدیر سیستم بخواهد نرمافزاری را از طریق این ابزارها بر روی سیستمعامل نصب کند، ابزار مدیریت پکیج نرمافزار را از یک Repository لینوکس دریافت و آن را روی سیستمعامل نصب میکند. این شیوه مدیریت نرمافزار برای مدیران سیستم مزیتهایی دارد که در ادامه آنها را بررسی خواهیم کرد. در این مقاله از مجله فرادرس ابتدا خواهیدم دید Repository در لینوکس چیست و پس از آن با شیوه مدیریت مخازن در توزیعهای رایج لینوکس آشنا خواهیم شد. در نهایت نیز نکات سادهای را مرور خواهیم کرد که هنگام افزودن Repository به سیستم خود باید به آنها توجه کنید.
Repository در لینوکس چیست؟
همه توزیعهای رایج لینوکس نرمافزارهای خود را بر روی مخازن نرمافزار مخصوص خود میزبانی میکنند. بر خلاف کاربران ویندوز، کاربران لینوکس معمولا نیازی به مراجعه به وبسایت تولیدکننده نرمافزار برای دانلود آن ندارند چراکه نرمافزارها پس از عرضه در مخازن نرمافزار یا Repository ها نگهداری میشوند و ابزارهای مدیریت پکیج از Repository در لینوکس برای دریافت نرمافزارها استفاده میکنند.
مخزن نرمافزار یا Repository در لینوکس یک محل ذخیرهسازی متمرکز است که سیستمهای لینوکس میتوانند نرمافزارها و بهروزرسانیها را از آن دریافت کنند. Repository های مخصوص توزیعهای رایج لینوکس، مانند اوبونتو نسخههایی از نرمافزارها را برای کاربران فراهم میکند که برای استفاده در نسخه مشخصی از یک توزیع خاص کامپایل شده است.

همچنین برای این که یک نرمافزار در این مخازن پذیرفته شود باید با استانداردهایی که توسط سیاستهای توزیع لینوکس مربوطه وضع شده است مطابقت داشته باشد و مجموعهای از آزمونها را با موفقیت پشت سر بگذارد. به این ترتیب مدیران سیستم میتوانند اطمینان داشته باشند که نرمافزارهایی که از یک Repository در لینوکس دریافت میکنند، حداقل مجموعهای از فرآیندهای کنترل کیفی را طی کرده است. همچنین با دریافت نرمافزارها از مخازن نرمافزار، مدیران سیستم ریسکهای امنیتی را کاهش میدهند. در صورتی که یک کاربر نرمافزاری را از یک منبع غیر معتبر دریافت کند، این احتمال مطرح است که نرمافزار دریافت شده، به بدافزار آلوده باشد.
انواع Repository در لینوکس
به طور کلی سه نوع Repository در لینوکس وجود دارد که هرکدام برای استفاده در شرایط خاصی مناسب هستند و کارکرد متفاوتی نسبت به یکدیگر دارند.
Repository پکیج در لینوکس
این نوع Repository ها مجموعهای از پکیجهای نرمافزاری از پیش ساخته شده هستند که میتوانند بر روی یک سیستم لینوکس نصب شوند. معمولا پکیجهایی که در این Repository ها ذخیره شدهاند برای نسخه مشخصی از یک توزیع لینوکس کامپایل شدهاند. این پکیجها برای به کار گرفته شدن توسط ابزار مدیریت پکیج متناسب با یک توزیع لینوکس خاص ساخته شدهاند. مثلا در Repository های پکیج که برای استفاده کاربران اوبونتو ساخته شدهاند، پکیجهای deb ذخیره شدهاند. ابزار مدیریت پکیج موجود در توزیع اوبونتو میتواند این پکیجها را بر روی سیستم نصب کند. Repository های پکیج معمولا توسط کاربران عادی استفاده میشوند.
Repository کد منبع در لینوکس
Repository های کد منبع فایلهای حاوی کد منبع نرمافزارها را در خود ذخیره میکنند. مدیران سیستم از کدهای منبعی که از این Repository ها دریافت میکنند استفاده میکنند تا خودشان نرمافزارها را برای استفاده روی سیستم مشخصی کامپایل کنند. توسعهدهندگان نیز از این مخازن نرمافزاری برای دریافت کد منبع نرمافزارها استفاده میکنند تا بتوانند تغییراتی را در نرمافزارها اعمال کنند و نسخه تغییر یافته نرمافزار را برای سیستم خودشان کامپایل کنند. کاربران عادی اغلب نیازی به استفاده از Repository کد منبع ندارند.
Repository باینری در لینوکس
این نوع از Repository ها نیز حاوی فایلهای از پیش کامپایل شده نرمافزارها هستند و میتوان با استفاده از آنها یک نرمافزار را روی سیستم نصب کرد. تفاوت آنها با Repository های پکیج در این است که این Repository ها حاوی فایلهای باینری هستند که معمولا روی هر سیستم لینوکسی، فارغ از توزیع لینوکس قابل اجرا هستند.
ابزارهای مدیریت پکیج در لینوکس
ابزار مدیریت پکیج یک نرمافزار است که امکان دانلود، نصب، حذف و ارتقا پکیجهای نرمافزاری به صورت خودکار را برای کاربر لینوکس فراهم میکند. این ابزار نقشی حیاتی را در مدیریت نرمافزارها در لینوکس ایفا میکند. ابزارهای مدیریت پکیج نرمافزارهای نصب شده روی سیستم شما را پیگیری میکنند و هر زمان که بهروزرسانی یا نسخه ارتقا یافته برای یک برنامه یا سیستمعامل موجود باشد این موضوع را به کاربر اطلاع میدهند. تمام توزیعهای رایج لینوکس مثل اوبونتو، ردهت و Arch Linux ابزار مدیریت پکیج مخصوص به خود را دارند. ابزارهای مدیریت پکیج برای دریافت نرمافزارها و اطلاعات مربوط به آنها به Repository یا مخازن نرمافزار متکی هستند.
در ادامه این بخش نحوه مدیریت و استفاده از Repository در لینوکس را به کمک ابزارهای مدیریت پکیج در توزیعهای اوبونتو و CentOS مرور خواهیم کرد. ابزار مدیریت پکیج APT که در اوبونتو به کار گرفته شده است، در توزیعهای دبیان، کالی، MATE، Parrot OS و سایر توزیعهای بر پایه دبیان نیز موجود است و دستورهای مربوط به اوبونتو که در این مقاله میخوانید در آنها نیز قابل استفاده هستند. به همین صورت ابزار YUM نیز که در CentOS از آن استفاده شده است در توزیعهای RedHat، فدورا ۲۱ و نسخههای قبل از آن و سایر توزیعهای مبتنی بر RedHat موجود است و دستورات مربوط به CentOS نوشته شده در این مقاله در این توزیعها هم قابل استفاده هستند. همچنین در نظر داشته باشید که در مثالهای این بخش فرض بر این است که دستورها توسط کاربر root اجرا میشود. اگر از یک کاربر غیر root برای اجرای دستورها استفاده میکنید، دستوراتی که نیاز به سطح دسترسی بالاتری دارند را با استفاده از ابزار sudo اجرا کنید.

منظور از پکیج در لینوکس چیست؟
پیش از این چند بار به پکیجهای لینوکس اشاره کردیم و گفتیم که Repository در لینوکس مسئولیت ذخیرهسازی و توزیع پکیجها را به عهده دارد. یک پکیج حاوی تمام فایلهای ضروری، فرادادهها یا «Meta-Data» و دستورالعملها برای پیادهسازی یک عملکرد یا نرمافزار خاص بر روی سیستم است.
تنظیم Repository در اوبونتو
رکوردهای مربوط به مخازن نرمافزاری در همه توزیعهای مبتنی بر دبیان در فایل /etc/apt/sources.list یا فایلهایی با پسوند .list و در مسیر /etc/apt/sources.list.d/ ذخیره میشوند و از همین مسیر میتوانید Repository در لینوکس اوبونتو را تنظیم کنید. در تصویر زیر مثالی از رکوردهای موجود در فایل sources.list را میبینید.

در این فایلها خطوطی که با کاراکتر # شروع میشوند توضیحات «Comment» هستند و صرفا برای مستندسازی و خواندن توسط کاربر نوشته شدهاند. ابزار مدیریت پکیج از پردازش این خطوط صرف نظر میکند.
چهار نوع اصلی مخزن نرمافزار یا Repository در اوبونتو و توضیحات مربوط به آنها را در جدول زیر میبینید:
نوع Repository | توضیحات |
Main | نرمافزارهای آزاد مورد پشتیبانی Canonical |
Universe | نرمافزارهای آزاد و متنباز که توسط جامعه توسعهدهندگان مدیریت میشوند |
Restricted | درایورهای اختصاصی برای دستگاهها |
Multiverse | نرمافزارهای محدود شده به واسطه قانون کپیرایت یا سایر مشکلات حقوقی |
برای مشاهده رکوردهای مربوط به هریک از انواع Repository ها در اوبونتو از دستورات زیر استفاده میکنیم:
cat sources.list | grep -v "^#" | grep -i main cat sources.list | grep -v "^#" | grep -i universe cat sources.list | grep -v "^#" | grep -i restricted cat sources.list | grep -v "^#" | grep -i multiverse
در تصویر زیر خروجی هریک از این دستورها را در یک سیستم اوبونتو میبینید:

هرکدام از خطوطی که با عبارت deb یا deb-src شروع میشوند یک مخزن نرمافزاری یا Repository را به سیستم لینوکس شما اضافه میکنند. عبارت deb یا deb-src نوع Repository را مشخص میکند:
- خطوطی که با عبارت deb شروع میشوند Repository هایی هستند که حاوی پکیجهای باینری و از پیش کامپایل شده هستند. بیشتر کاربران از این Repository ها استفاده میکنند.
- خطوطی که با عبارت deb-src شروع میشوند Repository هایی هستند که حاوی کد منبع پکیجها هستند. این Repository ها بیشتر توسط توسعهدهندگان مورد استفاده قرار میگیرند.
برای درک بهتر یک رکورد Repository در فایل sources.list یا سایر فایلها با پسوند .list رکورد زیر را در نظر بگیرید:
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
در جدول زیر معنی هرکدام از بخشهای این رکورد را میبینید. به همین صورت میتوانید سایر رکوردها در فایل sources.list را بررسی کنید یا رکوردهای جدید به این فایل اضافه کنید.
عبارت | توضیحات |
deb | مشخص میکند که این Repository حاوی پکیجهای باینری و از پیش کامپایل شده است. |
http://archive.ubuntu.com/ubuntu/ | مسیر Repository که میتواند یک آدرس اینترنتی یا مسیری روی دستگاههای ذخیرهسازی یا شبکه باشد. |
bionic | نام نسخه توزیع لینوکس. در این مورد نسخه ۱۸ اوبونتو. |
main | نوع Repository هایی که باید از آدرس مشخص شده دریافت شوند. موردهای این لیست با یک کاراکتر فاصله از یکدیگر جدا میشوند. |
restricted | مانند مورد قبلی یکی از انواع Repository هایی که باید از آدرس مشخص شده دریافت شود. |
برای بررسی نحوه سازماندهی یک Repository در لینوکس میتوانید آدرسی که در مثال بالا مشخص شده است را خودتان بررسی کنید و ساختار دایرکتوریها و فایلهای درون آنها را ببینید. در تصاویر زیر بخشی از Repository مورد استفاده در مثال بالا را میبینید. به ارتباط بین نسخه توزیع لینوکس و نوع Repository های درخواست شده و سازماندهی دایرکتوریها در Repository مورد بررسی در تصاویر دقت کنید:

در تصویر بالا مسیر اصلی Repository رسمی توزیع اوبونتو را میبینید. در دایرکتوری dists مخازن نرمافزار بر اساس نسخه توزیع اوبونتو سازماندهی شدهاند.

همانطور که در تصویر بالا مشخص است Repository های مربوط به هر نسخه از توزیع اوبونتو در ۵ دایرکتوری مختلف سازماندهی میشوند. به طور مثال کاربران bionic میتوانند از Repository های bionic، bionic-security، bionic-updates و bionic-backports استفاده کنند. ریپوزیتوری اصلی برای دریافت پکیجهای سازگار با این توزیع در دایرکتوری bionic ذخیره شده است.

داخل هرکدام از دایرکتوریهایی که در تصویر قبل دیدیم، Repository هایی از انواع main، multiverse، restricted و universe مانند تصویر بالا سازماندهی شدهاند. پیش از این با تفاوت هرکدام از انواع مخازن نرمافزار آشنا شدیم.
افزودن Repository سفارشی در اوبونتو
نرمافزارهای زیادی هستند که به صورت پیشفرض در Repository رسمی اوبونتو یا توزیع لینوکسی که شما از آن استفاده میکنید موجود نیستند. برای نصب این نرمافزارها از طریق ابزار مدیریت پکیج باید Repository سفارشی که نرمافزار مورد نظر شما روی آن ذخیره شده است را به فهرست Repository های مورد استفاده سیستم خود اضافه کنید.
به عنوان یک مثال در این بخش مخزن نرمافزاری Jenkins را به سیستم خود اضافه خواهیم کرد. پیش از افزودن این Repository اگر بخواهید پکیج Jenkins را نصب کنید مانند تصویر زیر با یک پیام خطا مواجه میشوید چراکه این پکیج در Repository های رسمی اوبونتو موجود نیست.

با دنبال کردن مراحل زیر و اجرای دستورهای نوشته شده میتوانیم Repository مورد نظر خود را به سیستم اضافه کنیم.
ابتدا کلید عمومی مربوط به Repository که توسط ابزار مدیریت پکیج استفاده میشود را با وارد کردن دستور زیر به سیستم اضافه میکنیم:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
از وبسایت سازمانی که مدیریت Repository را بر عهده دارد میتوانید برای به دست آوردن آدرس ذخیرهسازی کلید عمومی Repository استفاده کنید. البته بعضی از مخازن نرمافزار نیز از کلید عمومی استفاده نمیکنند، برای افزودن این دسته از Repository ها نیازی به انجام این مرحله نیست. پس از دریافت کلید عمومی یک فایل با پسوند .list ساخته و تنظیمات مربوط به Repository مورد نظر را در آن درج میکنیم:
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
در تصویر زیر نتیجه اجرای این دستورها و بررسی محتویات فایل تازه ایجاد شده را میبینیم:

در نهایت با اجرای دستور زیر پایگاهداده محلی مربوط به پکیجهای ذخیره شده در همه Repository ها را بهروزرسانی میکنیم:
apt-get update
در تصویر زیر از مجله فرادرس میبینیم که هنگام به روزرسانی پایگاهداده محلی پکیجهای موجود، Repository جدیدی که اضافه کردهایم نیز مورد بررسی قرار میگیرد:

حالا اگر دوباره با اجرای دستور زیر اقدام به نصب پکیج Jenkins کنیم این پکیج از Repository جدیدی که به ابزار مدیریت پکیج اضافه کردیم دریافت و نصب میشود.
apt-get install jenkins
در تصویر زیر نتیجه اجرای این دستور را میبینید:

برای افزودن یک Repository جدید به ابزار مدیریت پکیج از دستور add-apt-repository نیز میتوانیم استفاده کنیم. با استفاده از این دستور Repository جدید به فایل sources.list افزوده میشود. نحو این دستور به شکل زیر است:
add-apt-repository [options] repository
مثلا برای افزودن Repository مربوط به Jenkins با استفاده از این دستور باید از آن به این صورت استفاده کنیم:
add-apt-repository 'deb http://pkg.jenkins.io/debian-stable binary/'
همچنین برای حذف یک Repository از سیستم میتوانیم رکوردهای مربوط به آن را از فایل با پسوند .list که رکورد در آن قرار دارد حذف کنیم یا این که از دستور add-apt-repository با نشانه --remove استفاده کنیم. مثلا با استفاده از دستور زیر میتوانید Repository مربوط به Jenkins را از سیستم خود حذف کنید:
add-apt-repository --remove 'deb http://pkg.jenkins.io/debian-stable binary/'
ابزارهای مدیریت پکیج در اوبونتو
چهار نوع ابزار مدیریت پکیج مختلف در اوبونتو در دسترس کاربران است. در جدول زیر توضیح مختصری درباره آنها دادهایم:
ابزار مدیریت پکیج | توضیحات |
apt | apt به عنوان یک زیرمجموعه از دستورهای apt-get و apt-cache برای تعامل سادهتر با سیستم مدیریت پکیج dpkg مورد استفاده قرار میگیرد. |
apt-get | apt-get یک ابزار خط فرمان برای کار با پکیجها است و به عنوان back-end برای تمام ابزارهایی که از کتابخانه APT استفاده میکنند، استفاده میشود. |
aptitude | یک رابط مبتنی بر متن است که به عنوان front-end برای ابزار APT استفاده میشود. |
dpkg | ابزاری برای نصب، حذف، ساخت و مدیریت پکیجهای دبیان با استفاده از فایلهایی با پسوند .deb است. |
دستورهای مدیریت پکیج در اوبونتو
در جدول زیر مجموعهای از دستورها برای عملیات مرتبط با پکیجها در توزیع لینوکس اوبونتو را میبینید:
ابزار مدیریت پکیج | عملیات | مثال |
apt | نصب پکیج | apt install <package_name> -y |
حذف پکیج | apt remove <package_name> -y | |
بهروزرسانی پکیج | apt install --only-upgrade <package_name> | |
فهرست کردن جزئیات پکیج | apt-cache show <package_name> | |
apt-get | نصب پکیج | apt-get install <package_name> |
حذف پکیج | apt-get remove <package_name> | |
بهروزرسانی پکیج | apt-get install <package_name> | |
aptitude | نصب پکیج | aptitude install <package_name> |
حذف پکیج | aptitude remove <package_name> | |
بهروزرسانی پکیج | aptitude install <package_name> | |
فهرست کردن جزئیات پکیج | aptitude show <package_name> | |
dpkg | نصب پکیج | dpkg --install <.deb file> |
حذف پکیج | dpkg -- remove <package_name>
dpkg --purge <package_name> | |
بهروزرسانی پکیج | dpkg --install <.deb file> | |
فهرست کردن جزئیات پکیج | dpkg --list | grep -| <package_name>
dpkg --status <package_name> |
تنظیم Repository در لینوکس توزیع CentOS
تنظیمات مربوط به Repository در لینوکس توزیع CentOS در مسیر /etc/yum.repos.d ذخیره میشوند. نام فایلهایی که در این مسیر اطلاعات مخازن نرمافزاری را ذخیره میکنند باید با پسوند .repo ختم شود. در تصویر زیر محتویات دایرکتوری yum.repos.d را در یک سیستم CentOS نسخه ۷ میبینید:

در تصویر زیر میبینید که محتویات یکی از فایلهای .repo را بررسی کردهایم.
در این فایلها خطوطی که با کاراکتر # شروع میشوند صرفا برای مستندسازی و استفاده کاربران نوشته شدهاند. ابزارهای مدیریت پکیج از پردازش این خطوط صرفنظر میکنند.
افزودن Repository سفارشی در CentOS
برای نصب پکیجهایی که به در Repository رسمی CentOS در دسترس نیستند باید Repository سفارشی که حاوی پکیج موردنظرتان باشد را به سیستم اضافه کنید. در این مثالها Repository سفارشی EPEL را به سیستم لینوکس خود اضافه خواهیم کرد. این Repository سفارشی امکان نصب پکیجهای بیشتری را فراهم میکند.
با استفاده از دستورهای زیر اطلاعات مربوط به پکیج epel-release را جستجو و دریافت میکنیم تا بتوانیم از ابزار مدیریت پکیج YUM برای افزودن مخزن نرمافزاری epel به سیستم استفاده کنیم. ابزار مدیریت پکیج YUM در توزیعهای مبتنی بر RedHat مورد استفاده قرار میگیرد.
yum search epel-release yum info epel-release
در تصویر زیر نتیجه اجرای این دستورها را میبینیم:
حالا به کمک دستور زیر پکیج epel-release را نصب میکنیم:
yum install -y epel-release
پس از اجرای این دستور اگر مسیر /etc/yum.repos.d را بررسی کنید میبینید که فایلهای .repo مربوط به Repository سفارشی epel افزوده شدهاند. نتیجه بررسی این مسیر را در تصویر زیر ببینید:

دستور زیر را اجرا کنید تا افزوده شدن Repository سفارشی epel به سیستم خود را بررسی کنید:
yum repolist
ابزارهای مدیریت پکیج در CentOS
سه نوع ابزار مدیریت پکیج در CentOS وجود دارد. در جدول زیر نام آنها را به همراه توضیح مختصری درمورد هرکدام میبینید.
ابزار مدیریت پکیج | توضیحات |
yum | ابزار مدیریت پکیجی که برای کاربران CentOS فراهم شده است. |
rpm | این ابزار مدیریت پکیج توسط RedHat و توزیعهای مبتنی بر آن به کار گرفته میشود. |
dnf | نسل بعدی ابزار YUM است که توزیعهای مبتنی بر پکیجهای rpm میتوانند از آن استفاده کنند. |
دستورهای مدیریت پکیج در CentOS
در جدولهای زیر دستورهای لازم برای مدیریت پکیجها در CentOS با استفاده از ابزارهای yum، dnf و rpm را میبینید:
برای وارد کردن کلیدهای gpg با استفاده از ابزار rpm این دستور را به شکل زیر استفاده میکنیم:
rpm --import <key_file_path>
استفاده از دستور yum-config-manager در CentOS
ابزار yum-config-manager برای مدیریت تنظیمات Repository در لینوکس توزیع CentOS و سایر توزیعهایی که از YUM بهره میبرند، استفاده میشود. برای افزودن Repository با استفاده از این دستور، آن را به این شکل استفاده میکنیم:
yum-config-manager --add-repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
در مثال بالا، مخزن نرمافزاری jenkins را به سیستم اضافه کردهایم. برای فعال کردن این Repository پس از اجرای دستور بالا از این دستور استفاده میکنیم:
yum-config-manager --enable jenkins
به همین صورت با استفاده از دستور زیر میتوانید یک Repository را غیرفعال کنید:
yum-config-manager --disable jenkins
نکاتی درباره استفاده از Repository در لینوکس
برای این که مطمئن باشید نرمافزارهایی که دریافت میکنید به بدافزارها آلوده نشدهاند همیشه باید سعی کنید فقط از Repository هایی استفاده کنید که سازمانهای معتبر و خوشنامی آنها را مدیریت میکنند. توجه به این موضوع برای تضمین امنیت سیستم شما بسیار مهم است. Repository های رسمی که توسط توزیعهای مختلف لینوکس ارائه میشوند را میتوانید با خیال آسوده استفاده کنید. برای نصب نرمافزارهایی که در این دسته از Repository ها موجود نیستند باید Repository رسمی که توزیع کننده نرمافزار آن را ارائه کرده است را به سیستم خود اضافه کنید تا مطمئن باشید علاوه بر این که نرمافزار مورد نظر خود را به شیوهای ایمن و مطمئن دریافت میکنید، بهروزرسانیهای مربوط به آن را نیز سریع و به صورت خودکار دریافت و روی سیستم نصب میکنید. دریافت سریع بهروزرسانیها نقش مهمی در افزایش ایمنی سیستم شما دارد، معمولا زمانی که یک آسیبپذیری امنیتی برای نرمافزاری شناسایی شود تولید کنندگان آن، آسیبپذیری شناسایی شده را در اولین بهروزرسانی بعدی رفع میکنند، از سوی دیگر با عمومی شدن آسیبپذیری، بدافزارهای جدیدی توسعه پیدا میکنند که از آن برای نفوذ به سیستمها استفاده کنند، به این ترتیب اگر به سرعت نرمافزارهای نصب شده روی سیستم بهروزرسانی نشوند، سیستم شما در معرض آسیبهای مختلفی قرار خواهد گرفت.
موضوع دیگری که لازم است به آن توجه کنید و در این مطلب از مجله فرادرس به آن اشاره کردیم این است که فقط از Repository هایی استفاده کنید که با توزیع لینوکس و نسخه سیستمعامل شما سازگار باشند، استفاده از Repository های دیگر ممکن است پایداری سیستم شما را به شدت کاهش دهند. زمانی که میخواهید یک Repository سفارشی را به سیستم خود اضافه کنید، در مورد آن تحقیق کنید و مطمئن شوید به طور منظم بهروزرسانی میشود.