Page 25 of 40 FirstFirst ... 15232425262735 ... LastLast
Results 241 to 250 of 398

Thread: How To: Make Your Own Ubuntu Repository DVDs

  1. #241
    Join Date
    Jun 2009
    Beans
    1

    Re: How To: Make Your Own Ubuntu Repository DVDs

    sorry i have no idea thanks

  2. #242
    Join Date
    Jan 2006
    Location
    Boom, Belgium
    Beans
    222
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How To: Make Your Own Ubuntu Repository DVDs

    Quote Originally Posted by BobSongs View Post
    @luvr

    Awesome addition! Well documented, AND well formatted! A man after my heart.

    I won't copy/paste the post into the tutorial (it's embarrassingly long as it is...), but I will link to it.

    You guys are a hoot!
    Well, thanks! My pleasure; this is the kind cooperation that I'm so fond of: One person works out a solution to a problem, and that's the inspiration that another person needs to start looking for a solution to his problem, etc. And in the end, everyone benefits.

    That's the wonderful concept of "Standing on the shoulders of giants standing on the shoulders of giants standing on the shoulders of giants standing..."

  3. #243
    Join Date
    Jan 2006
    Location
    Boom, Belgium
    Beans
    222
    Distro
    Ubuntu 10.04 Lucid Lynx

    How to set up a local Ubuntu mirror from a set of Repository DVDs.

    The Goal.

    If you want to set up a local Ubuntu mirror, you can download its contents from an online repository—as I documented in an earlier post in this thread. You will then, however, have to download a huge amount of data—which may be impractical to you.

    To bypass the “Big Download,” you may prefer to obtain a set of Ubuntu Repository DVDs, and use these to initialise your local mirror instead. Once your local mirror is up and running, you can then keep it up-to-date by periodically rerunning the “debmirror” command.

    Purchasing Ubuntu Repository DVDs.

    In the initial post of this thread, BobSongs listed some of the vendors from which you can purchase a set of Ubuntu Repository DVDs.

    To order your copy, first decide which Ubuntu release you want—e.g., Ubuntu 9.04 (the “Jaunty Jackalope”). The vendor may append a second set of numbers to the release, to identify when the DVD contents were brought up-to-date—e.g., “Ubuntu 9.04-9.06” identifies the Ubuntu 9.04 release, brought up-to-date as of June, 2009.

    Also, decide for which CPU architecture you want to obtain the repository DVDs: i386 (i.e., the 32-bit version), or amd64 (i.e., the 64-bit version)—or, perhaps, both.

    Note:

    Before you order your set of discs, ensure that your computer meets the system requirements specified by the vendor—you may, for example, need a DVD drive that can read Dual Layer DVD±R media.

    Once you have placed your order, you will simply have to wait until the discs are delivered. (In my case, the vendor announced that it would take some 10 working days for my order to arrive, but I actually received it after only five or six working days... Nice!)

    Loading your Local Mirror from the DVDs.

    Once you receive the set of discs, you can set up your local mirror, and load it from the discs. First, you will need to create a directory for your mirror—e.g., “~/UbuntuRepos”:
    Code:
    mkdir ~/UbuntuRepos
    Next, insert the first DVD into your drive, and wait until your system mounts it (and, most likely, opens a file browser window for it). The DVD should contain two directories (or “folders,” in GUI-Speak):
    • “dists”—which can help you identify the values that you will have to specify for the “--dist” and “--section” parameters on the “debmirror” command, later on;
    • “pool”—which contains the actual software packages that you will have to copy into your local mirror.

    To list the contents of the “dists” directory, you can execute the following command:
    Code:
    ls /media/cdrom/dists
    Note:

    If your computer has more than one CD and/or DVD drive (or if the system doesn’t make the “cdrom” synonym available for some reason), then you may have to replace the “cdrom” device designation with some other name; you can identify the appropriate device name on the title bar of the file browser window that displays the DVD contents.
    Alternatively, you can, of course, open the “dists” folder from the graphical desktop environment.

    As an example, the “dists” directory may contain the following four subdirectories:
    • jaunty
    • jaunty-backports
    • jaunty-security
    • jaunty-updates

    These are the values that you will have to use for the “--dist” parameter when you run the “debmirror” command—so, e.g.:
    Code:
    --dist=jaunty,jaunty-backports,jaunty-security,jaunty-updates
    Each of these subdirectories will contain another set of subdirectories—e.g.:
    • main
    • multiverse
    • restricted
    • universe

    From this list, you can construct the “--section” parameter for the “debmirror” command—e.g.:
    Code:
    --section=main,multiverse,restricted,universe
    Finally, in each of these subdirectories, you will find yet another subdirectory, which identifies the CPU architecture to which the disc set applies—either, “binary-i386” or “binary-amd64,” for the 32-bit or the 64-bit architecture, respectively. This directory corresponds to the “--arch” parameter for the “debmirror” command:
    Code:
    --arch=i386
    or:
    Code:
    --arch=amd64
    or even (if you load the disc sets for both architectures into your local mirror):
    Code:
    --arch=i386,amd64
    Note:

    You will not, at this point, have to actually use these parameter values. Just note them down, so you have them available when you need them, later on.

    Now, run the following command to copy the contents of the “pool” directory into your local mirror:
    Code:
    cp --recursive --verbose /media/cdrom/pool ~/UbuntuRepos
    Afterwards, you will have to update the permission flags on the directories and files that you copied to your harddisk; otherwise, they will remain read-only, and you will not be able to further update your local mirror (e.g., to copy the contents of the remaining discs into it). Just run the following command:
    Code:
    chmod --recursive --verbose u+w ~/UbuntuRepos/pool
    Next, insert each of the remaining DVDs in turn, and repeat the copy and “chmod” commands for each of them:
    Code:
    cp --recursive --verbose /media/cdrom/pool ~/UbuntuRepos
    chmod --recursive --verbose u+w ~/UbuntuRepos/pool
    Note:

    You may want to verify if the “dists” directory on each of the DVDs contains any subdirectories that aren’t present on any earlier disc. If there are any, then you should add them to the “--dist” parameter for the “debmirror” command, as discussed above.
    Theoretically, you could even encounter new subdirectories that should be added to the “--section” parameter for the “debmirror” command—though, in practice, I believe that won’t be very likely to happen.

    Adding Packages for a Second CPU Architecture to your Local Mirror.

    After you copy all packages for one CPU architecture (e.g., “i386”) to your local mirror, you may want to add the packages for the other architecture (e.g., “amd64”) to it as well. To this end, you can just repeat the copy and “chmod” commands for each of the DVDs for the second architecture. Some packages are common to both architectures, however; you may, therefore, want to avoid recopying these common packages, to help speed up this operation a little. In other words, you may want to add the “--update” option to the copy command, to ensure that only new (or newer versions of existing) files will be copied over:
    Code:
    cp --recursive --update --verbose /media/cdrom/pool ~/UbuntuRepos
    chmod --recursive --verbose u+w ~/UbuntuRepos/pool

    Note:

    Some DVD drives may become somewhat unstable, and report read errors when they are heavily used for relatively long periods of time. If you experience DVD read errors on, e.g., the third or fourth DVD that you are trying to copy in a single session, you may want to power down your computer for a few hours, and then retry. Only if you then keep getting DVD read errors should you assume that there is a problem with the disc.

    Also, DVD read errors are almost guaranteed to occur if you perform these steps on a battery-powered laptop when the battery is running low.

    Creating the Keyring for your Local Mirror.

    As I explained in my earlier post, you will have to create a particular keyring, to allow “debmirror” to validate the integrity of your local mirror. Just run the following command (if you haven’t already done so on an earlier occasion):
    Code:
    gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg --export \
        | gpg --no-default-keyring --keyring trustedkeys.gpg --import
    OPTIONAL: Taking “debmirror” for a Test Drive.

    You are now ready to run “debmirror” for the first time, to load the control files that will allow you to install software packages from your local mirror. In addition, “debmirror” will download any updates that may have become available since the DVDs were produced, and it will delete any obsoleted packages.

    Since “debmirror” rather aggressively deletes from your local mirror any files that are not present in the online mirror with which it synchronises, large portions of your local mirror may get zapped if you make an error in any of its arguments. Therefore, you may prefer to take it for a test drive before you actually let it manipulate your local mirror. To request such a test drive, you can use the “--dry-run” parameter on the “debmirror” command, as follows:
    Code:
    debmirror --dry-run --nosource --md5sums --passive \
       --host=online-repository-host --root=ubuntu --method=http --progress \
       --dist=dist-list --section=section-list --arch=arch-list \
       ~/UbuntuRepos
    where:
    • “online-repository-host” represents the online mirror with which you want to synchronise your local mirror—e.g., the generic “archive.ubuntu.com” or your national mirror (which, in my case, would be “be.archive.ubuntu.com”).
    • “dist-list” represents the “--dist” value, as discussed above—e.g.:
      Code:
      jaunty,jaunty-backports,jaunty-security,jaunty-updates
    • “section-list” represents the “--section” value, also discussed above—e.g.:
      Code:
      main,multiverse,restricted,universe
    • “arch-list” represents the CPU architecture(s) to which your local mirror applies—e.g., “i386” or “amd64” (or both: “i386,amd64”).

    The actual “debmirror” command, with all values substituted into it, may, thus, look like this:
    Code:
    debmirror --dry-run --nosource --md5sums --passive \
       --host=archive.ubuntu.com --root=ubuntu --method=http --progress \
       --dist=jaunty,jaunty-backports,jaunty-security,jaunty-updates \
       --section=main,multiverse,restricted,universe --arch=i386,amd64 \
       ~/UbuntuRepos
    As part of its output, the “debmirror” command will list the updated packages that have become available, and that would be loaded into your local mirror if this were a real run—e.g.:
    Code:
    Getting: pool/main/f/firefox-3.0/abrowser-3.0-branding_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_amd64.deb... ok
    Getting: pool/main/f/firefox-3.0/abrowser-3.0-branding_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_i386.deb... ok
    Getting: pool/main/f/firefox-3.0/abrowser_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-branding_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_amd64.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-branding_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_i386.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-dev_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_amd64.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-dev_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_i386.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-gnome-support_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_amd64.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0-gnome-support_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_i386.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_amd64.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-3.0_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_i386.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-dev_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-gnome-support_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-granparadiso-dev_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox-trunk-dev_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Getting: pool/main/f/firefox-3.0/firefox_3.0.11+build2+nobinonly-0ubuntu0.9.04.1_all.deb... ok
    Furthermore, it will list the files that it considers obsoleted, and that it would delete—e.g.:
    Code:
    deleting pool/main/f/firefox-3.0/firefox_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-branding_3.0.10+nobinonly-0ubuntu0.9.04.1_i386.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-gnome-support_3.0.10+nobinonly-0ubuntu0.9.04.1_i386.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-gnome-support_3.0.10+nobinonly-0ubuntu0.9.04.1_amd64.deb
    deleting pool/main/f/firefox-3.0/firefox-gnome-support_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/firefox-trunk-dev_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0_3.0.10+nobinonly-0ubuntu0.9.04.1_amd64.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-dev_3.0.10+nobinonly-0ubuntu0.9.04.1_amd64.deb
    deleting pool/main/f/firefox-3.0/abrowser_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/abrowser-3.0-branding_3.0.10+nobinonly-0ubuntu0.9.04.1_i386.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0_3.0.10+nobinonly-0ubuntu0.9.04.1_i386.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-branding_3.0.10+nobinonly-0ubuntu0.9.04.1_amd64.deb
    deleting pool/main/f/firefox-3.0/firefox-dev_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/abrowser-3.0-branding_3.0.10+nobinonly-0ubuntu0.9.04.1_amd64.deb
    deleting pool/main/f/firefox-3.0/firefox-granparadiso-dev_3.0.10+nobinonly-0ubuntu0.9.04.1_all.deb
    deleting pool/main/f/firefox-3.0/firefox-3.0-dev_3.0.10+nobinonly-0ubuntu0.9.04.1_i386.deb
    If, at this point, you find that “debmirror” wants to remove whole subdirectories from your local mirror, then you should review the parameter values that you supplied, and correct them as required.

    You can repeat the “debmirror” test run as often as you want, until you are satisfied with the results.

    Running “debmirror” for Real.

    When you’re ready to let “debmirror” actually bring your local mirror up-to-date, just run the command without the “--dry-run” option, leaving all other parameters unchanged:
    Code:
    debmirror --nosource --md5sums --passive \
       --host=online-repository-host --root=ubuntu --method=http --progress \
       --dist=dist-list --section=section-list --arch=arch-list \
       ~/UbuntuRepos
    The following is an example of an actual “debmirror” command, with all values substituted into it:
    Code:
    debmirror --nosource --md5sums --passive \
       --host=archive.ubuntu.com --root=ubuntu --method=http --progress \
       --dist=jaunty,jaunty-backports,jaunty-security,jaunty-updates \
       --section=main,multiverse,restricted,universe --arch=i386,amd64 \
       ~/UbuntuRepos
    The output from the “debmirror” command will be mostly identical to that of the test run; this time, however, it will reallly perform the operations that it lists. As a result, your local mirror will have been properly set up and brought up-to-date once the command completes.

    Updating your APT Sources.

    With the necessary infrastructure in place, it is now time to add your local mirror to your “/etc/apt/sources.list” file, to make it known to the APT system. For each of the values that you listed in the “--dist” parameter on the “debmirror” command, add a line of the following form to the top of the file:
    Code:
    deb   file:///home/username/UbuntuRepos/   distname   section-list
    As an example, if your username is “luvr,” and with the “--dist” and “--section” parameter values as above, these lines will look as follows:
    Code:
    deb   file:///home/luvr/UbuntuRepos/   jaunty             main,multiverse,restricted,universe
    deb   file:///home/luvr/UbuntuRepos/   jaunty-backports   main,multiverse,restricted,universe
    deb   file:///home/luvr/UbuntuRepos/   jaunty-security    main,multiverse,restricted,universe
    deb   file:///home/luvr/UbuntuRepos/   jaunty-updates     main,multiverse,restricted,universe
    Note:

    Depending on your needs and preferences, you may want to leave out the “jaunty-backports” line. Backports are updates that were actually developed for later Ubuntu releases, and that were subsequently made available for the current version, albeit without any form of support.

    Note:
    Remember that you will need root privileges in order to edit the “/etc/apt/sources.list” file. For example, if you want to use the “gedit” text editor, you will have to run the following command:
    Code:
    sudo gedit /etc/apt/sources.list
    Alternatively, you can start the editor from the GNOME desktop by pressing <Alt>-<F2> and running the following command line:
    Code:
    gksudo gedit /etc/apt/sources.list

    Next, update your local package indexes:
    Code:
    sudo apt-get update
    Keeping your Local Mirror Up-To-Date.

    To keep your local mirror up-to-date, you will periodically have to rerun the “debmirror” command to resynchronise your mirror with the online repository, and subsequently update your local package indexes again—e.g.:
    Code:
    debmirror --nosource --md5sums --passive \
       --host=archive.ubuntu.com --root=ubuntu --method=http --progress \
       --dist=jaunty,jaunty-backports,jaunty-security,jaunty-updates \
       --section=main,multiverse,restricted,universe --arch=i386,amd64 \
       ~/UbuntuRepos
    sudo apt-get update
    Last edited by luvr; June 15th, 2009 at 12:51 PM.

  4. #244
    Join Date
    Nov 2005
    Location
    Montreal, Canada
    Beans
    525

    Re: How To: Make Your Own Ubuntu Repository DVDs

    Simply art!

    Added to my tutorial.

    Last edited by BobSongs; June 26th, 2009 at 02:56 PM.

  5. #245
    Join Date
    Jan 2006
    Location
    Boom, Belgium
    Beans
    222
    Distro
    Ubuntu 10.04 Lucid Lynx

    ERROR: "debmirror" fails if the online repository does not have a "Packages.bz2" file

    The Problem.

    I’m trying to set up a local mirror for the Canonical “Partner” repository—similar to the local Ubuntu mirror that I documented in an earlier post in this thread.

    First, I create a directory in which I will download the repository files:
    Code:
    mkdir ~/PartnerRepos
    Next, I perform a “debmirror” test run (using the “--dry-run” option):
    Code:
    debmirror --dry-run --md5sums --passive --host=archive.canonical.com --root=ubuntu \
      --method=http --progress --dist=jaunty --section=partner --arch=i386 \
      ~/PartnerRepos
    However, instead of running to completion, “debmirror” complains about the following error:
    Code:
    [ 60%] Getting: dists/jaunty/partner/binary-i386/Packages.bz2...
       dists/jaunty/partner/binary-i386/Packages.bz2 failed 404 Not Found
    
    [ 60%] Getting: dists/jaunty/partner/source/Sources.bz2...
       dists/jaunty/partner/source/Sources.bz2 failed 404 Not Found
    Apparently, “debmirror” expects the online repository to provide “Packages.bz2” and “Sources.bz2” files—which seem to be missing.

    To verify what’s wrong with the online repository, I open a browser, and I navigate to the page from which “debmirror” attempts to download the “Packages.bz2” file—i.e., to the following URL:
    Code:
    http://archive.canonical.com/dists/jaunty/partner/binary-i386/
    There, I discover that “debmirror” is, indeed, correct in reporting that the “Packages.bz2” file is missing. There does, however, exist a “Packages.gz” file—which would work equally well, if only “debmirror” were intelligent enough to look for it instead.

    The Fix.

    Obviously, the problem would instantly get solved if I could somehow create the “Packages.bz2” file in the online repository—but I can’t...

    Thus, I will have to find a way to tell “debmirror” that the “Packages.bz2” file is missing allright, but that it shouldn’t care, and that it should work with “Packages.gz” instead.

    Fortunately, “debmirror” is really a Perl script—which I can study, and possibly even enhance. In the end, here’s how I decide to tackle the issue:
    • I will define a new option—“--nopkgbz2”—which will make “debmirror” ignore the “Packages.bz2” file, and download “Packages.gz” instead.
    • If “debmirror” is run without my new “--nopkgbz2” option, then it will continue to work as usual—i.e., it will want to download the “Packages.bz2” file, and it will create the “Packages.gz” and “Packages” files from it.
    • If “debmirror” is run with my “--nopkgbz2” option, then it will download “Packages.gz” instead, and create the “Packages” file from it.

    In the end, the patch to implement this “--nopkgbz2” option turns out to be fairly simple, and it can be applied as documented next.

    Note:

    The patch applies to the “debmirror” version that is available with Ubuntu 9.04 (the ”Jaunty Jackalope”) and with Ubuntu 9.10 (the ”Karmic Koala”); it does not work (nor is it required) on the “debmirror” version for Ubuntu 8.10 (the ”Intrepid Ibex”) or earlier.

    Applying the patch to the “debmirror” script.

    I don’t particularly like applying a patch to a system file in-place; instead, I prefer to copy the affected file to, e.g., my home directory, and apply the patch to the copy. Therefore, the following procedure will apply my patch to a copy of the “debmirror” script in the home directory of the user that is currently logged in to the system:
    • Execute the following commands to copy the “debmirror” script to your home directory:
      Code:
      cd
      cp /usr/bin/debmirror .
    • Download the “debmirror_pkgbz2_patch.zip” file attached to this post. Save it into your home directory (next to your “debmirror” copy), and run the following command to unzip it and create the “debmirror_pkgbz2_patch” file:
      Code:
      unzip debmirror_pkgbz2_patch.zip
    • Execute the following command to apply the patch (from the “debmirror_pkgbz2_patch” file) to your copy of the “debmirror” script:
      Code:
      patch < debmirror_pkgbz2_patch

    Assuming that the “patch” command reports no errors, your “debmirror” copy will now implement my new “--nopkgbz2” option.

    Trying out the patched “debmirror” script.

    To test the patched “debmirror” script, run it from your home directory (i.e., prepend “~/” to the command name), and add the “--nopkgbz2” option to the command line:
    Code:
    ~/debmirror --dry-run --md5sums --passive --host=archive.canonical.com --root=ubuntu \
      --nopkgbz2 \
      --method=http --progress --dist=jaunty --section=partner --arch=i386 \
      ~/PartnerRepos
    This time, “debmirror” should not try to download the (missing) “Packages.bz2” file, but address“Packages.gz” instead—which should allow the command to complete successfully.
    Attached Files Attached Files
    Last edited by luvr; December 13th, 2009 at 05:43 PM. Reason: Reimpliment "--nopkgbz2" as a boolean [--pkgbz2|--nopkgbz2], just like [--source|--nosource]

  6. #246
    Join Date
    Jan 2006
    Location
    Boom, Belgium
    Beans
    222
    Distro
    Ubuntu 10.04 Lucid Lynx

    How to Create a "Source-Only" Local Mirror.

    The Problem.

    I set up a local Ubuntu mirror in which I keep binary packages, but no sources. I would now like to add the source packages to my local mirror.

    The “obvious” way to add the source packages, would be to simply remove the “--nosource” option from the “debmirror” command line—e.g.:
    Code:
    debmirror --md5sums --passive --host=archive.ubuntu.com --root=ubuntu \
      --method=http --progress \
      --dist=jaunty,jaunty-backports,jaunty-proposed,jaunty-security,jaunty-updates \
      --section=main,multiverse,restricted,universe --arch=i386,amd64 \
      ~/UbuntuRepos
    HOWEVER, this method has one major drawback, which becomes painfully clear with a huge repository such as in the given example, which consists of five “dists” of four “sections” each: There will be a huge amount of data to be downloaded, and until all source packages are downloaded, my repository will remain in an “unfinished,” inconsistent state.

    I might be tempted to try and download the source packages in pieces—e.g., specifying only a single “dist” and a single “section” on the first run, and then expanding the parameters again on successive runs, until all source packages get included—but I should DEFINITELY NOT do that: if I omit any “dist” or “section” (or, for that matter, “arch”) value, then all data for the omitted parts will get erased from my local mirror, and I will have to redownload them later on.

    It would be a far better idea to create a separate mirror, in which I can download the source packages independently, without affecting my existing (binary) mirror. Fortunately, “debmirror” will let me create a “source-only” mirror pretty easily—as described next.

    The Solution: Creating a “Source-Only” Local Mirror.

    Since I will be creating a new local mirror, I will first create a directory in which I will download the repository files:
    Code:
    mkdir ~/UbuntuSources
    Next, to tell “debmirror” to download only the source packages, and ignore any binary packages, I simply set the “--arch” parameter to “none”—e.g.:
    Code:
    debmirror --md5sums --passive --host=archive.ubuntu.com --root=ubuntu \
      --method=http --progress --dist=jaunty --section=restricted --arch=none \
      ~/UbuntuSources
    Note:

    In this example, I download only a small sample from the (huge!) collection of source packages that are available in the Ubuntu repositories. Once this small sample is complete, I can expand the “dist” and “section” parameters step by step, until my “source-only” mirror is complete.
    Once my “source-only” mirror is loaded with all source packages from the exact same “dists” and “sections” as my binary mirror, I can copy the full contents of its “pool” directory to my binary mirror, to create a combined “binary-plus-source” mirror (or I might prefer to keep the binary and source packages in their own, separate, mirrors).

    Important:

    If you create a combined (binary-plus-source) mirror, then make sure that you remove the “--nosource” option from the “debmirror” command line whenever you want to bring it up-to-date again! If you ever run “debmirror” with the “--nosource” option again, then the source packages will be deleted from local the mirror.
    Last edited by luvr; July 1st, 2009 at 09:11 PM.

  7. #247
    Join Date
    Oct 2007
    Location
    Australia
    Beans
    1,715
    Distro
    Ubuntu Development Release

    Re: How to Create a "Source-Only" Local Mirror.

    Quote Originally Posted by luvr View Post
    Code:
    --dist=jaunty,jaunty-backports,jaunty-proposed,jaunty-security,jaunty-updates \
    HOWEVER, this method has one major drawback, which becomes painfully clear with a huge repository such as in the given example, which consists of five “dists” of four “sections” each: There will be a huge amount of data to be downloaded, and until all source packages are downloaded, my repository will remain in an “unfinished,” inconsistent state.
    It may be timely to discuss the "proposed" dist. "Proposed" is just that, a dist that contains packages that are proposed although in no way a certainty for the regular dists. It is in essence a testing area and it is possible using this dist may cause breakage to an otherwise excellent setup.
    Ubuntu User 23142 | Wiki | Laptop | HowTo:Create a background slideshow and Screensaver | Reconditioning pre-loved PCs and installing Ubuntu to give away to good homes.

  8. #248
    Join Date
    Oct 2007
    Location
    Australia
    Beans
    1,715
    Distro
    Ubuntu Development Release

    How to maintain a Repository for non i386,amd64 Hardy onwards versions of Ubuntu

    What happens if I want to maintain a Repository for non i386,amd64 versions of Ubuntu from Hardy onwards? It's not that difficult and only requires minor changes to the normal script. So if you have a PowerPC and want to run Hardy, Intrepid, Jaunty or upcoming versions after they are released you can still have your arch and repository to

    Here's the code:
    Code:
    debmirror --nosource -m --passive --host=ports.ubuntu.com --root=/ --method=http --progress --dist=hardy,hardy-security,hardy-updates,hardy-backports,hardy-proposed --section=main,restricted,universe,multiverse --arch=powerpc ~/PortsUbuntuPPCRepos --ignore-release-gpg
    Remember to modify the coloured text to suit your distribution (hardy, intrepid, jaunty, etc) and architecture (powerpc, sparc, lpia, ia64, hppa, armel)

    Also remember to make sure you name the Repo destination appropriately so you do not overwrite and inadvertently lose other Repos you have downloaded.

    Edit: The size of the PowerPC repo for:
    Hardy is 27859 MB.
    Intrepid is 26968 MB.
    Jaunty is 25322 MB.
    Last edited by k3lt01; July 26th, 2009 at 08:47 AM.
    Ubuntu User 23142 | Wiki | Laptop | HowTo:Create a background slideshow and Screensaver | Reconditioning pre-loved PCs and installing Ubuntu to give away to good homes.

  9. #249
    Join Date
    Oct 2009
    Beans
    3

    Smile Re: How To: Make Your Own Ubuntu Repository DVDs

    Thanks so much for this guide!

    I had three small problems that might be worth mentioning: : I had to find debpartial from an old distribution and use that. I'm using Hardy myself.

    I downloaded the packages for Jaunty. I tried adding them through KPackageKit, but this didn't work as I had expected. So I added them with apt-cdrom like the guide said to, which worked just fine.

    However, both KPackageKit and Adept failed to handle the DVD switching once I wanted to install something. Synaptic handles the DVD switching.

  10. #250
    Join Date
    Oct 2007
    Location
    Australia
    Beans
    1,715
    Distro
    Ubuntu Development Release

    Re: How To: Make Your Own Ubuntu Repository DVDs

    Quote Originally Posted by silence150 View Post
    I had to find debpartial from an old distribution and use that. I'm using Hardy myself.
    Did you try the link in the first post?
    Ubuntu User 23142 | Wiki | Laptop | HowTo:Create a background slideshow and Screensaver | Reconditioning pre-loved PCs and installing Ubuntu to give away to good homes.

Page 25 of 40 FirstFirst ... 15232425262735 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •