জেন্টু লিনাক্স আপগ্রেড করার সর্বোত্তম পদ্ধতি?


23

এইভাবে আমি দীর্ঘদিন ধরে জেন্টুকে আপগ্রেড করছি। এটি কি প্রস্তাবিত পদ্ধতি? কোন গোচাছা বা আরও ভাল পদ্ধতি ব্যবহার করতে হবে?

emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all

6
আমি ব্যক্তিগতভাবে উত্থানের জন্য -N পতাকা যুক্ত করি
টম রিটার

2
--tree (-t) এছাড়াও কি চলছে তা বোঝার জন্য সহজ
lkraav

উত্তর:


5

মনে হচ্ছে আপনি এটি coveredেকে ফেলেছেন। কেবলমাত্র অন্য টিপ হ'ল এটি অন্ধ পাইকারের তুলনায় কিছুটা ধীর গতিতে নেওয়া। আপনি সর্বদা emerge -DNuav <atom>পরিবর্তে প্যাকেজগুলি বা নির্ভরতা চেইনের পরিবর্তে পৃথকভাবে আপডেট করতে পারেন world(উদাহরণস্বরূপ সিস্টেম লিবের মতো, আপনি যে ফাইলগুলি ওয়ার্ল্ড ফাইলে যুক্ত করতে চান না তার জন্য --oneshot ব্যবহার করুন)।

নোট করুন যে আপনি প্রতি কয়েক মাস পরপর একচেটিয়া ব্যাচের আপডেটের পরিবর্তে নিয়মিত আপডেট থাকুন তবে তা করা সর্বদা সহজ। এছাড়াও, অনেক চমক এড়াতে, আপনি মেলিং তালিকার একটিতে সাবধানতা পেতে সহায়ক হতে পারে gentoo-user(সতর্কতা: এই তালিকায় একদিনে 100 ডলার) since কীভাবে তাদের সমাধান করবেন তা ব্যাখ্যা করার প্রচুর আলোচনা।

আমি অনুমান করব যে পরবর্তী বড় "সমস্যা" আপডেটটি স্থির হয়ে গেলে ওপেনক্রিতে স্থানান্তরিত হবে (এটি গত বছরের প্রথমদিকে কেবল কয়েকটি সমস্যা নিয়ে মূলত নেটওয়ার্কিং পরিবর্তনের মাধ্যমে হয়েছিল) irc


2
হ্যাঁ, বিশাল অংশগুলির চেয়ে নিয়মিত নিয়মিত আপডেট রাখার বিষয়ে অবশ্যই +1 করুন। মাঝে মাঝে এমন পরিবর্তন হয় যা কেবল অনেকটা বিরতি দেয়। github.com/lkraav/gentoo-cron- উইক্লি আমার সহজ সরল সাপ্তাহিক প্রতিবেদনের সরঞ্জামসেট tool
lkraav

8

আপনি যেই পদক্ষেপগুলি করছেন তার কাছাকাছি আমি ব্যবহার করছি:

  • eix-syncপরিবর্তে emerge --syncকারণ আমি পোর্টেজ গাছের পরিবর্তনগুলি দেখতে পছন্দ করি। এটি বিশেষতঃ প্যাকেজগুলি লক্ষ্য করার জন্য দুর্দান্ত যা আমি সম্ভবত ইনস্টল করতে চাই যা গাছটিতে নতুন।

  • layman -S (মাঝে মাঝে) ওভারলেতে কোনও পরিবর্তন সিঙ্ক করতে প্রধান উত্থাপিত হওয়ার আগে।

  • eclean-dist -drevdep-rebuildঅপ্রচলিত টার্বলগুলি পরিষ্কার করার পরে । আমি প্রতিটি উত্থানের পরে এটি করি কারণ প্যাকেজ ডাউনগ্রেডগুলি সাধারণ নয়।

  • eix-test-obsoleteআমার / ইত্যাদি / পোর্টেজ ফাইলগুলি পরিপাটি করে এবং আপ টু ডেট রাখার জন্য সর্বশেষ পদক্ষেপ হিসাবে। এটি আমাকে জানতে দেয় যখন আমি প্যাকেজগুলি ইনস্টল করেছি যা পোর্টেজ থেকে পুরোপুরি সরিয়ে ফেলা হয়েছে তাই আমাকে ভান্ডার থেকে ইবিল্ডটি নেওয়া দরকার। সাম্প্রতিক উদাহরণ হিসাবে, আমার জেন ভিপিএসে পুরানো কার্নেলটি চলার কারণে আমাকে আইপ্রাউট 2> 2.6.22.20070710 এর সমস্ত সংস্করণটি মাস্ক করতে হবে তবে এটি সম্প্রতি পোর্টেজ থেকে সরানো হয়েছে।

eix-syncএবং eix-test-obsoleteঅ্যাপ্লিকেশন পোর্টেজ / eix হয়।

eclean-dist অ্যাপ্লিকেশন-পোর্টেজ / ভদ্রলকিট-এ রয়েছে।


আইস-সিঙ্কের জন্য +1
টিম

5
  1. emerge --syncবা eix-syncবা emerge-delta-webrsyncএবংeix-update
  2. emerge -av portage
  3. eclean-dist

পরীক্ষা করুন যে কোনও একটি লিনাক্স-শিরোলেখ, গ্লিবিসি, বাইনুটিসস, লিবটোল বা জিসিসির ম্যাগার আপডেট রয়েছে (উদাঃ জিসিসি আপডেটগুলি 4.6 থেকে 4.8 পর্যন্ত)। এটি যদি পদক্ষেপ 11 এ না যায়।

সম্পূর্ণ পুনর্নির্মাণ:

  1. rm -rf PKGDIR/* আপনার প্যাকেজ পীরের পথে PKGDIR প্রতিস্থাপন করুন!
  2. emerge -av linux-headers glibc binutils gcc-config libtool gcc
  3. gcc-config <number of new gcc> নতুন জিসিসিতে স্যুইচ করুন
  4. source /etc/profile
  5. emerge -avb glibc binutils gcc libtool
  6. emerge -avbke system
  7. emerge -avbke world

10 বা 11 ধাপে আপনার যদি সমস্যা হয় তবে এটি ঠিক করুন এবং আবার চেষ্টা করুন

আপডেট ওয়ার্ল্ড:

  1. /var/lib/portage/worldঅপ্রয়োজনীয় প্যাকেজগুলি থেকে আপনার ওয়ার্ল্ড ফাইলটি পরিষ্কার করুন এবং /etc/portageসত্ত্বা পরীক্ষা করুন
  2. fixpackages
  3. emerge -avuDN world
  4. eselect python update
  5. python-updater -- -av
  6. perl-cleaner --all -- -av
  7. emerge -a --depclean
  8. revdep-rebuild -i -- -av

14-18 পদক্ষেপে আপনার যদি কোনও সমস্যা হয় তবে এটিকে ঠিক করুন এবং 13 ধাপ থেকে সমস্ত পদক্ষেপ পুনরাবৃত্তি করুন

  1. etc-update অথবা dispatch-conf
  2. glsa-check -vp affected আপডেটের পরে আপনি স্লটে প্যাকেজগুলি প্রভাবিত করতে পারেন
  3. emaint --check all

3

যদি আপনার লক্ষ্যটি সমস্ত প্যাকেজগুলির মধ্যে সর্বশেষ সর্বশেষতম থাকে তবে হ্যাঁ, এটি সমস্ত ঘাঁটিটি কভার করে। আমি অবাক হয়েছি এটি আপনার জন্য দীর্ঘ সময় ধরে কাজ করেছে, যদিও আমি ভাবব যে আপনি প্রায়শই ব্লক, ভাঙ্গা ভাঙা ইত্যাদি দ্বারা কামড়িত হয়ে উঠবেন, গত কয়েক বছরে আমি পাইকারের হালনাগাদ সম্পর্কে আরও বেশি যত্নবান হয়েছি, পরিবর্তে আপডেট ট্রি দেখার পরে এটি টুকরোয়াল করতে নির্বাচন করুন। জেন্টুর বিকাশটি তার শেষ দিন কেটে গেছে বলে মনে হচ্ছে। সম্ভবত এটি উবুন্টু উত্থানের কারণে।

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


1
যদি আপনি আনমস্কড ইবিল্ডগুলিতে লেগে থাকেন তবে জেন্টু আমার মতে বেশ স্থিতিশীল হয়ে উঠেছে এবং প্রতিটি সিঙ্ক করেই বিশ্বকে আবির্ভূত করে না। আপনি কী করছেন তা আপনার জানা দরকার তবে অ্যাপ্ট বা ইয়মের জন্য একই কথা বলা যেতে পারে। আমি তাদের উভয় কামড়েছি।
জন ডোনয়

1
তিনটি অতি সাম্প্রতিক ব্লকেজ / ব্রেকেজগুলি যা আমি ভাবতে পারি সেগুলি হ'ল লাইবকমার / ই 2 এফস্প্রোগস, ফায়ারফক্স 2/3, এবং xorg 1.3 / 1.5। এই সমস্ত ক্ষেত্রে পাইকারি আপডেটের কাজটি করার জন্য অ-তুচ্ছ ম্যাসেজ লাগবে এবং এতে কোনও কীওয়ার্ড জড়িত ছিল না।
অ্যাডাম ডি'আমিকো

2
পোর্টেজের সর্বশেষতম সংস্করণগুলি - গত 6 মাসের মধ্যে বলুন - প্রায় সমস্ত ব্লক এবং ব্রেকগুলি স্বয়ংক্রিয়ভাবে সমাধান করুন। লাইবামারার / ই 2 এফস্প্রোগ সহ।
ড্যান কারলি

3
glsa-check -t all
glsa-check -f all

এটিই আপনার আগে চালানো উচিত। আপনি যদি সমস্ত প্যাকেজ আপগ্রেড করেন তবে এটি অপ্রয়োজনীয়।

ওহ এবং আমি সিএফজি-আপডেট পছন্দ করি;)


1

এই আমি কি কি:

emerge --sync         //Synchronize the package manager with the latest 
                      //version of each package.


emerge -aDvNu system  //updates the system, but only important if you want the
                      //latest stable version of the actual compiler and libraries
                      //with the core system.

emerge -uDNav world   //world means everything we've asked to be emerged before
                      //this does not include things that came pre installed.
                      //N means if you change your use directives in 
                      //your make.conf file to pull in the new packages.

emerge -av depclean   //removes libraries or programs that don't have any other 
                      //dependencies because of an update.


revdep-rebuild        //means if something is broken by an update, it 
                      //recompiles it.  Fixes dynamic and static linking problems.

আপনি যদি মন্তব্যগুলি সম্পূর্ণরূপে বুঝতে না পারেন তবে এটি পড়ুন কারণ এটি আপনার ভেন্টু প্যাকেজগুলি কীভাবে আপডেট করবেন সে সম্পর্কে কর্তৃত্ব।

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1


0

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


0

দীর্ঘ সময় ধরে আমি সবসময় এই পদ্ধতিটি ব্যবহার করি:

emerge -f --update --newuse --deep world && emerge --update --newuse --deep world

আমি, আমার জন্য, রাত্রে আপডেট করতে পছন্দ করি। তবে কখনও কখনও এটি ঘটে যে কিছু ব্যর্থ হয় এবং তাই আপনাকে আবার সমস্ত (বা কিছু) প্রোগ্রাম ডাউনলোড করতে হবে।

সম্ভবত --newuse স্যুইচ অযৌক্তিক, কিন্তু আমি প্রায়শই আমার মেককনফ সম্পাদনা করি যাতে এটি আমার কাছে বোধগম্য হয়।


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

0

দেখতে খুব ভাল লাগছে, যদিও আমি শোধ করার জন্য এত তাড়াতাড়ি না।

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


0

আমি আমার ভিপিএসে এটিই করি:

পদক্ষেপ 0 (/ etc / crontab থেকে)

0 0   * * *     root    emerge --sync &> /dev/null

ধাপ 1:

emerge --update --deep --newuse world -av

ধাপ ২:

emerge --depclean && revdep-rebuild && eclean-pkg && rm /usr/portage/distfiles/*
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.