Subversion Repositories ALCASAR

Rev

Go to most recent revision | Blame | Last modification | View Log

#!/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`
#
# For more information about all options here, refer to the wiki:
#       https://wiki.mageia.org/en/Auto_inst
#
$o = {
    # Keyboard settings
    'keyboard' => {
        'GRP_TOGGLE' => '',
        'KEYBOARD' => 'us'
    },

    # Locale setting
    # TODO: Check 
    'locale' => {
        'lang' => 'en_US',
        'IM' => undef,
        'langs' => {
            'fr' => 1
        },
        'country' => 'US'
    },

        # Security level: 
        #       * 2 is for standard
        #       * 3 for High
        #       * 4 for Higher
        #       * 5 for Paranoïd
        'security' => 2,
        
        # Non admin user sysadmin
        'users' => [
                {
                'shell'         => '/bin/bash',
                'realname'      => 'sysadmin',
                'name'          => 'sysadmin',
        'pw'        => '$2a$08$0Y9PuTN.3A3T57duRBZ3YOd6LALzsRx/jEDCBiaVNBg/tA1YJvZIC',
                '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' => [
                # Select language(s) support to be installed.
                'selectLanguage',
                
                # 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
};