আমি পিপিএ থেকে প্যাকেজগুলি কীভাবে বেছে নেব?


45

আপনার যুক্ত পিপিএ সংগ্রহস্থল থেকে প্যাকেজ পিক করার কোনও উপায় আছে কি? তা হল, অন্যকে অন্তর্ভুক্ত করার সময় আপডেট থেকে কিছু বাদ দিতে?

উদাহরণস্বরূপ, আমি চাই শুধু থেকে ক্রোমিয়াম-ব্রাউজার প্যাকেজ এই সংগ্রহস্থলের কিন্তু অন্যদের। সুতরাং আমি চাই না যে আমার sudo apt-get upgradeপিপিএর অন্যান্য (ক্রোমিয়াম-ব্রাউজার ছাড়াও) প্যাকেজগুলি আমার বিদ্যমান প্যাকেজগুলির মধ্যে ইনস্টল করা হোক, ঠিক এটি।

আমি বুঝতে পেরেছি যে যদি আমি নির্ভরতা ভুল করে লিখি এবং আমার অন্তর্ভুক্ত থাকাগুলির প্রয়োজনীয়তাগুলি বাদ দিই তবে আমি নিজেকে এই পদক্ষেপের জন্য লাইসেন্স বলেছি, তবে আমি এই ক্ষেত্রে একটি সত্যের জন্য জানি যে অন্যান্য প্যাকেজগুলি সেইটির জন্য নির্ভরতা নয়।

এটা কি আদৌ সম্ভব? হতে পারে কিছু শ্বেতলিস্ট / ব্ল্যাকলিস্ট ফাইল বা কিছু আছে?


আমি তিনটি কারণে সিন্যাপটিক পাস করব: উবুন্টু এটিকে সফটওয়্যার আপডেটার হিসাবে উবুন্টু সফটওয়্যার সেন্টারের পক্ষে ফেলে দিয়েছে, আমি সিন্যাপটিকের জন্য পিপিএর উপর থেকে ইনস্টল করা ফাইলগুলি আপগ্রেডগুলি বন্ধ করার উপায় দেখিনি (যা আমার সমস্যা ছিল), এবং আমি জিইউআই এর জন্য একটি কমান্ড লাইন সমাধান পছন্দ করে। কিছু কাজ করে যা শেষ হয়েছিল (নীচে আমার উত্তর দেখুন)।
যুবিলিও

2
সফ্টওয়্যার সেন্টারটি সফ্টওয়্যার ইনস্টল এবং অপসারণের জন্য ব্যবহৃত হয়, আপডেট ম্যানেজার আপডেট করার জন্য ব্যবহার করা হয়, আপনি সিনপ্যাটিকে পিনিং ব্যবহার করতে পারতেন যাতে অন্যান্য প্যাকেজগুলি আপগ্রেড না হয়, এমন একটি নতুন ব্যবহারকারীর জন্যও যে টার্মিনালটির সাথে গোলযোগ করতে চায় না জিইউআই পছন্দ হবে, অবশ্যই আপনার উত্তরটি বেশ সঠিক।
উরি হেরেরা

সফ্টওয়্যার-কেন্দ্রের মাধ্যমে আপনি যা করতে পারবেন না এমন কয়েকটি জিনিস রয়েছে (যা সিনাপটিকের সাহায্যে সহজ)। এবং সবাই (বিশেষত newbies) কমান্ডলাইনে আরামদায়ক নয়।
ম্রোকি

@ ম্রোকি আমি সম্মত হই যে আমার পদ্ধতির নতুনদের পক্ষে নয়। আপনার লেখা সিন্যাপটিক উত্তর এবং উরি হেরেরা ইঙ্গিত করেছিলেন, যা আমি অনুমান করি যে, এটি সে ক্ষেত্রে আরও ভাল। যারা চেষ্টা করে অন্যকে আমি এটি রেট করে দেব।
yuvilio

উত্তর:


61

এটি করার একটি উপায় খুঁজে পেয়েছি।

কৌশলটি দুটি পিনিং ক্লজ ব্যবহার করছে । সর্বপ্রথম পিপিএ থেকে সমস্ত প্যাকেজ বাতিল করুন এবং দ্বিতীয়টি আপনার পছন্দগুলি নির্বাচন করুন।

সুতরাং উপরের উদাহরণের জন্য, আমি প্রথমে যথারীতি পিপিএ যুক্ত করি:

$ sudo add-apt-repository ppa:webapps/preview
...
$ sudo apt-get update
...

এখন আমি যদি অ্যাপটি-ক্যাশে নীতি পরিচালনা করি তবে এটি আমাকে দেখায় যে ক্রোমিয়াম-ব্রাউজারের একটি নতুন সংস্করণ উপলব্ধ আছে এবং এটি একটি আপগ্রেড সহ ইনস্টল করবে কারণ এটি আমার বর্তমান ক্রোমিয়াম ব্রাউজারের মতো একই অগ্রাধিকার (500)।

$ sudo apt-cache policy chromium-browser
chromium-browser:
  Installed: 18.0.1025.168~r134367-0ubuntu0.12.04.1
  Candidate: 20.0.1132.47~r144678-0precise1+webapps3
  Version table:
     20.0.1132.47~r144678-0precise1+webapps3 0
        500 http://ppa.launchpad.net/webapps/preview/ubuntu/ precise/main amd64 Packages
 *** 18.0.1025.168~r134367-0ubuntu0.12.04.1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
        500 http://ppa.launchpad.net/chromium-daily/beta/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status
     18.0.1025.151~r130497-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
E: Unable to parse package file /etc/apt/preferences.d/webapps-preview-pin-400 (1)
$ 

এটি প্যাকেজ যতটা দুর্দান্ত তবে আমি চাই না যে এই পিপিএর অন্যান্যগুলিও (যার একটি 500 অগ্রাধিকার রয়েছে) ইনস্টল করা হোক। এই মুহুর্তে যদি আমি আপগ্রেড করার চেষ্টা করি, আমি সেই সংগ্রহস্থল থেকে আমার ক্রোমিয়াম প্যাকেজগুলির চেয়ে বেশি চাই:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
  bamfdaemon gwibber gwibber-service gwibber-service-facebook gwibber-service-twitter indicator-appmenu libbamf0 libbamf3-0 shotwell
The following packages will be upgraded:
  chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg gwibber-service-identica indicator-messages indicator-status-provider-mc5
  indicator-status-provider-pidgin libindicator-messages-status-provider1
8 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Need to get 25.3 MB of archives.
After this operation, 5,034 kB of additional disk space will be used.
Do you want to continue [Y/n]? 

সুতরাং আমি যা করতে পারি তা হ'ল এই পিপিএর সমস্ত প্যাকেজগুলি চাই, এই ক্ষেত্রে ওয়েব অ্যাপস-পূর্বরূপ, তাদের "ক্রোমিয়াম" নাম বাদে কম অগ্রাধিকার পেতে চাই । এর জন্য প্রক্রিয়াটি একটি প্যাকেজ পিন করছে

আমি দুটি ধারা নিয়ে /etc/apt/preferences.d/ এ একটি ফাইল তৈরি করি। প্রথমটি বলে যে ওয়েব অ্যাপস-প্রিভিউ পিপিএর সমস্ত প্যাকেজগুলিকে নিয়মিত একের চেয়ে কম অগ্রাধিকার দিন (যাতে তাদের উচ্চতর সংস্করণ নম্বর থাকা সত্ত্বেও তাদের পছন্দ করা হয় না The দ্বিতীয় ধারাটি প্যাকেজগুলি দেবে বলে আংশিকভাবে প্রথমটিকে ওভাররাইড করে তাদের নামে "ক্রোমিয়াম" যুক্ত পিপিএ অন্যান্য প্যাকেজগুলির মতো একই অগ্রাধিকার যাতে এটি ইনস্টল হয়ে যায় (এটির চেয়ে বেশি সংস্করণ সংখ্যা রয়েছে)।

$ cat /etc/apt/preferences.d/webapps-preview-pin-400
Package:  *
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 400


Package:  *chromium*
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 500

"পিন: রিলিজ" বিকল্পের জন্য সঠিক স্ট্রিং সনাক্ত করতে আমরা আবার এপ-ক্যাশে নীতি ব্যবহার করতে পারি।

$ apt-cache policy
...
500 http://ppa.launchpad.net/webapps/preview/ubuntu/ precise/main i386 Packages
    release v=12.04,o=LP-PPA-webapps-preview,a=precise,n=precise,l=preview,c=main
    origin ppa.launchpad.net
...

অ্যাপ্ট সংস্করণগুলির জন্য <0.8.14 পিনযুক্ত প্যাকেজগুলিকে স্পষ্টভাবে নির্দিষ্ট করতে হবে কারণ ওয়াইল্ডকার্ডগুলি কাজ করে না:

$ cat /etc/apt/preferences.d/webapps-preview-pin-400
Package:  *
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 400


Package:  chromium-browser chromium-codecs-ffmpeg chromium-browser-l10n chromium-codecs-ffmpeg-extra
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 500

এবং এখন, আমি যখন আপগ্রেড করার চেষ্টা করি তখন আমি কেবলমাত্র সেই প্যাকেজগুলি পাই যেগুলি পিপিএ থেকে চাই এবং অন্যান্যগুলি নয়। সমস্ত সুন্দরভাবে চেরি আমার জন্য বেছে নিয়েছে:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.1 MB of archives.
After this operation, 5,026 kB of additional disk space will be used.
Do you want to continue [Y/n]?

5
বেশ জটিল, imho।
ম্রোকি

5
আমি দ্বিমত পোষণ করছি, কেউ যা পছন্দ করে তার জন্য এটি সরাসরি সোজা। এবং পিপিএর পিনের নাম সনাক্ত করার জন্য সমস্ত নির্দেশনা পেয়ে ভাল লাগল।
নিকোলি

এই সুনির্দিষ্ট উত্তরটি তাদের পক্ষে যাঁরা নিশ্চিত করতে চান যে অ্যাপটি সর্বদা নির্দিষ্ট সংগ্রহস্থলের প্যাকেজ পছন্দ করে prefer আপনি যদি ওয়ান অফ সলিউশন চান তবে এই উত্তরটি বা এটি ব্যবহার করে দেখুন
ব্রায়াম

7

আপনি ?originনির্বাচকটির সাথে যে রিলিজটি ইনস্টল করতে চান তা নির্বাচন করতে পারেন :

প্যাকেজ সংস্করণগুলির সাথে মেলে যাঁর উত্স নিয়মিত প্রকাশের উত্সের সাথে মেলে। উদাহরণস্বরূপ, "!? উত্স (ডেবিয়ান)" আপনার সিস্টেমে কোনও বেসরকারী প্যাকেজ (ডেবিয়ান আর্কাইভ থেকে নয় এমন প্যাকেজগুলি) পাবেন।

সুতরাং, আপনার নির্দিষ্ট ক্ষেত্রে আপনি ব্যবহার করতে পারেন:

sudo aptitude install !?origin(LP-PPA-webapps-preview) chromium

অথবা আপনি ব্যবহার করে সংস্করণটি নির্দিষ্ট করতে পারেন <packagename>=<version>:

sudo apt-get install chromium=20.0.1132.47~r144678-0precise1+webapps3

5

আপনি আসলে সিনেটিকের মাধ্যমে নির্দিষ্ট প্যাকেজগুলি "চেরি পিক" করতে পারেন এবং এটি খুব সহজ। এটি এর মতো কাজ করে:

  • আপনি যদি কিছু নির্দিষ্ট পিপিএর জন্য এটি করতে চান তবে সায়ন্যাপটিক-উইন্ডোতে "অরিজিন" (নীচের বাম কোণে) চয়ন করুন এবং তারপরে আপনি যে পিপিএ পরিবর্তন করতে চান তা চয়ন করুন

  • আপনি যে কোনও প্যাকেজ স্বয়ংক্রিয়ভাবে আর আপগ্রেড করতে চান না তা চয়ন করুন।

  • মেনু "প্যাকেজ / লক সংস্করণ" চয়ন করুন। আপনি যে সমস্ত প্যাকেজগুলি বেছে নিয়েছেন সেগুলি আর পুনরায় আনলক না করা অবধি স্বয়ংক্রিয়ভাবে আপগ্রেড হবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.