আরএইচইএল / ফেডোরা / সেন্টোস সিস্টেমগুলির জন্য আপডেট-গ্রাবের সমতুল্য?


36

উবুন্টুতে (এবং আমিও ডিবিয়ান ভাষায় অনুমান করি) একটি সিস্টেম স্ক্রিপ্ট রয়েছে update-grubযা grub-mkconfig -oগ্রাব কনফিগারেশন ফাইলের জন্য সঠিক পথের সাথে স্বয়ংক্রিয়ভাবে কার্যকর করে ।

রেড হ্যাট ভিত্তিক বিতরণের জন্য কি একই জাতীয় আদেশ রয়েছে?

যদি তা না হয় তবে সিস্টেমটি কীভাবে জানবে যে নতুন কার্নেল সংস্করণ ইনস্টল করা হলে গ্রুব কনফিগারেশন ফাইলটি আপডেট করতে হবে?

উত্তর:


14

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

প্রতিটি ইনস্টল করা RPM প্যাকেজের জন্য আপনি rpmকমান্ডের সাথে অন্তর্ভুক্ত থাকা সঠিক স্ক্রিপ্টগুলির জন্য RPM ডাটাবেসটি জিজ্ঞাসা করতে পারবেন :

rpm -q --scripts <package-name>

CentOS 6 এর জন্য কার্নেল প্যাকেজে সেই আদেশটি চালানো অন্যদের মধ্যে ফিরে আসে:

postinstall scriptlet (using /bin/sh):
<snip>
/sbin/new-kernel-pkg --package kernel --install 2.6.32-431.17.1.el6.x86_64 || exit $?

ম্যানুয়াল থেকে:

new-kernel-package স্ক্রিপ্ট কার্নেল ইনস্টলেশন সরঞ্জাম


2
/bin/kernel-installপরিবর্তে ফেডোরার 20 ফলনের জন্য একই কমান্ড চালানো হচ্ছে । ভবিষ্যতের রেফারেন্সের জন্য এই তথ্য অন্তর্ভুক্ত করার জন্য দয়া করে আপনার উত্তরটি সম্পাদনা করুন
পিকনেট ২

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

3
হ্যাঁ @ এইচবি ব্রাইজন ঠিক আছে। ফেডোরা, আরএইচইএল, এবং সেন্টোস জুড়ে একটি একক উত্তর দেওয়ার জন্য এখানে খুব বেশি পরিবর্তনশীলতা রয়েছে, এটি কীভাবে সন্ধান করা যায় তা আরও ভাল show
slm

24

ফেডোরার স্ক্রিপ্টগুলি বিশ্লেষণ করার পরে, আমি বুঝতে পারি যে কনফিগারেশন ফাইলের পাথটি সিমলিংক থেকে পড়েছে /etc/grub2.conf। সঠিক grub2-mkconfigলাইনটি হ'ল:

grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"

মন্তব্যে উল্লিখিত হিসাবে, এটি হতে পারে /etc/grub2.cfgবা /etc/grub2-efi.cfgকোনও ইউইএফআই সিস্টেমে। আসলে, উভয় লিঙ্ক একই সময়ে উপস্থিত থাকতে পারে এবং বিভিন্ন অবস্থানের দিকে ইঙ্গিত করে-eপতাকা readlinkআউট ত্রুটি হলে লক্ষ্য ফাইল উপস্থিত না থাকলে, কিন্তু আমার সিস্টেমে উভয় অস্তিত্ব ... আপনার কমান্ড চেক করুন, আমি অনুমান।


5
CentOS 7 এ লিঙ্কগুলি দেখে মনে হচ্ছে/etc/grub2.cfg
অ্যান্থন

6
grub2-mkconfig - আউটপুট = / বুট / grub2 / grub.cfg ফেডোরা ম্যানুয়ালটিতে অনুমোদিত উপায় হিসাবে মনে হচ্ছে
কেন্দ্রিক

1
: আরও সেন্টওএস 7-নির্দিষ্ট কীড়া পদক্ষেপ জন্য, অফিসিয়াল উইকি পরীক্ষা wiki.centos.org/HowTos/Grub2
sshow

2
আপনার যদি কোনও ইউইএফআই সিস্টেম থাকে তবে আপনি চাইবেনsudo grub2-mkconfig -o "$(readlink /etc/grub2-efi.cfg)"
ক্রেগ রিঞ্জার

10

ফেডোরায় আমি ব্যবহার করি:

grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"

কারণ readlinkআপেক্ষিক পথ ফেরানোর কোনও বিকল্প ছাড়াই মৃত্যুদণ্ড কার্যকর করা এবং grub2-mkconfigএকটি ত্রুটি দেয়:

$ ls -l /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Dec 10  2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

$ readlink /etc/grub2.cfg
../boot/grub2/grub.cfg

$ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
/usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory

আমি -eবিকল্পটি ব্যবহার করি যাতে সিমলিংক যদি উপস্থিত কোনও ফাইলের সমাধান না করে তবে স্টাডআউটে আউটপুট প্রদর্শিত হবে যাতে আমি জানি যে কিছু ভুল হয়েছে।

রিডলিংকের জন্য ম্যান পৃষ্ঠা থেকে:

      -e, --canonicalize-existing
          canonicalize  by  following  every symlink in every component of
          the given name recursively, all components must exist

6

ফেডোরায়, /etc/grub2.cfg সিমলিংক পয়েন্টগুলি বিআইওএস সংস্করণে। একটি ইউইএফআই সিস্টেমে, ব্যবহার করুন:

$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

CentOS এ:

$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

সাধারণত, আপনি পরিবর্তে ব্যবহার করতে পারেন:

$ sudo grub2-mkconfig -o $(readlink -f /etc/grub2-efi.cfg)

Https://docs.fedoraproject.org/f27/system-administrators-guide/kernel-module-driver-configration/Working_with_the_GRUB_2_Boot_Loader.html#sec- সম্পাদনা_এ_মেনু_এন্ট্রি দেখুন


2

সঙ্গে সম্পাদন করা কীড়া ফাইল viবা vimwq লিখে: পরিবর্তন এবং সঙ্গে ঘনিষ্ঠ সম্পাদক সংরক্ষণ করুন!

রেডহ্যাট বা সেন্টোস-এ গ্রাব আপডেট করার জন্য আপনাকে এটি চালানোর প্রয়োজন:

grub2-mkconfig -o /boot/grub2/grub.cfg

0

update-grubউবুন্টুতে স্ক্রিপ্ট আসলে শুধু একটি হল জন্য শহরের উপর অসম্পূর্ণ নিবন্ধgrub-mkconfig , এবং এটি অত্যধিক ব্যথা ছাড়া অন্যান্য ডিস্ট্রো অভিযোজিত করা যাবে। এখানে এটি সম্পূর্ণরূপে:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

এটি কার্যকরভাবে সেন্টোস উইকিতে যা সুপারিশ করা হয়েছে তা করে এবং এখানে অন্যান্য উত্তরে - পার্থক্য হ'ল আপনাকে কমান্ড এবং আউটপুট পাথে পরিবর্তন grubকরতে হবে grub2

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