Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']

Aroha katoa.
Nga korero o mua mo Habré Kawemai whakakapinga i roto i te mahi. Wāhanga 1. Kōwhiringa и Kaore i roa te puoro ... me pehea ranei te Elbrus OS kaore i waatea kihai ahau i waiho kia kore e aro. I whakatau ahau ki te ako i tenei take i roto i te horopaki o te mahi taapiri. Ano, i roto i tenei tuhinga Ko nga hua o te Veeam Software e whakahuahia ana, ko te tikanga tera pea e pa ana te take i roto i te horopaki o te whakakapinga kawemai.

Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']
puna whakaahua taketake

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 kaiwhakukatuka me te punaha whakahau motuhake. I tua atu ki a ia, kei reira he rorohiko Elbrus OS. A - he rereke ki te whakapono rongonui - ki te whakahaere i te Elbrus OS, kaore e tika kia whai punaha taputapu i runga i te tukatuka Elbrus. He "PDK "Elbrus" mo te x86" - i roto i te meka, i puta mai i te rohe whanui i te ahua o te kōpae whakaurunga. Ae ra, kei reira he kupu-waewae "PDK - kete whanaketanga papa, kete kaiwhakawhanake" - he rawe, ko te tikanga kei reira tetahi kaitoi.

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.

Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']
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.

Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']

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.

Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']

Kaati, me whakarōpūtia "Elbrus" hei hapori Nga Whakapono Tawhito[TBD]. I roto i te kaupapa, he pai tenei: kaore koe e hiahia ki te tono mo te waehere puna kia kite i te mahi o te tukanga tango, no te mea kua tuhia nga mea katoa.

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:

Pūrua Linux mai i Veeam i runga i te Elbrus OS. Kawemai he whakakapinga ['?' | '.' | '!']

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 rehita, I taea e au te kimi hononga e 3 mo te kupu “backup” (kaore tetahi e pa ana ki taku patai mo te kupu “rahui”). Kaore au i mahi i te hohonutanga o enei kaupapa, no reira kare au e ngana ki te whakatau he pehea e tika ana mo te tautoko i nga miihini whakahaere Linux. Ko te tangata e hiahia ana ka tuhi i tana ake whakatau ka tohatoha ki nga korero.

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, puna i konei) me te waehere mokowā-kaiwhakamahi i te ahua o te kete veeam.

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 I Google inamata.

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

Tāpiri i te kōrero