Abstract
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novelin your current working directory, enter thecat my_next_bestselling_novelcommand at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F2 to switch to a virtual terminal.
mono-spaced bold. For example:
File-related classes includefilesystemfor file systems,filefor files, anddirfor directories. Each class has its own associated set of permissions.
Choose → → from the main menu bar to launch Mouse Preferences. In the Buttons tab, select the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).To insert a special character into a gedit file, choose → → from the main menu bar. Next, choose → from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose → from the gedit menu bar.
Mono-spaced Bold Italic or Proportional Bold Italic
To connect to a remote machine using ssh, typessh username@domain.nameat a shell prompt. If the remote machine isexample.comand your username on that machine is john, typessh john@example.com.Themount -o remount file-systemcommand remounts the named file system. For example, to remount the/homefile system, the command ismount -o remount /home.To see the version of a currently installed package, use therpm -q packagecommand. It will return a result as follows:package-version-release.
Publican is a DocBook publishing system.
mono-spaced roman and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman but add syntax highlighting as follows:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
public class ExClient
{
public static void main(String args[])
throws Exception
{
InitialContext iniCtx = new InitialContext();
Object ref = iniCtx.lookup("EchoBean");
EchoHome home = (EchoHome) ref;
Echo echo = home.create();
System.out.println("Created Echo");
System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
}
}Note
Important
Warning
Note
Table of Contents
Warning
Note
/tmp directory. These files are listed in the following table.
Table 6.1. Log Files and Their Contents
| Log file | Contents |
|---|---|
/tmp/anaconda.log
| general Anaconda messages |
/tmp/program.log
| all external programs run during the installation |
/tmp/storage.log
| extensive storage module information |
/tmp/packaging.log
| yum and rpm package installation messages |
/tmp/syslog
| hardware-related system messages |
/tmp/anaconda-tb-identifier, where identifier is a random string.
scp on the system running the installation program, or copy them to a mounted storage device (such as an USB flash drive). Details on how to transfer the log files are below. Note that if you use an USB flash drive or other removable media, you should make sure to back up any data on it before starting the procedure.
dmesg command. A log detailing all recent events will be displayed. At the bottom of this log, you will see a set of messages caused by the USB flash drive you just connected. It will look like a set of lines similar to the following:
[ 170.171135] sd 5:0:0:0: [sdb] Attached SCSI removable disk
sdb.
/mnt directory and once there, create new directory which will serve as the mount target for the USB drive. The name of the directory does not matter; this example uses the name usb.
#mkdir usb
sdb - use the name of the partition you want to write the log files to. In this example, the name sdb1 is used.
#mount /dev/sdb1 /mnt/usb
#cd /mnt/usb
#ls
#cp /tmp/*log /mnt/usb
/).
#umount /mnt/usb
/tmp directory where the log files are located:
#cd /tmp
scp command:
#scp *log user@address:path
john to a system with an IP address of 192.168.0.122 and place the log files into the /home/john/logs/ directory on that system, the command will have the following form:
#scp *log john@192.168.0.122:/home/john/logs/
The authenticity of host '192.168.0.122 (192.168.0.122)' can't be established.ECDSA key fingerprint is a4:60:76:eb:b2:d0:aa:23:af:3d:59:5c:de:bb:c4:42.Are you sure you want to continue connecting (yes/no)?
yes and press Enter to continue. Then, provide a valid password when prompted. The files will start transferring to the specified directory on the target system.
inst.xdriver=vesa at the end of the command line.
inst.resolution=x option at the boot menu, where x is your display's resolution (for example, 1024x768).
inst.xdriver=x option, where x is the device driver you want to use (for example, nouveau).
Note
anaconda component. Anaconda should be able to detect your hardware automatically and use the appropriate driver without your intervention.
inst.text and console= boot options. See Chapter 8, Boot Options for more details.
grub>) and a flashing cursor may be all that appears. If this is the case, you must repartition your system and move your /boot partition and the boot loader outside the RAID array. The /boot partition and the boot loader must be on the same drive.
Procedure 6.1. Disabling Graphical Boot Temporarily
linux (or, in some cases, linux16 or linuxefi). On this line, locate the rhgb option and delete it. The option may not be immediately visible; use the cursor keys to scroll up and down.
Procedure 6.2. Disabling Graphical Boot Permanently
root account using the su - command:
$su -
/etc/default/grub configuration file using a plain text editor such as vim.
grub file, locate the line beginning with GRUB_CMDLINE_LINUX. The line should look similar to the following:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.md=0 rd.dm=0 vconsole.keymap=us $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rd.luks=0 vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_rhel/swap rhgb quiet"
rhgb option.
#grub2-mkconfig --output=/boot/grub2/grub.cfg
rhgb option to the GRUB_CMDLINE_LINUX line in the /etc/default/grub file and refresh the boot loader configuration again using the grub2-mkconfig command.
startx command. Note, however, that this is just a one-time fix and does not change the log in process for future log ins.
graphical.target. When you are finished, reboot the computer. You will presented with a graphical login prompt after the system restarts.
Procedure 6.3. Setting Graphical Login as Default
su - command.
graphical.target. To do this, execute the following command:
#systemctl set-default graphical.target
root:
#systemctl set-default multi-user.target
yum install gnome-shell as root.
$df -h
/home partition. A sample output of the df command may look similar to the following:
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rhel-root 20G 6.0G 13G 32% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 2.7M 1.8G 1% /dev/shm tmpfs 1.8G 1012K 1.8G 1% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup tmpfs 1.8G 2.6M 1.8G 1% /tmp /dev/sda1 976M 150M 760M 17% /boot /dev/dm-4 90G 90G 0 100% /home
/home partition is full, which causes the crash. You can make some room on the partition by removing unneeded files. After you free up some disk space, start X using the startx command.
df and an explanation of the options available (such as the -h option used in this example), see the df(1) man page.
free -m command. If the displayed total amount of memory does not match your expectations, it is likely that at least one of your memory modules is faulty. On BIOS-based systems, you can use the Memtest86+ utility to test your system's memory - see Section 8.5.1, “Loading the Memory (RAM) Testing Mode” for details.
Note
free command. For details about kdump and its memory requirements, see the Fedora System Administrator's Guide, available at Fedora Documentation.
mem= kernel option.
Procedure 6.4. Configuring the Memory Manually
linux (or, in some cases, linux16). Append the following option to the end of this line:
mem=xxM
free -m command again. If total amount of RAM displayed by the command matches your expectations, append the following to the line beginning with GRUB_CMDLINE_LINUX in the /etc/default/grub file to make the change permanent:
mem=xxM
#grub2-mkconfig --output=/boot/grub2/grub.cfg
/etc/default/grub, the above example would look similar to the following:
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release.*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root vconsole.font=latarcyrheb-sun16 rd.lvm.lv=rhel/swap $([ -x /usr/sbin/rhcrashkernel.param ] && /usr/sbin/rhcrashkernel-param || :) vconsole.keymap=us rhgb quiet mem=1024M" GRUB_DISABLE_RECOVERY="true"
Table of Contents
=) require a value to be specified - they cannot be used on their own. For example, the inst.vncpassword= option must also contain a value (in this case, a password). The correct form is therefore inst.vncpassword=password. On its own, without a password specified, the option is invalid.
=" sign do not accept any values or parameters. For example, the rd.live.check option forces Anaconda to verify the installation media before starting the installation; if this option is present, the check will be performed, and if it is not present, the check will be skipped.
dracut.cmdline(7) man page.
Note
inst. in this guide. Currently, this prefix is optional - for example, resolution=1024x768 will work exactly the same as inst.resolution=1024x768. However, it is expected that the inst. prefix will be mandatory in future releases.
inst.repo=inst.repo=cdrom.treeinfo file
Table 8.1. Installation Sources
| Installation source | Option format |
|---|---|
| Any CD/DVD drive |
inst.repo=cdrom
|
| Specific CD/DVD drive |
inst.repo=cdrom:device
|
| Hard Drive |
inst.repo=hd:device:/path
|
| HTTP Server |
inst.repo=http://host/path
|
| HTTPS Server |
inst.repo=https://host/path
|
| FTP Server |
inst.repo=ftp://username:password@host/path
|
| NFS Server |
inst.repo=nfs:[options:]server:/path
[a]
|
[a]
This option uses NFS protocol version 3 by default. To use a different version, add +nfsvers=X to options.
| |
/dev/sda1 or sdb2
LABEL=Flash or LABEL=RHEL7
UUID=8176c7bf-04ff-403a-a832-9557f94e61db
\xNN, where NN is the hexadecimal representation of the character. For example, \x20 is a white space (" ").
inst.stage2=inst.dd=inst.dd= option. It can be used multiple times. The location of a driver RPM package can be specified using any of the formats described in Table 8.1, “Installation Sources”. With the exception of the inst.dd=cdrom option, the device name must always be specified. For example:
inst.dd=/dev/sdb1inst.dd) will prompt the installation program to ask you for a driver update disk with an interactive menu.
inst.ks=inst.repo=. See Table 8.1, “Installation Sources” for valid formats.
/ks.cfg on the specified device. If you use this option without specifying a device, the installation program will use the following:
inst.ks=nfs:next-server:/filenamenext-server option or the IP address of the DHCP server itself, and filename is the DHCP filename option, or /kickstart/. If the given file name ends with the / character, ip-kickstart is appended. For example:
Table 8.2. Default Kickstart File Location
| DHCP server address | Client address | Kickstart file location |
|---|---|---|
192.168.122.1
|
192.168.122.100
|
192.168.122.1:/kickstart/192.168.122.100-kickstart
|
inst.ks.sendmacHTTP requests with the MAC addresses of all network interfaces. For example:
X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:abinst.ks=http to provision systems.
inst.ks.sendsnHTTP requests. This header will contain the system's serial number, read from /sys/class/dmi/id/product_serial. The header has the following syntax:
X-System-Serial-Number: R8VA23Dconsole=console=ttyS0. This option should be used along with the inst.text option.
console=ttyS0 console=ttyS1, the installation program will only use ttyS1.
noshellinst.lang=lang Kickstart command as described in Appendix A, Kickstart Syntax Reference. On systems where the system-config-language package is installed, a list of valid values can also be find in /usr/share/system-config-language/locale-list.
inst.geoloc=inst.geoloc=value
Table 8.3. Valid Values for the inst.geoloc Option
| Disable geolocation |
inst.geoloc=0
|
| Use the Fedora GeoIP API |
inst.geoloc=provider_fedora_geoip
|
| Use the Hostip.info GeoIP API |
inst.geoloc=provider_hostip
|
provider_fedora_geoip.
inst.keymap=keyboard Kickstart command as described in Appendix A, Kickstart Syntax Reference.
inst.textinst.cmdlineinst.graphicalinst.resolution=640x480.
inst.headlessinst.xdriver=X driver to be used both during the installation and on the installed system.
inst.usefbxX driver instead of a hardware-specific driver. This option is equivalent to inst.xdriver=fbdev.
modprobe.blacklist=/etc/modprobe.d/ directory.
modprobe.blacklist=ahci,firewire_ohciinst.sshdsshd service during the installation, which allows you to connect to the system during the installation using SSH and monitor its progress. For more information on SSH, see the ssh(1) man page and the corresponding chapter in the Fedora System Administrator's Guide, available at the Fedora Documentation website.
Note
root account has no password by default. You can set a root password to be used during the installation with the sshpw Kickstart command as described in Appendix A, Kickstart Syntax Reference.
dracut.cmdline(7) man page. Additional information on networking is also available in the Fedora Networking Guide, available at the Fedora Documentation website.
ip=ip option multiple times - once for each interface. If multiple interfaces are configured, you must specify a primary boot interface using the bootdev option described below.
Table 8.4. Network Interface Configuration Formats
| Configuration Method | Option format |
|---|---|
| Automatic configuration of any interface |
ip=method
|
| Automatic configuration of a specific interface |
ip=interface:method
|
| Static configuration |
ip=ip::gateway:netmask:hostname:interface:none
|
| Automatic configuration of a specific interface with an override [a] |
ip=ip::gateway:netmask:hostname:interface:method:mtu
|
[a]
Brings up the specified interface using the specified method of automatic configuration, such as dhcp, but overrides the automatically obtained IP address, gateway, netmask, hostname or other specified parameter. All parameters are optional; only specify the ones you wish to override and automatically obtained values will be used for the others.
| |
method parameter can be any the following:
Table 8.5. Automatic Interface Configuration Methods
| Automatic configuration method | Value |
|---|---|
| DHCP |
dhcp
|
| IPv6 DHCP |
dhcp6
|
| IPv6 automatic configuration |
auto6
|
| iBFT (iSCSI Boot Firmware Table) |
ibft
|
Note
inst.ks=http://host:/path, without specifying the ip option, the installation program will use ip=dhcp.
IPv6 addresses can be specified by putting them in square brackets, for example, [2001:DB8::1].
255.255.255.0) or a prefix (for example 64).
nameserver=bootdev=ip option.
ifname=ifname=interface:MAC. For example:
ifname=eth0:01:23:45:67:89:abinst.dhcpclass=dhcpd service will see this value as vendor-class-identifier. The default value is anaconda-$(uname -srm).
vlan=vlan=name:interface. For example:
vlan=vlan5:em1vlan5 on the em1 interface. The name can take the following forms:
Table 8.6. VLAN Device Naming Conventions
| Naming scheme | Example |
|---|---|
| VLAN_PLUS_VID |
vlan0005
|
| VLAN_PLUS_VID_NO_PAD |
vlan5
|
| DEV_PLUS_VID |
em1.0005.
|
| DEV_PLUS_VID_NO_PAD |
em1.5.
|
bond=bond=name[:slaves][:options]. Replace name with the bonding device name, slaves with a comma-separated list of physical (ethernet) interfaces, and options with a comma-separated list of bonding options. For example:
bond=bond0:em1,em2:mode=active-backup,tx_queues=32,downdelay=5000modinfo bonding command.
bond=bond0:eth0,eth1:mode=balance-rr.
team=team=master:slaves. Replace master with the name of the master team device and slaves with a comma-separated list of physical (ethernet) devices to be used as slaves in the team device. For example:
team=team0:em1,em2inst.multilibx86_64) and packages for all architectures (marked as noarch would be installed. When you use this option, packages for 32-bit AMD or Intel systems (marked as i686) will be automatically installed as well if available.
%packages section. If a package is only installed as a dependency, only the exact specified dependency will be installed. For example, if you are installing package foo which depends on package bar, the former will be installed in multiple variants, while the latter will only be installed in variants specifically required.
inst.gptinst.zraminst.zram=1 to enable it, and on systems with 2 GB or less memory, use inst.zram=0 to disable this feature.
inst.vncVNC session. If you specify this option, you will need to connect to the system using a VNC client application to be able to interact with the installation program. VNC sharing is enabled, so multiple clients can connect to the system at the same time.
Note
VNC will start in text mode by default.
inst.vncpassword=VNC server used by the installation program. Any VNC client attempting to connect to the system will have to provide the correct password to gain access. For example, inst.vncpassword=testpwd will set the password to testpwd. The password must be between 6 and 8 characters long.
Note
VNC password must be six to eight characters long. Please enter a new one, or leave blank for no password. Password:
inst.vncconnect=VNC client at a specified host and port once the installation starts. The correct syntax is inst.vncconnect=host:port. The port parameter is optional - if you do not specify one, the installation program will use 5900.
inst.updates=updates.img file to be applied to the installation program runtime. The syntax is the same as in the inst.repo option - see Table 8.1, “Installation Sources” for details. In all formats, if you do not specify a file name but only a directory, the installation program will look for a file named updates.img.
inst.loglevel=debug, info, warning, error and critical. The default value is info, which means that by default, the logging terminal will display messages ranging from info to critical, but not debug.
inst.syslog=inst.virtiolog=virtio port (a character device at /dev/virtio-ports/name) to be used for forwarding logs. The default value is org.fedoraproject.anaconda.log.0; if this port is present, it will be used.
Note
inst. prefix. For example, the vnc= option is considered deprecated and replaced by the inst.vnc= option. However, these changes are not listed here.
method=inst.repo= option instead.
repo=nfsiso:server:/pathinst.repo=nfs:server:/path.
dns=nameserver= option instead.
netmask=, gateway=, hostname=, ip=, ipv6=ip= option.
ksdevice=Table 8.7. Automatic Interface Configuration Methods
| Value | Current behavior |
|---|---|
| Not present |
All devices are attempted to be activated using dhcp, unless desired device and configuration is specified by ip= option and/or the BOOTIF option.
|
ksdevice=link
|
Similar to the above, with the difference that network will always be activated in the initramfs, whether it is needed or not. The supported rd.neednet option (provided by dracut) should be used instead.
|
ksdevice=bootif
| Ignored (the BOOTID= option is used by default when specified) |
ksdevice=ibft
|
Replaced with the ip=ibft option
|
ksdevice=MAC
|
Replaced with BOOTIF=MAC
|
ksdevice=device
|
Replaced by specifying the device name using the ip= option.
|
Important
ksdevice=link boot option, or add the --device=link option to the network command in your Kickstart file.
blacklist=modprobe.blacklist= option.
nofirewire=firewire_ohci) by using the modprobe.blacklist= option instead:
modprobe.blacklist=firewire_ohci
askmethod, asknetworkinitramfs is now completely non-interactive, which means that these options are not available anymore. Instead, use the inst.repo= to specify the installation method and ip= to configure network settings.
serial/dev/ttyS0 console as the output. Use the console=/dev/ttyS0 (or similar) instead.
updates=inst.updates= option instead.
essid=, wepkey=, wpakey=ethtool=ip= option.
gdbrd.debug instead.
mediacheckrd.live.check option.
ks=floppydisplay=inst.vnc option.
utf8noipv6ipv6.disable option.
upgradeanyvlanid=vlan= option instead.
Note
** Pass complete, no errors, press Esc to exit **
Note
README file is also located in /usr/share/doc/memtest86+-version/ on Fedora systems with the memtest86+ package installed.
rd.live.check to the boot loader command line. Note that this option is used automatically if you select the default installation option from the boot menu ().
inst.rescue boot option.
/mnt/sysimage/.
/tmp directory to assist with debugging installation issues.
anaconda-ks.cfg, located in the /root/ directory on the installed system. You can then copy this file, make any changes you need, and use the resulting configuration file in further installations.
#) are treated as comments and are ignored.
install, are mandatory, but most commands are optional.
%packages section which contains a list of packages and package groups to be installed. See Section A.10, “%packages (required) - Package Selection” for details.
%pre and %post sections, containing a pre-installation and post-installation scripts. These two sections can be in any order and are not mandatory. See Section A.11, “%pre (optional) - Pre-installation Script” and Section A.12, “%post (optional) - Post-installation Script” for details.
Important
%packages, %pre and %post sections must end with %end, otherwise the installation program will refuse the Kickstart file. The main command section has no special ending statement.
#yum install pykickstart
$ksvalidator /path/to/kickstart.ks
ksvalidator(1) man page.
Important
%pre, %post and %packages sections of the Kickstart file.
inst.ks= boot option either in the boot menu (when booting from local media), or add this option to your PXE server configuration. For information about boot options used in Kickstart installations, see Section 8.2.2, “Kickstart Boot Options”.
Note
Dump a link in here to the inst.repo option. Update the inst.repo option with examples if needed. --Pete
A link to mirrormanager and some instructions to other guides too. All the elaboration on installation methods might be going to far, but we can ref. --Pete
Needs adminition about static IP, reference out to Networking Guide. Example assumes 192.168.1.2 for server.
Procedure 10.1. Installing and configuring dhcpd
yum install dhcp/etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
authoritative;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
}
systemctl start dhcpdjournalctl --unit dhcpd --since -2m --follow
/etc/dhcp/dhcpd.conf. Because DHCP clients provide the server with identifying information along with their address request, BIOS clients and UEFI clients can each be directed to the correct bootloader.
subnet 192.168.1.0 netmask 255.255.255.0 {
if option arch = 00:07 {
filename "uefi/shim.efi";
} else {
filename "pxelinux/pxelinux.0";
}
next-server 192.168.1.2;
...
systemctl restart dhcpdjournalctl --unit dhcpd --since -2m --follow
Procedure 10.2. Installing the tftp server
yum install tftp-server
tftp socket. systemd will automatically start the tftpd service when required.
systemctl start tftp.socketsystemctl enable tftp.socket
Procedure 10.3. Getting the bootloader files
yum install syslinux
mkdir -p/var/lib/tftpboot/pxelinuxcp/usr/share/syslinux/{pxelinux.0,vesamenu.c32}/var/lib/tftpboot/pxelinux/
yum install shim grub2-efi --installroot=/tmp/fedora --releasever 20
mkdir -p/var/lib/tftpboot/ueficp/tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi}/var/lib/tftpboot/uefi/
Procedure 10.4. Configuring client bootloaders
/var/lib/tftpboot/pxelinux/default.
default vesamenu.c32 prompt 1 timeout 600 label linux menu label ^Install Fedora 20 64-bit menu default kernel f20/vmlinuz append initrd=f20/initrd.img ip=dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Everything/x86_64/os/ label server menu label ^Install Fedora 20 Server menu default kernel f20/vmlinuz append initrd=f20/initrd.img ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21 label rescue menu label ^Rescue installed system kernel f20/vmlinuz append initrd=f20initrd.img rescue ip=dhcp root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/LiveOS/squashfs.img rescue label local menu label Boot from ^local drive localboot 0xffff
/var/lib/tftpboot/pxelinux/uefi.
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
menuentry 'Install Fedora 64-bit' --class fedora --class gnu-linux --class gnu --class os {
linuxefi f20/vmlinuz ip=dhcp inst.repo=inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Everything/x86_64/os/
initrdefi f20/initrd.img
}
menuentry 'Install Fedora 20 Server' --class fedora --class gnu-linux --class gnu --class os {
kernel f20/vmlinuz
append initrd=f20/initrd.img ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21
}
menuentry 'Rescue installed system' --class fedora --class gnu-linux --class gnu --class os {
kernel f20/vmlinuz
append f20/initrd=initrd.img rescue root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/LiveOS/squashfs.img rescue
}
Procedure 10.5. Downloading the kernel and initrd
mkdir -p /var/lib/tftpboot/f20
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/images/pxeboot/vmlinuz -o /var/lib/tftpboot/f20/vmlinuz
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/images/pxeboot/initrd.img -o /var/lib/tftpboot/f20/initrd.img
httpd.
root:
#yum install package
Note
Procedure 11.1. Starting VNC in Direct Mode
inst.vnc option to the end of the command line.
inst.vncpassword=PASSWORD boot option as well. Replace PASSWORD with the password you want to use for the installation. The VNC password must be between 6 and 8 characters long.
Important
inst.vncpassword= option. It should not be a real or root password you use on any system.
13:14:47 Please manually connect your VNC viewer to 192.168.100.131:5901 to begin the install.
192.168.100.131:5901).
Procedure 11.2. Starting VNC in Connect Mode
$vncviewer -listen PORT
Example 11.1. TigerVNC Viewer Listening
TigerVNC Viewer 64-bit v1.3.0 (20130924) Built on Sep 24 2013 at 16:32:56 Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt) See http://www.tigervnc.org for information on TigerVNC. Thu Feb 20 15:23:54 2014 main: Listening on port 5901
inst.vnc inst.vncconnect=HOST:PORT
vnc command will set up an installation using Direct Mode. Options are available to set up an installation using Connect Mode. For more information about the vnc command and options used in Kickstart files, see Appendix A, Kickstart Syntax Reference.
Table of Contents
Important
sda), you can instead use any item from /dev/disk. For example, instead of:
part / --fstype=xfs --onpart=sda1
part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1
sda. This is especially useful in large storage environments.
ksverdiff command to display the differences between two versions of the Kickstart syntax. This is useful when updating an existing Kickstart file to be used with a new release. To display a list of changes in syntax between Fedora 19 and 20, use the following command:
$ksverdiff -f F19 -t F20
-f option specifies the release to start the comparison with, and the -t option to specify the release to end with. For additional information, see the ksverdiff(1) man page. Also note that you can not use this to display changes in a release that is newer than your system - the version of pykickstart on Fedora 19 can not display changes in Fedora 20.
Note
=), a value must be specified after it. In the example commands, options in square brackets ([ ]) are optional arguments for the command.
device command, which tells the installation program to install extra modules, uses the following format:
device moduleName [--opts=]
--opts=
device i2c_piix4 --opts="aic152x=0x340 io=11"
driverdisk command to specify that the installation program should look for a driver disk and its location.
driverdisk partition | --source= | --biospart=
driverdisk /dev/sdb1
--source=
driverdisk --source=ftp://path/to/dd.img
driverdisk --source=http://path/to/dd.img
driverdisk --source=nfs:hostname:/path/to/dd.img
--biospart=82p2).
cdrom, harddrive, nfs, liveimg, or url. The install command and the installation method command must be on separate lines. For example:
installliveimg --url=file:///images/install/squashfs.img --noverifyssl
cdromharddriveext2, ext3, ext4, vfat, or xfs.
installharddrive --partition= | --biospart= [--dir=]
--partition=sdb2).
--biospart=82p2).
--dir=liveimgsquashfs.img file from a live ISO image, or any file system that the installation media can mount. Supported file systems are ext2, ext3, ext4, vfat, and xfs.
installliveimg --url= [--proxy= | --checksum= | --noverifyssl=]
--url=HTTP, HTTPS, FTP, and file.
--proxy=HTTP, HTTPS or FTP proxy to use while performing the installation.
--checksum=SHA256 checksum of the image file, used for integrity verification. If you are using a live image provided by Fedora Project, you can find a list of checksums at https://fedoraproject.org/en/verify.
--noverifysslHTTPS server.
nfsNFS server specified. TODO: link to the PXE chapter's section on preparing install source on nfs
installnfs --server= [--dir=] [--opts= ]
--server=--dir=--opts=NFS export.
urlHTTP, HTTPS, or FTP.
installurl --url= | --mirrorlist= [--proxy= | --noverifyssl]
--url=http, https, ftp, and file.
--mirrorlist=--proxy=HTTP, HTTPS or FTP proxy to use while performing the installation.
--noverifysslHTTPS server.
rd.live.check boot option (see Section 8.5.2, “Verifying Boot Media”. This command requires that installations be attended, so it is disabled by default.
repo --name=repoid [--baseurl=<url>|--mirrorlist=url] [options]
Important
--name=--baseurl=--mirrorlist, not both.
--mirrorlist=--cost=--excludepkgs=publican) and globs (such as gnome-*) are accepted.
--includepkgs=--proxy=HTTP, HTTPS or FTP proxy server to use when accessing this repository. This setting does not affect any other repositories or installation sources.
--ignoregroups=true--noverifysslHTTPS server.
/) partition (1 GB or larger), a swap partition, and an appropriate /boot partition for the architecture. On large enough drives (50 GB and larger), this also creates a /home partition.
autopart --type=type [--nolvm | --encrypted | --passphrase= | --escrowcert= | --backuppassphrase | --cipher=]
Important
autopart option cannot be used together with the part/partition, raid, logvol, or volgroup options in the same Kickstart file.
--type=lvm: The LVM partitioning scheme.
btrfs: The Btrfs partitioning scheme.
plain: Regular partitions with no LVM or Btrfs.
thinp: The LVM Thin Provisioning partitioning scheme.
--nolvm--type=plain.
--encrypted--passphrase=--escrowcert=URL_of_X.509_certificate/root, encrypted using the X.509 certificate from the URL specified with URL_of_X.509_certificate. The keys are stored as a separate file for each encrypted volume. This option is only meaningful if --encrypted is specified.
--backuppassphrase/root, encrypted using the X.509 certificate specified with --escrowcert. This option is only meaningful if --escrowcert is specified.
--cipher=aes-xts-plain64 is not satisfactory. You must use this option together with the --encrypted option; by itself it has no effect. Available types of encryption are listed in the Fedora Security Guide, available at Fedora Documentation. Using either aes-xts-plain64 or aes-cbc-essiv:sha256 is strongly recommended.
bootloader [--append= | --boot-drive= | --leavebootorder | --driveorder= | --location= | --password= | --iscrypted | --timeout= | --default= | --extlinux]
Important
Important
--append=
bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"
rhgb and quiet parameters are always used, even if you do not specify them here or do not use the --append= command at all.
--boot-drive=Important
--boot-drive= option is currently being ignored in Fedora installations on IBM System z systems using the zipl boot loader. When zipl is installed, it determines the boot drive on its own.
--leavebootloader--driveorder=
bootloader --driveorder=sda,hda
--location=mbr - The default option. Depends on whether the drive uses the Master Boot Record (MBR) or GUID Partition Table (GPT) scheme:
partition - Install the boot loader on the first sector of the partition containing the kernel.
none - Do not install the boot loader.
--password=root.
--iscrypted--password= option, it will be stored in the Kickstart file in plain text. If you want to encrypt the password, use this option and an encrypted password.
grub2-mkpasswd-pbkdf2 command, enter the password you want to use, and copy the command's output (the hash starting with grub.pbkdf2) into the Kickstart file. An example bootloader Kickstart entry with an encrypted password will look similar to the following:
bootloader --iscrypted --password=grub.pbkdf2.sha512.10000.5520C6C9832F3AC3D149AC0B24BE69E2D4FB0DBEEDBD29CA1D30A044DE2645C4C7A291E585D4DC43F8A4D82479F8B95CA4BA4381F8550510B75E8E0BB2938990.C688B6F0EF935701FF9BD1A8EC7FE5BD2333799C98F28420C5CC8F1A2A233DE22C83705BB614EA17F3FDFDF4AC2161CEA3384E56EB38A2E39102F5334C47405E
--timeout=--default=--extlinux
btrfs mntpoint --data=level --metadata=level [--label=] partitions
btrfs mntpoint --subvol --name=name parent
--data=0, 1, or 10). This parameter is optional and has no meaning for subvolumes.
--metadata=0, 1, or 10). This parameter is optional and has no meaning for subvolumes.
--label=--subvol--name=--noformat or --useexisting/ and /home. The main volume is not mounted or used directly in this example.
Example A.1. Creating Btrfs Volumes and Subvolumes
part btrfs.01 --size=6000 --ondisk=sdapart btrfs.02 --size=6000 --ondisk=sdbpart btrfs.03 --size=6000 --ondisk=sdcbtrfs none --data=0 --metadata=1 --label=f20 btrfs.01 btrfs.02 btrfs.03btrfs / --subvol --name=root LABEL=f20btrfs /home --subvol --name=home f20
clearpart [--all | --drives= | --list= | --linux | --none]
Note
clearpart command is used, then the part --onpart command cannot be used on a logical partition.
clearpart command, see Section A.13.1, “Advanced Partitioning Example”.
--all--drives=
clearpart --drives=hda,hdb --all
disk/by-id/scsi-WWID, where WWID is the world-wide identifier for the device. For example, to clear a disk with WWID 58095BEC5510947BE8C0360F604351918, use:
clearpart --drives=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
disk/by-id/dm-uuid-mpath-WWID, where WWID is the world-wide identifier for the device. For example, to clear a disk with WWID 2416CD96995134CA5D787F00A5AA11017, use:
clearpart --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
Warning
mpatha. Device names such as this are not specific to a particular disk. The disk named /dev/mpatha during installation might not be the one that you expect it to be. Therefore, the clearpart command could target the wrong disk.
--list=--all and --linux options if used. Can be used across different drives. For example:
clearpart --list=sda2,sda3,sdb1
--linux--noneclearpart command at all.
Note
clearpart --all command in a Kickstart file to remove all existing partitions during the installation will cause Anaconda to pause and prompt you for a confirmation. If you need to perform the installation automatically with no interaction, add the zerombr command to your Kickstart file.
fcoe --nic=name [--dcp= | --autovlan]
--nic= (required)--dcb=--autovlanignoredisk, attempting to deploy on a SAN cluster the Kickstart would fail, as the installation program detects passive paths to the SAN that return no partition table.
ignoredisk --drives= | --only-use= [--interactive]
--drives=
ignoredisk --drives=sda,sdc
disk/by-id/dm-uuid-mpath-WWID, where WWID is the world-wide identifier for the device. For example, to ignore a disk with WWID 2416CD96995134CA5D787F00A5AA11017, use:
ignoredisk --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
dm-uuid-mpath. Instead, to ignore a multipath device that uses LVM, use the format disk/by-id/scsi-WWID, where WWID is the world-wide identifier for the device. For example, to ignore a disk with WWID 58095BEC5510947BE8C0360F604351918, use:
ignoredisk --drives=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
Warning
mpatha. Device names such as this are not specific to a particular disk. The disk named /dev/mpatha during installation might not be the one that you expect it to be. Therefore, the clearpart command could target the wrong disk.
--only-use=sda during installation and ignore all other disks:
ignoredisk --only-use=sda
ignoredisk --only-use=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
ignoredisk --only-use=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
--interactiveiscsi command, you must also assign a name to the iSCSI node, using the iscsiname command (see Section A.2.8, “iscsiname (optional) - Assign Name to iSCSI Device”. The iscsiname command must appear before the iscsi command in the Kickstart file.
iscsi command if possible. If you do so, Anaconda automatically detects and uses disks configured in BIOS or firmware and no special configuration is necessary in the Kickstart file.
iscsi command, make sure that networking is activated at the beginning of the installation, and that the iscsi command appears in the Kickstart file before you refer to iSCSI disks with commands such as clearpart or ignoredisk.
iscsi --ipaddr= --port= [--target= | --iface= | --user= | --password= | --reverse-user= | --reverse-password=]
--ipaddr=--port=3260).
--target=--iface=iscsi command in the entire Kickstart file.
--user=--password=--reverse-user=--reverse-password=iscsi command (Section A.2.7, “iscsi (optional) - Configure iSCSI Devices”). This command is mandatory if you use the iscsi command, and it must be specified before you use iscsi.
iscsiname iqn
logvol mntpoint --vgname= --name= [options]
Note
-) character in logical volume and volume group names when installing Fedora using Kickstart. If this character is used, the installation will finish normally, but the /dev/mapper/ directory will list these volumes and volume groups with every dash doubled. For example, a volume group named volgrp-01 containing a logical volume named logvol-01 will be listed as /dev/mapper/volgrp--01-logvol--01.
--noformat or --useexisting option, their names will not be changed.
logvol in action, see Section A.13.1, “Advanced Partitioning Example”.
/path/ or /home
swap--recommended option:
swap --recommended
--hibernation option:
swap--hibernation
--recommended plus the amount of RAM on your system.
none--noformat--useexisting--fstype=xfs, ext2, ext3, ext4, swap, and vfat. For information about file system types, see TODO: xref to info about fs types
--fsoptions=/etc/fstab file of the installed system and should be enclosed in quotes. For example:
--fsoptions="ro, x-systemd.device-timeout=0"
--label=--grow--maxsize= option.
--size=--useexisting or --noformat option.
--maxsize=500 (do not include the unit).
--recommended--resize--useexisting and --size.
--percent=--size and --grow options.
--encrypted--passphrase= option. If you do not specify a passphrase, the installation program will use the default, system-wide passphrase set with the autopart --passphrase command, or stop the installation and prompt you to provide a passphrase if no default is set.
--passphrase=--encrypted option. This option has no effect by itself.
--cipher=aes-xts-plain64 is not satisfactory. You must use this option together with the --encrypted option; by itself it has no effect. Available types of encryption are listed in the Fedora Security Guide, available at Fedora Documentation. Using either aes-xts-plain64 or aes-cbc-essiv:sha256 is strongly recommended.
--escrowcert=URL_of_X.509_certificate/root, encrypted using the X.509 certificate from the URL specified with URL_of_X.509_certificate. The keys are stored as a separate file for each encrypted volume. This option is only meaningful if --encrypted is specified.
--backuppassphrase/root, encrypted using the X.509 certificate specified with --escrowcert. This option is only meaningful if --escrowcert is specified.
--thinpoolnone)
--metadatasize=--chunksize=--thin--poolname)
--poolname=--thin option.
part pv.01 --size 3000volgroup myvg pv.01logvol / --vgname=myvg --size=2000 --name=rootvol
part in action, see Section A.13.1, “Advanced Partitioning Example”.
part|partition mntpoint --name=name --device=device --rule=rule [options]
Warning
--noformat and --onpart= are used.
Note
/path/ or /home
swap--recommended option:
swap --recommended
--hibernation option:
swap--hibernation
--recommended plus the amount of RAM on your system.
raid.idraid).
pv.idbiosbootefi--size=500 (do not include the unit).
Important
--size value is too small, the installation will fail. Set the --size value as the minimum amount of space you require. For size recommendations, see TODO: xref to recommended partitioning scheme
.
--maxsize=500 (do not include the unit).
--resize--size= option and the target partition using the --onpart= option.
--growNote
--grow= without setting --maxsize= on a swap partition, Anaconda will limit the maximum size of the swap partition. For systems that have less than 2 GB of physical memory, the imposed limit is twice the amount of physical memory. For systems with more than 2 GB, the imposed limit is the size of physical memory plus 2 GB.
--noformat--onpart command.
--onpart= or --usepart=
partition /home --onpart=hda1
/home on /dev/hda1.
partition pv.1 --onpart=hda2
--onpart option will not create it.
--ondisk= or --ondrive=--ondisk=sdb puts the partition on the second SCSI disk on the system.
disk/by-id/dm-uuid-mpath-WWID, where WWID is the world-wide identifier for the device. For example, to specify a disk with WWID 2416CD96995134CA5D787F00A5AA11017, use:
part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
dm-uuid-mpath. Instead, to specify a multipath device that uses LVM, use the format disk/by-id/scsi-WWID, where WWID is the world-wide identifier for the device. For example, to specify a disk with WWID 58095BEC5510947BE8C0360F604351918, use:
part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918
Warning
mpatha. Device names such as this are not specific to a particular disk. The disk named /dev/mpatha during installation might not be the one that you expect it to be. Therefore, the clearpart command could target the wrong disk.
--asprimary--fsprofile=ext2, ext3, ext4, this configuration file is /etc/mke2fs.conf.
--fstype=xfs, ext2, ext3, ext4, swap, vfat, efi and biosboot. For information about supported file systems, see TODO: xref to something about supported fs types
--fsoptions=/etc/fstab file of the installed system and should be enclosed in quotes. For example:
--fsoptions="ro, x-systemd.device-timeout=0"
--label=--recommended--onbiosdisk--encrypted--passphrase option. If you do not specify a passphrase, Anaconda uses the default, system-wide passphrase set with the autopart --passphrase command, or stops the installation and prompts you to provide a passphrase if no default is set.
--passphrase=--encrypted option; by itself it has no effect.
--cipher=aes-xts-plain64 is not satisfactory. You must use this option together with the --encrypted option; by itself it has no effect. Available types of encryption are listed in the Fedora Security Guide, available at Fedora Documentation. Using either aes-xts-plain64 or aes-cbc-essiv:sha256 is strongly recommended.
--escrowcert=URL_of_X.509_certificate/root, encrypted using the X.509 certificate from the URL specified with URL_of_X.509_certificate. The keys are stored as a separate file for each encrypted volume. This option is only meaningful if --encrypted is specified.
--backuppassphrase/root, encrypted using the X.509 certificate specified with --escrowcert. This option is only meaningful if --escrowcert is specified.
raid mntpoint --level=level --device=mddevice partitions*
raid in action, see Section A.13.1, “Advanced Partitioning Example”.
/, the RAID level must be 1 unless a boot partition (/boot) is present. If a boot partition is present, the /boot partition must be level 1 and the root (/) partition can be any of the available types. The partitions* (which denotes that multiple partitions can be listed) lists the RAID identifiers to add to the RAID array.
--level=0, 1, 4, 5, 6, or 10). TODO: xref to the section that describes raid levels
--device=md0. If you have an old (v0.90 metadata) array that you cannot assign a name to, you can specify the array by a filesystem label or UUID (for example, --device=rhel7-root --label=rhel7-root).
--spares=--fsprofile=ext2, ext3, ext4, this configuration file is /etc/mke2fs.conf.
--fstype=xfs, ext2, ext3, ext4, swap, vfat, efi and biosboot. For information about supported file systems, see TODO: xref to something about supported fs types
--fsoptions=/etc/fstab file of the installed system and should be enclosed in quotes. For example:
--fsoptions="ro, x-systemd.device-timeout=0"
--label=--noformat--useexisting--encrypted--passphrase option. If you do not specify a passphrase, Anaconda uses the default, system-wide passphrase set with the autopart --passphrase command, or stops the installation and prompts you to provide a passphrase if no default is set.
--passphrase=--encrypted option; by itself it has no effect.
--cipher=aes-xts-plain64 is not satisfactory. You must use this option together with the --encrypted option; by itself it has no effect. Available types of encryption are listed in the Fedora Security Guide, available at Fedora Documentation. Using either aes-xts-plain64 or aes-cbc-essiv:sha256 is strongly recommended.
--escrowcert=URL_of_X.509_certificate/root, encrypted using the X.509 certificate from the URL specified with URL_of_X.509_certificate. The keys are stored as a separate file for each encrypted volume. This option is only meaningful if --encrypted is specified.
--backuppassphrase/root, encrypted using the X.509 certificate specified with --escrowcert. This option is only meaningful if --escrowcert is specified.
/, and a RAID level 5 for /home, assuming there are three SCSI disks on the system. It also creates three swap partitions, one on each drive.
Example A.2. Creating a RAID array in Kickstart
part raid.01 --size=6000 --ondisk=sdapart raid.02 --size=6000 --ondisk=sdbpart raid.03 --size=6000 --ondisk=sdcpart swap --size=512 --ondisk=sdapart swap --size=512 --ondisk=sdbpart swap --size=512 --ondisk=sdcpart raid.11 --size=1 --grow --ondisk=sdapart raid.12 --size=1 --grow --ondisk=sdbpart raid.13 --size=1 --grow --ondisk=sdcraid / --level=1 --device=f20-root --label=f20-root raid.01 raid.02 raid.03raid /home --level=5 --device=f20-home --label=f20-home raid.11 raid.12 raid.13
volgroup name partition [options]
Important
-) character in logical volume and volume group names when installing Fedora using Kickstart. If this character is used, the installation will finish normally, but the /dev/mapper/ directory will list these volumes and volume groups with every dash doubled. For example, a volume group named volgrp-01 containing a logical volume named logvol-01 will be listed as /dev/mapper/volgrp--01-logvol--01.
--noformat or --noformat option, their names will not be changed.
volgroup, see Section A.13.1, “Advanced Partitioning Example”.
--noformat--useexisting--pesize=--reserved-space=--reserved-percent=part pv.01 --size 3000volgroup myvg pv.01logvol / --vgname=myvg --size=2000 --name=rootvol
zerombr is specified, any invalid partition tables found on disks are initialized. This destroys all of the contents of disks with invalid partition tables. This command is required when performing an unattended installation on a system with previously initialized disks.
Warning
zerombr is specified, any Direct Access Storage Device (DASD) visible to the installation program which is not already low-level formatted is automatically low-level formatted with dasdfmt. The command also prevents user choice during interactive installations.
zerombr is not specified and there is at least one unformatted DASD visible to the installation program, a non-interactive Kickstart installation will exit unsuccessfully.
zerombr is not specified and there is at least one unformatted DASD visible to the installation program, an interactive installation exits if the user does not agree to format all visible and unformatted DASDs. To circumvent this, only activate those DASDs that you will use during installation. You can always add more DASDs after installation is complete.
zfcp --devnum=devnum --wwpn=wwpn --fcplun=lun
--devnum--wwpn0x.
--fcplun0x.
zfcp --devnum=0.0.4000 --wwpn=0x5005076300C213e9 --fcplun=0x5022000000000000
firewall --enabled | --disabled device [--trust= | --ssh | --smtp | --http | --ftp | --port= | --service=]
--enabled or --enable--disabled or --disable--trust=em1, allows all traffic coming to and from that device to go through the firewall. To list more than one device, use this option again - for example:
firewall --enable --trust=em1 --trust=em2
--trust em1, em2.
--ssh
--smtp
--http
--ftp
--port=imap:tcp. Numeric ports can also be specified explicitly; for example, to allow UDP packets on port 1234 through, specify 1234:udp. To specify multiple ports, separate them by commas.
--service=cups, avahi, etc.) require multiple ports to be open or other special configuration in order for the service to work. You can specify each individual port with the --port option, or specify --service= and open them all at once.
firewalld is running, firewall-cmd --get-services will provide a list of known service names.
network command is activated automatically. Activation of the device can be also explicitly required by the --activate option.
--activate--activate option on a device that has already been activated (for example, an interface you configured with boot options so that the system could retrieve the Kickstart file) the device is reactivated to use the details specified in the Kickstart file.
--nodefroute option to prevent the device from using the default route.
--bootproto=dhcp, bootp, ibft, or static. The default option is dhcp; the dhcp and bootp options are treated the same.
network --bootproto=dhcp
network --bootproto=bootp
network --bootproto=ibft
static method requires that you specify the IP address, netmask, gateway, and nameserver in the Kickstart file. This information is static and is used during and after the installation.
\) as you can on a command line.
network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=10.0.2.1
network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=192.168.2.1,192.168.3.1
--device=network command.
--device= option is missing on the first use of the network command, the value of the ksdevice= Anaconda boot option is used, if available. Note that this is considered deprecated behavior; in most cases, you should always specify a --device= for every network command.
network command in the same Kickstart file is unspecified if its --device= option is missing. Make sure you specify this option for any network command beyond the first.
em1
01:23:45:67:89:ab
link, which specifies the first interface with its link in the up state
bootif, which uses the MAC address that pxelinux set in the BOOTIF variable. Set IPAPPEND 2 in your pxelinux.cfg file to have pxelinux set the BOOTIF variable.
network --bootproto=dhcp --device=em1
--ip=--ipv6=3ffe:ffff:0:1::1/128 . If prefix is omitted, 64 will be used. You can also use auto for automatic configuration, or dhcp for DHCPv6-only configuration (no router advertisements).
--gateway=--ipv6gateway=--nodefroute--activate= option, for example, a NIC on a separate subnet for an iSCSI target.
--nameserver=--nodns--netmask=--hostname=--ethtool=--essid=--wepkey=--wpakey=--onboot=--dhcpclass=--mtu=--noipv4--noipv6--bondslaves=--device= option will be created using slaves defined in the --bondslaves= option. For example:
network --device=mynetwork --bondslaves=em1,em2
mynetwork using the em1 and em2 interfaces as its slaves.
--bondopts=--bondslaves= and --device= options. Options in this list must be separated by commas (",") or semicolons (";"). If an option itself contains a comma, use a semicolon to separate the options. For example:
network --bondopts=mode=active-backup,balance-rr;primary=eth1
Important
--bondopts=mode= parameter only supports full mode names such as balance-rr or broadcast, not their numerical representations such as 0 or 3.
--vlanid=--device= as a parent. For example, network --device=em1 --vlanid=171 will create a virtual LAN device em1.171.
--interfacename=--vlanid= option is not desirable. This option must be used along with --vlanid=. For example:
network --device=em1 --vlanid=171 --interfacename=vlan171
vlan171 on the em1 device with an ID of 171.
my-vlan), but in specific cases, the following conventions must be followed:
.), it must take the form of NAME.ID. The NAME is arbitrary, but the ID must be the VLAN ID. For example: em1.171 or my-vlan.171.
vlan must take the form of vlanID - for example, vlan171.
--teamslaves=--device= option will be created using slaves specified in this option. Slaves are separated by commas. A slave can be followed by its configuration, which is a single-quoted JSON string with double quotes escaped by the \ character. For example:
network --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'"
--teamconfig= option.
--teamconfig=\ character. The device name is specified by --device= option and its slaves and their configuration by --teamslaves= option. For example:
network --device team0 --activate --bootproto static --ip=10.34.102.222 --netmask=255.255.255.0 --gateway=10.34.102.254 --nameserver=10.34.39.2 --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'" --teamconfig="{\"runner\": {\"name\": \"activebackup\"}}"
keyboard --vckeymap= | --xlayouts= [--switch=]
--vckeymap=VConsole keymap which should be used. Valid names correspond to the list of files in the /usr/lib/kbd/keymaps/* directory, without the .map.gz extension.
--xlayouts=setxkbmap(1), either in the layout format (such as cz), or in the layout (variant) format (such as cz (qwerty)).
xkeyboard-config(7) man page under Layouts.
--switch=setxkbmap(1).
xkeyboard-config(7) man page under Options.
English (US) and Czech (qwerty)) using the --xlayouts= option, and allows to switch between them using Alt+Shift:
keyboard --xlayouts=us,'cz (qwerty)' --switch=grp:alt_shift_toggle
lang language [--addsupport=]
/usr/share/system-config-language/locale-list provides a list of the valid language codes in the first column of each line and is part of the system-config-language package.
lang command and use text mode, the installation process will continue in English, but the installed system will use your selection as its default language.
--addsupport=
lang en_US --addsupport=cs_CZ,de_DE,en_UK
services [--disabled=list] [--enabled=list]
services --disabled=auditd, cups,smartd, nfslock
auditd service. To disable all four services, the entry should include no spaces:
services --disabled=auditd,cups,smartd,nfslock
--disabled=--enabled=Important
graphical.target. The effect of the skipx option will be overridden.
timedatectl list-timezones command.
timezone timezone [options]
--utc--nontp--ntpservers=xconfig command, you must provide the X configuration manually during installation.
--defaultdesktop=GNOME or KDE to set the default desktop (assumes that GNOME Desktop Environment and/or KDE Desktop Environment has been installed in the %packages section).
--startxonbootauthconfig command, which can also be run on a command line after the installation finishes. See the authconfig(8) manual page and the authconfig --help command for more details. Passwords are shadowed by default.
auth [--enablenis | --nisdomain= | --nisserver= | --enableshadow | --enableldap | --enableldapauth | --ldapserver= | --ldapbasedn= | --enableldaptls | --disableldaptls | --enablekrb5 | --krb5realm= | --krb5kdc= | --krb5adminserver= | --enablehesiod | --hesiodlhs= | --hesiodrhs= | --enablesmbauth | --smbservers= | --smbworkgroup= | --enablecache | --passalgo=]
--enablenis--enablenis uses whatever domain it finds on the network. A domain should almost always be set by hand with the --nisdomain= option.
--nisdomain=--nisserver=--useshadowor --enableshadow--enableldap/etc/nsswitch.conf, allowing your system to retrieve information about users (for example, their UIDs, home directories, and shells) from an LDAP directory. To use this option, you must install the nss-pam-ldapd package. You must also specify a server and a base DN (distinguished name) with --ldapserver= and --ldapbasedn=.
--enableldapauthpam_ldap module for authentication and changing passwords, using an LDAP directory. To use this option, you must have the nss-pam-ldapd package installed. You must also specify a server and a base DN with --ldapserver= and --ldapbasedn=. If your environment does not use TLS (Transport Layer Security), use the --disableldaptls switch to ensure that the resulting configuration file works.
--ldapserver=--enableldap or --enableldapauth, use this option to specify the name of the LDAP server to use. This option is set in the /etc/ldap.conf file.
--ldapbasedn=--enableldap or --enableldapauth, use this option to specify the DN in your LDAP directory tree under which user information is stored. This option is set in the /etc/ldap.conf file.
--enableldaptls--disableldaptls--enablekrb5useradd command. If you use this option, you must have the pam_krb5 package installed.
--krb5realm=--krb5kdc=--krb5adminserver=--enablehesiod/usr/share/doc/glibc-2.x.x/README.hesiod, which is included in the glibc package. Hesiod is an extension of DNS that uses DNS records to store information about users, groups, and various other items.
--hesiodlhs= and --hesiodrhs=Hesiod LHS (left-hand side) and RHS (right-hand side) values, set in /etc/hesiod.conf. The Hesiod library uses these values to search DNS for a name, similar to the way that LDAP uses a base DN.
jim, the Hesiod library looks up jim.passwdLHSRHS, which should resolve to a TXT record that contains a string identical to an entry for that user in the passwd file: jim:*:501:501:Jungle Jim:/home/jim:/bin/bash. To look up groups, the Hesiod library looks up jim.groupLHSRHS instead.
501.uid a CNAME for jim.passwd, and 501.gid a CNAME for jim.group. Note that the library does not place a period (.) in front of the LHS and RHS values when performing a search. Therefore, if the LHS and RHS values need to have a period placed in front of them, you must include the period in the values you set for --hesiodlhs= and --hesiodrhs=.
--enablesmbauthuseradd command.
--smbservers=,).
--smbworkgroup=--enablecachenscd service. The nscd service caches information about users, groups, and various other types of information. Caching is especially helpful if you choose to distribute information about users and groups over your network using NIS, LDAP, or Hesiod.
--passalgo=sha256 to set up the SHA-256 hashing algorithm or sha512 to set up the SHA-512 hashing algorithm.
user command can be used to create a new group for the newly created user.
group --name=name [--gid=gid]
--name=--gid=join section of the realm(8) man page.
realm join domain [options]
--computer-ou=OU=--no-password--one-time-password=--client-software=sssd and winbind. Not all realms support all values. By default, the client software is chosen automatically.
--server-software=active-directory or freeipa.
--membership-software=samba and adcli. Not all realms support all values. By default, the membership software is chosen automatically.
rootpw [--iscrypted|--plaintext] [--lock] password
--iscrypted--plaintext. To create an encrypted password, you can use Python:
$python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
--plaintext--iscrypted.
--lockenforcing. For more information regarding SELinux in Fedora, see TODO: link to wherever we document SELinux now
selinux [--disabled|--enforcing|--permissive]
--enforcingenforcing.
--permissivepermissive. This policy outputs warnings based on the SELinux policy, but does not actually enforce the policy.
--disabled
user --name=username [options]
--name=--gecos=passwd(5) man page for more details.
--groups=--homedir=/home/username.
--lock--password=--password=--iscrypted--plaintext. To create an encrypted password, you can use Python:
$python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
--plaintext--iscrypted.
--shell=--uid=--gid=
autostep [--autoscreenshot]
--autoscreenshot/tmp/anaconda-screenshots after installation is complete. This is useful for documentation.
RUNKS=1 and inst.ks= parameters.
logging [--host= | --port= | --level=]
--host=syslogd process configured to accept remote logging.
--port=--level=tty3). This only affects messages printed to the console; log files will contain messages of all levels. Possible values are debug, info, warning, error, or critical.
rescue [--nomount|--romount]
--nomount or --romount--nomount option) or mount in read-only mode (the --romount option). Only one of these two options may be used.
SSH connection. Use the sshpw command to create temporary accounts through which to log on. Each instance of the command creates a separate account that exists only in the installation environment. These accounts are not transferred to the installed system.
sshpw --username=name password [--iscrypted|--plaintext] [--lock]
Important
ssh server is not started during the installation. To make ssh available during the installation, boot the system with the kernel boot option inst.sshd. See Section 8.2.3, “Console, Environment and Display Options” for details.
Note
ssh access to your hardware during installation, use the following:
sshpw --username=root --lock
--username--iscrypted--plaintext. To create an encrypted password, you can use Python:
$python -c 'import crypt; print(crypt.crypt("My Password", "$6$My Salt"))'
--plaintext--iscrypted
--lock
vnc [--host=hostname] [--port=port] [--password=password]
--host=--port=5900) will be used.
--password=--agreedeula command is meaningless. TODO: Does this even make sense on Fedora? Does initial-setup have an EULA in it?
firstboot --enable|--disable [--reconfig]
--enable or --enabled--disable or --disabled--reconfigpoweroff, reboot, and shutdown commands.
Note
poweroff command is highly dependent on the system hardware in use. Specifically, certain hardware components such as the BIOS, APM (advanced power management), and ACPI (advanced configuration and power interface) must be able to interact with the system kernel. Consult your hardware documentation for more information on you system's APM/ACPI abilities.
halt, reboot, and shutdown Kickstart commands.
halt, poweroff, and shutdown Kickstart options.
Important
reboot command may result in an endless installation loop, depending on the installation media and method.
--ejecthalt, poweroff, and reboot Kickstart options.
%include /path/to/file command to include the contents of another file in the Kickstart file as though the contents were at the location of the %include command in the Kickstart file.
%ksappend url directive is very similar to Section A.8, “%include (optional) - Include Contents of Another File” in that it is used to include the contents of additional files as though they were at the location of the %ksappend command. The difference is in when the two directives are processed.
%ksappend is processed in an initial pass, before any other part of the Kickstart file. Then, this expanded Kickstart file is passed to the rest of Anaconda where all %pre scripts are handled, and then finally the rest of the Kickstart file is processed in order, which includes %include directives.
%ksappend provides a way to include a file containing %pre scripts, while %include does not.
%packages command to begin a Kickstart section which describes the software packages to be installed. This section must end with an %end statement.
repodata/*-comps-variant.architecture.xml file TODO: where's comps.xml?
*-comps-variant.architecture.xml file contains a structure describing available environments (marked by the <environment> tag) and groups (the <group> tag). Each entry has an ID, user visibility value, name, description, and package list. If the group is selected for installation, the packages marked mandatory in the package list are always installed, the packages marked default are installed if they are not specifically excluded, and the packages marked optional must be specifically included even when the group is selected.
<id> tag) or name (the <name> tag).
Important
--multilib option also must be specified in the Kickstart file; see the available options below.
Important
root will be created. You can either create a user with the user option in the Kickstart file before installing additional systems from it (see Section A.5.6, “user (optional) - Create User Account” for details) or log into the installed system with a virtual console as root and add users with the useradd command.
Specifying Environments, Groups and Packages
%packages@^Infrastructure Server%end
repodata/*-comps-variant.architecture.xml file.
@ symbol, and then the full group name or group id as given in the *-comps-variant.architecture.xml file. For example:
%packages@X Window System @Desktop @Sound and Video%end
Core and Base groups are always selected - it is not necessary to specify them in the %packages section.
*-comps-variant.architecture.xml file also defines groups called Conflicts (variant) for each variant of Fedora. This group contains all packages which are known to cause file conflicts, and is intended to be excluded.
*) as a wildcard in package names. For example:
%packagessqlite curl aspell docbook*%end
docbook* entry includes the packages docbook-dtds, docbook-simple, docbook-slides and others that match the pattern represented with the wildcard.
-) to specify packages or groups to exclude from the installation. For example:
%packages-@Graphical Internet -autofs -ipa*fonts%end
Important
* in a Kickstart file is not supported, even if you exclude the @Conflicts (variant) group.
%packages section by using several options. Some options work for the entire package selection, others are used with only specific groups.
Common Package Selection Options
%packages. To use an option, append it to the start of the package selection section. For example:
%packages --multilib --ignoremissing
--nobase @Base group. Use this option to perform a minimal installation, for example, for a single-purpose server or desktop appliance.
--ignoremissing --excludedocs /usr/share/doc* directory, but the specific files to be excluded depend on individual packages.
--multilib x86_64) and packages for all architectures (marked as noarch) would be installed. When you use this option, packages for 32-bit systems (marked as i686) will be automatically installed as well, if available.
%packages section. Packages which are only being installed as dependencies without being specified in the Kickstart file will only be installed in architecture versions in which they are needed, even if they are available for more architectures.
Options for Specific Package Groups
%packages command in the Kickstart file, append them to the group name. For example:
%packages@Graphical Internet --optional%end
--nodefaults --optional *-comps-variant.architecture.xml file, in addition to installing the default selections.
%pre and end with %end. If your Kickstart file also includes a %post section, the order in which the %pre and %post sections are included does not matter.
%pre section. However, the name service has not been configured at this point, so only IP addresses work, not URLs.
Note
chroot environment.
%pre line at the beginning of the script. For example:
%pre --interpreter=/usr/bin/python--- Python script omitted --%end
--interpreter=/usr/bin/sh, /usr/bin/bash, and /usr/bin/python.
--erroronfail--log=
%pre --log=/mnt/sysimage/root/ks-pre.log
%post and end with %end. If your Kickstart file also includes a %pre section, the order of the %pre and %post sections does not matter.
--nochroot option as described below.
Important
%post section. If you configured the network for DHCP, the /etc/resolv.conf file has not been completed when the installation executes the %post section. You can access the network, but you cannot resolve IP addresses. Thus, if you are using DHCP, you must specify IP addresses in the %post section.
%post line at the beginning of the script. For example:
%post --interpreter=/usr/bin/python--- Python script omitted --%end
--interpreter=
%post --interpreter=/usr/bin/python
/usr/bin/sh, /usr/bin/bash, and /usr/bin/python.
--nochroot/etc/resolv.conf to the file system that was just installed.
%post --nochrootcp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf%end
--erroronfail--log=--nochroot option. For example, without --nochroot:
%post --log=/root/ks-post.log
--nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log
clearpart, zerombr, part, raid, volgroup, and logvol Kickstart options in action:
Example A.3. Advanced Partitioning Example
clearpart --drives=hda,hdczerombr# Raid 1 IDE configpart raid.11 --size 1000 --asprimary --ondrive=hdapart raid.12 --size 1000 --asprimary --ondrive=hdapart raid.13 --size 2000 --asprimary --ondrive=hdapart raid.14 --size 8000 --ondrive=hdapart raid.15 --size 16384 --grow --ondrive=hdapart raid.21 --size 1000 --asprimary --ondrive=hdcpart raid.22 --size 1000 --asprimary --ondrive=hdcpart raid.23 --size 2000 --asprimary --ondrive=hdcpart raid.24 --size 8000 --ondrive=hdcpart raid.25 --size 16384 --grow --ondrive=hdc# You can add --spares=xraid / --fstype xfs --device root --level=RAID1 raid.11 raid.21raid /safe --fstype xfs --device safe --level=RAID1 raid.12 raid.22raid swap --fstype swap --device swap --level=RAID1 raid.13 raid.23raid /usr --fstype xfs --device usr --level=RAID1 raid.14 raid.24raid pv.01 --fstype xfs --device pv.01 --level=RAID1 raid.15 raid.25# LVM configuration so that we can resize /var and /usr/local latervolgroup sysvg pv.01logvol /var --vgname=sysvg --size=8000 --name=varlogvol /var/freespace --vgname=sysvg --size=8000 --name=freespacetouselogvol /usr/local --vgname=sysvg --size=1 --grow --name=usrlocal
clearpart command is used on drives hda and hdc to wipe them. The zerombr command initializes unused partition tables.
/ (root), /safe, swap and /usr. The fifth, largest pair of partitions is named pv.01 and will be used in the following part as a physical volume for LVM.
sysvg on the pv.01 physical volume. Then, three logical volumes (/var, /var/freespace and /usr/local) are created and added to the sysvg volume group. The /var and /var/freespace volumes have a set size of 8 GB, and the /usr/local volume uses the --grow option to fill all remaining available space.
Important
hda and hdc to identify disk drives. You should use unique identifiers, such as a disk labels or an UUIDs, to identify disk drives. See the note in introduction to this appendix.
%pre section:
Example A.4. Sample %pre Script
%pre#!/bin/sh hds="" mymedia="" for file in /proc/ide/h* do mymedia=`cat $file/media` if [ $mymedia == "disk" ] ; then hds="$hds `basename $file`" fi done set $hds numhd=`echo $#` drive1=`echo $hds | cut -d' ' -f1` drive2=`echo $hds | cut -d' ' -f2` #Write out partition scheme based on whether there are 1 or 2 hard drives if [ $numhd == "2" ] ; then #2 drives echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype xfs --size 75 --ondisk hda" >> /tmp/part-include echo "part / --fstype xfs --size 1 --grow --ondisk hda" >> /tmp/part-include echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include echo "part /home --fstype xfs --size 1 --grow --ondisk hdb" >> /tmp/part-include else #1 drive echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype xfs --size 75" >> /tmp/part-include echo "part swap --recommended" >> /tmp/part-include echo "part / --fstype xfs --size 2048" >> /tmp/part-include echo "part /home --fstype xfs --size 2048 --grow" >> /tmp/part-include fi%end
%include /tmp/part-include
%post section:
Example A.5. Sample %post Script
# Start of the %post section with logging into /root/ks-post.log%post --log=/root/ks-post.log# Mount an NFS share mkdir /mnt/temp mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp openvt -s -w -- /mnt/temp/runme umount /mnt/temp # End of the %post section%end
runme located at /usr/new-machines/ on the share. Note that NFS file locking is not supported while in Kickstart mode, therefore the -o nolock option is required.
| Revision History | |||
|---|---|---|---|
| Revision 1.0-0 | Tue Dec 17 2013 | ||
| |||