Re: What is a repository? What is a metapackage?

2022-04-16 Thread tomas
On Sat, Apr 16, 2022 at 08:21:57PM +, Andrew M.A. Cater wrote:

[...]

> In some sense, if you're using synaptic and a desktop environment you've
> already lost a minimal install.

A very good point, BTW. My daily driver has no synaptic, for example, and
yet it is a far cry from a minimal install.

I'm not pointing it out to boast around; rather I'm trying to drive home
the point that the needs served by a distro like Debian are extremely
diverse (Debian is, yet again the extreme in that camp, that's one of
the reasons that there are so many derivatives; that might also explain
the long and sometimes difficult discussion processes when a change
touches lots of the distro's parts).

This is something pretty difficult to grasp for us "mere users". Surely
most of folks are using the computer the way *I* do? Well, guess what.

This is, BTW, why I love Debian.

Cheers
-- 
t


signature.asc
Description: PGP signature


Re: What is a repository? What is a metapackage?

2022-04-16 Thread The Wanderer
On 2022-04-16 at 16:21, Andrew M.A. Cater wrote:

> On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:
> 
>> A goal of the Debian installer is to create a system that can be
>> used by *ALL* people to use for *ANY* possible purpose.
> 
> The goal of the installer - debian-installer - is to install a Debian
> system adequately, nothing more nor less. We all hope that Debian is
> useful to people but can't claim suitablility for any possible
> purpose: what are the axioms for suitability and how will you know
> that a purpose is impossible? :)

FWIW, I parsed his statement above as being a syllogistic result from
the two input statements

"The goal of the Debian Installer is to install Debian."

and

"Debian is the Universal Operating System."

IOW, I parsed this as being an indirect way of stating his
interpretation of what "the Universal Operating System" means.

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man. -- George Bernard Shaw



signature.asc
Description: OpenPGP digital signature


Re: What is a repository? What is a metapackage?

2022-04-16 Thread Andrew M.A. Cater
On Sat, Apr 16, 2022 at 02:24:32PM -0500, Richard Owlett wrote:
> On 04/16/2022 09:21 AM, Andrew M.A. Cater wrote:
> > On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:
> > > A goal of the Debian installer is to create a system that can be used by
> > > *ALL* people to use for *ANY* possible purpose.

The goal of the installer - debian-installer - is to install a Debian system
adequately, nothing more nor less. We all hope that Debian is useful to 
people but can't claim suitablility for any possible purpose: what are the
axioms for suitability and how will you know that a purpose is impossible? :)

> > > 
> > > I find the resulting system:

_What_ resulting system: what do you install / how do you install it?

> > >1. consumes more disk space than necessary.

What's necessary in terms of disk space?

> > >2. consumes excessive bandwidth during installation.

Again, what's excessive bandwidth? Debian can be installed from a DVD with
no network bandwidth incurred in the install or can be installed, say, from
a netinst in which case many packages will be downloaded from the 'Net - but
the install process itself will update packages to the latest versions with
security fixes during the install?

For single board ARM computers, a minimal install with U-boot on an SD card
will be significantly different

> > >   [I have a low monthly cap on my internet connection.]
> > >3. installs packages I whose function I don't need/want.

What don't you need / want: tell the rest of us and we can help you remove
them if feasible.

> > >4. doesn't install functions I routinely use.

What do you need/use that you don't have?

> > >5. installs packages that unsatisfactorily perform needed functions.
> > >   [I have to install additional packages.]

As above: what do you have to install to make your system suitable for you -
tell us.
 
> > > 
> > > I plan to get around these problems by creating a local repository and
> > > several very custom metapackages. My internet search turned up tools to
> > > create and/or modify both.
> > > 
> > > I did not find authoritative descriptions of the structure of either
> > > repositories or metapackages.
> > > 
> > > Where do I find such?
> > > TIA
> > > 

Others have suggested a preseed install: if you could once get a system
installed the way you like it, you could take a list of packages and 
use that to bootstrap any further system.

dpkg --get-selections > [filename foo]

dpkg --set-selections < foo

> > 
> > Hi Richard,
> > 
> > I don't think you _need_ a full repository - but
> 
> Agreed! *GRIN*
> What I _need_ is something that apt/aptitude/synaptic/etc will treat as a
> "normal" repository. As to its _content_, it will be a close approximation
> to DVD1.iso .

In some sense, if you're using synaptic and a desktop environment you've
already lost a minimal install.
> 
> In fact, if I had fully described what I wish to accomplish, the automatic
> response of this group would have been to use either apt-cache or loop mount
> DVD1.iso .
> 
> 
> > 
> > https://wiki.debian.org/DebianRepository/Format
> > 
> > will give you a start as will
> > 
> > https://wiki.debian.org/DebianRepository.
> 
> The later addresses my perspective. If my project is to succeed, I will NEED
> the former's content.
> 

I suspect you might just need a list of .deb packages to install.

> > I'd suggest that you begin with a debootstrap / with a minimum Debian
> > installation. I'd do an expert mode text install, then use tasksel to
> > remove all packages that are checked - no desktop environment, no
> > standard packages - and build out from there.
> 
> *GRIN*
> That's where I started in days of Squeeze.
> It raised the questions I wish to answer.
> 
> > 
> > You _will_ hit dependency problems, I can guarantee it
> 
> *I _AGREE_* !!!
> 
> I have hit them.
> Part of my motivation is to reproducibly demonstrate an installer
> *BUG*!
> 

If your goal it to demonstrate a bug - tell us about it and we'll see if
we can reproduce it and if it is a bug for anyone else.

> > but if you're sure
> > that you know absolutely what you want, you can deal with it.

We've been round this bouy several times over the last couple of years in
messages from you describing what you need in fairly vague terms. Without
wishing to solutioneer more than usual - give a more precise list of
requirements and the good folk on this list may help.

This does require you to show your workings or more precisely what works
and what doesn't, however - hence the (semi)-serious list of questions
above.

> > If you don't want to do this over the 'Net, I'd suggest using a DVD and
> > a virtual machine of some description to bootstrap this effort.
> > 
> > All the very best, as ever,
> > 
> > Andy Cater
> > 

As above :)

> > 
> > 
> 
> 



Re: What is a repository? What is a metapackage?

2022-04-16 Thread David Wright
On Sat 16 Apr 2022 at 14:31:49 (+), Andy Smith wrote:
> On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:
> > A goal of the Debian installer is to create a system that can be used by
> > *ALL* people to use for *ANY* possible purpose.
> 
> Including yours…
> 
> [problems with Debian installer]
> 
> > I plan to get around these problems by creating a local repository and
> > several very custom metapackages. My internet search turned up tools to
> > create and/or modify both.
> 
> This seems like a classic X/Y problem, but at least you did state
> your issues rather than just asking how to make an apt repository
> and metapackages. I don't think that an apt repository or
> metapackages are the correct solution for what you are trying to do.

I would agree with you there, and with the suggestions below.
But if the OP is determined to have a repository, or at least
to read around the subject before coming to a different conclusion,
I have one other suggestion.

> I think the correct solution for what you are trying to do is
> preseeding the net installer.

Yes, though bear in mind that the OP has been preseeding for
at least six years, eg,

  https://lists.debian.org/debian-user/2017/01/msg00216.html

> Looking at your problems and how preseed can solve them:
> 
> > I find the resulting system:
> >   1. consumes more disk space than necessary.
> >   2. consumes excessive bandwidth during installation.
> >  [I have a low monthly cap on my internet connection.]

This seems to be the top criterion for deciding on what to do.

> The minimal net install is really very minimal. You can run a local
> caching proxy like apt-cacher-ng instead of trying to make a custom
> apt repository. Only the packages that your install actually tries to
> download will end up in your cache, and repeating an install (you
> will do that a lot while testing) will get the packages from the
> cache not over the Internet.

Running apt-cacher-ng has been offered as a suggestion to the OP before:

  https://lists.debian.org/debian-user/2019/06/msg00040.html

but there was no sign of a bite.

> Running your own apt repository will not allow you to make Debian
> smaller in any meaningful way, unless you decide to mass-rebuild
> Debian packages to have fewer features. That would be a lot of work
> and would result in you running something that's not Debian.
> 
> >   3. installs packages I whose function I don't need/want.
> 
> A minimal net install will only come with essential packages.
> 
> Neither your own apt repository nor metapackages allow you to
> dispense with packages that the installer wants to install, unless
> you create some metapackages that falsely satisfy dependencies that
> you are not interested in. That seems like a very fragile and
> complicated solution to a simple problem of just not installing
> packages you don't want in the first place.
> 
> >   4. doesn't install functions I routinely use.
> >   5. installs packages that unsatisfactorily perform needed functions.
> >  [I have to install additional packages.]
> 
> You can give a list of additional packages to install in the preseed
> file.
> 
> If packages ask debconf questions in order to configure them, then
> you can preseed those answers as well.
> 
> Configuration that doesn't have debconf questions can be put in
> place at the end by shell scripts that you write.
> 
> The result is a minimal, automated, repeatable install of only what
> you require.
> 
> Again, your own apt repository doesn't help here. Making a
> metapackage like packages-that-richard-likes that depends on
> everything you want installed would "work", but is vastly more
> complicated than just listing out the extra packages you want the
> installer to install.
> 
> You could rebuild all the packages you are interested in to have
> config defaults that are as you like, so that once the package is
> installed it comes configured already, but again that is a huge
> amount of work compared to just preseeding debconf questions and
> scripting what's left.
> 
> > I did not find authoritative descriptions of the structure of either
> > repositories or metapackages.
> > 
> > Where do I find such?
> 
> https://wiki.debian.org/DebianRepository/Setup
> https://debian-handbook.info/browse/stable/sect.building-first-package.html
> 
> But don't do it; preseed instead:
> 
> https://wiki.debian.org/DebianInstaller/Preseed

Thanks for useful references.

The OP now has the tools, apparently, so my suggestion is to preserve
at all costs the OP's bandwidth. With those tools, work on one of the
many DVD collections that the OP has, preferably the newest, but it's
not essential. Use one (connected) machine to duckduck the internet
for whatever educational resources are needed, as per usual, but keep
the experimental one off the web, so that it's limited to using only
information/data that's already in the OP's possession.

The skills used to achieve this can then be used to build a local

Re: What is a repository? What is a metapackage?

2022-04-16 Thread Brian
On Sat 16 Apr 2022 at 08:50:22 -0500, Richard Owlett wrote:

> A goal of the Debian installer is to create a system that can be used by
> *ALL* people to use for *ANY* possible purpose.

This is your gloss. The goal of d-i is to install Debian. That is its
only goal.
 
> I find the resulting system:
>   1. consumes more disk space than necessary.

That's down to the way you use d-i.

>   2. consumes excessive bandwidth during installation.
>  [I have a low monthly cap on my internet connection.]

That's down to the way you use d-i.

>   3. installs packages I whose function I don't need/want.

That's down to the way you use d-i.

>   4. doesn't install functions I routinely use.

Please specify these needed functions.

>   5. installs packages that unsatisfactorily perform needed functions.
>  [I have to install additional packages.]

Please specify.

> I plan to get around these problems by creating a local repository and
> several very custom metapackages. My internet search turned up tools to
> create and/or modify both.

In the light of the above, your plan is flawed.

> I did not find authoritative descriptions of the structure of either
> repositories or metapackages.

You haven't looked hard enough
> 
> Where do I find such?
> TIA
> 
> 



Re: What is a repository? What is a metapackage?

2022-04-16 Thread Richard Owlett

On 04/16/2022 09:21 AM, Andrew M.A. Cater wrote:

On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:

A goal of the Debian installer is to create a system that can be used by
*ALL* people to use for *ANY* possible purpose.

I find the resulting system:
   1. consumes more disk space than necessary.
   2. consumes excessive bandwidth during installation.
  [I have a low monthly cap on my internet connection.]
   3. installs packages I whose function I don't need/want.
   4. doesn't install functions I routinely use.
   5. installs packages that unsatisfactorily perform needed functions.
  [I have to install additional packages.]

I plan to get around these problems by creating a local repository and
several very custom metapackages. My internet search turned up tools to
create and/or modify both.

I did not find authoritative descriptions of the structure of either
repositories or metapackages.

Where do I find such?
TIA



Hi Richard,

I don't think you _need_ a full repository - but


Agreed! *GRIN*
What I _need_ is something that apt/aptitude/synaptic/etc will treat as 
a "normal" repository. As to its _content_, it will be a close 
approximation to DVD1.iso .


In fact, if I had fully described what I wish to accomplish, the 
automatic response of this group would have been to use either apt-cache 
or loop mount DVD1.iso .





https://wiki.debian.org/DebianRepository/Format

will give you a start as will

https://wiki.debian.org/DebianRepository.


The later addresses my perspective. If my project is to succeed, I will 
NEED the former's content.




Reprepro sounds like a good start -

https://wiki.debian.org/PartialBackportMirrorWithPackageApproval


THAT page suggests that "Reprepro" is irrelevant.
*HOWEVER*
  https://packages.debian.org/bullseye/reprepro
   and
  https://manpages.debian.org/bullseye/reprepro/reprepro.1.en.html
seem to say otherwise ;}



This appears to be a howto specifically on building a metapackage -

  https://blends.debian.org/blends/apb.html


That is one of the pages I had found.
I was looking for a page with perspective more similar to the 
"Repository" pages you referenced.








I'd suggest that you begin with a debootstrap / with a minimum Debian
installation. I'd do an expert mode text install, then use tasksel to
remove all packages that are checked - no desktop environment, no
standard packages - and build out from there.


*GRIN*
That's where I started in days of Squeeze.
It raised the questions I wish to answer.



You _will_ hit dependency problems, I can guarantee it


*I _AGREE_* !!!

I have hit them.
Part of my motivation is to reproducibly demonstrate an installer 
*BUG*!



but if you're sure
that you know absolutely what you want, you can deal with it.
If you don't want to do this over the 'Net, I'd suggest using a DVD and
a virtual machine of some description to bootstrap this effort.

All the very best, as ever,

Andy Cater








Re: What is a repository? What is a metapackage?

2022-04-16 Thread Andy Smith
Hello,

On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:
> A goal of the Debian installer is to create a system that can be used by
> *ALL* people to use for *ANY* possible purpose.

Including yours…

[problems with Debian installer]

> I plan to get around these problems by creating a local repository and
> several very custom metapackages. My internet search turned up tools to
> create and/or modify both.

This seems like a classic X/Y problem, but at least you did state
your issues rather than just asking how to make an apt repository
and metapackages. I don't think that an apt repository or
metapackages are the correct solution for what you are trying to do.

I think the correct solution for what you are trying to do is
preseeding the net installer.

Looking at your problems and how preseed can solve them:

> I find the resulting system:
>   1. consumes more disk space than necessary.
>   2. consumes excessive bandwidth during installation.
>  [I have a low monthly cap on my internet connection.]

The minimal net install is really very minimal. You can run a local
caching proxy like apt-cacher-ng instead of trying to make a custom
apt repository. Only the packages that your install actually tries to
download will end up in your cache, and repeating an install (you
will do that a lot while testing) will get the packages from the
cache not over the Internet.

Running your own apt repository will not allow you to make Debian
smaller in any meaningful way, unless you decide to mass-rebuild
Debian packages to have fewer features. That would be a lot of work
and would result in you running something that's not Debian.

>   3. installs packages I whose function I don't need/want.

A minimal net install will only come with essential packages.

Neither your own apt repository nor metapackages allow you to
dispense with packages that the installer wants to install, unless
you create some metapackages that falsely satisfy dependencies that
you are not interested in. That seems like a very fragile and
complicated solution to a simple problem of just not installing
packages you don't want in the first place.

>   4. doesn't install functions I routinely use.
>   5. installs packages that unsatisfactorily perform needed functions.
>  [I have to install additional packages.]

You can give a list of additional packages to install in the preseed
file.

If packages ask debconf questions in order to configure them, then
you can preseed those answers as well.

Configuration that doesn't have debconf questions can be put in
place at the end by shell scripts that you write.

The result is a minimal, automated, repeatable install of only what
you require.

Again, your own apt repository doesn't help here. Making a
metapackage like packages-that-richard-likes that depends on
everything you want installed would "work", but is vastly more
complicated than just listing out the extra packages you want the
installer to install.

You could rebuild all the packages you are interested in to have
config defaults that are as you like, so that once the package is
installed it comes configured already, but again that is a huge
amount of work compared to just preseeding debconf questions and
scripting what's left.

> I did not find authoritative descriptions of the structure of either
> repositories or metapackages.
> 
> Where do I find such?

https://wiki.debian.org/DebianRepository/Setup
https://debian-handbook.info/browse/stable/sect.building-first-package.html

But don't do it; preseed instead:

https://wiki.debian.org/DebianInstaller/Preseed

Cheers,
Andy

-- 
https://bitfolk.com/ -- No-nonsense VPS hosting



Re: What is a repository? What is a metapackage?

2022-04-16 Thread Andrew M.A. Cater
On Sat, Apr 16, 2022 at 08:50:22AM -0500, Richard Owlett wrote:
> A goal of the Debian installer is to create a system that can be used by
> *ALL* people to use for *ANY* possible purpose.
> 
> I find the resulting system:
>   1. consumes more disk space than necessary.
>   2. consumes excessive bandwidth during installation.
>  [I have a low monthly cap on my internet connection.]
>   3. installs packages I whose function I don't need/want.
>   4. doesn't install functions I routinely use.
>   5. installs packages that unsatisfactorily perform needed functions.
>  [I have to install additional packages.]
> 
> I plan to get around these problems by creating a local repository and
> several very custom metapackages. My internet search turned up tools to
> create and/or modify both.
> 
> I did not find authoritative descriptions of the structure of either
> repositories or metapackages.
> 
> Where do I find such?
> TIA
> 

Hi Richard,

I don't think you _need_ a full repository - but 

https://wiki.debian.org/DebianRepository/Format 

will give you a start as will 

https://wiki.debian.org/DebianRepository. 

Reprepro sounds like a good start - 

https://wiki.debian.org/PartialBackportMirrorWithPackageApproval

This appears to be a howto specifically on building a metapackage -

 https://blends.debian.org/blends/apb.html

> 

I'd suggest that you begin with a debootstrap / with a minimum Debian
installation. I'd do an expert mode text install, then use tasksel to
remove all packages that are checked - no desktop environment, no
standard packages - and build out from there.

You _will_ hit dependency problems, I can guarantee it but if you're sure
that you know absolutely what you want, you can deal with it.
If you don't want to do this over the 'Net, I'd suggest using a DVD and
a virtual machine of some description to bootstrap this effort.

All the very best, as ever,

Andy Cater



What is a repository? What is a metapackage?

2022-04-16 Thread Richard Owlett
A goal of the Debian installer is to create a system that can be used by 
*ALL* people to use for *ANY* possible purpose.


I find the resulting system:
  1. consumes more disk space than necessary.
  2. consumes excessive bandwidth during installation.
 [I have a low monthly cap on my internet connection.]
  3. installs packages I whose function I don't need/want.
  4. doesn't install functions I routinely use.
  5. installs packages that unsatisfactorily perform needed functions.
 [I have to install additional packages.]

I plan to get around these problems by creating a local repository and 
several very custom metapackages. My internet search turned up tools to 
create and/or modify both.


I did not find authoritative descriptions of the structure of either 
repositories or metapackages.


Where do I find such?
TIA