Re: What is a repository? What is a metapackage?
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?
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?
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?
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?
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?
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?
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?
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?
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