Changes

From Amahi Wiki
Jump to: navigation, search
{{NeedsUpdate}}
 
 
== Make your HDA a Local Fedora and RPMFusion Free/NonFree Updates Repo ==
If you have multiple machines to update in your network, this may be ideal for you. It will allow you to use your HDA as a local Fedora/RPMFusion Updates repository (hereafter referred to as <strong><em>repo</em></strong>). This was developed on Fedora 12 platform.
Once the initial setup is complete, all repos will be updated nightly with any changes automatically. Then whenever you do an update to your HDA or Fedora clients, packages will be pulled from your HDA versus a Fedora mirror over the internet. This was developed on Fedora 12 platform, but should work on Fedora 14. I have built scripts Change all occurrences of "'''f12'''" and "'''Fedora 12'''" to do all the steps below "'''f14'''" and will post them here soon"'''Fedora 14'''" respectively.
=== Initial Repo Setup ===
This setup only needs to be done once. This will set up structure for all repos built for your HDA.
* Create a web app called ([http://wiki.amahi.org/index.php/Advanced_Settings Advanced Settings] must be enabled on HDA)<strongol>repo</strongli> using From the Amahi Dashboard (Applications--main page, select '''Apps''' at the top.</li>Web App) * Open a terminal window and become <strongli>rootChoose ''Webapps''</strongli> user:  su - * If you want <li>Select '''New Web App''' button at the URL bottom<strong/li><nowikili>http://Enter ''repo'' for the Name (ensure the path reflects the name correctly)</nowikili><li>Choose '''Create'''</strongli> available immediately, restart hdactl:  service hdactl restart</ol>* Generate [http://wiki.amahi.org/index.php/Open_Terminal_as_root Open a terminal as root] user and generate <strong>index.html</strong> (OPTIONAL) to allow repo packages to be viewed via web browser): 
cd /var/hda/web-apps/repo/html
vi index.html
and add the following:
<pre><html> <nowiki><UL></nowiki> <nowiki><LI></nowiki><A HREF="f12">f12</A> <nowiki></UL></nowiki> </html></pre>
* Make directory to hold all repo files, then create symbolic link to the directory:
  <pre>mkdir -p /var/hda/files/yum/f12 cd /var/hda/web-apps/repo/html ln -s /var/hda/files/yum/f12</pre>* If you locate the files in a different tree, you will need the appropriate permissions. This is especially important if you build the tree by extracting from a .iso fileusing Nautilus. Change to a point in the tree and use:  <nowiki>find . -type d | xargs chmod 755</nowiki>
* Disable current Fedora/RPMFusion Update repos for your HDA, then invoke local repo (Skip last 2 lines if RPMFusion repos <strong>NOT</strong> installed):
<pre>sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/fedora-updates.repo
sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/rpmfusion-free-updates.repo
sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo</pre>
=== Fedora Base OS Repo Configuration (Optional) ===For this example, we will be doing the Fedora Base OS for 32-bit.* Make directory to hold all Fedora i386 base os: mkdir -p /var/hda/files/yum/f12/i386/os* Build the OS tree<blockquote>a. From the Fedora DVD: sed cp -i 'sa /mount/enabled=1..../* /enabled=0var/g' hda/etcfiles/yum/f12/i386/osb. From the DVD iso:<pre>mkdir -p /mnt/isomount -o loop ..repos.d/fedoraFedora-12-i386-updatesDVD.repoiso /mnt/iso sed cp -i 'sa /mnt/iso/enabled=1* /enabled=0var/g' hda/etcfiles/yum/f12/i386/osumount /mnt/iso</pre>c. From the CD isos (Note that the CD #1 can be used for a network install, see below):<pre>mkdir -p /mnt/isomount -o loop ..repos.d/rpmfusionFedora-free12-updatesi386-disc1.repoiso /mnt/iso sed cp -i 'sa /enabled=1mnt/iso/* /enabled=0var/g' hda/etcfiles/yum/f12/i386/osumount /mnt/isomount -o loop ..repos.d/rpmfusionFedora-12-nonfreei386-updatesdisc2.repoiso /mnt/isocp -an /mnt/iso/* /var/hda/files/yum/f12/i386/osumount /mnt/iso</pre>... (continue with the other CD isos)</blockquote><br>
=== Fedora Updates Repo Configuration ===
For this example, we will be doing Fedora Updates for 32-bit. It can be adapted for 64-bit by changing all occurrences of <strong><em>i386</em></strong> to <strong><em>x86_64</em></strong>. You may want to use one of the rsync mirrors listed [[http://mirrors.fedoraproject.org here]]. If so, replace all occurrences of <strong><em>rsync://mirrors.kernel.org</em></strong> with the new mirror. 
* Make directory to hold all Fedora i386 Updates:
 
mkdir -p /var/hda/files/yum/f12/i386/updates
 
* Download Fedora i386 Updates from repo mirror (may take a while):
  rsync -avrt --delete --exclude<nowiki>=</nowiki>debug/ --exclude<nowiki>=</nowiki>drpms/ rsync://mirrors.kernel.org/fedora/updates/12/i386/ --exclude=debug/ /var/hda/files/yum/f12/i386/updates 
* Build local repo structure index:
 
yum -y install createrepo
createrepo /var/hda/files/yum/f12/i386/updates
 
* Generate <strong>fedora-updates-i386.repo</strong> (point to your HDA local repository):
 
vi /etc/yum.repos.d/fedora-updates-i386.repo
and add the following:
<pre>[fedora-updates-i386-local] name=Fedora f12 - i386 - Updates failovermethod=priority baseurl=<nowiki>http://repo/f12/i386/updates</nowiki> enabled=1 gpgcheck=0</pre>
* Schedule nightly task to synchronize (downloads new updates) Fedora mirror with HDA repo. This will only download new udpates to your HDA, so it shouldn't take long. Recommend you stagger scheduled time for each repo added by 1 hour.:
 
crontab -e
and add the following line:
0 1 * * * rsync -auv --delete --exclude=debug/ --exclude=drpms/ rsync://mirrors.kernel.org/fedora/updates/12/i386/ --exclude=debug/ /var/hda/files/yum/f12/i386/updates 
* Refresh repo list.
 
yum clean all
* All Fedora i386 Updates will now be retrieved locally from your HDA.
<br>
* All === Installing Fedora Using your Repo Server ===For a speeder Fedora i386 Updates install from your Repo server that is not prone to DVD or CD read errors (and will now be retrieved locally install up to the current update level!).* Boot from either the Fedora DVD or CD #1. When presented with the install choices menu, press tab and append to the boot line: askmethod* When you get to the method screen, select URL and enter your HDA.repos base OS URL: <nowiki>http://repo/f12/i386/os</nowiki>* When you reach the repositories page you can select the Update repository and point it to: <nowiki>http://repo/f12/i386/updates</nowiki><br>
=== RPMFusion Updates Repo Configuration ===
<strong>NOTE:</strong> Amahi RPM Fusion Free and/or NonFree app <strong>MUST BE</strong> installed.
 
For this example, we will be doing RPMFusion Free updates for 32-bit. It can be adapted for NonFree by changing all occurrences of <strong><em>free</em></strong> to <strong><em>nonfree</em></strong> and/or to 64-bit by changing all occurrences of <strong><em>i386</em></strong> to <strong><em>x86_64</em></strong>.
 
* Make directory to hold all RPMFusion Free i386 Updates:
 
mkdir -p /var/hda/files/yum/f12/i386/rpmfusion/free/updates
 
* Download RPMFusion Free Updates from repo mirror (may take a while):
  rsync -avrt --delete --exclude<nowiki>=</nowiki>debug/ --exclude<nowiki>=</nowiki>drpms/ rsync://download1.rpmfusion.org/rpmfusion/free/fedora/updates/12/i386/ --exclude=debug/ /var/hda/files/yum/f12/i386/rpmfusion/free/updates 
* Build local repo structure index:
 
createrepo /var/hda/files/yum/f12/i386/rpmfusion/free/updates
 
* Generate <strong>fedora-rpmfusion-free-updates-i386</strong> (point to your HDA local repository):
 
vi /etc/yum.repos.d/fedora-rpmfusion-free-updates-i386.repo
and add the following:
<pre>[fedora-rpmfusion-updates-i386-local] name=Fedora 12 - RPMFusion - free - i386 - Updates failovermethod=priority baseurl=<nowiki>http://repo/f12/i386/rpmfusion/free/updates</nowiki> enabled=1 gpgcheck=0</pre>
* Schedule nightly task to synchronize (downloads new updates) RPMFusion mirror with HDA repo. This will only download new udpates to your HDA, so it shouldn't take long. Recommend you stagger scheduled time for each repo added by 1 hour.:
 
crontab -e
and add the following line:
<pre>0 3 * * * rsync -auv --delete --exclude=debug/ --exclude=drpms/ rsync://download1.rpmfusion.org/rpmfusion/free/fedora/updates/12/i386/ --exclude=debug/ /var/hda/files/yum/f12/i386/rpmfusion/free/updates</pre>
* Refresh repo list.
 
yum clean all
 
* All RPMFusion Free i386 Updates will now be retrieved locally from your HDA.
<br>
=== Client Repo Setup ===
This will need to be completed on each Fedora 12 Client in your network.
 
* Disable current Fedora/RPMFusion Update repos for client, then invoke local repos (Skip last 2 lines if RPMFusion repos <strong>NOT</strong> installed):
<pre>sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/fedora-updates.repo
sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/rpmfusion-free-updates.repo
sed -i 's/enabled<nowiki>=</nowiki>1/enabled<nowiki>=</nowiki>0/g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo
yum clean all</pre>
sed -i 's/enabled=1/enabled=0/g' = Third Party Application ===This is application that allows you to maintain your own local repo server. It is currently set for CentOS but can be modified for Fedora. See [http:/etc/yumwww.reposdotsharp.d/fedora-updatescom.repo sed -i 's/enabled=1br/enabled=0/g' /etcsoftwares/yum.repos.d/rpmfusion-freerepo-sync-updatesenglish.repo sed -i 's/enabled=1/enabled=0/g' /etc/html yum.repos.d/rpmfusion-nonfreerepo-updatessync] for more info.repo yum clean all
12,424

edits