۱۳۸۶ اسفند ۱۳, دوشنبه

راه اندازي و ساخت مخزن (Repository) محلي براي Debian و Ubuntu


خيلي اوقات داشتن يك مخزن محلي بر روي سيستم يا شبكه داخلي ما را كمك مي كند تا با خيالي آسوده تر و راحت تر با سيستم كار كنيم ، چراكه مجبور نيستيم براي نصب بسته ها مرتبا cd هاي مختلف را تعويض كنيم يا پهناي باند زيادي را به نصب بسته ها اختصاص دهيم. البته در صورتيكه اينترنت پر سرعت وجود داشته باشد كه در اكثر مواقع وجود ندارد ، به جرات مي توانم بگويم كه اكثر به اصطلاح ISP ها هم قادر به اين كار نيستند چرا كه معمولا 2-3 برابر ظرفيت خود كاربر اختيار مي كنند.
همجنين با ساختن مخزن ،قادريم بسته هايي كه در مخازن اصلي وجود ندارند و جداگانه آنها را دريافت كرده ايم به مخزن محلي خود اضافه كنيم تا هم مخزني كامل تر داشته باشيم و هم در صورت وجود وابستگي ، نصب آن بسيار راحت تر باشد.
وجود يك مخزن محلي در يك شبكه داراي چندين سيستم لينوكسي باعث راحتي كار ، كم شدن زحمات مديران سيستم و در صورت نصب بسته ها از اينترنت ، صرفه جويي قابل ملاحظه اي در پهناي باند مي شود.

مراحل كار :

در اين آموزش ما مخزن را به واسطه بسته هاي موجود در DVD مي سازيم.

ابتدا دايركتوري هاي مورد نياز را ايجاد مي كنيم :
mkdir /dpkg/pool/main /dpkg/dists/main/binary-i386 -p

سپس بسته هاي را از CD يا DVD كپي مي كنيم :
cp /cdrom/pool/main/* /dpkg/pool/main -R

اين مرحله را مي بايست براي تمامي DVD يا CD ها انجام بدهيم.

حال بسته هاي مورد نياز را نصب مي كنيم :
apt-get install apache2 dpkg-multicd


اكنون زمان ساختن فايل هاي مورد نياز براي ايندكس كردن بسته هاي درون مخرن است ، براي اين منظور از دستور dpkg-scanpackages بهره مي گيريم.

قاعده استفاده از dpkg-scanpackages بدين ترتيب است :
dpkg-scanpackages [-m medium] binarypath overridefile [pathperfiz] > Packages

ابتدا overridefile را ايجاد مي كنيم :
touch pa

سپس اين دستور را اجرا مي كنيم تا تمامي بسته ها ايندكس شوند :
dpkg-scanpackages -m 'PersianAdmins repo' /dpkg/pool/main pa > /dpkg/dists/main/binary-i386

فايل ايندكس ساخته شده را فشرده مي كنيم :
gzip /dpkg/dists/main/binary-i386/Packages

لينك هاي مورد نياز به ريشه وب دايركتوري را ايجاد مي كنيم :
ln -s /dpkg /var/www/dpkg
ln -s /dpkg /var/www/dpkg/dpkg


فايل تنظيمات مربوط به مخزن ها etc/apt/sources.list/ مي باشد.

در صورتيكه مي خواهيم از مخزن فقط بر روي همين سيستم استفاده كنيم ، مي توانيم بدون استفاده از آپاچي بدين ترتيب عمل كنيم :
nano /etc/apt/sources.list
deb file:///dpkg main /

در صورت استفاده در شبكه ، مي تواين تنظيمات زير را در سيستم هاي مورد نياز اعمال كنيم :
nano /etc/apt/sources.list
deb http://ip-address/pkg

و در آخر براي بروزرساني ليست بسته هاي سيستم :
apt-get update

هم اكنون مي توانيد براحتي با استفاده از ابزار apt به نصب بسته ها و جستجو در آنها بپردازيد.
apt-get install packge-name
apt-get install word


اگر يك بسته در مخازن اينترنتي دبين موجود است ولي شما آن را در اختيار نداريد ، مي توانيد با دستور زير بدون آنكه بسته مورد نظر را بر روي سيستم خود نصب كنيد ، آنرا با تمام وابستگي هايش دانلود كنيد :
apt-get install -d package-name

بسته بهمراه تمام وابستگي هايش در دايركتوري زير دانلود مي شوند :
/var/cache/apt/archives

هیچ نظری موجود نیست: