How to enable proposed archive repo on Ubuntu Linux to install packages

Posted on in Categories , , last updated February 16, 2017

How 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 proposed archive for Ubuntu

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.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.