[SOLVED] Creating repository on USB harddrive

This forum is dedicated to basic help and support :

Ask here your questions about basic installation and usage of Mageia. For example you may post here all your questions about getting Mageia isos and installing it, configuring your printer, using your word processor etc.

Try to ask your questions in the right sub-forum with as much details as you can gather. the more precise the question will be, the more likely you are to get a useful answer

[SOLVED] Creating repository on USB harddrive

Postby louielouie » Apr 4th, '14, 20:34

I'm getting ready to update my work Linux box behind the firewall so am setting up portable repositories on a USB h/d. I've got this script working so far but haven't been able to add a custom medium using the control panel:
Code: Select all
#!/usr/bin/sh
#
# Pocketsize1 is ext4
if [ -d /run/media/louielouie/Pocketsize1/Mageia4 ]; then
        cd /run/media/louielouie/Pocketsize1/Mageia4
        lftp -e 'open mirrors.kernel.org/mageia/distrib/4/x86_64/media &&
                mirror core             core &&
                mirror nonfree          nonfree &&
                mirror tainted          tainted &&
                exit'
        cd
# Pocketsize2 is ntfs
elif [ -d /run/media/louielouie/Pocketsize2/Mageia4 ]; then
        cd /run/media/louielouie/Pocketsize2/Mageia4
        lftp -e 'open mirrors.kernel.org/mageia/distrib/4/x86_64/media &&
                mirror core             core &&
                mirror nonfree          nonfree &&
                mirror tainted          tainted &&
                exit'
        cd
else
        echo "Directory does not exist"
fi

When trying to add 'local files' I get this error:
"Unable to add medium, errors reported:
genhdlist2 failed on /run/media/louielouie/Pocketsize1/Mageia4/"

What am I missing?
'tanx
Last edited by louielouie on Apr 18th, '14, 04:11, edited 2 times in total.
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby doktor5000 » Apr 4th, '14, 20:43

louielouie wrote:When trying to add 'local files' I get this error:
"Unable to add medium, errors reported:
genhdlist2 failed on /run/media/louielouie/Pocketsize1/Mageia4/"

What am I missing?

Write permissions to the USB device? Maybe the folder is owned by root or so?
Please show the output of
Code: Select all
ls -al /run/media/louielouie/Pocketsize1/Mageia4/
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18070
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Creating repository on USB harddrive

Postby louielouie » Apr 4th, '14, 21:30

ls -al /run/media/louielouie/Pocketsize1/Mageia4
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ./
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ../
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 core/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 media_info/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 nonfree/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 tainted/

:oops: I suspect at chmod 0766 or change ownerships?
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby doktor5000 » Apr 5th, '14, 10:16

Well, if you do it as user louielouie then permissions are ok.
Can you please show the output as root of
Code: Select all
urpmi.addmedia --distrib /run/media/louielouie/Pocketsize1/Mageia4
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18070
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Creating repository on USB harddrive

Postby louielouie » Apr 5th, '14, 19:48

Code: Select all
this location doesn't seem to contain any distribution
unable to add medium


Since the directory structure on the h/d is

Mageia4/core
/media_info
/nonfree
/tainted


I tried :
Mageia4/mageia/distrib/4/x86_64/media/core
/media_info
/nonfree
/tainted

and that didn't seem to make any difference.
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby doktor5000 » Apr 5th, '14, 20:48

How did you create the content that's currently on the harddrive in the first place?
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18070
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Creating repository on USB harddrive

Postby louielouie » Apr 5th, '14, 21:10

Just by using the 'mirror' command from lftp script - some examples I'd seen before but no explanations of what directory structure is correct.
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby louielouie » Apr 6th, '14, 18:21

I created a new Mag4 VM w/o network connections, added the harddrive as 'update medium' so the only mediums I have are the DVD image and the hard drive but when I try to update the system I can't proceed past the needing the network mirror list. Do I need to manually update a file to handle this?
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby doktor5000 » Apr 6th, '14, 18:58

Why do you try that? If you cannot add a repo from this harddisk, what do you think will the result be when trying to use it as update medium?

Please first show the structure via
Code: Select all
find /run/media/louielouie/Pocketsize1/Mageia4 -type d


And please show the output as root of
Code: Select all
urpmi.addmedia test_core file:///run/media/louielouie/Pocketsize1/Mageia4/core
urpmi.addmedia --distrib file:///run/media/louielouie/Pocketsize1/Mageia4/


The problem seems to come from the fact that you mirrored the wrong directory.
What you need is $MIRROR/Mageia/distrib/4/$ARCH but what you have is only the contents of the folder media/ - $MIRROR/Mageia/distrib/4/$ARCH/media/

See the man page:
man urpmi.addmedia wrote: --distrib
Retrieve a set of media from a distribution. Typically, the URL provided to "urpmi.addmedia" will represent the parent directory of a
directory media
, which in turn will contain various subdirectories for each medium of the distribution. <name> is combined with medium names
found to create newer medium names in the urpmi database.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18070
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Creating repository on USB harddrive

Postby louielouie » Apr 7th, '14, 17:45

'find /run/media/louielouie/Mageia4' produces:
Code: Select all
/run/media/louielouie/Pocketsize1/Mageia4/                                           
/run/media/louielouie/Pocketsize1/Mageia4/mageia
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/backports
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/backports/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/backports_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/backports_testing/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/release
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/release/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/updates
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/updates/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/updates_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/updates_testing/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/backports
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/backports/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/backports_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/backports_testing/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/release
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/release/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/updates
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/updates/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/updates_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/nonfree/updates_testing/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/backports
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/backports/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/backports_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/backports_testing/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/release
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/release/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/updates
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/updates/media_info
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/updates_testing
/run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/tainted/updates_testing/media_info

as root:
'urpmi.addmedia test_core file:///run/media/louielouie/Pocketsize1/Mageia4/core'
adding medium "test_core" before remote medium "Core Release"
unable to access medium "test_core".

'urpmi.addmedia --distrib file:///run/media/louielouie/Pocketsize1/Mageia4/'
this location doesn't seem to contain any distribution
unable to add medium
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby jkerr82508 » Apr 7th, '14, 19:35

Based on the paths to the repo's that you show, I think that you need something like:

Code: Select all
urpmi.addmedia test_core file:///run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64/media/core/release

urpmi.addmedia --distrib file:///run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64


So far as I know, you need to point urpmi.addmedia to the repo directory, or in the case of --distrib to the top-level directory of the arch.

Jim
jkerr82508
 
Posts: 946
Joined: Mar 26th, '11, 01:34
Location: Fife, Scotland

Re: Creating repository on USB harddrive

Postby doktor5000 » Apr 7th, '14, 21:00

So what did you post previously? The ls output does not correspond to the find output which shows the directory structure.

louielouie wrote:ls -al /run/media/louielouie/Pocketsize1/Mageia4
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ./
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ../
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 core/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 media_info/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 nonfree/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 tainted/
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18070
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Creating repository on USB harddrive

Postby louielouie » Apr 8th, '14, 02:52

doktor5000 wrote:So what did you post previously? The ls output does not correspond to the find output which shows the directory structure.

louielouie wrote:ls -al /run/media/louielouie/Pocketsize1/Mageia4
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ./
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 ../
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 core/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 media_info/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 nonfree/
drwx------ 1 louielouie louielouie 4096 Apr 4 04:47 tainted/

Yes, on the 4th I posted the 'ls -al' output but on the 7th I did post the 'find' output. By that time I had tried to duplicate the entire directory structure to emulate the distribution.
jkerr82508: I tried the 'test_core' and was successful adding it, but the ".addmedia --distrib" said that there didn't seem to be any distribution. The Software Management won't get very far without a network connection after asking to contact the mirrors.
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402

Re: Creating repository on USB harddrive

Postby jkerr82508 » Apr 8th, '14, 04:03

Try:
Code: Select all
urpmi.addmedia --distrib 'file:///run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64'

Or try using the GUI, drakrpm-editmedia. Select, File - Add a custom medium. The type is Local files, the name is whatever you choose. For the path, browse to /run/media/louielouie/Pocketsize1/Mageia4/mageia/distrib/4/x86_64.
Select "Create media for a whole distribution".

(I assume that x86_64/media/media_info contains valid symlinks to the hdlists etc in each of the repositories.)

Jim
jkerr82508
 
Posts: 946
Joined: Mar 26th, '11, 01:34
Location: Fife, Scotland

Re: Creating repository on USB harddrive

Postby louielouie » Apr 18th, '14, 04:09

OK, I have come up with a solution:
1. Mirror everything below x86_64/media/ on the USB hard drive
Code: Select all
 cd /run/media/louielouie/Pocketsize1/mageia/distrib/4/x86_64/
          lftp -e 'open mirrors.kernel.org/mageia/distrib/4/x86_64/
                mirror media            &&
          exit'

2. Run genhdlist2 --allow-empty-media from the /x86_64/ folder
3. From 'Configure Media Sources' of the firewalled machine, add the /x86_64/media folder on the mounted USB drive with the "Create media for whole distribution" switch

I guess if you want the 32-bit stuff also you could:
Code: Select all
 cd /run/media/louielouie/Pocketsize1/mageia/distrib/4/
          lftp -e 'open mirrors.kernel.org/mageia/distrib/4/
                mirror /i586/media            &&
                mirror /x86_64/media        &&
          exit'

and run genhdlist2 --allow-empty-media from the mageia/distrib/4 directory. I'll mark this thread as "SOLVED"
louielouie
 
Posts: 30
Joined: Feb 29th, '12, 05:05
Location: 42.214014, -122.83402


Return to Basic support

Who is online

Users browsing this forum: No registered users and 1 guest

cron