شاید همتون این مشکل براتون پیش اومده که کلی پکیج دانلود کردید و هر دفعه می خواهید دبیان رو از اول نصب کنید یا این کار رو یه سیستم دیگه انجام بدید مجبور می شید همشون رو از اول نصب کنید . یه راه حل خوب ایجاد یکOffline Repository بر روی cd هستش ; که راحت بتونید با apt-cdrom add اون رو اضافه کنید و با یک دستور apt-get همه اونها رو نصب کنید. اینجا ما در مورد ساخت یک Offline Repository غیر استاندارد صحبت می کنیم .
اولین سوالی که پیش می یاد اینه که فرق یه Repository استاندارد با غیر استاندارد چیه ؟
تنها تفاوت اینه که شما تو حالت استاندارد یک طبقه بندی در ساخت پوشه ها رعایت می کنید که می توانید نسخه های مختلف ( stable, unstable, testing) , نوع بسته ها ( main , non-free , contrib ) و معماری های مختلف ( i386, arm , alpha و ..... ) رو از هم از هم تفکیک کنید. برای اطلاع دقیق تر می توانید به اینجا و اینجا مراجعه کنید. که ما باهاش کاری نداریم.
خوب حالا بررسی می کنیم که مخازن اصلا چجوری کار می کنند؟
در هر شاخه مخزن که در آن بسته های DEB قرار داره فایلی به نام Packages.gz هستش (البته برای بسته های کد منبع نام فایل Sources.gz است ) که لیست بسته های موجود توی شاخه و Dependency هاشون و البته کلی اطلاعات دیگه رو نگه می داره. در صورتی که شما آدرس مخزن رو در فایل etc/apt/sources.list/ اضافه کرده باشید apt این فایل رو می خونه وبه لیست بسته هاش اضافه می کنه و زمانی که شما از apt-get برای نصب بسته استفاده می کنید بسته رو از مخزن شما نصب می کنه.
بریم سر ساخت مخزن :
برای شروع یک شاخه بسازید و تمام بسته های deb رو درون آن کپی کنید:
behrad@debian:~$ mkdir repository
behrad@debian:~$ mkdir repository/binary
* برای این دو تا شاخه تو در تو ساختم که بعدا بتونیم ازش راحت image بگیریم.
تمام بسته ها رو توی شاخه binary کپی کنید. حالا نوبت ساخت فایل Packages.gz هستش. دبیان یک دستور به نام dpkg-scanpackages داره که براتون فایل Packages رو ایجاد می کنه. از این دستور می تونید به شکل زیر استفاده کنید:
behrad@debian:~$ dpkg-scanpackages \
/home/behrad/repository/binary /dev/null | gzip -9c > /home/behrad/repository/binary/Packages.gz
خوب حالا مخزن شما آماده است فقط باید از اون یه image تهیه کنید و روی cd رایتش کنید:
mkisofs -o /home/behrad/test.iso -J -v -r -V ُTestRepository /home/behrad/repository/binary
حالا اونو روی cd رایت کنید:
cdrecord --dev=/dev/hdc --speed=8 -v --eject /home/behrad/test.iso
خوب cd شما آماده است حالا کافیه اونو توسط apt-cdrom add اضافه کنید و از این به بعد از apt برای نصب بسته های اضافی استفاده کنید.
