LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   HOWTO make your own custom Slackware install disk (https://www.linuxquestions.org/questions/slackware-14/howto-make-your-own-custom-slackware-install-disk-610093/)

samac 12-31-2007 04:01 AM

HOWTO make your own custom Slackware install disk
 
Hi

A number of people were asking for a reduction in the number of packages in a thread asking what would you like to see in Slackware 12.1.

Slackware is not bloated, but most people will choose to use one command line text editor and stick to it, they do not need the four or five others.

Here is a method of cutting your Slackware to fit you by using Alien Bob's mirror-slackware-current.sh script.

This script allows the use of an "exclude" file, which allows you to exclude certain directories from your download, this is to save people bandwith. I normally use it to not download /src /kdei and /extra.

It can however be used to exclude files also. Heres how I did it.

1. Obtain a list of all the files in the new Slackware release, this must show the full path to the file eg. /slackware/a/aaa-elflibs.xxxxxx.....
Code:

tree -af > /home/yourdirectory/excludelist
will do this. As it is version number specific you need to make a new list for the version you are going to download.

2. This file is not neat as it shows a tree, but using find & replace in a word processor will fix this. You have to remove all the stuff before and including the first "/" slash.

eg. find |-- ./ and replace with nothing

You will have to do this with several different search parameters. You will be left with a neat list of files with their full paths. Remove the bottom two lines that tell you how many files you have and add the line "pasture" (minus the quotes).

3. Now modify your excludelist to only include those files you do not want to download. *** WARNING *** THIS IS WHERE YOU NEED TO KNOW WHAT YOU ARE DOING IF YOU WANT A WORKING SYSTEM.

I modified mine to exclude all from /extra except aspell/english bittorrent parted and slackpkg, all from /kdei except uk-en internationalisations, also all from /pasture /source /testing /e /f /t and /y.

I could have also removed excess programs from /a /ap /d /kde /x and /xap but this was only a test.

You need /isolinux /kernels /slackware do not exclude them

4. Download your files and create a DVD or CD
Code:

sh mirror-slackware-current.sh -v -X /path/to/your/excludelist
Should this all work you will have an iso which you can burn using your favourite method.

5. Install as normal, I tested on an external USB drive. Select all the directories and install the full package list.

I was prompted for a second disk even though I burned a DVD, just select finish installing at this prompt.

All being well you have a installable DVD/CD that only contains the bits of Slackware that you want.

Best of luck and don't blame me if you bork your sytem.

samac

Acron_0248 12-31-2007 05:10 AM

Hi,


Although I think that it isn't a bad alternative at all, I guess that I do prefer the old method:

"Just don't install what you don't want"


Nice how-to ;)




Regards

samac 12-31-2007 05:53 AM

I agree it is easy just to install what you want, but this method has some advantages.

1. It saves you bandwidth.

2. You have an install cd/dvd with only the programs you want, useful if you want to install on more than one computer.

3. You get to play with your computer.

Number 3 being the most important.

samac

Acron_0248 12-31-2007 06:21 AM

And I agree, it has many advantages :)

However, since you're making the reference to the other thread, the complains were about that 'by default' to some people, slackware was bloated and this method is offered as a way to slim your SW, but, that will create a customized version which will fit mine or yours or someones needs, since there is already the option to do the same thing from the beginning using the default installer, it doesn't fit the complains in that thread.

Anyway, don't get me wrong, I think that it's a good guide that will benefit many people and I appreciate that you've posted it :)



Regards, and since is 31 in my country, happy new year! xD

MS3FGX 12-31-2007 09:01 AM

I am not sure this will work so well once you try to remove individual files from the install.

Each directory in the package tree contains a "maketag" script that the installer uses to prompt you about which packages it is going to attempt to install. When you exclude an entire directory, the accompanying script is never run so it doesn't matter. But when you remove individual files from a directory, the script is now going to be referencing packages that are no longer present; which at some point is going to make the installer throw up some errors about not being able to find the packages.

Though I don't think the installer will bail, it will probably just prompt that it was unable to install the package (which I believe will wait for the user to confirm) and be annoying.

samac 12-31-2007 10:25 AM

MS3FGX

I was worried about the maketags also, but I needn't have worried. It works just fine, I stripped out about 80% of /extra and 95% of /kdei and not a squeak.

I will have to test if it still works if I delete a file that says ADD.

The only error that the installer threw up was asking for a second CD which you just bypass by telling it to finish the installation.

samac

XavierP 12-31-2007 10:35 AM

Once you're happy with your how to, could you submit it to the Tutorials section please? (link at top of page) That way it will be preserved and not pushed down the forums.

samac 12-31-2007 10:59 AM

MS3FGX

I deleted elvis a required package from /a using this method and it installed without any additional errors.

XavierP

Will do.

pbhj 12-31-2007 08:36 PM

I was one of the "complainants" in that thread. I just came across Zenwalk which apparently is a Slack based distro intended to provide a single option for eg ftp-server, CLI text editor, etc.. Sounds like it could fit the bill.

What I'd love is a script to run on the current system that creates an install mapfile (or whatever it is called). Then you'd have the option to just install what you had before; then add new stuff if you want it.

TSquaredF 12-31-2007 09:06 PM

Quote:

Originally Posted by pbhj (Post 3007168)
I was one of the "complainants" in that thread. I just came across Zenwalk which apparently is a Slack based distro intended to provide a single option for eg ftp-server, CLI text editor, etc.. Sounds like it could fit the bill.

What I'd love is a script to run on the current system that creates an install mapfile (or whatever it is called). Then you'd have the option to just install what you had before; then add new stuff if you want it.

Check out Eric's tagfile_generator.
Regards,
Bill

samac 01-01-2008 04:24 AM

pbhj

I have tried Zenwalk and it is good but even it doesn't give you the flexibility and freedom of Slackware. You will also find that you are only given one of each program type, but is it the one that you want?

Yes you can select with tagfiles, but by using Alien Bob's script and only including the files that you want, you are creating your own version of Linux based on Slackware which you have on an installation disk.

That could allow people to create versions of Slackware specific to the users needs. Or indeed a completely new Linux aimed at a specific target market.

samac

shubb 01-04-2008 06:04 PM

Here's what I would like to do:

Have the ability to create different installation versions that install different software with the same disk. For example:
Web server: installs Apache, PHP, Mysql + base installation
Mail Server: installs Sendmail/Postfix, etc + base installation
Desktop: installs X, and the normal user applications + base installation.

I want these to be all included in the main selection screens, so with the same installation disk, I can install different server types.

Is this easy to do?

jimX86 01-04-2008 11:10 PM

You could make a set of tagfiles for each type of installation. If you want everything on one CD, build an install CD that includes a separate directory for each of your modified tagfile sets. During the installation, instead of choosing a "full" install, you would choose "tagpath". Then specify the directory path to the new tagfiles. In the following example, to install the web server packages, you would specify the tagfile path as cdrom/web. For a mail server, you'd specify the location of the tagfiles as cdrom/mail.

Code:

INSTALL CD...

|--mail
|  |--a
|  |  |--modified tagfile
|  |--ap
|  |  |--modified tagfile
|  |--d
|  |  |--modified tagfile
|  |--repeat for other disk sets
|--web
|  |--a
|  |  |--modified tagfile
|  |--ap
|  |  |--modified tagfile
|  |--repeat for other disk sets
|--isolinux
|--kernels
|--slackware

The link to base.tar.bz2 at the bottom of this page might give you a head start.

samac 01-05-2008 07:51 AM

Hi Shubb

There is a file in /isolinux that is called setpkg, it looks like you would be able to add an extra folder into the install routine using this file.

samac


All times are GMT -5. The time now is 07:22 AM.