انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: norouzi90 در 12 مهر 1404، 03:40 ب‌ظ

عنوان: نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 03:40 ب‌ظ
با سلام و عرض ادب و احترام.

در اینترنت صفحه وبی که آموزش نصب دبیان از طریق Debootstrap را می داد را دیدم:
https://ianlecorbeau.com/blog/debian-debootstrap-install.html (https://ianlecorbeau.com/blog/debian-debootstrap-install.html)
عکس های مربوط به این نصب ایشان را در این ارسالی و ارسال بعدی گذاشته ام.

علاقه‌مند شدم که من هم تلاشم را برای نصب Debian GNU/Linux 13.1.0 _Trixie  را از طریق روشی که ایشان گفته، بکار ببرم.
چون دوست دارم، این ها را در سیستم اصلی ام اجرا می نمایم و نه در ماشین مجازی.
در ارسال های بعدی کارهایی که در اینباره انجام داده ام و اشکالات و سؤالاتی که با آنها مواجه شده ام را خدمتتان ارسال می نمایم.


عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 03:43 ب‌ظ
ادامه عکس ها:
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: رسول سعیدنژاد در 12 مهر 1404، 03:56 ب‌ظ
سال ۲۰۱۵ یک مقاله با همین موضوع در سایت اوبونتو نیوز نوشته بودم. یادش بخیر.
فایل PDFش رو اگه خواستی برات می‌فرستم. هرچند از اون سال تا الان یک سری از موارد قطعاً تغییر کرده ولی سر راست و خلاصه هست.

پ.ن: با این روش شما اوبونتو رو هم می‌تونی نصب کنی. بستگی داره چه مخزنی از توزیع‌های برپایهٔ دبیان بهش بدی.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 04:06 ب‌ظ
ممنون آقای سعیدنژاد از محبتتان، ممنون می شوم که فایل مربوطه را برایم بفرستید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: رسول سعیدنژاد در 12 مهر 1404، 06:09 ب‌ظ
ممنون آقای سعیدنژاد از محبتتان، ممنون می شوم که فایل مربوطه را برایم بفرستید.

خدمت شما
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 06:25 ب‌ظ
خیلی محبت فرمودید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 07:23 ب‌ظ
با رخصت و اجازه از استاد عزیزم آقای سعیدنژاد، فعلاً روش  Ian LeCorbeau را ادامه می دهم.


 مرحله 1)
ابتدا یکی از دبیان های  لایو را از لینک زیر دانلود کردم.:
https://cdimage.debian.org/images/release/current-live/amd64/iso-hybrid/ (https://cdimage.debian.org/images/release/current-live/amd64/iso-hybrid/)

من  debian-live-13.1.0-amd64-cinnamon.iso  را انتخاب کردم.



مرحله 2) 

 نرم‌افزار tmux  را نصب می کنیم:
 sudo apt install tmux
مرحله 3)  عکس 1

از این به بعد من از نرم‌افزار tmux استفاده می نمایم. کافیست در ترمینال tmux را بنویسید و اینتر را بزنید تا این برنامه اجرا شود.
بسته های debootstrap  و   arch-install-scripts  را نصب می نمایم:
# apt update && apt install debootstrap arch-install-scripts -y
مرحله 4) عکس های 2 ، 3 ، 4 و 5


چون من می خواهم به روش EFI ، دبیان را نصب کنم، پس بهتر است که پارتیشن های EFI و
swap و root و home را بسازم.

برای من پارتیشن بندی ها به این نحو خواهد شد:

dev/sda1 برای پارتیشن EFI
dev/sda2 برای پارتیشن swap
dev/sda3 برای پارتیشن  root
dev/sda4 برای پارتیشن home
 
یادتان باشد برای اینکه خطا ندهد، پارتیشن ها را unmount کنید.
من در اینجا از این دستورات استفاده کردم:
#  mkfs.fat -F 32 /dev/sda1

# mkswap /dev/sda2

# swapon /dev/sda2

# mkfs.ext4 /dev/sda3

# mkfs.ext4 /dev/sda4



سوال:
با توجه به
نقل‌قول
Do yourself a favor before starting, and either use tmux or drop to a tty. Reason: some terminals might misbehave when chrooted in the bootstrapped environment due to some missing packages. Using tmux or a TTY is quicker and simpler than hunting down those missing packages which will inevitably get installed later when you’re finished with this process.

آیا پیشنهاد می کنید که به‌طور کل همیشه  بجای ترمینال از  tmux استفاده کنیم؟

سوال:
ایشان در اینجا
    On EFI systems:

# mkfs.fat -F 32 /dev/sdX1
# mkswap /dev/sdX2
# swapon /dev/sdX2
# mkfs.ext4 /dev/sdX3
# mkfs.ext4 /dev/sdX4

# mount /dev/sdX3 /mnt
# mkdir -p /mnt/{boot,home}
# mount /dev/sdX1 /boot/efi
# mount /dev/sdX4 /mnt/home

    On legacy/bios systems:

# mkswap /dev/sdX1
# swapon /dev/sdX1
# mkfs.ext4 /dev/sdX2
# mkfs.ext4 /dev/sdX3

# mount /dev/sdX2 /mnt
# mkdir -p /mnt/home
# mount /dev/sdX3 /mnt/home

 برای پارتیشن بندی هم روش EFI systems و هم روش legacy/bios systems را گفته است. هر چند که من می خواهم از روش EFI استفاده نمایم، آیا می شود دبیان 13 را به حالت legacy/bios  نصب کرد؟ چرا ایشان روش  legacy/bios را هم گفته است؟

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 09:30 ب‌ظ
مرحله 5)
بعد از فرمت کردن پارتیشن ها، این سه دستور با موفقیت انجام شد: عکس 1
# mount /dev/sda3 /mnt

# mkdir -p /mnt/{boot,home}

# mount /dev/sda4 /mnt/home



اشکال:
ولی در این دستور خطا داد: عکس 2
# mount /dev/sda1 /boot/efi
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 12 مهر 1404، 10:14 ب‌ظ
این خروجی دقیقاً نشان می‌دهد چرا mount خطا داده :
mount: /boot/efi: mount point does not exist.
یعنی پوشه‌ای به نام /boot/efi در حال حاضر در سیستم زنده (Live Debian) وجود ندارد.
اما نکته مهم‌تر این است که شما باید در مسیر هدف نصب (یعنی داخل /mnt) مونت کنید، نه در مسیر سیستم زنده.
اگر root را روی /dev/sda3 مونت کرده‌اید (همان‌طور که گفتید)، مراحل درست به ترتیب این است:
# mount /dev/sda3 /mnt
# mkdir -p /mnt/{boot,home}
# mount /dev/sda4 /mnt/home
# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
/boot/efi باید داخل /mnt ساخته شود، چون هنوز دارید محیط جدید دبیان را آماده می‌کنید، نه سیستم فعلی لایو را.

اگر بعد از این دستورات خروجی mount را اجرا کنید:

mount | grep sda


باید چیزی شبیه به این ببینید:
/dev/sda3 on /mnt type ext4 (...)
/dev/sda4 on /mnt/home type ext4 (...)
/dev/sda1 on /mnt/boot/efi type vfat (...)

که نشان می‌دهد همه چیز درست مونت شده و آماده اجرای debootstrap است.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 12 مهر 1404، 10:52 ب‌ظ
آفرین برآقای Chappie .
با توضیحات شما الان متوجه شدم!!!
همچنانکه در عکس 1 ،گذاشته ام نویسنده مطلب بجای /mnt/boot/efi  از  /boot/efi  استفاده کرده بود، و
همچنین پوشه /mnt/boot/efi را نساخته بود و من از ایشان کپی کرده بودم و خطا داده بود.
ممنون.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 12 مهر 1404، 11:03 ب‌ظ
✋🙏
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 13 مهر 1404، 09:40 ق‌ظ
در مورد اون دو سوالی که بالاتر بولد کردید :
جواب سوال اول :
وقتی داخل محیط زنده (Live) یا SSH هستی:
اگر ارتباط قطع شود یا ترمینال بسته شود، دستوراتی که در حال اجرا هستند متوقف می‌شوند.
در محیط chroot برخی ابزارها (مثل terminfo, ncurses, locale) هنوز نصب نشده‌اند، و ترمینال گاهی رفتار عجیبی دارد.
اما وقتی از tmux استفاده کنی:
جلسه‌ی کاری تو در حافظه می‌ماند، حتی اگر ترمینال بسته شود.
می‌توانی دوباره با tmux attach به همان نقطه برگردی.
در صورت خطا در ترمینال، tmux از قطع شدن ارتباط جلوگیری می‌کند.
- - -
جواب سوال دوم :
دبیان ۱۳ (Trixie) هم مثل نسخه‌های قبل از هر دو روش UEFI و Legacy BIOS (CSM) پشتیبانی می‌کند.
چون روش debootstrap «نصب دستی» است، نه محدود به نوع خاصی از سیستم.
او خواسته که مقاله‌اش برای هر دو نوع سخت‌افزار (قدیمی و جدید) قابل استفاده باشد.
مثلاً:
اگر کسی لپ‌تاپ جدید دارد → از روش EFI استفاده کند.
اگر کسی سیستم قدیمی‌تر دارد (یا با VirtualBox کار می‌کند که BIOS emulation دارد) → روش legacy را بزند.
به عبارت بهتر دلیلش اینه که هر دو مدل را در مقاله اش گفته باشد . دلیل خاصی ندارد .
- - -
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 13 مهر 1404، 09:40 ق‌ظ
اصلاح مرحله 5)

همانطور که آقای Chappie گفتند، ترتیب درست این مرحله بدین صورت است:
عکس 1
# mount /dev/sda3 /mnt
# mkdir -p /mnt/{boot,home}
# mount /dev/sda4 /mnt/home
# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
   

و برای اینکه ببینیم  همه چیز درست مونت شده و آماده اجرای debootstrap است، از این دستور استفاده می کنیم:
عکس 2
mount | grep sda
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 13 مهر 1404، 01:09 ب‌ظ
با تشکر از آقای Chappie ، بخاطر پاسخ‌گویی به دو سؤال قبلی.


مرحله 6)
 ابتدا بایستی مشخص کنیم که آیا  debootstrap ، نسخه ی دبیانی که ما می خواهیم نصب کنیم، را پشتیبانی می کند یا نه؟
نقل‌قول
debootstrap شامل اسکریپت‌هایی است که به جز Debian، توانایی راه‌اندازی سایر توزیع‌ها از جمله Ubuntu و Devuan را دارد. برای بررسی نسخه‌های مختلف پشتیبانی شده از توزیع‌های مذکور می‌توان از دستور زیر استفاده کرد.


$ ls /usr/share/debootstrap/scripts/

https://wiki.ubuntu-ir.org/wiki/Debootstrap (https://wiki.ubuntu-ir.org/wiki/Debootstrap)

با این دستور اجرا کنید:
# ls  /usr/share/debootstrap/scripts/
همانطورکه در عکس 1 می بینید از  Debian Trixie ، پشیبانی می کند.


عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 14 مهر 1404، 01:53 ب‌ظ
مرحله 7)

در ادامه می رسیم به:
Deboostrap
With the disk partitioned and partitions mounted, we now run the debootstrap command.
We will need a cli text editor in the chroot to modify some files,
so we include one already. I use vim, but choose whatever floats your boat.

# /usr/sbin/debootstrap --variant=minbase --include=vim bookworm \
# /mnt http://deb.debian.org/debian/

ولی دو دستوری که در اینجا قرار داده شده برای من به‌درستی کار نکرد. هرچند که بجای bookworm از کلمه trixie استفاده کردم، ولی بهرحال درست کار نکرد.

بنابراین من از دستور دیگری استفاده می نمایم:
# /usr/sbin/debootstrap  --variant=minbase --include=vim  trixie  /mnt  http://deb.debian.org/debian/
عکس 1 و 2 و 3
اینبار بنظرم با این دستور نتیجه دلخواه را گرفتیم.
بنظر من برای اینکه ببینیم که آیا این دستور به‌درستی کار کرده است یا نه، باید توجه کنیم که در   آخر خروجی دستور بالا این جمله  Base system installed successfully نوشته شده باشد.
و دیگر اینکه برویم در دایرکتوری mnt و نگاه کنیم که دایرکتوری های مربوطه واقعا نصب شده است یا نه. عکس 3 نشان می دهد که با این دستور دایرکتوری های مربوطه نصب شده اند.
با مقایسه بین عکس 3 که ماحصل دستور Deboostrap  با عکس 4 که مربوط به دایرکتوری های ریشه توزیع زنده دبیان است، در همان نگاه اول می توان دید که دو فایل
initrd.img  و  vmlinuz
هنوز در سیستمی که می خواهیم طراحی کنیم، ایجاد نگردیده اند.

توضیح اضافی:
variant=minbase-- یعنی فقط بسته های ضروری و apt را نصب کن.
include=vim--  یعنی اینکه نرم‌افزار vim  ( که در chroot لازممان می شود) را هم برایم نصب کن.
trixie  نام دبیانی که می خواهیم نصب شود است.
mnt/  مسیری که بایستی فایل های دانلود شده در آن ریخته شود.
/http://deb.debian.org/debian  برو به این آدرس و فایل ها و پوشه های مربوطه را برایم دانلود کن.

سوال:
اگر بخواهیم برای ساختارهای دیگر، دبیان را پیکربندی کنیم، آیا می توانیم از آپشن های زیر استفاده کنیم:
arch amd64--
arch arm--

سوال:
سازندگان توزیع های نشأت گرفته از دبیان مانند ubuntu و mint و antix و …  آیا برای ساخت توزیع اشان از
Deboostrap استفاده می کنند؟

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 14 مهر 1404، 02:21 ب‌ظ
علامت \ در انتهای خط در شل (bash) یعنی:
«این دستور هنوز تمام نشده، ادامه‌اش در خط بعد است.»
در مثال اصلی:/usr/sbin/debootstrap --variant=minbase --include=vim trixie \
/mnt http://deb.debian.org/debian/
این دو خط در واقع یک دستور واحد هستند.
اگر بخواهی در یک خط بنویسی (بدون \)، باید دقیقاً همین‌طور باشد:
/usr/sbin/debootstrap --variant=minbase --include=vim trixie /mnt http://deb.debian.org/debian/هم این فرم یک‌خطی درست است
هم فرم دوخطی با \ (که فقط برای خوانایی بیشتر استفاده می‌شود)


عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 14 مهر 1404، 02:34 ب‌ظ
درباره نبود فایل‌های vmlinuz و initrd.img
 در خروجی فعلی /mnt این دو فایل هنوز وجود ندارند، چون debootstrap فقط سیستم پایه را نصب کرده (بدون کرنل).
اینا بعد از ورود به chroot و اجرای دستور شبیه به این ساخته می‌شن - دقیقش رو سرچ کنید:
apt install linux-image-amd64در مورد وارد شدن به محیط chroot هم فایل نمونه ای که آقای سعیدنژاد همینجا قرار داد میتونه مثال خوبی باشه ولی برای ستاپ شما دقیق نمیدونم .
- - -
درباره‌ی گزینه‌ی --arch
بله دقیقاً همین‌طور است.
با --arch می‌تونی مشخص کنی برای چه معماری (CPU Architecture) سیستم ساخته شود.
# برای سیستم‌های ۶۴ بیتی (معمولی)
--arch=amd64

# برای سیستم‌های ۳۲ بیتی قدیمی
--arch=i386

# برای سیستم‌های مبتنی بر ARM (مثل رزبری‌پای)
--arch=armhf   # 32-bit ARM
--arch=arm64   # 64-bit ARM
- - -
آیا سازندگان توزیع‌های مشتق‌شده از Debian (مثل Ubuntu، Mint،  و...) از debootstrap استفاده می‌کنند؟

بله، تقریباً همه‌ی آن‌ها در مراحل اولیهٔ build از debootstrap یا ابزار مشابهش استفاده می‌کنند.
اما بعد از آن مرحله، معمولاً یک سیستم ساخت بزرگ‌تر دارند که تنظیمات، بسته‌ها و ظاهر را اضافه می‌کند.
- - -
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 14 مهر 1404، 03:25 ب‌ظ
با تشکر مجدد از آقای Chappie بخاطر تمام محبت هایشان.

علامت \ در انتهای خط در شل (bash) یعنی:
«این دستور هنوز تمام نشده، ادامه‌اش در خط بعد است.»
در مثال اصلی:/usr/sbin/debootstrap --variant=minbase --include=vim trixie \
/mnt http://deb.debian.org/debian/

سر در نمی آورم،
اگر بخواهم در ترمینال از این روش استفاده کنم، بعد از نوشتن اولین دستور در ترمینال چکار کنم؟ اینتر بزنم؟ اگر اینتر را بزنم که این دستور اجرا می شود و اگر بخواهم دستور دوم را بعدا بنویسم خطا می دهد!!
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 14 مهر 1404، 03:27 ب‌ظ
اجراء چند دستور پشت سرهم
touch; ls
ادامه دادن یک دستور در چند خط
touch file1 \
file2
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 14 مهر 1404، 04:05 ب‌ظ
با تشکر از آقایان نوروزی و بریتانیای کبیر عزیز.
این اسکریپت رو دانلود کنید و اجرا کنید .
اسکریپت رو هم بخونید واضح میشه براتون
زمانی  که یک خط در ترمینال خیلی طولانی و ناخوانا میشه  از این راه  استفاده میکنند .
در فایلهای کانفیگ هم دیدم که استفاده میشه .
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 14 مهر 1404، 04:30 ب‌ظ
اگر در ترمینال بنویسی:
/usr/sbin/debootstrap --variant=minbase --include=vim trixie \
و بعد Enter بزنی، Bash به تو < نشان می‌دهد و منتظر ادامه می‌ماند.
حالا خط بعدی را بنویس:
/mnt https://deb.debian.org/debian/و بعد Enter بزن.
Bash این دو خط را به‌صورت زیر درک می‌کند:
/usr/sbin/debootstrap --variant=minbase --include=vim trixie /mnt https://deb.debian.org/debian/
و آن‌وقت همان موقع اجرا می‌شود.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 14 مهر 1404، 04:37 ب‌ظ
درست در نمی آید چون عکس 1
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 14 مهر 1404، 04:47 ب‌ظ
نکتهٔ خیلی مهم
احتمالا بعد از \ شما یا tab زدید یا کلید space رو زدید
یعنی این اشتباهه :
echo hello \   # <== اشتباه! چون بعد از \ فاصله هست
world
باید دقیقاً \ آخرین کاراکتر خط باشه.
در غیر این صورت Bash فکر می‌کنه دستور تموم شده و بعدی جداست.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 14 مهر 1404، 05:41 ب‌ظ
درست شد.خیلی ممنون.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 14 مهر 1404، 05:45 ب‌ظ
این موضوع هدفش چیه؟
معرفی یا آموزش؟ بهتره اگه مورد دوم باشه در ویکی بذاریدش و البته خیلی نظم بیشتری داشته باشه
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 15 مهر 1404، 12:26 ق‌ظ
این موضوع هدفش چیه؟
معرفی یا آموزش؟ بهتره اگه مورد دوم باشه در ویکی بذاریدش و البته خیلی نظم بیشتری داشته باشه
ممنون آقای  بریتانیای کبیر بخاطر وقتی که برای انجمن و دوستان می گذارید.

نصب دبیان به‌صورت Debootstrap را بلد نیستم، می خواهم با کمک دوستان یاد بگیرم.به تنهایی از عهده اش برنمی آیم.
این نوع نصب از لحاظ اینکه تا حد امکان در دست خودم باشد که در سیستم دبیانم چه بسته ای نصب باشد و چه بسته ای  نصب نباشد برایم ارزشمند است.
تا حالا در این انجمن به کمک دوستان یاد گرفته ام که کدام display manager ، کدام میزکار یا windows manager را که دوست دارم به سلیقه خودم در سیستمم نصب کنم  ولی تاکنون به طریق صحیح در دبیان یاد نگرفته ام که چگونه init مورد علاقه ام در دبیان را تغییر بدهم.
می دانم که init پیش‌فرض در دبیان systemd است که این را نمی پسندم و نمی خواهم در موردش بحث کنم و این تنها یک نظر شخصی است و بس.
 دوست دارم init های مختلف را یکی بعد از دیگری بغییر از systemd در سیستمم امتحان کنم.
یکی از آرزوهای قلبی و همیشگی ام این بوده که دبیانی داشته باشم بدون systemd ، که خودم توانسته باشم از خود دبیان بسازم.

همچنین اگر امکان داشته باشد در مورد اینکه چه کسی می تواند در ویکی مطلب بگذارد یا مطالب قبلی را ویرایش کند، بیشتر توضیح دهید. هیچگونه اطلاعی در این مورد ندارم.
چگونه می توان در ویکی مطلب گذاشت و شرایط اینکار چیست؟ ممنون می شوم اگر اطلاعی در این مورد دارید برای من بیشتر توضیح بدهید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 15 مهر 1404، 12:31 ق‌ظ
نقل‌قول
Debian Debootstrap Install (AKA Installing Debian "the Arch way")

منظور از (AKA Installing Debian "the Arch way") چیست؟

آیا نصب دبیان به‌صورت  Debootstrap روش های متعددی دارد؟  می توانید تعدادی از این روشها را نام ببرید؟
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 15 مهر 1404، 01:11 ق‌ظ
مرحله 8 )
ببینید فایل  mnt/etc/fstab/  در مرحله 7 با دستور debootstrap ایجاد شده است ولی محتوایی ندارد و داخلش خالیست. عکس 1

و این نیست که بخواهیم این فایل را با دستوری که در پایین می زنیم ایجاد کنیم،یعنی از قبل این فایل هست.
 در حقیقت با دستور پایینی محتوای این فایل نوشته می شود. عکس های 2 و 3
من هیچ چیزی در درون این فایل ننوشته ام و با فرمان زیر به‌صورت اتوماتیک وار پر می شود:

# genfstab -U /mnt >> /mnt/etc/fstab
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 15 مهر 1404، 02:23 ق‌ظ
مرحله 9 )

عکس 1 :  mnt/etc/apt/sources.list/

عکس 2 : etc/apt/sources.list/


یعنی عکس 1 فایل mnt/etc/apt/sources.list/ را نشان می دهد که توسط فرمان Deboostrap در مرحله 7 ایجاد گردیده است.

عکس 2 فایل etc/apt/sources.list/ را نشان می دهد که مال خود دبیان لایو است.

می خواهم بگویم که محتوای فایل mnt/etc/apt/sources.list/ برای دبیانی که می خواهیم بسازیم  کامل و مطلوب نیست.
محتوای فایل etc/apt/sources.list/ هم کامل نیست که بخواهیم از آن کپی بگیریم و کپی آن را بزنیم به فایل mnt/etc/apt/sources.list/

سری می زنیم به سایت خود دبیان:
https://debiansupport.com/mirrors/ (https://debiansupport.com/mirrors/)

محتوای اصلی:
deb https://deb.debian.org/debian trixie main
deb https://deb.debian.org/debian-security trixie-security main
deb https://deb.debian.org/debian/ trixie-updates main

محتوای ترجیحی من:
deb https://deb.debian.org/debian trixie main contrib non-free-firmware non-free
deb https://deb.debian.org/debian-security trixie-security main contrib non-free-firmware non-free
deb https://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware non-free

محتوای فایل mnt/etc/apt/sources.list/ را به یکی از محتواهای بالایی تغییر دهید.

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: آرمان اسماعیلی در 15 مهر 1404، 04:02 ق‌ظ
نقل‌قول
Debian Debootstrap Install (AKA Installing Debian "the Arch way")

منظور از (AKA Installing Debian "the Arch way") چیست؟

آیا نصب دبیان به‌صورت  Debootstrap روش های متعددی دارد؟  می توانید تعدادی از این روشها را نام ببرید؟
توزیع آرچ لینوکس به همین روش نصب میشه. AKA میشه مخفف also known as. در فارسی می‌تونیم بگیم «به عبارت دیگر».
یعنی داره میگه با این روش داری دبیان رو شبیه آرچ نصب می‌کنی.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 15 مهر 1404، 08:06 ق‌ظ
نقل‌قول
نصب دبیان به‌صورت Debootstrap را بلد نیستم، می خواهم با کمک دوستان یاد بگیرم.به تنهایی از عهده اش برنمی آیم.
پس بهتره از حالت نصب Expert برید که انعطاف پذیری زیادی داره یا از دویان استفاده کنید
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 15 مهر 1404، 03:38 ب‌ظ
با تشکر از آقای آرمان اسماعیلی بخاطر جواب عالی اتان.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 16 مهر 1404، 02:02 ق‌ظ
تکمیل مرحله 9  )

در رابطه با اینکه به چه نحوی منابع جدید را به mnt/etc/apt/sources.list/  اضافه نماییم، می خواستم کمی بیشتر صحبت کنم.

بهترین روش از نظر سایت دبیان:

نقل‌قول
Using a text editor

The main APT sources configuration file is /etc/apt/sources.list.d/debian.sources, but if you add a new source, it's best to add a new file. Put it in the same directory, preferably with a name that describes the source and ends with .sources (e.g. /etc/apt/sources.list.d/neurodebian.sources for NeuroDebian).

https://wiki.debian.org/SourcesList (https://wiki.debian.org/SourcesList)

ولی راستش دقیقا نمی دانم منظور از محتوای بالا تنها اشاره به third-party repository ها دارد یا اینکه می گوید برای هر تغییری که انجام گیرد حتی مثلا برای افزودن contrib هم از این روش استفاده کنید.

روش فرعی:
می توانیم از ویرایشگرهای CLI مانند nano یا vim استفاده کنیم و مستقیماً فایل mnt/etc/apt/sources.list/ را ویرایش کنیم.

روشی فرعی دیگر:
ولی من روشی که آقای رسول سعیدنژاد در PDF آموزشی اشان گفته بودند، جالبتر و بامزه تر یافتم و می خواهم از همین روش در اینجا استفاده کنم.
ایشان در اینجا به‌جای به‌کارگیری ویرایشگرهای CLI ، از دستور echo استفاده کرده است.
اگر به عکس 1 در قسمت مورد نظرمان از فایل PDF آقای سعیدنژاد نگاه کنیم، از علامت < و <<  هم  استفاده کرده اند.  هر چند که من برنامه نویس نیستم، ولی با آزمایش خطا پی بردم که اگر از علامت < استفاده کنیم، کلیه محتوای قبلی فایل را پاک و محتوای جدید را جایگزین آن میکند.
ولی همانطور که می بینید ایشان این علامت را منحصرا در فرمان اولی بکار برده است ولی در دو فرمان بعدی به‌جای <  از علامت << استفاده کرده است. در این حالت << محتوای قبلی فایل پاک نمی گردد و محتوای جدید در سطر جدید درج می گردد یعنی محتوای قبلی حفظ و محتوای جدید در سطر جدید به فایل اضافه می گردد.

پس با استفاده از روش ایشان اینطوری محتوای مورد نظرم را به فایل mnt/etc/apt/sources.list/ اضافه می کنم: عکس 2 و 3

# echo deb https://deb.debian.org/debian trixie main contrib non-free-firmware non-free > /mnt/etc/apt/sources.list

# echo deb https://deb.debian.org/debian-security trixie-security main contrib non-free-firmware non-free >> /mnt/etc/apt/sources.list

# echo deb https://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware non-free >> /mnt/etc/apt/sources.list


نوشتجات خط فرمان طولانی شد و مجبور شدم برای عکس گرفتن سایز فونت ها را کوچکتر کنم، درست الان به یاد گفته آقای Chappie در رابطه با \ یا همان بک اسلش می افتم و منظورشان را دقیق تر می فهم .
بنابراین در اینجا می خواهم از \ یا همان بک اسلش استفاده کنم، به‌هرحال نتیجه این دستورات با دستورات بالایی یکی است:  عکس 4

# echo deb https://deb.debian.org/debian trixie main contrib \
# non-free-firmware non-free > /mnt/etc/apt/sources.list

# echo deb https://deb.debian.org/debian-security trixie-security main contrib \
# non-free-firmware non-free >> /mnt/etc/apt/sources.list

# echo deb https://deb.debian.org/debian/ trixie-updates main contrib \
# non-free-firmware non-free >> /mnt/etc/apt/sources.list
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 16 مهر 1404، 02:29 ق‌ظ
If you’re planning on using ifupdown as your networking tool, and you’re doing this from a system which uses it, copy the interfaces file to the chroot.

# cp /etc/network/interfaces /mnt/etc/network/interfaces

Do the same for the /etc/network/interfaces.d/ directory if it contains any files.

در اجرای این فرمان :
# cp /etc/network/interfaces /mnt/etc/network/interfaces
دچار مشکل شدم. عکس 1

 همانطور که در عکس  2  می بینید، پوشه  etc/network/  دارم.

 ولی در عکس 3 همانطور که می بینید،پوشه mnt/etc/network/ ندارم.
فعلاً نمی دانم چکار کنم.

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 16 مهر 1404، 08:43 ب‌ظ
نقل‌قول
بهترین روش از نظر سایت دبیان:

نقل‌قول

    Using a text editor

    The main APT sources configuration file is /etc/apt/sources.list.d/debian.sources, but if you add a new source, it's best to add a new file. Put it in the same directory, preferably with a name that describes the source and ends with .sources (e.g. /etc/apt/sources.list.d/neurodebian.sources for NeuroDebian).


https://wiki.debian.org/SourcesList

ولی راستش دقیقا نمی دانم منظور از محتوای بالا تنها اشاره به third-party repository ها دارد یا اینکه می گوید برای هر تغییری که انجام گیرد حتی مثلا برای افزودن contrib هم از این روش استفاده کنید.

از دبیان ۱۳ به بعد  یک تغیراتی در مخازن اعمال شده که میتونید در زیر نمونه اش رو ببینید
ولی sources.list هنوز برای سازگاری کار می‌کنه و به این روشی که انجام دادید برای سازگاری با اسکریپت های قدیمی هنوز کار میکنه


nano /etc/apt/sources.list.d/debian.sources
Types: deb deb-src
URIs: mirror+file:///etc/apt/mirrors/debian.list
Suites: trixie trixie-updates trixie-backports
Components: main contrib non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb deb-src
URIs: mirror+file:///etc/apt/mirrors/debian-security.list
Suites: trixie-security
Components: main contrib non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

nano /etc/apt/mirrors/debian.list
https://deb.debian.org/debian
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 16 مهر 1404، 08:55 ب‌ظ
برای امتحان Debootstrap آموزش خوبی رو پیدا نکردید , از خیلی از مراحل میپره و توضیح چندانی نمیده , بگردید و یک آموزش جامع پیدا کنید , متاسفانه اینجا کسی نیست که در حال نصب دبیان به این شکل باشه و دوستان نمیتونند کمک چندانی کنند .
برای نمونه در بخش NetworkManager که به مشکل خوردید , میتونید این چند لینک رو نگاهی کنید و ببینید بدردتون میخوره یا نه , در ضمن این لینکها هم قدیمی هستند لطفا کپی پیست نکنید هر چیزی رو .


https://www.linuxquestions.org/questions/debian-26/how-to-install-debian-using-debootstrap-4175465295/page5.html
https://gist.github.com/linzheming/205752af251ef2160fcfa2ee51a83287
https://gist.github.com/varqox/42e213b6b2dde2b636ef
https://gist.github.com/varqox/42e213b6b2dde2b636ef#configure-networking
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 16 مهر 1404، 10:17 ب‌ظ
نقل‌قول
از دبیان ۱۳ به بعد  یک تغیراتی در مخازن اعمال شده که میتونید در زیر نمونه اش رو ببینید

برای نمایش مخازن از سبک deb822 استفاده میشه.

میتونید با دستور زیر مخازنتونو به سبک جدید نشون بدبد. میتونید با کلید جهش (tab) مسیر پرونده‌ی مخازنن رو پر کنید

apt modernize-sources source_list_pathhttps://wiki.ubuntu-ir.org/wiki/%D8%A7%D8%B1%D8%AA%D9%82%D8%A7%DB%8C_%D8%AF%D8%A8%DB%8C%D8%A7%D9%86
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 04:50 ق‌ظ
با تشکر مجدد از آقایان  Chappie  و بریتانیای کبیر.

  مرحله 10 )
اکنون زمان آن رسیده است که به سیستم deboostrap شده chroot کنیم: عکس 1
# arch-chroot /mnt
سپس، برای اطمینان بیشتر، دستور apt update را اجرا کنید: عکس 2
# apt update

مرحله 11 )
الان init را نصب می کنیم. فعلاً به‌علت سازگاری بیشتر دبیان از systemd استفاده می کنم: عکس 3
# apt install systemd systemd-sysv libpam-systemd libsystemd0
الان همkernel را نصب می کنیم:  عکس 4 و 5
# apt install linux-image-amd64
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 06:02 ق‌ظ
مرحله  12 )

تنظیم منطقه زمانی: عکس 1
# dpkg-reconfigure tzdata

مرحله 13 )

الان رسیدیم بهNetworking ،

در آموزش نامه ای که من پی میگیرم از این روش استفاده شده است:
# apt install ifupdown wpasupplicant
ولی من ترجیح می دهم ازاین روش استفاده کنم: عکس های 2 و 3
# apt install network-manager

If you’re planning on using ifupdown as your networking tool, and you’re doing this from a system which uses it, copy the interfaces file to the chroot.

# cp /etc/network/interfaces /mnt/etc/network/interfaces

Do the same for the /etc/network/interfaces.d/ directory if it contains any files.

در اجرای این فرمان :
# cp /etc/network/interfaces /mnt/etc/network/interfaces
دچار مشکل شدم. عکس 1

 همانطور که در عکس  2  می بینید، پوشه  etc/network/  دارم.

 ولی در عکس 3 همانطور که می بینید،پوشه mnt/etc/network/ ندارم.
فعلاً نمی دانم چکار کنم.

بنظرم علت اینکه من پوشه mnt/etc/network/ را در آن مرحله نداشتم ، این بوده است که در آن آموزش نامه  نویسنده مطلب بایستی توجه می کرد وقتی که با استفاده از آپشن variant=minbase سیستم را بصورت مینیمال نصب کرده است، بنابراین نصاب دبیان Debootstrap ،بسته network-manager را نصب نمی کند . بنابراین طبیعتا پوشه ای بنام network  و همچنین در درون این پوشه  فایلی بنام interfaces راهم نخواهیم داشت.
بنابراین برای اینکه من پوشه  mnt/etc/network داشته باشم ابتدا بایستی به سیستم دبیان  Debootstrap ای که می خواهیم بسازیم chroot کنیم و سپس بسته network-manger را نصب کنیم و سپس اگر خواستیم این دستور را اجرا کنیم، بایستی حتما ابتدا از محیط chroot، خارج بشویم با فرمان exit و سپس فرمان زیر را اگر خواستیم اجرا کنیم:
# cp /etc/network/interfaces /mnt/etc/network/interfaces
عکس های 4 و 5
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 09:27 ق‌ظ
مرحله 14 )
در این مرحله یک نام میزبان برای سیستم خود انتخاب کنید و آن را به etc/hostname/  اضافه کنید: عکس 1

echo "yourhostname" > /etc/hostname

مرحله 15 )
ویرایش فایل etc/hosts/  :

در اینجا می خواهیم محتوای فایل  etc/hosts/ را با کمی تغییر کپی کنیم به mnt/etc/hosts/ ، فقط یادتان باشد نام "yourhostname"
که تنظیم کرده اید در محل معین در آن قرار دهید.
روش اول:
 در همان محیط chroot از دستور echo استفاده کنید: عکس 2 و 3

#  echo "127.0.0.1       localhost yourhostname" > /etc/hosts

# echo  "::1             localhost ip6-localhost ip6-loopback" >> /etc/hosts

# echo "fe00::0         ip6-localnet" >> /etc/hosts

# echo "ff00::0         ip6-mcastprefix" >> /etc/hosts

# echo "ff02::1         ip6-allnodes"  >>  /etc/hosts

# echo "ff02::2         ip6-allrouters" >> /etc/hosts
 


روش دوم:
 و یا اینکه از chroot خارج شوید و ابتدا فایل mnt/etc/hosts/ را حذف کنید و سپس فایل etc/hosts/  را به mnt/etc/ کپی کرده  و  سپس مثلا با نرم افزار vim ،  نام "yourhostname"
که تنظیم کرده اید در محل معین در آن تغییر دهید. و در نهایت برای ادامه کار دوباره به محیط chroot برگردید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 17 مهر 1404، 10:26 ق‌ظ
بنظرم بعد از تمام شدن کار ویکیش کنید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 12:10 ب‌ظ
مرحله 16 )

    Install the locales package, then configure

# apt install locales
# dpkg-reconfigure locales

در اینجا می خواهیم بسته locales را نصب کنیم، سپس پیکربندی کنیم. عکس 1 و 2

برای نصب:
# apt install locales

دستوری که نشان می دهد که زبان سیستم دبیان شما بر روی چه زبانی تنظیم شده است:عکس 5
# env  |  grep  LANG

باپیکربندی این گزینه زبان سیستم دبیان خود را تغییر می دهید: عکس 3 و 4
# dpkg-reconfigure locales یادتان بماند در هنگام اجرای دستور   dpkg-reconfigure locales ،  با دیدن کلمه [More ]  ، کلید اینتر را بزنید تا ادامه بیشتری برای شما نشان داده شود.
در قسمتLocales to be generated مثلاً عدد 126 را وارد کنید و سپس اینتر را بزنید تا fa_IR UTF-8  اعمال شود. در هنگام پرسیدن   :Dault locale for the system environment ، عدد 3 را تایپ کرده و سپس اینتر بزنید. در اینجا گزینه 3 همان fa_IR  است.
اگر دوباره دستور  env  |  grep  LANG  را اجرا کنید، خواهید دید که بر روی همان انگلیسی پیش‌فرض تنظیم شده است و به فارسی تغییر نیافته است، علت این است که برای اینکه این تغییر اعمال شود لازم است که سیستم ریستارت شود، ولی ما فعلاً با سیستممان کار داریم و نمی خواهیم اینکار را انجام دهیم.
اگر زبان سیستم را فارسی انتخاب کنید، مثلاً تقویم به فارسی نشان داده می شود و برخی از نرم افزارها مانند Disks و  PcmanFM  و Geany و... منوهایشان و ... به‌صورت فارسی نشان داده می شود که البته خیلی وقت پیش امتحان کرده بودم در آنموقع تکمیل نبود و پشتیبانی مناسبی از زبان فارسی نداشت.
من شخصاً ترجیحم استفاده از همان زبان انگلیسی پیش‌فرض برای سیستم دبیان می باشد.

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 12:59 ب‌ظ
مرحله 17 )

    Configure the keyboard if you're not going to use the default 'us' keymap:

# apt install console-setup
# dpkg-reconfigure keyboard-configuration

You may not want to run dpkg-reconfigure keyboard-configuration. I find it more trouble than it’s worth and it seems to me like it is not required, though it’s mentioned in most guides.

Certain changes to the keymap will only take effect once rebooted into the new install.

پیکربندی صفحه کلید:

ابتدا با این فرمان   console-setup  را نصب نمایید:
# apt install console-setup
سپس برای پیکره بندی: عکس های 1 و 2 و 3 و 4 و 5

# dpkg-reconfigure keyboard-configurationبا دیدن [More] اینتر بزنید تا مقادیر بیشتری برای شما نشان داده شود.
با دیدن :keyboard layout  ، عدد 30 که به معنای Other را وارد کنید و سپس اینتر را بزنید، بعد دوباره با دیدن [More] برای نشان دادن محتوای بیشتر اینتر بزنید.
بعد با دیدن  :Country of origin for the keyboard عدد 74 که همان  Persian است را نوشته و اینتر را بزنید.
با دیدن Keyboard layout ، عدد 1 که همان Persian را تایپ کرده و سپس اینتر را بزنید.
با دیدن :Method for toggling between national and Latin mode
 مثلاً عدد 7 که همان میانبر Alt+Shift برای تغییر زبان صفحه کلید است را وارد کرده و سپس اینتر را بزنید.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 17 مهر 1404، 11:30 ب‌ظ
مرحله 18 )
Users, passwords and authentication

    Start by creating a password for the root account. You can lock the account later if you don't plan on using it with the passwd -l root command.

# passwd

    Setting up your default user:

# useradd -m username
# passwd username

Add the user to necessary groups, and give it the proper interactive shell. Debian uses bash as its default interactive shell, but you can choose whatever you like.

# usermod -aG cdrom,floppy,audio,dip,video,plugdev,netdev username
# usermod -s /bin/bash username

کاربران، رمزهای عبور و احراز هویت

# passwd
# useradd -m username
# passwd username
# usermod -aG cdrom,floppy,audio,dip,video,plugdev,netdev username
# usermod -s /bin/bash username
عکس 1


    Next, you need to decide if you want sudo or doas in order to elevate your user’s privileges for updates, etc… This is your choice, though I personally prefer doas.

For doas:

# apt install opendoas
# echo "permit username" > /etc/doas.conf

For sudo:

# apt install sudo
# usermod -aG sudo username

Debian provides a pre-configured sudoers file, and you probably don’t need to change anything, but it’s wise to verify that the line under “allow members of group sudo …” is not commented out with the cat /etc/sudoers command.

Look at the output, and if the line is commented out, use the visudo command and uncomment it.


apt install sudo
usermod -aG sudo username
cat /etc/sudoers
دبیان یک فایل sudoers از پیش پیکربندی شده ارائه می‌دهد و احتمالاً نیازی به تغییر چیزی ندارید، اما بهتر است که مطمئن شوید خط زیر «allow members of group sudo …” با دستور cat /etc/sudoers به ​​صورت کامنت درنیامده باشد.

عکس های 2 و 3 و 4

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 18 مهر 1404، 06:57 ق‌ظ
مرحله 19 )

Setting up the bootloader

Here, grub is used. For other bootloaders, see their own documentation.

    For EFI systems

# apt install grub-efi-amd64
# grub-install --target=x86_64-efi --efi-directory=/boot/efi
# update-grub

    For bios/legacy systems

# apt install grub-pc
# grub-install /dev/sdX
# update-grub

تنظیم بوت لودر:
در اینجا من از grub استفاده کرده ام. برای سایر بوت لودرها، به مستندات مربوط به خودشان مراجعه کنید.

سیستم من چون EFI systems است بنابراین از این دستورات استفاده کردم:

# apt install grub-efi-amd64
# grub-install --target=x86_64-efi --efi-directory=/boot/efi
# update-grub
عکس های 1 و 2 و 3
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 18 مهر 1404، 07:53 ق‌ظ
مرحله 20 یا نهایی )

Finalizing

    Run apt clean for good measure.
    Remove resolv.conf so it gets recreated at boot: rm /etc/resolv.conf
    Exit the chroot with the exit command.
    Unmount the filesystems with umount just to be extra safe. Hint: unmount the devices mounted to /boot/efi and /home first before running umount /dev/sdX.

That's it. Reboot and enjoy.

در پایان نصب دبیان بصورت  Debootstrap این کارها را می کنیم:

# apt cleanعکس 1



نقل‌قول
Remove resolv.conf so it gets recreated at boot: rm /etc/resolv.conf
همانطور که در عکس 2 می توانید مشاهده کنید، در این دستور العملی که من استفاده می کنم این دستور در جای نامناسبی داده شده است و خطا می دهد، برای حل این مشکل ابتدا با دستور :
# exit
از chroot خارج می شویم و سپس از دستور زیر برای حذف فایل مربوطه اقدام می کنیم:
# rm /mnt//etc/resolv.confعکس 2



نقل‌قول
Exit the chroot with the exit command.
اجرای این دستور exit در اینجا دیگر لازم نیست، چون در دستورات قبلی ما از محیط chroot با فرمان exit خارج شدیم.



برای امنیت بیشتر، فایل‌سیستم‌ها را با umount از حالت mount خارج می کنیم.
نکته: قبل از اجرای umount /dev/sda، ابتدا دستگاه‌هایی را که در /boot/efi و /home نصب شده‌اند، از حالت مانت خارج می کنیم، برای اینکار از دستورات زیر استفاده می کنیم:
# umount /dev/sda1
# umount /dev/sda4
# umount /dev/sda3
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 20 مهر 1404، 12:15 ق‌ظ
من دبیان را به‌صورت Debootstrap و مینیمال با systemd از طریق دبیان لایو به سیستم اصلی ام نصب کردم.
حالا می خواهم بیایم  و نگاه کنم و ببینم که اصلاً سیستمی که ایجاد کرده ام  کار می کند؟ بوت می شود؟ و …


در اینجا به ترتیب ۵ عکس گذاشته ام.

عکس 1:
خوب خدا را شکر، گراب  در همین ابتدا بعد از اعلان بایوس، قابل مشاهده است. پس می توانیم امیدوار باشیم که حداقل این یکی درست است تا برسیم به بقیه.

عکس 2:
به‌به ، اعلان دبیان هم آمد.

عکس 3:
تعدادی خطا مربوط به زمان بوت سیستم.

عکس 4:
ولی خطاهای بوت در آن حد نبودند، که مانع ورود ما به سیستم اصلی امان و خط فرمان شوند.در اینجا بعد از اعلان خطاها وارد خط فرمان دبیان می شویم.


بررسی خطاهای مربوط به عکس 3 :

در ایجا ما با دو نوع خطای متفاوت مواجه می شویم:

۱- خطای    fsck.ext4  for  dev/sda3 
۲- خطاهای مربوط به نبودن firmware های مربوطه


حل خطای    fsck.ext4  for  dev/sda3  :
برای حل این خطا بسته e2fsprogs   را نصب می کنیم.

بسته e2fsprogs  : این بسته شامل برنامه‌هایی برای ایجاد، بررسی و نگهداری سیستم‌های فایل مبتنی بر ext2/3/4 است. همچنین شامل برنامه "badblocks" است که می‌تواند برای اسکن بلوک‌های خراب روی دیسک یا سایر دستگاه‌های ذخیره‌سازی استفاده شود.
فکر کنم بایستی نصب این بسته در قسمت chroot به آموزش نامه Ian LeCorbeau اضافه گردد.


حل خطای مربوط به نبودن firmware های مربوطه:
برای حل این خطا از این دستورها استفاده می کنم:

# apt update

# apt install firmware-linux

# reboot

# apt install firmware-realtek

# reboot

 بسته firmware-linux ، این بسته به میان‌افزار آزاد و غیرآزاد وابسته است که ممکن است با درایورها در هسته لینوکس استفاده شوند. موردی ندارد این بسته را نصب نمایید.

بسته firmware-realtek ، این بسته شامل میان‌افزار باینری برای تراشه‌های اترنت، وای‌فای، بلوتوث و صدای Realtek است که توسط درایورهای مختلف پشتیبانی می‌شوند. چون سیستم من از مارک Realtek استفاده کرده، بنابراین بایستی این بسته را نصب کنم تا firmware های مربوط به سخت افزارش نصب شود، اگر در سیستم شما مارک دیگری است، این بسته را نصب نکنید و جستجو کرده و بسته مناسب با مارک تان را نصب نمایید.

حتماً بعد از نصب firmware از هر نوعی ، بایستی سیستمتان را reboot نمایید.

عکس 5 : بعد از بوت مجدد، عکس 5 این را به ما نشان می دهد، که مشکلات موجود در عکس 3 با نصب بسته هایی که در بالا توضیح دادم، حل گردیده است.
بنابراین می توان از سیستمی که از طریق Debootstrap نصب شده، استفاده برد.

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 20 مهر 1404، 10:37 ق‌ظ
من در ارسالی های قبلی، دبیان را به‌صورت Debootstrap و به‌صورت مینیمال و systemd نصب کردم و با رفع خطاها سیستم بدون مشکل کار کرد.

الان من می خواهم  دبیان را به‌صورت Debootstrap و به‌صورت مینیمال و  systemd free   و بصورت sysvinit در سیستم اصلی ام نصب کنم. برای اینکار همه چیز را در سیستمم پاک کردم.

طبق آموزشی که من در پیش گرفته ام همه چیز مثل مراحل قبلی است، بجز اینکه به‌جای بسته های مرتبط با systemd بایستی بسته های مرتبط با sysvinit را نصب نمایم.یعنی بدین صورت:

Installing init and the kernel

We need a kernel and init system. This could be done later but I prefer getting it out of the way first.

    For systemd:

# apt instal systemd systemd-sysv libpam-systemd libsystemd0

    For sysvinit:

# apt install sysvinit-core sysv-rc orphan-sysvinit-scripts elogind libpam-elogind

    Install the kernel:

# apt install linux-image-amd64

Swap amd64 for another architecture if you need.

ولی اینجا یک مسله مهمی وجود دارد، اگر به عکس 1 نگاه کنید، می توانید ببینید که بسته linux-image-amd64  به بسته های:

 
systemd  و   systemd-cryptsetup   و   systemd-timesyncd  و   libsystemd-shared

وابسته است.

نمی دانم چکار کنم؟ آیا راهی بنظرتان می رسد که در دبیان از دست این بسته ها  خلاص بشوم.
( امیدوارم که مرا بسویDevuan  و  antiX  و  توزیع های دیگر راهنمایی نکنید، نمی خواهم در این مورد بحث کنم)

لطفاً هر ایده ای که به ذهنتان می رسد، بگویید. رویش کار خواهم کرد.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 20 مهر 1404، 01:12 ب‌ظ
۱ )
بسته‌ی linux-image-amd64 در Debian وابستگی غیرمستقیم (indirect dependency) به systemd داره.
اما این وابستگی از نوع Recommends یا Suggests است، نه همیشه "Depends".
 توضیح:

Depends: یعنی بدونش پکیج کار نمی‌کنه.

Recommends: یعنی نصبش مفیده ولی اجباری نیست.

Suggests: یعنی صرفاً پیشنهاده.

مشکل اینه که apt به‌طور پیش‌فرض Recommends‌ها رو هم نصب می‌کنه.
در نتیجه systemd همراه کرنل میاد حتی اگه لازم نباشه.

۲ )
به عنوان ایده :
بعد از اینکه وارد chroot شدی :

apt install sysvinit-core sysv-rc orphan-sysvinit-scripts elogind libpam-elogindجلوگیری از نصب مجدد systemd :

apt-mark hold systemd systemd-sysv libpam-systemd
برای اطمینان بیشتر، این فایل هم بساز:
cat > /etc/apt/preferences.d/nosystemd << "EOF"
Package: systemd*
Pin: release *
Pin-Priority: -1
EOF
الان می‌تونی با خیال راحت کرنل کامل نصب کنی چون systemd قفل شده:
apt install linux-image-amd64
و بعد ادامه راهی که میرفتید ...



عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 20 مهر 1404، 01:45 ب‌ظ
اون فایلی که ساختیم چکار میکنه :
apt چطور تصمیم می‌گیرد چه چیزی نصب شود؟

وقتی در دبیان (یا هر توزیع مبتنی بر آن) دستور apt install را اجرا می‌کنی، apt باید بین چند نسخه یا مخزن تصمیم بگیرد که کدام بسته را نصب کند.

برای این کار از چیزی به نام APT pinning system استفاده می‌کند.
هر بسته یک اولویت (priority) دارد که با عدد Pin-Priority مشخص می‌شود.
- - -
فایل /etc/apt/preferences.d/nosystemd چیست؟

فایلی است که به apt می‌گوید:

«اگر اسم بسته با systemd شروع می‌شود، حتی اگر لازم بود، نصبش نکن.»
- - -
Package: systemd*
هر بسته‌ای که نامش با systemd شروع شود (مثلاً systemd, systemd-sysv, systemd-timesyncd, libpam-systemd …)
Pin: release *
از هر مخزنی باشد، فرقی ندارد (deb, updates, security … همه را شامل شود)
Pin-Priority: -1
نمره‌ی اولویت منفی → یعنی «هرگز نصب نکن»
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: esmaeelE در 20 مهر 1404، 08:42 ب‌ظ
برای نصب نرم‌افزارها با apt می‌تونید از فلگ no install recommend استفاده کنید تا بسته اضافی نصب نشود.
بهتره هر مرحله‌ها به شکل جدا در یک shell script قرار دهید و گام‌ها را به هم متصل کنید. به این شکل نگهداری پروژه ساده‌تر می‌شه.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 21 مهر 1404، 10:54 ق‌ظ
ممنون آقای esmaeelE ، دوست عزیز.

 
برای نصب نرم‌افزارها با apt می‌تونید از فلگ no install recommend استفاده کنید تا بسته اضافی نصب نشود.
اگر بخواهیم این روش را بررسی کنیم.

حالت اول:
apt install  linux-image-amd64       

Installing dependencies:
  apparmor     dbus-session-bus-common  initramfs-tools-core  libdevmapper1.02.1  linux-base                       systemd-timesyncd
  busybox      dbus-system-bus-common   klibc-utils           libexpat1           linux-image-6.12.48+deb13-amd64  udev
  cpio         dmsetup                  kmod                  libjson-c5          linux-sysctl-defaults            zstd
  dbus         dracut-install           libapparmor1          libklibc            logsave
  dbus-bin     initramfs-tools          libcryptsetup12       libkmod2            systemd
  dbus-daemon  initramfs-tools-bin      libdbus-1-3           libsystemd-shared   systemd-cryptsetup


حالت دوم:
apt install --no-install-recommends linux-image-amd64Installing dependencies:
  cpio             initramfs-tools-bin   kmod          libkmod2           linux-image-6.12.48+deb13-amd64  udev
  dracut-install   initramfs-tools-core  libapparmor1  libsystemd-shared  logsave
  initramfs-tools  klibc-utils           libklibc      linux-base         systemd

اگر تمرکزمان را فقط بر روی بسته های مربوط به systemd بگذاریم، در حالتی که از  no-install-recommends-- استفاده می کنیم،
بسته های libsystemd-shared و systemd نصب می شوند ولی بسته های systemd-timesyncd و systemd-cryptsetup نصب نمی شوند.
در حالت اول که از  no-install-recommends--  استفاده نمی کنیم، هر چهار تای این بسته ها نصب می شوند.

برای بکارگیری این روش برایم دو تا مشکل وجود دارد:

۱- من با Installing dependencies و  Recommends مشکلی ندارم و حتی ضروری می دانم که آنها نصب بشوند ولی تا حد امکان می خواهم نگذارم بسته های مرتبط با sysytemd نصب شوند. با بکارگیری این روش بایستی بعد بیایم و دوباره بسته هایی مانند:

apparmor  و busybox و dbus  و dmsetup و zstd و غیره را نصب کنم.

۲-با بکارگیری این روش همچنانکه گفتم بسته های libsystemd-shared و systemd  باز هم نصب می شوند.



بهتره هر مرحله‌ها به شکل جدا در یک shell script قرار دهید و گام‌ها را به هم متصل کنید. به این شکل نگهداری پروژه ساده‌تر می‌شه.
متاسفانه در این زمینه اطلاعاتم در حد صفر است.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: esmaeelE در 21 مهر 1404، 11:13 ق‌ظ
برای کاربرد خاص شما در نصب debootstrap بررسی نکردم ولی دو گزینه apt دارد که احتمالا در این مورد مفید باشند.

apt mark hold و دیگری apt pin
این دو را ترکیب کنید و از نصب بسته‌ها جلوگیری کنید.

https://unix.stackexchange.com/a/316745/235261
https://dev1galaxy.org/viewtopic.php?pid=49005#p49005
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 21 مهر 1404، 11:31 ق‌ظ
ممنون دوست عزیز آقای Chappie ، اگر کمک های شما نبود فکر می کنم تا این مرحله نمی رسیدم.

سوال۱:
چرا در قسمت hold ، بسته  libsystemd-shared را جزو آنها قرار نداده بودید؟
راستش من روش شما را رفتم و خیلی هم لذت بردم، برای اینکه پیاز داغش را زیادتر کنم بسته  libsystemd-shared را هم جزو hold شدگان قرار دادم، دیگر در نصب  linux-image-amd64  هیچگونه آثاری از بسته های systemd نبود، در اینجا خیلی کیف کردم و ادامه نصب را بدون مشکل به جلو رفتم، سیستم هم بدون مشکل خاصی بوت شد ولی بعد مشکلات آغاز شد حتی دستور apt update هم در خط فرمان جواب نمی داد و به سایت دبیان وصل نمی شد. مجبور شدم دوباره چیزی که نصب کرده بودم حذف کنم. شاید هم عجله کردم و با نصب چند بسته مشکل برطرف می شد.

دقیقا سوال اساسی من این است:
آیا  بسته  libsystemd-shared  یکی از سنگ بنا و ستون اساسی دبیان است؟ آیا بدون این بسته اوضاع تا حد غیر ممکن بغرنج می شود؟
فعلا تمرکز اساسی ام را بر روی روش شما گذاشته ام، ولی این  بسته  libsystemd-shared  برایم حسابی اوضاع شده، آیا روش جایگزینی وجود دارد که بجای کارکرد این بسته برایم کار کند؟

سوال دیگر:
اگر بخواهیم بعدا بسته ای را از حالت hold خارج کنیم از چه دستوری باید استفاده کنیم؟

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 21 مهر 1404، 05:17 ب‌ظ
libsystemd-shared
کتابخانهٔ runtime داخلی systemd (مورد استفاده توسط خود systemd و برخی ابزارهای پایه مثل udev, dbus, policykit, apt به‌طور غیرمستقیم)
- - -
چرا نباید libsystemd-shared (یا libsystemd0) رو hold یا block کنی

چون خیلی از بسته‌های «غیر systemd» — حتی در حالت sysvinit — به کتابخانه‌های عمومی systemd نیاز دارن، نه daemon خودش.

برای مثال:

dbus-daemon, udisks2, apt-transport-https, policykit, elogind, udev
→ همگی به libsystemd0 یا libsystemd-shared لینک شدن.

این کتابخانه‌ها Daemon نیستن، بلکه فقط کتابخانهٔ سطح پایین C هستن که برای سازگاری استفاده می‌شن.
یعنی حتی وقتی systemd حذف شده باشه، وجود این فایل‌های .so برای عملکرد سایر سرویس‌ها لازمه.
- - -
چه اتفاقی افتاد وقتی تو libsystemd-shared رو هم hold کردی

وقتی اون بسته رو hold کردی یا pin کردی،
apt نتونست libsystemd-shared.so رو آپدیت یا resolve کنه → در نتیجه dbus و apt و networking بعضاً از کار افتادن چون یکی از dependencyهای سطح پایینشون قفل شد.

نتیجه:

apt update نمی‌تونه به‌درستی gnutls و dbus و policykit رو لود کنه

بعضی از سرویس‌ها که به این lib لینک شدن (حتی غیر systemd) crash یا hang می‌کنن

- - -
پیشنهاد دقیق  برای hold

اگر بخوای یک setup تمیز و بی‌دردسر داشته باشی:
apt-mark hold systemd systemd-sysv libpam-systemd
و در /etc/apt/preferences.d/nosystemd فقط بنویس:
Package: systemd systemd-sysv libpam-systemd
Pin: release *
Pin-Priority: -1
نه بیشتر.
- - -
libsystemd-shared و libsystemd0 خودشون systemd نیستن،
فقط کتابخانه‌هایی هستن که خیلی از بسته‌ها برای کارکرد عمومی‌شون بهشون لینک شدن.
حذف یا hold کردنشون باعث اختلال در apt، dbus، udev، و network میشه.
- - -
 دستور اصلی برای برداشتن حالت hold
sudo apt-mark unhold package_name

برای دیدن اینکه چه بسته‌هایی در حالت hold هستن:
apt-mark showhold

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 21 مهر 1404، 10:00 ب‌ظ
libsystemd-shared و libsystemd0 خودشون systemd نیستن،
فقط کتابخانه‌هایی هستن که خیلی از بسته‌ها برای کارکرد عمومی‌شون بهشون لینک شدن.

نقل‌قول
This internal shared library provides common code used by various systemd
components. It is supposed to decrease memory and disk footprint.
The shared library is not meant for public use and is not API or ABI stable.

نقل‌قول
این کتابخانه مشترک داخلی، کد مشترکی را که توسط اجزای مختلف systemd استفاده می‌شود، ارائه می‌دهد. قرار است فضای اشغال شده توسط حافظه و دیسک را کاهش دهد. این کتابخانه مشترک برای استفاده عمومی در نظر گرفته نشده و از نظر API یا ABI پایدار نیست.

ببخشید ولی بنظرم این مطالب با هم جور درنمی آید. عکس 1

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 21 مهر 1404، 10:55 ب‌ظ
libsystemd-shared واقعاً بخشی از سورس systemd است.

در پروژهٔ اصلی systemd، فقط برای استفادهٔ داخلیِ خودِ systemd ساخته شده.

دبیان هنگام بسته‌بندی، systemd را به چند بسته جدا تقسیم می‌کند.

یکی از آن بسته‌ها همین libsystemd-shared است که توسط udev و چند ابزار دیگر لازم است.

این کتابخانه daemon نیست و init سیستم را کنترل نمی‌کند.

اگر حذف شود، udev و بعضی برنامه‌های پایه از کار می‌افتند.

پس دبیان آن را نگه می‌دارد، حتی وقتی خود systemd حذف شده باشد.

نتیجه: وجودش به معنی «داشتن systemd» نیست؛ فقط یک وابستگی فنی است تا سیستم بدون systemd هم کار کند.
- - -
apt از کار افتاد نه چون خودش systemd می‌خواست،
بلکه چون تو کتابخانه‌ای رو قفل کردی که udev و dbus بدونش بوت نمی‌شن —
و اون‌ها زیرساخت ارتباطی apt با سیستم هستند.
- - -
libsystemd-shared در اصل بخشی از سورس systemd است و برای استفاده‌ی داخلی خودِ systemd ساخته شده.

این کتابخانه فقط شامل کدهای مشترک بین اجزای systemd (مثل journald, logind, udev) است تا حجم حافظه و دیسک کمتر شود.

API و ABI این کتابخانه پایدار نیست، یعنی هر نسخه از systemd باید دقیقاً نسخه‌ی خودش از libsystemd-shared را داشته باشد.

دبیان systemd را به چند بسته جدا تقسیم می‌کند تا حتی در حالت بدون systemd هم سیستم بوت شود.

در دبیان، udev از همان سورس systemd ساخته می‌شود و به libsystemd-shared وابسته است.

بنابراین حتی اگر systemd daemon حذف شود، libsystemd-shared باید بماند تا udev و دیگر اجزای پایه کار کنند.

libsystemd0 برعکس، کتابخانه‌ی عمومی و پایدار است که بسیاری از برنامه‌ها (مثل apt، dbus، cups، policykit) برای لاگ و اعلان به آن لینک شده‌اند.

اگر libsystemd-shared را hold یا حذف کنی، نسخه‌ی udev دیگر با آن match نمی‌کند و udev از کار می‌افتد.

وقتی udev یا dbus fail کنند، apt و خیلی از ابزارهای سیستمی هم نمی‌توانند اجرا شوند.

نتیجه: systemd را می‌توان حذف کرد، اما libsystemd-shared و libsystemd0 باید بمانند، چون بدون آن‌ها کل زیرساخت سخت‌افزار و ارتباطات درون سیستم از کار می‌افتد.
- - -
خلاصه‌ی نهایی:

systemd را می‌توان کاملاً حذف کرد،
اما کتابخانه‌های آن (libsystemd0 و libsystemd-shared) باید بمانند،
چون udev و ده‌ها ابزار پایه‌ی لینوکس برای اجرا به آن‌ها لینک شده‌اند.
حذف یا hold آن‌ها باعث قطع عملکرد udev، dbus و در نتیجه apt می‌شود.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 22 مهر 1404، 05:58 ق‌ظ
این لینکها رو هم ببینید شاید براتون نکته ای داشته باشه :
https://wiki.debian.org/Init#Changing_the_init_system_-_at_installation_time
https://nosystemd.org
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 22 مهر 1404، 11:43 ق‌ظ
آقای Chappie ، ممنون از همه مَحبت هایتان و بخاطر وقتی که می گذارید.


نتیجه: systemd را می‌توان حذف کرد، اما libsystemd-shared و libsystemd0 باید بمانند، چون بدون آن‌ها کل زیرساخت سخت‌افزار و ارتباطات درون سیستم از کار می‌افتد.
- - -
خلاصه‌ی نهایی:

systemd را می‌توان کاملاً حذف کرد،
اما کتابخانه‌های آن (libsystemd0 و libsystemd-shared) باید بمانند،
چون udev و ده‌ها ابزار پایه‌ی لینوکس برای اجرا به آن‌ها لینک شده‌اند.
حذف یا hold آن‌ها باعث قطع عملکرد udev، dbus و در نتیجه apt می‌شود.

با توجه به عکسهای 1 و 2 و 3 که از توزیع antiX گرفته ام، بنظر میرسد می توان در دبیان هم systemd و هم libsystemd-shared وهم libsystemd0 نصب نباشند و بدون آنها هم، سیستم از هم نپاشد و apt هم کار کند و بدون آنها لزوما کل زیرساخت سخت‌افزار و ارتباطات درون سیستم از کار نخواهد افتاد.

با توجه به عکس 4 که از توزیع antiX گرفته ام، بنظر میرسد می توان در دبیان هم systemd و هم libsystemd-shared وهم libsystemd0 نصب نباشند و بدون آنها هم بسته dbus و بسته های زیر مجموعه آن کار کنند.

ولی با توجه به عکس  5 که از توزیع antiX گرفته ام،بنظر میرسد نمی توان در دبیانی که systemd و  libsystemd-shared وlibsystemd0   نصب نباشند، بتوان از بسته های udev و libudev1 استفاده کرد.

با توجه به عکس  6 که از توزیع antiX گرفته ام،بنظر میرسد نمی توان در دبیانی که systemd و  libsystemd-shared وlibsystemd0   نصب نباشند، بتوان از بسته network-manager استفاده کرد.

با توجه به عکس  7 و 8 که از توزیع antiX گرفته ام، بنظر می رسد در توزیع antiX آمده اند و بجای بسته network-manager از بسته های ifupdown و wpasupplicnt استفاده کرده اند.

متاسفانه و متاسفانه در درازمدت توزیع هایی مانند antiX مجبورند برای ادامه بقایشان حداقلی از systemd را در سیستمشان پذیرا  باشند.

با تشکر مجدد از دوست خوبم آقای Chappie .

عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: norouzi90 در 22 مهر 1404، 11:44 ق‌ظ
ادامه عکس ها.
عنوان: پاسخ : نصب Debian Debootstrap
ارسال شده توسط: Chappie در 22 مهر 1404، 08:51 ب‌ظ
ممنونم آقای نوروزی
- - -
سوالم اینه که تو دبیان چه نتیجه ای گرفتین و تجربه خودتون چی هست ؟
من توضیحاتی که دادم برای نصب رو دبیان بود نه antiX
antiX احتمالا هزارتا تغییرات داده رو سیستم تا تونسته به هدفش برسه
در لینکی که بالاتر از ویکی دبیان داده بودم  فقط دو بسته hold شدند که با اون توضیحاتی که دادم همخوانی داره .
یه جستجوی کوچیک کردم مثل اینکه antiX برای اینکه وابستگی کمتری به  systemd و هم  کتابخانه های که  که توضیح دادم  داشته باشه خیلی از بسته های دبیان رو rebuild کرده .
- - -
توضیح شفافتری نمیتونم بدم چون سیستم در حال Debootstrap ندارم و هم در حال نصب به غیر از systemd نیستم .
- - -
یکی از تغییراتی که داده شده :
eudev یا mdev به‌جای udev
https://antixlinuxfan.miraheze.org/wiki/AntiX_19_FAQ