LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Debian
User Name
Password
Debian This forum is for the discussion of Debian Linux.

Notices


Reply
  Search this Thread
Old 06-12-2015, 08:00 AM   #1
noseplug
LQ Newbie
 
Registered: Jun 2015
Posts: 4

Rep: Reputation: Disabled
Building customized Wheezy Install Disc


Hello. I'm fairly new to Debian, but a proficient user in RHEL/FC. In my RHEL environment I've been able to use a trimmed down version of the base install to create a customized repository to install from. I'm trying to to the same thing in Debian, but apparently I'm not doing something correct. I think I have a solid grasp on the structure of the repository (with the pool and dists/wheezy/main and such) but the Packages file that I'm creating always has an error.

Through testing I've discovered that I don't actually need a Packages.gz file, but I need at least a Packages file in each subdirectory off of the dists/wheezy directory and that the md5sum file in the root of the install disc needs to be correct.

One thing I haven't been able to discover, and up-to-date documentation seems to be scarce is how to succesfully produce the Packages file. I've run
Code:
apt-ftparchive generate
and it makes a Packages file, but that file on install always fails with
Code:
Warning: file:///cdrom/dists/wheezy/main/binary-i386/Packages was corrupt
If I look at the Packages file that is generated by my code versus the one from the Debian Wheezy 7.8 install disc they seem to have similar structure and stuff, but my Packages file is listed alphabetically, whereas the one on the Wheezy .iso isn't.

My Packages file starts out:
Code:
Package: a2ps
Version: 1:4.14-1.1+deb7u1
Architecture: i386
Maintainer: Masayuki Hatta (mhatta) <mhatta@debian.org>
Installed-Size: 3645
Depends: libc6 (>= 2.7), libpaper1, dpkg (>= 1.15.4) | install-info, file, psutils
Recommends: bzip2, lpr | rlpr | cupsys-client, wdiff
Suggests: emacsen-common, groff, ghostscript, gv, html2ps, graphicsmagick-imagemagick-compat | imagemagick, texlive-base-bin, t1-cyrillic
Filename: ./main/a/a2ps/a2ps_4.14-1.1+deb7u1_i386.deb
Size: 954622
MD5sum: cefd3ef4eac2babb7102d651d02c5688
SHA1: d12a73680ada198ae0405d5071643915921bd3ae
SHA256: a691251ea166c6642952c41e08965acb3c3ae3a602f0d621d98b117c3da396fc
Section: text
Priority: optional
Description: GNU a2ps - 'Anything to PostScript' converter and pretty-printer
 GNU a2ps converts files into PostScript for printing or viewing. It uses a
 nice default format, usually two pages on each physical page, borders
 surrounding pages, headers with useful information (page number, printing
 date, file name or supplied header), line numbering, symbol substitution
 as well as pretty printing for a wide range of programming languages.
 .
 Historically, a2ps started as a text to PostScript converter, but thanks
 to powerful delegations it is able to let you use it for any kind of files,
 ie it can also digest manual pages, dvi files, texinfo, ....
 .
 Among the other most noticeable features of a2ps are:
  - various encodings (all the Latins and others),
  - various fonts (automatic font down loading),
  - various medias,
  - various printer interfaces,
  - various output styles,
  - various programming languages,
  - various helping applications,
  - and various spoken languages.

Package: accountsservice
Version: 0.6.21-8
Architecture: i386
Maintainer: Alessio Treglia <alessio@debian.org>
Installed-Size: 672
Depends: dbus, libaccountsservice0 (= 0.6.21-8), libc6 (>= 2.2.4), libglib2.0-0 (>= 2.31.8), libpolkit-gobject-1-0 (>= 0.99)
Suggests: gnome-control-center
Filename: ./main/a/accountsservice/accountsservice_0.6.21-8_i386.deb
Size: 73116
MD5sum: 9ead24d7b1d794f88f5a5ef350dd6c96
SHA1: ee8c13aa6bcbf4e4075a2140c646720c9b353a57
SHA256: 158ae4e5222490d76449aa32d839b02202e83a95884407fae1921087f07162ae
Section: admin
Priority: optional
Homepage: http://cgit.freedesktop.org/accountsservice/
Description: query and manipulate user account information
 The AccountService project provides a set of D-Bus
 interfaces for querying and manipulating user account
 information and an implementation of these interfaces,
 based on the useradd, usermod and userdel commands.

Package: acl
Version: 2.2.51-8
Architecture: i386
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Installed-Size: 251
Depends: libacl1 (= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.4)
Filename: ./main/a/acl/acl_2.2.51-8_i386.deb
Size: 70160
MD5sum: b362066cabad3afd04fbf7e258880d8f
SHA1: 54ba460c44ce6150f04434bcd9e7366ec7e3546d
SHA256: d0b9981824df0e235bc2222893f156044c5b36af028fb07991c3373d82ba99c9
Section: utils
Priority: optional
Multi-Arch: foreign
Homepage: http://savannah.nongnu.org/projects/acl/
Description: Access control list utilities
 This package contains the getfacl and setfacl utilities needed for
 manipulating access control lists.
The Package file on the official Debian 7.8 install disc starts:
Code:
Package: libc-bin
Source: eglibc
Version: 2.13-38+deb7u6
Essential: yes
Installed-Size: 3010
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Architecture: i386
Replaces: libc0.1, libc0.3, libc6, libc6.1
Breaks: libc0.1 (<< 2.10), libc0.3 (<< 2.10), libc6 (<< 2.10), libc6.1 (<< 2.10)
Description: Embedded GNU C Library: Binaries
Multi-Arch: foreign
Homepage: http://www.eglibc.org
Description-md5: 90523935f9c97be3a67bc8a1596de79b
Tag: devel::code-generator, devel::packaging, devel::profiler,
 implemented-in::c, interface::commandline, role::program,
 scope::utility, suite::gnu, use::TODO, works-with::TODO,
 works-with::software:running, works-with::text, works-with::unicode
Section: libs
Priority: required
Filename: pool/main/e/eglibc/libc-bin_2.13-38+deb7u6_i386.deb
Size: 1217802
MD5sum: a771326d1ba94d8e9ce5a9ea809c68c0
SHA1: 340e16260564e6e94ff7e1e84ca167bd8b15a7ba
SHA256: e65d1cb3eef376caba0e21a6c407d90ea627d16787cb120aa1cd86a351f29174

Package: gcc-4.7-base
Source: gcc-4.7
Version: 4.7.2-5
Installed-Size: 197
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386
Breaks: dehydra (<= 0.9.hg20110609-2), gcj-4.4-base (<< 4.4.6-9~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.4-base (<< 4.4.6-3~), gnat-4.6 (<< 4.6.1-5~)
Description: GCC, the GNU Compiler Collection (base package)
Multi-Arch: same
Homepage: http://gcc.gnu.org/
Description-md5: b6e93638a6d08ea7a18929d7cf078e5d
Section: libs
Priority: required
Filename: pool/main/g/gcc-4.7/gcc-4.7-base_4.7.2-5_i386.deb
Size: 143294
MD5sum: c2b689f4759f5c23159c6bb285c82063
SHA1: a833777020c7c3282dba2c1058604df77e8da8b5
SHA256: 038ba093daf380708e9c9a898352eba7c26f82578fbe2f906c2c896abd69c8e7
I've been able to control the use of SHA512, by passing in options to apt-ftparchive, but that seemed to have no real effect on the Packages file not being "corrupted".

Sorry for the lengthy post, but hopefully I've provided enough information so someone can point me in the right direction.
 
Old 06-13-2015, 01:58 AM   #2
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,900

Rep: Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050
I will admit I have not tried to do what you are attempting. I have bootstrapped quite a few systems in a chroot environment as well as built live images from scratch for CD, USB, DVDs. I assume you are trying to set up a private repository for PXE boot installation or for select private packages. With that said, I found the following in my searches:

According to this link, apt-ftparchive ihas been deprecated for creating apt repositories. Following the recommendation on that page, you will see that reprepro is what is more commonly used- which is why it is hard to find documentation on the subject.

Here is a tutorial (a bit outdated, but should work) on how to use reprepro on debian administration: http://www.debian-administration.org...upload_support

You can download all the files from whichever branch of debian you wish using either debootstrap or cdebootstrap. Then add them to your repository.
 
Old 06-15-2015, 06:00 AM   #3
noseplug
LQ Newbie
 
Registered: Jun 2015
Posts: 4

Original Poster
Rep: Reputation: Disabled
Thanks, mralk3. I'll try using reprepro (I think I tried this once before) today and see how it turns out. I find it strange that this is such an uncommon practice. I'll post my findings here in case I run into something. Thanks again.
 
Old 06-15-2015, 08:09 AM   #4
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,900

Rep: Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050
Quote:
Originally Posted by noseplug View Post
Thanks, mralk3. I'll try using reprepro (I think I tried this once before) today and see how it turns out. I find it strange that this is such an uncommon practice. I'll post my findings here in case I run into something. Thanks again.
I do not think it is as uncommon as it is unnecessary. Debian has many mirrors up already. What most people do is create a small mirror to manage the few custom packages they have created alongside the official mirrors.

You may also want to take a look at: https://wiki.debian.org/HowToSetupADebianRepository

Specifically for mirroring: https://wiki.debian.org/HowToSetupAD...sitory#ftpsync

Last edited by mralk3; 06-15-2015 at 08:11 AM.
 
Old 06-15-2015, 08:24 AM   #5
noseplug
LQ Newbie
 
Registered: Jun 2015
Posts: 4

Original Poster
Rep: Reputation: Disabled
Thanks for the links. I guess the part I'm getting stuck about is the fact that I can't create my own disk with a repository on it. None of these tools seem to create a valid 'Packages' file according to the install. The system I'm installing on isn't connected to the internet, so I can't do any type of net install with it.
 
Old 06-15-2015, 08:35 AM   #6
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,900

Rep: Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050
Quote:
Originally Posted by noseplug View Post
Thanks for the links. I guess the part I'm getting stuck about is the fact that I can't create my own disk with a repository on it. None of these tools seem to create a valid 'Packages' file according to the install. The system I'm installing on isn't connected to the internet, so I can't do any type of net install with it.
Why didn't you say so!? You can do exactly this with Debian tools as well.

One way to make a custom cd is here: https://wiki.debian.org/DebianCustomCD

The method I have used in the past is the Live Systems Project: http://live.debian.net/

While I have not used the method in the first link, I have used the live systems project to create a bootable live cd that can also be used to install the live cd to disk. It is very easy to create a specific/minimal package list for the live cd disk. Just be sure to include the debian installer on the disk and then you just need to boot up the disk and select the installer. The process has changed a bit since I last did this, but I can try and help you with any questions you have.

The live systems project also has created the Image Autobuilder, which lets you build a iso online and have a link emailed to you for download: http://live-systems.org/build/. I have also not tried this yet, but it allows people who do not have Debian installed to still be able to build a disk.
 
Old 06-15-2015, 09:50 AM   #7
noseplug
LQ Newbie
 
Registered: Jun 2015
Posts: 4

Original Poster
Rep: Reputation: Disabled
Thanks again mralk3. I think when I first started this little project I had tried using simple-cdd, can't even remember my issue. I'll revisit this and clean my development environment as it has become a huge mess now with packages and mirrors everywhere. I'm also downloading the debian-live CD now. I'm a little confused how the debian-live CD will help with what I'm doing, but it might provide a little bit of information as to how the process is done. Thanks again.
 
Old 06-15-2015, 10:03 AM   #8
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,900

Rep: Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050Reputation: 1050
My suggestion wasn't to download the official pre-built live cd. My suggestion was that you use a custom live cd that you built yourself using the live systems software, or while using image autobuilder (http://live-systems.org/build/). Either method requires that you make sure you include only the packages you need on your minimal system and the Debian installer so that you can install a system using your very own custom live cd.

Once you have built the live cd, boot up and notice the menu. The boot loader will have an option to install the contents of the disc to your system.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Building Ardour 3 on Debian Wheezy 64-bit smalltock Linux - Software 1 04-18-2013 12:48 PM
Recover the .config after building customized kernel. ameng Fedora 3 10-21-2010 01:56 PM
Building a customized install DVD johnc1949 Linux - General 2 03-13-2010 09:18 PM
Building .deb with customized prefix path SamTim74 Debian 0 01-22-2008 07:08 PM
LXer: Building customized financial documents with free spreadsheets LXer Syndicated Linux News 0 11-08-2006 03:54 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Debian

All times are GMT -5. The time now is 04:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration