Product SiteDocumentation Site

دبیان 12

راهنمای دبیان برای مدیر سیستم‌ها

Debian Bookworm from Discovery to Mastery

ويرايش 1

رافایل هرتزوگ

رولاند ماس

Daniel Leidert

اخطار قانونی

ISBN: 979-10-91414-23-4 (English paperback)
ISBN: 979-10-91414-24-1 (English ebook)
این کتاب تحت دو مجوز منطبق با رویکردهای نرم‌افزار آزاد دبیان قرار دارد.
اطلاعیه مجوز Creative Commons:
This book is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
اطلاعیه مجوز GPL:
این کتاب یک مستندسازی آزاد به شمار می‌آید: شما می‌توانید تحت مجوز GPL که توسط بنیاد نرم‌افزار آزاد منتشر شده است، آن را بازنشر کنید یا تغییر دهید، خواه نسخه ۲ مجوز یا (اگر صلاح می‌دانید) نسخه‌های بالاتر.
این کتاب با امید به اینکه مفید واقع شود توزیع می‌گردد. اما بدون هیچ تضمینی، حتی گواهی ضمنی که مربوط به خرید و فروش یا انطباق با هدف خاصی باشد. برای اطلاعات بیشتر به مجوز GPL مراجعه کنید.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

قدردانی خود را نشان دهید

This book is published under a free license because we want everybody to benefit from it. That said maintaining it takes time and lots of effort, and we appreciate being thanked for this. If you find this book valuable, please consider contributing to its continued maintenance either by buying a paperback copy or by making a donation through the book's official website:

چكيده

کتابی جامع از توزیع دبیان، که از نصب اولیه تا تنظیمات سرویس‌ها را شامل می‌شود.
مقدمه
پیشگفتار
1. چرا این کتاب؟
2. این کتاب برای چه افرادی است؟
3. رویکرد عمومی
4. ساختار کتاب
5. Contributing
6. سپاسگزاری
6.1. اندکی تاریخچه
6.2. تشکر ویژه از مشارکت‌کنندگان
6.3. تشکر از مترجمان
6.4. قدردانی‌های شخصی از طرف رافائل
6.5. قدردانی‌های شخصی از رولاند
1. پروژه دبیان
1.1. دبیان چیست؟
1.1.1. یک سیستم عامل چندسکویی
1.1.2. کیفیت نرم‌افزار آزاد
1.1.3. چارچوب قانونی: یک سازمان غیرانتفاعی
1.2. اسناد بنیادین
1.2.1. تعهد نسبت به کاربران
1.2.2. دستورالعمل‌های نرم‌افزار آزاد دبیان
1.3. شیوه اجرایی داخلی در پروژه دبیان
1.3.1. توسعه‌دهندگان دبیان
1.3.2. نقش فعال کاربران
1.3.3. Teams, Blends, and Sub-Projects
1.4. پیگیری اخبار دبیان
1.5. نقش توزیع‌ها
1.5.1. نصب‌کننده: debian-installer
1.5.2. کتابخانه نرم‌افزار
1.6. چرخه‌حیات یک انتشار
1.6.1. وضعیت شاخه آزمایشی
1.6.2. وضعیت شاخه ناپایدار
1.6.3. مهاجرت به شاخه تحت آزمون
1.6.4. ارتقاء از شاخه تحت‌آزمون به پایدار
1.6.5. وضعیت شاخه‌های پایدار سابق و پایدار قدیمی
2. ارائه مورد مطالعاتی
2.1. نیازهای درحال رشد فناوری اطلاعات
2.2. طرح اصلی
2.3. چرا یک توزیع گنو/لینوکس؟
2.4. چرا توزیع دبیان؟
2.4.1. توزیع‌های تجاری و مبتنی بر جامعه کاربری
2.5. Why Debian Bookworm?
3. بررسی ابزار نصب‌شده موجود و مهاجرت
3.1. همزیستی در محیط‌های ناهمگون
3.1.1. ادغام با ماشین‌های ویندوز
3.1.2. Integration with macOS machines
3.1.3. ادغام با سایر ماشین‌های لینوکس/یونیکس
3.2. چگونگی مهاجرت
3.2.1. نظرسنجی و شناسایی خدمات
3.2.2. پشتیبان‌گیری از فایل‌های پیکربندی
3.2.3. سازوکار در اختیار گرفتن یک سرور دبیان موجود
3.2.4. نصب دبیان
3.2.5. نصب و پیکربندی سرویس‌های انتخاب شده
4. نصب
4.1. روش‌های نصب
4.1.1. نصب با استفاده از CD-ROM/DVD-ROM
4.1.2. راه‌اندازی از USB
4.1.3. نصب با راه‌اندازی شبکه
4.1.4. سایر شیوه‌های نصب
4.2. نصب قدم به قدم
4.2.1. شروع و راه‌اندازی برنامه نصب
4.2.2. انتخاب زبان
4.2.3. انتخاب کشور
4.2.4. انتخاب ساختار صفحه‌کلید
4.2.5. شناسایی سخت‌افزار
4.2.6. بارگیری کامپوننت‌ها
4.2.7. شناسایی سخت‌افزار شبکه
4.2.8. پیکربندی شبکه
4.2.9. گذرواژه مدیر
4.2.10. ایجاد اولین کاربر
4.2.11. پیکربندی ساعت
4.2.12. شناسایی دیسک‌ها و سایر دستگاه‌ها
4.2.13. ابزار پارتیشن‌بندی
4.2.14. نصب سیستم پایه
4.2.15. پیکربندی مدیر بسته (apt)
4.2.16. مسابقه محبوبیت بسته‌های دبیان
4.2.17. انتخاب بسته‌ها برای نصب
4.2.18. نصب راه‌انداز GRUB
4.2.19. پایان فرآیند نصب و راه‌اندازی مجدد
4.3. پس از اولین راه‌اندازی سیستم
4.3.1. نصب سایر نرم‌افزارها
4.3.2. بروزرسانی سیستم
5. سیستم بسته‌بندی: اصول و ابزارهای بنیادین
5.1. ساختار یک بسته باینری
5.2. اطلاعات-جانبی بسته
5.2.1. توضیح: فایل control
5.2.2. اسکریپت‌های پیکربندی
5.2.3. Checksums, List of Configuration Files, et al.
5.3. ساختار یک بسته سورس
5.3.1. قالب
5.3.2. کاربرد در دبیان
5.4. مدیریت بسته‌ها با استفاده از dpkg
5.4.1. نصب بسته‌ها
5.4.2. حذف بسته
5.4.3. فراخوانی پایگاه‌داده dpkg و جستجوی فایل‌های .deb
5.4.4. فایل لاگ dpkg
5.4.5. پشتیبانی از چند-معماری
5.5. همزیستی با سایر سیستم‌های بسته‌بندی
6. نگهداری و بروزرسانی: ابزار APT
6.1. پر کردن فایل sources.list
6.1.1. شیوه استفاده
6.1.2. مخازنی برای کاربران Stable
6.1.3. مخازنی برای کاربران Testing و Unstable
6.1.4. استفاده از آینه‌های جایگزین
6.1.5. منابع غیر-رسمی: mentors.debian.net
6.1.6. پروکسی کش برای بسته‌های دبیان
6.2. aptitude, دستورات apt-get و apt
6.2.1. راه‌اندازی
6.2.2. نصب و حذف
6.2.3. بروزرسانی سیستم
6.2.4. گزینه‌های پیکربندی
6.2.5. مدیریت اولویت بسته‌ها
6.2.6. کار با چندین توزیع مختلف
6.2.7. ردیابی خودکار بسته‌های نصب شده
6.2.8. APT Patterns
6.3. دستور apt-cache
6.3.1. The apt-cache policy Command
6.4. The apt-file Command
6.5. رابط‌های کاربری: aptitude و synaptic
6.5.1. aptitude
6.5.2. synaptic
6.6. بررسی صحت بسته‌ها
6.7. بروزرسانی کلی از یک توزیع پایدار به دیگری
6.7.1. فرآیند توصیه‌شده
6.7.2. بررسی مشکلات پس از بروزرسانی کلی
6.7.3. Cleaning Up after an Upgrade
6.8. بروز نگهداشتن یک سیستم
6.9. بروزرسانی‌های خودکار
6.9.1. پیکربندی dpkg
6.9.2. پیکربندی APT
6.9.3. پیکربندی debconf
6.9.4. مدیریت شیوه تعامل با خط فرمان
6.9.5. ترکیب جادویی
6.10. جستجو برای بسته‌ها
7. حل مشکلات و یافتن اطلاعات مرتبط
7.1. منابع مستندات
7.1.1. صفحات راهنما
7.1.2. اسناد info
7.1.3. مستندات خاص
7.1.4. وبسایت‌ها
7.1.5. آموزش‌های (HOWTO)
7.2. فرآیندهای متداول
7.2.1. پیکربندی یک برنامه
7.2.2. نظارت بر فرآیندهای پس‌زمینه
7.2.3. درخواست راهنمایی در میلینگ لیست
7.2.4. گزارش باگ زمانی که مشکل بیش از اندازه دشوار باشد
8. پیکربندی اولیه: شبکه، حساب‌های کاربری، چاپ و ...
8.1. پیکربندی سیستم برای یک زبان دیگر
8.1.1. تنظیم زبان پیش‌فرض
8.1.2. پیکربندی صفحه‌کلید
8.1.3. مهاجرت به UTF-8
8.2. پیکربندی شبکه
8.2.1. رابط Ethernet
8.2.2. Wireless Interface
8.2.3. برقراری ارتباط با PPP از طریق مودم PSTN
8.2.4. برقراری ارتباط از طریق مودم ADSL
8.2.5. پیکربندی خودکار شبکه برای کاربران
8.3. تنظیم Hostname و پیکربندی Name Service
8.3.1. تخصیص نام
8.4. پایگاه‌داده‌های کاربران و گروه‌ها
8.4.1. فهرست کاربران: /etc/passwd
8.4.2. فایل رمزگذاری‌شده و مخفی گذرواژه‌ها: /etc/shadow
8.4.3. تغییر یک حساب کاربری موجود یا گذرواژه آن
8.4.4. غیرفعال‌سازی یک حساب‌کاربری
8.4.5. فهرست گروه: /etc/group
8.5. ایجاد حساب‌های کاربری
8.6. محیط پوسته
8.7. پیکربندی چاپگر
8.8. پیکربندی راه‌انداز اولیه
8.8.1. شناسایی دیسک‌ها
8.8.2. پیکربندی GRUB2
8.8.3. Using GRUB with EFI and Secure Boot
8.9. سایر پیکربندی‌ها: همگام‌سازی زمان، گزارش‌ها، دسترسی اشتراکی...
8.9.1. منطقه‌زمانی
8.9.2. همگام‌سازی زمان
8.9.3. چرخش فایل‌های گزارش
8.9.4. اشتراک‌گذاری دسترسی سطح بالا
8.9.5. فهرست نقاط اتصال
8.9.6. locate و updatedb
8.10. کامپایل یک کرنل
8.10.1. مقدمه و پیش‌نیاز
8.10.2. دریافت منابع
8.10.3. پیکربندی کرنل
8.10.4. کامپایل‌کردن و ساختن بسته
8.10.5. کامپایل‌کردن ماژول‌های خارجی
8.10.6. اعمال یک وصله در کرنل
8.11. نصب یک کرنل
8.11.1. ویژگی‌های یک بسته کرنل در دبیان
8.11.2. نصب با استفاده از dpkg
9. سرویس‌های یونیکس
9.1. راه‌اندازی سیستم
9.1.1. سیستم راه‌انداز systemd
9.1.2. سیستم راه‌انداز System V
9.2. دسترسی از راه‌دور
9.2.1. ورود امن از راه‌دور: SSH
9.2.2. استفاده از میزکارهای گرافیکی راه‌دور
9.3. مدیریت دسترسی
9.3.1. Owners and Permissions
9.3.2. ACLs - Access Control Lists
9.4. رابط‌های مدیریتی
9.4.1. Browser-based Administration: cockpit
9.4.2. مدیریت سیستم با استفاده از یک رابط تحت-وب: webmin
9.4.3. پیکربندی بسته‌ها: debconf
9.5. syslog رویدادهای سیستمی
9.5.1. اصل و مکانیزم
9.5.2. فایل پیکربندی
9.6. ابر-سرور inetd
9.7. زمان‌بندی وظیفه‌ها با cron و atd
9.7.1. قالب یک فایل crontab
9.7.2. استفاده از دستور at
9.8. زمان‌بندی وظیفه‌های غیرهمزمان: anacron
9.9. سهمیه‌بندی
9.10. پشتیبان‌گیری
9.10.1. پشتیبان‌گیری با استفاده از rsync
9.10.2. بازیابی رایانه‌هایی که فایل پشتیبان ندارند
9.11. اتصال سریع: hotplug
9.11.1. مقدمه
9.11.2. مشکل نامگذاری
9.11.3. چگونگی کارکرد udev
9.11.4. یک مثال کامل
9.12. مدیریت نیرو؛ پیکربندی پیشرفته و رابط کار با نیرو (ACPI)
10. زیرساخت شبکه
10.1. Gateway
10.2. X.509 certificates
10.2.1. Creating gratis trusted certificates
10.2.2. زیرساخت کلید عمومی: easy-rsa
10.3. شبکه خصوصی مجازی
10.3.1. OpenVPN
10.3.2. VPN به همراه SSH
10.3.3. IPsec
10.3.4. PPTP
10.4. کیفیت سرویس
10.4.1. اصول و مکانیزم
10.4.2. پیکربندی و پیاده‌سازی
10.5. مسیریابی پویا
10.6. IPv6
10.6.1. تونل‌زنی
10.7. سرورهای نام دامنه (DNS)
10.7.1. DNS software
10.7.2. Configuring bind
10.8. DHCP
10.8.1. پیکربندی
10.8.2. DHCP و DNS
10.9. ابزار بررسی شبکه
10.9.1. بررسی محلی: netstat
10.9.2. بررسی راه‌دور: nmap
10.9.3. اسنیفرها: tcpdump و wireshark
11. سرویس‌های شبکه: Postfix، Apache، NFS، Samba، Squid، LDAP، SIP، XMPP، Turn
11.1. سرور ایمیل
11.1.1. نصب Postfix
11.1.2. پیکربندی دامنه‌های مجازی
11.1.3. محدودیت برای ارسال و دریافت
11.1.4. برپایی فهرست خاکستری
11.1.5. سفارشی‌سازی فیلترها مبتنی بر گیرنده
11.1.6. Integrating an Antivirus Filter
11.1.7. Fighting Spam with SPF, DKIM and DMARC
11.1.8. SMTP احرازهویت شده
11.2. سرور وب (HTTP)
11.2.1. نصب آپاچی
11.2.2. Adding support for SSL
11.2.3. پیکربندی گروه‌های مجازی
11.2.4. عبارت‌های متداول
11.2.5. تحلیلگرهای گزارش
11.3. سرور فایل FTP
11.4. سرور فایل NFS
11.4.1. ایمن‌سازی NFS
11.4.2. سرور NFS
11.4.3. برنامه NFS
11.5. راه‌اندازی اشتراک‌های ویندوز با Samba
11.5.1. سرور سامبا
11.5.2. برنامه سامبا
11.6. پروکسی HTTP/FTP
11.6.1. نصب
11.6.2. پیکربندی یک حافظه نهان
11.6.3. پیکربندی یک فیلتر
11.7. دایرکتوی LDAP
11.7.1. نصب
11.7.2. پرکردن دایرکتوری
11.7.3. مدیریت حساب‌ها با LDAP
11.8. سرویس‌های ارتباطی بلادرنگ
11.8.1. تنظیمات DNS برای سرویس‌های RTC
11.8.2. سرور TURN
11.8.3. سرور پروکسی SIP
11.8.4. سرور XMPP
11.8.5. اجرای سرویس‌ها روی درگاه ۴۴۳
11.8.6. افزودن WebRTC
12. مدیریت پیشرفته
12.1. RAID و LVM
12.1.1. RAID نرم‌افزاری
12.1.2. LVM
12.1.3. RAID یا LVM؟
12.2. مجازی‌سازی
12.2.1. Xen
12.2.2. LXC
12.2.3. مجازی‌سازی با KVM
12.3. نصب خودکار
12.3.1. نصب‌کننده تمام خودکار (FAI)
12.3.2. گردآوری debian-installer
12.3.3. Simple-CDD: یک راهکار جامع
12.4. مانیتورینگ
12.4.1. راه‌اندازی Munin
12.4.2. راه‌اندازی Nagios
13. رومیزی
13.1. پیکربندی سرور X11
13.2. سفارشی‌سازی رابط گرافیکی
13.2.1. انتخاب یک مدیر نمایش
13.2.2. انتخاب یک مدیر پنجره
13.2.3. مدیریت منو
13.3. محیط‌های گرافیکی
13.3.1. GNOME
13.3.2. KDE and Plasma
13.3.3. Xfce و دیگران
13.3.4. Other Desktop Environments
13.4. ایمیل
13.4.1. Evolution
13.4.2. KMail
13.4.3. Thunderbird
13.5. مرورگرهای وب
13.6. توسعه
13.6.1. ابزارهای +GTK در GNOME
13.6.2. Tools for Qt
13.7. مجموعه‌های اداری
13.8. شبیه‌سازی ویندوز: Wine
13.9. نرم‌افزار ارتباط بلادرنگ
14. امنیت
14.1. تعریف خط‌مشی امنیتی
14.2. فایروال یا فیلترینگ بسته
14.2.1. nftables Behavior
14.2.2. Moving from iptables to nftables
14.2.3. Syntax of nft
14.2.4. اجرای قوانین در هر مرتبه راه‌اندازی
14.3. نظارت: پیشگیری، شناسایی، بازدارندگی
14.3.1. مانیتورینگ گزارش‌ها با استفاده از logcheck
14.3.2. فعالیت مانیتورینگ
14.3.3. Avoiding Intrusion
14.3.4. تشخیص تغییرات
14.3.5. تشخیص نفوذ (IDS/NIDS)
14.4. مقدمه‌ای بر AppArmor
14.4.1. اصول
14.4.2. فعال‌سازی و مدیریت پروفایل‌های AppArmor
14.4.3. ایجاد یک پروفایل جدید
14.5. مقدمه‌ای بر SELinux
14.5.1. اصول
14.5.2. راه‌اندازی SELinux
14.5.3. مدیریت یک سیستم SELinux
14.5.4. انطباق قوانین
14.6. سایر ملاحظات مرتبط با امنیت
14.6.1. خطرات ذاتی در برنامه‌های تحت وب
14.6.2. انتظار چه چیزی را داشته باشیم
14.6.3. انتخاب آگاهانه نرم‌افزار
14.6.4. مدیریت یک ماشین به صورت کلی
14.6.5. کاربران به عنوان بازیکنان اصلی
14.6.6. امنیت فیزیکی
14.6.7. مسئولیت قانونی
14.7. مواجهه با یک ماشین نفوذپذیر
14.7.1. شناسایی و مشاهده نفوذ خرابکار
14.7.2. خاموش کردن سرور
14.7.3. نگهداری هر آنچه که می‌تواند به عنوان مدرک استفاده شود
14.7.4. نصب مجدد
14.7.5. بررسی و تحلیل قضایی
14.7.6. بازسازی سناریوی حمله
15. ساخت یک بسته دبیان
15.1. بازسازی یک بسته از منبع آن
15.1.1. دریافت منابع
15.1.2. ایجاد تغییرات
15.1.3. شروع بازسازی
15.2. ساختن اولین بسته شما
15.2.1. Meta-Packages or Fake Packages
15.2.2. Simple File Archive
15.3. Creating a Package Repository for APT
15.4. Becoming a Package Maintainer
15.4.1. Learning to Make Packages
15.4.2. Acceptance Process
16. Conclusion: Debian's Future
16.1. Upcoming Developments
16.2. Debian's Future
16.3. Future of this Book
A. توزیع‌های مشتق شده
A.1. سرشماری آماری و همکاری
A.2. اوبونتو
A.3. لینوکس مینت
A.4. ناپیکس
A.5. اپتوزید و سیداکشن
A.6. Grml
A.7. تیلز
A.8. کالی لینوکس
A.9. دیوان
A.10. دودو لینوکس
A.11. رسپبیان
A.12. PureOS
A.13. SteamOS
A.14. و بسیاری دیگر
B. درس کاربردی کوتاه
B.1. خط فرمان و دستورات ابتدایی
B.1.1. مرور ساختار درختی و مدیریت فایل‌ها
B.1.2. نمایش و تغییر فایل‌های متنی
B.1.3. جستجو به دنبال فایل‌ها و محتویات آن‌ها
B.1.4. مدیریت فرآیندها (پروسه‌ها)
B.1.5. اطلاعات سیستم: حافظه، فضای ذخیره‌سازی، هویت
B.2. سازماندهی سلسله‌مراتب فایل‌سیستم
B.2.1. دایرکتوری ریشه
B.2.2. دایرکتوری خانه کاربر
B.3. طرزکار داخلی یک رایانه: لایه‌های مختلفی درگیر هستند
B.3.1. عمیق‌ترین لایه: سخت‌افزار
B.3.2. راه‌انداز: BIOS یا UEFI
B.3.3. کرنل
B.3.4. فضای کاربری
B.4. برخی از وظایفی که کرنل به آن‌ها رسیدگی می‌کند
B.4.1. مدیریت سخت‌افزار
B.4.2. فایل‌سیستم‌ها
B.4.3. توابع اشتراکی
B.4.4. مدیریت فرآیندها (پروسه‌ها)
B.4.5. مدیریت مجوز
B.5. فضای کاربری
B.5.1. فرآیند
B.5.2. فرآیندهای پس‌زمینه
B.5.3. ارتباطات بین‌-فرآیندی
B.5.4. کتابخانه‌ها