Aroha katoa.
Nga korero o mua mo Habré
Tuatahi, i whakatau ahau ki te tango i te Elbrus OS, engari ko te tohatoha noa mo te hoahoanga x86_64, tirohia me pehea te mahi, ka ngana ki te whakauru Veeam Agent mo Linux ki runga. Mena kei te pirangi koe ki te mohio he aha i puta mai i tenei, tirohia koa te ngeru.
Na, he iti noa te rereke, mena kaore tetahi e mohio. "Elbrus" he pera ano
Ko tetahi atu rerenga iti. Ko te meka ko taku mahi i tetahi wa ki nga rorohiko o-whare, penei i te MSVS me te Baguette RTOS. He wheako ahau ki te mahi me nga waahanga o te kaainga, tae atu ki te tukatuka mai i MCST. Na reira, ka taea e au te kii me te tino kawenga kei reira tetahi waahanga motuhake i tenei waahanga ka ngana ahau kia kaua e pa atu ki runga i te tuhinga. Ina tino hiahia ahau, ka hoatu e ahau te tohu [TBD]. No reira ka ngana taatau ki te mahi me te kore e tarai me te aue noa. I te mutunga, me maarama te umanga tiaki a Ruhia me nga tari a te kawanatanga. Whenua nui - iti te tahua.. [TBD].
Kore atamira - tikiake. Ko te mea nui ko te rongo kua waatea mai te Elbrus OS i puta he resonance, na te mea i heke iho te tūmau tohatoha. [TBD] Nga mihi ki a Yandex me te miihini i whakaaro ki te neke ki reira. Na he pai te tere o te tango.
Ko te waahi tuatahi - tāutanga. I whakauruhia e ahau ki te hypervisor tuatahi e waatea ana mo te whakamahi kore utu. I tohatohahia e ahau nga waahanga e rua, e rua nga gigs o te RAM, 32 MB mo te ataata (ka puta he atanga kauwhata, i whakaaro ahau). He rite tonu te kōpae - 32 GB.
I timata ahau ki te whakauru. Kaore au i whakamahi i nga tohutohu whakaurunga, no reira kaore e taea e au te korero. He tino iti te atanga whakaurunga TUI.
Ana, pai, ka taea e tatou me te kore he kiore.
I whakahaere ahau i te matapihi i muri mai i te piro tuarua. He aha e kore ai e kowhiri i te taputapu taunoa sr0 [TBD] ina whakauru ana mai i te kōpae?
Tīpakohia te puna CD-ROM ka haere tonu.
I a au e kowhiri ana i te rohe wa, ka mohio au kei te whakamahi te punaha i te tukanga whawhai init, a kei te mahi au mai i TTY0.
Kaati, me whakarōpūtia "Elbrus" hei hapori
Ko te toenga kaore he mea nui: ka tukuna e matou nga mea katoa ka whakaae. I te ara, ka kitea e whakamahia ana te kernel 3.14.79-13.84. Hmm, he 7 [TBD] a Debian 3.2.
I muri mai, tohua te wehewehenga kōpae taunoa me te... Ka kite matou i te whakatupato:
Hmm, he aha te wehenga aunoa kaore i pai ki te kopae 32 gig. Kaore au i whakarereke i te kōpae; I oti i ahau te rapu me te wehewehe a-ringa i roto i te ahua "katoa-i-kotahi". Me whakauru e ahau te ext3, na te mea kaore e taea e /boot te uru ki te ext4.
I puta mai te punaha kaore he raruraru.
Ko te waahanga tuarua - rapu mo etahi atu.
Whai muri i te tirotiro i nga korero o te kōpae tuarua, ka mohio ahau he putunga tenei me etahi atu. i roto i nga kete. Na ka titiro ki /etc/apt/sources.list, i mohio ahau me whakauru ki /mnt/cdrom. Engari kaore au i kitea /etc/os-release. Engari kei reira /etc/mcst-version me nga ihirangi 3.0-rc36. Ko 3.0 pea te putanga - he pai te ahua, engari rc36? I te nuinga o te waa, karekau pea nga punaha tuatoru-tuatoru e mohio ki tenei tohatoha i runga i te tikanga puāwaitanga.
I roto i te wehenga pakiaka, ka mau taku kanohi i te whaiaronga /mcst, a, i reira, me te ngakau totohu, ka kitea e ahau /mcst/backup. Arā, he taputapu taapiri, kua hangaia ki roto i te punaha! "Ka pai," ka whakaaro ahau, "Kia kite me pehea te mahi!"
I puta mai he 4Kb bash script /mcst/bin/backup e whakarato ana i te kape konae. Ma te taunoa - ki te whaiaronga /mcst/backup. I roto i te waehere puna i tumanako ahau kia kite i te whakahau rsync, engari kaore i roto i te whirihoranga taunoa. Ka kape noa te tuhinga i nga konae. He penei te ahua o te whakahau:
cp -rpdx <file backup> <file>
Kei konei te kōnae katoa /mcst/bin/backupKa whakatupato tonu ahau ki a koe ko tenei tuhinga anake kaore e ranea kia tino marama. Ka kumea mai i nga mahi mai i /mcst/bin/source, he rite ki te whare pukapuka o nga mahi. Kaore au i whakauru (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
Ahakoa, kaore pea au i mohio ki tetahi mea? Ka taea pea e tetahi te whakamarama i roto i nga korero: me pehea e whakarite ai tenei tuhinga i te haumaru me te pono o nga raraunga? [TBD]
rsync, na te ara, kei roto i te taapiri. whare putunga. Putanga 3.1.3. Ki taku whakaaro he pai ake te whakamahi rsync ki te tono /mcst/bin/backup.
I muri mai, ka whakatau ahau ki te whakatakoto i tetahi mea hou Kaihoko Veeam mo Linux. Ka patai tetahi: "He aha te hononga o Veeam me te whakakapinga kawemai?" Ae, kaore i roto i te rehita, engari kua whakamanahia e te FSTEC, ko te tikanga i te kore o nga momo rereke ka taea te whakamahi. Te whakapau tekau ma rima meneti mo etahi atu
Wāhanga Tuatoru — te whakaurunga o Veeam Agent mo Linux.
Na, e rua nga kohinga a Veeam Agent mo Linux: ko te kōwae kernel veeamsnap (na te ara,
Kotahi te raru iti i te whakauru i te kōwae kernel - te mōkihi dkms ngaro. He ratonga tenei ka taea e koe te hanga i nga waahanga kernel mai i te puna. Hei tikanga, kei te waatea i runga i nga tohatoha nama katoa. Me tango e au mai i tetahi putunga nama-tuatoru. Ko tetahi mea i harikoa ai ahau ko te mea karekau te kete e whakawhirinaki ana ki te hoahoanga, no reira ka rite ki te tangata whenua. He aha te take kaore i whakauruhia ki roto i te rarangi o nga kete e waatea ana, kaore ranei i whakawhanakehia [TBD]? Ko te whakaaro pea karekau he tangata e hanga me te whakahaere i nga waahanga kakano kore-MCST. He tino rerekee kei konei - na te mea kei reira nga upoko-linux. Arā, ko te kōwae, ki te hiahiatia, ka taea te whakahiato ma te ringa ka whakarewahia e te tuhinga ka timata te miihini. Ki taku whakaaro me kaua koe e tumanako kia maha nga whakahou mai i te MCST [TBD].
"Ae, kua whakauruhia te waahanga - kua mutu te waahanga tino uaua," i whakaaro ahau ... Ko te kete veeam mo te rehitatanga deb mo te papaaata amd64, a kei te Elbrus OS he x86_64 [TBD]. Ko te rereketanga, ko te ingoa anake, engari ko tenei rereketanga ka tata katoa nga kohinga mai i nga putunga nama-tuatoru kaore i te hototahi ki te Elbrus OS. Ka taea te whakakore noa i tenei pohehe kino: wetewete noa te kete, whakatikahia nga korero mo te hoahoanga me te whakakotahi ano. Me pehea te mahi
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Ko tetahi atu raruraru ko te whakawhirinaki. Te ahua nei kei reira nga konae e tika ana, engari kaore nga kete. Ko te whakaaro he rereke nga ingoa o nga kete mai i o raatau "whakariterite kawemai". Tena pea he rereke te kohinga o nga whare pukapuka. Kaore au i tino korero, ka tangohia tata katoa nga whakawhirinaki, ka haere tonu te whakaurunga.
Na ka puta nga raruraru me te waehere tiimata ratonga. I ngaro te tuhinga /lib/init/vars.sh. Mo etahi take, ka whakahaere a Elbrus me te kore, na ka tangohia ano e matou. I muri mai, me whakakapi e matou te mahi whakaputa karere: kua ngaro nga mahi log_daemon_msg me log_end_msg. Whai muri i te kopikopiko i roto i te konae /lib/lsb/init-functions, ka kitea e au te mahi log_success_msg - he pai mo tatou mo nga whakamatautau. Ma te ara, kei te konae /lib/lsb/init-functions te rarangi "# Source SuSE`s rc functions" kei te timatanga o te konae [TBD].
I muri mai i te tukatuka kino o te kete me te konae, i pai te whakarewatanga o te miihini katoa i runga i te wahanga NFS. I angitū hoki te putunga pūrua. Na, e whakapono ana ahau mo te tautoko i tetahi miihini me te Elbrus PDK, i tangohia "penei" kaore he herenga, he tino tika a Veeam Agent mo Linux. Ahakoa i muri i nga whakarereketanga katoa me te konae.
Ae ra, kaore i te tautokohia te kete tohatoha Elbrus OS, na te mea kaore i whakauruhia ki te rarangi o nga mea tautoko. I tua atu, karekau a Veeam Agent mo Linux i whakamatauria e te tari QA, na ko era. karekau he tautoko (i te iti rawa i te wa o te whakaputanga o te tuhinga).
Ko taku tumanako ka whai hua te tuhinga ki te hunga e ngana ana ki te whakatinana i te ota Nama 334 o Hune 29.06.2017, XNUMX. Ko taku ki a koe... [TBD].
Source: will.com