Subversion Repositories ALCASAR

Rev

Blame | Last modification | View Log | RSS feed

#!/usr/bin/perl -cw
#
# Configuration file written by :
#       * Hamza ESSAYEGH (Querdos)
#
# /!\ Before putting this file in the iso, check the syntax with
#         `perl -cw auto_inst.cfg.pl`
$o = {
    # Keyboard settings
    'keyboard' => {
        'GRP_TOGGLE' => '',
        'KEYBOARD' => 'fr'
    },

    # Locale setting
    'locale' => {
        'lang' => 'fr',
        'IM' => undef,
        'langs' => {
            'fr' => 1
        },
        'country' => 'FR',
        'utf8' => 1
    },

        # Security level:
        #       * 2 is for standard
        #       * 3 for High
        #       * 4 for Higher
        #       * 5 for Parano├»d
        'security' => 2,
       
        # Non admin user sysadmin
    # TODO: Group for sysadmin ?
        'users' => [
                {
                'shell'         => '/bin/bash',
                'realname'      => 'sysadmin',
        'pwd'       => '$2a$08$0Y9PuTN.3A3T57duRBZ3YOd6LALzsRx/jEDCBiaVNBg/tA1YJvZIC',
                'name'          => 'sysadmin',
                'groups'        => [],
                }
        ],
       
        # Authentication method
        'authentication' => {
                'shadow'        => 1,
                'blowfish'      => 1
        },
       
        # Superuser (root) definition
        'superuser' => {
                'shell'         => '/bin/bash',
                'realname'      => 'root',
                'pw'            => '$2a$08$FJ4lI4royRd2crXB1yWvJO9BMMoBbbUw/YRX8kaQ/6zb/poOjTFM2',
                'home'          => '/root',
                'uid'           => '0',
                'gid'           => '0'
        },
       
        # Default packages for the new distribution
        # Basic package for a minimalist system, ALCASAR will handle
        # the rest
        # TODO: Default packages for x86_64
        'default_packages' => [
                'plymouth',
                'aria2',
                'netprofile',
                'sudo',
                'cdrkit',
                'sharutils',
                'ldetect',
                'alsa-utils',
                'pm-utils',
                'lsof',
                'ntfs-3g',
                'nscd',
                'bash-completion',
                'mageia-gfxboot-theme',
                'basesystem',
                'dhcp-client',
                'aoss',
                'kernel-desktop-latest',
                'dvd+rw-tools',
                'vim-minimal',
                'acpi',
                'locales-fr',
                'mandi-ifw',
                'grub',
                'lftp',
                'shorewall-ipv6',
                'usbutils',
                'rtlwifi-firmware',
                'kernel-firmware-nonfree',
                'iwlwifi-agn-ucode',
                'radeon-firmware',
                'ralink-firmware',
                'autologin',
                'wget',

                # Packages needed by alcasar
        'freeradius',  
        'freeradius-mysql',
        'freeradius-ldap',
        'apache',              
        'apache-mod_ssl',
        'apache-mod_php',
        'dansguardian',
        'postfix',
        'mariadb',
        'ntp',
        'bind-utils',
        'openssh-server',
        'php-xml',
        'php-ldap',
        'php-mysql',
        'php-mysqli',
        'php-mbstring',
        'php-sockets',
        'php-cli',
        'php-curl',
        'php-pdo_sqlite',
        'php-json',
        'rng-utils',
        'rsync',
        'clamav',
        'perl-rrdtool',
        'perl-MailTools',
        'perl-Socket6',
        'fail2ban',
        'gnupg',
        'ulogd',
        'pm-fallback-policy',
        'ipset',
        'cronie-anacron',
        'gammu',
        'usbutils',
        'locales-en',
        'usb_modeswitch',
        'tinyproxy',
        'vnstat',
        'php-gd',
        'sudo',
        'iftop',
        'man',
        'kernel-firmware-nonfree',
        'dos2unix'
        ],
       
        # Partitionning : control the partitioning of the target system's
        # hard disk drives
        'partitioning' => {
                # Set to 1 if disk partitions are to be defined by the
                # option partitions
                'auto_allocate' => 1,
               
                # 1: all the existing partitions on ALL disks are to be cleared
                #        and replaced
                # 0: the disks are to be left untouched or, you are goeing to
                #        use "clear" instead
                'clearall'              => 1
        },
       
        # Partitions option is used to define the partitions that are to be
        # created on the hard disk
        # TODO: SWAP for 64-bits
        'partitions' => [
                # First partition, 5Go -> '/' -> ext4
                {
                        'mntpoint'              => '/',
                        'size'                  => 5000 << 11,
                        'fs_type'               => 'ext4'
                },
               
                # Second partition, swap
                {
                        'mntpoint'              => 'swap',
                        'size'                  => 4000 << 11,
                        'fs_type'               => 'swap'
                },
               
                # Third partition, 5Go -> '/tmp'
                {
                        'mntpoint'              => '/tmp',
                        'size'                  => 5000 << 11,
                        'fs_type'               => 'ext4'
                },
               
                # Fourth partition, 5Go -> '/home' -> ext4
                {
                        'mntpoint'              => '/home',
                        'size'                  => 5000 << 11,
                        'fs_type'               => 'ext4'
                },
               
                # Fifth partition, /var with rest of the disk
                {
                        'mntpoint'              => '/var',
                        'size'                  => 10 << 11,
                        'ratio'                 => 100,
                        'fs_type'               => 'ext4',
                }
        ],
       
        # Interactive steps option
        # http://members.shaw.ca/mandrake/ -> section Replay Steps for
        # more informations
        'interactiveSteps' => [
                # Allows you to Accept or Refuse the License Agreement.
                'acceptLicense',
               
                # Select the time zone, GMT/Local hardware clock and if you
                # want NTP installed.
                'summary'
        ],
       
        # Post installation script, executed as root in the installed
        # environments and not inside the DrakX installation program
        'postInstallNonRooted' => "
                # Copying Alcasar needed rpms
                tar -xf /tmp/image/install/alcasar/rpms-*.tar.gz -C /mnt/var/cache/urpmi/rpms
               
                # Copying Alcasar archive to the root directory
                tar -xf /tmp/image/install/alcasar/alcasar.tar.gz -C /mnt/root/
               
                # Copying the first login script to the root directory
                cp /tmp/image/install/alcasar/first_login /mnt/root/
               
                # Editing bashrc
                echo '[[ -f first_login ]] && bash first_login;' >> /mnt/root/.bashrc
        "
,
       
        # Exit without prompt after installation is finished
        # 0 - prompt the installer to re-boot and wait
        # 1 - reboot the computer automatically
        'autoExitInstall' => 1
};