File: drbl.conf

package info (click to toggle)
drbl 5.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 6,996 kB
  • sloc: sh: 43,555; perl: 8,820; xml: 867; makefile: 135
file content (613 lines) | stat: -rw-r--r-- 31,575 bytes parent folder | download
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"