Lumela.
Lingoliloeng tsa morao-rao tse mabapi le Habré
Pele ho tsohle, ke ile ka etsa qeto ea ho khoasolla Elbrus OS, kapa ho e-na le hoo, feela kabo e fumanehang bakeng sa meralo ea x86_64, bona kamoo e sebetsang kateng, 'me u leke ho kenya Veeam Agent bakeng sa Linux ho eona. Haeba u batla ho tseba se tsoileng ho sena, ka kopo bona katse.
Kahoo, ho kheloha hanyenyane, haeba motho a sa tsebe. "Elbrus" e joalo
E 'ngoe e nyenyane e qobelloang ho khutlela morao. 'Nete ke hore ke kile ka sebetsana le software ea lapeng, e kang MSVS le Baguette RTOS. Ke bile le boiphihlelo ba ho sebetsa le likarolo tsa lapeng, ho kenyeletsoa processor e tsoang ho MCST. Ka hona, nka bua ka boikarabelo bo feletseng hore ho na le ho khetheha ho itseng sebakeng sena 'me ke tla leka ho se ama ho eona sehloohong sena. Ha ke hlile ke batla, ke tla beha tag [TBD]. Kahoo re tla leka ho etsa ntle le ho thothomela le ho bokolla banal. Qetellong, indasteri ea tšireletso ea Russia le mekhatlo ea mmuso e hloka ho utloisisoa. Naha e kholo - budget e nyane.. [TBD].
Sethala sa Zero - jarolla. Hoa hlokomeleha hore litaba tsa hore Elbrus OS e se e fumaneha li ile tsa baka moferefere, hoo seva sa kabo se ileng sa theoha. [TBD] Ke leboha Yandex le moenjiniere ea ileng a nahana ho e fallisetsa moo. Kahoo lebelo la ho jarolla le lokile.
Mohato oa pele - ho kenya. Ke e kentse ho hypervisor ea pele e neng e fumaneha bakeng sa tšebeliso ea mahala. Ke fane ka li-cores tse peli, li-gigs tse 'maloa tsa RAM, 32 MB bakeng sa video (ho tla ba le sebopeho sa litšoantšo, ke ne ke nahana). Disk e joalo ka tloaelo - 32 GB.
Ke ile ka qala ho kenya. Ha kea sebelisa litaelo tsa ho kenya, kahoo ha ke khone ho fana ka maikutlo ho eona. Sehokelo sa ho kenya TUI se fokola haholo.
Ho lokile, re ka etsa ntle le toeba.
Ke ile ka laola fensetere e latelang tekong ea bobeli. Hobaneng u sa khethe sesebelisoa sa kamehla sr0 [TBD] ha u kenya ho tsoa ho disk?
Khetha mohloli oa CD-ROM ebe u tsoela pele.
Ha ke ntse ke khetha sebaka sa nako, ka tšohanyetso ke ile ka hlokomela hore sistimi e sebelisa ts'ebetso ea init boot, mme ke sebetsa ho tloha TTY0.
Ho lokile, joale ha re aroleng "Elbrus" joalo ka sechaba
Tse ling kaofela li batla li se tsa bohlokoa: re beha ntho e 'ngoe le e' ngoe 'me re lumellana. Tseleng, re fumana hore kernel e sebelisoa 3.14.79-13.84. Hmm, Debian 7 e ne e na le 3.2 [TBD].
Ka mor'a moo, khetha "disk partitioning" ea kamehla le ... Re bona temoso:
Hmm, ka tsela e itseng karohano ea othomathiki ha ea ka ea sebetsana hantle le 32 gig disk. Ha kea fetola disk; Ke qetile kopo ka ho arola disk ka mokhoa oa "all-in-one". Ke ile ka tlameha ho kenya ext3, kaha / boot e ne e ke ke ea ba ho ext4.
Tsamaiso e ile ea hlaha ntle le ketsahalo.
Mohato oa bobeli - batla mekhoa e meng.
Ka mor'a ho hlahloba litaba tsa disk ea bobeli, ke ile ka hlokomela hore ena ke sebaka sa polokelo se nang le tlatsetso. ka liphutheloana. 'Me ha ke sheba /etc/apt/sources.list, ke ile ka hlokomela hore e hloka ho kenngoa ho /mnt/cdrom. Empa ha kea fumana /etc/os-release. Empa ho na le /etc/mcst-version e nang le litaba tsa 3.0-rc36. 3.0 mohlomong ke eona mofuta - e bonahala e lekana, empa rc36? Ka kakaretso, software ea motho oa boraro e ke ke ea khona ho lemoha kabo ena ka tsela ea khale.
Karolong ea karohano ea motso, bukana ea /mcst e nka leihlo, mme moo, ka pelo e tebang, ke ile ka fumana /mcst/backup. Ke hore, ho na le sesebelisoa sa ho boloka, 'me se hahiloe ka har'a sistimi! “Ho lokile,” ka nahana, “Ha re boneng hore na sena se sebetsa jwang!”
Ho ile ha fumaneha hore ho na le 4Kb bash script /mcst/bin/backup e fanang ka ho kopitsa faele. Ka kamehla - ho /mcst/backup directory. Khoutung ea mohloli ke ne ke lebelletse ho bona taelo ea rsync, empa ha e tlhophisoeng ea kamehla. Script e kopitsa lifaele feela. Taelo e shebahala tjena:
cp -rpdx <file backup> <file>
Faele kaofela /mcst/bin/backup e teng monaKea u lemosa hang-hang hore script ena feela ha ea lekana ho utloisisa ka botlalo. E hula mesebetsi ho tsoa ho /mcst/bin/source, e leng ntho e kang laebrari ea mesebetsi. Ha kea e kenyelletsa (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
Leha ho le joalo, mohlomong ke ne ke sa utloisise ho hong? Mohlomong motho e mong a ka hlalosa litlhalosong: sengoloa see se tiisa joang hore bekapo e bolokehileng le e tšepahalang ea data? [TBD]
rsync, ka tsela, e kenyelelitsoe ho tlatsetso. bobolokelo. Phetolelo ea 3.1.3. Ke nahana hore ho sebelisa rsync e ntse e le mokhoa o betere oa ho sebelisa /mcst/bin/backup application.
Ka mor'a moo, ke ile ka etsa qeto ea ho beha e ncha Veeam Agent bakeng sa Linux. E mong o tla botsa: "Veeam and import substitution e amana joang le eona?" E, ha e ngolisoe, empa e tiisitsoe ke FSTEC, ho bolelang hore ha ho se na mekhoa e meng e ka sebelisoang. Ho qeta metsotso e leshome le metso e mehlano ka mekhoa e meng e tsoang ho
Mothati oa Boraro - ho kenya Veeam Agent bakeng sa Linux.
Kahoo, Veeam Agent bakeng sa Linux e na le liphutheloana tse peli: module ea kernel ea veeamsnap (ka tsela,
Ho bile le bothata bo le bong ka ho kenya kernel module - sephutheloana se sieo sa dkms. Ena ke ts'ebeletso e u lumellang hore u thehe li-module tsa kernel ho tsoa mohloling. Joalo ka molao, e fumaneha ho liabo tsohle tsa deb. Ke ile ka tlameha ho e khoasolla ho tsoa polokelong ea batho ba boraro. Ntho e 'ngoe e ileng ea nthabisa ke hore sephutheloana ha se itšetlehe ka meaho, kahoo se tšoana le sa matsoalloa. Ke hobane'ng ha e ne e sa kenyelletsoa lethathamong la liphutheloana tse fumanehang, kapa ho e-na le hoo, e sa ntlafatsoa [TBD]? Mohlomong ho nahanoa hore ha ho motho ea lokelang ho haha le ho tsamaisa li-module tseo e seng tsa MCST kernel. Ho hlile ho na le phapang mona - kaha ho na le lihlooho tsa linux. Ke hore, mojule, haeba o lakatsa, o ka bokelloa ka letsoho mme o qalisoa ke script ha mochine o qala. Ke nahana hore ha oa lokela ho lebella lintlafatso khafetsa ho tsoa ho MCST [TBD].
"Ho lokile, module e kentsoe - karolo e thata ka ho fetisisa e felile," ke ile ka nahana ... Sephutheloana sa veeam bakeng sa polokelo ea deb ke bakeng sa sethala sa amd64, 'me Elbrus OS e na le sethala sa x86_64 [TBD]. Phapang, ehlile, e ka lebitso feela, empa phapang ena e etsa hore hoo e ka bang liphutheloana tsohle tse tsoang ho li-deb repositories tsa mokha oa boraro li se ke tsa lumellana le Elbrus OS. Ho se utloisisane hona ho khopisang ho ka felisoa habonolo feela: qhaqholla sephutheloana, lokisa tlhahisoleseling mabapi le meralo ebe o e kopanya hape. Mokhoa oa ho e etsa
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Bothata bo bong ke ho itšetleha. Lifaele tse hlokahalang li bonahala li le teng, empa liphutheloana ha li eo. Maikutlo e ne e le hore mabitso a liphutheloana a fapane le "li-analogues tse tsoang kantle ho naha". Mohlomong lilaebrari li phuthetsoe ka tsela e fapaneng. Ha kea ka ka bua ka lintlha tse ngata haholo, ka tlosa hoo e batlang e le lintho tsohle tse itšetlehileng ka eona, 'me ho kenngoa ho ile ha tsoela pele.
Eaba mathata a hlaha ka khoutu ea ho qala tšebeletso. Script /lib/init/vars.sh e ne e le sieo. Ka lebaka le itseng, Elbrus e khona ho e tlosa, kahoo re tla e tlosa. Ka mor'a moo, re ile ra tlameha ho fetola mosebetsi oa tlhahiso ea molaetsa: log_daemon_msg le log_end_msg mesebetsi e ne e le sieo. Ka mor'a ho pota-pota ka har'a faele ea /lib/lsb/init-functions, ke fumane mosebetsi oa log_success_msg - ho tla ba molemo ho rona bakeng sa liteko. Ka tsela, faeleng ea /lib/lsb/init-functions mola "# Source SuSE`s rc function" o qalong ea faele ea [TBD].
Kamora ts'ebetso e mpe joalo ea sephutheloana ka faele, bekapo ea mochini o felletseng karolong ea NFS e ile ea hlahisoa ka katleho. Ho beha bekapo le hona ho atlehile. Kahoo, ke lumela hore bakeng sa ho tšehetsa mochini o nang le Elbrus PDK, o jarollotsoeng "joalo joalo" ntle le boitlamo, Veeam Agent bakeng sa Linux e hlile e loketse. Esita le ka mor'a liphetoho tsohle tse nang le faele.
Ehlile, lisebelisoa tsa kabo ea Elbrus OS ha li tšehetsoe ka molao, kaha ha li kenyellelitsoe lethathamong la tse tšehelitsoeng. Ho feta moo, Veeam Agent bakeng sa Linux ha ea ka ea lekoa ho eona ke lefapha la QA, kahoo ba. ha ho na tšehetso (bonyane nakong ea ho hatisoa ha sehlooho).
Ke tšepa hore sehlooho sena se tla ba molemo ho ba lekang ho kenya ts'ebetsong taelo ea No. 334 ea June 29.06.2017, XNUMX. Ea ka ho uena... [TBD].
Source: www.habr.com