creating very minimal ISO - how to list and remove packages

Asked by Steve Sybesma

I'm using Peppermint 10 Respin because Peppermint 9 has proven to work very well on the 12 first generation Intel Compute Sticks I have and I've been using that OS over a year. However I created the image used for them manually without using any tool, and I didn't do that great a job. So I found out about Cubic and hoping to do a much better job with that.

I'm trying to find a way to list all the packages in Peppermint 10 Respin and need to know how to delete all the packages I don't want included in the ISO. The only thing I'm adding is TeamViewer and MPrime, but I intend to remove a lot of packages and try to reduce to a bare minimum the packages included and what loads at startup. The only things I really need are the desktop GUI, an editor, file manager, and TeamViewer, plus an app called MPrime used for factoring primes that runs at the command line. I don't need for instance any internet browsers, media players of any kind, office apps of any kind. My goal is to slim down as much as possible on the space taken up on the 8GB eMMC and 1GB of RAM. I would like to get the image to be 10-20% smaller than what I have now, which seems a modest goal.

I would also like to know how to control what loads at start up (like the equivalent of Windows start up) to get that down to a bare minimum.

Hardware on this thing that needs to have drivers loaded is just HDMI, wifi and USB. I have disabled Bluetooth and SD storage.

Question information

Language:
English Edit question
Status:
Answered
For:
Cubic Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Cubic PPA (cubic-wizard) said :
#1

The Packages page lists all of the packages installed on your ISO.

If a package DOES have a check mark next to it, it will NOT be installed onto your PC (even though it is installed and available in the live environment).

You will also find a full list of installed packages in <your Cubic project>/custom-disk/casper/filesystem.manifest.
(Do NOT edit this file manually!).

To make your ISO "lighter" you can remove packages on on the Terminal page, using `apt autoremove` or `apt remove`.

You can check what other packages a certain package needs, by executing `apr rdepends <package>'.
You can also see what packages require a certain package by executing `apt rdepends <package>'.
These will help you not remove important packages.

A good way to see which user launch-able applications are installed is by listing the contents of /usr/share/applications. In some cases, you may have to read the contents of each *.dekstop file to get a clue about what is the corresponding package. For example, "yelp.desktop" contains the line "Exec=yelp". In this case, the yelp application is supplied by the "yelp" package. (Some will take a little more research to figure out the original deb package).

You will find auto start applications listed in...

    /etc/xdg/autostart
    /usr/share/gnome/autostart
    /etc/skel/.config/autostart

    (The skel files are for new users, so you probably have that empty, unless you put something there yourself).

Test your generated ISOs inside a virtual machine like VirtualBox. Since there is no practical size limit, use the lowest compression for your tests, so the test ISOs are generate quickly. If something doesn't work, or you want to add or remove packages, you can always open your existing project in Cubic, make a change, and test again. Once you are happy, you can use gzip or higher compression for your final ISO.

Revision history for this message
Cubic PPA (cubic-wizard) said :
#2

* Correction:
You can check what other packages a certain package needs, by executing `apr depends <package>'.
You can also see what packages require a certain package by executing `apt rdepends <package>'.

Revision history for this message
Cubic PPA (cubic-wizard) said :
#3

In addition to looking at filesystem.manifest, you can also use `dpkg -l` to list installed packages.

Can you help with this problem?

Provide an answer of your own, or ask Steve Sybesma for more information if necessary.

To post a message you must log in.