دوستان و همراهان عزیز ، سرور اختصاصی مترجم فراز نتورک راه اندازی شد ، با توجه به api تخصصی خریداری شده برای سرور ، یه ترجمه حرفه ای تولید کرده و در اختیار شما بزرگواران قرار می دهیم

دانلود کتاب آموزشی لینوکس برای متخصصین Cloud و DevOps جلد اول

دسته‌بندی: برچسب: تاریخ به روز رسانی: 31 خرداد 1405 تعداد بازدید: 539 بازدید

کتاب به زبان فارسی و به صورت ترجمه از منابع خارجی می باشد

تعداد صفحات کتاب : 420

پشتیبانی ایتا پشتیبانی بله پشتیبانی تلگرام

۳۰۰,۰۰۰تومان

torobpay
هر قسط با ترب‌پی: ۷۵,۰۰۰تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
snapppay
هر قسط با اسنپ‌پی: ۷۵,۰۰۰تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

این دوره آموزشی طراحی شده است تا مهارت‌های لینوکس لازم برای متخصصین 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.
      • قابلیت سازگاری بالا با خدمات ابری.
  • معیارهای انتخاب توزیع مناسب:
    • پشتیبانی فنی.
    • نیازمندی‌های پروژه.
    • جامعه کاربران و مستندات موجود.

فصل 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.
  • مدیریت کلیدهای 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

  1. مفاهیم اولیه Systemd:
    • معرفی Systemd و نقش آن در مدیریت سرویس‌ها.
    • ساختار فایل‌های یونیت (Unit Files) در Systemd.
  2. دستورات اصلی Systemd:
    • systemctl start و systemctl stop: شروع و توقف سرویس‌ها.
    • systemctl restart و systemctl reload: راه‌اندازی مجدد و بارگذاری مجدد تنظیمات سرویس‌ها.
    • systemctl status: مشاهده وضعیت فعلی سرویس‌ها.
  3. مدیریت سرویس‌های راه‌اندازی خودکار:
    • systemctl enable و systemctl disable: فعال یا غیرفعال کردن سرویس‌ها هنگام بوت سیستم.
    • systemctl list-unit-files --type=service: مشاهده سرویس‌های فعال و غیرفعال.
  4. عیب‌یابی سرویس‌ها:
    • journalctl: مشاهده لاگ‌های سرویس‌ها برای تحلیل مشکلات.
    • فیلتر کردن لاگ‌ها بر اساس نام سرویس یا بازه زمانی.

فصل 2. نظارت و مدیریت فرآیندها

  1. مفاهیم پایه فرآیندها در لینوکس:
    • تفاوت بین فرآیندهای foreground و background.
    • مفهوم PID (Process ID) و PPID (Parent Process ID).
  2. دستورات اصلی برای نظارت بر فرآیندها:
    • ps و ps aux: نمایش اطلاعات فرآیندهای در حال اجرا.
    • top و htop: مانیتورینگ فرآیندها به صورت تعاملی (Interactive).
    • pgrep: جستجوی فرآیندها بر اساس نام.
  3. کنترل فرآیندها:
    • kill و pkill: خاتمه دادن به فرآیندها.
    • nice و renice: تغییر اولویت فرآیندها.
  4. ابزارهای پیشرفته برای نظارت بر فرآیندها:
    • atop: نظارت جامع بر سیستم و فرآیندها.
    • strace: دیباگ کردن فرآیندها و بررسی رفتار آنها.
    • lsof: بررسی فایل‌هایی که توسط فرآیندها باز شده‌اند.

فصل 3. مدیریت پردازش‌های پس‌زمینه

  1. اجرای فرآیندها در پس‌زمینه:
    • استفاده از & برای اجرای دستورات در پس‌زمینه.
    • استفاده از jobs برای مشاهده فرآیندهای پس‌زمینه.
  2. مدیریت فرآیندهای معلق (Suspended):
    • fg: بازگرداندن فرآیند به حالت foreground.
    • bg: ادامه دادن فرآیند در پس‌زمینه.

فصل 4. عیب‌یابی و رفع مشکلات فرآیندها و سرویس‌ها

  1. بررسی مشکلات مصرف منابع:
    • شناسایی فرآیندهایی که منابع زیادی مصرف می‌کنند.
    • استفاده از ابزارهایی مانند iotop و vmstat.
  2. تحلیل لاگ‌های سیستم و سرویس‌ها:
    • بررسی فایل‌های لاگ در /var/log/.
    • استفاده از journalctl برای دسترسی به لاگ‌های Systemd.
  3. مدیریت فرآیندهای گیر کرده (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/.
  • استفاده از Network Manager برای مدیریت تنظیمات.
  • بازبینی و راه‌اندازی مجدد سرویس‌های شبکه با systemctl.

فصل 3. بررسی اتصالات شبکه

  • استفاده از دستورات زیر برای بررسی اتصال:
    • ping: بررسی دسترسی به دستگاه‌های دیگر در شبکه.
    • netstat و ss: مشاهده پورت‌ها و اتصالات باز.
    • ip route و route: مدیریت و نمایش مسیرها.

فصل 4. رفع مشکلات شبکه

  • ابزارهای عیب‌یابی شبکه:
    • traceroute: بررسی مسیرهای ارسال داده.
    • tcpdump: تحلیل بسته‌های شبکه برای رفع مشکلات.
  • بررسی فایل‌های لاگ مرتبط با شبکه:
    • Debian/Ubuntu: فایل /var/log/syslog.
    • RHEL/CentOS: فایل /var/log/messages.

فصل 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.

فصل 9. مجازی‌سازی و شبکه‌های کانتینری

  • تنظیم شبکه در محیط‌های مجازی مانند Docker:
    • بررسی شبکه‌های پیش‌فرض Docker (bridge, host, overlay).
    • تنظیم شبکه‌های سفارشی در Docker.
  • مدیریت شبکه در Kubernetes:
    • استفاده از CNI (Container Network Interface).
    • تنظیمات اولیه سرویس‌ها و پادها.

فصل 10. بهینه‌سازی شبکه برای محیط‌های ابری

  • پیکربندی شبکه‌های چندگانه در AWS/GCP/Azure.
  • استفاده از VPN و تنظیم تونل‌های امن.
  • مدیریت شبکه‌های خصوصی و عمومی در زیرساخت‌های ابری.
نقد و بررسی‌ها

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

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت