Note: This is an RHCSA 7 exam objective.
To install a new kernel package, type:
# yum install kernel.rpm
# rpm -ivh kernel.rpm
Note: Don’t use the -U option which replaces the current kernel instead of adding it to the boot menu.
“rpm -ivh kernel.rpm”
Do we just have to run this command? Is this package available automatically or do we have to configure any repo? do we have to change anything in grub.config file?
Your site is helping a lot to learn, thanks for that.
Yes, you will need to configure a repository to be able to get packages.
The other option is to download each package separately but this way nothing will deal with dependencies and it will be a big work for almost nothing.
Could you please write complete steps for updating new kernel?
I think before # rpm -ivh kernel.rpm, there should be # wget kernel.rpm.
Also grub2-set-default 0 to set new kernel and if new kernel is in second line of grub2 menu, grub2-set-default 1 should be used in last step.
You are right about getting the new kernel package: you need to use wget or a command like that to download the package.
After, by default, the new kernel is put at the first line of the grub menu. You don’t need to run any command for that.
This is great information, thanks again. I have a big issue in setting up the local repositories as pre-dependency for this Question (and pretty much for all other questions requiring yum installation). As I understand it, a new installation of the server during the exam would contain no .repo files in the /etc/yum.repos.d directory, and it assumed that we need to set this up first and foremost, is this correct?
Yes, I think. This is correct.
Thanks for that. Could you please point me to the appropriate certdepot page for repos setup, particularly from the RHCSA exam perspective?
Repository can be studied in this page.
Much appreciated, thanks
Can we just run this command to upgrade new kernel from ftp or given path?
# yum update kernel
When you run the yum update kernel command, you ask the various configured repositories in the /etc/yum.repos.d directory for updates. If no repository is configured, nothing happens.
Most repositories are remote http servers or local directories. You could certainly set up a repository based on ftp but it’s not a classic configuration.
That means, to update the new kernel,just we need to run the command : rpm -ivh kernel.rpm right?
Don’t use the rpm command, it doesn’t keep the history of all the installed packages (yum history).
If you absolutely want to use the rpm command, at least use rpm -ivh kernel.rpm. This command doesn’t replace/upgrade the current kernel but install a new one: the difference is that the old kernel is kept (very useful in case of boot problems).
The yum install kernel.rpm command behaves like rpm -ivh, installing a new kernel instead of replacing/upgrading it.
In the beginning of this page you said, “Don’t use the -U option” and now, you said to use rpm -Uvh kernel.rpm, Which one is right? In the test, they will give you a link and you will update new kernel from that link. For example, the link is http://certdepot.net. Can you please write the possible end to end steps?
You are perfectly right. In my previous comment, I made a mistake that I fixed.
Use rpm -ivh kernel.rpm or yum install kernel.rpm but don’t use rpm -Uvh kernel.rpm.
I passed the exam with score 277/300 but I could not solve the kernel related question, rpm -ivh kernel.rpm command was not working.
Use yum install instead.
You are welcome.
Are there any questions in RHEL7 RHCSA exam about kernel tuning optimizing or troubleshooting.
No, There isn’t.
There is no package name kernel.rpm when I tried #yum search kernel.
I only got kernel. is it the same? Thanks in advance.
Yes, it is the same, version and rpm extension are not displayed.
Do i need to run the below command after updating or installing the kernel?
grub2-mkconfig -o /boot/grub2/grub.cfg
Normally you shouldn’t need to.
Hi CertDepot, if there are multiple repositories enabled, is it advisable to disable first the other repositories aside from the update repository? enabled=0 to other repos while the update repos enabled=1 before running yum update kernel or yum install kernel?
Normally, you should have only one repository bringing kernel updates. This problem shouldn’t usually happen.
But in case it occurs, your solution is interesting.
I’m afraid that conflicts will occur if there are multiple repos are enabled while updating the kernel. Worst thing that it will not boot normally that I might get in trouble with. We’ll I think for precautions disabling the other repos first is a best idea then after updating the kernel that’s the time I enabled again the other repos. 🙂
The truth about it is am still confused about this question when it tends to look simple. I have my Rhcsa exam on friday and still need clarification. when creating the repo for the kernel update. what do you add in the baseurl?
Sounds like exam jitters to me. There are a few ways to install a program (ie a kernel).
1)From Source usually (untar, compile and configure)
2)From a Binary (untar, and install)
3)From a RPM source (downloadable)
4)From a YUM repository
Note: It is also possible to install a local kernel with yum as well as the above. As it is a Red Hat exam it is unlikely you will get 1) or 2) above.
yum localinstall kernel.rpm
Hope this helps and good luck with the exam.
I do have my own repository ,I want to update my kernel. But when I want to update that ,gives me this error:
No packages marked for update.
some issues in my repo???
my current kernel is 3.10.0-327.18.2.el7
would you please help me?
At first sight, I would say you have the standard CentOS repository active and your own repository contains older packages.
As a second guess, you didn’t install and run the createrepo package (so your repository metadata are not up to date). As a third guess, I would check the content of the configuration file of your repository.
Hope it helps.
Is this another possible option to update the kernel while still keeping the old one?
1. yumdownloader kernel
2. yum install linux-firmware
3. rpm -ivh NEW_KERNEL.rpm
1. yum update kernel (Not sure if this keeps the old kernel)
And when you install a new kernel, does the new kernel automatically become the default boot kernel or do I need to run the grub2-set-default command?
When you install a new kernel, it automatically becomes the default kernel. You don’t need to run any command.
The previous default kernel is kept in the /boot partition so you can enable it again in case of problem.
Actually I created my repo on my server and my client reach that repo through HTTP (does my client need to execute the createrepo cmd???)
But I think I do have not updated packages on my repo before that I share my client (Do I should get updated my package repo on repo and then share with client)?
Normally when you copy an Iso image of RHEL 7.x/CentOS 7.x, you also copy the metadata of the repository located inside and you don’t need to execute the createrepo command.
However, when you create a repository from scratch and put rpm files into it, you definively need to install the createrepo package and execute the createrepo command, otherwise you haven’t got any metadata and your repository will not work.
After, when you update your repository packages, it is advised to also execute the createrepo command after to update the corresponding metadata.
For the exam our local repo should have four parts that includes base, update, extras and centos plus? or having the base repo is enough to do everything that needs to do on the exam?
The base repository should be enough. You could optionally include the update repository. The two others shouldn’t be necessary at all.
During the exam you may get a single repo to use, and you are free to name it as you like. It does not matter how you call it, base, update, extras or whatever, the main thing is that the repo will contain all packages you may be asked to install.
Do not overthink it, exam questions are crystal clear.
How can we update our old version of repository?
I ran “yum update” on my system and then create new repo, but still I couldn’t see the new version!!!!
Would you help me to fix my problem?
When you run yum update on your system, you update your system but not your local repository.
To update your local repository, and not your local system, read this tutorial: https://www.certdepot.net/rhel7-set-local-repository-lab/
Do we have to create the same repo in exam? because it will be difficult and take much time to do that!
You shouldn’t need to create a repository from scratch.
Since we’re troubleshooting the kernel in IMHO we doing this in level 1 or using boot able CD/DVD
How can we install kernel by running the rpm -ivh kernel.rpm while we in Level 1 or using CD/DVD bootable?
Thank you for your help
Normally if you’ve got a problem with the currently installed kernel, you can decide to execute a previous version of it through the boot menu.
I’m not aware of another option, sorry.
Thank you for your reply and explanation, by the way your work in this website is awesome I recommended this web to my friend
Thanks for sharing
Thanks. You’re welcome.
To verify which kernel is current, you can use a grubby command:
ls -ltr /boot/vmlinuz*
I didn’t know that. Very interesting. Thanks.
There was a Q in RHCSA exam ( forgot the full description). install the kernel from a repo (http), make sure this is the default kernel at boot up.
yum install kernel *** will do the work or you need to put grub2 set-default as well.
Normally, yum install kernel*** should be enough.
Sorry for the stupid question. I thought the command was “yum install kernel”
You are perfectly right. I added yum install kernel to this page because it’s a valid answer.
When we install new kernel is it by default the one will using during boot or we must configure it manually
The new installed kernel will be automatically used at the next boot.
if we were asked to update kernel from a specific path how should we get the update? and where should we store it?
The path of new kernel will be given. You won’t need to store anything: the yum command accept a url.
so how should it go?
yum update http:….
yum install http://
Yes, yum install …
So after I do yum install http://… then what do I do after that? Does running that command automatically downloads the kernel from the specified http path and install it?
Yes, but it will be used only after rebooting.
I guess then after rebooting I can go to the grubenv file and set the default kernel right?
If I’m asked to grep a string from a file and save it somewhere without no empty lines. How would I do it? I mean grep this /etc >/test will do the copy but how about the empty lines?
1) You won’t normally need to define the default kernel, it will be the one you just installed.
2) To remove the empty lines, use grep -v “^$”
Hi there. Sitting a lot of nights at the homelab PC. During the kernel update task the command “rpm -i kernel-xx.rpm” warns me about linux-firmware, xfsprogs and kmod versions conflicts. These 3 RPM’s should be installed before kernel-xx.xx.xx.rpm. After installing xfsprogs, kmod and linux-firmware packages we are finally able to install kernel-xx.rpm. After that the kernel-xx.xx.xx automatically sets to default entry of boot. The previous old kernel is still active under second entry of boot prompts, as required on task. But if I’m applying the command “yum update kernel”, it updates kernel automatically and sets new kernel to default boot… Read more »
“rpm -i kernel-xx.rpm” installs a local package only, hence then need for additional packages
“yum update kernel” Install all relevant packages from the repository
“yum localinstall kernel-xx.rpm” is a little more flexible. check that one out.
What is your favorite RHEL 7 book to prepare RHCSA & RHCE exams?
What do you think is the most difficult RHCSA 7 topic?
What do you think is the most difficult RHCE 7 topic?