Provide example to remove documentation and produce smallest possible image #38

Closed
opened 11 months ago by brendansimon_indt · 6 comments

I use mmdebstrap to produce a rootfs for an embedded system. We need the smallest possible size with the selected packages.

The README.md states:

If desired, a most minimal chroot with just the Essential: yes packages and their hard dependencies can be created with a gzipped tarball size of just 34M. By using dpkg's --path-exclude option to exclude documentation, even smaller gzipped tarballs of 21M in size are possible. If apt is included, the result is a gzipped tarball of only 27M.

Is there any documentation to show an example of removing documentaiton?

Could some a simple example be added to the README.md please.

If I have 100 packages listed, can this be done with one setting to apply to all packages or is it specified for each package (somehow)?

Examples of any other options (if any) to produce images with the smallest possible size would be greatly appreciated. i.e. only the necessary files for the installed packages to run.

I use `mmdebstrap` to produce a rootfs for an embedded system. We need the smallest possible size with the selected packages. The `README.md` states: > If desired, a most minimal chroot with just the Essential: yes packages and their hard dependencies can be created with a gzipped tarball size of just 34M. **By using dpkg's --path-exclude option to exclude documentation, even smaller gzipped tarballs of 21M in size are possible**. If apt is included, the result is a gzipped tarball of only 27M. Is there any documentation to show an example of removing documentaiton? Could some a simple example be added to the `README.md` please. If I have 100 packages listed, can this be done with one setting to apply to all packages or is it specified for each package (somehow)? Examples of any other options (if any) to produce images with the smallest possible size would be greatly appreciated. i.e. only the necessary files for the installed packages to run.
Owner

Did you read the man page and searched for examples involving the --path-exclude option?

Did you read the man page and searched for examples involving the `--path-exclude` option?

No, I didn't think about the man page. I see it now and the examples :)
Thanks, that provides enough info to get me going.

I didn't see any obvious documentation files in the repo (no doc directory or the like). It wasn't obvious to me by browsing the repo files that the mmdebstrap file was a perl script with inbuilt documentation.

The README.md suggests running pod2man, which is fine if you have source code checked out, but I am just browsing the repo and taking the README.md as my guide.

Maybe add a comment in the README.md to view the man page (if installed on the host system) or use pod2man if want to build from the source.

Personally, some other, more friendly, documentation format would be better rather than embedded in script files. e.g. manual.md that is obvious and easily browsable.

Anyways, thanks for the awesome tool and response.

No, I didn't think about the man page. I see it now and the examples :) Thanks, that provides enough info to get me going. I didn't see any obvious documentation files in the repo (no `doc` directory or the like). It wasn't obvious to me by browsing the repo files that the `mmdebstrap` file was a perl script with inbuilt documentation. The `README.md` suggests running `pod2man`, which is fine if you have source code checked out, but I am just browsing the repo and taking the `README.md` as my guide. Maybe add a comment in the `README.md` to view the man page (if installed on the host system) or use `pod2man` if want to build from the source. Personally, some other, more friendly, documentation format would be better rather than embedded in script files. e.g. `manual.md` that is obvious and easily browsable. Anyways, thanks for the awesome tool and response.
Owner
You mean like this? https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki/Home

Perfect !!

Suggest a reference in the README.md

e.g.

For the full documentation use:

pod2man ./mmdebstrap | man -l -

or view here:

https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki/Home

Perfect !! Suggest a reference in the `README.md` e.g. > For the full documentation use: > > pod2man ./mmdebstrap | man -l - > > or view here: > > https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki/Home
Owner

This should fix this issue:

ebf7a67e37

This should fix this issue: https://gitlab.mister-muffin.de/josch/mmdebstrap/commit/ebf7a67e37bd3856c6a2ce3f9b242bf22618e4c4
josch closed this issue 11 months ago

Works for me :)

Works for me :)
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: josch/mmdebstrap#38
Loading…
There is no content yet.