این دوره آموزشی طراحی شده است تا مهارتهای لینوکس لازم برای متخصصین Cloud و DevOps را ارائه دهد. شرکتکنندگان با مفاهیم پایه و پیشرفته لینوکس، ابزارها، و تکنیکهایی که برای مدیریت زیرساختهای ابری و خودکارسازی فرآیندها نیاز دارند، آشنا میشوند.
پیشنیازهای دوره
- آشنایی ابتدایی با سیستمعامل لینوکس.
- دانش پایه در زمینه Cloud و DevOps (اختیاری ولی مفید).
بخش 1. مقدمهای بر لینوکس برای Cloud و DevOps
فصل 1. اهمیت لینوکس در محیطهای ابری و DevOps
- چرا لینوکس انتخاب اول در Cloud و DevOps است؟
- تسلط لینوکس در سرورها و دیتا سنترها.
- متنباز بودن و پشتیبانی گسترده از ابزارهای Cloud و DevOps.
- سازگاری با تکنولوژیهای نوظهور مانند کانتینرها و Kubernetes.
- مزایای استفاده از لینوکس در زیرساختهای ابری:
- مقیاسپذیری بالا.
- امنیت و پایداری در محیطهای تولیدی.
- پشتیبانی از ابزارهای مدیریت زیرساخت مانند Ansible، Terraform، و Puppet.
فصل 2. معرفی سیستمعاملهای لینوکسی محبوب
- بررسی توزیعهای اصلی لینوکس و مقایسه آنها:
- Ubuntu:
- محبوبترین توزیع برای Cloud و DevOps.
- ابزارهای از پیش نصبشده برای توسعهدهندگان.
- CentOS/RHEL:
- توزیعهای پایدار برای محیطهای سازمانی.
- پشتیبانی از ابزارهای مدیریتی مانند SELinux.
- Debian:
- پایه بسیاری از توزیعها مانند Ubuntu.
- پایداری بالا برای سرورهای حساس.
- Amazon Linux:
- بهینهشده برای AWS.
- قابلیت سازگاری بالا با خدمات ابری.
- Ubuntu:
- معیارهای انتخاب توزیع مناسب:
- پشتیبانی فنی.
- نیازمندیهای پروژه.
- جامعه کاربران و مستندات موجود.
فصل 3. اصول مدیریت کاربران، گروهها و دسترسیها
- تعریف کاربران و گروهها:
- کاربران سیستم (Root، کاربران عادی، و کاربران سیستم).
- گروهها و نحوه مدیریت آنها.
- مدیریت دسترسیها:
- تفاوت سطوح دسترسی در لینوکس (Read, Write, Execute).
- استفاده از دستورات:
useradd،usermod، وuserdelبرای مدیریت کاربران.groupadd،groupmod، وgroupdelبرای مدیریت گروهها.
- کاربردهای DevOps در مدیریت کاربران:
- ایجاد کاربران موقت برای توسعهدهندگان.
- محدودسازی دسترسیها برای افزایش امنیت.
- امنیت در مدیریت کاربران:
- استفاده از فایلهای
sudoers. - بررسی لاگهای دسترسی در
/var/log/auth.log.
- استفاده از فایلهای
بخش 2. مفاهیم پایه لینوکس
فصل 1. مدیریت فایلها و دایرکتوریها
- معرفی ساختار دایرکتوری در لینوکس (مثل
/home,/etc,/var). - استفاده از دستورات اصلی:
ls: مشاهده لیست فایلها و دایرکتوریها.cd: تغییر مسیر به دایرکتوریهای مختلف.cp: کپی کردن فایلها و پوشهها.mv: انتقال یا تغییر نام فایلها.rm: حذف فایلها و دایرکتوریها.
- کار با دستورات جستجو:
find: جستجوی فایلها براساس نام، اندازه، یا ویژگیهای دیگر.grep: جستجو در محتوای فایلها.
- بررسی تفاوت دایرکتوریهای مطلق (
/) و نسبی (.و..).
فصل 2. مدیریت مجوزها و مالکیت
- معرفی سیستم مجوزدهی لینوکس:
- مالک فایل (Owner).
- گروه فایل (Group).
- سایر کاربران (Others).
- تنظیم مجوزها:
chmod: تغییر مجوزهای فایل با استفاده از مقادیر عددی و نمادین.chown: تغییر مالکیت فایل.chgrp: تغییر گروه فایل.
- کار با
umask:- تعیین مقدار پیشفرض مجوز فایلها و دایرکتوریهای جدید.
فصل 3. مدیریت فایلهای متنی
- کار با ویرایشگرهای متنی:
nano: یک ویرایشگر ساده و کاربر پسند.vim: ویرایشگر پیشرفته برای کاربران حرفهای.cat: نمایش محتوای فایلهای متنی.lessوmore: مشاهده محتوای فایلهای بزرگ.
- جستجو و جایگزینی متن در فایلها:
- استفاده از دستورات
sedوawk.
- استفاده از دستورات
- ترکیب دستورات برای پردازش متن:
- استفاده از
grepوcutبرای فیلتر کردن دادهها.
- استفاده از
فصل 4. کار با لینکها
- لینکهای سخت (Hard Link):
- مفهوم و کاربرد.
- نحوه ایجاد با
ln(مانند:ln file1 file2).
- لینکهای نرم (Soft Link یا Symbolic Link):
- تفاوت آن با لینک سخت.
- ایجاد لینک نرم با
ln -s(مانند:ln -s file1 shortcut).
فصل 5. بررسی و مانیتورینگ سیستم فایل
- مشاهده فضای دیسک:
df: نمایش فضای موجود روی پارتیشنها.du: محاسبه فضای استفاده شده توسط فایلها و دایرکتوریها.
- بررسی فایلهای سیستمی:
- استفاده از
fileبرای بررسی نوع فایل. - استفاده از
statبرای مشاهده جزئیات فایل.
- استفاده از
فصل 6. فشردهسازی و مدیریت آرشیو
- کار با ابزارهای فشردهسازی:
gzipوgunzip.tarبرای ایجاد و استخراج آرشیو.zipوunzipبرای فایلهای آرشیوی.
- ترکیب
tarوgzipبرای آرشیو و فشردهسازی (مانند:tar -czvf archive.tar.gz file1 file2).
فصل 7. مدیریت خط فرمان و ترمینال
- استفاده از دستورات:
pwd: نمایش مسیر فعلی.history: مشاهده تاریخچه دستورات.clear: پاک کردن ترمینال.
- استفاده از کلیدهای میانبر:
Ctrl + C: متوقف کردن فرآیند جاری.Ctrl + L: پاک کردن صفحه.Tab: تکمیل خودکار دستورات.
- کار با متغیرها در خط فرمان:
- تنظیم متغیرهای محیطی (
export).
- تنظیم متغیرهای محیطی (
فصل 8. بررسی فایلهای سیستمی و لاگها
- مشاهده لاگها:
- خواندن لاگها در
/var/log. - استفاده از
tailوheadبرای مشاهده خطوط اول یا آخر فایل.
- خواندن لاگها در
- مدیریت فایلهای سیستمی:
- حذف فایلهای موقتی از
/tmp.
- حذف فایلهای موقتی از
فصل 9. مدیریت ورودی و خروجی
- کار با ریدایرکشنها:
>و>>: ذخیره خروجی دستورات در فایل.<: وارد کردن داده از فایل به دستور.
- کار با
pipe(|):- ترکیب چند دستور برای پردازش داده.
بخش 3. مدیریت بستهها و نرمافزارها
فصل 1. مدیریت بستهها در توزیعهای مختلف لینوکس
- Debian/Ubuntu:
- دستورات پایه مدیریت بستهها:
apt-get updateوapt-get upgradeبرای بهروزرسانی سیستم.apt-get install [package_name]برای نصب بسته.apt-get remove [package_name]برای حذف بسته.apt-cache search [keyword]برای جستجوی بستهها.
- مدیریت پیشرفته با
dpkg:dpkg -i [package.deb]برای نصب فایلهای .deb.dpkg -r [package_name]برای حذف بستهها.
- دستورات پایه مدیریت بستهها:
- CentOS/RHEL:
- دستورات مدیریت بسته:
yum install [package_name]برای نصب بسته.yum updateوyum upgradeبرای بهروزرسانی سیستم.yum remove [package_name]برای حذف بسته.yum search [keyword]برای جستجوی بستهها.
- مدیریت پیشرفته با
rpm:rpm -i [package.rpm]برای نصب فایلهای .rpm.rpm -q [package_name]برای بررسی نصب بودن بسته.rpm -e [package_name]برای حذف بسته.
- دستورات مدیریت بسته:
- dnf (جایگزین
yumدر نسخههای جدیدتر CentOS/RHEL):- عملکرد مشابه
yumبا بهینهسازیهای بیشتر.
- عملکرد مشابه
فصل 2. مدیریت مخازن نرمافزاری
- افزودن مخازن جدید:
- Debian/Ubuntu:
- ویرایش فایل
/etc/apt/sources.listبرای افزودن یا حذف مخازن. - استفاده از
add-apt-repository [repository_name].
- ویرایش فایل
- CentOS/RHEL:
- استفاده از فایلهای کانفیگ در مسیر
/etc/yum.repos.d/. - افزودن مخازن جدید با دستورات
yum-config-manager.
- استفاده از فایلهای کانفیگ در مسیر
- Debian/Ubuntu:
- مدیریت کلیدهای GPG مخازن:
- وارد کردن کلیدها با
apt-key addیاrpm --import.
- وارد کردن کلیدها با
فصل 3. نصب و بهروزرسانی نرمافزارها
- نصب بستهها از مخازن:
- دستورهای
apt-get،yum، وdnf.
- دستورهای
- بهروزرسانی سیستم:
apt-get upgradeوapt-get dist-upgrade.yum updateوdnf upgrade.
- مدیریت وابستگیها (Dependencies):
- خودکارسازی مدیریت وابستگیها با ابزارهای APT و YUM.
فصل 4. مدیریت بستهها به صورت دستی
- دانلود و نصب بستهها:
- دانلود فایلهای
.debیا.rpmاز وبسایتها و نصب دستی باdpkgیاrpm.
- دانلود فایلهای
- استخراج محتویات بستهها برای بررسی:
- استفاده از دستور
arبرای بستههای .deb. - استفاده از دستور
rpm2cpioبرای بستههای .rpm.
- استفاده از دستور
فصل 5. عیبیابی در مدیریت بستهها
- بررسی مشکلات نصب:
- بررسی پیامهای خطای مربوط به
dpkgوapt-get. - دستور
apt-get -f installبرای تعمیر وابستگیهای خراب.
- بررسی پیامهای خطای مربوط به
- پاکسازی سیستم:
- استفاده از
apt-get autoremoveوyum clean allبرای حذف فایلهای اضافی.
- استفاده از
- لاگهای مرتبط با مدیریت بستهها:
- مشاهده لاگها در مسیر
/var/log/apt/یا/var/log/yum.log.
- مشاهده لاگها در مسیر
فصل 6. ابزارهای جایگزین برای مدیریت بستهها
- Snap:
- نصب:
snap install [package_name]. - حذف:
snap remove [package_name]. - بررسی:
snap list.
- نصب:
- Flatpak:
- نصب:
flatpak install [repository] [package_name]. - اجرا:
flatpak run [package_name]. - حذف:
flatpak uninstall [package_name].
- نصب:
فصل 7. ساخت و مدیریت بستهها
- ایجاد بستههای شخصی:
- استفاده از ابزار
dpkg-debبرای ساخت بستههای .deb. - استفاده از ابزار
rpmbuildبرای ساخت بستههای .rpm.
- استفاده از ابزار
- مدیریت سورس کد نرمافزارها:
- کامپایل و نصب از سورس:
- دانلود سورس با
git clone. - کامپایل با
makeو نصب باmake install.
- دانلود سورس با
- کامپایل و نصب از سورس:
فصل 8. مقایسه ابزارهای مدیریت بستهها
- APT در مقابل YUM/DNF:
- مزایا و معایب هر ابزار.
- Snap و Flatpak:
- کاربردها در مقابل بستههای کلاسیک.
بخش 4. مدیریت سرویسها و فرآیندها
فصل 1. مدیریت سرویسها با Systemd
- مفاهیم اولیه Systemd:
- معرفی Systemd و نقش آن در مدیریت سرویسها.
- ساختار فایلهای یونیت (Unit Files) در Systemd.
- دستورات اصلی Systemd:
systemctl startوsystemctl stop: شروع و توقف سرویسها.systemctl restartوsystemctl reload: راهاندازی مجدد و بارگذاری مجدد تنظیمات سرویسها.systemctl status: مشاهده وضعیت فعلی سرویسها.
- مدیریت سرویسهای راهاندازی خودکار:
systemctl enableوsystemctl disable: فعال یا غیرفعال کردن سرویسها هنگام بوت سیستم.systemctl list-unit-files --type=service: مشاهده سرویسهای فعال و غیرفعال.
- عیبیابی سرویسها:
journalctl: مشاهده لاگهای سرویسها برای تحلیل مشکلات.- فیلتر کردن لاگها بر اساس نام سرویس یا بازه زمانی.
فصل 2. نظارت و مدیریت فرآیندها
- مفاهیم پایه فرآیندها در لینوکس:
- تفاوت بین فرآیندهای foreground و background.
- مفهوم PID (Process ID) و PPID (Parent Process ID).
- دستورات اصلی برای نظارت بر فرآیندها:
psوps aux: نمایش اطلاعات فرآیندهای در حال اجرا.topوhtop: مانیتورینگ فرآیندها به صورت تعاملی (Interactive).pgrep: جستجوی فرآیندها بر اساس نام.
- کنترل فرآیندها:
killوpkill: خاتمه دادن به فرآیندها.niceوrenice: تغییر اولویت فرآیندها.
- ابزارهای پیشرفته برای نظارت بر فرآیندها:
atop: نظارت جامع بر سیستم و فرآیندها.strace: دیباگ کردن فرآیندها و بررسی رفتار آنها.lsof: بررسی فایلهایی که توسط فرآیندها باز شدهاند.
فصل 3. مدیریت پردازشهای پسزمینه
- اجرای فرآیندها در پسزمینه:
- استفاده از
&برای اجرای دستورات در پسزمینه. - استفاده از
jobsبرای مشاهده فرآیندهای پسزمینه.
- استفاده از
- مدیریت فرآیندهای معلق (Suspended):
fg: بازگرداندن فرآیند به حالت foreground.bg: ادامه دادن فرآیند در پسزمینه.
فصل 4. عیبیابی و رفع مشکلات فرآیندها و سرویسها
- بررسی مشکلات مصرف منابع:
- شناسایی فرآیندهایی که منابع زیادی مصرف میکنند.
- استفاده از ابزارهایی مانند
iotopوvmstat.
- تحلیل لاگهای سیستم و سرویسها:
- بررسی فایلهای لاگ در
/var/log/. - استفاده از
journalctlبرای دسترسی به لاگهای Systemd.
- بررسی فایلهای لاگ در
- مدیریت فرآیندهای گیر کرده (Zombie Processes):
- شناسایی فرآیندهای زامبی با
ps aux | grep Z. - راهحلهای مختلف برای مدیریت فرآیندهای زامبی.
- شناسایی فرآیندهای زامبی با
بخش 5. شبکه در لینوکس برای DevOps و Cloud
فصل 1. تنظیمات شبکه
- معرفی و مفاهیم اولیه شبکه در لینوکس.
- تنظیم آدرسهای IP استاتیک:
- ویرایش فایلهای تنظیمات شبکه (مانند
/etc/network/interfacesیا/etc/sysconfig/network-scripts/).
- ویرایش فایلهای تنظیمات شبکه (مانند
- تنظیم DHCP برای آدرسدهی پویا.
- مدیریت کارتهای شبکه با استفاده از
ipوifconfig.
فصل 2. مدیریت فایلهای تنظیمات شبکه
- ساختار فایلهای تنظیمات شبکه در توزیعهای مختلف:
- Debian/Ubuntu: فایل
/etc/network/interfaces. - RHEL/CentOS: فایلهای
/etc/sysconfig/network-scripts/.
- Debian/Ubuntu: فایل
- استفاده از Network Manager برای مدیریت تنظیمات.
- بازبینی و راهاندازی مجدد سرویسهای شبکه با
systemctl.
فصل 3. بررسی اتصالات شبکه
- استفاده از دستورات زیر برای بررسی اتصال:
ping: بررسی دسترسی به دستگاههای دیگر در شبکه.netstatوss: مشاهده پورتها و اتصالات باز.ip routeوroute: مدیریت و نمایش مسیرها.
فصل 4. رفع مشکلات شبکه
- ابزارهای عیبیابی شبکه:
traceroute: بررسی مسیرهای ارسال داده.tcpdump: تحلیل بستههای شبکه برای رفع مشکلات.
- بررسی فایلهای لاگ مرتبط با شبکه:
- Debian/Ubuntu: فایل
/var/log/syslog. - RHEL/CentOS: فایل
/var/log/messages.
- Debian/Ubuntu: فایل
فصل 5. امنیت شبکه در لینوکس
- مدیریت فایروال:
- کار با
iptablesبرای تنظیم قوانین ترافیکی. - استفاده از
firewalldبرای پیکربندی پویا.
- کار با
- پیکربندی SSH:
- تغییر پورت پیشفرض.
- استفاده از کلیدهای عمومی و خصوصی برای احراز هویت.
- محدودسازی دسترسیها با Fail2Ban.
فصل 6. مدیریت اتصال از راه دور با SSH
- راهاندازی سرور SSH و پیکربندی فایل
sshd_config. - استفاده از ابزارهای SSH:
scp: کپی فایلها بین دستگاهها.ssh-keygen: ایجاد کلیدهای SSH.- مدیریت تونلهای SSH.
- رفع مشکلات متداول در اتصال SSH.
فصل 7. مانیتورینگ ترافیک شبکه
- نظارت بر شبکه با ابزارهای زیر:
iftop: مشاهده مصرف پهنای باند.nload: بررسی جریان ورودی و خروجی داده.
- بررسی پهنای باند و تأخیر با
iperf.
فصل 8. پروتکلها و ابزارهای شبکه در Cloud و DevOps
- معرفی پروتکلهای رایج مانند:
- HTTP/HTTPS، FTP، DNS.
- پیکربندی سرورهای شبکه:
- راهاندازی سرور DNS با
bind. - پیکربندی سرور وب با
nginxیاapache.
- راهاندازی سرور DNS با
فصل 9. مجازیسازی و شبکههای کانتینری
- تنظیم شبکه در محیطهای مجازی مانند Docker:
- بررسی شبکههای پیشفرض Docker (
bridge,host,overlay). - تنظیم شبکههای سفارشی در Docker.
- بررسی شبکههای پیشفرض Docker (
- مدیریت شبکه در Kubernetes:
- استفاده از CNI (Container Network Interface).
- تنظیمات اولیه سرویسها و پادها.
فصل 10. بهینهسازی شبکه برای محیطهای ابری
- پیکربندی شبکههای چندگانه در AWS/GCP/Azure.
- استفاده از VPN و تنظیم تونلهای امن.
- مدیریت شبکههای خصوصی و عمومی در زیرساختهای ابری.
خدمات شبکه فراز نتورک | پیشرو در ارائه خدمات دیتاسنتری و کلود

نقد و بررسی وجود ندارد.