PDA

View Full Version : Kickstart, local repo *only*



bschuhma
26th August 2017, 03:43 AM
Can a kickstart use a local repo **only**? I want to create an ISO using kickstart that only points to locally downloaded packages in a local repo (created with createrepo and yumdownload). I believe I have every package I need and I don't want to look anywhere else.

In my kickstart I have:
url --url=file:///tmp/rpmCD
repo --name="local" --baseurl=file:///tmp/rpmCD


All the packages are in /tmp/rpmCD. This doesn't work in livemedia-creator. The kickstart documentation doesn't appear to support a local repo in this fashion... only HTTP, FTP, and NFS seem to be supported, as far as I can tell.

Is the easiest way to do what I want to set up httpd and point the repo at --baseurl=http://localhost/rpmCD ?

FWIW, I tried:
nfs --server=localhost --dir=/tmp/rpmCD

and it didn't seem to help, either :-(

Thanks in advance for any ideas/help! :-)

Regards,

Bret

donatom
30th August 2017, 10:17 PM
Take a look at this:

https://forums.fedoraforum.org/archive/index.php/t-309820.html

I have created kickstarts for isos using livemedia-creator. I am currently trying to create a kickstart for unattented installations of fedora. I haven't yet tried to have a local repo as my source.

Good luck and please let us know how you were able to create a kickstart using only local repo.

Don

bschuhma
31st August 2017, 02:25 PM
Thanks, Don. I did see that thread initially. I think I did try the baseurl=file:///..., but it didn't seem to work.

I have had some success using lighttpd, though. I took all the packages in my kickstart and put them in a file, then found a script that did a foreach on each package in that file... repotrack was the key...


cd /<repodirname here>
for pkg in `cat packageList.txt`; do
repotrack -a `uname -m` $pkg
done
createrepo .

This downloads all the named packages *and* all their dependencies to my local repo dir. The last line indexes and creates all the repodata.

I feed up my local repository via lighttpd to the kickstart:
repo --name="Local" --baseurl=http://localhost/rpmRepo


I've been able to build my ISO with the networking turned off (wifi is not connected, laptop in airplane mode, no hardwired connection). The screen shows step 5 of the automated install is checked and shows "Not connected". The "downloading" phase of the build zips by in less than a second and "downloads" 430 rpms. I can boot the ISO in qemu and/or burn a bootable disc.

I'll go back and check the file:/// now - I'd rather not have to use lighttpd.

Thanks for the reply!

Regards,

Bret

bschuhma
31st August 2017, 03:36 PM
I stand corrected - the file:/// option works.

I set my url to:
url --url="file:///var/www/lighttpd/rpmRepo"

and my repo to:
repo --name="local" --baseurl=file:///var/www/lighttpd/rpmRepo

Note: I only use the lighttpd dir because my rpms were already there because I was supplying them via http earlier.

And it zipped through the "Downloading packages" even faster - it didn't even list the percentage downloaded... just one line saying "Downloading packages" and immediately went to "Preparing transaction from installation source".

Thanks for that, Don!

Regards,

Bret

donatom
31st August 2017, 04:15 PM
Hi bschuhma,

Glad it worked for you. And thanks for confirming and showing how to set up a local repo. Good information for the Fedora community.