How to enable proposed archive repo on Ubuntu Linux to install packages
H
ow do I enable the proposed archive for Ubuntu 16.04 LTS use the apt-get to installed selected kernel updated that is not released yet?
A proposed package provides an update that is not part of stable release yet. For example, Linux 4.4.0-62 has a bug that causes OOM killer. This bug has been fixed in Linux 4.4.0-63 and currently only available in proposed archive.
How to enable the proposed archive
To enable the proposed archive for Ubuntu 16.04 use the following method. You need to modify the software sources manually by adding the following line to /etc/apt/sources.list:
echo deb http://archive.ubuntu.com/ubuntu/ xenial-proposed restricted main multiverse universe > /etc/apt/sources.list
Force selective upgrading from proposed
Create the file /etc/apt/preferences.d/proposed-updates, run:
$ sudo vi /etc/apt/preferences.d/proposed-updates
Append the following:
Package: *
Pin: release a=xenial-proposed
Pin-Priority: 400
Save and close the file.
Refresh archive repo
Type the following apt command/apt-get command:
$ sudo apt update
OR
$ sudo apt-get update
How do I search for a package?
The syntax is:
$ apt search package
$ apt search linux-image
$ apt search linux-image | grep -i proposed
Sample outputs:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-image-4.4.0-1003-aws/xenial-proposed 4.4.0-1003.12 amd64
linux-image-4.4.0-63-generic/xenial-proposed 4.4.0-63.84 amd64
linux-image-4.4.0-63-lowlatency/xenial-proposed 4.4.0-63.84 amd64
linux-image-extra-4.4.0-63-generic/xenial-proposed 4.4.0-63.84 amd64
To install linux-image-4.4.0-63-generic from proposed repo, run:
$ sudo apt-get install linux-image-4.4.0-63-generic/xenial-proposed
Sample outputs:
Reading package lists… Done
Building dependency tree
Reading state information… Done
Selected version 4.4.0-63.84 (Ubuntu:16.04/xenial-proposed [amd64]) for linux-image-4.4.0-63-generic
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-59 linux-headers-4.4.0-59-generic linux-image-4.4.0-59-generic
Use sudo apt autoremove to remove them.
Suggested packages:
fdutils linux-doc-4.4.0 | linux-source-4.4.0 linux-tools linux-headers-4.4.0-63-generic
The following NEW packages will be installed:
linux-image-4.4.0-63-generic
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.8 MB of archives.
After this operation, 66.4 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-proposed/main amd64 linux-image-4.4.0-63-generic amd64 4.4.0-63.84 [21.8 MB]
Fetched 21.8 MB in 4s (4,854 kB/s)
Selecting previously unselected package linux-image-4.4.0-63-generic.
(Reading database … 92929 files and directories currently installed.)
Preparing to unpack …/linux-image-4.4.0-63-generic_4.4.0-63.84_amd64.deb …
Done.
Unpacking linux-image-4.4.0-63-generic (4.4.0-63.84) …
Setting up linux-image-4.4.0-63-generic (4.4.0-63.84) …
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-63-generic /boot/vmlinuz-4.4.0-63-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-63-generic /boot/vmlinuz-4.4.0-63-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-63-generic
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-63-generic /boot/vmlinuz-4.4.0-63-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-63-generic /boot/vmlinuz-4.4.0-63-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-63-generic /boot/vmlinuz-4.4.0-63-generic
Generating grub configuration file …
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-63-lowlatency
Found initrd image: /boot/initrd.img-4.4.0-63-lowlatency
Found linux image: /boot/vmlinuz-4.4.0-63-generic
Found initrd image: /boot/initrd.img-4.4.0-63-generic
Found linux image: /boot/vmlinuz-4.4.0-62-generic
Found initrd image: /boot/initrd.img-4.4.0-62-generic
Found linux image: /boot/vmlinuz-4.4.0-59-generic
Found initrd image: /boot/initrd.img-4.4.0-59-generic
done
Reboot the system:
$ sudo reboot
After reboot verify new kernel:
$ uname -mrs
Sample outputs:
Linux 4.4.0-63-generic x86_64
You can also use the following command to verify the same:
$ apt-cache policy linux-image-4.4.0-63-generic
Sample outputs:
linux-image-4.4.0-63-generic:
Installed: 4.4.0-63.84
Candidate: 4.4.0-63.84
Version table:
*** 4.4.0-63.84 400
400 http://archive.ubuntu.com/ubuntu xenial-proposed/main amd64 Packages
100 /var/lib/dpkg/status
See this wiki page for more info.