صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

لیدورا یک وبلاگ تخصصی برنامه نویسی یا لینوکس نیست. بیشتر محلیه برای ثبت چیزهایی که قراره بیشتر از یه بار خونده بشن. اگه به درد شما هم خورد که زکات دانش ما پرداخت شده، شکر.

آخرین نظرات

  • ۱۰ بهمن ۹۵، ۰۲:۴۲ - Black Riders
    عالی

نویسندگان

چگونه در آرچ لینوکس یک مخزن محلی بسازیم

پنجشنبه, ۲۵ دی ۱۳۹۳، ۰۳:۳۳ ب.ظ

مهاجرت به آرچ

ساختن یه مخزن محلی از بسته‌های آرچ مزایای زیادی داره.

  • با استفاده از اون می‌تونید آرچ رو روی یه سیستم دیگه به صورت آفلاین نصب کنید.
  • می‌تونید سیستمی که به نت متصل نیست رو آفلاین آپدیت کنید.
  • می‌تونید از جایی که به اینترنت پر سرعت (یا رایگان :D) دسترسی دارید بسته‌ها رو دانلود کنید و روی سیستم خودتون نصب کنید.

قبل از هر چیز یه کپی از بسته‌های کش pacman یا بسته‌هایی که به صورت دستی دانلود شدن بگیرید. تمام بسته‌های pacman توی مسیر زیر ذخیره می‌شن.

/var/cache/pacman/pkg

 

حالا به مسیری که بسته‌ها رو توی اون کپی کردید برید و pacman رو آپدیت کنید. (اجباری نیست ولی ممکنه اگه pacman آپدیت نشه سیستمتون با مشکل مواجه بشه)

sudo pacman -U pacman-VERSION_ARCH.pkg.tar.gz

 

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

repo-add /YOUR_PATH/myrepo.db.tar.gz  /YOUR_PATH/*.pkg.tar.xz

YOUR_PATH رو با مسیر بسته‌ها جایگزین کنید. هر دو مسیر باید مثل هم باشن. اولی مسیریه که دیتابیس اطلاعات بسته‌ها توش ساخته می‌شه پس باید توی مسیر بسته‌ها باشه.

من بسته‌های پکمن رو توی مسیر home/ali/pkg/ کپی می‌کنم پس دستور بالا این شکلی می‌شه:

repo-add /home/ali/pkg/myrepo.db.tar.gz  /home/ali/pkg/*.pkg.tar.xz

 

حالا باید مخزن رو به پکمن معرفی کنید. فایل pacman.conf رو باز کنید و سه خط زیر رو بهش اضافه کنید.

# Local repo
[Repo Name]
Server = file:///ADDRESS

 

مثلا برای من این شکلیه

# Local repo
[myrepo]
Server = file:///home/ali/pkg

 

حالا یه شورتکات از فایل دیتابیس با پسوند db. بسازید.

ln -s /YOUR_PATH/myrepo.db.tar.gz  /YOUR_PATH/myrepo.db

برای من این شکلیه:

ln -s /home/ali/pkg/myrepo.db.tar.gz  /home/ali/pkg/myrepo.db

در نهایت برای آپدیت دیتابیس دوباره دستور repo-add رو اجرا کنید.

کار تمومه و می‌تونید بسته‌ها رو توی سیستم مقصد نصب کنید.

{} ~ sudo pacman -S myrepo/liferea
resolving dependencies...
looking for conflicting packages...

Packages (1) liferea-1.10.12-1

Total Download Size:   0.78 MiB
Total Installed Size:  3.37 MiB

:: Proceed with installation? [Y/n]

 

پ. ن. یک راهنمای کامل نصب آفلاین آرچ در LinuxReview توسط Pyruzan عزیز، نوشته شده که اون رو هم ببینید.

نظرات  (۵)

خیلی خوب بود من هنوز سمت آرچ نرفتم و دارم مطالب آموزشی رو قبل از نصبش میخونم .
مطمئنا این مطلب خیلی به دردم میخوره .
پاسخ:
ممنون فرهاد عزیز.
نزدیک به 6 ساعت از وقت منو گرفت تا نصبش کنم البته بیشترشم به خاطر این اینترنت ذغالی بود
ولی جی کار کنم پسوردشو یادم رفته اخه یه چند ماهی خاموش بودش....
پاسخ:
۶ ساعت؟ چه صبری داری :D

پسورد root رو فراموش کردی یا کاربر خودتو؟
سلام..شما هم وبلاگ خوبی دارید... در صورت تمایل میتونیم همدیگه رو لینک کنیم.. و حتی بیشتر با هم دیگه آشنا بشیم....
salam
man moshkele kyeborad daram  mibakhshid  mishe hamin mahal asli ro beonvan makhzan ghrar dad va on ro repo kard
پاسخ:
متوجه منظورتون نشدم. محل اصلی چی؟
سلام
منظورم محل ذخیره سازی بسته در var/ هستش
راستی چطوری آدرس رو برای دریافت از طریق شبکه تنظیم کنم اینجوری که سیستم های دیگه دسترسی ندارن به مخزن سیستم راستش تو قسمت سرور چطوری آدرس تو شبکه بذارم
# Local repo
[myrepo]
Server = file:///home/ali/pkg
این آدرس توسیستم هست تو شبکه چیکارکنم چطوری شیر کنم را هنمایی کنید


پاسخ:
اون آدرس خودش به عنوان کش پکمن استفاده میشه و اگه repo-add رو روش اجرا کنی ممکنه مشکل با پکمن پیدا کنی.

برای share هم اینجا رو ببینید
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Network_shared_pacman_cache

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی