title AltLinux i586 cinamon save #find --set-root --ignore-floppies --ignore-cd /MagOS/MagOS.sgn kernel /AltLinux/kernel/i586/vmlinuz uird.ro=*.xzm,*/live uird.from=/AltLinux/iso/altlinux-p7-cinnamon-latest-i586.iso;/AltLinux/modules/i586/ uird.load=* root=uird rw findswap vga=788 quiet plymouth.enable=0 uird.home=/dev/sda3/AltLinux-Data/homes/ uird.changes=/dev/sda3/AltLinux-Data/changes/ users initrd /AltLinux/kernel/i586/uird.soft.cpio.xz /AltLinux/kernel/i586/uird.magos.cpio.xz
uird.ro=*.xzm,*/live
uird.from=/AltLinux/iso/altlinux-p7-cinnamon-latest-i586.iso;/AltLinux/modules/i586/
uird.load=*
root=uird
rw
findswap
vga=788
quiet
plymouth.enable=0
uird.home=/dev/sda3/AltLinux-Data/homes/
uird.changes=/dev/sda3/AltLinux-Data/changes/
users
*.RWM.ENC - RW *.ROM.ENC - RO
uird.cache=/MagOS/cache;/MagOS-Data/cache;/MagOS-Data/netlive
uird.homes=/MagOS-Data/homes;/MagOS-Data/home.img;nfs://magos.sibsau.ru/homes/n/e/myuser
/path/dir
- directory on any available media;/dev/[..]/path/dir
- directory on the specified media;file-dvd.iso, file.img
- disk image (ISO, block device image);server/pathβ¦
server/pathβ¦
- source available via HTTP (using httpfs);ssh://server/path/β¦
- source available via SSH (using sshfs);server/pathβ¦
server/pathβ¦
- source available via FTP (using curlftpfs);nfs://server/path/β¦
- source accessible via NFS;cifs://server/path/β¦
- source available via CIFS;uird.machines=
- the source where machine-dependent persistent changes are stored. kernel images/vmlinuz uird.ro=*.xzm,*/live uird.from=http://magos-server.mydomain.local/magos/AltLinux/iso/alt linux-p7-cinnamon-latest-i586.iso;http://magos-server.mydomain.local/magos/AltLinux/modules/i586/ uird.load=* root=uird rw findswap vga=788 quiet plymouth.enable=0 users
uird.from=http://magos-server.mydomain.local/magos/AltLinux/iso/altlinux-p7-cinnamon-latest-i586.iso;http://magos-server.mydomain.local/magos/AltLinux/modules/i586/
uird.from=/MagOS;/MagOS-Data;MagOS.iso;http://magos.sibsau.ru/repository/netlive/2014.64/MagOS
βββ layer-base ==> βββ layer-cache β βββ 0 --> β βββ 0 β βββ 1 --> β βββ 1 β βββ ... --> β βββ ... β βββ ... --> β RAM
uird.config=MagOS.ini uird.ramsize=70% uird.ro=*.xzm;*.rom;*.rom.enc;*.pfs;*.sfs uird.rw=*.rwm;*.rwm.enc uird.cp=*.xzm.cp,*/rootcopy uird.load=/base/,/modules/,rootcopy uird.noload= uird.from=/MagOS;/MagOS-Data uird.changes=/MagOS-Data/changes uird.cache=/MagOS-Data/cache uird.machines=/MagOS-Data/machines uird.home=/MagOS-Data/homes
/memory/ βββ bundles - β βββ 00-kernel.xzm β βββ 01-firmware.xzm β βββ 10-core.xzm β βββ 80-eepm-1.5.2.xzm β βββ ... - .. βββ changes - β βββ etc β βββ home β βββ memory β βββ run β βββ var β βββ ... - .. βββ data - β βββ cache - β βββ homes - homes β βββ machines - () β βββ from - βββ layer-base - β βββ 0 - β βββ 1 - ( uird.from=) β βββ ... - .. βββ layer-cache - β βββ 0 - β βββ 1 - ( uird.cache=) β βββ ... - .. βββ layer-homes - homes β βββ 0 - β βββ 1 - ( uird.homes=) β βββ ... - .. βββ cmdline - βββ MagOS.ini.gz -
DEVICE=eth0 IPADDR=192.168.1.xxx NETMASK=255.255.255.0 NETWORK=192.168.1.0 GATEWAY=192.168.1.1 DNS1=192.168.1.xxx BROADCAST=192.168.1.255 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static
# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 494/xinetd tcp 0 0 192.168.1.xxx:80 0.0.0.0:* LISTEN 551/lighttpd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 484/sshd udp 0 0 0.0.0.0:69 0.0.0.0:* 494/xinetd
chkconfig --list lighttpd lighttpd 0:off 1:off 2:on 3:on 4:off 5:on 6:off
var.log_root = "/var/log/lighttpd" var.server_root = "/var/www" var.state_dir = "/var/run" var.home_dir = "/var/lib/lighttpd" var.conf_dir = "/etc/lighttpd" var.vhosts_dir = server_root + "/vhosts" var.cache_dir = "/var/cache/lighttpd" var.socket_dir = home_dir + "/sockets" include "modules.conf" server.port = 80 server.use-ipv6 = "disable" server.bind = "192.168.1.xxx" server.username = "lighttpd" server.groupname = "lighttpd" server.document-root = server_root + "/" server.pid-file = state_dir + "/lighttpd.pid" server.errorlog = log_root + "/error.log" include "conf.d/access_log.conf" include "conf.d/debug.conf" server.event-handler = "linux-sysepoll" server.network-backend = "linux-sendfile" server.stat-cache-engine = "simple" server.max-connections = 1024 index-file.names += ( "index.xhtml", "index.html", "index.htm", "default.htm", "index.php" ) url.access-deny = ( "~", ".inc" ) $HTTP["url"] =~ "\.pdf$" { server.range-requests = "disable" } static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" ) include "conf.d/mime.conf" include "conf.d/dirlisting.conf" server.follow-symlink = "enable" server.upload-dirs = ( "/var/tmp" )
$HTTP["host"] == "magos-server.mydomain.local" { var.server_name = "magos-server.mydomain.local" server.name = server_name include "conf.d/trigger_b4_dl.conf" server.document-root = vhosts_dir + "/magos/" accesslog.filename = log_root + "/" + server_name "/access.log" }
dir-listing.activate = "enable" dir-listing.hide-dotfiles = "disable" dir-listing.exclude = ( "~$" ) dir-listing.encoding = "UTF-8" dir-listing.hide-header-file = "disable" dir-listing.show-header = "disable" dir-listing.hide-readme-file = "disable" dir-listing.show-readme = "disable"
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
default menu.c32 prompt 0 timeout 300 ONTIMEOUT local MENU TITLE PXE Menu # β HD LABEL Boot from hard disk localboot 0x80 LABEL AltLinux-net MENU LABEL AltLinux-net kernel images/vmlinuz uird.ro=*.xzm,*/live uird.from=http://magos-server.mydomain.local/magos/AltLinux x/iso/altlinux-p7-cinnamon-latest-i586.iso;http://magos-server.mydomain.local/magos/AltLinux/modules/i586/ ui rd.load=* root=uird rw findswap vga=788 quiet plymouth.enable=0 users append initrd=images/uird.magos.cpio.xz LABEL AltLinux-net testing MENU LABEL AltLinux-net testing kernel images/vmlinuz uird.ro=*.xzm,*/live uird.from=http://magos-server.mydomain.local/testing/AltLinux /iso/altlinux-p7-cinnamon-latest-i586.iso;http://magos-server.mydomain.local/testing/AltLinux/modules/i586 / uird.load=* root=uird rw findswap vga=788 quiet plymouth.enable=0 users append initrd=images/uird.magos.cpio.xz
service rsync { disable = no flags = IPv4 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
use chroot = yes max connections = 100 syslog facility = local5 pid file = /var/run/rsyncd.pid [magos] path = /var/www/magos comment = whole MagOS boot [testing] path = /var/www/testing comment = whole MagOS boot
# chkconfig βlist sshd sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Protocol 2 SyslogFacility AUTHPRIV PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS X11Forwarding no Subsystem sftp /usr/libexec/openssh/sftp-server
βββAltLinux β βββiso β β βββaltlinux-p7-cinnamon-latest-i586.iso β βββkernel β β βββi586 β β βββuird.magos.cpio.xz β β βββuird.soft.cpio.xz β β βββvmlinuz β βββmodules β βββi586 β βββ00-kernel.xzm β βββ01-firmware.xzm β βββ03-1-nvidia-current.xzm β βββ03-2-nvidia304.xzm β βββ03-9-fglrx.xzm β βββ80-eepm-1.5.2.xzm β βββ80-uird.soft.xzm β βββ90-magos-patches.xzm β βββ99-squashfs-tools.32.xzm β βββ99-u10-update.xzm β βββ99-u40-office4.xzm β βββ99-u50-utils.xzm β βββ99-u99-default.xzm β βββMagOS.ini β βββupdate.txt βββAltLinux-Data β βββcache β βββchanges β βββhomes β βββmachines β βββMagOS-Data.sgn β βββmodules β βββoptional β βββrootcopy βββboot βββgrub4dos β βββinstall.lin β βββinstall.win β βββlocal β βββmenu.lst βββsyslinux βββtools
βββAltLinux β βββiso β β βββaltlinux-p7-cinnamon-latest-i586.iso β βββkernel β β βββi586 β β βββuird.magos.cpio.xz β β βββuird.soft.cpio.xz β β βββvmlinuz β βββmodules β βββi586 β βββ00-kernel.xzm β βββ01-firmware.xzm β βββ03-1-nvidia-current.xzm β βββ03-2-nvidia304.xzm β βββ03-9-fglrx.xzm β βββ80-eepm-1.5.2.xzm β βββ80-uird.soft.xzm β βββ90-magos-patches.xzm β βββ99-squashfs-tools.32.xzm β βββ99-u10-update.xzm β βββ99-u40-office4.xzm β βββ99-u50-utils.xzm β βββ99-u99-default.xzm β βββMagOS.ini β βββupdate.txt βββAltLinux-Data β βββcache β βββchanges β βββhomes β βββmachines β βββMagOS-Data.sgn β βββmodules β βββoptional β βββrootcopy βββboot β βββgrub4dos β β βββinstall.lin β β βββinstall.win β β βββlocal β β βββmenu.lst β βββsyslinux β βββtools βββupdate.tar.gz
# groupadd magos # groupadd testing
# cd /var/www # find magos -type f -exec chmod 664 {} + # find magos -type d -exec chmod 775 {} + # find testing -type f -exec chmod 664 {} + # find testing -type d -exec chmod 775 {} +
# chown -R :magos magos # chown -R :testing testing
# chmod g+s magos # chmod g+s testing
yum.repos.d CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo epel-testing.repo vz.repo
#!/bin/sh echo "magos $(date)" > /var/www/magos/AltLinux/modules/i586/update.txt echo "testing $(date)" > /var/www/testing/AltLinux/modules/i586/update.txt
#!/bin/bash # MagOS magos # testing MAGOS="/var/www/magos" TESTING="/var/www/testing" MAGOSGROUP="magos" echo "!!! UPDATE KERNEL AND MAGOS MODULES TO magos REPOSITORY FROM testing REPOSITORY" echo " =====" echo echo "Pres Rnter to continue, or Ctrl+C to abort..." read junk clear cp -ruv $TESTING/AltLinux/kernel/i586/*.xzm $MAGOS/AltLinux/kernel/i586/ cp -ruv $TESTING/AltLinux/modules/i586/[0-9]?-*.xzm $MAGOS/AltLinux/modules/i586/ find $MAGOS -type f -exec chmod 664 {} + find $MAGOS -type d -exec chmod 775 {} + chown -R :$MAGOSGROUP $MAGOS/* echo "UPDATE KERNEL AND MAGOS MODULES FROM magos REPOSITORY IT IS EXECUTED"
#!/bin/bash # MagOS magos # testing MAGOS="/var/www/magos" TESTING="/var/www/testing" MAGOSGROUP="magos" echo "!!! UPDATE MODULES TO magos REPOSITORY FROM testing REPOSITORY" echo " =====" echo echo "Pres Rnter to continue, or Ctrl+C to abort..." read junk clear cp -ruv $TESTING/AltLinux/modules/i586/[0-9]??-*.xzm $MAGOS/AltLinux/modules/i586/ find $MAGOS -type f -exec chmod 664 {} + find $MAGOS -type d -exec chmod 775 {} + chown -R :$MAGOSGROUP $MAGOS/* echo "UPDATE MODULES FROM magos REPOSITORY IT IS EXECUTED"
#!/bin/bash # magos # testing, iso MAGOS="/var/www/magos" TESTING="/var/www/testing" MAGOSGROUP="magos" echo "!!! UPDATE ALL MAGOS REPOSITORY magos FROM testing REPOSITORY" echo " =====" echo echo "Pres Rnter to continue, or Ctrl+C to abort..." read junk clear cp -ruv $TESTING/AltLinux/iso/ $MAGOS/AltLinux/iso/ cp -ruv $TESTING/AltLinux/kernel/i586/*.xzm $MAGOS/AltLinux/kernel/i586/ cp -ruv $TESTING/AltLinux/modules/i586/*.xzm $MAGOS/AltLinux/modules/i586/ find $MAGOS -type f -exec chmod 664 {} + find $MAGOS -type d -exec chmod 775 {} + chown -R :$MAGOSGROUP $MAGOS/* echo "UPDATE magos REPOSITORY IT IS EXECUTED"
#!/bin/sh . conf/devel.conf NAME=`echo $0 | sed 's/\.\///'| sed 's/\..*//'` . lib/mv.sh $NAME epm2xzm $NAME upgrade $NAME.xzm rm -rf $NAME mkdir $NAME xzm2dir $NAME.xzm $NAME . lib/delhlam.sh $NAME dir2xzm $NAME $NAME.xzm . lib/update.sh $NAME
#!/bin/sh . conf/devel.conf NAME=`echo $0 | sed 's/\.\///'| sed 's/\..*//'` . lib/mv.sh $NAME epm2xzm $NAME -i 'java-1.7.0-openjdk LibreOffice4-langpack-ru LibreOffice4-integrated file-roller LibreOffice4 LibreOffice4-gnome foomatic-db lsof foo2zjs foo2zjs-apps foo2zjs-fwdownloader mozilla-plugin-adobe-flash mozilla-plugin-mozplugger mozilla-plugin-totem totem-plugins fonts-ttf-ms' rm -rf $NAME mkdir $NAME xzm2dir $NAME.xzm $NAME rm -rf $NAME/etc/urpmi $NAME/etc/.java . lib/delhlam.sh $NAME dir2xzm $NAME $NAME.xzm . lib/update.sh $NAME
#!/bin/sh . conf/devel.conf NAME=`echo $0 | sed 's/\.\///'| sed 's/\..*//'` . lib/mv.sh $NAME epm2xzm $NAME -i 'samba samba-winbind alterator-auth cups-windows samba-client ntpdate ntp-utils zabbix-agent zabbix-agent-sudo perl-FusionInventory-Agent perl-FusionInventory-Agent-scripts perl-Task-FusionInventory perl-Pod-Text-Ansi alterator-fbi alterator-net-iptables italc2-client installer-feature-init-italc rsync tcpdump nmap netcat telnet sane sane-server xsane xsane-gimp2 sane-frontends yagf cuneiform cuneiform-data fonts-otf-gdouros-akkadian aspell-ru-lebedev aspell-ru-rk iperf whois rdesktop xfreerdp remmina-plugins sshpass pssh' rm -rf $NAME mkdir $NAME xzm2dir $NAME.xzm $NAME cp /usr/share/zoneinfo/Asia/Krasnoyarsk $NAME/etc/localtime cp /etc/nsswitch.conf $NAME/etc/nsswitch.conf sed -is/'^hosts: files mdns4_minimal \[NOTFOUND=return\]*'/'hosts: files dns mdns4_minimal \[NOTFOUND=return\] myhostname fallback'/ $NAME/etc/nsswitch.conf sed -is/'^# PidFile=\/var'/'PidFile=\/var'/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'^# EnableRemoteCommands=0'/'EnableRemoteCommands=1'/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'^LogFileSize='/'# LogFileSize='/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'127.0.0.1'/'192.168.0.XXX'/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'^# LogRemoteCommands=0'/'LogRemoteCommands=1'/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'^Hostname='/'# Hostname='/ $NAME/etc/zabbix/zabbix_agentd.conf sed -is/'^# Timeout=3'/'Timeout=30'/ $NAME/etc/zabbix/zabbix_agentd.conf mkdir $NAME/etc/fusioninventory echo "server = http://glpi.kompany.local/glpi/plugins/fusioninventory/" > $NAME/etc/fusioninventory/agent.cfg echo "delaytime = 3600" >> $NAME/etc/fusioninventory/agent.cfg echo "timeout = 180" >> $NAME/etc/fusioninventory/agent.cfg echo "logger = File" >> $NAME/etc/fusioninventory/agent.cfg echo "logfile = /var/log/fusioninventory.log" >> $NAME/etc/fusioninventory/agent.cfg echo "logfacility = LOG_USER" >> $NAME/etc/fusioninventory/agent.cfg echo "debug = 3" >> $NAME/etc/fusioninventory/agent.cfg mkdir $NAME/etc/cron.daily echo "#!/bin/sh" > $NAME/etc/cron.daily/fusioninventory-agent echo "" >> $NAME/etc/cron.daily/fusioninventory-agent echo "/usr/bin/fusioninventory-agent --conf-file=/etc/fusioninventory/agent.cfg" >> $NAME/etc/cron.daily/fusioninventory-agent chmod +x $NAME/etc/cron.daily/fusioninventory-agent . lib/delhlam.sh $NAME dir2xzm $NAME $NAME.xzm . lib/update.sh $NAME
#!/bin/sh . conf/devel.conf NAME=`echo $0 | sed 's/\.\///'| sed 's/\..*//'` . lib/mv.sh $NAME dir2xzm $NAME $NAME.xzm . lib/update.sh $NAME
-r-------- 1 root root 730 Aug 20 15:42 ./sudoers
./X11: total 8 drwxr-xr-x 2 root root 4096 Aug 21 12:42 xinit drwxr-xr-x 2 root root 4096 Aug 21 12:42 xorg.conf.d
option grp:alt_shift_toggle -variant , -layout us,ru -model pc104
# Read and parsed by systemd-localed. It's probably wise not to edit this file # manually too freely. Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbLayout" "us,ru" EndSection
total 8 drwxr-xr-x 2 root root 4096 Jun 9 09:45 sources.list.d drwxr-xr-x 2 root root 4096 Jun 9 09:42 vendors.list.d
rpm [cronbuild] ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/autoimports/Sisyphus/ noarch autoimports /etc/apt/vendors.list.d/autoimports-p7.list simple-key "cronbuild" { Fingerprint "DE73F3444C163CCD751AC483B584C633278EB305"; Name "Cronbuild Service <cronbuild@altlinux.org>"; } simple-key "cronport" { Fingerprint "F3DBF34AB0CC0CE638DF7D509F61FBE7E2C322D8"; Name "Cronport Service <cronport@altlinux.org>"; }
total 4 drwxr-xr-x 3 root root 4096 Jul 17 18:19 keys
total 12 -rw-r--r-- 1 root root 909 Jun 8 13:03 lightdm-gtk-greeter.conf -rw-r--r-- 1 root root 4536 Jun 8 13:18 lightdm.conf
[greeter] logo=/usr/share/design/current/icons/large/altlinux.png background=/usr/share/design/current/backgrounds/default.png icon-theme-name=gnome show-language-selector=false show-indicators=a11y;power
[LightDM] minimum-vt=7 user-authority-in-system-dir=true log-directory=/var/log/lightdm run-directory=/var/run/lightdm cache-directory=/var/cache/lightdm xsessions-directory=/etc/lightdm/sessions [SeatDefaults] xserver-command=/usr/bin/X greeter-hide-users=true session-wrapper=/etc/X11/Xsession [XDMCPServer] [VNCServer]
total 8 drwxr-xr-x 3 root root 4096 Jul 16 12:35 ifaces -rw-r--r-- 1 root root 1987 Jul 16 12:44 sysctl.conf
total 4 -rw-r----- 1 root root 237 Aug 24 11:28 reboot
auth required pam_nologin.so auth sufficient pam_rootok.so auth sufficient pam_console.so #auth required pam_deny.so auth required pam_permit.so account required pam_permit.so password required pam_deny.so
total 16 drwxr-xr-x 8 root root 4096 Jun 8 16:17 drwxr-xr-x 2 root root 4096 Jun 8 16:17 drwxr-xr-x 2 root root 4096 Jun 8 16:17 drwxr-xr-x 2 root root 4096 Jun 8 16:17
total 8 -rw-rβrβ 1 root root 75 Jun 8 13:11 i18n
SYSFONT=UniCyr_8x16 LANG=ru_RU.utf8
total 8 drwxr-xr-x 5 root root 4096 Aug 20 18:52 system drwxr-xr-x 2 root root 4096 Aug 20 18:51 user
total 4 drwxr-xr-x 2 root root 4096 Jul 17 17:59 iTALC Solutions
[Authentication] KeyAuthenticationEnabled=1 LogonAuthenticationEnabled=0 LogonGroups="italc-admins,italc-supporters,italc-teachers,italc-students" PermissionRequiredWithKeyAuthentication=0 PermissionRequiredWithLogonAuthentication=0 PrivateKeyBaseDir=$GLOBALAPPDATA/keys/private PublicKeyBaseDir=$GLOBALAPPDATA/keys/public SameUserConfirmationDisabled=0 [DemoServer] Backend=0 Multithreaded=1 [Logging] LimittedLogFileSize=0 LogFileDirectory=$TEMP LogFileSizeLimit=-1 LogLevel=4 LogToStdErr=1 LogToWindowsEventLog=0 [Network] CoreServerPort=11100 DemoServerPort=11400 FirewallExceptionEnabled=1 HttpServerEnabled=0 HttpServerPort=5800 [Paths] GlobalConfiguration=$APPDATA/GlobalConfig.xml PersonalConfiguration=$APPDATA/PersonalConfig.xml SnapshotDirectory=$APPDATA/Snapshots [Service] Arguments= Autostart=1 HideTrayIcon=0 LockWithDesktopSwitching=1 [VNC] CaptureLayeredWindows=1 LowAccuracy=1 PollFullScreen=1
# : Yes, No AUTOUPDATE=Yes # : boot - UPDATE=AltLinux,boot # rsync SRCUPDATE=192.168.1.XXX/magos
#!/bin/bash # Initial script for MagOS-Linux Live operating system # This script are launching before starting init from linux-live script. # Current dir always must be set to root (/) # All system path must be relative, except initrd dirs export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin ENABLED=yes . /mnt/live/liblinuxlive [ -f /etc/sysconfig/MagOS ] && . /etc/sysconfig/MagOS #. etc/sysconfig/MagOS [ "$ENABLED" != "yes" ] && exit 0 [ "$AUTOUPDATE" != "Yes" or "$AUTOUPDATE" != "yes" ] && exit 0 [ -z "$UPDATE" -a -z "$SRCUPDATE" ] && exit 0 [ -z "$(grep changes /memory/cmdline)" ] && exit 0 [ -n "$(grep 'from=http:' /memory/cmdline)" ] && exit 0 if ! [ -z "$UPDATE" ] ;then for dirs in $(echo $UPDATE | tr ',;' ' ') ;do rsync -azr --delete --exclude=MagOS.ini rsync://$SRCUPDATE/$dirs/ /mnt/livemedia/$dirs/ done fi
#!/bin/bash # Initial script for MagOS-Linux Live operating system # This script are launching before starting init from linux-live script. # Current dir always must be set to root (/) # All system path must be relative, except initrd dirs export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin ENABLED=yes [ "$ENABLED" != "yes" ] && exit 0 DEBUGMODE=no . /liblinuxlive 2>/dev/null || . /mnt/live/liblinuxlive . /livekitlib 2>/dev/null debug_mode "$0" "$@" . etc/sysconfig/MagOS if ! [ -z "$NTPSERVERS" ] ;then sed -is/'^server'/'#server'/ etc/ntp.conf sed -is/'^server'/'#server'/ etc/ntpd.conf for a in $(echo $NTPSERVERS | tr ',;' ' ') ;do sed -i '/^driftfile/ s/^/server '"$a"\\n/ etc/ntp.conf grep -q "restrict $a" etc/ntp.conf || echo "restrict $a noquerry notrap" >> etc/ntp.conf sed -is/'^#listen on 127.0.0.1'/'listen on 127.0.0.1'/ etc/ntpd.conf echo "server $a" >> etc/ntpd.conf done fi
#!/bin/bash # #Usage: # $1 - source catalog: magos testing # Default is magos SRC="magos" . /etc/sysconfig/MagOS SRCINI=$(echo $SRCUPDATE | cut -d "/" -f 2) if ! [ -z "$SRCINI" ];then SRC=$SRCINI fi if ! [ -z "$1" ] ;then SRC=$1 fi echo "-------------------------------------------------------" echo "INSTALL MagOS Altlinux FROM HARD DISK from $SRC !!!" echo " =========" echo echo "Press Enter to continue, or Ctrl+C to abort..." read junk clear swapoff -a echo "=======================================================" echo "Create parition table." parted -s /dev/sda mklabel msdos parted -s /dev/sda mkpart primary ext3 1 30000 parted -s /dev/sda mkpart primary linux-swap 30000 36000 parted -s /dev/sda mkpart primary ext3 36000 100% parted -s /dev/sda toggle 1 boot echo "-------------------------------------------------------" echo "=======================================================" echo "Make file systems on /dev/sda1." mkfs.ext3 -L system /dev/sda1 echo "Make file systems on /dev/sda2." mkswap /dev/sda2 echo "Make file systems on /dev/sda3." mkfs.ext3 -L data /dev/sda3 echo "-------------------------------------------------------" echo "=======================================================" mkdir /media/system && mount /dev/sda1 /media/system mkdir /media/data && mount /dev/sda3 /media/data echo "Syncing instalation data." for dirs in $(echo $UPDATE | tr ',;' ' ') ;do srv=$(echo $SRCUPDATE | cut -d '/' -f 1) if [ "$dirs" != "boot" ] ;then mkdir /media/system/$dirs rsync -azr --delete rsync://$srv/$SRC/$dirs/ /media/system/$dirs/ mkdir /media/data/$dirs-Data rsync -azr --delete rsync://$srv/$SRC/$dirs-Data/ /media/data/$dirs-Data/ else mkdir /media/system/$dirs rsync -azr --delete rsync://$srv/$SRC/$dirs/ /media/system/$dirs/ fi done rm -rf /media/system/lost+found /media/data/lost+found cd /media/system/boot/ bash ./Install_MagOS.bat $(sync) umount /dev/sda1 && rmdir /media/system umount /dev/sda3 && rmdir /media/data echo "-------------------------------------------------------" echo "Instalation is OK." echo "please reboot computer."
#!/usr/bin/perl -w # MagOS-linux.ru # Author M.Fiskov use strict; #use Glib qw/TRUE FALSE/; #use Gtk3 '-init'; my $hostname=''; my $username=''; my $password=''; my $domain='mydomain'; my $realm='mydomain.local'; for (my $i=0;$i<=$#ARGV;$i++){ $_=$ARGV[$i]; (/^--help$/) && do {&usage(); exit 0}; (/^--hostname=/) && do { ($hostname=$ARGV[$i])=~s/^--hostname=//; }; (/^-h$/) && do {$hostname=$ARGV[$i+1];$i++;}; (/^--password=/) && do { ($password=$ARGV[$i]) =~s/^--password=//; }; (/^-p$/) && do {$password=$ARGV[$i+1];$i++;}; (/^--username=/) && do { ($username=$ARGV[$i]) =~s/^--username=//; }; (/^-u$/) && do {$username=$ARGV[$i+1];$i++;}; } if (open (F1,"</etc/altlinux-release") ) { close F1; &addname($hostname) && system("system-auth write ad $realm $hostname $domain $username $password") && system("systemctl restart nm b") && system("systemctl restart winbind") && system("systemctl restart smb"); &wins(); &winbind(); }else{ &addname($hostname) && system("net join -U \"".$username.'%'.$password."\"") && system("systemctl restart nmb") && system("systemct l restart winbind") && system("systemctl restart smb"); &wins(); &winbind(); }; #system("/sbin/reboot"); exit; sub usage(){ print "Join this computer from MagOS to Active Directory Service (ADS) -h or --hostname= Computer name -u or --username= ADS administrator user name -p or --password= ADS administrator password --help This usage " } sub wins(){ my @wins=split("\"",`/usr/bin/wbinfo -P`); system ("sed -i '/wins server = /d' /etc/samba/smb.conf"); my $wsed=sprintf("sed -i \'/\\[global\\]/ s/\$/\\nwins server = ".$wins[1]."\'/ /etc/samba/smb.conf"); system ($wsed); my $wgroup=sprintf("net groupmap add ntgroup=\" \" unixgroup=wheel rid=512 type=d"); system ($wgroup); $wgroup=sprintf("net groupmap add ntgroup=\" \" unixgroup=wheel rid=513 type=d"); system ($wgroup); $wgroup=sprintf("net groupmap add ntgroup=\" \" unixgroup=wheel rid=514 type=d"); system ($wgroup); } sub addname (){ my ($hostname)=@_; system ("sed -i '/netbios name =/d' /etc/samba/smb.conf"); my $ssed=sprintf("sed -i \'/\\[global\\]/ s/\$/\\n netbios name = ".$hostname."\'/ /etc/samba/smb.conf"); system ($ssed); system ("sed -i '/HOSTNAME/d' /etc/sysconfig/MagOS"); $ssed=sprintf("echo \"HOSTNAME=$hostname\" >>/etc/sysconfig/MagOS"); system ($ssed); system("hostnamectl set-hostname $hostname"); return 1; } sub winbind(){ system ("sed -is/'server string ='/';server string ='/ /etc/samba/smb.conf"); system ("sed -i '/idmap backend = /d' /etc/samba/smb.conf"); my $wsed=sprintf("sed -i \'/\\[global\\]/ s/\$/\\nidmap config $domain : backend = ad\'/ /etc/samba/smb.conf"); system ($wsed); system ("sed -i '/winbind cache time /d' /etc/samba/smb.conf"); $wsed=sprintf("sed -i \'/\\[global\\]/ s/\$/\\nwinbind cache time = 1440\'/ /etc/samba/smb.conf"); system ($wsed); }
#!/usr/bin/perl -w # MagOS-linux.ru # Author M.Zaripov # No testing use strict; use Glib qw/TRUE FALSE/; use Gtk3 '-init'; #standard window creation, placement, and signal connecting my $window = Gtk3::Window->new('toplevel'); $window->signal_connect('delete_event' => sub { Gtk3->main_quit; }); $window->set_border_width(5); $window->set_position('center_always'); #this vbox will geturn the bulk of the gui my $vbox = &ret_vbox(); #add and show the vbox $window->add($vbox); $window->show(); #our main event-loop Gtk3->main(); sub ret_vbox { my $vbox = Gtk3::VBox->new(FALSE,5); $vbox->pack_start ("Gtk3::Label"->new (" Please input password to join into domain "), 0, 0, 0); # create table with 2 entries my $table1 = Gtk3::Table->new (5, 2, FALSE); my $t1l0 = Gtk3::Label->new_with_mnemonic("Domain: "); $t1l0->set_alignment (0, 0); $table1->attach_defaults ($t1l0, 0, 1, 0, 1); my $t1e0 = Gtk3::Entry->new(); $table1->attach_defaults ($t1e0, 1, 2, 0, 1); my $t1l0 = Gtk3::Label->new_with_mnemonic("workgroup: "); $t1l0->set_alignment (0, 0); $table1->attach_defaults ($t1l0, 0, 1, 1, 2); my $t1e1 = Gtk3::Entry->new(); $table1->attach_defaults ($t1e0, 1, 2, 1, 2); my $t1l0 = Gtk3::Label->new_with_mnemonic("computer name: "); $t1l0->set_alignment (0, 0); $table1->attach_defaults ($t1l0, 0, 1, 2, 3); my $t1e2 = Gtk3::Entry->new(); $table1->attach_defaults ($t1e0, 1, 2, 2, 3); my $t1l1 = Gtk3::Label->new_with_mnemonic("Domain Admin User Name: "); $t1l1->set_alignment (0, 0); $table1->attach_defaults ($t1l1, 0, 1, 3, 4); my $t1e3 = Gtk3::Entry->new(); $table1->attach_defaults ($t1e1, 1, 2, 3, 4); my $t1l2 = Gtk3::Label->new_with_mnemonic("Domain Admin Password: "); $t1l2->set_alignment (0, 0); $table1->attach_defaults ($t1l2, 0, 1, 4, 5); my $t1e4 = Gtk3::Entry->new(); $t1e2->set_visibility (FALSE); $table1->attach_defaults ($t1e2, 1, 2, 4, 5); $vbox->pack_start($table1, 0, 0 ,0); #$vbox->pack_end(Gtk3::HSeparator->new(),0, 0 ,0); # create table with 2 buttons my $table2 = Gtk3::Table->new (1, 2, FALSE); my $t2b1 = Gtk3::Button->new ('Join'); $table2->attach_defaults ($t2b1, 0, 1, 0, 1); my $t2b2 = Gtk3::Button->new ('Cancel'); $table2->attach_defaults ($t2b2, 1, 2, 0, 1); $t2b2->signal_connect (clicked => sub { Gtk3->main_quit; }); if (open (F1,"</etc/altlinux-release") ) { close F1; $t2b1->signal_connect (clicked => sub { &addname($t1e2->get_text()) || system("system-auth write ad ".$t1e0->get_text().'%'.$t1e0->get_text()." ".#domain $t1e2->get_text().'%'.$t1e2->get_text()." ".# hostname $t1e1->get_text().'%'.$t1e1->get_text()." ".# workgroup $t1e3->get_text().'%'.$t1e3->get_text()." ".# username $t1e4->get_text().'%'.$t1e4->get_text()."\"") # password || system("systemctl restart nmb") || system("systemctl restart winbind") || system("systemctl restart smb") || exit (1); }); }else{ $t2b1->signal_connect (clicked => sub { &addname($t1e2->get_text()) #hostname || system("net join -U \"". $t1e3->get_text().'%'. # username $t1e4->get_text()."\"") # password || system("systemctl restart nmb") || system("systemctl restart winbind") || system("systemctl restart smb") || exit (1); }); } $vbox->pack_start($table2, 0, 0 ,0); $vbox->show_all(); return $vbox; } sub addname (){ my ($hostname)=@_; system ("sed -i '/netbios name =/d' /etc/samba/smb.conf"); my $ssed=sprintf("sed -i \'/\\[global\\]/ s/\$/\\n netbios name = ".$hostname."\'/ /etc/samba/smb.conf"); system ($ssed); system ("sed -i '/HOSTNAME/d' /etc/sysconfig/MagOS"); $ssed=sprintf("echo \"HOSTNAME=$hostname\" >>/etc/sysconfig/MagOS"); system ($ssed); system("hostnamectl set-hostname $hostname"); return 1; }
#!/bin/bash export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin while [ "$(wbinfo --online-status | grep -i mydomain | cut -d ":" -f 2)" != " online" ] do $(sleep 1) done $(systemctl restart winbind) . etc/sysconfig/MagOS # update home folders from domain users if [ "$UPDATEHOME" = "yes" ] ;then DOMAIN=$(wbinfo --own-domain) if [ -d home/$DOMAIN ] ;then for LISTUSER in $(ls -1 home/$DOMAIN/); do $(cp -rHun etc/skel/.[a-zA-Z0-9]* home/$DOMAIN/$LISTUSER/) $(chown -R $LISTUSER:\ home/$DOMAIN/$LISTUSER/) done fi fi
[Unit] Description=Samba Winbind Daemon restart from mydomain After=winbind.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/sbin/winbind-restart [Install] WantedBy=multi-user.target
#!/bin/bash echo "Update MagOS from Hard Disk to this computer!!!" echo echo "Press Enter to continue, or Ctrl+C to abort..." read junk clear export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin SRC=192.168.1.XXX/magos DEFAULT="AltLinux,boot" . /mnt/live/liblinuxlive [ -f /etc/sysconfig/MagOS ] && . /etc/sysconfig/MagOS [ -z "$UPDATE" -a -z "$SRCUPDATE" ] && UPDATE=$(echo "$DEFAULT") && SRCUPDATE="$SRC" if ! [ -z "$UPDATE" ] ;then for dirs in $(echo $UPDATE | tr ',;' ' ') ;do rsync -azr --delete rsync://$SRCUPDATE/$dirs/ /mnt/livemedia/$dirs/ done fi reboot
#!/bin/bash # This script getting file MagOS.ini from magos server to this computer SRCI="magos-server/magos" SRC="magos" srv="magos-server" . /etc/sysconfig/MagOS export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin echo "Update MagOS.ini from Hard Disk!!!" [ -z "$SRCUPDATE" ] && SRCUPDATE="$SRCI" SRCINI=$(echo $SRCUPDATE | cut -d "/" -f 2) [ -n "$SRCUPDATE" ] && srv=$(echo $SRCUPDATE | cut -d '/' -f 1) if ! [ -z "$SRCINI" ];then SRC=$SRCINI fi if ! [ -z "$1" ] ;then SRC=$1 fi rsync -az rsync://$srv/$SRC/AltLinux/modules/i586/MagOS.ini /mnt/livemedia/AltLinux/modules/i586/MagOS.ini
#!/bin/sh # mount data disk from /srv mount /dev/sda3 /srv #groupadd -g 501 magos #groupadd -g 502 testing
#!/bin/bash # # This script save update folder from this computer to magos server # Fiskov MM export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin ENABLED=yes [ "$ENABLED" != "yes" ] && exit 0 . /usr/lib/magos/scripts/liblinuxlive . /etc/sysconfig/MagOS . /mnt/livemedia/update/conf/devel.conf PWD=$(echo $(pwd)) cd /mnt/livemedia/update mkdir /root/tmp/update cp -r /mnt/livemedia/update/{*.sh,lib,conf} /root/tmp/update/ for files in $(echo $(ls 9*.sh| cut -d '.' -f 1)) ;do cp /mnt/livemedia/$DISTNAME/modules/$ARCH/$files.xzm /root/tmp/update/ done cd /root/tmp tar -czf /mnt/livemedia/update.tar.gz ./update cd /mnt/livemedia/ scp /mnt/livemedia/update.tar.gz $USER@$SERVER:/var/www/$DISTTYPE/ rm -rf /root/tmp/update cd $PWD
#!/bin/bash # # This script load update folder from magos server to this computer # export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/magos/scripts ENABLED=yes [ "$ENABLED" != "yes" ] && exit 0 PWD=$(echo $(pwd)) . /etc/sysconfig/MagOS rsync -az rsync://$SRCUPDATE/update.tar.gz /mnt/livemedia/update.tar.gz cd /mnt/livemedia/ tar -xzf update.tar.gz cd /mnt/livemedia/update for files in $(echo $(ls 9*.sh| cut -d '.' -f 1)) ;do mkdir $files xzm2dir $files.xzm $files done cd $PWD
#!/bin/sh # create list from hostalt file from programm pssh $(nmap 192.168.1.0/24 -p T:8080 2>&1 | grep "mydomain" | grep '\-a' | cut -d " " -f 5 >> /tmp/hostalt1) $(sort -u /tmp/hostalt1 > hostalt)
#!/bin/sh # parallelssh.sh sudo /root/bin/updateini.sh <password> echo "parallelssh.sh <\"command\"> <password>" echo "parallelssh.sh sudo \"/root/bin/updateini.sh\" <password>" echo [ -z "$2" ] && exit sshpass -p $2 pssh -x "-o StrictHostKeyChecking=no" -h hostalt -l altlinux -A -i $1 2>&1 > /tmp/ssherr.txt cat /tmp/ssherr.txt
DISTTYPE="testing" DISTNAME="AltLinux" ARCH="i586" UPDETESRV=yes SERVER=192.168.0.3 USER=altlinux
#!/bin/sh . conf/devel.conf NAME=`echo $0 | sed 's/\.\///'| sed 's/\..*//'` . lib/mv.sh $NAME epm2xzm $NAME -i 'ntpdata samba' rm -rf $NAME mkdir $NAME xzm2dir $NAME.xzm $NAME #------------------------------------------- # cp /usr/share/zoneinfo/Asia/Krasnoyarsk $NAME/etc/localtime cp /etc/nsswitch.conf $NAME/etc/nsswitch.conf sed -is/'^hosts: files mdns4_minimal \[NOTFOUND=return\]*'/'hosts: files dns mdns4_minimal \[NOTFOUND=return\] myhostname f #-------------------------------------------- . lib/delhlam.sh $NAME dir2xzm $NAME $NAME.xzm . lib/update.sh $NAME
#!/bin/sh NAME=$1 rm -rf $NAME/etc/urpmi $NAME/var/cach/ldconfig $NAME/var/cach/ldconfig/ $NAME/var/cache/ldconfig/ $NAME/var/lib/apt $NAME/var/log/rpmpk gs rm -f $NAME/etc/ld.so.cache $NAME/etc/resolv.conf rm -f $NAME/etc/xinetd.conf $NAME/etc/group- $NAME/etc/gshadow- $NAME/etc/passwd-
#!/bin/sh NAME=$1 . conf/devel.conf if [ $NAME != "99-u99-default" ] ;then $(sh /usr/lib/magos/scripts/deactivate $NAME.xzm) fi if [ -f /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm.bak ] && [ -f /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm ] ;then $(mv -nf /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm $NAME.xzm.old) fi
#!/bin/bash NAME=$1 . conf/devel.conf if [ ! -f /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm.bak ] ;then $(mv /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm.bak) fi $(mv $NAME.xzm /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm) $(chmod 664 /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm) $(chown :root /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm) if [ $NAME != "99-u99-default" ] ;then $(sh /usr/lib/magos/scripts/activate $NAME.xzm) else $(sh /usr/lib/magos/scripts/deactivate $NAME.xzm) $(sh /usr/lib/magos/scripts/activate $NAME.xzm) fi [ "$UPDETESRV" != "yes" ] && exit 0 $(scp /mnt/livemedia/$DISTNAME/modules/$ARCH/$NAME.xzm $USER@$SERVER:~/$DISTTYPE/$DISTNAME/modules/$ARCH/)
tmp.mount -> /lib/systemd/system/tmp.mount var-tmp.mount -> ../var-tmp.mount
[Unit] Description=Temporary Directory Documentation=man:hier(7) Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems DefaultDependencies=no Conflicts=umount.target Before=local-fs.target umount.target [Mount] What=tmpfs Where=/var/tmp Type=tmpfs Options=mode=1777,strictatime
[Unit] Description=Network Time Service After=syslog.target network.target [Service] EnvironmentFile=/etc/sysconfig/ntpd ExecStart=/usr/sbin/ntpd -d $NTPD_ARGS [Install] WantedBy=multi-user.target
$ su - Password:
# /usr/share/magos/install/magosinstall.sh
# /usr/share/magos/ad_join/ad_join.pl -h <hostname> -u <username> -p <password>
Joined ' ' to dns domain 'mydomain.local'
# wbinfo -u
Source: https://habr.com/ru/post/270337/
All Articles