Bismillahirrahmanirrahim.
Maybe people don’t understand what I have written in many forums even in Launchpad about single offline installer. I will explain briefly now by this post. See at this pictures:
This scheme shows us the normal way our distro doing installation. Retrieve packages from the internet then install them then the installer saved on same directory (/var/cache/apt/archives).
What I Proposed to You I
This scheme, at the main point is, the package manager (your AppCenter) must be able to save the installer (DEB/RPM) into specific folder based on the name of program. Why? You can see the “magical app” created by Indonesian guy Fajran Iman Rusadi: http://repo.ugm.ac.id/apt-web. This web app (Github: https://github.com/fajran/apt-web), has helped thousands of Indonesian Ubuntu users because it can give you the complete links into an application. Simply, enter an aplication name, the links appear, download all links into a folder, and install all packages on that folder. Try that first so you can understand closely this proposal. My proposal just a desktop implementation (similiar but not same) for APT-WEB. Why, once again, why? Because offline system has so many benefits even more than just normal installation system above. If we mix all downloaded packages, we don’t know which is the dependencies for one app. Different if the downloaded packages can be saved on separate folders. Offline installation system allows you to give the folder to another user so you can help your friends and neighbours.
Look at this screenshot. I have some folders contain apps I like. I download them by APT-WEB.
How to use the folder? So easy. We Indonesians, because of APT-WEB, we habitually use sudo dpkg -i *.deb on the directory. So, if your AppCenter has implemented this Proposed Installation System I, your users just do sudo dpkg -i *.deb again for installaing what he removed yesterday. No need to download it again.
To be clear: you can just add this feature to your AppCenter/package manager as an option. You don’t need to change the normal system to Proposed System I.
What I Proposed to You II
Actually this is the one reason why this blog named DREAM. Yes because this is my dream since first time using Mandriva some years ago. I dreamed someday I can just install an app by one installer only. Not more than one. How? By combining the Normal System and Proposed System I. You don’t need to change radically the repo system. No, don’t do it. But change your AppCenter/package manager to do these:
- do the Normal System (OK)
- do the Proposed System I (not yet)
- accept what user select from installed program (not yet)
- ZIP down the folder which is the name selected by user (not yet)
- copy the ZIP into another folder (not yet)
See? Just a modification to Normal System. The second option is these:
- do the Normal System (OK)
- don’t do the Proposed System I (OK)
- accept what user select from installed program (not yet)
- do filtering/selecting from mixed and crazy-crowded folder (/var/cache/apt/archives/) which are the correct dependencies for the selected program (not yet)
- copy the filtered packages into one folder (not yet)
- ZIP the folder (not yet)
The most headacheable part is number 4. This part is what I asked on many forums and as I know nobody can do it until now. And, if the last part is OK (ZIP), then it is amazing if your AppCenter/package manager can convert the ZIP into RUN. Single offline installer.
Benefits of Proposed I
- Your users can save the installers for further installments.
- Your users can give the folder to their friends. At least, their distro version is same. Further ideas are waiting.
- Your offline users (such as majority in Indonesia) can install app without any difficulties anymore. Tutorials can be short and simple.
- You help your users to save their bandwidth because they don’t need to download again.
- You help your users to save their money because of point 4.
- You help your users to save their time because they don’t need to searching one by one dependencies by themselves in the /var/cache/apt/archives or on PKGS.org.
- You help your users to avoid headache because of point 6.
- You can keep the Normal System ahead of this system.
Benefits of Proposed II
- Same with Proposed I.
- No folder, just one file (single offline installer).
Conclusion
This is just an idea. My idea because I live at a place where internet is expensive. You can take this idea or just abandon it. I wish it is the best for end users and I have feel it 7 years with Windows. Now I see my friends’ smartphone (Android) and I wish the APK-like system comes to Linux desktop. Don’t care what distro you are. You have chances to implement this proposals. Choice is yours! Thank you so much.
Important Notes!
Firstly, this post have begun by some posting I have created on many forums. You can see them here:
- [ASK] Tracking Package Dependencies in /var/cache/apt/archives (Ubuntuforums.org)
- [ASK] Tracking Package Dependencies in /var/cache/apt/archiv (LinuxMint Forum)
- [ASK] Tracking Package Dependencies in /var/cache/apt/archives (Debian Mailing List)
- [ASK] Backup Manjaro Installed Applications (Manjaro Forum)
- [ASK] apt-get download Untuk Yang Sudah Diinstal (Indonesian Backtrack Team)
- [TANYA] apt-cache untuk Instalasi Offline (Ubuntu Indonesia Forum)
- [TANYA] apt-cache untuk Instalasi Offline (Kaskus The Largest Indonesian Forum)
- The future of package management in Fedora (a Fedoran blog)
- I forget where again I posted the ideas.
Secondly, I have found some candidates similiar to my ideas but they are not meets all of my criterias. They are:
- PortableLinuxApps.org (the best but not officially accepted by community)
- Zeroinstall | Official | (awesome but honestly I don’t understand how the system works)
- Keryx | Omgubuntu | Askubuntu | (almost the best and very close to Proposed I above but it seems uncontinued)
- apt-get hack | Webup8 (simple, clean, easy but only for us not for newbies)
- Synaptic script (why should script if you can make it Proposed I and Proposed II?)
- apt-offline | Ubuntu Official Manpages | Fifi | Its FOSS | Debian Admin | Askubuntu | (not same with the name, the PC with apt-offline must be connected to the internet)
- apt-cache (it can’t do point 4 at Proposed II second option)
- apt-rdepends (some people say it is suite but apparently not)
- dpkg-repack (almost perfect and almost out of the box except it only can handle one package)
- AptOnCD | Askubuntu | (just wanna backup one installer, not whole system)
- Wagung’s Way | Linuk | (the inspiration (beside MegaGlest’s installer) behind Proposed II and the most out of the box hacker in this section. He don’t modificate the AppCenter. He created a new packaging system. Amazing but same with point 1, community don’t see it as a brilliant idea, unfortunately)
So you don’t have to worry.
Thirdly, as the great inspiration of PortableLinuxApps, I have created a mirror server for it. You can access it now http://otodidak.freeserver.me. Hope Allah will bless me.