‌‫‌کالس‌درس‬
‫ه‬‫ارائ‬
‌‫رایانش‌ابری‬
‌‫دانشگاه‬
‫تربیت‌مدرس‬
‌‫آرین‌عرب‌نوری‬
(
40061632003
)
‌‫دکتر‌صادق‌دری‬
‫نوگورانی‬
‌‌
‫م‬‫نیمسال‌دو‬
01
-
1400
1401/03/30
‌‫کار‌با‬
snap
‫فهرست‌مطالب‬
‫تئوری‬ ‫بخش‬
‫عملی‬ ‫بخش‬
‫تئوری‬ ‫بخش‬
‫‌های‌بسته‬
‫ت‬‫فرم‬
‫که‬ ‫آرشیوهایی‬
‫هستند‬ ‫آنها‬ ‫اجرای‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫ابرداده‬ ‫و‬ ‫برنامه‬ ‫کد‬ ‫حاوی‬
.
‫مختلفلینوکس‬ ‫های‬‫توزیع‬
‫از‬
‫متفاوت‬ ‫بسته‬ ‫های‬‫فرمت‬
‫پشتیبانی‬
‫کنند‬‫می‬
.
‫و‬ ‫اوبونتو‬
‫قالب‬ ‫از‬ ‫دبیان‬ ‫بر‬ ‫مبتنی‬ ‫های‬‫توزیع‬ ‫سایر‬
‫بسته‬
.deb
‫به‬
‫استفاده‬ ‫بومی‬ ‫صورت‬
‫کنند‬‫می‬
.
‫فدورا‬
،
‫و‬ ‫ردهت‬
CentOS
‫از‬
.rpm
‫استفاده‬
‫کنند‬‫می‬
.
‫های‬‫بسته‬
‫هستند‬ ‫سریع‬ ‫بومی‬
‫ها‬‫وابستگی‬ ‫کاربران‬ ‫خود‬ ‫دارند‬ ‫نیاز‬
‫را‬
‫و‬ ‫روز‬‫به‬
‫حفظ‬
‫کند‬
.
5
35
/
5
‫‌های‌مستقل‬
‫ه‬‫‌کنندگان‌بست‬
‫ع‬‫توزی‬
‫های‬‫بسته‬ ‫کنندگان‬‫توزیع‬
‫ارائه‬ ‫هایی‬‫برنامه‬ ‫مستقل‬
‫شوند‬ ‫اجرا‬ ‫مختلف‬ ‫های‬‫ماشین‬ ‫روی‬ ‫توانند‬‫می‬ ‫که‬ ‫دهند‬‫می‬
.
‫کاربران‬ ‫که‬ ‫وابستگی‬ ‫مشکالت‬
‫لینوکس‬
‫با‬
‫آن‬
‫شوند‬‫می‬ ‫مواجه‬
‫را‬
‫کنند‬‫می‬ ‫رفع‬
‫منجر‬
‫شود‬ ‫می‬ ‫بزرگتر‬ ‫های‬ ‫باینری‬ ‫به‬
.
‫مختلف‬ ‫کنندگان‬‫توزیع‬ ‫میان‬ ‫انتخاب‬
:
AppImage
:
‫و‬ ‫سرعت‬ ‫که‬ ‫سناریوهایی‬ ‫برای‬ ‫مناسب‬
‫برنامه‬ ‫اندازه‬
‫بیشترین‬
‫را‬ ‫اهمیت‬
‫دارند‬
.
snap
:
‫مختلف‬ ‫های‬‫پلتفرم‬ ‫روی‬ ‫اجرا‬ ‫برای‬ ‫مناسب‬
Flatpaks
:
‫دهندگان‬ ‫توسعه‬ ‫به‬ ‫بیشتر‬ ‫کنترل‬ ‫ارائه‬
6
35
/
6
‫‌های‌مستقل‬
‫ه‬‫‌کنندگان‌بست‬
‫ع‬‫مقایسه‌توزی‬
7
35
/
7
snap
‫یک‬
‫سیستم‬
‫بندی‬‫بسته‬
‫توسط‬ ‫یافته‬ ‫توسعه‬
Canonical
‫سال‬ ‫در‬
2014
‫اسنپ‬ ‫نصب‬
‫یک‬
،‫برنامه‬
‫تمام‬ ‫شامل‬
‫ها‬‫کتابخانه‬
‫و‬
‫های‬‫وابستگی‬
‫برنامه‬ ‫آن‬ ‫اجرای‬ ‫برای‬ ‫نیاز‬ ‫مورد‬
‫شود‬‫می‬
.
‫صرفه‬
‫های‬‫سیستم‬ ‫برای‬ ‫مختلف‬ ‫های‬‫ساخت‬ ‫ارائه‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫زمان‬ ‫در‬ ‫جویی‬
‫مختلف‬
8
35
/
8
‌‫وضعیت‬
‌‫‌های‬
‫ل‬‫‌عام‬
‫م‬‫پشتیبانی‌سیست‬
‌‫لینوکس‌از‬
snap
9
35
/
9
‌‫ابزارهای‌اکوسیستم‬
Snap
Snap daemon
snapd
‫هسته‬
‫اکوسیستم‬
‫اسنپ‬
‫مسئولیت‬
:
‫نصب‬
‫اسنپ‬ ‫حذف‬ ‫و‬ ‫مدیریت‬ ،
Snapcraft
‫خط‬ ‫ابزار‬
‫از‬ ‫اسنپ‬ ‫ساخت‬ ‫برای‬ ‫فرمان‬
‫از‬ ‫وسیعی‬ ‫طیف‬
‫منابع‬
Documentation
‫راهنمای‬ ‫شامل‬ ‫وسیعی‬ ‫محدوده‬ ‫بردارنده‬ ‫در‬ ‫مستنداتی‬
‫سریع‬ ‫شروع‬
‫مشخصات‬ ‫وتا‬
‫فنی‬
‫عمیق‬
10
35
/
10
‫اسنپ‬
‫ای‬‫مجموعه‬
‫از‬
‫یک‬
‫برنامه‬
‫و‬
‫های‬‫وابستگی‬
‫آن‬
‫که‬
‫بدون‬
‫تغییر‬
‫در‬
‫بسیاری‬
‫از‬
‫های‬‫توزیع‬
‫مختلف‬
‫لینوکس‬
‫کار‬
‫می‬
‫کند‬
.
‫ها‬‫اسنپ‬
‫از‬
‫فروشگاه‬
،‫اسنپ‬
‫قابل‬
‫کشف‬
‫و‬
‫نصب‬
‫هستند‬
.
11
35
/
11
‫‌ها‬
‫ل‬‫کانا‬
‫مشخص‬
‫کند‬‫می‬
‫رسانی‬ ‫روز‬ ‫به‬ ‫برای‬ ‫و‬ ‫شده‬ ‫نصب‬ ‫اسنپ‬ ‫از‬ ‫نسخه‬ ‫کدام‬
‫شود‬‫می‬ ‫استفاده‬
.
،‫مسیرها‬ ‫از‬ ‫کانال‬ ‫یک‬
‫سطح‬
‫تشکیل‬ ‫ها‬‫شاخه‬ ‫و‬ ‫ریسک‬
‫شده‬
(
<track>/<risk>/<branch>
:)
‫مسیر‬
:
‫توسعه‬
‫نا‬ ‫یک‬ ‫تحت‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫از‬ ‫شده‬ ‫پشتیبانی‬ ‫نسخه‬ ‫چندین‬ ‫تا‬ ‫سازد‬ ‫می‬ ‫قادر‬ ‫را‬ ‫اسنپ‬ ‫دهندگان‬
‫منتشر‬ ‫اسنپ‬ ‫م‬
‫کنند‬
.
‫پیشفرض‬ ‫مسیر‬
:
latest
‫ریسک‬ ‫سطح‬
:
‫دهنده‬ ‫نشان‬
‫ثبات‬ ‫میان‬ ‫موازنه‬
‫و‬
‫های‬‫ویژگی‬
‫جدید‬
‫است‬
.
Stable
،
candidate
،
beta
‫و‬
edge
‫ها‬‫شاخه‬
:
‫را‬ ‫موقتی‬ ‫های‬ ‫نسخه‬ ‫و‬ ‫هستند‬ ‫اختیاری‬
‫که‬
‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫اشکال‬ ‫رفع‬ ‫به‬ ‫کمک‬ ‫برای‬
،‫است‬
‫نگ‬
‫می‬ ‫ه‬
‫دارند‬
.
‫تس‬ ‫و‬ ‫دسترسی‬ ‫اجازه‬ ‫دارند‬ ‫اطالع‬ ‫آن‬ ‫نام‬ ‫از‬ ‫که‬ ‫کاربرانی‬ ‫تنها‬ ‫و‬ ‫نیست‬ ‫مشاهده‬ ‫قابل‬ ‫عمومی‬ ‫صورت‬‫به‬ ‫ها‬‫آن‬ ‫نام‬
‫را‬ ‫ها‬‫آن‬ ‫ت‬
‫دارند‬
.
‫صورت‬ ‫در‬
30
‫شوند‬‫می‬ ‫بسته‬ ‫خودکار‬ ‫صورت‬‫به‬ ،‫تغییر‬ ‫عدم‬ ‫روز‬
.
12
35
/
12
‫‌ها‬
‫ط‬‫مدیریت‌واس‬
‫دهند‬‫می‬ ‫را‬ ‫خارجی‬ ‫منابع‬ ‫به‬ ‫ها‬‫اسنپ‬ ‫دسترسی‬ ‫اجازه‬ ‫ها‬‫واسط‬
.
‫است‬ ‫شده‬ ‫تشکیل‬ ‫دوشاخه‬ ‫و‬ ‫شکاف‬ ‫بین‬ ‫اتصال‬ ‫یک‬ ‫از‬ ‫رابط‬ ‫یک‬
.
‫شکاف‬
‫ارائه‬
‫دهنده‬
‫رابط‬
‫است‬
.
‫دوشاخه‬
‫مصرف‬
‫کننده‬
‫است‬
.
‫یک‬
‫شکاف‬
‫تواند‬‫می‬
‫چندین‬
‫اتصال‬
‫دوشاخه‬
‫را‬
‫پشتیبانی‬
‫کند‬
.
‫لیست‬
‫ها‬‫رابط‬
‫با‬
‫توضیحات‬
:
https://snapcraft.io/docs/supported-interfaces
13
35
/
13
‫عملی‬ ‫بخش‬
‌‫نصب‬
snap
‌‫در‌کالی‬
(
1
)
‫نصب‬
snapd
15
35
/
15
‌‫نصب‬
snap
‌‫در‬
‌‫کالی‬
(
2
)
‫فعالسازی‬
‫های‬‫سرویس‬
snapd
‫و‬
snapd.apparmor
16
35
/
16
Snap daemon
‫فعلی‬‫پایدار‬‫نسخه‬
:
2.54
(
25
‫ژانویه‬‫ام‬
2022
)
‫نسخه‬‫آخرین‬
(
‫استفاده‬‫مورد‬
)
‫وجود‬
‫نسخه‬
2.55.3
17
35
/
17
‫‌ها‬
‫پ‬‫جستجو‌در‌اسن‬
Snap find “subject”
18
35
/
18
‫یافتن‌اطالعات‌یک‌اسنپ‬
snap info <SnapName>
19
35
/
19
‫دریافت‌یک‌اسنپ‬
sudo snap install <SnapName>
20
35
/
20
‫‌ها‬
‫پ‬‫‌های‌مختلف‌اسن‬
‫ل‬‫‌جایی‌میان‌کانا‬
‫ه‬‫جاب‬
Sudo snap switch –channel=edge <SnapName>
21
35
/
21
‫‌سازی‌اسنپ‬
‫ه‬‫مکان‌ذخیر‬
which <SnapName>
/snap/bin
22
35
/
22
‌
‫ا‬‫‌ه‬
‫پ‬‫لیست‌اسن‬
snap list
23
35
/
23
‫‌رورسانی‌اسنپ‬
‫ه‬‫ب‬
‫توسط‬ ‫خودکار‬ ‫صورت‬‫به‬
snapd
:
‫پیشفرض‬
4
‫روز‬ ‫در‬ ‫بار‬
‫دستی‬ ‫صورت‬‫به‬
:
sudo snap refresh
sudo snap refresh <SnapName>
sudo snap refresh --channel=beta <SnapName>
24
35
/
24
‫بازگشت‌یک‌اسنپ‌به‌نسخه‌قبلی‬
sudo snap revert <SnapName>
25
35
/
25
‫‌های‌دریافت‌شده‌از‌یک‌کانال‬
‫ه‬‫نسخ‬
snap list --all <SnapName>
26
35
/
26
‫بازیابی‌آخرین‌نسخه‌دریافت‌شده‬
sudo snap referesh <SnapName>
27
35
/
27
‫‌های‌مورد‌استفاده‌یک‌اسنپ‬
‫ط‬‫راب‬
snap connections <SnapName>
‫وجود‬
–
‫قسمت‬ ‫در‬
slot
‫اسنپ‬ ‫اتصال‬ ‫عدم‬ ‫معنی‬ ‫به‬
‫به‬
‫است‬ ‫موردنظر‬ ‫واسط‬
.
28
35
/
28
‫‌های‌یک‌رابط‬
‫ه‬‫‌ها‌و‌دوشاخ‬
‫ف‬‫شکا‬
snap interface <IntefaceName>
29
35
/
31
‫اتصال‌دستی‌یک‌رابط‬
‫متص‬ ‫هم‬ ‫به‬ ‫توانند‬‫می‬ ‫ای‬‫دوشاخه‬ ‫و‬ ‫شکاف‬ ‫تنها‬
‫ل‬
‫دارند‬ ‫یکسانی‬ ‫رابط‬ ‫که‬ ‫شوند‬
.
‫دستور‬
snap connect
<ConsumerSnap>:<plug interface>
<ProviderSnap>:<slot interface>
30
35
/
29
‫قطع‌اتصال‌یک‌رابط‬
snap disconnect
<ConsumerSnap>:<plug interface>
<ProviderSnap>:<slot interface>
31
35
/
30
‫حذف‌یک‌اسنپ‬
sudo snap remove <SnapName>
32
35
/
32
‫‌ها‬
‫پ‬‫بررسی‌تغییرات‌اسن‬
33
35
/
33
‫منابع‬
1- https://snapcraft.io
2- https://forum.snapcraft.io
35
/
34
‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬
35
/
35

ارائه رایانش ابری.pdf