Nyob zoo txhua tus.
Cov lus tsis ntev los no ntawm Habre
Ua ntej tshaj plaws, kuv tau txiav txim siab rub tawm Elbrus OS, lossis theej, tsuas yog muaj kev faib tawm rau x86_64 architecture, saib nws ua haujlwm li cas, thiab sim rau nruab Veeam Agent rau Linux ntawm nws. Yog koj xav paub dab tsi tawm ntawm no, thov saib miv.
Yog li ntawd, ib tug me me digression, yog hais tias ib tug neeg tsis paub. "Elbrus" zoo li ntawd
Lwm me me yuam kev tawm. Qhov tseeb yog tias kuv ib zaug tau hais txog software hauv tsev, xws li MSVS thiab Baguette RTOS. Kuv tau muaj kev paub ua haujlwm nrog cov khoom siv hauv tsev, suav nrog tus txheej txheem los ntawm MCST. Yog li ntawd, kuv tuaj yeem hais nrog lub luag haujlwm tag nrho tias muaj qee qhov tshwj xeeb hauv cheeb tsam no thiab kuv yuav sim tsis txhob kov nws hauv tsab xov xwm. Thaum kuv xav tau tiag tiag, kuv yuav muab lub cim [TBD]. Yog li peb yuav sim ua yam tsis muaj kev trolling outright thiab banal moaning. Thaum kawg, kev lag luam tiv thaiv Lavxias thiab tsoomfwv cov koomhaum yuav tsum nkag siab. Lub teb chaws loj - pob nyiaj siv me me .. [TBD].
Zero theem - download tau. Nws yog ib qho tseem ceeb uas cov xov xwm hais tias Elbrus OS tau dhau los ua rau muaj kev cuam tshuam, ntau heev kom cov neeg rau zaub mov xa mus poob. [TBD] Ua tsaug rau Yandex thiab tus kws tshaj lij uas xav txav nws mus rau ntawd. Yog li ntawd lub download ceev yog zoo.
Thawj theem - kev teeb tsa. Kuv ntsia nws ntawm thawj hypervisor uas muaj rau kev siv dawb. Kuv faib ob cores, ob peb gigs ntawm RAM, 32 MB rau video (yuav muaj ib tug graphical interface, kuv xav). Lub disk yog li qub - 32 GB.
Kuv pib lub installation. Kuv tsis tau siv cov lus qhia installation, yog li kuv tsis tuaj yeem tawm tswv yim rau nws. TUI installation interface yog qhov tsawg heev.
Zoo, zoo, peb tuaj yeem ua yam tsis muaj nas.
Kuv tswj lub qhov rais tom ntej ntawm qhov thib ob sim. Vim li cas ho tsis xaiv lub cuab yeej sr0 [TBD] thaum txhim kho los ntawm disk?
Xaiv CD-ROM qhov chaw thiab txav mus rau.
Thaum xaiv lub sijhawm, kuv mam li nco dheev pom tias lub kaw lus siv cov txheej txheem khau raj init, thiab kuv ua haujlwm los ntawm TTY0.
OK, ces cia peb faib "Elbrus" ua ib lub zej zog
Qhov seem yog yuav luag tsis tseem ceeb: peb muab txhua yam thiab pom zoo. Raws li txoj kev, peb pom tias cov ntsiav siv 3.14.79-13.84. Hmm, Debian 7 muaj 3.2 [TBD].
Tom ntej no, xaiv lub default disk partitioning thiab ... Peb pom ib tug ceeb toom:
Hmm, qee qhov kev faib tsis siv neeg tsis tuaj yeem tiv taus zoo nrog 32 gig disk. Kuv tsis tau hloov lub disk; Kuv ua tiav cov lus nug nrog phau ntawv faib disk hauv "tag nrho-hauv-ib" style. Kuv yuav tsum tau nruab ext3, vim / khau raj tsis tuaj yeem nyob hauv ext4.
Lub kaw lus tuaj txog yam tsis muaj xwm txheej.
Thib theem ob - nrhiav lwm txoj hauv kev.
Tom qab rummaging los ntawm cov ntsiab lus ntawm lub thib ob disk, kuv pom tau hais tias qhov no yog ib tug repository nrog ntxiv. hauv pob. Thiab saib ntawm /etc/apt/sources.list, Kuv pom tau hais tias nws yuav tsum tau muab tso rau hauv /mnt/cdrom. Tab sis kuv tsis pom /etc/os-release. Tab sis muaj /etc/mcst-version nrog cov ntsiab lus 3.0-rc36. 3.0 yog tej zaum qhov version - nws zoo li haum, tab sis rc36? Feem ntau, cov software thib peb feem ntau yuav tsis tuaj yeem paub txog qhov kev faib tawm no hauv txoj kev classical.
Hauv cov hauv paus kev faib tawm, / mcst directory catches kuv lub qhov muag, thiab muaj, nrog lub plawv nres, kuv pom / mcst / thaub qab. Ntawd yog, muaj cov cuab yeej thaub qab, thiab nws tau ua rau hauv qhov system! "Zoo heev,"Kuv xav tias, "Cia peb saib seb qhov no ua haujlwm li cas!"
Nws muab tawm tias muaj 4Kb bash tsab ntawv / mcst / bin / thaub qab uas muab cov ntaub ntawv luam tawm. Los ntawm lub neej ntawd - mus rau /mcst/backup directory. Hauv qhov chaws kuv xav kom pom rsync hais kom ua, tab sis nws tsis yog nyob rau hauv lub neej ntawd configuration. Tsab ntawv tsuas yog luam cov ntaub ntawv. Cov lus txib zoo li no:
cp -rpdx <file backup> <file>
Tag nrho cov ntaub ntawv /mcst/bin/backup nyob ntawm noKuv ceeb toom rau koj tam sim ntawd tias tsab ntawv no ib leeg tsis txaus kom nkag siab. Nws rub cov haujlwm los ntawm /mcst/bin/source, uas yog qee yam zoo li lub tsev qiv ntawv ntawm cov haujlwm. Kuv tsis suav nrog nws (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
Txawm li cas los xij, tej zaum kuv tsis nkag siab qee yam? Tej zaum ib tug neeg tuaj yeem piav qhia hauv cov lus: tsab ntawv no ua li cas kom muaj kev nyab xeeb thiab txhim khu kev qha cov ntaub ntawv thaub qab? [TBD]
rsync, los ntawm txoj kev, muaj nyob rau hauv lub add-on. chaw khaws cia. Version 3.1.3. Kuv xav tias siv rsync tseem yog lwm txoj hauv kev zoo dua rau /mcst/bin/backup application.
Tom ntej no, kuv txiav txim siab muab ib qho tshiab Veeam Agent rau Linux. Ib tug yuav nug: "Veeam thiab ntshuam hloov pauv tau ua li cas rau nws?" Yog lawm, nws tsis yog nyob rau hauv daim ntawv teev npe, tab sis nws tau lees paub los ntawm FSTEC, uas txhais tau hais tias thaum tsis muaj lwm txoj hauv kev nws tuaj yeem siv tau. Siv kaum tsib feeb ntawm lwm txoj kev los ntawm
Qib Peb - kev teeb tsa ntawm Veeam Agent rau Linux.
Yog li, Veeam Agent rau Linux muaj ob pob: veeamsnap kernel module (los ntawm txoj kev,
Muaj ib qho teeb meem me me nrog kev txhim kho cov ntsiav module - lub pob dkms ploj lawm. Qhov no yog ib qho kev pabcuam uas tso cai rau koj los tsim cov kernel modules los ntawm qhov chaw. Raws li txoj cai, nws muaj nyob rau txhua qhov kev faib tawm deb. Kuv yuav tsum download tau nws los ntawm tus thib peb-tog deb repository. Ib yam uas ua rau kuv zoo siab yog tias lub pob tsis nyob ntawm lub architecture, yog li nws haum zoo li ib haiv neeg. Vim li cas ho tsis suav nrog hauv cov npe ntawm cov pob khoom muaj, lossis tsis tau tsim [TBD]? Tej zaum nws xav tias tsis muaj leej twg yuav tsum tsim thiab khiav ib qho tsis yog MCST kernel modules. Muaj tiag tiag qhov sib txawv ntawm no - vim tias muaj linux-headers. Ntawd yog, lub module, yog tias xav tau, tuaj yeem sib sau ua ke ntawm tes thiab tso tawm los ntawm tsab ntawv thaum lub tshuab pib. Kuv xav tias koj yuav tsum tsis txhob xav tias yuav hloov tshiab los ntawm MCST [TBD].
"OK, lub module tau teeb tsa - qhov nyuaj tshaj plaws tau dhau lawm," Kuv xav tias ... Lub pob veeam rau deb repository yog rau amd64 platform, thiab Elbrus OS muaj x86_64 [TBD] platform. Qhov txawv, ntawm chav kawm, tsuas yog nyob rau hauv lub npe, tab sis qhov sib txawv no ua rau yuav luag tag nrho cov pob khoom los ntawm cov neeg thib peb deb repositories incompatible nrog Elbrus OS. Qhov kev nkag siab tsis meej no tuaj yeem raug tshem tawm yooj yim: tsuas yog disassemble lub pob, kho cov ntaub ntawv hais txog architecture thiab muab nws rov qab ua ke. Yuav ua li cas
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Lwm qhov teeb meem yog dependencies. Cov ntaub ntawv tsim nyog zoo li muaj nyob ntawd, tab sis cov pob khoom tsis yog. Lub tswv yim yog tias cov npe ntawm cov pob khoom sib txawv ntawm lawv "cov khoom lag luam xa tawm". Tej zaum cov tsev qiv ntawv tau ntim txawv. Kuv tsis tau mus rau hauv ntau yam nthuav dav, tshem tawm yuav luag txhua qhov kev cia siab, thiab kev teeb tsa mus tom ntej.
Tom qab ntawd cov teeb meem tshwm sim nrog cov kev pabcuam pib code. Tsab ntawv /lib/init/vars.sh ploj lawm. Rau qee qhov laj thawj, Elbrus tswj tsis tau nws, yog li peb yuav tshem nws thiab. Tom ntej no, peb yuav tsum hloov cov lus tso tawm muaj nuj nqi: lub log_daemon_msg thiab log_end_msg ua haujlwm ploj lawm. Tom qab rummaging ib ncig ntawm cov ntaub ntawv /lib/lsb/init-functions, kuv pom lub log_success_msg muaj nuj nqi - nws yuav zoo rau peb rau kev sim. Los ntawm txoj kev, hauv /lib/lsb/init-functions ua cov kab "# Source SuSE's rc functions" yog thaum pib ntawm [TBD] cov ntaub ntawv.
Tom qab xws li kev ua haujlwm ntxhib ntawm pob nrog cov ntaub ntawv, tag nrho-tshuab thaub qab ntawm NFS qhia tau ua tiav tiav. Lub thaub qab mount kuj ua tiav. Yog li, kuv ntseeg tias rau thaub qab lub tshuab nrog Elbrus PDK, rub tawm "zoo li ntawd" yam tsis muaj lub luag haujlwm, Veeam Agent rau Linux yog qhov tsim nyog. Txawm tias tom qab tag nrho cov kev hloov kho nrog ib cov ntaub ntawv.
Tau kawg, Elbrus OS cov khoom siv faib khoom tsis raug txhawb nqa, vim nws tsis suav nrog hauv cov npe ntawm cov neeg txhawb nqa. Tsis tas li ntawd, Veeam Agent rau Linux tsis tau sim ntawm nws los ntawm QA department, yog li ntawd. tsis muaj kev txhawb nqa (tsawg kawg thaum lub sijhawm tshaj tawm ntawm tsab xov xwm).
Kuv vam tias tsab xov xwm yuav muaj txiaj ntsig zoo rau cov neeg uas tab tom sim ua raws li tsab ntawv 334 ntawm Lub Rau Hli 29.06.2017, XNUMX. Kuv rau koj... [TBD].
Tau qhov twg los: www.hab.com