دانشجو پس از پایان دوره در کلیه مباحث زیر به تسلط کامل خواهد رسید.
- آموزش مفاهیم اساسی نرم افزار آزاد و متن باز
- آماده سازی دانشجو برای ورود به شاخه DevOps
- مدیریت فرآیندها در لینوکس
- مدیریت دیسک و پارتیشن بندی
- پیکربندی شبکه در لینوکس
- اسکریپت نویسی Bash
- نظارت و مانیتورینگ سیستم
- مجازی سازی و کانتینرها
اهداف دوره تخصصی Linux
در این دوره آموزشی به تسلط کامل در حوزه لینوکس دست خواهید یافت و به راحتی می توانید در شرکت های داخل و خارج کشور مشغول فعالیت شوید.
این دوره به گونه ای طراحی شده است که دانشجو پس پایان آن می تواند به هر یک از شاخه های برنامه نویسی و DevOps و… ورود پیدا کند و هدف اصلی آن این است که دانشجو بتواند به راحتی با لینوکس ارتباط برقرار کند.
1. مقدمه ای بر لینوکس
- تاریخچه و فلسفه لینوکس
- بررسی انواع توزیع های لینوکس (Debian، Red Hat، Ubuntu، CentOS و غیره)
- نصب و راه اندازی سیستم عامل لینوکس
- مفاهیم اساسی نرم افزار آزاد و متن باز (FOSS)
2. آشنایی با خط فرمان (Shell & Terminal)
- مفهوم و اهمیت Shell در لینوکس
- معرفی انواع Shell (Bash، Zsh و غیره)
- دستورات ابتدایی خط فرمان (ls، cd، pwd، mkdir، rm و غیره)
- مدیریت فایل ها و دایرکتوری ها در ترمینال
- استفاده از دستورات ترکیبی و Pipe (
|
) و Redirect (>
,<
)
3. مدیریت کاربران و مجوزها (Permissions)
- ایجاد، حذف و مدیریت کاربران و گروه ها
- سیستم مجوزهای لینوکس (Owner, Group, Others)
- دستورات chmod، chown، chgrp
- سطوح دسترسی (r, w, x) و نحوه تغییر آن ها
4. مدیریت بسته ها (Package Management)
- مفهوم بسته های نرم افزاری و مدیریت آن ها
- مدیران بسته ها در توزیع های مختلف:
- APT در دبیان و اوبونتو
- YUM و DNF در توزیع های مبتنی بر Red Hat
- Pacman در Arch Linux
- نصب، به روزرسانی و حذف بسته های نرم افزاری
5. مدیریت فرآیندها (Processes)
- درک مفهوم فرآیندها (Processes) در لینوکس
- دستورات مدیریت فرآیندها: ps، top، htop، kill، nice
- اجرای فرآیندها در پس زمینه (
&
،nohup
) - مدیریت فرآیندهای معلق و متوقف شده
6. مدیریت سرویس ها و Daemon ها
- مفهوم سرویس و Daemon در لینوکس
- استفاده از systemctl و service برای مدیریت سرویس ها
- مشاهده وضعیت، شروع و متوقف کردن سرویس ها
- پیکربندی سرویس های راه اندازی خودکار (Autostart)
7. مدیریت دیسک و پارتیشن بندی
- ساختار فایل سیستم در لینوکس (ext4, xfs, btrfs و غیره)
- دستورات مدیریت دیسک: df، du، fdisk، lsblk
- نحوه پارتیشن بندی دیسک ها
- مدیریت نقاط نصب (Mounting) و پیکربندی fstab
8. پیکربندی شبکه در لینوکس
- مفاهیم پایه شبکه (IP، Subnet، Gateway)
- تنظیم و پیکربندی شبکه در لینوکس
- دستورات شبکه: ifconfig، ip، ping، netstat، traceroute
- پیکربندی فایل های شبکه:
/etc/network/interfaces
،/etc/hosts
- استفاده از ابزارهای پیشرفته مانند Wireshark و tcpdump
9. پشتیبان گیری و بازیابی (Backup & Restore)
- ابزارهای پشتیبان گیری: tar، rsync
- ایجاد و بازیابی بکاپ های محلی و ریموت
- برنامه ریزی پشتیبان گیری با cron و crontab
- مدیریت نسخه های پشتیبان
10. امنیت و فایروال در لینوکس
- مفاهیم پایه امنیت در لینوکس
- مدیریت فایروال ها: UFW، iptables
- مفاهیم SELinux و AppArmor
- به روزرسانی و مدیریت بسته های امنیتی
- شناسایی و مدیریت آسیب پذیری ها
11. اسکریپت نویسی Bash
- مقدمه ای بر اسکریپت نویسی در Bash
- متغیرها، دستورات شرطی و حلقه ها در Bash
- ایجاد و اجرای اسکریپت های Bash
- استفاده از اسکریپت ها برای خودکارسازی کارها
12. نظارت و مانیتورینگ سیستم
- نظارت بر منابع سیستم: CPU، RAM، دیسک، شبکه
- ابزارهای مانیتورینگ: top، htop، vmstat، iostat
- استفاده از ابزارهای پیشرفته مانند Nagios و Zabbix
- بررسی لاگ ها:
/var/log
و ابزارهای مانند journalctl
13. مجازی سازی و کانتینرها
- مقدمه ای بر مجازی سازی (Virtualization)
- نصب و پیکربندی KVM و VirtualBox
- آشنایی با Docker و کانتینرها
- مدیریت و استفاده از Docker برای اجرای سرویس های ایزوله
14. سیستم عامل های پیشرفته و High Availability
- مفهوم کلاسترینگ و High Availability در لینوکس
- پیکربندی RAID
- راه اندازی Load Balancer و مدیریت ترافیک
- استفاده از ابزارهایی مانند HAProxy، Keepalived
15. پروژه عملی
- پیاده سازی یک سیستم واقعی مبتنی بر لینوکس
- انجام مراحل نصب، پیکربندی، بهینه سازی و امنیت سیستم
- پیاده سازی یک وب سرور (Apache/Nginx) یا سرور ایمیل
- ارزیابی عملکرد و امنیت پروژه