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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: استفاده هم زمان از ورژن قدیمی و جدید یک پکیج  (دفعات بازدید: 526 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین mkch

  • Newbie
  • *
  • ارسال: 1
  • جنسیت : پسر
چگونه می توان از ورژن قدیمی و جدید  یک پکیج به طور هم زمان استفاده کرد

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2657
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
درود
باید مدیر بسته این قابلیتو داشته باشه که apt این قابلیتو نداره.
،guix با nix این قابلیتو دارن ولی پیچیده هستن.
میتونید از فلت‌پک یا appimage برای استفاده از بسته قدیمی یا جدید تر جدای مدیر بسته استفاده کنید.
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین Dr.Code

  • High Hero Member
  • *
  • ارسال: 1446
  • جنسیت : پسر
  • Dr.Code
    • My website

در لینوکس، نصب دو نسخه متفاوت از یک پکیج به‌طور همزمان ممکن است کمی چالش‌برانگیز باشد، ولی با روش‌های زیر می‌توان این کار را انجام داد:

### ۱. استفاده از محیط‌های مجازی (Virtual Environments)
برای پکیج‌های پایتونی و برخی دیگر از زبان‌های برنامه‌نویسی، می‌توان از **محیط‌های مجازی** استفاده کرد. این روش به شما اجازه می‌دهد که نسخه‌های مختلف یک پکیج را در محیط‌های جداگانه نصب و استفاده کنید.

#### مثال برای پایتون:
- نصب و ایجاد محیط مجازی:
  ```bash
  python3 -m venv env1
  python3 -m venv env2
  ```
- فعال‌سازی محیط مجازی:
  ```bash
  source env1/bin/activate
  ```
  سپس می‌توانید یک نسخه از پکیج را نصب کنید:
  ```bash
  pip install package==version1
  ```
- غیرفعال کردن محیط مجازی:
  ```bash
  deactivate
  ```

#### مزایا:
- جداسازی نسخه‌ها در محیط‌های مجزا
- ساده برای مدیریت پکیج‌ها

### ۲. نصب نسخه‌های مختلف پکیج از طریق کامپایل دستی
برای پکیج‌هایی که قابل کامپایل هستند (مثل بسیاری از پکیج‌های C/C++ و سایر زبان‌ها)، می‌توانید نسخه‌های مختلف را از سورس کد کامپایل کرده و در مسیرهای مختلف نصب کنید.

#### مثال:
- دانلود نسخه‌های مختلف پکیج:
  ```bash
  wget http://example.com/package-version1.tar.gz
  wget http://example.com/package-version2.tar.gz
  ```
- استخراج و نصب نسخه‌ها در مسیرهای مختلف:
  ```bash
  ./configure --prefix=/opt/package-version1
  make && sudo make install
  ./configure --prefix=/opt/package-version2
  make && sudo make install
  ```
- می‌توانید با تغییر مسیرهای نصب (`--prefix`)، نسخه‌های مختلف را در مسیرهای جداگانه نصب کنید.

#### مزایا:
- آزادی کامل در نصب نسخه‌های مختلف
- مناسب برای پکیج‌های سیستمی که نیاز به کامپایل دارند

### ۳. استفاده از مدیریت‌کننده‌های پکیج مانند Snap و Flatpak
مدیران بسته‌ای مثل **Snap** و **Flatpak** به شما اجازه می‌دهند که نسخه‌های مختلف از نرم‌افزارها را در کنار هم نصب کنید. این روش بیشتر برای اپلیکیشن‌های بزرگ یا ابزارهای مستقل استفاده می‌شود.

#### مثال:
- نصب نسخه‌های مختلف از طریق Snap:
  ```bash
  sudo snap install package --channel=version1/stable
  sudo snap install package --channel=version2/stable
  ```

#### مزایا:
- مدیریت ساده نسخه‌ها
- ایزوله بودن محیط‌ها

### ۴. استفاده از کانتینرها (Docker)
برای نرم‌افزارهای سنگین‌تر و محیط‌های پیچیده‌تر، استفاده از **Docker** یک روش عالی است. با کانتینرها می‌توانید نسخه‌های مختلف یک پکیج را در کانتینرهای جداگانه داشته باشید.

#### مثال:
- اجرای دو نسخه مختلف در کانتینرها:
  ```bash
  docker run -it image:version1
  docker run -it image:version2
  ```

#### مزایا:
- ایزوله بودن کامل
- قابل حمل بودن کانتینرها

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


منبع:
https://chatgpt.com/share/86c17726-ef7f-45d2-9ed4-310c42fd3d15
« آخرین ویرایش: 16 شهریور 1403، 04:13 ب‌ظ توسط Dr.Code »

آفلاین محمد رضا لامعی

  • Full Member
  • *
  • ارسال: 102
  • جنسیت : پسر
  • همیشه در حال یادگیری
    • سایت شخصی
سلام و درود
در چه زبانی؟
a Day Without Learning is a Lost Day

آفلاین Dr.Code

  • High Hero Member
  • *
  • ارسال: 1446
  • جنسیت : پسر
  • Dr.Code
    • My website
سلام و درود
در چه زبانی؟
منظورت انگلیسی یا اسپانیایه؟

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
برای Containerها یک گزینهٔ دیگه هم می‌تونه Incus باشه.

آفلاین محمد رضا لامعی

  • Full Member
  • *
  • ارسال: 102
  • جنسیت : پسر
  • همیشه در حال یادگیری
    • سایت شخصی
سلام و درود
در چه زبانی؟
منظورت انگلیسی یا اسپانیایه؟

برنامه نویسی ](*,)
مثلا توی pip چندتا نسخه از جنگو داشته باشه
a Day Without Learning is a Lost Day

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
چگونه می توان از ورژن قدیمی و جدید  یک پکیج به طور هم زمان استفاده کرد

علاوه بر توضیحاتی که دوستان اشاره کردن، داکر هم ایده خوبیه.
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت