Talofa tagata uma.
Tala lata mai i Habré
Muamua lava, na ou filifili e sii mai le Elbrus OS, pe sili atu, naʻo le tufatufaina avanoa mo le fausaga x86_64, vaʻai pe faʻapefea ona galue, ma taumafai e faʻapipiʻi Veeam Agent mo Linux i luga. Afai e te fia iloa po o le a le mea na tupu mai i lenei mea, fa'amolemole va'ai pusi.
O lea la, o se faʻalavelave laʻititi, pe a le iloa e se tasi. "Elbrus" e faapena
O se isi solomuli faamalosi laitiiti. O le mea moni na ou feagai muamua ma polokalama faʻapitonuʻu, pei ole MSVS ma Baguette RTOS. Sa ou maua le poto masani e galue ai ma vaega o le lotoifale, e aofia ai le gaosiga mai le MCST. O le mea lea, e mafai ona ou fai atu ma le tiute atoa o loʻo i ai se tulaga faʻapitoa i lenei vaega ma o le a ou taumafai e aua le paʻi i ai i le tusiga. A ou manaʻo moni lava, ou te tuʻuina le pine [TBD]. O lea o le a tatou taumafai e fai e aunoa ma le trolling tuusaʻo ma banal oi. I le faaiuga, e manaʻomia ona malamalama i le vaega o le puipuiga a Rusia ma lala sooupu a le malo. Atunuu tele - laititi le paketi.. [TBD].
Ole tulaga - download. E maitauina o le talafou o le Elbrus OS ua avanoa na mafua ai le faʻalogo, o le mea lea na paʻu ai le server tufatufa. [TBD] Fa'afetai ia Yandex ma le inisinia na mafaufau e fa'anofo iina. O lea e lelei le saoasaoa o le download.
O le taimi muamua - fa'apipi'i. Na ou faʻapipiʻiina i luga o le hypervisor muamua na avanoa mo le faʻaaogaina fua. Na ou tuʻuina atu ni faʻailoga se lua, se lua gigs o le RAM, 32 MB mo le vitio (o le ai ai se faʻataʻitaʻiga faʻataʻitaʻi, na ou manatu). O le tisiki e pei ona masani ai - 32 GB.
Na ou amataina le faʻapipiʻiina. Ou te leʻi faʻaogaina faʻatonuga faʻapipiʻi, o lea e le mafai ai ona ou faʻamatalaina. O le faʻapipiʻi faʻapipiʻi TUI e matua faʻaititia.
Ia, lelei, e mafai ona tatou faia e aunoa ma se isumu.
Sa ou pulea le isi faamalama i le taumafaiga lona lua. Aisea e te le filifilia ai le masini faaletonu sr0 [TBD] pe a faʻapipiʻi mai le disk?
Filifili le puna CD-ROM ma agai i luma.
A'o ou filifilia le sone taimi, na fa'afuase'i ona ou iloa o lo'o fa'aogaina e le faiga le init boot process, ma o lo'o ou galue mai le TTY0.
Ua lelei, ona tatou fa'avasegaina lea "Elbrus" o se fa'alapotopotoga
O isi e toetoe lava a le taua: matou te tuʻuina mea uma ma malilie. I luga o le ala, matou te iloa ai o loʻo faʻaaogaina le fatu 3.14.79-13.84. Hmm, Debian 7 sa i ai le 3.2 [TBD].
Le isi, filifili le fa'aletonu o le vaeluaga o le disk ma... Matou te va'ai i se lapataiga:
Hmm, o le vaeluaga otometi e leʻi fetaui lelei ma le 32 gig disk. Ou te leʻi suia le tisiki; Sa ou faʻamaeʻaina le sailiga i le vaeluaga o le tisiki tusi i le sitaili "uma-i-tasi". E tatau ona ou faʻapipiʻi ext3, talu ai e le mafai ona i ai le / boot i le ext4.
Na sau le faiga e aunoa ma se faalavelave.
Laasaga lona lua - saili mo isi mea.
Ina ua uma ona suʻesuʻeina mea o loʻo i totonu o le disk lona lua, na ou iloa ai o se fale teu oloa ma faʻaopoopoga. i totonu o afifi. Ma vaʻavaʻai i /etc/apt/sources.list, na ou iloa ai e manaʻomia ona faʻapipiʻi i /mnt/cdrom. Ae ou te leʻi mauaina /etc/os-release. Ae o loʻo i ai /etc/mcst-version faʻatasi ai ma mea o loʻo i totonu 3.0-rc36. 3.0 atonu o le lomiga - e foliga mai e fetaui, ae rc36? I se tulaga lautele, o polokalama faakomepiuta lona tolu e foliga mai e le mafai ona iloa lenei tufatufaga i le auala masani.
I le vaeluaga o aʻa, o le /mcst directory e puʻeina laʻu mata, ma o iina, ma se fatu magoto, na ou mauaina /mcst/backup. O lona uiga, o loʻo i ai se meafaigaluega faʻapipiʻi, ma ua fausia i totonu o le polokalama! “Manaia,” sa ou mafaufau ai, “Sei o tatou vaai pe faapefea ona aoga lenei mea!”
Na aliali mai o loʻo i ai se 4Kb bash script /mcst/bin/backup e maua ai le kopiina o faila. Ile faaletonu - i le /mcst/backup directory. I le source code na ou faʻamoemoe e vaʻai i le rsync command, ae e leʻo i totonu o le faʻaogaina le faʻaogaina. O le tusitusiga e na o le kopiina o faila. O le poloaiga e pei o lenei:
cp -rpdx <file backup> <file>
Le faila atoa /mcst/bin/backup o loʻo i ai iineiOu te lapataia oe i le taimi lava lena e le lava na o lenei tusitusiga e malamalama atoatoa ai. E toso galuega mai /mcst/bin/source, o se mea e pei o se faletusi o galuega. Ou te le'i fa'aofiina (44KB).
#!/bin/bash
unalias -a
set +vx
source $(dirname $0)/source
[[ $? != 0 ]] && exit 1
OPTIONS="hvcdrRil:L:"
usage()
{
echo "Usage: $PROG_NAME [-$OPTIONS] [backup]"
echo " h - this help"
echo " v vv vvv - verbose, very verbose, extremly verbose"
echo " c - create backup"
echo " d - diffs backup and system"
echo " r - recovery system"
echo " R - remove backup"
echo " i - prompt before backup removing"
echo " l list - additional backup files list"
echo " L list - global backup files list"
echo " backup - backup directory, default /mcst/backup/backup"
}
init_prog()
{
typeset flg=0
while getopts $OPTIONS opt
do
case $opt in
h ) usage; exit 0;;
v ) (( verbose = verbose + 1 )); set_verbose;;
c ) flg=1; c_flg=1;;
d ) flg=1; d_flg=1;;
r ) flg=1; r_flg=1;;
R ) flg=1; R_flg=1;;
i ) i_flg=1;;
l ) l_flg=1; list_arg="$list_arg $OPTARG";;
L ) L_flg=1; LIST_arg="$LIST_arg $OPTARG";;
* ) usage "Invalid option"; exit 1;;
esac
done
set_verbose
check_su
init_variables
shift $((OPTIND-1))
if (( $# > 1 ))
then
echo_fatal "invalid arguments number, exp 0|1, act $#"
exit 1
fi
[[ $# = 1 ]] && BACKUP=$1
echo "Backup directory is $BACKUP"
if [[ $L_flg = 1 ]]
then
backup_list="$LIST_arg"
elif [[ $c_flg != 1 && $R_flg != 1 ]]
then
get_output_cmd "cat $BACKUP/$BACKUP_LIST_NAME"
backup_list="$output_cmd"
else
get_output_cmd "get_backup_list"
backup_list="$output_cmd"
fi
if [[ $l_flg = 1 ]]
then
backup_list="$backup_list $list_arg"
fi
if [[ $flg = 0 ]]
then
if [[ -d $BACKUP ]]
then
ls -laR $BACKUP
else
echo_info "Cannot access $BACKUP"
fi
echo "backup_list=$backup_list"
exit 0
fi
### echo "Backup list: $backup_list"
}
create_file()
{
typeset f=$1 fr=$2
typeset fb
[[ -z $fr ]] && fr=$f
fb=${f#/}
fb=$BACKUP/$fb
xcmd="rm -rf $fb"
set_cmd "$xcmd"
run_cmd
xcmd="mkdir -p $fb"
set_cmd "$xcmd"
run_cmd
if [[ -a $fr ]]
then
xcmd="cp -rpdx $fr $fb/file"
set_cmd "$xcmd"
run_cmd
xcmd="touch $fb/create"
set_cmd "$xcmd"
run_cmd
else
xcmd="touch $fb/delete"
set_cmd "$xcmd"
run_cmd
fi
}
diff_file()
{
typeset f=$1
typeset fb
fb=${f#/}
fb=$BACKUP/$fb
if [[ -f $fb/delete ]]
then
echo_info "$f absent"
elif [[ -f $fb/create ]]
then
# echo "state: create $f"
if [[ ! -a $f ]]
then
echo_info "cannot access $f"
else
xcmd="diff -r $f $fb/file"
echo "$xcmd"
set_cmd "$xcmd" "" "0 1 2"
run_cmd
fi
else
echo_fatal "wrong $f backup"
exit 1
fi
}
recovery_file()
{
typeset f=$1
typeset fb
fb=${f#/}
fb=$BACKUP/$fb
if [[ ! -a $fb ]]
then
echo_fatal "cannot access $fb"
exit 1
fi
xcmd="rm -rf $f"
set_cmd "$xcmd"
run_cmd
if [[ -f $fb/delete ]]
then
:
elif [[ -f $fb/create ]]
then
xcmd="cp -rpdx $fb/file $f"
set_cmd "$xcmd"
run_cmd
else
echo_fatal "wrong $fb backup"
exit 1
fi
}
remove_backup()
{
echo "Remove backup"
if [[ ! -d $BACKUP ]]
then
echo_info "Cannot access $BACKUP"
return
fi
if [[ ! -f $BACKUP/$BACKUP_LIST_NAME ]]
then
echo_fatal "$BACKUP_LIST_NAME absent, remove backup manually"
exit 0
fi
answer=
if [[ $i_flg = 1 ]]
then
echo -n "Remove $BACKUP directory (yes/...)?"
read answer
else
answer=yes
fi
if [[ $answer = yes ]]
then
xcmd="rm -rf $BACKUP"
set_cmd "$xcmd"
run_cmd
fi
}
recovery_backup()
{
echo "Recovery system from $BACKUP"
for f in $backup_list
do
get_output_cmd "get_mount_point $f"
mnt=$output_cmd
get_output_cmd "is_ro_mounted $mnt"
mnt=$output_cmd
if [[ ! -z $mnt ]]
then
remount_rw_fs $mnt
fi
recovery_file $f
if [[ ! -z $mnt ]]
then
remount_ro_fs $mnt
fi
done
echo "The system is ready, reboot the system manually"
}
create_backup()
{
echo "Create backup"
xcmd="mkdir -pm0777 $BACKUP"
set_cmd "$xcmd"
run_cmd
for v in $backup_list
do
f=${v%%:*}
backup_list2="$backup_list2 $f"
fr=${v#*:}
create_file $f $fr
done
echo "$backup_list2" >$BACKUP/$BACKUP_LIST_NAME
}
diff_backup()
{
echo "Diffs system and backup"
if [[ ! -d $BACKUP ]]
then
echo_fatal "cannot access $BACKUP"
exit 1
fi
for f in $backup_list
do
diff_file $f
done
}
main()
{
typeset f mnt mnt_list answer
if [[ $R_flg = 1 ]]
then
remove_backup
fi
if [[ $r_flg = 1 ]]
then
recovery_backup
fi
if [[ $c_flg = 1 ]]
then
create_backup
fi
if [[ $d_flg = 1 ]]
then
diff_backup
fi
}
init_prog "$@"
main
exit 0
E ui lava, atonu ou te leʻi malamalama i se mea? Atonu e mafai e se tasi ona faʻamatalaina i faʻamatalaga: faʻafefea ona faʻamautinoa e lenei tusitusiga le saogalemu ma le faʻatuatuaina o faʻamaumauga? [TBD]
rsync, i le ala, o loʻo aofia i le faʻaopoopoga. faleteuoloa. Fa'aliliuga 3.1.3. Ou te manatu o le faʻaaogaina o le rsync o se mea sili atu lea i le /mcst/bin/backup application.
Na sosoo ai, na ou filifili e tuu se mea fou Veeam Agent mo Linux. O le a fesili se tasi: "O le a le mea e fai e Veeam ma le suitulaga o oloa mai fafo?" Ioe, e le oi totonu o le tusi resitala, ae faʻamaonia e le FSTEC, o lona uiga pe a leai ni isi mea e mafai ona faʻaaogaina. Fa'aalu le sefululima minute i isi mea mai
Vaega Lona tolu - faʻapipiʻiina o le Veeam Agent mo Linux.
O lea la, Veeam Agent mo Linux e aofia ai ni afifi se lua: le veeamsnap kernel module (i le ala,
E tasi lava le fa'afitauli i le fa'apipi'iina o le kernel module - o le dkms package ua misi. Ole 'au'aunaga lea e fa'ataga ai oe e fausia ni fa'aoga fatu mai le puna. I le avea ai ma tulafono, o loʻo avanoa i faʻasalalauga uma. Sa tatau ona ou sii maia mai se fale teu oloa a le isi vaega. E tasi le mea na ou fiafia ai o le afifi e le faalagolago i le fausaga, o lea e fetaui lelei e pei o se tagata. Aisea na le aofia ai i le lisi o afifi avanoa, pe sili atu, e leʻi atiaʻe [TBD]? Masalo e manatu e leai se tasi e tatau ona fausia ma faʻatautaia soʻo se modules kernel e le MCST. E i ai moni lava se eseesega iinei - talu ai o loʻo i ai linux-headers. O lona uiga, o le module, pe a manaʻomia, e mafai ona faʻapipiʻi lima ma faʻalauiloa e se tusitusiga pe a amata le masini. Ou te manatu e le tatau ona e faʻamoemoeina faʻafouga masani mai le MCST [TBD].
"Ua lelei, ua faʻapipiʻi le module - ua uma le vaega sili ona faigata," na ou manatu ai ... O le veeam package mo le deb repository e mo le amd64 platform, ma o le Elbrus OS e iai le x86_64 [TBD] platform. O le eseesega, ioe, e naʻo le igoa, ae o lenei eseesega e toetoe lava o afifi uma mai fale teu oloa a le isi vaega e le fetaui ma le Elbrus OS. O lenei le femalamalamaaʻi faʻafefe e mafai ona faʻaumatia faigofie: naʻo le faʻamavaeina o le afifi, faʻasaʻo faʻamatalaga e uiga i le fausaga ma toe tuʻu faʻatasi. E faapefea ona fai
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
O le isi fa'afitauli o le fa'alagolago. O faila manaʻomia e foliga mai o loʻo i ai iina, ae o afifi e leai. O le manatu e faapea o igoa o afifi e ese mai a latou "auga faʻaulufale mai". Masalo o faletusi e ese le afifiina. Ou te leʻi alu i le tele o auiliiliga, aveese toetoe lava o faʻalagolago uma, ma faʻaauau le faʻapipiʻiina.
Ona alia'e mai lea o faafitauli i le code start service. Ua misi le script /lib/init/vars.sh. Mo nisi mafuaʻaga, e pulea e Elbrus e aunoa ma lea, o lea o le a matou aveesea foi. O le isi, e tatau ona sui le galuega faatino o fe'au: o le log_daemon_msg ma le log_end_msg galuega ua misi. Ina ua uma ona suʻesuʻeina i totonu o le faila / lib / lsb / init-functions, na ou mauaina le log_success_msg galuega - o le a lelei mo i matou mo suʻega. I le auala, i le / lib / lsb / init-functions faila le laina "# Source SuSE's rc functions" o loʻo i le amataga o le [TBD] faila.
Ina ua maeʻa le faʻagasologa faigata o le afifi ma se faila, o le faʻamaumauga atoa o le masini i luga o le faʻasoa NFS na faʻatautaia ma le manuia. Sa manuia foi le mauga faaleoleo. O lea, ou te talitonu o le lagolagoina o se masini ma le Elbrus PDK, sii mai "pei o lena" e aunoa ma ni noataga, Veeam Agent mo Linux e mautinoa lava talafeagai. Tusa lava pe a uma suiga uma ma se faila.
O le mea moni, o le pusa tufatufaina o Elbrus OS e le o lagolagoina aloaia, talu ai e le o aofia ai i le lisi o mea e lagolagoina. E le gata i lea, o le Veeam Agent mo Linux e leʻi faʻataʻitaʻiina e le QA matagaluega, o lea. e leai se lagolago (a itiiti ifo i le taimi o le lolomiina o le tusiga).
Ou te faʻamoemoe o le a aoga le tusiga ia i latou o loʻo taumafai e faʻatinoina le poloaiga Numera 334 o Iuni 29.06.2017, XNUMX. O la'u ia te oe... [TBD].
puna: www.habr.com