Link to home
Start Free TrialLog in
Avatar of LordRipper
LordRipper

asked on

Create A Debian Repository using the 7 instalation CD's

Hi
I have the 7 cd's for ver 3.0 R5 Non-Us Debian. I would like very mutch to set up a repository on one of my servers ( a windows 2000 server ) to ease instalation, as well as for my own education.

Now I have done some things and read the (thick and not easy) dockuments, but if what I did so far is no good I can just erase it and start over.

I am looking for as good as possible step by step instructions for setting up a repository using only the files on the cd's and what ever tools I'll need.

The challinge natuaraly is having (building) the right sources list and Packeges list  *NB
----------------------------------------------------------------------------------------------

Here is what I have done so far:
                                     ------

I have copied out all the files from the 7 cd's to one directory, and made it into both a ftp site and a file share, so I can mount the files under linux in order to build the packeges and sources list under linux.

I have kept the exact directory structure of the CD's ( using xcopy to copy ) so that the tree looks somthing like this

\---debian
    +---dists
    |   \---woody
    |       +---contrib
    |       |   \---binary-i386
    |       +---main
    |       |   +---binary-i386
    |       |   \---disks-i386
    |       |       \---3.0.23-2002-05-21
    |       |           +---bf2.4
    |       |           +---compact
    |       |           +---doc
    |       |           |   +---ca
    |       |           |   +---cs
    |       |           |   +---da
    |       |           |   +---(**more directories**)
    |       |           |   \---pt
    |       |           +---dosutils
    |       |           +---idepci
    |       |           +---images-1.20
    |       |           |   \---safe
    |       |           +---images-1.44
    |       |           |   +---bf2.4
    |       |           |   +---compact
    |       |           |   +---idepci
    |       |           |   \---safe
    |       |           +---images-2.88
    |       |           |   +---bf2.4
    |       |           |   +---compact
    |       |           |   \---idepci
    |       |           \---lang
    |       |               +---ca
    |       |               +---sv
    |       |               +---(**more directories**)
    |       |               \---tr
    |       \---non-US
    |           +---contrib
    |           |   \---binary-i386
    |           \---main
    |               \---binary-i386
    +---isolinux
    +---pool
    |   +---contrib
    |   |   +---a
    |   |   |   +---acl-installer
    |   |   |   +---agbrowser
    |   |   |   +---agsatellite
    |   |   |   +---(**More of these **)
    |   |   |   \---avalon-framework
    |   |   +---b
    |   |   |   \---bsh
    |   |   +---c
    |   |   |   +---cbedic
    |   |   |   \---(**More of these **)
    |   |   +---d
    |   |   |   +---daemontools-installer
    |   |   |   \---(**More of these **)
    |   |   +---e
    |   |   |   \---exult
    |   |   +---f
    |   |   |   +---filler
    |   |   |   \---freetds-jdbc
    |   |   +---g
    |   |   |   +---gnuboy
    |   |   |   \---(**More of these **)
    |   |   +---h
    |   |   |   \---hyperspec
    |   |   +---i
    |   |   |   +---ibm-jdk1.1-installer
    |   |   |   \---(**More of these **)
    |   |   +---j
    |   |   |   +---jakarta-log4j
    |   |   |   \---(**More of these **)
    |   |   +---k
    |   |   |   \---kbedic
    |   |   +---l
    |   |   |   +---linuxvideostudio
    |   |   |   \---(**More of these **)
    |   |   +---lib-
    |   |   |   \---lib-saxon-java
    |   |   +---libb
    |   |   |   \---libbsf-java
    |   |   +---libh
    |   |   |   \---libhonyaku-damashii-ruby
    |   |   +---libp
    |   |   |   \---libpgjava
    |   |   +---libt
    |   |   |   \---libtrain
    |   |   +---libx
    |   |   |   +---libxalan-java
    |   |   |   \---libxalan2-java
    |   |   +---m
    |   |   |   +---m-tx
    |   |   |   +---microcode.ctl
    |   |   |   +---mozilla-ldapsdk
    |   |   |   +---msttcorefonts
    |   |   |   \---musixlyr
    |   |   +---n
    |   |   |   +---nautilus
    |   |   |   +---nbio
    |   |   |   \---(**More of these **)
    |   |   +---o
    |   |   |   +---orp
    |   |   |   \---orp-classpath
    |   |   +---p
    |   |   |   +---pike-crypto-build
    |   |   |   \---(**More of these **)
    |   |   +---q
    |   |   |   +---quake2
    |   |   |   \---quake2-data
    |   |   +---r
    |   |   |   +---relay-ctrl
    |   |   |   \---(**More of these **)
    |   |   +---s
    |   |   |   +---sablecc
    |   |   |   \---(**More of these **)
    |   |   +---t
    |   |   |   +---tkirc
    |   |   |   \---(**More of these **)
    |   |   +---u
    |   |   |   \---uae
    |   |   +---v
    |   |   |   +---vice
    |   |   |   \---vnc-java
    |   |   +---w
    |   |   |   +---waba
    |   |   |   \---wnn7egg
    |   |   +---x
    |   |   |   +---x-pgp-sig-el
    |   |   |   \---(**More of these **)
    |   |   \---z
    |   |       \---zsnes
    |   +---main
    |   |   +---3
    |   |   |   +---3270
    |   |   |   +---3dchess
    |   |   |   \---3dwm
    |   |   +---4
    |   |   |   \---44bsd-rdist
    |   |   +---6
    |   |   |   \---6tunnel
    |   |   +---9
    |   |   |   +---9menu
    |   |   |   \---9wm
    |   |   +---a
    |   |   |   +---a2ps
    |   |   |   \---(** LOTS More of these **)
    |   |   +---b
    |   |   |   +---babygimp
    |   |   |   \---(** LOTS More of these **)
    |   |   +---c
    |   |   +---( ** Here we got all the following dir's plus contents c,d,e,f-l,lib-,libb,libh-x
    |   |   \---z
    |   |       +---z8530-utils2
    |   |       \---(** LOTS More of these **)
    |   \---non-US
    |       +---contrib
    |       |   +---a
    |       |   |   \---auto-pgp
    |       |   \---p
    |       |       \---pgp4pine
    |       \---main
    |           +---a
    |           |   +---althea-ssl
    |           |   +---apg
    |           |   \---arla
    |           +---c
    |           |   +---cadaver
    |           |   +---cfengine
    |           |   +---courier-ssl
    |           |   +---crypt-ssleay
    |           |   +---cryptcat
    |           |   \---cyrus-sasl-nonus
    |           +---( ** here we have d-z **)
    |           \---z
    |               +---zmailer-ssl
    |               \---zope-popyda
    \---tools
        \---src

Should I now use a scrypt or something to build the lists ( this I have tried, no luck yet)

Please detail your answers ..... I'm on the learing curve here !!

Thanks !
Avatar of idmisk
idmisk
Flag of Austria image

> windows 2000

this may be a problem. i never heard that someone has tried to do it on windows, cause there is no dpkg-tools package for it.
theoretical it may work, then dpkg-scanpackages (which is required for this job) is a perl script. download it and try to run it under windows (don't have one at the moment, so can't try it self)
idmisk
Why would windows make a difrince ? See, all I do was share the folder both ftp and samba ( samba just till I get the packiges sorted out )

So, if I mount the shared folder under say /mnt/debftpnet linux treats it as a local file system and I can read and write normaly .... so just ignore that and "pretend" its a normal folder /mnt/debftpnet.

Now, same question. dpkg-tools ? ?
the problem is not windows, the problem is the availability of the tools required to build Packages files for windows - dpkg-scanpackages, dpkg-scansources and other -> dpkg-tools

this howto describes the process: http://www.debian.org/doc/manuals/repository-howto/repository-howto.html

Avatar of LordRipper
LordRipper

ASKER

I have to agree with Xorb ... if I am mounting a windows share under a linux box what difrince does it make that the files are actualy on the windows drive ? I have all the linux tools, right there with me under linux. Only putting the files on windows storige cause that is where I got free space. The tools dont need to be "for windows" I will be working on a linux box, scanning and creating files from linux.
And I dont see why I will be building packige files for windows ? I wont be using them 4 windows, so they will be packige files for linux ! Wont they ? ?

Like X said ... just preted I never mentioned windows and the file tree I described is under /mnt/smbshr or something similar.

I read that how to ( scand through it 2 times yesterday and 1ce today ) now I'm offering points for anyone willing to do my homework 4 me.
Your answer isent really verry step by step is it ?

Besides, I tried thos commands, but I dont think I know them nearly well enough to get anything right.
> ... see why I will be building packige files for windows

debian installer does not scan you repository for all available .deb packages, it look only for Packages and Packages.gz files. and if they are not there, then you share is not a repository for him.
Idmisk
Exactly ! Now normaly, under if your repository is under linux, you'll have to do a few things, run a few scripts, and your packages.gs and sources lists and everything will be created and placed under the correct directory.
Now that the files are on a windows share mounted -rw under linux, the exact sameting needs to happen. there is no difrince. I will be scanning the debs and makeing the packeges.gz and other index lists from what is there and saving it under the apropriate directory on the ftp site.

Get off the windows issue, there is no windows issue here, unless you can think of something I havent ? ?

HAve you ever set up a reposetory ?
> I will be scanning the debs
how? over ftp connection? this must be done locally, where the debs reside.

> HAve you ever set up a reposetory ?
yes, i made some.
"> I will be scanning the debs
how? over ftp connection? this must be done locally, where the debs reside."

No, this will be done my mapping that folder as a samba share. As far as linux is concerned that is as good as local. Share maped as /mnt/smbsomething or something similar. Please get clarity on this, if you dont know what this means, ask a question. I am tierd of explaining this to you .... it's making you look bad, and wasteing my time.

IF you made "some", did you ever make one just using the cd's ?
Ignoring the whole Samba-windows thing ... what were the steps you took ?
> I am tierd of explaining this to you ....
then stop doing it

> it's making you look bad
i don't think so. you know: there is never a stupid question only a stupid answer.

> and wasteing my time.
again: stop doing it and ignore me

good luck with your repository.
Idmisk
There is no stupid question, I agree, there are however stupid people, there is no argueing that. Not saying you are stupid, please dont get offended or upset.
All I'm saying is notice how many times you have asked the SAME QUESTION worded difrently, and I have answered the same answer ( actualy Xorb was the first one to give the answer to your objections.)

Do you understand how samba works ? Do you understand how once the file share is mounted using samba, under the folder /mnt/smbshare that the files, though under windows storige, appears to be linux files ? Do you understand how what OS the FTP is hosted under wont make a difrince ?

Rather tell me what you dont understand about the answer ( the f1st, 2nd, or 3rd ...ect time it was explained ) than take us round and round in sircles never actualy getting to the question I asked.
ASKER CERTIFIED SOLUTION
Avatar of idmisk
idmisk
Flag of Austria image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Dude, this looks awsome. I'll give it a try as soon as I get some of these users off my back, expect an answer in a day or two.
Thanks
Actualy, since I have already done the copy step, I think I can skip the following part
"
mkdir /opt/rep

mount -t smbfs -o guest //server/share/ /opt/rep/
mount -o loop /opt/iso/debian1.iso /mnt
cp -d -r /mnt/{dists,pool} /opt/rep/
umount /mnt
repeat al steps for all CD's



And just go onto this :

cd /opt/rep
rm -f
dpkg-scanpackages pool/main /dev/null | gzip -9c > dists/woody/main/binary-i386/Packages.gz
dpkg-scanpackages pool/contrib /dev/null | gzip -9c > dists/woody/contrib/binary-i386/Packages.gz
dpkg-scanpackages pool/non-US/main /dev/null | gzip -9c > dists/woody/non-US/main/binary-i386/Packages.gz
dpkg-scanpackages pool/non-US/contrib /dev/null | gzip -9c > dists/woody/non-US/contrib/binary-i386/Packages.gz
-> some of them may fail if there is no non-US/main, non-US/contrib or contrib directory

That last solution of actualy putting the cd's each in theyr own directories is a verry easy cant fail solution, I'll use that if I dont come right with the path that I am on now.

In fact I'm so sure that one of those 2 will work. ( especialy the second one ) I'll award you the point now.

Thanks again.
Jus hope you didn't get confused between me and XORB. I were at his place and he helped me a littlebid so I had to post from his computer......
Thanx again ;-)

Regards
LR
Bro ... you need to not do that again ... even I'm getting confused.
Xorb
He he ... make you think your skitzo ! Wont log in as myself, or you'll steal my password and ask questions with my points ! lol ;-p

Idmisk
That post of yours was a good kick in the right direction. I clead up the folders and used the following :
dpkg-scanpackages pool/main /dev/null | gzip -9c > dists/woody/main/binary-i386/Packages.gz
dpkg-scanpackages pool/contrib /dev/null | gzip -9c > dists/woody/contrib/binary-i386/Packages.gz
dpkg-scanpackages pool/non-US/main /dev/null | gzip -9c > dists/woody/non-US/main/binary-i386/Packages.gz
dpkg-scanpackages pool/non-US/contrib /dev/null | gzip -9c > dists/woody/non-US/contrib/binary-i386/Packages.gz

It works great ... little slower over samba than what it would be on local HD ( duh) but it works ... I even noticed you left something out !!

Thanks.
> I even noticed you left something out !!
what exactly?

> cd /opt/rep
> rm -f

'rm -f' is completely semseless here, just saw it. copy/paste ...