From jerlyon at gmail.com Fri Sep 1 06:18:09 2006 From: jerlyon at gmail.com (Jeremy Lyon) Date: Fri, 1 Sep 2006 00:18:09 -0600 Subject: error handling in %post In-Reply-To: <44F6F206.8060708@lanl.gov> References: <17EBC05307239C4896ED25244F42A80101367B30@permls05.wde.woodside.com.au> <44F6F206.8060708@lanl.gov> Message-ID: <779919740608312318x4fb111dbk89a4fff457060dfa@mail.gmail.com> On 8/31/06, Ed Brown wrote: > > A 'debug mode' or error-handling framework > for %pre and %post scripts like I'm suggesting, would allow for far > easier development, and a more robust recovery capability, and allow > %post to be more fully utilized for what is was intended for, instead > of resorting to post-post scripts. > How would you build such a framework though? I'm not a developer, so I may be a bit limited in my thinking. I can think of 2 ways of accomplishing this 'debug mode'. 1. Build the interpreters into anaconda. This would allow ananconda itself to read the %pre and %post sections rather than handing it off to the external interpreter and do the syntax checking and error-handling.However, this would make the anaconda code much larger than it should be and probably very unmanagable. I also imagine that this would start limiting the options that we have for interpreters because we may not have solid dedicated contributers that would even want to jump into every possible interpreter to make it available. Maybe we would, just not sure on that one. 2. Ask the maintainers of the interpreters' to build in this 'debug mode' that would probably only be useful in kickstarts. I'm not sure how willing those maintainers would be to add such a feature with such limited use. They would probably be more inclined to help if a patch was submited. IMHO, the Crtl-Alt-F2 tty is the debug mode. I too run a complex environment that utilizes a robust %post section as well as a first boot "post-post" install. I use both because it makes sense in my environment. I have been able to do all of my %post testing and debuging from the F2 tty. The shell that is provided is the exact environment that the %post runs in. A chroot /mnt/sysimage will give you the default %post. Not using the chroot command is the same as %post --nochroot, etc... Any other ideas, on how the debug mode/framework could live and work inside anaconda? -Jeremy, RHCE -------------- next part -------------- An HTML attachment was scrubbed... URL: From phb at llgc.org.uk Fri Sep 1 09:51:38 2006 From: phb at llgc.org.uk (Phil Bettinson) Date: Fri, 01 Sep 2006 10:51:38 +0100 Subject: error handling in %post In-Reply-To: <779919740608312318x4fb111dbk89a4fff457060dfa@mail.gmail.com> References: <17EBC05307239C4896ED25244F42A80101367B30@permls05.wde.woodside.com.au> <44F6F206.8060708@lanl.gov> <779919740608312318x4fb111dbk89a4fff457060dfa@mail.gmail.com> Message-ID: <44F802AA.1090801@llgc.org.uk> Jeremy Lyon wrote: > > On 8/31/06, *Ed Brown* > wrote: > > A 'debug mode' or error-handling framework > for %pre and %post scripts like I'm suggesting, would allow for far > easier development, and a more robust recovery capability, and allow > %post to be more fully utilized for what is was intended for, instead > of resorting to post-post scripts. > > > How would you build such a framework though? Hi, Do we really have to go as far as a full framework? perhaps some handy interim would be better? It might be possible to simply run a shell, and connect it's output to a TTY, as well as it's input. I know that some people on this list already use that as a method of debugging. It's not a case of building a framework. It's more simply a a way of finding a better way to implement the way %post deals with output from the comamnds that it runs, ideally in a way that can be interracted with IF DESIRED, or logged for future reference. I don't see it as complicated, in theory. However, I'm not an Anaconda developer, so have no idea what the code is like. Perhaps it might be a good idea to go dig out the code, and find out whether or not there is a Coding reason why this won't work. It just seems odd to me that the Anaconda guys hadn't already thought of it. Perhaps it's a limitation/feature of the way Anaconda was built to work. Remember, it doesn't just do kickstart, it's also the same engine used to install machines manually. Phil -- ----------------------------------------------------------------------- Phil Bettinson BEng, RHCT Beng, RHCT Swyddog Gweinyddu Systemau Systems Administrator Isadran Cyfrifiaduron Computer Section Llyfrgell Genedlaethol Cymru National Library of Wales Aberystwyth, Aberystwyth Ceredigion, Ceredigion SY23 3BU SY23 3BU Ff?n / Phone: 01970 63XXX7 Ffacs / Fax: 01970 61XXX9 EBost / Email: phb at llgc.org..XXX.uk We / Web: http://www.llgc.org.XXX.uk ----------------------------------------------------------------------- Yn siarad drosof fy hun, nid LlGC - Speaking personally, not for NLW From ebrown at lanl.gov Fri Sep 1 18:36:35 2006 From: ebrown at lanl.gov (Edward F. Brown) Date: Fri, 1 Sep 2006 12:36:35 -0600 (MDT) Subject: error handling in %post Message-ID: <21174.128.165.0.81.1157135795.squirrel@webmail.lanl.gov> On Fri, September 1, 2006 3:51 am, Phil Bettinson wrote: > Jeremy Lyon wrote: >> How would you build such a framework though? > It might be possible to simply run a shell, and connect it's output to a > TTY, as well as it's input. Right, and that was the suggestion I made to the question that spawned this thread. For text-mode install, shell interpreter, you can switch tty's for %post, test for errors, and open a subshell: %post chvt 3 exec < /dev/tty3 > /dev/tty3 2>/dev/tty3 ...some commands... ... some-command that deserves an error check... if [ $? -ne 0 ]; then echo 'some-command failed, check it out...' sh fi ...more commands There you can work it locally, maybe fix something remotely, and when you exit the subshell, the %post script continues. Likely you can finish the install without iterating ad nauseum from a cold start, and subsequently fix your script, if necessary. Jeremy's questions help me see the problem with a more general solution or 'error-handling framework'. Anaconda can't know about error conditions within the interpreter. But what if it provided a hook: you still have to check for errors within %post, but if you could then pass a string to an anaconda-provided function that would display the message and provide a shell-prompt window. This could work for text or graphical mode, with any interpreter, and would not require the explicit tty switch in %post. Obviously I'm not a python or anaconda developer either, but could this be hard to implement? Turn it off (function call ignored), (or conversely, on), with a kickstart option. I know, from using the less general method above for a couple of years, that having this capability saves time developing scripts, provides a preciously valuable runtime recovery capacity, and provides confidence in being able to use %post for just about every kind of post install configuration. It just needs to be made easier, more general, a documented kickstart no-brainer. Other ideas? thanks, Ed, RHCE From jerlyon at gmail.com Sat Sep 2 17:27:25 2006 From: jerlyon at gmail.com (Jeremy Lyon) Date: Sat, 2 Sep 2006 11:27:25 -0600 Subject: error handling in %post In-Reply-To: <21174.128.165.0.81.1157135795.squirrel@webmail.lanl.gov> References: <21174.128.165.0.81.1157135795.squirrel@webmail.lanl.gov> Message-ID: <779919740609021027x418a9b17v927aa24a0e3a1fee@mail.gmail.com> On 9/1/06, Edward F. Brown wrote: > > But what if it provided a hook: you still have to > check for errors within %post, but if you could then pass a string to an > anaconda-provided function that would display the message and provide a > shell-prompt window. This could work for text or graphical mode, with any > interpreter, and would not require the explicit tty switch in %post. > Obviously I'm not a python or anaconda developer either, but could this be > hard to implement? Turn it off (function call ignored), (or conversely, > on), with a kickstart option. > Agreed, depending on your level of comfort with python, something like this should be pretty easy to patch in. If you have a chance to pull down the anaconda src.rpm, check out kickstart.py. The Script class would probably be where this hook would be implemented It already grabs the return code, so it should be pretty easy to come up with a scheme of return codes that would allow %post scripters to utilize this functionality. Current code... ...[snip]... rc = iutil.execWithRedirect(self.interp, [self.interp,"/tmp/ks-script"], stdout = messages, stderr = messages, root = scriptRoot) if rc != 0: log("WARNING - Error code %s encountered running a kickstart %%pre/%%post script", rc) ...[snip]... Additional if statements could be built in to allow what you are proposing. Then just leave the final else to do the log. The class also writes the %pre and %post to /tmp/ks-script (or /mnt/sysimage/tmp/ks-script for chroot), so you could have the opportunity to update it on the fly and have it re run. If you'd like to work on this, I'd be happy to help. I just don't have a test bed to use. We'd probably also want to run this by the anaconda-devel list to see this would even be something that could end up being accepted. -Jeremy, RHCE -------------- next part -------------- An HTML attachment was scrubbed... URL: From ebrown at lanl.gov Sat Sep 2 18:53:25 2006 From: ebrown at lanl.gov (Edward F. Brown) Date: Sat, 2 Sep 2006 12:53:25 -0600 (MDT) Subject: error handling in %post In-Reply-To: <779919740609021027x418a9b17v927aa24a0e3a1fee@mail.gmail.com> References: <21174.128.165.0.81.1157135795.squirrel@webmail.lanl.gov> <779919740609021027x418a9b17v927aa24a0e3a1fee@mail.gmail.com> Message-ID: <40110.128.165.0.81.1157223205.squirrel@webmail.lanl.gov> On Sat, September 2, 2006 11:27 am, Jeremy Lyon wrote: > check > out kickstart.py. The Script class would probably be where this hook > would be implemented > It already grabs the return code, so it should be pretty easy to come up > with > a scheme of return codes that would allow %post scripters to utilize this > functionality. I'm not sure it would be as simple as that. This could trigger some action at the end of the script, based on the _return_ code, but the key thing in my mind anyway, is the ability to do this (stop and provide a shell prompt) anywhere within %pre/%post, and then be able to return to that point in the script where you left. Otherwise, as someone pointed out, there wouldn't be much gained over just not rebooting at the end, and switching to tty2. I'd like to be able to do something like this: %post ... some-command if [ $? != 0 ]; then debugError "some-command failed, opening interactive shell. Exit to return to kickstart script" fi ...more-stuff 'debugError' could be called from any interpreter. And the message would be displayed appropriately for text or graphical mode install, and the interactive shell would be handled appropriately from either mode, not sure what that would look like. Switching to tty2 is not enough, since you can't just 'exit' and return to the kickstart script. It has to be a shell spawned by debugError: exit, and debugError exits, and control returns to %post. Whether it should spawn a shell on a new tty (5 or 6?), or open an xterm in graphical mode (don't know if that's feasible), I don't know. I appreciate your ideas and taking a look at the code. You're probably right that anaconda-devel is going to have to buy into this, hopefully help with it... -Ed From Chris.Pierzycki at ge.com Tue Sep 5 21:59:21 2006 From: Chris.Pierzycki at ge.com (Pierzycki, Chris (GE Healthcare, consultant)) Date: Tue, 5 Sep 2006 17:59:21 -0400 Subject: RPM Updates? Message-ID: Hi, I'm looking for a way to add updated packages into RH AS42? Wasn't there a way one can just create a directory such as "RHupdates" in CD/Redhat/RPMS and simply drop the new RPM packages there? Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: From klaus.steden at thomson.net Tue Sep 5 22:03:42 2006 From: klaus.steden at thomson.net (Klaus Steden) Date: Tue, 5 Sep 2006 18:03:42 -0400 Subject: RPM Updates? In-Reply-To: References: Message-ID: <20060905220342.GB35614@thomson.net> > Hi, > > > > I'm looking for a way to add updated packages into RH AS42? Wasn't there > a way one can just create a directory such as "RHupdates" in > CD/Redhat/RPMS and simply drop the new RPM packages there? > There's some info on this topic in the Fedora Wiki ... personally, I use a python script I found on the web (attached to this email, for conveience's sake) to merge RPMs into my install tree. It takes care of both additions and updates properly. hth, Klaus -------------- next part -------------- #!/usr/bin/python # # update_release.py 2.0 - merge rpm updates and third party rpms # into a RedHat distro and check for # dependencies/conflicts problems # Copyright (C) 2003 - Zouhir Hafidi (Zouhir.Hafidi at agat.univ-lille1.fr) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Usage (some examples): # - get help: # update_release.py -h # - run in test mode and use current dir as a base dir # update_release.py -n # update_release.py -n -v # - run in test mode and use /export/install/redhat/8.0 as a base dir # update_release.py -n -d /export/install/redhat/8.0 # update_release.py -n -v -d /export/install/redhat/8.0 # - use current dir as a base dir. The installation dir and updates dir # are respectively by default updated_release/RedHat/RPMS/ and updates/ # update_release.py # update_release.py -v # - use /export/install/redhat/8.0 as a base dir. The installation dir and # updates dir are respectively by default updated_release/RedHat/RPMS/ and updates/ # update_release.py -d /export/install/redhat/8.0 # update_release.py -v -d /export/install/redhat/8.0 # - use /export/install/redhat/8.0 as a base dir and only check for # dependencies/conflicts under updated_release/RedHat/RPMS # update_release.py -c -d /export/install/redhat/8.0 # update_release.py -c -v -d /export/install/redhat/8.0 # - use /export/install/redhat/8.0 as a base dir and only check for # dependencies/conflicts under some/relative/dir # update_release.py -c -d /export/install/redhat/8.0 -i some/relative/dir # update_release.py -c -v -d /export/install/redhat/8.0 -i some/relative/dir import os import sys import getopt import commands import rpm import string import shutil def usage(): print "Usage: %s [-h] | [[-n] [-v] [-d dir] [-i dir] [-u dir] [-b branch] [-c] [-H]]" % sys.argv[0] print " -h|--help print this message" print " -n|--dryrun dry run mode (show a trace of what would be done)" print " -v|--verbose print more information when running" print " -d dir|--basedir=dir base dir (current dir by default)" print " -i dir|--installdir=dir installation dir (updated_release/RedHat/RPMS/ by default)" print " -u dir|--updatesdir=dir updates dir (updates/ by default)" print " -b branch|--branch=vers RedHat version (i.e. Fedora, RedHat)" print " -c|--checkonly check for dependencies/conflicts in the installation dir" print " -G|--genhdlist regenerate hdlists" print " -H|--nohdlist DON'T regenerate hdlists" # Description: # construct a dependency string (this function comes from anaconda) # Argument(s): # - rpm name # - rpm version # - dependency flags # Return value(s): # - dependency string def formatRequire (name, version, flags): string = name if flags: if flags & (rpm.RPMSENSE_LESS | rpm.RPMSENSE_GREATER | rpm.RPMSENSE_EQUAL): string = string + " " if flags & rpm.RPMSENSE_LESS: string = string + "<" if flags & rpm.RPMSENSE_GREATER: string = string + ">" if flags & rpm.RPMSENSE_EQUAL: string = string + "=" string = string + " %s" % version return string # Description: # construct a dictionary containing the headers of a set of rpms. # If a same rpm exists with different versions, then take into # account only the recent one. Source rpms are not processed. # Argument(s): # - a list of rpms filenames # Return value(s): # - a dictionary of the form: # {(rpm_name, rpm_arch):(rpm_header, rpm_filename), ...} # - a list containing source rpms and old rpms def getRpmsHeaders(rpms): headers = {} bad_rpms = [] # XXX I have no idea what this construct means, but on FC4, it doesn't # work. #ts = rpm.TransactionSet("/", ~(rpm._RPMVSF_NOSIGNATURES)) ts = rpm.TransactionSet("/", (rpm._RPMVSF_NOSIGNATURES)) ts.closeDB() for rpm_file in rpms: fdno = os.open(rpm_file, os.O_RDONLY) header = ts.hdrFromFdno(fdno) os.close(fdno) if string.find(rpm_file, "debuginfo") >= 0: bad_rpms.append(rpm_file) if verbose_flag: print " skip %s which is a debug package" % os.path.basename(rpm_file) elif header[rpm.RPMTAG_SOURCEPACKAGE]: bad_rpms.append(rpm_file) if verbose_flag: print " skip %s which is a source package" % os.path.basename(rpm_file) else: key = (header[rpm.RPMTAG_NAME], header[rpm.RPMTAG_ARCH]) if headers.has_key(key): cmp = rpm.versionCompare(headers[key][0], header) if cmp == 1: bad_rpms.append(rpm_file) if verbose_flag: print " skip %s which is older than %s" % (os.path.basename(rpm_file), os.path.basename(headers[key][1])) elif cmp == 0: if verbose_flag: print "skip %s which is the same as %s" % (os.path.basename(headers[key][1]), os.path.basename(rpm_file)) elif cmp == -1: bad_rpms.append(headers[key][1]) if verbose_flag: print " use %s instead of %s" % (os.path.basename(rpm_file), os.path.basename(headers[key][1])) headers[key] = (header, rpm_file) else: print " rpm.versionCompare() returned error code %d while comparing %s and %s" % (cmp, os.path.basename(headers[key][1]), os.path.basename(rpm_file)) sys.exit(cmp) else: headers[key] = (header, rpm_file) return (headers, bad_rpms) # Description: # delete unwanted entries from a list of rpms filenames # Argument(s): # - list of rpms filenames # - list of entries to delete # Return value(s): # None def skipRpms(rpms_list, skip_list): for item in skip_list: del rpms_list[rpms_list.index(item)] # Description: # check if a given set of rpms put together doesn't have any # dependencies nor conflicts problems # Argument(s): # - a dictionary of the form: # {(rpm_name, rpm_arch):(rpm_header, rpm_filename), ...} # Return value(s): # - a list of errors if any def checkDepsAndConflicts(headers): # XXX I have no idea what this construct means, but on FC4, it doesn't # work. #ts = rpm.TransactionSet("/", (rpm._RPMVSF_NOSIGNATURES)) ts = rpm.TransactionSet("/", ~(rpm._RPMVSF_NOSIGNATURES)) ts.closeDB() for key in headers.keys(): ts.addInstall(headers[key][0], key, 'i') return ts.check() def main(): # Processing command line arguments try: opts, args = getopt.getopt(sys.argv[1:], 'hnvd:i:u:b:cHG', \ ["help", "dryrun", "verbose", "basedir=", "installdir=", \ "updatesdir=", "branch=", "checkonly", "nohdlist", "genhdlist"]) except getopt.GetoptError: usage() sys.exit(1) if args != []: usage() sys.exit(1) global verbose_flag verbose_flag = 0 dryrun_flag = 0 base_dir = os.getcwd() # updated_release_dir = "updated_release/RedHat/RPMS" updated_release_dir = "Fedora/RPMS" updates_dir = "updates" branch = "Fedora" checkonly_flag = 0 nohdlist_flag = 0 genhdlist_flag = 0 for o, a in opts: if o in ("-h", "--help"): usage() sys.exit() if o in ("-n", "--dryrun"): dryrun_flag = 1 if o in ("-v", "--verbose"): verbose_flag = 1 if o in ("-d", "--basedir"): base_dir = a if o in ("-i", "--installdir"): updated_release_dir = a if o in ("-u", "--updatesdir"): updates_dir = a if o in ("-b", "--branch"): branch = a if o in ("-c", "--checkonly"): checkonly_flag = 1 if o in ("-H", "--nohdlist"): nohdlist_flag = 1 if o in ("-G", "--genhdlist"): genhdlist_flag = 1 # Some initializations updated_release_dir = os.path.join(base_dir, updated_release_dir) updates_dir = os.path.join(base_dir, updates_dir) old_rpms_dir = os.path.join(base_dir, "old_rpms") regenerate_hdlist = 0 if dryrun_flag: verbose_flag = 1 # The updated release dir must exist if not os.path.isdir(updated_release_dir): print "can't access %s, nothing to do" % updated_release_dir sys.exit(2) if verbose_flag: print "processing rpms under %s ..." % updated_release_dir # Get all rpm names under updated_release_dir exit_status, output = commands.getstatusoutput("find %s -name '*\.rpm' | grep -v '.src.rpm'" % updated_release_dir) if exit_status != 0: sys.exit(3) updated_release_rpms = output.split() # Get headers of all rpms under updated_release_dir updated_release_headers, bad_rpms = getRpmsHeaders(updated_release_rpms) if bad_rpms != []: print " ERROR: the following rpms are either source rpms or older rpms. Please remove them:" for rpm_file in bad_rpms: print " %s" % rpm_file sys.exit(4) # Before merging, check if the current updated release dir contains # any dependencies or conflicts problems and exit if so errors = checkDepsAndConflicts(updated_release_headers) if errors: print "ERROR: the installation tree already contains conflicts and/or dependencies problems" for ((name, version, release), (reqname, reqversion), \ flags, suggest, sense) in errors: if sense==rpm.RPMDEP_SENSE_REQUIRES: print " depcheck: package %s needs %s" % ( name, formatRequire(reqname, reqversion, flags)) elif sense==rpm.RPMDEP_SENSE_CONFLICTS: print " depcheck: package %s conflicts with %s" % (name, reqname) sys.exit(4) if verbose_flag: print "done" if checkonly_flag: if errors: print "dependencies/conflicts problems exist in %s" % updated_release_dir else: print "no dependencies/conflicts problems in %s" % updated_release_dir sys.exit() # The updates dir must exist if not os.path.isdir(updates_dir): print "can't access %s, nothing to do" % updates_dir sys.exit(2) # If necessary, create the dir to put old rpms into if not os.path.isdir(old_rpms_dir): os.mkdir(old_rpms_dir) if verbose_flag: print "processing rpms under %s ..." % updates_dir # Get all rpm names under updates_dir exit_status, output = commands.getstatusoutput("find %s -follow -name '*\.rpm' | grep -v '.src.rpm'" % updates_dir) if exit_status != 0: sys.exit(3) updates_rpms = output.split() # Get headers of all rpms under updates_dir updates_headers, bad_rpms = getRpmsHeaders(updates_rpms) # Ignore unwanted rpms skipRpms(updates_rpms, bad_rpms) if bad_rpms != []: print " WARNING: the following rpms are either source rpms or older rpms. I will ignore them:" for rpm_file in bad_rpms: print " %s" % rpm_file if verbose_flag: print "done" # Take the entries in the updates_headers dictionary and merge them # with the entries in the updated_release_headers dictionary: # - for every entry in the updates_headers dictionary # - if a corresponding entry with an old version exists # in the updated_release_headers dictionary then drop it # in the old_rpms_headers dictionary and replace it with # the new one # - if there is no corresponding entry with an old version # then simply add the new one in the updated_release_headers # dictionary old_rpms_headers = {} for key in updates_headers.keys(): if updated_release_headers.has_key(key): cmp = rpm.versionCompare(updated_release_headers[key][0], updates_headers[key][0]) if cmp == 1: if verbose_flag: print "skip %s which is older than %s" % (os.path.basename(updates_headers[key][1]), os.path.basename(updated_release_headers[key][1])) elif cmp == 0: if verbose_flag: print "skip %s which is the same as %s" % (os.path.basename(updates_headers[key][1]), os.path.basename(updated_release_headers[key][1])) elif cmp == -1: if verbose_flag: print "exchange %s with %s" % (os.path.basename(updated_release_headers[key][1]), os.path.basename(updates_headers[key][1])) old_rpms_headers[key] = updated_release_headers[key] updated_release_headers[key] = updates_headers[key] else: print " rpm.versionCompare() returned error code %d while comparing %s and %s" % (cmp, os.path.basename(updated_release_headers[key][1]), os.path.basename(updates_headers[key][1])) sys.exit(cmp) else: updated_release_headers[key] = updates_headers[key] if verbose_flag: print "add %s" % os.path.basename(updates_headers[key][1]) # At this point, the merging process is done and the updated_release_headers # dictionary should be up to date. Before applying the changes to the updated # release dir, we must make sure that there's no dependencies nor conflicts # problems. If so, we do a "backtracking" on the headers which make problems # until a state without any dependencies/conflicts is reached. while 1: deps_and_conflicts = 0 errors = checkDepsAndConflicts(updated_release_headers) if errors: # Construct a list containing the names of the rpms that # make problems. If a same rpm exists for different # architectures, then all of them will not be used. # NOTE: we don't know how to discard only problematic rpms # since the architecture is not reported by the check() # method (is there a fix ?) if verbose_flag: print "merging will result in the following conflicts and/or dependencies problems:" name_list = [] for ((name, version, release), (reqname, reqversion), \ flags, suggest, sense) in errors: if sense==rpm.RPMDEP_SENSE_REQUIRES: if verbose_flag: print " depcheck: package %s needs %s" % ( name, formatRequire(reqname, reqversion, flags)) deps_and_conflicts = 1 if not name in name_list: name_list.append(name) elif sense==rpm.RPMDEP_SENSE_CONFLICTS: if verbose_flag: print " depcheck: package %s conflicts with %s" % (name, reqname) deps_and_conflicts = 1 if not name in name_list: name_list.append(name) # Discard entries with dependencies/conflicts problems in # the updated_release_headers dictionary if verbose_flag: print "backtracking:" for (name, arch) in updated_release_headers.keys(): if name in name_list : if os.path.dirname(updated_release_headers[(name, arch)][1]) == updated_release_dir: print "CRITICAL ERROR: attempt to discard %s" % updated_release_headers[(name, arch)][1] sys.exit(4) if verbose_flag: print " discard %s" % updated_release_headers[(name, arch)][1] del updated_release_headers[(name, arch)] # Put back those entries which have been replaced by recent # entries which resulted in dependencies/conflicts problems for (name, arch) in old_rpms_headers.keys(): if name in name_list : if verbose_flag: print " reuse %s" % old_rpms_headers[(name, arch)][1] updated_release_headers[(name, arch)] = old_rpms_headers[(name, arch)] del old_rpms_headers[(name, arch)] # The infinite loop *should* be broken after some iterations if deps_and_conflicts == 0: break # At this point, the updated_release_headers dictionary contains # entries with the rpms filenames that should be in the updated # release dir so that we have no dependencies/conflicts problems. # The old_rpms_headers dictionary contains entries with the rpms # filenames that should be moved from the updated release dir to # the old rpms dir. Just reflect these changes on the directories # themselves for key in updated_release_headers.keys(): if os.path.dirname(updated_release_headers[key][1]) == updated_release_dir: continue regenerate_hdlist = 1 if not dryrun_flag: # os.link(updated_release_headers[key][1], \ shutil.copy2(updated_release_headers[key][1], \ os.path.join(updated_release_dir, os.path.basename(updated_release_headers[key][1]))) else: print "should", if key in old_rpms_headers.keys(): print "update %s with %s" % (os.path.basename(old_rpms_headers[key][1]), \ os.path.basename(updated_release_headers[key][1])) if not dryrun_flag: os.rename(old_rpms_headers[key][1], \ os.path.join(old_rpms_dir, os.path.basename(old_rpms_headers[key][1]))) else: print "add %s" % os.path.basename(updated_release_headers[key][1]) # Regenerate hdlists if necessary if genhdlist_flag or ((not nohdlist_flag) and regenerate_hdlist): if not dryrun_flag: #os.system("/usr/lib/anaconda-runtime/genhdlist --productpath Fedora %s/../.." % updated_release_dir) os.system("PYTHONPATH=/usr/lib/anaconda /usr/lib/anaconda-runtime/genhdlist --withnumbers --productpath %s %s/../.." % (branch, updated_release_dir) ) #os.system("PYTHONPATH=/usr/lib/anaconda /usr/lib/anaconda-runtime/pkgorder %s/../.. i386 Fedora > pkgorder" % updated_release_dir) os.system("PYTHONPATH=/usr/lib/anaconda /usr/lib/anaconda-runtime/pkgorder %s/../.. i386 %s > pkgorder" % (updated_release_dir, branch) ) #os.system("/usr/lib/anaconda-runtime/genhdlist --productpath Fedora --fileorder pkgorder %s/../.." % updated_release_dir) os.system("PYTHONPATH=/usr/lib/anaconda /usr/lib/anaconda-runtime/genhdlist --withnumbers --productpath %s --fileorder pkgorder %s/../.." % (branch, updated_release_dir) ) else: if verbose_flag: print "should", if verbose_flag: print "regenerate hdlist" if __name__ == "__main__": main() From Chris.Pierzycki at ge.com Tue Sep 5 23:05:00 2006 From: Chris.Pierzycki at ge.com (Pierzycki, Chris (GE Healthcare, consultant)) Date: Tue, 5 Sep 2006 19:05:00 -0400 Subject: RPM Updates? In-Reply-To: <20060905220342.GB35614@thomson.net> Message-ID: I found a simpler solution. Drop all the new RPMs into Redhat/RPMS and run the package-re-order. Although your solution seems better since there won't be double versions of some packages. -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Klaus Steden Sent: Tuesday, September 05, 2006 5:04 PM To: Discussion list about Kickstart Subject: Re: RPM Updates? > Hi, > > > > I'm looking for a way to add updated packages into RH AS42? Wasn't there > a way one can just create a directory such as "RHupdates" in > CD/Redhat/RPMS and simply drop the new RPM packages there? > There's some info on this topic in the Fedora Wiki ... personally, I use a python script I found on the web (attached to this email, for conveience's sake) to merge RPMs into my install tree. It takes care of both additions and updates properly. hth, Klaus From ajitabhpandey at gmail.com Wed Sep 6 10:03:17 2006 From: ajitabhpandey at gmail.com (Ajitabh Pandey) Date: Wed, 6 Sep 2006 11:03:17 +0100 Subject: Specifying values dynamically using pre section Message-ID: <20060906110317.5d00cf53@localhost> Hi, I have all the RPMS on an HTTP server and using the following line I start my kickstart. Somce servers are 32-bit and some are 64-bit. url --url http://debian-management-server/rhel/rhel4/amd-64/ At present I have to manually change the above URL in my base kickstart file if I have to install on a 32-bit machine. Like, I use url --url http://debian-management-server/rhel/rhel4/i386/ I am sure there is a dynamic way of specifying such differences in the form of variables in the pre section of the kickstart. If yes, can someone give some examples. This will also help me in setting up the hostname, ip-address and so on dynamically. Regards. -- Ajitabh Pandey http://www.ajitabhpandey.info/ ICQ - 150615062 Registered Linux User - 240748 GnuPG Key ID - C2AED210 Key fingerprint = 8A56 0684 44C2 3373 D441 20AF 7398 4DEB C2AE D210 ----------------------------------- Q: How many psychiatrists does it take to change a light bulb? A: Only one, but it takes a long time, and the light bulb has to really want to change. From phr at doc.ic.ac.uk Wed Sep 6 10:24:42 2006 From: phr at doc.ic.ac.uk (Philip Rowlands) Date: Wed, 6 Sep 2006 11:24:42 +0100 (BST) Subject: Specifying values dynamically using pre section In-Reply-To: <20060906110317.5d00cf53@localhost> References: <20060906110317.5d00cf53@localhost> Message-ID: On Wed, 6 Sep 2006, Ajitabh Pandey wrote: > I have all the RPMS on an HTTP server and using the following line I > start my kickstart. Somce servers are 32-bit and some are 64-bit. > > url --url http://debian-management-server/rhel/rhel4/amd-64/ > > At present I have to manually change the above URL in my base > kickstart file if I have to install on a 32-bit machine. Like, I use > > url --url http://debian-management-server/rhel/rhel4/i386/ > > I am sure there is a dynamic way of specifying such differences in the > form of variables in the pre section of the kickstart. If yes, can > someone give some examples. This will also help me in setting up the > hostname, ip-address and so on dynamically. Where does your kickstart file live? You could use %pre, but another approach would be to generate the file dynamically with a CGI script, served via HTTP. I don't have any example for this, sorry. Cheers, Phil From jkeating at j2solutions.net Wed Sep 6 12:18:02 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 6 Sep 2006 08:18:02 -0400 Subject: Specifying values dynamically using pre section In-Reply-To: <20060906110317.5d00cf53@localhost> References: <20060906110317.5d00cf53@localhost> Message-ID: <200609060818.02872.jkeating@j2solutions.net> On Wednesday 06 September 2006 06:03, Ajitabh Pandey wrote: > I am sure there is a dynamic way of specifying such differences in the > form of variables in the pre section of the kickstart. If yes, can > someone give some examples. This will also help me in setting up the > hostname, ip-address and so on dynamically. We specificed the method at the bootloader time, not in the kickstart file. From the PXE menu an installer could choose 'rhel464' which would pass the correct kernel and a method=nfs:server:/path/to/64bit/tree. This way the actual kickstart file can be arch agnostic and used for both arches. The way I've found to pass data from %pre to the rest of the kickstart is to process things such as kernel arguments (/proc/cmdline) and create kickstart file stubs in /tmp/. Then in the kickstart file you can do %include /tmp/stub to get your dynamic content. Using this usually left us with pretty sparse base kickstart files and all the magic happening in %pre to write out stubs to be included. Things were very arch agnostic and even install type (full, special selection, partitioning, etc..) agnostic. We could use the same base kickstart file for a plethora of different installs due to the magic that would happen in %pre processing. The key was specifying method at boot time (method can't be %included) and smart scripting in %pre. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From tmafs at us.ibm.com Wed Sep 6 13:43:33 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 6 Sep 2006 08:43:33 -0500 Subject: Specifying values dynamically using pre section Message-ID: Jesse Keating, You sound like you know linux RedHat boot process very well. I am installing linux RedHat and SuSE on IBM power 5 logical partitions. Both the netboot.img and the kickstart file want a nic device name ex: ksdevice = eth0 and I would like to be able to use the mac address to designate the nic card to use instead of the devcie name. Its very hard from SMS, on a first time install of a large lpar with 100 nic cards of all different types, to figure out in what order anaconda or the netboot.img, is going to configure those 100 cards. SMS (lowlevel system management service), a group of text menus on power 5, is used to pick the boot nic card and enter the ip address of victim and server, and set the boot list to boot from that nic card. Next, sms does a bootp request to the server which has been set up in /etc/bootptab to respond to a bootp request for that victim. NOTE: SMS only supports bootp no pxelinux or dhcp functions. The server also has a kickstart file modified by my code just for this victim. SMS is also used to set kernel command line parms that are passed to the netboot.img. Currenly my expect script, that fills in the SMS menus, pulls out the list of nic cards and mac addresses as they appear in SMS menus, This code attempts ping on all the listed card until it finds one that pings the server. This nic card is used. This list with the last one in the list being the one that is used is passed to a perl script on the server that modifies the kickstart file for this victim, and sets up the /etc/bootptab and exports the install dir for an nfs install. This script also builds the netboot.img command line required to configure the nic card to pull down the kickstart file. The expect script then sets the sms boot-file variable so this value is passed to the netboot.img when it loads. boot command line parms look like this: Set boot-file to boot_parms = ip=9.3.22.102 netmask=255.255.255.128 gateway=9.3. 22.1 nameserver=9.0.7.1 ksdevice=eth0 ks=nfs:9.3.80.16:/lpars/9.3.22.102.cfg My question is this. 1. Is there support in netboot image for a command line parm something like this: ksmacaddr = 00:00:54:4a:34:9e instead of ksdevice = eth20 Note: I could use the %pre and ifconfg -a to find out what which nic card to put in the kickstart file, but that still does not help me. The netboot image runs before kicstart %pre would be involked and I have to know the right nic name to pass to netboot.img. thanks Wednesday, September 06, 2006 7:18 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 06:03, Ajitabh Pandey wrote: > I am sure there is a dynamic way of specifying such differences in the > form of variables in the pre section of the kickstart. If yes, can > someone give some examples. This will also help me in setting up the > hostname, ip-address and so on dynamically. We specificed the method at the bootloader time, not in the kickstart file. >From the PXE menu an installer could choose 'rhel464' which would pass the correct kernel and a method=nfs:server:/path/to/64bit/tree. This way the actual kickstart file can be arch agnostic and used for both arches. The way I've found to pass data from %pre to the rest of the kickstart is to process things such as kernel arguments (/proc/cmdline) and create kickstart file stubs in /tmp/. Then in the kickstart file you can do %include /tmp/stub to get your dynamic content. Using this usually left us with pretty sparse base kickstart files and all the magic happening in %pre to write out stubs to be included. Things were very arch agnostic and even install type (full, special selection, partitioning, etc..) agnostic. We could use the same base kickstart file for a plethora of different installs due to the magic that would happen in %pre processing. The key was specifying method at boot time (method can't be %included) and smart scripting in %pre. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub) (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From mdehaan at redhat.com Wed Sep 6 13:55:35 2006 From: mdehaan at redhat.com (Michael DeHaan) Date: Wed, 06 Sep 2006 09:55:35 -0400 Subject: Specifying values dynamically using pre section In-Reply-To: References: <20060906110317.5d00cf53@localhost> Message-ID: <44FED357.3060709@redhat.com> Philip Rowlands wrote: > On Wed, 6 Sep 2006, Ajitabh Pandey wrote: > >> I have all the RPMS on an HTTP server and using the following line I >> start my kickstart. Somce servers are 32-bit and some are 64-bit. >> >> url --url http://debian-management-server/rhel/rhel4/amd-64/ >> >> At present I have to manually change the above URL in my base >> kickstart file if I have to install on a 32-bit machine. Like, I use >> >> url --url http://debian-management-server/rhel/rhel4/i386/ >> >> I am sure there is a dynamic way of specifying such differences in >> the form of variables in the pre section of the kickstart. If yes, >> can someone give some examples. This will also help me in setting up >> the hostname, ip-address and so on dynamically. > > Where does your kickstart file live? You could use %pre, but another > approach would be to generate the file dynamically with a CGI script, > served via HTTP. > > I don't have any example for this, sorry. > I do :) http://et.redhat.com/page/Cobbler_&_Koan_Provisioning_Tools Cobbler is a simple tool that sets up a provisioning server. It supports kickstart templating through the "Cheetah" templating language, so all sorts of magic can be done in the kickstarts. Cobbler has been approved for FC-Extras, just not built yet, so you'll have to grab it from the URL above. As a bonus, it can re-provisioning existing systems (non-bare metal) and can deal with Xen as well. Kickstart templating works for all three modes -- PXE, re-provisioning (auto-kickstart), and Xen. Let me know if you have questions. > > Cheers, > Phil > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From jkeating at j2solutions.net Wed Sep 6 15:03:52 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 6 Sep 2006 11:03:52 -0400 Subject: Specifying values dynamically using pre section In-Reply-To: References: Message-ID: <200609061103.52152.jkeating@j2solutions.net> On Wednesday 06 September 2006 09:43, Tom Miller wrote: > My question is this. > > 1. Is there support in netboot image for a command line parm something like > this: > ksmacaddr = 00:00:54:4a:34:9e ?instead of ksdevice = eth20 > > Note: I could use the %pre and ifconfg -a to find out what which nic card > to put in the kickstart file, but that still does not help me. ?The netboot > image runs before kicstart %pre would be involked and I have to know the > right nic name to pass to netboot.img. I don't know if there is this specifically. I do know that you can do ksdevice=link and that will use whichever nic actually has link to it. Not sure if this helps. I'll poke at some anaconda folks and see if there is a way to specify the macaddr to use for the ksdevice. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From jkeating at j2solutions.net Wed Sep 6 15:06:27 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 6 Sep 2006 11:06:27 -0400 Subject: Specifying values dynamically using pre section In-Reply-To: <200609061103.52152.jkeating@j2solutions.net> References: <200609061103.52152.jkeating@j2solutions.net> Message-ID: <200609061106.27213.jkeating@j2solutions.net> On Wednesday 06 September 2006 11:03, Jesse Keating wrote: > > 1. Is there support in netboot image for a command line parm something > > like this: > > ksmacaddr = 00:00:54:4a:34:9e ?instead of ksdevice = eth20 > > > > Note: I could use the %pre and ifconfg -a to find out what which nic card > > to put in the kickstart file, but that still does not help me. ?The > > netboot image runs before kicstart %pre would be involked and I have to > > know the right nic name to pass to netboot.img. > > I don't know if there is this specifically. ?I do know that you can do > ksdevice=link and that will use whichever nic actually has link to it. ?Not > sure if this helps. ?I'll poke at some anaconda folks and see if there is a > way to specify the macaddr to use for the ksdevice. And I have an answer. They claim that ksdevice should take a macaddr argument. Seems to have been from one of the updates to RHEL3, RHEL3U4 or so got this support. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From tmafs at us.ibm.com Wed Sep 6 15:07:49 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 6 Sep 2006 10:07:49 -0500 Subject: Specifying values dynamically using pre section Message-ID: Jesse, If ksdevice=link will work thats all I need. Do you know if I can use device=link in the kickstart file too: network --device link --bootproto static --ip 9.3.22.109 --netmask 255.255.255.1 28 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname sift22109.austin.ibm.com And do you know anything about the SuSE distribution. I need to pass the device to its bootimage too.. The SuSE autoyast.xml file does take the mac address but the boot image does not. I can try netdevice=link as command line parm to its boot image. Thanks this just may do it. Wednesday, September 06, 2006 9:57 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 09:43, Tom Miller wrote: > My question is this. > > 1. Is there support in netboot image for a command line parm something like > this: > ksmacaddr = 00:00:54:4a:34:9e ?instead of ksdevice = eth20 > > Note: I could use the %pre and ifconfg -a to find out what which nic card > to put in the kickstart file, but that still does not help me. ?The netboot > image runs before kicstart %pre would be involked and I have to know the > right nic name to pass to netboot.img. I don't know if there is this specifically. I do know that you can do ksdevice=link and that will use whichever nic actually has link to it. Not sure if this helps. I'll poke at some anaconda folks and see if there is a way to specify the macaddr to use for the ksdevice. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From tmafs at us.ibm.com Wed Sep 6 15:57:01 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 6 Sep 2006 10:57:01 -0500 Subject: Specifying values dynamically using pre section Message-ID: Jesse, The ksdevice=link did work with this RHEL5 beta1 version of netboot.img! It was able to configure the right nic card and nfs mount the server to fetch the kickstart file. But then with this in the kickstart file : network --device link --bootproto static --ip 9.3.22.109 --netmask 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname sift22109.austin.ibm.com anacondo could not configure the right nic card: When it tried the nfs mount to the install image dir it failed: |That directory could not be ? ? mounted from the server. | I guess I still need to be able to put mac address in kickstart file. Wednesday, September 06, 2006 9:57 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 09:43, Tom Miller wrote: > My question is this. > > 1. Is there support in netboot image for a command line parm something like > this: > ksmacaddr = 00:00:54:4a:34:9e ?instead of ksdevice = eth20 > > Note: I could use the %pre and ifconfg -a to find out what which nic card > to put in the kickstart file, but that still does not help me. ?The netboot > image runs before kicstart %pre would be involked and I have to know the > right nic name to pass to netboot.img. I don't know if there is this specifically. I do know that you can do ksdevice=link and that will use whichever nic actually has link to it. Not sure if this helps. I'll poke at some anaconda folks and see if there is a way to specify the macaddr to use for the ksdevice. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From jkeating at j2solutions.net Wed Sep 6 16:17:10 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 6 Sep 2006 12:17:10 -0400 Subject: Specifying values dynamically using pre section In-Reply-To: References: Message-ID: <200609061217.12614.jkeating@j2solutions.net> On Wednesday 06 September 2006 11:57, Tom Miller wrote: > Jesse, > The ksdevice=link did ?work with this RHEL5 beta1 version of netboot.img! > It was able to > configure the right nic card and nfs mount the server to fetch the > kickstart file. ?But then > with this in the kickstart file : > network --device link --bootproto static --ip 9.3.22.109 --netmask > 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname > sift22109.austin.ibm.com > > anacondo could not configure the right nic card: ?When it tried the nfs > mount to the install > image dir it failed: Hrm, What if you don't specify the device? -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From tmafs at us.ibm.com Wed Sep 6 16:53:22 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 6 Sep 2006 11:53:22 -0500 Subject: Specifying values dynamically using pre section Message-ID: Jesse, That worked, your a life saver. Thanks a million. so ksdevice = link in boot parms and no device in kickstart file. Now If I can get SuSE working? Wednesday, September 06, 2006 11:11 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 11:57, Tom Miller wrote: > Jesse, > The ksdevice=link did ?work with this RHEL5 beta1 version of netboot.img! > It was able to > configure the right nic card and nfs mount the server to fetch the > kickstart file. ?But then > with this in the kickstart file : > network --device link --bootproto static --ip 9.3.22.109 --netmask > 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname > sift22109.austin.ibm.com > > anacondo could not configure the right nic card: ?When it tried the nfs > mount to the install > image dir it failed: Hrm, What if you don't specify the device? -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Wed Sep 6 16:55:22 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 06 Sep 2006 09:55:22 -0700 Subject: Specifying values dynamically using pre section In-Reply-To: Message-ID: ksdevice=mac_addr was added in RHEL3U7 and RHEL4U3 -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Tom Miller Sent: Wednesday, September 06, 2006 9:53 AM To: Discussion list about Kickstart Subject: Re: Specifying values dynamically using pre section Jesse, That worked, your a life saver. Thanks a million. so ksdevice = link in boot parms and no device in kickstart file. Now If I can get SuSE working? Wednesday, September 06, 2006 11:11 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 11:57, Tom Miller wrote: > Jesse, > The ksdevice=link did ?work with this RHEL5 beta1 version of netboot.img! > It was able to > configure the right nic card and nfs mount the server to fetch the > kickstart file. ?But then with this in the kickstart file : > network --device link --bootproto static --ip 9.3.22.109 --netmask > 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname > sift22109.austin.ibm.com > > anacondo could not configure the right nic card: ?When it tried the > nfs mount to the install image dir it failed: Hrm, What if you don't specify the device? -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From tmafs at us.ibm.com Wed Sep 6 17:36:10 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 6 Sep 2006 12:36:10 -0500 Subject: Specifying values dynamically using pre section Message-ID: Shabazian, is the format ksdevice=00:45:8a:02:0e:12 or ksdevice=00458a020e12 without the ":", thanks Wednesday, September 06, 2006 11:56 AM To: Discussion list about Kickstart cc: From: "Shabazian, Chip" Subject: RE: Specifying values dynamically using pre section ksdevice=mac_addr was added in RHEL3U7 and RHEL4U3 -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Tom Miller Sent: Wednesday, September 06, 2006 9:53 AM To: Discussion list about Kickstart Subject: Re: Specifying values dynamically using pre section Jesse, That worked, your a life saver. Thanks a million. so ksdevice = link in boot parms and no device in kickstart file. Now If I can get SuSE working? Wednesday, September 06, 2006 11:11 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 11:57, Tom Miller wrote: > Jesse, > The ksdevice=link did ?work with this RHEL5 beta1 version of netboot.img! > It was able to > configure the right nic card and nfs mount the server to fetch the > kickstart file. ?But then with this in the kickstart file : > network --device link --bootproto static --ip 9.3.22.109 --netmask > 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname > sift22109.austin.ibm.com > > anacondo could not configure the right nic card: ?When it tried the > nfs mount to the install image dir it failed: Hrm, What if you don't specify the device? -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Wed Sep 6 17:39:35 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 06 Sep 2006 10:39:35 -0700 Subject: Specifying values dynamically using pre section In-Reply-To: Message-ID: With : -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Tom Miller Sent: Wednesday, September 06, 2006 10:36 AM To: Discussion list about Kickstart Subject: RE: Specifying values dynamically using pre section Shabazian, is the format ksdevice=00:45:8a:02:0e:12 or ksdevice=00458a020e12 without the ":", thanks Wednesday, September 06, 2006 11:56 AM To: Discussion list about Kickstart cc: From: "Shabazian, Chip" Subject: RE: Specifying values dynamically using pre section ksdevice=mac_addr was added in RHEL3U7 and RHEL4U3 -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Tom Miller Sent: Wednesday, September 06, 2006 9:53 AM To: Discussion list about Kickstart Subject: Re: Specifying values dynamically using pre section Jesse, That worked, your a life saver. Thanks a million. so ksdevice = link in boot parms and no device in kickstart file. Now If I can get SuSE working? Wednesday, September 06, 2006 11:11 AM To: kickstart-list at redhat.com cc: From: Jesse Keating Subject: Re: Specifying values dynamically using pre section On Wednesday 06 September 2006 11:57, Tom Miller wrote: > Jesse, > The ksdevice=link did ?work with this RHEL5 beta1 version of netboot.img! > It was able to > configure the right nic card and nfs mount the server to fetch the > kickstart file. ?But then with this in the kickstart file : > network --device link --bootproto static --ip 9.3.22.109 --netmask > 255.255.255.128 --gateway 9.3.22.1 --nameserver 9.0.7.1 --hostname > sift22109.austin.ibm.com > > anacondo could not configure the right nic card: ?When it tried the > nfs mount to the install image dir it failed: Hrm, What if you don't specify the device? -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub (See attached file: C.DTF) _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From jerlyon at gmail.com Wed Sep 6 20:47:36 2006 From: jerlyon at gmail.com (Jeremy Lyon) Date: Wed, 6 Sep 2006 14:47:36 -0600 Subject: selinux option Message-ID: <779919740609061347v5e40f957haa8cb78bcaae9570@mail.gmail.com> I've noticed on my kickstarts that selinux --permissive or selinux --disabled do not work as documented. Has anyone else seen this behavior? I'm using RHEL 4. Thanks! Jeremy, RHCE -------------- next part -------------- An HTML attachment was scrubbed... URL: From smah at vmware.com Wed Sep 6 21:54:50 2006 From: smah at vmware.com (Stephen Mah) Date: Wed, 06 Sep 2006 14:54:50 -0700 Subject: selinux option In-Reply-To: <779919740609061347v5e40f957haa8cb78bcaae9570@mail.gmail.com> References: <779919740609061347v5e40f957haa8cb78bcaae9570@mail.gmail.com> Message-ID: <44FF43AA.2070403@vmware.com> I just used it today on RHEL4 32bit. Seems to work. I put it after the firewall directive: firewall --disabled selinux --disabled I also saw an email thread, about appending it at the grub parameter: selinux=0 steve Jeremy Lyon wrote: > I've noticed on my kickstarts that selinux --permissive or selinux > --disabled do not work > as documented. Has anyone else seen this behavior? I'm using RHEL 4. > > Thanks! > Jeremy, RHCE > ------------------------------------------------------------------------ > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From harmattan at gmail.com Tue Sep 12 12:58:07 2006 From: harmattan at gmail.com (multiscan) Date: Tue, 12 Sep 2006 14:58:07 +0200 Subject: up to date fedora core distribution Message-ID: <1158065887.8776.18.camel@algopc1.epfl.ch> Hi all, even a quite fresh fedora distribution ends up having a lot of updates. I wander if it is possible to replace the original rpms in the distribution media (on an nfs server) with their updated versions. When I've tried it did not work. Probably due to problems with the repodata or similar. At present, in order to avoid installing a lot of packages that are going to be replaced imediatelly after, I just install the basics within kickstart %packages section, and then install everything else with yum. It would be nicer to be able to do everthing at the same time. What are the exact steps needed in order to keep my version of the core distro up-to-date ? Thank you very much in advance for any suggestion. giovanni p.s. I've been browsing the mailing list archives looking for a similar question but I could not find one. It would also be very nice if there were a sort of search engine for the archives. From phr at doc.ic.ac.uk Tue Sep 12 14:06:58 2006 From: phr at doc.ic.ac.uk (Philip Rowlands) Date: Tue, 12 Sep 2006 15:06:58 +0100 (BST) Subject: up to date fedora core distribution In-Reply-To: <1158065887.8776.18.camel@algopc1.epfl.ch> References: <1158065887.8776.18.camel@algopc1.epfl.ch> Message-ID: On Tue, 12 Sep 2006, multiscan wrote: > even a quite fresh fedora distribution ends up having a lot of > updates. I wander if it is possible to replace the original rpms in > the distribution media (on an nfs server) with their updated versions. > When I've tried it did not work. Probably due to problems with the > repodata or similar. Yes, you need to recreate the package metadata which anaconda uses. [snip] > I've been browsing the mailing list archives looking for a similar > question but I could not find one. It would also be very nice if there > were a sort of search engine for the archives. There is (sort of): http://www.google.com/search?q=genhdlist+site%3Aredhat.com+inurl%3Akickstart-list Cheers, Phil From jkeating at j2solutions.net Tue Sep 12 14:41:59 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Tue, 12 Sep 2006 10:41:59 -0400 Subject: up to date fedora core distribution In-Reply-To: <1158065887.8776.18.camel@algopc1.epfl.ch> References: <1158065887.8776.18.camel@algopc1.epfl.ch> Message-ID: <200609121042.04649.jkeating@j2solutions.net> On Tuesday 12 September 2006 08:58, multiscan wrote: > It would be nicer to be able to do everthing at the same time. > What are the exact steps needed in order to keep my version of the core > distro up-to-date ? > Thank you very much in advance for any suggestion. With FC6 you can add repositories at install time, such as the updates repository, or your local mirror of it. Anaconda will just install the newest versions of the packages you've selected from whatever repo has the newest. We aren't enabling Updates as a pre-set checkbox as it needs more testing, however it should be fairly easy to add the repo in your kickstart. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From robert at headsprout.com Wed Sep 13 15:40:21 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 11:40:21 -0400 Subject: %include syntax and usage Message-ID: Hello all, I am hoping someone can help me with this. I am trying to separate my %packages list into a different file using the %include directive. I am finding that no matter what I try, the install aborts due to not being able to see the packages file. Hhere si the set up: I build the linux computers via http, typing this at the boot prompt: linux ks=http://10.10.10.52/ks.cfg This points the install to the kickstart config which is located here on my webserver: /var/build/linux/ks.cfg Also in that directory is 'packages' /var/build/linux/packages In the kickstart file I have tried all of these and none have worked: %include packages %include ./packages %include /var/build/linux/packages %include http://10.10.10.52/packages Could someone give me some pointers on the syntax? Thanks! Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com From mjburling at gmail.com Wed Sep 13 16:01:31 2006 From: mjburling at gmail.com (Matthew Burling) Date: Wed, 13 Sep 2006 17:01:31 +0100 Subject: %include syntax and usage In-Reply-To: References: Message-ID: Robert, Have you thought about php? linux ks=http://10.10.10.52/ks.php In the ks.php you could have: %packages M On 13/09/06, Robert Denton wrote: > > Hello all, > > I am hoping someone can help me with this. I am trying to separate > my %packages list into a different file using the %include > directive. I am finding that no matter what I try, the install > aborts due to not being able to see the packages file. Hhere si the > set up: > > I build the linux computers via http, typing this at the boot prompt: > > linux ks=http://10.10.10.52/ks.cfg > > This points the install to the kickstart config which is located here > on my webserver: > > /var/build/linux/ks.cfg > > Also in that directory is 'packages' > > /var/build/linux/packages > > In the kickstart file I have tried all of these and none have worked: > > %include packages > %include ./packages > %include /var/build/linux/packages > %include http://10.10.10.52/packages > > Could someone give me some pointers on the syntax? Thanks! > > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Chip.Shabazian at bankofamerica.com Wed Sep 13 16:02:30 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 13 Sep 2006 09:02:30 -0700 Subject: %include syntax and usage In-Reply-To: Message-ID: The way I do this is to create the file I want, along with the decisioning logic in %pre. Example if xxxxx ; then cat << EOF >> /tmp/pkg2include pkg1 pkg2 etc EOF Then in the %packages, I use %include /tmp/pkg2include I think I ran into problems when the file doesn't exist, so I added: touch /tmp/pkg2include at the end of the %pre so the file was there, even if it was empty. Chip -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Wednesday, September 13, 2006 8:40 AM To: kickstart-list at redhat.com Subject: %include syntax and usage Hello all, I am hoping someone can help me with this. I am trying to separate my %packages list into a different file using the %include directive. I am finding that no matter what I try, the install aborts due to not being able to see the packages file. Hhere si the set up: I build the linux computers via http, typing this at the boot prompt: linux ks=http://10.10.10.52/ks.cfg This points the install to the kickstart config which is located here on my webserver: /var/build/linux/ks.cfg Also in that directory is 'packages' /var/build/linux/packages In the kickstart file I have tried all of these and none have worked: %include packages %include ./packages %include /var/build/linux/packages %include http://10.10.10.52/packages Could someone give me some pointers on the syntax? Thanks! Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Wed Sep 13 16:03:58 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 12:03:58 -0400 Subject: %include syntax and usage In-Reply-To: References: Message-ID: Thanks for the suggestion. I will keep it in mind but php is not something I typically install on the linux machines I build. I am hoping to discover the secret of kickstart include syntax somehow. Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 12:01 PM, Matthew Burling wrote: > Robert, > > Have you thought about php? > > linux ks=http://10.10.10.52/ks.php > > In the ks.php you could have: > > %packages > > > M > > On 13/09/06, Robert Denton wrote: Hello all, > > I am hoping someone can help me with this. I am trying to separate > my %packages list into a different file using the %include > directive. I am finding that no matter what I try, the install > aborts due to not being able to see the packages file. Hhere si the > set up: > > I build the linux computers via http, typing this at the boot prompt: > > linux ks=http://10.10.10.52/ks.cfg > > This points the install to the kickstart config which is located here > on my webserver: > > /var/build/linux/ks.cfg > > Also in that directory is 'packages' > > /var/build/linux/packages > > In the kickstart file I have tried all of these and none have worked: > > %include packages > %include ./packages > %include /var/build/linux/packages > %include http://10.10.10.52/packages > > Could someone give me some pointers on the syntax? Thanks! > > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Wed Sep 13 16:07:07 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 12:07:07 -0400 Subject: %include syntax and usage In-Reply-To: References: Message-ID: <0DD42239-602E-4D4C-B4B6-95671571AF72@headsprout.com> Hm.. But if you build the list dynamically in the %pre section, isn't this still in the kickstart config file? I am trying to separate out the packages because I have a long list of packages and package exclusions. Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: > > The way I do this is to create the file I want, along with the > decisioning logic in %pre. > > Example > > if xxxxx ; then > cat << EOF >> /tmp/pkg2include > pkg1 > pkg2 > etc > EOF > > Then in the %packages, I use > %include /tmp/pkg2include > > I think I ran into problems when the file doesn't exist, so I added: > touch /tmp/pkg2include > at the end of the %pre so the file was there, even if it was empty. > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 8:40 AM > To: kickstart-list at redhat.com > Subject: %include syntax and usage > > Hello all, > > I am hoping someone can help me with this. I am trying to separate my > %packages list into a different file using the %include directive. > I am > finding that no matter what I try, the install aborts due to not being > able to see the packages file. Hhere si the set up: > > I build the linux computers via http, typing this at the boot prompt: > > linux ks=http://10.10.10.52/ks.cfg > > This points the install to the kickstart config which is located > here on > my webserver: > > /var/build/linux/ks.cfg > > Also in that directory is 'packages' > > /var/build/linux/packages > > In the kickstart file I have tried all of these and none have worked: > > %include packages > %include ./packages > %include /var/build/linux/packages > %include http://10.10.10.52/packages > > Could someone give me some pointers on the syntax? Thanks! > > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Wed Sep 13 16:35:28 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 13 Sep 2006 09:35:28 -0700 Subject: %include syntax and usage In-Reply-To: <0DD42239-602E-4D4C-B4B6-95671571AF72@headsprout.com> Message-ID: Sorry, you didn't explain WHY you were doing it, you just asked for a solution. My kickstart file also has a very large exclusion list, that is used for all kickstarts. I then include some packages back into the build for certain builds based on the decisioning logic that is in the %pre. Yes, this is all stored in the kickstart file, but it allows me to use one kickstart file to build thousands of distributed servers a year with differing requirements. At the end of the day, if the kickstart file is huge, it's still very small compared to the number of packages you will have to transfer across the wire, and it should have no impact on how long it takes to build a box. Chip -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Wednesday, September 13, 2006 9:07 AM To: Discussion list about Kickstart Subject: Re: %include syntax and usage Hm.. But if you build the list dynamically in the %pre section, isn't this still in the kickstart config file? I am trying to separate out the packages because I have a long list of packages and package exclusions. Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: > > The way I do this is to create the file I want, along with the > decisioning logic in %pre. > > Example > > if xxxxx ; then > cat << EOF >> /tmp/pkg2include > pkg1 > pkg2 > etc > EOF > > Then in the %packages, I use > %include /tmp/pkg2include > > I think I ran into problems when the file doesn't exist, so I added: > touch /tmp/pkg2include > at the end of the %pre so the file was there, even if it was empty. > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 8:40 AM > To: kickstart-list at redhat.com > Subject: %include syntax and usage > > Hello all, > > I am hoping someone can help me with this. I am trying to separate my > %packages list into a different file using the %include directive. > I am > finding that no matter what I try, the install aborts due to not being > able to see the packages file. Hhere si the set up: > > I build the linux computers via http, typing this at the boot prompt: > > linux ks=http://10.10.10.52/ks.cfg > > This points the install to the kickstart config which is located here > on my webserver: > > /var/build/linux/ks.cfg > > Also in that directory is 'packages' > > /var/build/linux/packages > > In the kickstart file I have tried all of these and none have worked: > > %include packages > %include ./packages > %include /var/build/linux/packages > %include http://10.10.10.52/packages > > Could someone give me some pointers on the syntax? Thanks! > > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Wed Sep 13 16:41:48 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 12:41:48 -0400 Subject: %include syntax and usage In-Reply-To: References: Message-ID: <60E74826-4DFE-4832-8383-AD32EBA6C1A9@headsprout.com> Hi Chip, thanks for the response!! I didn't mean to disparage your comment at all. I appreciate any and all suggestions. I understand that the size of even the largest kickstart config file is trivial compared to the overall build but I was hoping to keep it short and neat anyway. Are you aware of any thorough documentation discussing the include directive? I cannot even find that, other than a few missives here and there that state the syntax is: %include /path/to/file the /path/to/file is apparently a little trickier than it looks. Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 12:35 PM, Shabazian, Chip wrote: > Sorry, you didn't explain WHY you were doing it, you just asked for a > solution. > > My kickstart file also has a very large exclusion list, that is > used for > all kickstarts. I then include some packages back into the build for > certain builds based on the decisioning logic that is in the %pre. > > Yes, this is all stored in the kickstart file, but it allows me to use > one kickstart file to build thousands of distributed servers a year > with > differing requirements. At the end of the day, if the kickstart > file is > huge, it's still very small compared to the number of packages you > will > have to transfer across the wire, and it should have no impact on how > long it takes to build a box. > > Chip > > > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 9:07 AM > To: Discussion list about Kickstart > Subject: Re: %include syntax and usage > > Hm.. But if you build the list dynamically in the %pre section, isn't > this still in the kickstart config file? I am trying to separate out > the packages because I have a long list of packages and package > exclusions. > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: > >> >> The way I do this is to create the file I want, along with the >> decisioning logic in %pre. >> >> Example >> >> if xxxxx ; then >> cat << EOF >> /tmp/pkg2include >> pkg1 >> pkg2 >> etc >> EOF >> >> Then in the %packages, I use >> %include /tmp/pkg2include >> >> I think I ran into problems when the file doesn't exist, so I added: >> touch /tmp/pkg2include >> at the end of the %pre so the file was there, even if it was empty. >> >> Chip >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Wednesday, September 13, 2006 8:40 AM >> To: kickstart-list at redhat.com >> Subject: %include syntax and usage >> >> Hello all, >> >> I am hoping someone can help me with this. I am trying to >> separate my >> %packages list into a different file using the %include directive. >> I am >> finding that no matter what I try, the install aborts due to not >> being > >> able to see the packages file. Hhere si the set up: >> >> I build the linux computers via http, typing this at the boot prompt: >> >> linux ks=http://10.10.10.52/ks.cfg >> >> This points the install to the kickstart config which is located here >> on my webserver: >> >> /var/build/linux/ks.cfg >> >> Also in that directory is 'packages' >> >> /var/build/linux/packages >> >> In the kickstart file I have tried all of these and none have worked: >> >> %include packages >> %include ./packages >> %include /var/build/linux/packages >> %include http://10.10.10.52/packages >> >> Could someone give me some pointers on the syntax? Thanks! >> >> >> Robert Denton >> Network Administrator >> Headsprout >> 800.401.5062 x1305 >> www.headsprout.com >> >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Wed Sep 13 17:00:34 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 13 Sep 2006 10:00:34 -0700 Subject: %include syntax and usage In-Reply-To: <60E74826-4DFE-4832-8383-AD32EBA6C1A9@headsprout.com> Message-ID: Anaconda and kickstart aren't exactly known for their vast amounts of documentation. I had to figure out 80% of what we do in our builds via trial and error. What I found to be the most useful was to put sleep 999999999 statements in the %pre and %post everywhere I wanted to try something different, then go to the Alt-F2 terminal bash prompt and poke around and try stuff manually. Once I got it to work manually, I would then incorporate it into the mainstream kickstart build that we use globally. All that said, I realize most people don't get to spend weeks fine tuning the kickstart process for their environment. If the usefulness and numbers of servers you need to build justify it, then jump in and hack away. If on the other hand, you are building a few dozen servers or less, it probably won't be worth it to go through the extensive process I did. This list is a great place to get help and ideas. Very rarely do I see a problem that someone on the list hasn't resolved, or can't point you to a solution. It might not be the exact solution you want (such as the one I gave you), but you can usually get something done that will accomplish what you need. The other solution that I am aware of, that could help you is server side generated kickstart files. This is going to be much more complex, and requires a cgi on the server to accept the request and generate the kickstart file, either on the fly or after a subsequent reboot, but this is another solution I have seen deployed successfully. Chip -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Wednesday, September 13, 2006 9:42 AM To: Discussion list about Kickstart Subject: Re: %include syntax and usage Hi Chip, thanks for the response!! I didn't mean to disparage your comment at all. I appreciate any and all suggestions. I understand that the size of even the largest kickstart config file is trivial compared to the overall build but I was hoping to keep it short and neat anyway. Are you aware of any thorough documentation discussing the include directive? I cannot even find that, other than a few missives here and there that state the syntax is: %include /path/to/file the /path/to/file is apparently a little trickier than it looks. Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 12:35 PM, Shabazian, Chip wrote: > Sorry, you didn't explain WHY you were doing it, you just asked for a > solution. > > My kickstart file also has a very large exclusion list, that is used > for all kickstarts. I then include some packages back into the build > for certain builds based on the decisioning logic that is in the %pre. > > Yes, this is all stored in the kickstart file, but it allows me to use > one kickstart file to build thousands of distributed servers a year > with differing requirements. At the end of the day, if the kickstart > file is huge, it's still very small compared to the number of packages > you will have to transfer across the wire, and it should have no > impact on how long it takes to build a box. > > Chip > > > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 9:07 AM > To: Discussion list about Kickstart > Subject: Re: %include syntax and usage > > Hm.. But if you build the list dynamically in the %pre section, isn't > this still in the kickstart config file? I am trying to separate out > the packages because I have a long list of packages and package > exclusions. > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: > >> >> The way I do this is to create the file I want, along with the >> decisioning logic in %pre. >> >> Example >> >> if xxxxx ; then >> cat << EOF >> /tmp/pkg2include >> pkg1 >> pkg2 >> etc >> EOF >> >> Then in the %packages, I use >> %include /tmp/pkg2include >> >> I think I ran into problems when the file doesn't exist, so I added: >> touch /tmp/pkg2include >> at the end of the %pre so the file was there, even if it was empty. >> >> Chip >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Wednesday, September 13, 2006 8:40 AM >> To: kickstart-list at redhat.com >> Subject: %include syntax and usage >> >> Hello all, >> >> I am hoping someone can help me with this. I am trying to >> separate my >> %packages list into a different file using the %include directive. >> I am >> finding that no matter what I try, the install aborts due to not >> being > >> able to see the packages file. Hhere si the set up: >> >> I build the linux computers via http, typing this at the boot prompt: >> >> linux ks=http://10.10.10.52/ks.cfg >> >> This points the install to the kickstart config which is located here >> on my webserver: >> >> /var/build/linux/ks.cfg >> >> Also in that directory is 'packages' >> >> /var/build/linux/packages >> >> In the kickstart file I have tried all of these and none have worked: >> >> %include packages >> %include ./packages >> %include /var/build/linux/packages >> %include http://10.10.10.52/packages >> >> Could someone give me some pointers on the syntax? Thanks! >> >> >> Robert Denton >> Network Administrator >> Headsprout >> 800.401.5062 x1305 >> www.headsprout.com >> >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Wed Sep 13 22:38:39 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 18:38:39 -0400 Subject: %include syntax and usage In-Reply-To: References: Message-ID: <9E2A5C36-A434-46A9-981C-5F3A0860E668@headsprout.com> Right, I see what you mean about the documentation. I would love for one of the maintainers of kickstart to pipe in regarding how to use include in kickstart scripts. Where does the "/path/to/file" need to live in order for the install to see it. That is very confusing. I have high hopes for this list so I am very encouraged to hear you speak well of it. I have been using my same kickstart script with only minor modifications accross several versions of redhat/fedora and I really like kickstart in general. It is only now that I really want to take it to the next level, and I hope to make better use of its options, including %include f possible. Anyone have any idea what /path/to/file means in terms of a lickstart include? The docs all just summarize include syntax as: %include /path/to/file Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 1:00 PM, Shabazian, Chip wrote: > Anaconda and kickstart aren't exactly known for their vast amounts of > documentation. > > I had to figure out 80% of what we do in our builds via trial and > error. > What I found to be the most useful was to put sleep 999999999 > statements > in the %pre and %post everywhere I wanted to try something different, > then go to the Alt-F2 terminal bash prompt and poke around and try > stuff > manually. Once I got it to work manually, I would then incorporate it > into the mainstream kickstart build that we use globally. > > All that said, I realize most people don't get to spend weeks fine > tuning the kickstart process for their environment. If the usefulness > and numbers of servers you need to build justify it, then jump in and > hack away. If on the other hand, you are building a few dozen servers > or less, it probably won't be worth it to go through the extensive > process I did. > > This list is a great place to get help and ideas. Very rarely do I > see > a problem that someone on the list hasn't resolved, or can't point you > to a solution. It might not be the exact solution you want (such > as the > one I gave you), but you can usually get something done that will > accomplish what you need. > > The other solution that I am aware of, that could help you is server > side generated kickstart files. This is going to be much more > complex, > and requires a cgi on the server to accept the request and generate > the > kickstart file, either on the fly or after a subsequent reboot, but > this > is another solution I have seen deployed successfully. > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 9:42 AM > To: Discussion list about Kickstart > Subject: Re: %include syntax and usage > > Hi Chip, thanks for the response!! I didn't mean to disparage your > comment at all. I appreciate any and all suggestions. I understand > that > the size of even the largest kickstart config file is trivial compared > to the overall build but I was hoping to keep it short and neat > anyway. > Are you aware of any thorough documentation discussing the include > directive? I cannot even find that, other than a few missives here > and > there that state the syntax is: > > %include /path/to/file > > the /path/to/file is apparently a little trickier than it looks. > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > On Sep 13, 2006, at 12:35 PM, Shabazian, Chip wrote: > >> Sorry, you didn't explain WHY you were doing it, you just asked for a >> solution. >> >> My kickstart file also has a very large exclusion list, that is used >> for all kickstarts. I then include some packages back into the build >> for certain builds based on the decisioning logic that is in the % >> pre. >> >> Yes, this is all stored in the kickstart file, but it allows me to >> use > >> one kickstart file to build thousands of distributed servers a year >> with differing requirements. At the end of the day, if the kickstart >> file is huge, it's still very small compared to the number of >> packages > >> you will have to transfer across the wire, and it should have no >> impact on how long it takes to build a box. >> >> Chip >> >> >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Wednesday, September 13, 2006 9:07 AM >> To: Discussion list about Kickstart >> Subject: Re: %include syntax and usage >> >> Hm.. But if you build the list dynamically in the %pre section, >> isn't >> this still in the kickstart config file? I am trying to separate out >> the packages because I have a long list of packages and package >> exclusions. >> >> Robert Denton >> Network Administrator >> Headsprout >> 800.401.5062 x1305 >> www.headsprout.com >> >> On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: >> >>> >>> The way I do this is to create the file I want, along with the >>> decisioning logic in %pre. >>> >>> Example >>> >>> if xxxxx ; then >>> cat << EOF >> /tmp/pkg2include >>> pkg1 >>> pkg2 >>> etc >>> EOF >>> >>> Then in the %packages, I use >>> %include /tmp/pkg2include >>> >>> I think I ran into problems when the file doesn't exist, so I added: >>> touch /tmp/pkg2include >>> at the end of the %pre so the file was there, even if it was empty. >>> >>> Chip >>> >>> -----Original Message----- >>> From: kickstart-list-bounces at redhat.com >>> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert >>> Denton >>> Sent: Wednesday, September 13, 2006 8:40 AM >>> To: kickstart-list at redhat.com >>> Subject: %include syntax and usage >>> >>> Hello all, >>> >>> I am hoping someone can help me with this. I am trying to >>> separate my >>> %packages list into a different file using the %include directive. >>> I am >>> finding that no matter what I try, the install aborts due to not >>> being >> >>> able to see the packages file. Hhere si the set up: >>> >>> I build the linux computers via http, typing this at the boot >>> prompt: >>> >>> linux ks=http://10.10.10.52/ks.cfg >>> >>> This points the install to the kickstart config which is located >>> here >>> on my webserver: >>> >>> /var/build/linux/ks.cfg >>> >>> Also in that directory is 'packages' >>> >>> /var/build/linux/packages >>> >>> In the kickstart file I have tried all of these and none have >>> worked: >>> >>> %include packages >>> %include ./packages >>> %include /var/build/linux/packages >>> %include http://10.10.10.52/packages >>> >>> Could someone give me some pointers on the syntax? Thanks! >>> >>> >>> Robert Denton >>> Network Administrator >>> Headsprout >>> 800.401.5062 x1305 >>> www.headsprout.com >>> >>> >>> _______________________________________________ >>> Kickstart-list mailing list >>> Kickstart-list at redhat.com >>> https://www.redhat.com/mailman/listinfo/kickstart-list >>> >>> _______________________________________________ >>> Kickstart-list mailing list >>> Kickstart-list at redhat.com >>> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From jkeating at j2solutions.net Wed Sep 13 22:54:25 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 13 Sep 2006 18:54:25 -0400 Subject: %include syntax and usage In-Reply-To: <9E2A5C36-A434-46A9-981C-5F3A0860E668@headsprout.com> References: <9E2A5C36-A434-46A9-981C-5F3A0860E668@headsprout.com> Message-ID: <200609131854.29130.jkeating@j2solutions.net> On Wednesday 13 September 2006 18:38, Robert Denton wrote: > Right, I see what you mean about the documentation. ?I would love for ? > one of the maintainers of kickstart to pipe in regarding how to use ? > include in kickstart scripts. ?Where does the "/path/to/file" need to ? > live in order for the install to see it. ?That is very confusing. The path is relative to the file system on the system being installed. I generate them in %pre to dump to /tmp/packages (since that's writable memdisk), or wget them to /tmp/packages so my %include is %include /tmp/packages. Think of it like this, once you've started the install, go to tty2 where you would get a shell, and that file system would be where your file needs to live. -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From robert at headsprout.com Wed Sep 13 22:59:08 2006 From: robert at headsprout.com (Robert Denton) Date: Wed, 13 Sep 2006 18:59:08 -0400 Subject: %include syntax and usage In-Reply-To: <200609131854.29130.jkeating@j2solutions.net> References: <9E2A5C36-A434-46A9-981C-5F3A0860E668@headsprout.com> <200609131854.29130.jkeating@j2solutions.net> Message-ID: Jesse, that's interesting approach. I have actually tried using wget but I get the error that wget is not a known command. I usually do not use a %pre section. Where should I put the wget? In the %post? Don't I need to declare packages before the %post section? Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 6:54 PM, Jesse Keating wrote: > On Wednesday 13 September 2006 18:38, Robert Denton wrote: >> Right, I see what you mean about the documentation. I would love for >> one of the maintainers of kickstart to pipe in regarding how to use >> include in kickstart scripts. Where does the "/path/to/file" need to >> live in order for the install to see it. That is very confusing. > > The path is relative to the file system on the system being > installed. I > generate them in %pre to dump to /tmp/packages (since that's writable > memdisk), or wget them to /tmp/packages so my %include > is %include /tmp/packages. > > Think of it like this, once you've started the install, go to tty2 > where you > would get a shell, and that file system would be where your file > needs to > live. > > -- > Jesse Keating RHCE (geek.j2solutions.net) > Fedora Legacy Team (www.fedoralegacy.org) > GPG Public Key (geek.j2solutions.net/ > jkeating.j2solutions.pub) > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From Colin.Coe at woodside.com.au Wed Sep 13 23:14:28 2006 From: Colin.Coe at woodside.com.au (Coe, Colin C.) Date: Thu, 14 Sep 2006 07:14:28 +0800 Subject: %include syntax and usage Message-ID: <17EBC05307239C4896ED25244F42A8010295ECDD@permls05.wde.woodside.com.au> /path/to/file refers to the machine you are kickstarting. I thought this was abvious. So, if your packages file is on your web server, you need to somehow copy it to the local machine, which is probably why Chip generates his package list 'on the fly'. I also generate my paclages file on the fly: If some_condition echo pkglist > /tmp/packages.cfg Else echo pkglist1 > /tmp/packages.cfg Fi That's /tmp on the machine you are building... CC -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Thursday, 14 September 2006 6:39 AM To: Discussion list about Kickstart Subject: Re: %include syntax and usage Right, I see what you mean about the documentation. I would love for one of the maintainers of kickstart to pipe in regarding how to use include in kickstart scripts. Where does the "/path/to/file" need to live in order for the install to see it. That is very confusing. I have high hopes for this list so I am very encouraged to hear you speak well of it. I have been using my same kickstart script with only minor modifications accross several versions of redhat/fedora and I really like kickstart in general. It is only now that I really want to take it to the next level, and I hope to make better use of its options, including %include f possible. Anyone have any idea what /path/to/file means in terms of a lickstart include? The docs all just summarize include syntax as: %include /path/to/file Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 1:00 PM, Shabazian, Chip wrote: > Anaconda and kickstart aren't exactly known for their vast amounts of > documentation. > > I had to figure out 80% of what we do in our builds via trial and > error. > What I found to be the most useful was to put sleep 999999999 > statements > in the %pre and %post everywhere I wanted to try something different, > then go to the Alt-F2 terminal bash prompt and poke around and try > stuff > manually. Once I got it to work manually, I would then incorporate it > into the mainstream kickstart build that we use globally. > > All that said, I realize most people don't get to spend weeks fine > tuning the kickstart process for their environment. If the usefulness > and numbers of servers you need to build justify it, then jump in and > hack away. If on the other hand, you are building a few dozen servers > or less, it probably won't be worth it to go through the extensive > process I did. > > This list is a great place to get help and ideas. Very rarely do I > see > a problem that someone on the list hasn't resolved, or can't point you > to a solution. It might not be the exact solution you want (such > as the > one I gave you), but you can usually get something done that will > accomplish what you need. > > The other solution that I am aware of, that could help you is server > side generated kickstart files. This is going to be much more > complex, > and requires a cgi on the server to accept the request and generate > the > kickstart file, either on the fly or after a subsequent reboot, but > this > is another solution I have seen deployed successfully. > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 9:42 AM > To: Discussion list about Kickstart > Subject: Re: %include syntax and usage > > Hi Chip, thanks for the response!! I didn't mean to disparage your > comment at all. I appreciate any and all suggestions. I understand > that > the size of even the largest kickstart config file is trivial compared > to the overall build but I was hoping to keep it short and neat > anyway. > Are you aware of any thorough documentation discussing the include > directive? I cannot even find that, other than a few missives here > and > there that state the syntax is: > > %include /path/to/file > > the /path/to/file is apparently a little trickier than it looks. > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > On Sep 13, 2006, at 12:35 PM, Shabazian, Chip wrote: > >> Sorry, you didn't explain WHY you were doing it, you just asked for a >> solution. >> >> My kickstart file also has a very large exclusion list, that is used >> for all kickstarts. I then include some packages back into the build >> for certain builds based on the decisioning logic that is in the % >> pre. >> >> Yes, this is all stored in the kickstart file, but it allows me to >> use > >> one kickstart file to build thousands of distributed servers a year >> with differing requirements. At the end of the day, if the kickstart >> file is huge, it's still very small compared to the number of >> packages > >> you will have to transfer across the wire, and it should have no >> impact on how long it takes to build a box. >> >> Chip >> >> >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Wednesday, September 13, 2006 9:07 AM >> To: Discussion list about Kickstart >> Subject: Re: %include syntax and usage >> >> Hm.. But if you build the list dynamically in the %pre section, >> isn't >> this still in the kickstart config file? I am trying to separate out >> the packages because I have a long list of packages and package >> exclusions. >> >> Robert Denton >> Network Administrator >> Headsprout >> 800.401.5062 x1305 >> www.headsprout.com >> >> On Sep 13, 2006, at 12:02 PM, Shabazian, Chip wrote: >> >>> >>> The way I do this is to create the file I want, along with the >>> decisioning logic in %pre. >>> >>> Example >>> >>> if xxxxx ; then >>> cat << EOF >> /tmp/pkg2include >>> pkg1 >>> pkg2 >>> etc >>> EOF >>> >>> Then in the %packages, I use >>> %include /tmp/pkg2include >>> >>> I think I ran into problems when the file doesn't exist, so I added: >>> touch /tmp/pkg2include >>> at the end of the %pre so the file was there, even if it was empty. >>> >>> Chip >>> >>> -----Original Message----- >>> From: kickstart-list-bounces at redhat.com >>> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert >>> Denton >>> Sent: Wednesday, September 13, 2006 8:40 AM >>> To: kickstart-list at redhat.com >>> Subject: %include syntax and usage >>> >>> Hello all, >>> >>> I am hoping someone can help me with this. I am trying to >>> separate my >>> %packages list into a different file using the %include directive. >>> I am >>> finding that no matter what I try, the install aborts due to not >>> being >> >>> able to see the packages file. Hhere si the set up: >>> >>> I build the linux computers via http, typing this at the boot >>> prompt: >>> >>> linux ks=http://10.10.10.52/ks.cfg >>> >>> This points the install to the kickstart config which is located >>> here >>> on my webserver: >>> >>> /var/build/linux/ks.cfg >>> >>> Also in that directory is 'packages' >>> >>> /var/build/linux/packages >>> >>> In the kickstart file I have tried all of these and none have >>> worked: >>> >>> %include packages >>> %include ./packages >>> %include /var/build/linux/packages >>> %include http://10.10.10.52/packages >>> >>> Could someone give me some pointers on the syntax? Thanks! >>> >>> >>> Robert Denton >>> Network Administrator >>> Headsprout >>> 800.401.5062 x1305 >>> www.headsprout.com >>> >>> >>> _______________________________________________ >>> Kickstart-list mailing list >>> Kickstart-list at redhat.com >>> https://www.redhat.com/mailman/listinfo/kickstart-list >>> >>> _______________________________________________ >>> Kickstart-list mailing list >>> Kickstart-list at redhat.com >>> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Wed Sep 13 23:16:52 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Wed, 13 Sep 2006 16:16:52 -0700 Subject: %include syntax and usage In-Reply-To: Message-ID: Do as I suggested earlier, put a sleep 9999999 in your %pre, kickstart the box, open a shell (Alt-F2) and test it. Try a wget, look at what's in /tmp (for example, you will see the kickstart file has been copied there), if you are building over nfs, see what's mounted where, etc. When you do this, you are working in the same build environment that kickstart is working in. Anything you can do here, you can do in kickstart. Anything you can't access here, kickstart can't access. You can do the same thing for your %post, except that in order to be in the same environment (unless you use nochroot), you will need to chroot /mnt/sysimage first. Chip -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Wednesday, September 13, 2006 3:59 PM To: Discussion list about Kickstart Subject: Re: %include syntax and usage Jesse, that's interesting approach. I have actually tried using wget but I get the error that wget is not a known command. I usually do not use a %pre section. Where should I put the wget? In the %post? Don't I need to declare packages before the %post section? Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 13, 2006, at 6:54 PM, Jesse Keating wrote: > On Wednesday 13 September 2006 18:38, Robert Denton wrote: >> Right, I see what you mean about the documentation. I would love for >> one of the maintainers of kickstart to pipe in regarding how to use >> include in kickstart scripts. Where does the "/path/to/file" need to >> live in order for the install to see it. That is very confusing. > > The path is relative to the file system on the system being installed. > I generate them in %pre to dump to /tmp/packages (since that's > writable memdisk), or wget them to /tmp/packages so my %include is > %include /tmp/packages. > > Think of it like this, once you've started the install, go to tty2 > where you would get a shell, and that file system would be where your > file needs to live. > > -- > Jesse Keating RHCE (geek.j2solutions.net) > Fedora Legacy Team (www.fedoralegacy.org) > GPG Public Key (geek.j2solutions.net/ > jkeating.j2solutions.pub) > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From jkeating at j2solutions.net Thu Sep 14 00:46:40 2006 From: jkeating at j2solutions.net (Jesse Keating) Date: Wed, 13 Sep 2006 20:46:40 -0400 Subject: %include syntax and usage In-Reply-To: References: <200609131854.29130.jkeating@j2solutions.net> Message-ID: <200609132046.40255.jkeating@j2solutions.net> On Wednesday 13 September 2006 18:59, Robert Denton wrote: > Jesse, that's interesting approach. ?I have actually tried using wget ? > but I get the error that wget is not a known command. I usually do ? > not use a %pre section. ?Where should I put the wget? ?In the %post? ? > Don't I need to declare packages before the %post section? Strange, I'm pretty sure wget worked before... Python is there you can always use a python library to pull down the script. Your packages do need to be defined before %post. Here is the code I used: %pre cd /tmp # Get the part generator and run it wget http://192.168.2.3/production/autokickrhel4.py python autokickrhel4.py This generated content for my partitions, my X config, and my package set. %include /tmp/parts %include /tmp/xconfig %include /tmp/packages -- Jesse Keating RHCE (geek.j2solutions.net) Fedora Legacy Team (www.fedoralegacy.org) GPG Public Key (geek.j2solutions.net/jkeating.j2solutions.pub) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From johnny at navtek.no Thu Sep 14 17:42:55 2006 From: johnny at navtek.no (Johnny Ljunggren) Date: Thu, 14 Sep 2006 19:42:55 +0200 Subject: RAID 1 without specifying devices Message-ID: <4509949F.1080908@navtek.no> Hello all I'm usually installing my systems with Software RAID 1 and have up to now specified the hard drives to be used by their device names (/dev/hda etc...), ie part raid.01 --bytes-per-inode=4096 --fstype="raid" --ondisk=hda --size=10000 Is there a way to create the RAID without specifying --ondisk? There will always be two disks on these systems, but not necessarily in the same position each time. Johnny C From email at jasonkohles.com Thu Sep 14 18:01:49 2006 From: email at jasonkohles.com (Jason Kohles) Date: Thu, 14 Sep 2006 14:01:49 -0400 Subject: RAID 1 without specifying devices In-Reply-To: <4509949F.1080908@navtek.no> References: <4509949F.1080908@navtek.no> Message-ID: <87f4e9820609141101w773708e6qf896168ac2b16a35@mail.gmail.com> On 9/14/06, Johnny Ljunggren wrote: > > Hello all > > I'm usually installing my systems with Software RAID 1 and have up to > now specified the hard drives to be used by their device names (/dev/hda > etc...), ie > part raid.01 --bytes-per-inode=4096 --fstype="raid" --ondisk=hda > --size=10000 > > Is there a way to create the RAID without specifying --ondisk? > There will always be two disks on these systems, but not necessarily in > the same position each time. > It's not pretty, but you can do this... %include /tmp/kspart %pre --interpreter /usr/bin/python import os import sys import parted sys.path.append('/usr/lib/anaconda') import isys drives = isys.hardDriveDict().keys() drives.sort() f = open("/tmp/kspart","w") f.write( "part raid.01 --ondisk=%s\n" % drives[0] ); f.write( "part raid.02 --ondisk=%s\n" % drives[1] ); f.close() -- Jason Kohles email at jasonkohles.com - http://www.jasonkohles.com/ "A witty saying proves nothing." -- Voltaire From Chip.Shabazian at bankofamerica.com Thu Sep 14 18:04:50 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Thu, 14 Sep 2006 11:04:50 -0700 Subject: RAID 1 without specifying devices In-Reply-To: <4509949F.1080908@navtek.no> Message-ID: I've made my installs generic by doing some work in the %pre, then using %include /tmp/partinfo in the command section. something like this is what I use in the %pre # Determine how many drives we have set $(list-harddrives) let numd=$#/2 d1=$1 d2=$3 # Use this scheme for two or more drives if [ $numd -ge 2 ] ; then cat << EOF >> /tmp/partinfo YOUR SETUP --ondisk=$d1 YOUR SETUP --ondisk=$d2 EOF else # Use this scheme for one drive cat << EOF >> /tmp/partinfo YOUR SETUP --ondisk=$d1 EOF fi -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Johnny Ljunggren Sent: Thursday, September 14, 2006 10:43 AM To: kickstart-list at redhat.com Subject: RAID 1 without specifying devices Hello all I'm usually installing my systems with Software RAID 1 and have up to now specified the hard drives to be used by their device names (/dev/hda etc...), ie part raid.01 --bytes-per-inode=4096 --fstype="raid" --ondisk=hda --size=10000 Is there a way to create the RAID without specifying --ondisk? There will always be two disks on these systems, but not necessarily in the same position each time. Johnny C _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From johnny at navtek.no Thu Sep 14 18:07:39 2006 From: johnny at navtek.no (Johnny Ljunggren) Date: Thu, 14 Sep 2006 20:07:39 +0200 Subject: RAID 1 without specifying devices In-Reply-To: <87f4e9820609141101w773708e6qf896168ac2b16a35@mail.gmail.com> References: <4509949F.1080908@navtek.no> <87f4e9820609141101w773708e6qf896168ac2b16a35@mail.gmail.com> Message-ID: <45099A6B.80109@navtek.no> Jason Kohles skrev: >> Is there a way to create the RAID without specifying --ondisk? >> There will always be two disks on these systems, but not necessarily in >> the same position each time. >> > It's not pretty, but you can do this... Thanks a lot to both Jason and Chip. I'll try them out first thing tomorrow. Johnny L From cpattullo at parasun.com Fri Sep 15 00:49:40 2006 From: cpattullo at parasun.com (Chris Pattullo) Date: Thu, 14 Sep 2006 17:49:40 -0700 Subject: %include syntax and usage Message-ID: <1158281380.2776.62.camel@cap.softeng.parasun.net> I think some important things to remember regarding this question are: 1.) Anaconda (to the best of my knowledge) runs the kickstart script ON THE SERVER TO BE INSTALLED. It seems that you (Robert) might be confusing this with the idea that, by specifying the server the ks.cfg resides on, you are also specifying the directory/server to operate out of. It may be better to completely forget that the ks.cfg starts out on another server and look at all references to commands and files in kickstart relative to the server that's getting the install. Jesse Keating explained this better in his post on 13 Sept. 2.) With regards to the %pre/%post sections: remember that these are literally just copied to a file, and run through bash (or whatever interpreter you specify). Treat them exactly like scripts. And if you want to see what they look like, in the middle of your %pre put a 'read'. Then alt-F2 to the alternate console and look at the /tmp directory. Your script should reside there as a separate file (can't remember the name). Also, if you do a 'ps' with the right switches you should see that the installer has actually called your interpreter and passed it the file under /tmp. 3.) anything you can('t) do in the alt-F2 shell you can('t) do in kickstart. I believe the documentation for Kickstart (in this rare case) is fairly accurate and complete. I think the problem is more with the fact that the file you're trying to include simply isn't present on the system, and there for it's rather difficult anaconda to 'include' it. If you focus your efforts on ensuring that the file you're trying to include actually makes it onto the server you may have more success. Some other tips that might help: - remember that anaconda RE-reads the whole kickstart file after executing the %pre section. So you can do whatever you want with 'include' files, or even the ks.cfg file itself during the pre section and those files will be re-read afterwards including the changes you made. - using 'read' instead of 'sleep ' may provide you with a more stable test situation. You can navigate alt-F2 freely, and when you wish to progress to the next 'read' you can do so by going back to alt-F2 and pressing enter. I think that the 'read' only works during the %pre section though so you may be left using 'sleep' during %post. - if you wish display something to the screen for whatever purpose, explicitly redirect to /dev/tty0 (echo -n "Is this correct? (y/N) " > /dev/tty0). If you don't you won't see anything. - an alternate method to explicitly declaring packages in the ks.cfg file is putting them in the comps.xml file. You can make your own group, including all the packages you wish, and even specify if it's a 'default' group, etc. Hope this all helps. -- Chris Pattullo Developer, Software Engineering ParaSun Technologies Inc. PGP public key @ 0x95A4A710 ParaSun Root Cert @ From teng at dataway.com Fri Sep 15 01:17:47 2006 From: teng at dataway.com (Tedman Eng) Date: Thu, 14 Sep 2006 18:17:47 -0700 Subject: %include syntax and usage Message-ID: <37ED92F9890FAF4BB947613C66FF8B1A08BB2EA5@dw-mail.dataway.com> I would like to re-emphasize that very important point for the sake of future Googlers: Default ks.cfg behavior is: %pre runs in non chroot /usr/bin/some_tool is busybox's version %post runs in "chroot /mnt/sysimage" /usr/bin/some_tool is the installed RPM version > -----Original Message----- > From: Shabazian, Chip [mailto:Chip.Shabazian at bankofamerica.com] > Sent: Wednesday, September 13, 2006 4:17 PM > To: Discussion list about Kickstart > Subject: RE: %include syntax and usage > > > Do as I suggested earlier, put a sleep 9999999 in your %pre, kickstart > the box, open a shell (Alt-F2) and test it. Try a wget, look > at what's > in /tmp (for example, you will see the kickstart file has been copied > there), if you are building over nfs, see what's mounted where, etc. > When you do this, you are working in the same build environment that > kickstart is working in. Anything you can do here, you can do in > kickstart. Anything you can't access here, kickstart can't access. > > You can do the same thing for your %post, except that in > order to be in > the same environment (unless you use nochroot), you will need > to chroot > /mnt/sysimage first. > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Wednesday, September 13, 2006 3:59 PM > To: Discussion list about Kickstart > Subject: Re: %include syntax and usage > > Jesse, that's interesting approach. I have actually tried using wget > but I get the error that wget is not a known command. I usually do > not use a %pre section. Where should I put the wget? In the > %post? > Don't I need to declare packages before the %post section? > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > On Sep 13, 2006, at 6:54 PM, Jesse Keating wrote: > > > On Wednesday 13 September 2006 18:38, Robert Denton wrote: > >> Right, I see what you mean about the documentation. I > would love for > > >> one of the maintainers of kickstart to pipe in regarding > how to use > >> include in kickstart scripts. Where does the > "/path/to/file" need to > > >> live in order for the install to see it. That is very confusing. > > > > The path is relative to the file system on the system being > installed. > > > I generate them in %pre to dump to /tmp/packages (since that's > > writable memdisk), or wget them to /tmp/packages so my %include is > > %include /tmp/packages. > > > > Think of it like this, once you've started the install, go to tty2 > > where you would get a shell, and that file system would be > where your > > file needs to live. > > > > -- > > Jesse Keating RHCE (geek.j2solutions.net) > > Fedora Legacy Team (www.fedoralegacy.org) > > GPG Public Key (geek.j2solutions.net/ > > jkeating.j2solutions.pub) > > _______________________________________________ > > Kickstart-list mailing list > > Kickstart-list at redhat.com > > https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > From ian at smallworld.cx Mon Sep 18 16:02:11 2006 From: ian at smallworld.cx (Ian Leonard) Date: Mon, 18 Sep 2006 17:02:11 +0100 (BST) Subject: FC5 package ordering Message-ID: <64386.87.194.64.91.1158595331.squirrel@www.smallworld.cx> Hi, I am trying to build custom cds of FC5 using the fc_update.sh script found here: http://www.users.on.net/~rgarth/weblog/fedora/remek.html I have trimmed the distribution down to 2 cds and added a few rpms of my own. The cd sets build without error but won't install. The main problem is that one of my rpms (that begins with an 'm') is on disk 2 but is required by the installer when disk 1 is in. When I look at the rpms directory on the cd, all packages appear to be in alphabetical order. It could be that fc_update.sh doesn't work for cds (it has a cd or a single dvd option). Any advice or pointers to other scripts for FC5 appreciated. Thanks. -- Regards Ian Leonard From countofdracula at gmail.com Tue Sep 19 12:19:47 2006 From: countofdracula at gmail.com (Komal Shah) Date: Tue, 19 Sep 2006 17:49:47 +0530 Subject: Kickstart swap partitions on multiple drives Message-ID: <450FE063.6000700@gmail.com> Hello, I am performing kick-start installation on machine having two drives.The second drive is a backup of another Linux installation.During kick start, a 2GB swap partition is created on sda and the 2GB swap partition on the sdb is added to the fstab during install.Now I have total 4GB swap partition.Is it possible to force kick-start not to search for existing swap partition? Thanks Regards, Komal From smah at vmware.com Tue Sep 19 16:37:22 2006 From: smah at vmware.com (Stephen Mah) Date: Tue, 19 Sep 2006 09:37:22 -0700 Subject: Kickstart swap partitions on multiple drives In-Reply-To: <450FE063.6000700@gmail.com> References: <450FE063.6000700@gmail.com> Message-ID: <45101CC2.6000804@vmware.com> have you tried --ondisk=sda sdb or hda This will force the installer to use the specified drive and ignore the other one. Komal Shah wrote: > Hello, > > I am performing kick-start installation on machine having two > drives.The second drive is a backup of another Linux > installation.During kick start, a 2GB swap partition is created on sda > and the 2GB swap partition on the sdb is added to the fstab during > install.Now I have total 4GB swap partition.Is it possible to force > kick-start not to search for existing swap partition? > > Thanks > > Regards, > > Komal > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From cpattullo at parasun.com Tue Sep 19 19:03:41 2006 From: cpattullo at parasun.com (Chris Pattullo) Date: Tue, 19 Sep 2006 12:03:41 -0700 Subject: FC5 package ordering Message-ID: <1158692621.3135.145.camel@cap.softeng.parasun.net> On Tue, 2006-09-19 at 12:00 -0400, Ian Leonard wrote: > The main problem is that one of my rpms (that begins with an > 'm') is on disk 2 but is required by the installer when disk 1 > is in. Ian, Are you using 'splittree.py' & 'genhdlist' as part of your CD build process? As I understand it splittree is required in order to split the pacakges into the necessary number of 'CDs', and genhdlist is needed to be run after the split again in order to re-generate the list of packages for each CD. Both scripts should have come with the anaconda-runtime package. I use the following process to build my images. I'm making CD, not DVD images though, and much of what I do is dynamic so steps 6-12 are probably what might help most: 1.) create the kickstart file 2.) create the comps.xml file 3.) create the .discinfo file 4.) create the isolinux.cfg file 5.) create the isolinux menu file 6.) generate the hdlists (genhdlist) 7.) check dependencies (getfullcomps.py) 8.) generate the package order file (pkgorder) 9.) build the install tree (buildinstall) 10.) split the install image (splittree.py) 11.) regen the hdlists (genhdlist) 12.) build the iso images (mkisofs) 13.) implant md5sums in the images (implantisomd5) 14.) verify the md5sums (checkisomd5) Hope the above helps. Chris -- Chris Pattullo Developer, Software Engineering ParaSun Technologies Inc. PGP public key @ 0x95A4A710 ParaSun Root Cert @ From Paul.Mallasch at Tectura.com Tue Sep 19 19:17:38 2006 From: Paul.Mallasch at Tectura.com (Mallasch, Paul) Date: Tue, 19 Sep 2006 12:17:38 -0700 Subject: FC5 package ordering Message-ID: <5303BDF3F253554E889BE362FA0C604E01D432D4@MAIL1.TecturaCorp.net> Genhdlist will not work for FC5. http://fedoraproject.org/wiki/AnacondaCustomization -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Chris Pattullo Sent: Tuesday, September 19, 2006 12:04 PM To: kickstart-list at redhat.com Subject: re: FC5 package ordering On Tue, 2006-09-19 at 12:00 -0400, Ian Leonard wrote: > The main problem is that one of my rpms (that begins with an > 'm') is on disk 2 but is required by the installer when disk 1 > is in. Ian, Are you using 'splittree.py' & 'genhdlist' as part of your CD build process? As I understand it splittree is required in order to split the pacakges into the necessary number of 'CDs', and genhdlist is needed to be run after the split again in order to re-generate the list of packages for each CD. Both scripts should have come with the anaconda-runtime package. I use the following process to build my images. I'm making CD, not DVD images though, and much of what I do is dynamic so steps 6-12 are probably what might help most: 1.) create the kickstart file 2.) create the comps.xml file 3.) create the .discinfo file 4.) create the isolinux.cfg file 5.) create the isolinux menu file 6.) generate the hdlists (genhdlist) 7.) check dependencies (getfullcomps.py) 8.) generate the package order file (pkgorder) 9.) build the install tree (buildinstall) 10.) split the install image (splittree.py) 11.) regen the hdlists (genhdlist) 12.) build the iso images (mkisofs) 13.) implant md5sums in the images (implantisomd5) 14.) verify the md5sums (checkisomd5) Hope the above helps. Chris -- Chris Pattullo Developer, Software Engineering ParaSun Technologies Inc. PGP public key @ 0x95A4A710 ParaSun Root Cert @ _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From cpattullo at parasun.com Tue Sep 19 19:33:25 2006 From: cpattullo at parasun.com (Chris Pattullo) Date: Tue, 19 Sep 2006 12:33:25 -0700 Subject: FC5 package ordering In-Reply-To: <5303BDF3F253554E889BE362FA0C604E01D432D4@MAIL1.TecturaCorp.net> References: <5303BDF3F253554E889BE362FA0C604E01D432D4@MAIL1.TecturaCorp.net> Message-ID: <1158694405.3135.148.camel@cap.softeng.parasun.net> d'oh. thx for the heads up. On Tue, 2006-09-19 at 12:17 -0700, Mallasch, Paul wrote: > > Genhdlist will not work for FC5. > http://fedoraproject.org/wiki/AnacondaCustomization > > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Chris Pattullo > Sent: Tuesday, September 19, 2006 12:04 PM > To: kickstart-list at redhat.com > Subject: re: FC5 package ordering > > On Tue, 2006-09-19 at 12:00 -0400, Ian Leonard > wrote: > > The main problem is that one of my rpms (that begins with an > > 'm') is on disk 2 but is required by the installer when disk 1 > > is in. > > Ian, > > Are you using 'splittree.py' & 'genhdlist' as part of your CD > build > process? As I understand it splittree is required in order to split the > pacakges into the necessary number of 'CDs', and genhdlist is needed to > be run after the split again in order to re-generate the list of > packages for each CD. Both scripts should have come with the > anaconda-runtime package. > > I use the following process to build my images. I'm making CD, > not DVD > images though, and much of what I do is dynamic so steps 6-12 are > probably what might help most: > > 1.) create the kickstart file > 2.) create the comps.xml file > 3.) create the .discinfo file > 4.) create the isolinux.cfg file > 5.) create the isolinux menu file > > 6.) generate the hdlists (genhdlist) > 7.) check dependencies (getfullcomps.py) > 8.) generate the package order file (pkgorder) > 9.) build the install tree (buildinstall) > 10.) split the install image (splittree.py) > 11.) regen the hdlists (genhdlist) > 12.) build the iso images (mkisofs) > > 13.) implant md5sums in the images (implantisomd5) > 14.) verify the md5sums (checkisomd5) > > > Hope the above helps. > > > Chris > > -- Chris Pattullo Developer, Software Engineering ParaSun Technologies Inc. (Work) :: 604.357.0057 ext. 1510 (Alt) :: 888.207.0203 ext. 1510 (Cell) :: 604.351.2505 PGP public key @ 0x95A4A710 ParaSun Root Cert @ From ian at smallworld.cx Tue Sep 19 19:55:38 2006 From: ian at smallworld.cx (Ian Leonard) Date: Tue, 19 Sep 2006 20:55:38 +0100 Subject: FC5 package ordering In-Reply-To: <5303BDF3F253554E889BE362FA0C604E01D432D4@MAIL1.TecturaCorp.net> References: <5303BDF3F253554E889BE362FA0C604E01D432D4@MAIL1.TecturaCorp.net> Message-ID: <45104B3A.4010208@smallworld.cx> Mallasch, Paul wrote: > > Genhdlist will not work for FC5. > http://fedoraproject.org/wiki/AnacondaCustomization That's right. The fc_update.sh script runs the various programs as per the above link but it seems to reverse the order of buildinstall and pkgorder. It does it pkgorder first in order that it can supply the result to buildinstall. Chris, you might want to check out this script. I can't believe it's wrong, but I can't work out why it doesn't work for me. I'll try running as per the wiki and see what happens. > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Chris Pattullo > Sent: Tuesday, September 19, 2006 12:04 PM > To: kickstart-list at redhat.com > Subject: re: FC5 package ordering > > On Tue, 2006-09-19 at 12:00 -0400, Ian Leonard > wrote: >> The main problem is that one of my rpms (that begins with an >> 'm') is on disk 2 but is required by the installer when disk 1 >> is in. > > Ian, > > Are you using 'splittree.py' & 'genhdlist' as part of your CD > build > process? As I understand it splittree is required in order to split the > pacakges into the necessary number of 'CDs', and genhdlist is needed to > be run after the split again in order to re-generate the list of > packages for each CD. Both scripts should have come with the > anaconda-runtime package. > > I use the following process to build my images. I'm making CD, > not DVD > images though, and much of what I do is dynamic so steps 6-12 are > probably what might help most: > > 1.) create the kickstart file > 2.) create the comps.xml file > 3.) create the .discinfo file > 4.) create the isolinux.cfg file > 5.) create the isolinux menu file > > 6.) generate the hdlists (genhdlist) > 7.) check dependencies (getfullcomps.py) > 8.) generate the package order file (pkgorder) > 9.) build the install tree (buildinstall) > 10.) split the install image (splittree.py) > 11.) regen the hdlists (genhdlist) > 12.) build the iso images (mkisofs) > > 13.) implant md5sums in the images (implantisomd5) > 14.) verify the md5sums (checkisomd5) > > > Hope the above helps. > > > Chris > > -- Ian Leonard Please ignore spelling and punctuation - I did. From countofdracula at gmail.com Wed Sep 20 06:22:43 2006 From: countofdracula at gmail.com (Komal Shah) Date: Wed, 20 Sep 2006 11:52:43 +0530 Subject: Kickstart swap partitions on multiple drives In-Reply-To: <45101CC2.6000804@vmware.com> References: <450FE063.6000700@gmail.com> <45101CC2.6000804@vmware.com> Message-ID: <4510DE33.40807@gmail.com> Stephen Mah wrote: > have you tried --ondisk=sda sdb or hda > This will force the installer to use the specified drive and ignore the > other one. I have also come across ignoredisk option. Refer to http://kbase.redhat.com/faq/FAQ_85_8604.shtm Komal From tmafs at us.ibm.com Wed Sep 20 12:36:05 2006 From: tmafs at us.ibm.com (Tom Miller) Date: Wed, 20 Sep 2006 07:36:05 -0500 Subject: Kickstart swap partitions on multiple drives Message-ID: The ignoredisk kickstart option would be much more valuable to automation if its syntax allowed specifying all disks accept the ones you want it to touch. That way you don't have to know, in advance, all the existing drive names before creating the kickstart file and doing the install. Wednesday, September 20, 2006 1:23 AM To: Discussion list about Kickstart cc: From: Komal Shah Subject: Re: Kickstart swap partitions on multiple drives Stephen Mah wrote: > have you tried --ondisk=sda sdb or hda > This will force the installer to use the specified drive and ignore the > other one. I have also come across ignoredisk option. Refer to http://kbase.redhat.com/faq/FAQ_85_8604.shtm Komal _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From teng at dataway.com Wed Sep 20 17:56:41 2006 From: teng at dataway.com (Tedman Eng) Date: Wed, 20 Sep 2006 10:56:41 -0700 Subject: Kickstart swap partitions on multiple drives Message-ID: <37ED92F9890FAF4BB947613C66FF8B1A08BB2EAD@dw-mail.dataway.com> This is the first time I've seen this "ignoredisk" option. Does using ignoredisk cause kickstart to bomb if some of the listed disks aren't present? For example, could we use a catchall ignoredisk command to always force a build to happen on hda, regardless of what's present? ignoredisk --drives=hdb,hdc,hdd,sda,sdb,sdc,sdd > -----Original Message----- > From: Tom Miller [mailto:tmafs at us.ibm.com] > Sent: Wednesday, September 20, 2006 5:36 AM > To: Discussion list about Kickstart > Subject: Re: Kickstart swap partitions on multiple drives > > > > The ignoredisk kickstart option would be much more valuable > to automation > if its syntax allowed specifying all disks accept the ones > you want it to > touch. That way you don't have to know, in advance, all the > existing drive > names before creating the kickstart file and doing the install. > > > > Wednesday, September 20, 2006 1:23 AM > To: Discussion list about Kickstart > cc: > From: Komal Shah > Subject: Re: Kickstart swap partitions on multiple drives > > > Stephen Mah wrote: > > have you tried --ondisk=sda sdb or hda > > This will force the installer to use the specified drive > and ignore the > > other one. > > I have also come across ignoredisk option. > > Refer to http://kbase.redhat.com/faq/FAQ_85_8604.shtm > > Komal > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > From binand at gmail.com Thu Sep 21 15:08:20 2006 From: binand at gmail.com (Binand Sethumadhavan) Date: Thu, 21 Sep 2006 17:08:20 +0200 Subject: Unwanted packages being added... Message-ID: Hi All, I think this might be a faq, but here goes... I have a custom comps.xml, and a kickstart install that works. Only that I seem to pull this one package from my HTTP repository: compat-gcc-c++ Its dependency tree stretches like: compat-gcc compat-libstdc++ compat-libstdc++-devel glibc-devel glibc-headers glibc-kernheaders Now, I can't see any package that requires compat-gcc-c++: [root at ginny root]# rpm -q --whatrequires compat-gcc-g++ no package requires compat-gcc-g++ It is not referred anywhere in my comps.xml file either. [root at avalanche base]# grep compat-gcc-c++ comps.xml [root at avalanche base]# So I'm at a loss why this one package and its dependencies are being pulled into my minimal install. This is RHEL3-U7. TIA, Binand From robert at headsprout.com Fri Sep 22 18:08:49 2006 From: robert at headsprout.com (Robert Denton) Date: Fri, 22 Sep 2006 14:08:49 -0400 Subject: Package-Group components Message-ID: <14CE6976-92BD-4527-8B85-4066E8D29DFC@headsprout.com> Hello all, I was wondering if anyone could point me to the proper place to discover what all is included when a group of packages is specified in an install? For example, I have the following and I would love to eliminate the unnecessary packages from the groups: ... @ web-server @ mail-server @ server-cfg @ development-tools kernel grub ... Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com From shughes at redhat.com Fri Sep 22 18:13:23 2006 From: shughes at redhat.com (Shannon Hughes) Date: Fri, 22 Sep 2006 14:13:23 -0400 Subject: Package-Group components In-Reply-To: <14CE6976-92BD-4527-8B85-4066E8D29DFC@headsprout.com> References: <14CE6976-92BD-4527-8B85-4066E8D29DFC@headsprout.com> Message-ID: <451427C3.9030209@redhat.com> looks in the comps.xml file /usr/share/comps/i386/comps.xml Shannon Ray Hughes RHN - Web Engineer shughes at redhat.com 919.754.4236 (dsk) 919.656.2294 (mob) Robert Denton wrote: > Hello all, > > I was wondering if anyone could point me to the proper place to > discover what all is included when a group of packages is specified in > an install? For example, I have the following and I would love to > eliminate the unnecessary packages from the groups: > > ... > @ web-server > @ mail-server > @ server-cfg > @ development-tools > kernel > grub > ... > > > Robert Denton > Network Administrator > Headsprout > 800.401.5062 x1305 > www.headsprout.com > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Fri Sep 22 18:36:56 2006 From: robert at headsprout.com (Robert Denton) Date: Fri, 22 Sep 2006 14:36:56 -0400 Subject: Package-Group components In-Reply-To: <451427C3.9030209@redhat.com> References: <14CE6976-92BD-4527-8B85-4066E8D29DFC@headsprout.com> <451427C3.9030209@redhat.com> Message-ID: <0CEB0A4B-7861-4629-BB07-5D461FCD8A3F@headsprout.com> Wow, that looks like it would be an excellent place to start but how does one remove all the gazillion languages represented in that file. I can't see using this file the way it is... On Sep 22, 2006, at 2:13 PM, Shannon Hughes wrote: > looks in the comps.xml file > > /usr/share/comps/i386/comps.xml > > Shannon Ray Hughes > RHN - Web Engineer > shughes at redhat.com > 919.754.4236 (dsk) > 919.656.2294 (mob) > From Zack.Bartel at Tectura.com Fri Sep 22 18:42:57 2006 From: Zack.Bartel at Tectura.com (Bartel, Zack) Date: Fri, 22 Sep 2006 11:42:57 -0700 Subject: Package-Group components Message-ID: <5303BDF3F253554E889BE362FA0C604E016A67C8@MAIL1.TecturaCorp.net> Yum groupinfo will show the packages in the specified group. i.e. Yum groupinfo Base Zack Bartel Tectura Tel: 425-957-4237 Mobile: 503-320-1884 E-mail: zack.bartel at tectura.com -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Friday, September 22, 2006 11:37 AM To: Discussion list about Kickstart Subject: Re: Package-Group components Wow, that looks like it would be an excellent place to start but how does one remove all the gazillion languages represented in that file. I can't see using this file the way it is... On Sep 22, 2006, at 2:13 PM, Shannon Hughes wrote: > looks in the comps.xml file > > /usr/share/comps/i386/comps.xml > > Shannon Ray Hughes > RHN - Web Engineer > shughes at redhat.com > 919.754.4236 (dsk) > 919.656.2294 (mob) > _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Fri Sep 22 18:48:25 2006 From: robert at headsprout.com (Robert Denton) Date: Fri, 22 Sep 2006 14:48:25 -0400 Subject: Package-Group components In-Reply-To: <5303BDF3F253554E889BE362FA0C604E016A67C8@MAIL1.TecturaCorp.net> References: <5303BDF3F253554E889BE362FA0C604E016A67C8@MAIL1.TecturaCorp.net> Message-ID: <178F2DDC-EE1C-4421-B26C-256C05A7340B@headsprout.com> That's a good tip. I also found this online: http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html On Sep 22, 2006, at 2:42 PM, Bartel, Zack wrote: > Yum groupinfo will show the packages in the specified > group. i.e. > > Yum groupinfo Base > > > Zack Bartel > Tectura > Tel: 425-957-4237 > Mobile: 503-320-1884 > E-mail: zack.bartel at tectura.com From shughes at redhat.com Fri Sep 22 19:06:47 2006 From: shughes at redhat.com (Shannon Hughes) Date: Fri, 22 Sep 2006 15:06:47 -0400 Subject: Package-Group components In-Reply-To: <0CEB0A4B-7861-4629-BB07-5D461FCD8A3F@headsprout.com> References: <14CE6976-92BD-4527-8B85-4066E8D29DFC@headsprout.com> <451427C3.9030209@redhat.com> <0CEB0A4B-7861-4629-BB07-5D461FCD8A3F@headsprout.com> Message-ID: <45143447.7020509@redhat.com> for cases like that i just filter them out with grep or perl, e.g. grep -v xml:lang comps.xml > filter_comps.xml Shannon Ray Hughes RHN - Web Engineer shughes at redhat.com 919.754.4236 (dsk) 919.656.2294 (mob) Robert Denton wrote: > Wow, that looks like it would be an excellent place to start but how > does one remove all the gazillion languages represented in that file. > I can't see using this file the way it is... > > > On Sep 22, 2006, at 2:13 PM, Shannon Hughes wrote: > >> looks in the comps.xml file >> >> /usr/share/comps/i386/comps.xml >> >> Shannon Ray Hughes >> RHN - Web Engineer >> shughes at redhat.com >> 919.754.4236 (dsk) >> 919.656.2294 (mob) >> > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Tue Sep 26 17:00:44 2006 From: robert at headsprout.com (Robert Denton) Date: Tue, 26 Sep 2006 13:00:44 -0400 Subject: %include syntax and usage In-Reply-To: <37ED92F9890FAF4BB947613C66FF8B1A08BB2EA5@dw-mail.dataway.com> References: <37ED92F9890FAF4BB947613C66FF8B1A08BB2EA5@dw-mail.dataway.com> Message-ID: I wanna say thanks to all the good folks who contributed to my knowledge of how to use includes in kickstart files, I not only learned _how_ to do it, but how it all works as well, which is a terrific bonus. Thanks again, and for the record, the nuts and bolts of actually getting it to work consisted of nothing more than: %include /tmp/packages %pre wget http://10.0.0.54/packages -O /tmp/packages On Sep 14, 2006, at 9:17 PM, Tedman Eng wrote: > I would like to re-emphasize that very important point for the sake of > future Googlers: > > Default ks.cfg behavior is: > > %pre runs in non chroot > /usr/bin/some_tool is busybox's version > > > %post runs in "chroot /mnt/sysimage" > /usr/bin/some_tool is the installed RPM version > > > > >> -----Original Message----- >> From: Shabazian, Chip [mailto:Chip.Shabazian at bankofamerica.com] >> Sent: Wednesday, September 13, 2006 4:17 PM >> To: Discussion list about Kickstart >> Subject: RE: %include syntax and usage >> >> >> Do as I suggested earlier, put a sleep 9999999 in your %pre, >> kickstart >> the box, open a shell (Alt-F2) and test it. Try a wget, look >> at what's >> in /tmp (for example, you will see the kickstart file has been copied >> there), if you are building over nfs, see what's mounted where, etc. >> When you do this, you are working in the same build environment that >> kickstart is working in. Anything you can do here, you can do in >> kickstart. Anything you can't access here, kickstart can't access. >> >> You can do the same thing for your %post, except that in >> order to be in >> the same environment (unless you use nochroot), you will need >> to chroot >> /mnt/sysimage first. >> >> Chip >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Wednesday, September 13, 2006 3:59 PM >> To: Discussion list about Kickstart >> Subject: Re: %include syntax and usage >> >> Jesse, that's interesting approach. I have actually tried using wget >> but I get the error that wget is not a known command. I usually do >> not use a %pre section. Where should I put the wget? In the >> %post? >> Don't I need to declare packages before the %post section? >> >> Robert Denton >> Network Administrator >> Headsprout >> 800.401.5062 x1305 >> www.headsprout.com >> >> On Sep 13, 2006, at 6:54 PM, Jesse Keating wrote: >> >>> On Wednesday 13 September 2006 18:38, Robert Denton wrote: >>>> Right, I see what you mean about the documentation. I >> would love for >> >>>> one of the maintainers of kickstart to pipe in regarding >> how to use >>>> include in kickstart scripts. Where does the >> "/path/to/file" need to >> >>>> live in order for the install to see it. That is very confusing. >>> >>> The path is relative to the file system on the system being >> installed. >> >>> I generate them in %pre to dump to /tmp/packages (since that's >>> writable memdisk), or wget them to /tmp/packages so my %include is >>> %include /tmp/packages. >>> >>> Think of it like this, once you've started the install, go to tty2 >>> where you would get a shell, and that file system would be >> where your >>> file needs to live. >>> >>> -- >>> Jesse Keating RHCE (geek.j2solutions.net) >>> Fedora Legacy Team (www.fedoralegacy.org) >>> GPG Public Key (geek.j2solutions.net/ >>> jkeating.j2solutions.pub) >>> _______________________________________________ >>> Kickstart-list mailing list >>> Kickstart-list at redhat.com >>> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Tue Sep 26 19:12:56 2006 From: robert at headsprout.com (Robert Denton) Date: Tue, 26 Sep 2006 15:12:56 -0400 Subject: Package Refinement In-Reply-To: References: Message-ID: <3BAE57FA-148E-4CAB-84E8-5D06654A9CE4@headsprout.com> Hello all, Now that I have the kickstart file mostly working how I would like it, I would like some advice on how to reduce the packages installed to the bare minimum for what I would like to do (simple webserver - not exposed to internet). Here are some specific queries: 1. I have noticed that my perl scripts that use LWP will not work unless I include @development-tools in the package list. Since the units I am building will not serve as workstations for development, I would rather not install that group at all. I am wondering specifically what package in that group is providing the LWP support. There are a lot of PERL related packages in @development- tools but they all seem to relate to XML. The page I am relying on for info is here: http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html 2. "Default, Hidden" There are two package groups that are listed as Default, Hidden, which I am wondering if they are installed without being listed in the packages group. They are @dialup and @java. Lets take dialup for example. @dialup includes the following defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. Oddly, everyone of these packages are installed although I did not specify the group in the packages list. Thus the 'Default. Hidden' must indeed override the packeges list. Is there some reason why my system would need these files although there is NO modem? 3. I have found a way to list all packages installed, sorted by size but I would love to redirect the output of the command to a file. My usual bag of tricks is not working (cat, >, etc). Any suggestions? Here is the command: rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n Thanks for any and all input!! From Chip.Shabazian at bankofamerica.com Tue Sep 26 19:28:28 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Tue, 26 Sep 2006 12:28:28 -0700 Subject: Package Refinement In-Reply-To: <3BAE57FA-148E-4CAB-84E8-5D06654A9CE4@headsprout.com> Message-ID: 1) You can figure out which rpm provides which file by using -qf: [root at someserver directory]# rpm -qf /usr/lib/perl5/vendor_perl/5.8.0/LWP perl-libwww-perl-5.65-6 2) If you want to exclude all those hidden packages, you can use nobase: %packages --nobase However, doing this will require you to ADD a lot of packages back to the build in order to get a bootable, useable system. I find it easier to remove unwanted packages and add the ones I want: %package -finger -iptables-ipv6 httpd perl-libwww-perl-5.65-6 ... etc 3) You can use your standard redirects: rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/rpms_by_size -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Tuesday, September 26, 2006 12:13 PM To: Discussion list about Kickstart Subject: Package Refinement Hello all, Now that I have the kickstart file mostly working how I would like it, I would like some advice on how to reduce the packages installed to the bare minimum for what I would like to do (simple webserver - not exposed to internet). Here are some specific queries: 1. I have noticed that my perl scripts that use LWP will not work unless I include @development-tools in the package list. Since the units I am building will not serve as workstations for development, I would rather not install that group at all. I am wondering specifically what package in that group is providing the LWP support. There are a lot of PERL related packages in @development- tools but they all seem to relate to XML. The page I am relying on for info is here: http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html 2. "Default, Hidden" There are two package groups that are listed as Default, Hidden, which I am wondering if they are installed without being listed in the packages group. They are @dialup and @java. Lets take dialup for example. @dialup includes the following defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. Oddly, everyone of these packages are installed although I did not specify the group in the packages list. Thus the 'Default. Hidden' must indeed override the packeges list. Is there some reason why my system would need these files although there is NO modem? 3. I have found a way to list all packages installed, sorted by size but I would love to redirect the output of the command to a file. My usual bag of tricks is not working (cat, >, etc). Any suggestions? Here is the command: rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n Thanks for any and all input!! _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Tue Sep 26 19:32:40 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Tue, 26 Sep 2006 12:32:40 -0700 Subject: Package Refinement In-Reply-To: Message-ID: Sorry, in %packages, DON'T include version, and don't forget the s like I did ;) %packages -finger -iptables-ipv6 httpd perl-libwww-perl -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Shabazian, Chip Sent: Tuesday, September 26, 2006 12:28 PM To: Discussion list about Kickstart Subject: RE: Package Refinement 1) You can figure out which rpm provides which file by using -qf: [root at someserver directory]# rpm -qf /usr/lib/perl5/vendor_perl/5.8.0/LWP perl-libwww-perl-5.65-6 2) If you want to exclude all those hidden packages, you can use nobase: %packages --nobase However, doing this will require you to ADD a lot of packages back to the build in order to get a bootable, useable system. I find it easier to remove unwanted packages and add the ones I want: %package -finger -iptables-ipv6 httpd perl-libwww-perl-5.65-6 ... etc 3) You can use your standard redirects: rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/rpms_by_size -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Tuesday, September 26, 2006 12:13 PM To: Discussion list about Kickstart Subject: Package Refinement Hello all, Now that I have the kickstart file mostly working how I would like it, I would like some advice on how to reduce the packages installed to the bare minimum for what I would like to do (simple webserver - not exposed to internet). Here are some specific queries: 1. I have noticed that my perl scripts that use LWP will not work unless I include @development-tools in the package list. Since the units I am building will not serve as workstations for development, I would rather not install that group at all. I am wondering specifically what package in that group is providing the LWP support. There are a lot of PERL related packages in @development- tools but they all seem to relate to XML. The page I am relying on for info is here: http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html 2. "Default, Hidden" There are two package groups that are listed as Default, Hidden, which I am wondering if they are installed without being listed in the packages group. They are @dialup and @java. Lets take dialup for example. @dialup includes the following defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. Oddly, everyone of these packages are installed although I did not specify the group in the packages list. Thus the 'Default. Hidden' must indeed override the packeges list. Is there some reason why my system would need these files although there is NO modem? 3. I have found a way to list all packages installed, sorted by size but I would love to redirect the output of the command to a file. My usual bag of tricks is not working (cat, >, etc). Any suggestions? Here is the command: rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n Thanks for any and all input!! _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Tue Sep 26 19:39:43 2006 From: robert at headsprout.com (Robert Denton) Date: Tue, 26 Sep 2006 15:39:43 -0400 Subject: Package Refinement In-Reply-To: References: Message-ID: <60DB4591-9325-405D-AFBD-1A0BCBE96B96@headsprout.com> Thanks for the quick response. So, if I do nnot use --nobase, but want to exclude those default groups, can I do this: %packages --resolvedeps @ web-server -squid.i386 -webalizer.i386 -tux.i386 @ mail-server -dovecot.i386 -spamassassin.i386 -@ dialup -@ java kernel grub e2fsprogs expect vim-enhanced lvm2 perl tcl perl-libwww-perl ntp netconfig wget On Sep 26, 2006, at 3:32 PM, Shabazian, Chip wrote: > Sorry, in %packages, DON'T include version, and don't forget the s > like > I did ;) > > %packages > -finger > -iptables-ipv6 > httpd > perl-libwww-perl > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Shabazian, > Chip > Sent: Tuesday, September 26, 2006 12:28 PM > To: Discussion list about Kickstart > Subject: RE: Package Refinement > > > 1) You can figure out which rpm provides which file by using -qf: > > [root at someserver directory]# rpm -qf > /usr/lib/perl5/vendor_perl/5.8.0/LWP > perl-libwww-perl-5.65-6 > > 2) If you want to exclude all those hidden packages, you can use > nobase: > > %packages --nobase > > However, doing this will require you to ADD a lot of packages back to > the build in order to get a bootable, useable system. I find it > easier > to remove unwanted packages and add the ones I want: > > %package > -finger > -iptables-ipv6 > httpd > perl-libwww-perl-5.65-6 > ... etc > > 3) You can use your standard redirects: > > rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/ > rpms_by_size > > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Tuesday, September 26, 2006 12:13 PM > To: Discussion list about Kickstart > Subject: Package Refinement > > Hello all, > > Now that I have the kickstart file mostly working how I would like > it, I > would like some advice on how to reduce the packages installed to the > bare minimum for what I would like to do (simple webserver - not > exposed > to internet). Here are some specific queries: > > 1. I have noticed that my perl scripts that use LWP will not work > unless > I include @development-tools in the package list. Since the units > I am > building will not serve as workstations for development, I would > rather > not install that group at all. I am wondering specifically what > package > in that group is providing the LWP support. There are a lot of PERL > related packages in @development- tools but they all seem to relate to > XML. The page I am relying on for info is here: > > http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html > > 2. "Default, Hidden" There are two package groups that are listed as > Default, Hidden, which I am wondering if they are installed without > being listed in the packages group. They are @dialup and @java. > Lets take dialup for example. @dialup includes the following > defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. > Oddly, everyone of these packages are installed although I did not > specify the group in the packages list. Thus the 'Default. Hidden' > must indeed override the packeges list. Is there some reason why my > system would need these files although there is NO modem? > > 3. I have found a way to list all packages installed, sorted by > size but > I would love to redirect the output of the command to a file. My > usual bag of tricks is not working (cat, >, etc). Any suggestions? > Here is the command: > > rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > > Thanks for any and all input!! > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From Chip.Shabazian at bankofamerica.com Tue Sep 26 19:53:04 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Tue, 26 Sep 2006 12:53:04 -0700 Subject: Package Refinement In-Reply-To: <60DB4591-9325-405D-AFBD-1A0BCBE96B96@headsprout.com> Message-ID: I don't think you can remove a default package group this way: -@ dialup But, I've never tried it..... Other than that, yes your sample is fine, however I wouldn't add entire package groups because you need a particular package. Start with a bare build. In other words, have a %packages with nothing in it (unless you want to try -@ dialup), then only add the packages you NEED to get the environment running: up2date httpd perl-libwww-perl This will resolve deps and give you a list of needed packages which you can then add into your kickstart file if you wish. You can then figure out what you can REMOVE by removing packages. rpm won't allow you to remove anything that's needed by another package unless you force it: rpm -e squid All of the packages you've removed go into your packages section with a minus in front of them. Alternatively, you CAN go through the comps.xml and try to figure it all out first, but I've found this way to be MUCH easier. This is a BARE MINIMUM I have come up with (RHEL3 I believe) that still allows you to get into the server via ssh and load additional rpms %packages # you COULD delete the following, but I want them #-portmap #-openssh-clients #-openssh-server #-openssh #-openssl #-vim-minimal #-vim-common #-dhclient # To install a Minimum X environment, the following is all that is needed # XFree86-twm -cyrus-sasl -cyrus-sasl-md5 -glib2 -kbd -krb5-libs -libuser -openldap -tcp_wrappers -usermode -zip -xinetd -wget -vixie-cron -usbutils -up2date -unzip -unix2dos -traceroute -tmpwatch -time -telnet -tcsh -tcpdump -sysreport -symlinks -stunnel -specspo -slocate -sharutils -sendmail -rsync -rpm-python -rpmdb-redhat -rootfiles -rmt -rhpl -rhnlib -redhat-release -redhat-menus -redhat-logos -readline -raidtools -quota -pyxf86config -python-optik -python -pyOpenSSL -psacct -procmail -pinfo -pdksh -pciutils -patch -passwd -parted -nss_ldap -nscd -nfs-utils -netdump -netconfig -ncompress -mt-st -mtr -mtools -mgetty -mdadm -man-pages -man -MAKEDEV -make -mailx -mailcap -m4 -lsof -lslk -logwatch -logrotate -lockdev -libtool-libs -libstdc++ -libgcj -kernel-utils -kernel -htmlview -hotplug -hesiod -hdparm -groff -gnupg -gmp -ftp -file -elfutils -eject -ed -dump -dos2unix -diffutils -devlabel -cyrus-sasl-plain -crontabs -cpio -bzip2 -binutils -bind-utils -bc -autofs -authconfig -attr -at -fbset -finger -iptables-ipv6 -irda-utils -isdn4k-utils -jfsutils -jwhois -krb5-workstation -krbafs-utils -lftp -lha -libwvstreams -nano -ppp -prelink -rdate -redhat-config-mouse -redhat-config-soundcard -rp-pppoe -rsh -samba -samba-common -schedutils -setarch -star -sudo -talk -tftp -vconfig -wireless-tools -wvdial -cyrus-sasl-gssapi -ipsec-tools -libobjc -pam_smb -acl -apmd -aspell -cups -cups-libs -dosfstools -gettext -iptables -krbafs -libjpeg -libpng -libtiff -minicom -mkbootdisk -nc -ntsysv -pam_krb5 -pax -pspell -rdist -redhat-config-network-tui -redhat-config-securitylevel-tui -redhat-lsb -setserial -setuptool -syslinux -utempter -ash -kernel-pcmcia-cs -yp-tools -ypbind -acpid -authd -diskdumputils -eal3-certification -eal3-certification-doc -iscsi-initiator-utils -jpackage-utils -laus -nss_db -pam_passwdqc -up2date-update Chip -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Tuesday, September 26, 2006 12:40 PM To: Discussion list about Kickstart Subject: Re: Package Refinement Thanks for the quick response. So, if I do nnot use --nobase, but want to exclude those default groups, can I do this: %packages --resolvedeps @ web-server -squid.i386 -webalizer.i386 -tux.i386 @ mail-server -dovecot.i386 -spamassassin.i386 -@ dialup -@ java kernel grub e2fsprogs expect vim-enhanced lvm2 perl tcl perl-libwww-perl ntp netconfig wget On Sep 26, 2006, at 3:32 PM, Shabazian, Chip wrote: > Sorry, in %packages, DON'T include version, and don't forget the s > like I did ;) > > %packages > -finger > -iptables-ipv6 > httpd > perl-libwww-perl > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Shabazian, > Chip > Sent: Tuesday, September 26, 2006 12:28 PM > To: Discussion list about Kickstart > Subject: RE: Package Refinement > > > 1) You can figure out which rpm provides which file by using -qf: > > [root at someserver directory]# rpm -qf > /usr/lib/perl5/vendor_perl/5.8.0/LWP > perl-libwww-perl-5.65-6 > > 2) If you want to exclude all those hidden packages, you can use > nobase: > > %packages --nobase > > However, doing this will require you to ADD a lot of packages back to > the build in order to get a bootable, useable system. I find it > easier to remove unwanted packages and add the ones I want: > > %package > -finger > -iptables-ipv6 > httpd > perl-libwww-perl-5.65-6 > ... etc > > 3) You can use your standard redirects: > > rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/ > rpms_by_size > > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Tuesday, September 26, 2006 12:13 PM > To: Discussion list about Kickstart > Subject: Package Refinement > > Hello all, > > Now that I have the kickstart file mostly working how I would like it, > I would like some advice on how to reduce the packages installed to > the bare minimum for what I would like to do (simple webserver - not > exposed to internet). Here are some specific queries: > > 1. I have noticed that my perl scripts that use LWP will not work > unless I include @development-tools in the package list. Since the > units I am building will not serve as workstations for development, I > would rather not install that group at all. I am wondering > specifically what package in that group is providing the LWP support. > There are a lot of PERL related packages in @development- tools but > they all seem to relate to XML. The page I am relying on for info is > here: > > http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html > > 2. "Default, Hidden" There are two package groups that are listed as > Default, Hidden, which I am wondering if they are installed without > being listed in the packages group. They are @dialup and @java. > Lets take dialup for example. @dialup includes the following > defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. > Oddly, everyone of these packages are installed although I did not > specify the group in the packages list. Thus the 'Default. Hidden' > must indeed override the packeges list. Is there some reason why my > system would need these files although there is NO modem? > > 3. I have found a way to list all packages installed, sorted by size > but I would love to redirect the output of the command to a file. My > usual bag of tricks is not working (cat, >, etc). Any suggestions? > Here is the command: > > rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > > Thanks for any and all input!! > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Tue Sep 26 20:29:16 2006 From: robert at headsprout.com (Robert Denton) Date: Tue, 26 Sep 2006 16:29:16 -0400 Subject: Package Refinement In-Reply-To: References: Message-ID: <8359D555-2E9F-4025-AFB5-D648CB306380@headsprout.com> I just did a test build with the sample I showed you before, and I included: -@ dialup -@ java The install did not complain, but the files were still installed. I am surprised that the install did not abort or ask for input. In the past when I have excluded packages from the packages list I had to add the arch (ex: -package_name.i386) or the install would die. I am surprised you can have something in your packages list that means nothing does nothing and there is no complaint from anaconda at all. The only packages where I include an entire group are for webserver and mailserver, and then I just remove the packages I do not need from them, like: %packages --resolvedeps @ web-server -squid.i386 -webalizer.i386 -tux.i386 @ mail-server -dovecot.i386 -spamassassin.i386 -@ dialup -@ java I also specify the following packages individually: kernel grub expect vim-enhanced lvm2 perl perl-libwww-perl tcl ntp netconfig wget Oddly though there are a bunch of packages that do not seem to be related to the groups and are not in my list that get installed. Here are some examples of packages that I cannot explain how or why they were installed: specspo (for internationalizing packages) aspell cracklib-dicts xorg-x11-libs (I do not install a gui at all) Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 26, 2006, at 3:53 PM, Shabazian, Chip wrote: > I don't think you can remove a default package group this way: > -@ dialup > > But, I've never tried it..... > > Other than that, yes your sample is fine, however I wouldn't add > entire > package groups because you need a particular package. Start with a > bare > build. In other words, have a %packages with nothing in it (unless > you > want to try -@ dialup), then only add the packages you NEED to get the > environment running: > > up2date httpd perl-libwww-perl > > This will resolve deps and give you a list of needed packages which > you > can then add into your kickstart file if you wish. > > You can then figure out what you can REMOVE by removing packages. rpm > won't allow you to remove anything that's needed by another package > unless you force it: > > rpm -e squid > > All of the packages you've removed go into your packages section > with a > minus in front of them. > > Alternatively, you CAN go through the comps.xml and try to figure > it all > out first, but I've found this way to be MUCH easier. > > This is a BARE MINIMUM I have come up with (RHEL3 I believe) that > still > allows you to get into the server via ssh and load additional rpms > > %packages > # you COULD delete the following, but I want them > #-portmap > #-openssh-clients > #-openssh-server > #-openssh > #-openssl > #-vim-minimal > #-vim-common > #-dhclient > # To install a Minimum X environment, the following is all that is > needed > # XFree86-twm > -cyrus-sasl > -cyrus-sasl-md5 > -glib2 > -kbd > -krb5-libs > -libuser > -openldap > -tcp_wrappers > -usermode > -zip > -xinetd > -wget > -vixie-cron > -usbutils > -up2date > -unzip > -unix2dos > -traceroute > -tmpwatch > -time > -telnet > -tcsh > -tcpdump > -sysreport > -symlinks > -stunnel > -specspo > -slocate > -sharutils > -sendmail > -rsync > -rpm-python > -rpmdb-redhat > -rootfiles > -rmt > -rhpl > -rhnlib > -redhat-release > -redhat-menus > -redhat-logos > -readline > -raidtools > -quota > -pyxf86config > -python-optik > -python > -pyOpenSSL > -psacct > -procmail > -pinfo > -pdksh > -pciutils > -patch > -passwd > -parted > -nss_ldap > -nscd > -nfs-utils > -netdump > -netconfig > -ncompress > -mt-st > -mtr > -mtools > -mgetty > -mdadm > -man-pages > -man > -MAKEDEV > -make > -mailx > -mailcap > -m4 > -lsof > -lslk > -logwatch > -logrotate > -lockdev > -libtool-libs > -libstdc++ > -libgcj > -kernel-utils > -kernel > -htmlview > -hotplug > -hesiod > -hdparm > -groff > -gnupg > -gmp > -ftp > -file > -elfutils > -eject > -ed > -dump > -dos2unix > -diffutils > -devlabel > -cyrus-sasl-plain > -crontabs > -cpio > -bzip2 > -binutils > -bind-utils > -bc > -autofs > -authconfig > -attr > -at > -fbset > -finger > -iptables-ipv6 > -irda-utils > -isdn4k-utils > -jfsutils > -jwhois > -krb5-workstation > -krbafs-utils > -lftp > -lha > -libwvstreams > -nano > -ppp > -prelink > -rdate > -redhat-config-mouse > -redhat-config-soundcard > -rp-pppoe > -rsh > -samba > -samba-common > -schedutils > -setarch > -star > -sudo > -talk > -tftp > -vconfig > -wireless-tools > -wvdial > -cyrus-sasl-gssapi > -ipsec-tools > -libobjc > -pam_smb > -acl > -apmd > -aspell > -cups > -cups-libs > -dosfstools > -gettext > -iptables > -krbafs > -libjpeg > -libpng > -libtiff > -minicom > -mkbootdisk > -nc > -ntsysv > -pam_krb5 > -pax > -pspell > -rdist > -redhat-config-network-tui > -redhat-config-securitylevel-tui > -redhat-lsb > -setserial > -setuptool > -syslinux > -utempter > -ash > -kernel-pcmcia-cs > -yp-tools > -ypbind > -acpid > -authd > -diskdumputils > -eal3-certification > -eal3-certification-doc > -iscsi-initiator-utils > -jpackage-utils > -laus > -nss_db > -pam_passwdqc > -up2date-update > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Tuesday, September 26, 2006 12:40 PM > To: Discussion list about Kickstart > Subject: Re: Package Refinement > > Thanks for the quick response. So, if I do nnot use --nobase, but > want > to exclude those default groups, can I do this: > > %packages --resolvedeps > @ web-server > -squid.i386 > -webalizer.i386 > -tux.i386 > @ mail-server > -dovecot.i386 > -spamassassin.i386 > -@ dialup > -@ java > > kernel > grub > e2fsprogs > expect > vim-enhanced > lvm2 > perl > tcl > perl-libwww-perl > ntp > netconfig > wget > > > > On Sep 26, 2006, at 3:32 PM, Shabazian, Chip wrote: > >> Sorry, in %packages, DON'T include version, and don't forget the s >> like I did ;) >> >> %packages >> -finger >> -iptables-ipv6 >> httpd >> perl-libwww-perl >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Shabazian, >> Chip >> Sent: Tuesday, September 26, 2006 12:28 PM >> To: Discussion list about Kickstart >> Subject: RE: Package Refinement >> >> >> 1) You can figure out which rpm provides which file by using -qf: >> >> [root at someserver directory]# rpm -qf >> /usr/lib/perl5/vendor_perl/5.8.0/LWP >> perl-libwww-perl-5.65-6 >> >> 2) If you want to exclude all those hidden packages, you can use >> nobase: >> >> %packages --nobase >> >> However, doing this will require you to ADD a lot of packages back to >> the build in order to get a bootable, useable system. I find it >> easier to remove unwanted packages and add the ones I want: >> >> %package >> -finger >> -iptables-ipv6 >> httpd >> perl-libwww-perl-5.65-6 >> ... etc >> >> 3) You can use your standard redirects: >> >> rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/ >> rpms_by_size >> >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Tuesday, September 26, 2006 12:13 PM >> To: Discussion list about Kickstart >> Subject: Package Refinement >> >> Hello all, >> >> Now that I have the kickstart file mostly working how I would like >> it, > >> I would like some advice on how to reduce the packages installed to >> the bare minimum for what I would like to do (simple webserver - not >> exposed to internet). Here are some specific queries: >> >> 1. I have noticed that my perl scripts that use LWP will not work >> unless I include @development-tools in the package list. Since the >> units I am building will not serve as workstations for development, I >> would rather not install that group at all. I am wondering >> specifically what package in that group is providing the LWP support. > >> There are a lot of PERL related packages in @development- tools but >> they all seem to relate to XML. The page I am relying on for info is >> here: >> >> http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html >> >> 2. "Default, Hidden" There are two package groups that are listed as >> Default, Hidden, which I am wondering if they are installed without >> being listed in the packages group. They are @dialup and @java. >> Lets take dialup for example. @dialup includes the following >> defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. >> Oddly, everyone of these packages are installed although I did not >> specify the group in the packages list. Thus the 'Default. Hidden' >> must indeed override the packeges list. Is there some reason why my >> system would need these files although there is NO modem? >> >> 3. I have found a way to list all packages installed, sorted by size >> but I would love to redirect the output of the command to a file. My >> usual bag of tricks is not working (cat, >, etc). Any suggestions? >> Here is the command: >> >> rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n >> >> Thanks for any and all input!! >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list From robert at headsprout.com Tue Sep 26 20:30:35 2006 From: robert at headsprout.com (Robert Denton) Date: Tue, 26 Sep 2006 16:30:35 -0400 Subject: Package Refinement In-Reply-To: References: Message-ID: BTW, the standard redirect (which I had tried previously) doesn't seem to work with the command I showed below. Try it, and hopefully you will see it produces an empty file. On Sep 26, 2006, at 3:28 PM, Shabazian, Chip wrote: > > > 3) You can use your standard redirects: > > rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/ > rpms_by_size > > > - From Chip.Shabazian at bankofamerica.com Tue Sep 26 20:45:43 2006 From: Chip.Shabazian at bankofamerica.com (Shabazian, Chip) Date: Tue, 26 Sep 2006 13:45:43 -0700 Subject: Package Refinement In-Reply-To: <8359D555-2E9F-4025-AFB5-D648CB306380@headsprout.com> Message-ID: The redirect works just fine for me. Here is a copy/paste from my session: [root at server directory]# rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/test ; head /tmp/test 0 basesystem 0 dev 0 filesystem 0 gpg-pubkey 0 gpg-pubkey 0 gpg-pubkey 37 docbook-utils-pdf 184 aspell-config 1004 crontabs Specspo, aspell, and probably the rest are in the dialup group, which is required if you don't use --nobase. You will have to remove it manually or use --nobase and ADD a lot of packages to your build. WHY dialup is required is a different question that I have been asking Red Hat for YEARS. I've yet to see a production server that uses dialup. -----Original Message----- From: kickstart-list-bounces at redhat.com [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton Sent: Tuesday, September 26, 2006 1:29 PM To: Discussion list about Kickstart Subject: Re: Package Refinement I just did a test build with the sample I showed you before, and I included: -@ dialup -@ java The install did not complain, but the files were still installed. I am surprised that the install did not abort or ask for input. In the past when I have excluded packages from the packages list I had to add the arch (ex: -package_name.i386) or the install would die. I am surprised you can have something in your packages list that means nothing does nothing and there is no complaint from anaconda at all. The only packages where I include an entire group are for webserver and mailserver, and then I just remove the packages I do not need from them, like: %packages --resolvedeps @ web-server -squid.i386 -webalizer.i386 -tux.i386 @ mail-server -dovecot.i386 -spamassassin.i386 -@ dialup -@ java I also specify the following packages individually: kernel grub expect vim-enhanced lvm2 perl perl-libwww-perl tcl ntp netconfig wget Oddly though there are a bunch of packages that do not seem to be related to the groups and are not in my list that get installed. Here are some examples of packages that I cannot explain how or why they were installed: specspo (for internationalizing packages) aspell cracklib-dicts xorg-x11-libs (I do not install a gui at all) Robert Denton Network Administrator Headsprout 800.401.5062 x1305 www.headsprout.com On Sep 26, 2006, at 3:53 PM, Shabazian, Chip wrote: > I don't think you can remove a default package group this way: > -@ dialup > > But, I've never tried it..... > > Other than that, yes your sample is fine, however I wouldn't add > entire package groups because you need a particular package. Start > with a bare build. In other words, have a %packages with nothing in > it (unless you want to try -@ dialup), then only add the packages you > NEED to get the environment running: > > up2date httpd perl-libwww-perl > > This will resolve deps and give you a list of needed packages which > you can then add into your kickstart file if you wish. > > You can then figure out what you can REMOVE by removing packages. rpm > won't allow you to remove anything that's needed by another package > unless you force it: > > rpm -e squid > > All of the packages you've removed go into your packages section with > a minus in front of them. > > Alternatively, you CAN go through the comps.xml and try to figure it > all out first, but I've found this way to be MUCH easier. > > This is a BARE MINIMUM I have come up with (RHEL3 I believe) that > still allows you to get into the server via ssh and load additional > rpms > > %packages > # you COULD delete the following, but I want them #-portmap > #-openssh-clients #-openssh-server #-openssh #-openssl #-vim-minimal > #-vim-common #-dhclient # To install a Minimum X environment, the > following is all that is needed # XFree86-twm -cyrus-sasl > -cyrus-sasl-md5 > -glib2 > -kbd > -krb5-libs > -libuser > -openldap > -tcp_wrappers > -usermode > -zip > -xinetd > -wget > -vixie-cron > -usbutils > -up2date > -unzip > -unix2dos > -traceroute > -tmpwatch > -time > -telnet > -tcsh > -tcpdump > -sysreport > -symlinks > -stunnel > -specspo > -slocate > -sharutils > -sendmail > -rsync > -rpm-python > -rpmdb-redhat > -rootfiles > -rmt > -rhpl > -rhnlib > -redhat-release > -redhat-menus > -redhat-logos > -readline > -raidtools > -quota > -pyxf86config > -python-optik > -python > -pyOpenSSL > -psacct > -procmail > -pinfo > -pdksh > -pciutils > -patch > -passwd > -parted > -nss_ldap > -nscd > -nfs-utils > -netdump > -netconfig > -ncompress > -mt-st > -mtr > -mtools > -mgetty > -mdadm > -man-pages > -man > -MAKEDEV > -make > -mailx > -mailcap > -m4 > -lsof > -lslk > -logwatch > -logrotate > -lockdev > -libtool-libs > -libstdc++ > -libgcj > -kernel-utils > -kernel > -htmlview > -hotplug > -hesiod > -hdparm > -groff > -gnupg > -gmp > -ftp > -file > -elfutils > -eject > -ed > -dump > -dos2unix > -diffutils > -devlabel > -cyrus-sasl-plain > -crontabs > -cpio > -bzip2 > -binutils > -bind-utils > -bc > -autofs > -authconfig > -attr > -at > -fbset > -finger > -iptables-ipv6 > -irda-utils > -isdn4k-utils > -jfsutils > -jwhois > -krb5-workstation > -krbafs-utils > -lftp > -lha > -libwvstreams > -nano > -ppp > -prelink > -rdate > -redhat-config-mouse > -redhat-config-soundcard > -rp-pppoe > -rsh > -samba > -samba-common > -schedutils > -setarch > -star > -sudo > -talk > -tftp > -vconfig > -wireless-tools > -wvdial > -cyrus-sasl-gssapi > -ipsec-tools > -libobjc > -pam_smb > -acl > -apmd > -aspell > -cups > -cups-libs > -dosfstools > -gettext > -iptables > -krbafs > -libjpeg > -libpng > -libtiff > -minicom > -mkbootdisk > -nc > -ntsysv > -pam_krb5 > -pax > -pspell > -rdist > -redhat-config-network-tui > -redhat-config-securitylevel-tui > -redhat-lsb > -setserial > -setuptool > -syslinux > -utempter > -ash > -kernel-pcmcia-cs > -yp-tools > -ypbind > -acpid > -authd > -diskdumputils > -eal3-certification > -eal3-certification-doc > -iscsi-initiator-utils > -jpackage-utils > -laus > -nss_db > -pam_passwdqc > -up2date-update > > Chip > > -----Original Message----- > From: kickstart-list-bounces at redhat.com > [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton > Sent: Tuesday, September 26, 2006 12:40 PM > To: Discussion list about Kickstart > Subject: Re: Package Refinement > > Thanks for the quick response. So, if I do nnot use --nobase, but > want to exclude those default groups, can I do this: > > %packages --resolvedeps > @ web-server > -squid.i386 > -webalizer.i386 > -tux.i386 > @ mail-server > -dovecot.i386 > -spamassassin.i386 > -@ dialup > -@ java > > kernel > grub > e2fsprogs > expect > vim-enhanced > lvm2 > perl > tcl > perl-libwww-perl > ntp > netconfig > wget > > > > On Sep 26, 2006, at 3:32 PM, Shabazian, Chip wrote: > >> Sorry, in %packages, DON'T include version, and don't forget the s >> like I did ;) >> >> %packages >> -finger >> -iptables-ipv6 >> httpd >> perl-libwww-perl >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Shabazian, >> Chip >> Sent: Tuesday, September 26, 2006 12:28 PM >> To: Discussion list about Kickstart >> Subject: RE: Package Refinement >> >> >> 1) You can figure out which rpm provides which file by using -qf: >> >> [root at someserver directory]# rpm -qf >> /usr/lib/perl5/vendor_perl/5.8.0/LWP >> perl-libwww-perl-5.65-6 >> >> 2) If you want to exclude all those hidden packages, you can use >> nobase: >> >> %packages --nobase >> >> However, doing this will require you to ADD a lot of packages back to >> the build in order to get a bootable, useable system. I find it >> easier to remove unwanted packages and add the ones I want: >> >> %package >> -finger >> -iptables-ipv6 >> httpd >> perl-libwww-perl-5.65-6 >> ... etc >> >> 3) You can use your standard redirects: >> >> rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n > /tmp/ >> rpms_by_size >> >> >> -----Original Message----- >> From: kickstart-list-bounces at redhat.com >> [mailto:kickstart-list-bounces at redhat.com] On Behalf Of Robert Denton >> Sent: Tuesday, September 26, 2006 12:13 PM >> To: Discussion list about Kickstart >> Subject: Package Refinement >> >> Hello all, >> >> Now that I have the kickstart file mostly working how I would like >> it, > >> I would like some advice on how to reduce the packages installed to >> the bare minimum for what I would like to do (simple webserver - not >> exposed to internet). Here are some specific queries: >> >> 1. I have noticed that my perl scripts that use LWP will not work >> unless I include @development-tools in the package list. Since the >> units I am building will not serve as workstations for development, I >> would rather not install that group at all. I am wondering >> specifically what package in that group is providing the LWP support. > >> There are a lot of PERL related packages in @development- tools but >> they all seem to relate to XML. The page I am relying on for info is >> here: >> >> http://penguin.triumf.ca/comps/fc4/comps-v4-lang-en_US.html >> >> 2. "Default, Hidden" There are two package groups that are listed as >> Default, Hidden, which I am wondering if they are installed without >> being listed in the packages group. They are @dialup and @java. >> Lets take dialup for example. @dialup includes the following >> defaults: ppp, isdn4k-utils, lrzsz, minicom, statserial, wvdial. >> Oddly, everyone of these packages are installed although I did not >> specify the group in the packages list. Thus the 'Default. Hidden' >> must indeed override the packeges list. Is there some reason why my >> system would need these files although there is NO modem? >> >> 3. I have found a way to list all packages installed, sorted by size >> but I would love to redirect the output of the command to a file. My >> usual bag of tricks is not working (cat, >, etc). Any suggestions? >> Here is the command: >> >> rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n >> >> Thanks for any and all input!! >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list >> >> _______________________________________________ >> Kickstart-list mailing list >> Kickstart-list at redhat.com >> https://www.redhat.com/mailman/listinfo/kickstart-list > > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list at redhat.com > https://www.redhat.com/mailman/listinfo/kickstart-list _______________________________________________ Kickstart-list mailing list Kickstart-list at redhat.com https://www.redhat.com/mailman/listinfo/kickstart-list From ks at puzzled.xs4all.nl Tue Sep 26 21:10:21 2006 From: ks at puzzled.xs4all.nl (Patrick) Date: Tue, 26 Sep 2006 23:10:21 +0200 Subject: Package Refinement In-Reply-To: References: Message-ID: <1159305022.2666.59.camel@speedy.puzzled.xs4all.nl> On Tue, 2006-09-26 at 13:45 -0700, Shabazian, Chip wrote: [snip] > WHY dialup is required is a different question that I have been asking > Red Hat for YEARS. I've yet to see a production server that uses > dialup. I have seen several AS400 servers from IBM that had a modem installed and dialed home if something was about to blow up. Maybe IBM does the same with their RHEL boxes and asked RH to keep dialup in a Base install (pure speculation off course). Regards, Patrick From ian at smallworld.cx Wed Sep 27 07:38:00 2006 From: ian at smallworld.cx (Ian Leonard) Date: Wed, 27 Sep 2006 08:38:00 +0100 Subject: FC5 custom cd set Message-ID: <451A2A58.6040300@smallworld.cx> Hi, I have been trying to build a custom set of cd's but on installation I get fatal errors about missing packages. The packages are there, they are just on a different disk to the one in the drive at the time. I have taken the distribution from the DVD and haven't added or removed any packages as yet. Does anybody have any scripts that can do this? Thanks. -- Ian Leonard Please ignore spelling and punctuation - I did. From phb at llgc.org.uk Wed Sep 27 09:42:22 2006 From: phb at llgc.org.uk (Phil Bettinson) Date: Wed, 27 Sep 2006 10:42:22 +0100 Subject: Package Refinement In-Reply-To: <8359D555-2E9F-4025-AFB5-D648CB306380@headsprout.com> References: <8359D555-2E9F-4025-AFB5-D648CB306380@headsprout.com> Message-ID: <451A477E.8080607@llgc.org.uk> Robert Denton wrote: > I just did a test build with the sample I showed you before, and I > included: > > -@ dialup > -@ java > > The install did not complain, but the files were still installed. I am > surprised that the install did not abort or ask for input. In the past > when I have excluded packages from the packages list I had to add the > arch (ex: -package_name.i386) or the install would die. > > I am surprised you can have something in your packages list that means > nothing does nothing and there is no complaint from anaconda at all. > The only packages where I include an entire group are for webserver and > mailserver, and then I just remove the packages I do not need from them, > like: ---snip--- > Oddly though there are a bunch of packages that do not seem to be > related to the groups and are not in my list that get installed. Here > are some examples of packages that I cannot explain how or why they were > installed: > > specspo (for internationalizing packages) > aspell > cracklib-dicts > xorg-x11-libs (I do not install a gui at all) > These random files are probably being installed as a dependency of something. xorg-x11-libs could come from anything that requires (or can use) X. Right now, however, I can't put my finger on anything that would. I thought aspell would come with vim or mutt or something, but a quick rpm -qR mutt doesn't appear to agree with me. Thanks, Phil -- ----------------------------------------------------------------------- Phil Bettinson BEng, RHCT Beng, RHCT Swyddog Gweinyddu Systemau Systems Administrator Isadran Cyfrifiaduron Computer Section Llyfrgell Genedlaethol Cymru National Library of Wales Aberystwyth, Aberystwyth Ceredigion, Ceredigion SY23 3BU SY23 3BU EBost / Email: phb at removethis.llgc.org.uk We / Web: http://www.llgc.org.uk ----------------------------------------------------------------------- Yn siarad drosof fy hun, nid LlGC - Speaking personally, not for NLW