Abstract
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command 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 includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose 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).→ → from the main menu bar to launchTo 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.name
at a shell prompt. If the remote machine isexample.com
and your username on that machine is john, typessh john@example.com
.Themount -o remount file-system
command remounts the named file system. For example, to remount the/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q package
command. 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/sdb1
inst.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:/filename
next-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.sendmac
HTTP
requests with the MAC addresses of all network interfaces. For example:
X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab
inst.ks=http
to provision systems.
inst.ks.sendsn
HTTP
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: R8VA23D
console=
console=ttyS0
. This option should be used along with the inst.text
option.
console=ttyS0 console=ttyS1
, the installation program will only use ttyS1
.
noshell
inst.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.text
inst.cmdline
inst.graphical
inst.resolution=
640x480
.
inst.headless
inst.xdriver=
X
driver to be used both during the installation and on the installed system.
inst.usefbx
X
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_ohci
inst.sshd
sshd
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:ab
inst.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:em1
vlan5
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=5000
modinfo 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,em2
inst.multilib
x86_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.gpt
inst.zram
inst.zram=1
to enable it, and on systems with 2 GB or less memory, use inst.zram=0
to disable this feature.
inst.vnc
VNC
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:/path
inst.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
, asknetwork
initramfs
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.
gdb
rd.debug
instead.
mediacheck
rd.live.check
option.
ks=floppy
display=
inst.vnc
option.
utf8
noipv6
ipv6.disable
option.
upgradeany
vlanid=
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 dhcpd
journalctl --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 dhcpd
journalctl --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.socket
systemctl enable tftp.socket
Procedure 10.3. Getting the bootloader files
yum install syslinux
mkdir -p
/var/lib/tftpboot/pxelinux
cp
/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/uefi
cp
/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-part1
part / --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:
install
liveimg --url=file:///images/install/squashfs.img --noverifyssl
cdrom
harddrive
ext2
, ext3
, ext4
, vfat
, or xfs
.
install
harddrive --partition= | --biospart= [--dir=]
--partition=
sdb2
).
--biospart=
82p2
).
--dir=
liveimg
squashfs.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
.
install
liveimg --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.
--noverifyssl
HTTPS
server.
nfs
NFS
server specified. TODO: link to the PXE chapter's section on preparing install source on nfs
install
nfs --server= [--dir=] [--opts= ]
--server=
--dir=
--opts=
NFS
export.
url
HTTP
, HTTPS
, or FTP
.
install
url --url= | --mirrorlist= [--proxy= | --noverifyssl]
--url=
http
, https
, ftp
, and file
.
--mirrorlist=
--proxy=
HTTP
, HTTPS
or FTP
proxy to use while performing the installation.
--noverifyssl
HTTPS
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
--noverifyssl
HTTPS
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=sda
part btrfs.02 --size=6000 --ondisk=sdb
part btrfs.03 --size=6000 --ondisk=sdc
btrfs none --data=0 --metadata=1 --label=f20 btrfs.01 btrfs.02 btrfs.03
btrfs / --subvol --name=root LABEL=f20
btrfs /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
--none
clearpart
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=
--autovlan
ignoredisk
, 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
--interactive
iscsi
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.
--thinpool
none
)
--metadatasize=
--chunksize=
--thin
--poolname
)
--poolname=
--thin
option.
part pv.01 --size 3000
volgroup myvg pv.01
logvol / --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.id
raid
).
pv.id
biosboot
efi
--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.
--grow
Note
--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=sda
part raid.02 --size=6000 --ondisk=sdb
part raid.03 --size=6000 --ondisk=sdc
part swap --size=512 --ondisk=sda
part swap --size=512 --ondisk=sdb
part swap --size=512 --ondisk=sdc
part raid.11 --size=1 --grow --ondisk=sda
part raid.12 --size=1 --grow --ondisk=sdb
part raid.13 --size=1 --grow --ondisk=sdc
raid / --level=1 --device=f20-root --label=f20-root raid.01 raid.02 raid.03
raid /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 3000
volgroup myvg pv.01
logvol / --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
--wwpn
0x
.
--fcplun
0x
.
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).
--startxonboot
authconfig
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=
--useshadow
or --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=
.
--enableldapauth
pam_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
--enablekrb5
useradd
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=
.
--enablesmbauth
useradd
command.
--smbservers=
,
).
--smbworkgroup=
--enablecache
nscd
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
.
--lock
enforcing
. For more information regarding SELinux in Fedora, see TODO: link to wherever we document SELinux now
selinux [--disabled|--enforcing|--permissive]
--enforcing
enforcing
.
--permissive
permissive
. 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=
--agreed
eula
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
--reconfig
poweroff
, 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.
--eject
halt
, 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:
%packages
sqlite 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 --nochroot
cp /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,hdc
zerombr
# Raid 1 IDE configpart raid.11 --size 1000 --asprimary --ondrive=hda
part raid.12 --size 1000 --asprimary --ondrive=hda
part raid.13 --size 2000 --asprimary --ondrive=hda
part raid.14 --size 8000 --ondrive=hda
part raid.15 --size 16384 --grow --ondrive=hda
part raid.21 --size 1000 --asprimary --ondrive=hdc
part raid.22 --size 1000 --asprimary --ondrive=hdc
part raid.23 --size 2000 --asprimary --ondrive=hdc
part raid.24 --size 8000 --ondrive=hdc
part raid.25 --size 16384 --grow --ondrive=hdc
# You can add --spares=xraid / --fstype xfs --device root --level=RAID1 raid.11 raid.21
raid /safe --fstype xfs --device safe --level=RAID1 raid.12 raid.22
raid swap --fstype swap --device swap --level=RAID1 raid.13 raid.23
raid /usr --fstype xfs --device usr --level=RAID1 raid.14 raid.24
raid 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.01
logvol /var --vgname=sysvg --size=8000 --name=var
logvol /var/freespace --vgname=sysvg --size=8000 --name=freespacetouse
logvol /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 | ||
|