1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613
|
# Author: Steven Shiau <steven _at_ clonezilla org>
# License: GPL
# Setting for DRBL environment.
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
# Keep drblroot="/tftpboot/nodes" and drbl_common_root="/tftpboot/node_root". These settings are already fixed in some programs.
# //NOTE// The variable "DRBL_SCRIPT_PATH" is from system environment variable, and if not defined, it will be "/usr/share/drbl" by default.
drbl_setup_path="$DRBL_SCRIPT_PATH/setup"
# Do NOT put / in the end of $drblroot, it's important
# when using rsync in drbl-setup
# DO NOT modify t$drblroot and $drbl_common_root, it's already fixed for the
# whole system, drblsrv and drblpush use /tftpboot/nodes and /tftpboot/node_root
# Why we put here is only for sometimes we can use them.
drblroot="/tftpboot/nodes"
drbl_common_root="/tftpboot/node_root"
# Assign the NFS protocol, either "nfs3" or "nfs4" (not ready yet). If not assigned, default is nfs3.
drbl_nfs_prot=""
#
if [ -e /etc/debian_version ]; then
# Debian
SYSCONF_PATH="/etc/default/"
# From Debian Squeeze, isc-dhcp-server is used, no more dhcp3-server (as that in etch, lenny...)
if [ -x "/usr/sbin/dhcpd3" ]; then
DHCPDCONF_DIR="/etc/dhcp3"
DHCP_SRV_NAME="dhcp3-server"
else
DHCPDCONF_DIR="/etc/dhcp"
DHCP_SRV_NAME="isc-dhcp-server"
fi
# DHCPDLEASE_DIR is got from get_dhcpdlease_dir() in drbl-functions
NFS_SRV_NAME="nfs-kernel-server"
YP_SRV_NAME="nis"
# Now GDM_CFG, FAC_GDM_CFG and KDM_CFG are got in drbl-functions.
#GDM_CFG="/etc/X11/gdm/gdm.conf"
#FAC_GDM_CFG="/etc/X11/gdm/factory-gdm.conf"
#KDM_CFG="/etc/kde3/kdm/kdmrc"
RCX_ROOTDIR="/etc"
# The releative path between init.d and rcx.d, for Debian, it's same, so
# in when working dir is in rc.d, service is in ../init.d/
RCX_REL_INITD="../init.d"
query_allpkgs_cmd="dpkg --get-selections"
query_pkglist_cmd="dpkg -L"
# instead of using dpkg -s, we use dpkg -L, since dpkg -s will give the wrong
# return code if a package is installed but removed later.
query_pkglist_exist_cmd="dpkg -L"
elif [ -e /etc/SuSE-release ]; then
# SuSE
SYSCONF_PATH="/etc/sysconfig/"
DHCPDCONF_DIR="/etc"
# DHCPDLEASE_DIR is got from get_dhcpdlease_dir() in drbl-functions
DHCP_SRV_NAME="dhcpd"
NFS_SRV_NAME="nfs"
YP_SRV_NAME="ypserv"
# Now GDM_CFG, FAC_GDM_CFG and KDM_CFG are got in drbl-functions.
#GDM_CFG="/etc/opt/gnome/gdm/gdm.conf"
#FAC_GDM_CFG="/etc/opt/gnome/gdm/factory-gdm.conf"
#KDM_CFG="/etc/opt/kde3/share/config/kdm/kdmrc"
RCX_ROOTDIR="/etc/init.d"
# The releative path between init.d and rcx.d, for SuSE, it's not same,
# rcx.d is under init.d. So in when working dir is in rc.d, service is in ../
RCX_REL_INITD="../"
query_allpkgs_cmd="rpm -qa"
query_pkglist_cmd="rpm -ql"
query_pkglist_exist_cmd="rpm -q"
else
# RH-like
SYSCONF_PATH="/etc/sysconfig/"
# From Fedora 11, the dhcpd config dir is in /etc/dhcp
if [ -d "/etc/dhcp" ]; then
DHCPDCONF_DIR="/etc/dhcp"
else
DHCPDCONF_DIR="/etc"
fi
# DHCPDLEASE_DIR is got from get_dhcpdlease_dir() in drbl-functions
DHCP_SRV_NAME="dhcpd"
# From Mandriva 2008.0, the nfs server name is changed to nfs-server.
nfs_srv_name_chklist="nfs nfs-server"
NFS_SRV_NAME=""
for i in $nfs_srv_name_chklist; do
if [ -e /etc/init.d/$i -o -e "/lib/systemd/system/$i.service" ]; then
NFS_SRV_NAME="$i"
break
fi
done
YP_SRV_NAME="ypserv"
# Now GDM_CFG, FAC_GDM_CFG and KDM_CFG are got in drbl-functions.
#GDM_CFG="/etc/X11/gdm/gdm.conf"
#FAC_GDM_CFG="/etc/X11/gdm/factory-gdm.conf"
#KDM_CFG="/etc/kde/kdm/kdmrc"
RCX_ROOTDIR="/etc"
# The releative path between init.d and rcx.d, for RH-like, it's same, so
# in when working dir is in rc.d, service is in ../init.d/
RCX_REL_INITD="../init.d"
query_allpkgs_cmd="rpm -qa"
query_pkglist_cmd="rpm -ql"
query_pkglist_exist_cmd="rpm -q"
fi
drbl_syscfg="/etc/drbl"
cache_dir="/var/cache/apt/archives"
drbl_pkgdir="/usr/share/drbl/share"
pxecfg_pd="/tftpboot/nbi_img"
# syslinux_binsrc_url is for downloading syslinux and pxelinux if necessary. You can change to any mirror site. E.g. "http://www.kernel.org/pub/linux/utils/boot/syslinux/"
syslinux_binsrc_url="http://free.nchc.org.tw/syslinux"
SYS_PXELINUX_VER_DEF="6.03"
pxelinux_binsrc_dir="$DRBL_SCRIPT_PATH/pkg/syslinux/"
pxelinux_file="$pxelinux_binsrc_dir/bios/pxelinux.0"
gpxelinux_file="$pxelinux_binsrc_dir/bios/gpxelinux.0"
lpxelinux_file="$pxelinux_binsrc_dir/bios/lpxelinux.0"
pxelinux_memdisk_file="$pxelinux_binsrc_dir/bios/memdisk"
pxelinux_simple_menu="$pxelinux_binsrc_dir/bios/menu.c32"
pxelinux_simple_vesamenu="$pxelinux_binsrc_dir/bios/vesamenu.c32"
pxelinux_chain_file="$pxelinux_binsrc_dir/bios/chain.c32"
pxelinux_mboot_file="$pxelinux_binsrc_dir/bios/mboot.c32"
pxelinux_sanboot_file="$pxelinux_binsrc_dir/bios/sanboot.c32"
# For Syslinux 5, new .c32 are required: ldlinux.c32, libcom32.c32, libutil.c32
# Do not list ldlinux.e32 and ldlinux.e64 here. This is only about bios, not EFI.
sys_pxelinux_v5p_required_c32="ldlinux.c32 libcom32.c32 libutil.c32"
# EFI boot loader option, could be either "syslinux" or "grub"
# //NOTE// For syslinux 6.03, EFI boot loader for iso file is not ready yet. This option is only for testing now.
live_efi_boot_loader="grub"
# Note, we can not use - or other charactor, since isolinux won't accept that (drbl-pxe.png is not accepted by syslinux, however, it's ok for pxelinux). To fit both, we use drblwp.png.
pxelinux_bg_img="$DRBL_SCRIPT_PATH/image/drblwp.png"
PXELINUX_DIR="/tftpboot/nbi_img/pxelinux.cfg"
PXE_CONF_DEF="$PXELINUX_DIR/default"
isolinux_file="$pxelinux_binsrc_dir/bios/isolinux.bin"
# Grub EFI network boot
grub_bg_img="$DRBL_SCRIPT_PATH/image/drblwp.png"
GRUB_EFINB_DIR="/tftpboot/nbi_img/grub"
GRUB_EFINB_CONF_DEF="$GRUB_EFINB_DIR/grub.cfg"
# Common grub2 file modules for DRBL and Clonezilla. Used in drbl-gen-grub-efi-nb and ocs-gen-grub2-efi-bldr
GRUB_FS_MOD_drbl_ocs="ext2 xfs reiserfs jfs hfsplus fat ntfs"
# Note, we can not use - or other charactor, since isolinux won't accept that (ocs-logo.png is not accepted by syslinux, however, it's ok for pxelinux). To fit both, we use ocswp.png.
ocs_logo_img_png="$DRBL_SCRIPT_PATH/image/ocswp.png"
ocs_logo_img_xpm="$DRBL_SCRIPT_PATH/image/ocswp.xpm.gz"
ocs_logo_grub2_img_png="$DRBL_SCRIPT_PATH/image/ocswp-grub2.png"
MEMTEST86_URL="http://www.memtest.org/download/"
MEMTEST86_VER_DEF="6.00"
memtest86_dir="$DRBL_SCRIPT_PATH/pkg/memtest86+/"
# memtest86_file="$DRBL_SCRIPT_PATH/pkg/memtest86+/memtest86.bin"
fdos_img_src="/usr/lib/freedos/fdos1440.img"
fdos_img_output="fdos1440_drbl.img"
PXE_RAMDISK_SIZE_DEF="19456"
PXE_RAMDISK_BLOCKSIZE="1024"
NETINSTALL_RAMDISK_SIZE_DEF="65535"
# The default-lease-time and max-lease-time in dhcpd.conf (secs)
DHCPD_DEFAULT_LEASE_TIME="300"
DHCPD_MAX_LEASE_TIME="300"
# The default image might show in menu if user want to show them.
# note! use lowercase for the image name!!!
IMG_SHOW_IN_MENU="drbl local memtest drbl-terminal"
# pxelinux menu
powerful_client_menu_label="Linux (DRBL mode, mostly local resources)"
thin_client_menu_label="Linux (Terminal mode, mostly remote resources)"
clonezilla_client_menu_label_prefix="Clonezilla"
# local OS label in pxelinux menu
# Some might want to change it as: Debian Linux, or MS windows...
local_os_menu_label="Local operating system (if available)"
#
url_prefix="http://free.nchc.org.tw"
# graphical boot settings, now only for Fedora Core (i.e. we will put "rhgb" in pxelinux.cfg/default)
graphical_boot="no"
# clonezilla image directory, the default dir is /home/partimag (YES, it's partimag instead of partimage)
# NOTE! Do NOT put / in the end of the dir (i.e. Ex. use /home/partimag instead of /home/partimag/)
ocsroot="/home/partimag"
# clonezilla.lock path
ocs_lock_dir="/var/lock/clonezilla"
# clonezilla log files path
ocs_log_dir="/var/log/clonezilla/"
# log file for sfdisk when restoring
RESTORE_SFDISK_LOG="/var/log/clonezilla-restore-sfdisk.log"
# Output file for busybox udhcpc when detecting DHCP server
udhdpc_query_result="/tmp/ocs-udhcpc-rlt.txt"
# Administrator account ID in MS windows
# This is for drbl-doit to send command to cloned MS windows via ssh. Different language MS windows use different ID. Ex:
# English: Administrator
# Traditional Chinese: Administrator
# France: Administrateur
# Dutch: Administrator
# Default vlaue: Administrator
MSWIN_ADMIN_ID="Administrator"
# default LANGUAGE
# [0]: English, [1]: Traditional Chinese (Big5) - Taiwan, [2] Traditional Chinese (UTF-8, Unicode) - Taiwan"
DEFAULT_LANGUAGE="0"
# default pxe timeout (unit: 1/10 sec)
DEFAULT_PXE_TIMEOUT="70"
# user with UID greater than $uid_begin_default is normal user,
# i.e. effective id
UID_BEGIN_DEFAULT="500"
# Misc setting
TIMED_GDM_TIME_DEFAULT="30"
TIMED_LIGHTDM_TIME_DEFAULT="30"
PASSWD_LENGTH_DEFAULT="8"
AUTO_LOGIN_ID_PASSWD="$drbl_syscfg/auto_login_id_passwd.txt"
# The time (how long ago) to kill the old $AUTO_LOGIN_ID_PASSWD file, in secs.
TIME_2_KILL="1200"
# The default max swap file (MB)
maxswapsize_default="1024"
# The default ramdisk size for PXE and NBI initrd (MB)
default_ramdisk_size="9600"
# parameter for checking space
common_root_dir="/bin /etc /lib /sbin"
buffer_ratio_for_client_space="1.5"
#
HOST_MAC_TABLE="$drbl_syscfg/HOST_MAC_TABLE"
IP_HOST_TABLE="$drbl_syscfg/IP_HOST_TABLE"
# drbl-useradd need these:
useradd_range_exec_file="drbl-useradd-range"
userdel_range_exec_file="drbl-userdel-range"
useradd_file_exec_file="drbl-useradd-file"
userdel_file_exec_file="drbl-userdel-file"
useradd_list_exec_file="drbl-useradd-list"
userdel_list_exec_file="drbl-userdel-list"
useradd_gen="username_pw.txt"
# XFS font server switch
XFS_RATIO="1.2"
fs_port="7100"
# List those packages has different arch rpms (i386, i486, i586, i686) in repository except kernel. This is specially for Redhat, Fedora, CentOS.
# Ex: glibc-2.6-3.i386.rpm, glibc-2.6-3.i686.rpm
# openssl-0.9.8b-12.fc7.i386.rpm, openssl-0.9.8b-12.fc7.i686.rpm
# openssl-perl is specially for CentOS (4.x).
i686_pkg_check_list_RH_like="glibc openssl openssl-perl pm-utils libbeagle libbeagle-devel libbeagle-python beagle beagle-evolution beagle-gui"
# DRBL server necessary services checklist, both for RH-like and Debian.
# list all the possible services, if it exists, will start it.
# RH-like: dhcpd xinetd portmap iptables ypserv ypbind yppasswdd ypxfrd nfs nfslock nis (Note! Since Fedora Core 7, portmap is replaced by rpcbind)
# Debian: nfs-common dhcp3-server nis nfs-kernel-server tftpd-hpa drbl-clients-nat inetd (woody). unfs3 is for DRBL Live if it's installed.
# From Debian Squeeze, isc-dhcp-server is used, no more dhcp3-server (as that in etch, lenny...)
# Note: nfs-common should be before nfs-kernel-server
# SuSE: nfsserver instead of nfs (nfs is client server)
# Mandriva 2008: nfs-server instead of nfs
# Add :'tftp' for Fedora 21, by Ceasar
drbl_server_service_chklist="dhcpd dhcp3-server isc-dhcp-server xinetd rpcbind iptables nis ypserv ypbind yppasswdd ypxfrd nfs nfslock rpc-statd statd nfs-common nfs-kernel-server nfs-server unfs3 tftpd-hpa inetd nfsserver SuSEfirewall2_init SuSEfirewall2_setup drbl-clients-nat tftp dnsmasq"
# DRBL client necessary services checklist, both for RH-like and Debian.
# list the possible services which are necessary for cleitns,
# we will test all that in RedHat/Fedora/Mandrake/Debian...
# Note: "nfs" is server in RH, but it's client in SuSE. So we have to add it
# separately for SuSE.
# Note: hwscan for suse will be processed later, check the session "# Take care the hardware config files, clean old, make them be detected at boot"
# For Ubuntu, we add: acpid, acpi-support, and usplash for clients.
# Note! for OpenSuSE 10.1, we add powersaved resmgr
# For Fedora 7, we add ConsoleKit, which is necessary for CD/USB stick automount. Sep/12/2008.
# For Mandriva 2008, we add consolekit, which is necessary for CD/USB stick automount. Oct/10/2008.
# Note! service network or network-up is not necessary since network is already done in initrd of client.
client_services_chklist="netfs rpcbind crond nfslock rpc-statd sshd xfs ypbind kudzu harddrake dm alsa sound keytable haldaemon messagebus nis nfs-common makedev ssh dbus-1 hal dbus kbd acpid acpi-support powersaved resmgr usplash gpm ConsoleKit consolekit cups cupsys pcscd cpuspeed abrtd binfmt-support systemd-timesyncd nscd"
# Config file for dnsmasq when used for proxy DHCP.
dnsmasq_cfg="/etc/dnsmasq.conf"
# To use existing DHCP service or not when there is only one network interface
use_existing_dhcp_srv="no"
# necessary packages for DRBL environment,
# we separate them as RH, MDK, SUSE and Debian
# //NOTE// Packages lzop ntfsprogs partimage maybe are not included in distribution repository (e.g. CentOS). If so, the backup plan is to use those in drbl repository.
PKG_FROM_RH="dhcp tftp-server nfs-utils ypserv ypbind yp-tools iptables wget dialog initscripts rsync parted tcpdump bc dos2unix curl lftp openssh-server openssh-clients coreutils gzip bzip2 nc file ethtool net-tools syslinux zip unzip iproute binutils expect lzop ntfsprogs partimage pigz pbzip2 udpcast memtest86+ yum yum-utils ecryptfs-utils shadow-utils ncurses"
PKG_TO_UNINSTALL_PART1_RH="dhcp tftp-server nfs-utils ypserv ypbind yp-tools dos2unix"
PKG_TO_UNINSTALL_PART2_RH=""
PKG_FROM_MDK="dhcp-server tftp-server nfs-utils ypserv ypbind yp-tools iptables wget cdialog initscripts rsync parted drakxtools pciutils autologin tcpdump bc dos2unix curl lftp openssh-server openssh-clients coreutils gzip bzip2 nc file ethtool net-tools syslinux glibc-i18ndata zip unzip iproute2 binutils expect lzop ntfsprogs partimage pigz pbzip2 udpcast ncurses"
PKG_TO_UNINSTALL_PART1_MDK="dhcp-server tftp-server nfs-utils ypserv ypbind yp-tools dos2unix"
PKG_TO_UNINSTALL_PART2_MDK=""
# The reason we need pbbuttonsd in SuSE is we need "run-parts"
PKG_FROM_SUSE="dhcp-server tftp nfs-utils ypserv ypbind yp-tools iptables wget dialog rsync parted tcpdump bc dos2unix curl lftp openssh insserv coreutils gzip bzip2 netcat file ethtool netdiag syslinux glibc-i18ndata zip unzip iproute2 pbbuttonsd binutils expect lzop ntfsprogs partimage pigz pbzip2 udpcast memtest86+ ecryptfs-utils"
PKG_TO_UNINSTALL_SUSE="dhcp-server tftp nfs-utils ypserv ypbind yp-tools ncurses-utils"
# PKG_FROM_DBN_MINIMAL_NEED are those required packages in Debian Live, DRBL and Clonezilla
# PKG_FROM_DBN_WHICH_OCS_LIVE_NEED are what we create drbl live and clonezilla live need.
# PKG_FROM_DBN is those required packages when drbl server is setup ($PKG_FROM_DBN_MINIMAL_NEED is included in $PKG_FROM_DBN).
# Therefore PKG_FROM_DBN_MINIMAL_NEED is the common one for "Debian Live CD for ocs" and DRBL/Clonezilla
PKG_FROM_DBN_MINIMAL_NEED="util-linux tar gzip bzip2 lzop pigz pbzip2 procps \
dialog rsync parted pciutils tcpdump bc gawk hdparm sdparm netcat-traditional file ethtool \
etherwake ssh mtools \
reiserfsprogs e2fsprogs psmisc locales wget disktype zip unzip patch iproute2 \
traceroute iputils-ping binutils expect udpcast debconf-utils \
txt2html dosfstools init ncurses-bin iptables \
net-tools chntpw curl"
# Use dhcp*-client$ for dhcp3-client, dhcp-client, and isc-dhcp-client (yes, debian will select 'dhcp-client' for regex 'dhcp*-client', then select 'isc-dhcp-client' for regex 'dhcp*-client'. With "$" in the end means we do not want "isc-dhcp-client-dbg"
# We separate PKG_FROM_DBN_WHICH_OCS_LIVE_NEED as PKG_FROM_DBN_WHICH_OCS_LIVE_MUST_HAVE and PKG_FROM_DBN_WHICH_OCS_LIVE_NICE_TO_HAVE so that it's easier to be used in other scenario, like for singularity.
PKG_FROM_DBN_WHICH_OCS_LIVE_MUST_HAVE="$PKG_FROM_DBN_MINIMAL_NEED perl \
less ntfs-3g screen tmux whiptail sshfs cifs-utils lftp \
dhcp*-client$ fbset gddrescue lvm2 xfsprogs xfsdump jfsutils \
console-setup console-common kbd hfsutils pwgen \
testdisk tofrodos dvd+rw-tools udftools pcmciautils nfs-common man \
pppoe pppoeconf ethtool mc wodim lshw efibootmgr \
lsscsi open-iscsi aoetools mdadm gpm ifupdown usbutils \
dmidecode mbr wipe hexedit vim lbzip2 lzma xz-utils \
pixz lzip plzip lrzip bsdmainutils iw w3m smartmontools \
vmfs-tools dbus dmsetup kpartx wpasupplicant fsarchiver cdrdao \
bind9-host nano rsyslog fbcat foremost eject gzrt sudo busybox \
user-setup xorriso btrfs-progs gdisk pcscd \
dirvish rsnapshot pv dnsutils tree \
exfatprogs tcplay libdata-validate-ip-perl udisks2 \
keyutils f2fs-tools lziprecover nwipe lsof htop bcache-tools \
diskscan fstransform rfkill f2fs-tools \
ntpsec-ntpdate bindfs zbackup ifenslave ca-certificates s3fs tinc \
zerofree strace fatresize nilfs-tools fancontrol lm-sensors dos2unix \
powertop qemu-utils os-prober dislocker ext4magic myrescue p7zip-full \
sysstat iftop nmap sshpass keychain \
lighttpd dnsmasq alsa-utils casync hashrat \
syslinux-common syslinux-efi isolinux pxelinux \
lz4 zstd haveged network-manager ldmtool \
nuttcp rdfind hwinfo scdaemon xen-tools uuid-runtime jq jc \
mutt telnet music123 sound-icons scrub nvme-cli \
bluetooth bluez bluez-tools mtr-tiny dcfldd iotop pax pmount \
util-linux-extra libfsapfs-utils usb-modeswitch archivemount \
linux-cpupower krb5-user libsasl2-modules-gssapi-mit ldap-utils \
dhcpcd-base upower fbterm fontconfig at cron mmc-utils lsb-release \
mtd-utils"
PKG_FROM_DBN_WHICH_OCS_LIVE_NICE_TO_HAVE="mpg123 partimage \
ecryptfs-utils fscrypt ipmitool monitoring-plugins-basic encfs \
davfs2 partclone-utils console-data bogl-bterm vlan \
brltty espeakup plocate scsitools blktool safecopy gpart f3 ipv6calc \
atop usbtop bashtop python3-psutil vnstat iperf3 glances virt-what \
ncdu ncdt vifm ytree lfm openfortivpn openconnect wavemon dtrx \
memtester edac-utils shc uml-utilities ngrep duf duff dfc ufw \
dvtm dtach zfsutils-linux ntfs2btrfs acpitool pdsh powermgmt-base yq"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED="$PKG_FROM_DBN_WHICH_OCS_LIVE_MUST_HAVE $PKG_FROM_DBN_WHICH_OCS_LIVE_NICE_TO_HAVE"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_X86_ONLY="syslinux acpi extlinux syslinux-utils \
grub-pc grub-efi-amd64-bin mbmon vbetool"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_X86_64_ONLY="$PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_X86_ONLY grub-efi-amd64-signed shim-signed"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_ARM64_ONLY="grub-efi-arm64-signed shim-signed"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_ARMHF_ONLY="grub-efi-arm"
PKG_FROM_DBN_WHICH_OCS_LIVE_NEED_RISCV64_ONLY="grub-efi-riscv64"
PKG_FROM_DBN="$PKG_FROM_DBN_MINIMAL_NEED tftpd-hpa nfs-kernel-server nis lftp ntfs-3g"
PKG_TO_UNINSTALL_PART1_DBN="$DHCP_SRV_NAME tftpd-hpa nfs-kernel-server nis"
PKG_TO_UNINSTALL_PART2_DBN=""
# Some package we are not sure it exists in repository or not, so query before
# install it, otherwise such as apt, one package does not exist, all the
# installation will be aborted.
# This is only for DRBL and DRBL live, nothing to do with Clonezilla live.
# PKG_TO_QUERY is for common, and PKG_TO_QUERY_RH is for Redhat-like distributions
# Add "tftp-server", "iptables-services" for Fedora 21, by Ceasar, 2015/01/14
PKG_TO_QUERY="mkinitrd lvm2 ntfs-3g xorriso genisoimage mkisofs lshw hwinfo aoetools dmidecode lzop lzma xz xz-utils pixz lzip pigz pbzip2 lbzip2 plzip lrzip pv hfsutils hfsprogs dmsetup dmraid kpartx device-mapper tofrodos dos2unix unix2dos dhcp3-server isc-dhcp-server gdisk btrfs-progs ufsutils disktype efibootmgr syslinux syslinux-utils tftp-server iptables-services grub-efi-amd64-bin grub-efi-arm64-bin grub-efi-ia32-bin grub2-efi-modules grub2-efi-x64-modules grub2-efi-ia32-modules monitoring-plugins-basic nmap dnsmasq memtest86+ freedos lz4 zstd nscd shim-signed grub-efi-amd64-signed grub-efi-arm64-signed ldmtool ecryptfs-utils partimage thin-provisioning-tools device-mapper-persistent-data nuttcp cryptsetup"
#
# By Ceasar (15/12/11, for Fedora 22, dnf install return '1' if any package failed to install , but not in yum )
PKG_TO_QUERY_RH="dracut firstboot"
# package from DRBL
# PKG_FROM_DRBL_FOR_CLONEZILLA_LIVE is the packages which clonezilla live need.
PKG_FROM_DRBL_FOR_CLONEZILLA_LIVE="clonezilla partclone "
PKG_FROM_DRBL="$PKG_FROM_DRBL_FOR_CLONEZILLA_LIVE mkpxeinitrd-net ipxe "
# i686 package list for SUSE
# TODO: make use list_available_rpm to get the lists.
i686_pkg_check_list_SUSE="glibc glibc-devel db db-devel db41 db41-devel"
# Packages for gparted, this is for Debian.
# vim-common is for /usr/bin/xdd, which is required for NTFS moves and copies.
debian_pkgs_for_gparted="gparted e2fsprogs hfsutils jfsutils xfsprogs xfsdump reiserfsprogs btrfs-progs parted ntfs-3g dosfstools mtools lvm2 mbr vim-common dmsetup kpartx exfatprogs util-linux-extra"
# Excluding some dir when rsync server's /etc to client's /etc
# /etc/selinux/targeted is for selinux, which is already disabled in client.
# //NOTE// Always remember to put the / in the end of dir.
etc_exclude_dirs="/etc/selinux/targeted/ /etc/netplan/"
# If /var/run is a symbolic file (on Ubuntu 11.10 or FC17, for example), we will copy it, too. Otherwise for /var/ we will only copy directories name (Files in /var/lib/ will be copied, though). Actually in this case, /var/run is linked to /run. For /var/lock, it is linked to /run/lock
symbolic_files_in_var_chklist="run lock"
# The directory with its content that will NOT to be copied to common root's /lib
# /lib/modules not all copied to /tftpboot/node_root/, since the kernel on the server is not always the same as that on the client. We will let mknic-nbi to take care of this.
# 2013/06/09 /lib/live/mount is a mounting point for Debian live 3.x. We have to exclude it otherwise the files on DRBL live will be copied, too. Those files are not required for client.
# NOTE!!! Do not append "/" in the end of the dir name
lib_NOT_2_be_copied_2_common_root="modules live/mount"
#
# The directory with its content that will NOT to be copied to common root's /var/lib
# This is for rsyncing /var/lib/ to /tftpboot/node_root/var/lib/
# The reason that varlib_NOT_2_be_copied_2_common_root and varlib_NOT_2_be_copied_2_each_client can not share the same is that for some dir, e.g. /var/lib/{rpm,dpkg}, client will mount from /tftpboot/node_root/, so we do not have to waste the space to copy to each client's /var/lib/.
# NOTE!!! Do not append "/" in the end of the dir name
varlib_NOT_2_be_copied_2_common_root="tftpboot mysql vmware-server boinc-client/projects hadoop backuppc ntp/proc docker lxcfs"
#
# The directory with its content that will be copied to common root's /var/cache
# This is for rsyncing /var/cache/ to /tftpboot/node_root/var/cache/
# NOTE!!! Do not append "/" in the end of the dir name
varcache_2_be_copied_2_common_root="debconf sax man"
#
# The directory with its content that will NOT to be copied to client's /var/lib
# This is for rsyncing /tftpboot/node_root to /tftpboot/nodes/$IP
# Ugly here....
# lib to be copied due to those necessary files for some packages,
# especially rpm database and alternatives
# Do NOT copy others if you are not sure, such as /var/lib/nfs will cause
# nfslock refuse to start...
# NOTE!!! Do not append "/" in the end of the dir name
# sax is for SuSE's DRBL firstboot.
varlib_NOT_2_be_copied_2_each_client="dhcp nfs rpm dpkg apt synaptic yum urpmi snapd"
# For SuSE, we need to copy /var/X11R6 to clients also. How about /var/adm ?
# set the DIA as dialog, whiptail or xdialog
if type whiptail >/dev/null 2>&1; then
DIA="whiptail"
else
DIA="dialog"
fi
# Prompt messages preference. Could be "tui" or "cmd" (default)
# //NOTE// This parameter has been moved to drbl-ocs.conf and renamed as "ocs_prompt_mode"
# //NOTE// Not all the messages are supported to be shown in dialog/whiptail
#messages_shown_preference="cmd"
# NFS
# default ratio for nfsd and total client number, i.e. the nfs daemon number
# (RPCNFSDCOUNT) running in server = $NFSD_RATIO * total_client_no.
NFSD_RATIO=2.5
# The upper limit for NFS daemons
NFSD_MAX=120
# Extra options for NFS client in /etc/fstab
nfs_client_extra_opt=""
# Yum repository blacklist, Ex. http://ftp.isu.edu.tw, it uses page by page output, it it NOT compatable with DRBL scripts.
yum_repo_blacklists="http://ftp.isu.edu.tw"
# DRBL yum repo list
drbl_yum_repo_list="drbl.repo drbl-testing.repo drbl-unstable.repo drbl-extra.repo drbl-legacy.repo"
# RPM MD repository config file (drbl.repo, drbl-testing.repo, drbl-unstable.repo). This is for OpenSuSE 11.1 or later.
rpm_md_conf_dir_path="$drbl_setup_path/rpm-md-repos"
# Set DRBL gdm greeting background for DRBL clients ?
set_drbl_gdmgreeter="yes"
# PRE_RUN_DIR and POST_RUN_DIR
# The script in the direcoty $DRBLPUSH_PRERUN_DIR will be run before drblpush is run, and script in the direcoty $DRBLPUSH_POSTRUN_DIR will be run after it is finished. You need to put your own scripts in those directories if you want to use this.
DRBLPUSH_PRERUN_DIR="$DRBL_SCRIPT_PATH/prerun/drbl/"
DRBLPUSH_POSTRUN_DIR="$DRBL_SCRIPT_PATH/postrun/drbl/"
## drbl client common root dir##
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
# diskless_root_dir_1 are those necessary dir for mount point.
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
diskless_root_dir_1="home mnt proc tmp usr opt root dev var initrd sys snap"
# diskless_root_dir_2 are those necessary dir for mount point (from drbl.conf), too. These dirs depend on distribution, so we will test it before create it.
# Add misc net srv on 6/14/2005 for FC4
# WARNING! DO NOT MODIFY THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
diskless_root_dir_2="media misc net srv selinux"
# If the dir (tmpfs) exists on server's /etc/fstab, append it to client's /etc/fstab:
memfs_dir_in_rh_client_fstab="/dev/shm /dev/pts /sys /proc"
# dummy ethernet card port config in client (for RH-like only)
# The dummy files are automatically created by DRBL to avoid to be regenerated.
# They will be saved to $drblroot/$ip/etc/sysconfig/network-scripts/ifcfg-$ethx
# Normally 4 NICs will be enough, if you have more NICs in DRBL client, append them.
dummy_eth_nics="eth0 eth1 eth2 eth3"
# Exclude some network devices which we do not want to be used to connect to DRBL clients, e.g. vmnet8, ppp0...
exclude_eth_nics=""
# diskless_root_dir_ro_user_add and diskless_root_dir_rw_user_add are user assigned directores so that client can see those directories (NFS mounted).
# diskless_root_dir_ro_user_add is ReadOnly dir for client
# diskless_root_dir_ro_user_add is ReadWrite dir for client
# Ex: "/data /work", then
# 1. /tftpboot/node_root/data and /tftpboot/node_root/work will be created (done in drblpush)
# 2. /data and /work will be exported (/etc/exports) (done in drbl-nfs-exports)
# 3. client will NFS mount /data (from server) as /data and /work (from server) as /work (/etc/fstab) (done in drbl-gen-client-files)
# ///Note///
# (1) You must use the absolute path, for example, in the above example, "/" is necessary for /data.
# (2) Do not use the dir under /media as mount point to share. /media in client is based on tmpfs, it's created everytime when it boots.
diskless_root_dir_ro_user_add=""
diskless_root_dir_rw_user_add=""
# Debian/Ubuntu user group to be added for the users created by drbl-useradd
desktop_user_group_debian="dialout audio cdrom plugdev floppy video"
# List the tags about client kernels which will be excluded.
# //NOTE// This is regular expression syntax.
drbl_client_debian_exclude_kernels="(-xen|-vserver|-openvz|rt|-dbg|-grsec|-unsigned|-cloud)"
# uEFI network secure boot for clients. This is still in testing.
secure_boot_client="no"
#####################################
# GNU/Linux netinstall image settings:
#####################################
# This is used in drbl-netinstall
# Be default, we turn off BSD netinstall. If you want to use BSD netintsall, set this as "yes"
setup_bsd_netinst="no"
# Debian netinstall
debian_netinstall_ver="bookworm"
debian_netinstall_arch="i386 amd64"
debian_url_site="http://free.nchc.org.tw"
# Path to Debian where directory $ver (Ex. etch) exists
path_to_debian="debian/dists"
debian_netinstall_kernel="linux"
debian_netinstall_initrd="initrd.gz"
# Ubuntu netinstall
ubuntu_netinstall_ver="focal"
ubuntu_netinstall_arch="i386 amd64"
ubuntu_url_site="http://free.nchc.org.tw"
# Path to Ubuntu where directory $ver (Ex. dapper) exists
path_to_ubuntu="ubuntu/dists"
ubuntu_netinstall_kernel="linux"
ubuntu_netinstall_initrd="initrd.gz"
# Fedora netinstall
fedora_netinstall_ver="41"
fedora_netinstall_arch="x86_64"
fedora_url_site="http://free.nchc.org.tw"
# Path to Fedora where directory core or releases exists
path_to_fedora="fedora/linux"
fedora_netinstall_kernel="vmlinuz"
fedora_netinstall_initrd="initrd.img"
# CentOS netinstall
centos_netinstall_ver="7 8"
centos_netinstall_arch="x86_64"
centos_url_site="http://free.nchc.org.tw"
# Path to CentOS where directory $ver (Ex. 4.4) exists
path_to_centos="centos"
centos_netinstall_kernel="vmlinuz"
centos_netinstall_initrd="initrd.img"
# RedHat netinstall
#redhat_netinstall_ver="8.0 9"
#redhat_netinstall_arch="i386"
#redhat_url_site="http://free.nchc.org.tw"
# Path to RedHat where directory $ver (Ex. 9) exists
#path_to_redhat="redhat/linux"
#redhat_netinstall_kernel="vmlinuz"
#redhat_netinstall_initrd="initrd.img"
# Mandriva netinstall
mandriva_netinstall_ver="2010.0"
mandriva_netinstall_arch="i586"
mandriva_url_site="http://free.nchc.org.tw"
# Path to Mandriva where directory $ver (Ex. 2007.1) exists
path_to_mandriva="mandrake/official"
mandriva_netinstall_kernel="vmlinuz"
mandriva_netinstall_initrd="all.rdz"
# Mageia netinstall
mageia_netinstall_ver="cauldron"
mageia_netinstall_arch="i586"
mageia_url_site="http://free.nchc.org.tw"
# Path to Mageia where directory $ver (Ex. cauldron) exists
path_to_mageia="mageia/distrib"
mageia_netinstall_kernel="vmlinuz"
mageia_netinstall_initrd="all.rdz"
# Scientific netinstall
scientific_netinstall_ver="7x"
scientific_netinstall_arch="x86_64"
scientific_url_site="http://free.nchc.org.tw"
# Path to Scientific where directory $ver (Ex. 50) exists
path_to_scientific="scientific"
scientific_netinstall_kernel="vmlinuz"
scientific_netinstall_initrd="initrd.img"
# OpenSuSE netinstall
# Note! Works only from 10.1
opensuse_netinstall_ver="16.0"
opensuse_netinstall_arch="x86_64"
opensuse_url_site="http://free.nchc.org.tw"
# Path to OpenSUSE where directory $ver (Ex. 10.2) exists
path_to_opensuse="opensuse/distribution"
opensuse_netinstall_kernel="linux"
opensuse_netinstall_initrd="initrd"
# FreeBSD netinstall
# Note! Works only for 1 version
# Ex: ftp://ftp.twaren.net/BSD/FreeBSD/releases/i386/ISO-IMAGES/8.0/8.0-RELEASE-i386-bootonly.iso
freebsd_netinstall_ver="8.0"
freebsd_netinstall_arch="i386"
freebsd_url_site="ftp://ftp.twaren.net"
# Path to FreeBSD where releases exists
path_to_freebsd="BSD/FreeBSD/"
# OpenBSD netinstall
# Note! Works only for 1 version
# Ex: ftp://ftp.twaren.net/BSD/OpenBSD/4.6/i386/
openbsd_netinstall_ver="4.6"
openbsd_netinstall_arch="i386"
openbsd_url_site="ftp://ftp.twaren.net"
# Path to OpenBSD where version (e.g. 4.6) exists
path_to_openbsd="BSD/OpenBSD/"
# For DRBL live
# try IP from 192.168."100".254 for alias IP address subnet
drbl_live_private_IP_alias_eth_def="100"
# For SAN booting (AoE/iSCSI booting)
# Only 1 dir is allowed here, since we will use it as the target dir to dump AoE file by drbl-aoe-img-dump. Later you can use drbl-aoe-srv to assign different image dirs, including multiple dirs
sanboot_img_dump_dir="/home/sanboot-img"
aoe_shelf_max="15"
aoe_slot_max="15"
|