Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Thursday, March 5, 2020 at 14:53

This article is not a tutorial but only a little talk about my experiment. However, I hope beginner user can benefit from this as we will see how APT command lines and how Ubuntu repositories being used in real life. We can also adapt this experiment into other distro such as Debian or PureOS. As usual, I prepare screenshots to make explanations clearer. Enjoy learning!

(Process of installing a package from eoan (newer) into disco (older) Ubuntu system)
Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.


Index

  • Commands involved
  • Ubuntu repos involved
  • Situation
  • Limitation & risk
  • Situation
  • Goal
  • Install
  • Result
  • Post-Install
  • Conclusion

Commands Involved

- $ apt-cache search [package]
- $ apt-cache policy [package]
- $ apt-get update
- $ sudo nano /etc/apt/sources.list
- $ apt-get install [package]
- packages.ubuntu.com
 

Ubuntu Versions Involved

- 19.04 aka Disco Dingo aka "disco"
- 19.10 aka Eoan Ermine aka "eoan"


Limitation & Risk

The rule is that package available for a certain OS version is not to be installed on other version --either newer or older-- of that OS. In other words, OS version X should install package from repository X and not from repository X-1 nor repository X+1.

The risk is that the working OS may become non working because a package may pull other packages from other OS version which are not compatible with the working OS.

In practice, the rule means a 19.04 system should download package only from 19.04 repository and not from 18.10 nor 19.10. The risk means if that installation done, the 19.04 system may become not working. User may need to reformat and reinstall the OS if that happens.

1. Situation

- System 19.04: telegram-desktop version 1.5 from universe part
- Repository 19.04: telegram-desktop version 1.5 from universe part
- Repository 19.10: telegram-desktop version 1.8 from universe part

My operating system is Ubuntu 19.04 and my repository is currently 19.04. Why I need newer Telegram? Because I need new feature not available in 1.5 but became available since 1.8. That feature is Scheduled Post. I fulfill my need if I can successfully install package from 19.10. This very situation is common also for another packages you may have.

2. Goal

Install package from newer OS version in older OS version.

3. Install

- Add repository address from newer OS version[1]
- Do reload[2]
- Do check for package versions[3]
- Install package new version from newer OS version[4]
- Check whether it makes system non workable or normal

[1] Add eoan repository
Put this line into a new line in disco's sources.list.
deb kartolo.sby.datautama.net.id/ubuntu eoan universe 

[2] Reload
Do system refresh so new repository got recognized.
$ sudo apt-get update 

[3] Check package
Make sure there is a new package from eoan repository universe section.
$ apt-cache policy telegram-desktop

[4] Upgrade package
Install package from eoan universe.
$ sudo apt-get install telegram-desktop

[3] apt-cache result
[4] apt-get install result

Running telegram-desktop application


4. Result

telegram-desktop version 1.8 from other OS version successfully installed on working system without breaking the system.

5. Post-Install

After the experiment finished, it is better to revert back repository list into only 19.04. This prevents further package installation to be downloaded from eoan.

- Remove foreign repository from list[1]
- Do reload[2]

[1] Remove eoan repository
Disable eoan repository by adding a # character in the beginning.

[2] Reload
Do system refresh so the disabled repository disabled.
$ sudo apt-get update

Editing disco's sources.list to disable eoan addition

6. Conclusion

Limited to this experiment only, telegram-desktop from eoan with versioning above is safe to be installed on disco without affecting usability of working system.


This article is licensed under CC BY-SA 3.0.