ಎಲ್ಲರಿಗೂ ನಮಸ್ಕಾರ.
ಹಬ್ರೆ ಕುರಿತು ಇತ್ತೀಚಿನ ಲೇಖನಗಳು
ಮೊದಲನೆಯದಾಗಿ, ನಾನು ಎಲ್ಬ್ರಸ್ ಓಎಸ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದೆ, ಅಥವಾ x86_64 ಆರ್ಕಿಟೆಕ್ಚರ್ಗೆ ಲಭ್ಯವಿರುವ ವಿತರಣೆಯನ್ನು ಮಾತ್ರ, ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಿ ಮತ್ತು ಅದರ ಮೇಲೆ ಲಿನಕ್ಸ್ಗಾಗಿ ವೀಮ್ ಏಜೆಂಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸಿ. ಇದರಿಂದ ಏನಾಯಿತು ಎಂದು ನೀವು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು ಬೆಕ್ಕು ನೋಡಿ.
ಆದ್ದರಿಂದ, ಒಂದು ಸಣ್ಣ ವ್ಯತಿರಿಕ್ತತೆ, ಯಾರಾದರೂ ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ. "ಎಲ್ಬ್ರಸ್" ಹಾಗೆ
ಮತ್ತೊಂದು ಸಣ್ಣ ಬಲವಂತದ ಹಿಮ್ಮೆಟ್ಟುವಿಕೆ. ವಾಸ್ತವವೆಂದರೆ ನಾನು ಒಮ್ಮೆ MSVS ಮತ್ತು ಬ್ಯಾಗೆಟ್ RTOS ನಂತಹ ದೇಶೀಯ ಸಾಫ್ಟ್ವೇರ್ನೊಂದಿಗೆ ವ್ಯವಹರಿಸಿದ್ದೇನೆ. MCST ಯಿಂದ ಪ್ರೊಸೆಸರ್ ಸೇರಿದಂತೆ ದೇಶೀಯ ಘಟಕಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿದ ಅನುಭವ ನನಗೆ ಇತ್ತು. ಆದ್ದರಿಂದ, ಈ ಪ್ರದೇಶದಲ್ಲಿ ಒಂದು ನಿರ್ದಿಷ್ಟ ನಿರ್ದಿಷ್ಟತೆ ಇದೆ ಎಂದು ನಾನು ಸಂಪೂರ್ಣ ಜವಾಬ್ದಾರಿಯೊಂದಿಗೆ ಹೇಳಬಲ್ಲೆ ಮತ್ತು ಲೇಖನದಲ್ಲಿ ಅದನ್ನು ಸ್ಪರ್ಶಿಸದಿರಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ. ನಾನು ನಿಜವಾಗಿಯೂ ಬಯಸಿದಾಗ, ನಾನು [TBD] ಟ್ಯಾಗ್ ಅನ್ನು ಹಾಕುತ್ತೇನೆ. ಆದ್ದರಿಂದ ನಾವು ಸಂಪೂರ್ಣ ಟ್ರೋಲಿಂಗ್ ಮತ್ತು ನೀರಸ ನರಳುವಿಕೆ ಇಲ್ಲದೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ. ಕೊನೆಯಲ್ಲಿ, ರಷ್ಯಾದ ರಕ್ಷಣಾ ಉದ್ಯಮ ಮತ್ತು ಸರ್ಕಾರಿ ಏಜೆನ್ಸಿಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. ದೊಡ್ಡ ದೇಶ - ಸಣ್ಣ ಬಜೆಟ್.. [ಟಿಬಿಡಿ].
ಶೂನ್ಯ ಹಂತ - ಡೌನ್ಲೋಡ್. ಎಲ್ಬ್ರಸ್ ಓಎಸ್ ಲಭ್ಯವಾಗಿದೆ ಎಂಬ ಸುದ್ದಿಯು ಅನುರಣನವನ್ನು ಉಂಟುಮಾಡಿತು, ಇದರಿಂದಾಗಿ ವಿತರಣಾ ಸರ್ವರ್ ಡೌನ್ ಆಗಿದೆ. [ಟಿಬಿಡಿ] ಯಾಂಡೆಕ್ಸ್ ಮತ್ತು ಅದನ್ನು ಅಲ್ಲಿಗೆ ಸ್ಥಳಾಂತರಿಸಲು ಯೋಚಿಸಿದ ಎಂಜಿನಿಯರ್ಗೆ ಧನ್ಯವಾದಗಳು. ಹಾಗಾಗಿ ಡೌನ್ಲೋಡ್ ವೇಗ ಉತ್ತಮವಾಗಿದೆ.
ಮೊದಲ ಹಂತದ - ಅನುಸ್ಥಾಪನ. ನಾನು ಅದನ್ನು ಉಚಿತ ಬಳಕೆಗೆ ಲಭ್ಯವಿರುವ ಮೊದಲ ಹೈಪರ್ವೈಸರ್ನಲ್ಲಿ ಸ್ಥಾಪಿಸಿದೆ. ನಾನು ಎರಡು ಕೋರ್ಗಳನ್ನು, RAM ನ ಒಂದೆರಡು ಗಿಗ್ಸ್, ವೀಡಿಯೊಗಾಗಿ 32 MB ಅನ್ನು ನಿಯೋಜಿಸಿದ್ದೇನೆ (ಗ್ರಾಫಿಕಲ್ ಇಂಟರ್ಫೇಸ್ ಇರುತ್ತದೆ, ನಾನು ಭಾವಿಸಿದೆವು). ಡಿಸ್ಕ್ ಎಂದಿನಂತೆ - 32 ಜಿಬಿ.
ನಾನು ಅನುಸ್ಥಾಪನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದೆ. ನಾನು ಅನುಸ್ಥಾಪನಾ ಸೂಚನೆಗಳನ್ನು ಬಳಸಲಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾನು ಅದರ ಬಗ್ಗೆ ಕಾಮೆಂಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. TUI ಅನುಸ್ಥಾಪನ ಇಂಟರ್ಫೇಸ್ ತೀವ್ರವಾಗಿ ಕನಿಷ್ಠವಾಗಿದೆ.
ಸರಿ, ಅದ್ಭುತವಾಗಿದೆ, ನಾವು ಮೌಸ್ ಇಲ್ಲದೆ ಮಾಡಬಹುದು.
ನಾನು ಎರಡನೇ ಪ್ರಯತ್ನದಲ್ಲಿ ಮುಂದಿನ ವಿಂಡೋವನ್ನು ನಿರ್ವಹಿಸಿದೆ. ಡಿಸ್ಕ್ನಿಂದ ಸ್ಥಾಪಿಸುವಾಗ ಡಿಫಾಲ್ಟ್ ಸಾಧನ sr0 [TBD] ಅನ್ನು ಏಕೆ ಆಯ್ಕೆ ಮಾಡಬಾರದು?
CD-ROM ಮೂಲವನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಮುಂದುವರಿಯಿರಿ.
ಸಮಯ ವಲಯವನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ಸಿಸ್ಟಮ್ init ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ನಾನು ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಅರಿತುಕೊಂಡೆ ಮತ್ತು ನಾನು TTY0 ನಿಂದ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇನೆ.
ಸರಿ, ನಂತರ ನಾವು "ಎಲ್ಬ್ರಸ್" ಅನ್ನು ಸಮುದಾಯವಾಗಿ ವರ್ಗೀಕರಿಸೋಣ
ಉಳಿದವು ಬಹುತೇಕ ಮುಖ್ಯವಲ್ಲ: ನಾವು ಎಲ್ಲವನ್ನೂ ಹಾಕುತ್ತೇವೆ ಮತ್ತು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೇವೆ. ದಾರಿಯುದ್ದಕ್ಕೂ, ಕರ್ನಲ್ ಅನ್ನು 3.14.79-13.84 ಬಳಸಲಾಗಿದೆ ಎಂದು ನಾವು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ. ಹಾಂ, ಡೆಬಿಯನ್ 7 3.2 [TBD] ಹೊಂದಿತ್ತು.
ಮುಂದೆ, ಡಿಫಾಲ್ಟ್ ಡಿಸ್ಕ್ ವಿಭಜನೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು... ನಾವು ಎಚ್ಚರಿಕೆಯನ್ನು ನೋಡುತ್ತೇವೆ:
ಹಾಂ, ಹೇಗಾದರೂ ಸ್ವಯಂಚಾಲಿತ ವಿಭಜನೆಯು 32 ಗಿಗ್ ಡಿಸ್ಕ್ನೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ನಿಭಾಯಿಸಲಿಲ್ಲ. ನಾನು ಡಿಸ್ಕ್ ಅನ್ನು ಬದಲಾಯಿಸಲಿಲ್ಲ; "ಆಲ್-ಇನ್-ಒನ್" ಶೈಲಿಯಲ್ಲಿ ಹಸ್ತಚಾಲಿತ ಡಿಸ್ಕ್ ವಿಭಜನೆಯೊಂದಿಗೆ ನಾನು ಅನ್ವೇಷಣೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದೆ. ನಾನು ext3 ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿತ್ತು, ಏಕೆಂದರೆ /boot ext4 ನಲ್ಲಿ ಇರಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಯಾವುದೇ ಘಟನೆಯಿಲ್ಲದೆ ವ್ಯವಸ್ಥೆಯು ಬಂದಿತು.
ಎರಡನೇ ಹಂತ - ಪರ್ಯಾಯಗಳನ್ನು ಹುಡುಕಿ.
ಎರಡನೇ ಡಿಸ್ಕ್ನ ವಿಷಯಗಳ ಮೂಲಕ ಗುಜರಿ ಮಾಡಿದ ನಂತರ, ಇದು ಹೆಚ್ಚುವರಿ ಹೊಂದಿರುವ ರೆಪೊಸಿಟರಿ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ. ಪ್ಯಾಕೇಜುಗಳಲ್ಲಿ. ಮತ್ತು /etc/apt/sources.list ಅನ್ನು ನೋಡಿದಾಗ, ಅದನ್ನು /mnt/cdrom ನಲ್ಲಿ ಅಳವಡಿಸಬೇಕಾಗಿದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ. ಆದರೆ ನನಗೆ /etc/os-release ಕಂಡುಬಂದಿಲ್ಲ. ಆದರೆ 3.0-rc36 ವಿಷಯಗಳೊಂದಿಗೆ /etc/mcst-ಆವೃತ್ತಿ ಇದೆ. 3.0 ಬಹುಶಃ ಆವೃತ್ತಿಯಾಗಿದೆ - ಇದು ಸರಿಹೊಂದುವಂತೆ ತೋರುತ್ತದೆ, ಆದರೆ rc36? ಸಾಮಾನ್ಯವಾಗಿ, ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಸಾಫ್ಟ್ವೇರ್ ಈ ವಿತರಣೆಯನ್ನು ಶಾಸ್ತ್ರೀಯ ರೀತಿಯಲ್ಲಿ ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
ಮೂಲ ವಿಭಾಗದಲ್ಲಿ, /mcst ಡೈರೆಕ್ಟರಿಯು ನನ್ನ ಕಣ್ಣನ್ನು ಸೆಳೆಯುತ್ತದೆ ಮತ್ತು ಅಲ್ಲಿ, ಮುಳುಗುತ್ತಿರುವ ಹೃದಯದೊಂದಿಗೆ, ನಾನು /mcst/backup ಅನ್ನು ಕಂಡುಹಿಡಿದಿದ್ದೇನೆ. ಅಂದರೆ, ಬ್ಯಾಕಪ್ ಟೂಲ್ ಇದೆ, ಮತ್ತು ಅದನ್ನು ಸಿಸ್ಟಮ್ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ! "ಅದ್ಭುತ," ನಾನು ಯೋಚಿಸಿದೆ, "ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ನೋಡೋಣ!"
ಫೈಲ್ ನಕಲು ಮಾಡುವಿಕೆಯನ್ನು ಒದಗಿಸುವ 4Kb ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ /mcst/bin/backup ಇದೆ ಎಂದು ಅದು ಬದಲಾಯಿತು. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ - /mcst/backup ಡೈರೆಕ್ಟರಿಗೆ. ಮೂಲ ಕೋಡ್ನಲ್ಲಿ ನಾನು rsync ಆಜ್ಞೆಯನ್ನು ನೋಡಲು ನಿರೀಕ್ಷಿಸಿದ್ದೇನೆ, ಆದರೆ ಇದು ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿಲ್ಲ. ಸ್ಕ್ರಿಪ್ಟ್ ಸರಳವಾಗಿ ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸುತ್ತದೆ. ಆಜ್ಞೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
cp -rpdx <file backup> <file>
ಸಂಪೂರ್ಣ ಫೈಲ್ /mcst/bin/backup ಇಲ್ಲಿದೆಸಂಪೂರ್ಣವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಮಾತ್ರ ಸಾಕಾಗುವುದಿಲ್ಲ ಎಂದು ನಾನು ನಿಮಗೆ ಈಗಿನಿಂದಲೇ ಎಚ್ಚರಿಸುತ್ತೇನೆ. ಇದು /mcst/bin/source ನಿಂದ ಕಾರ್ಯಗಳನ್ನು ಎಳೆಯುತ್ತದೆ, ಇದು ಕಾರ್ಯಗಳ ಲೈಬ್ರರಿಯಂತಿದೆ. ನಾನು ಅದನ್ನು ಸೇರಿಸಲಿಲ್ಲ (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
ಆದರೂ, ಬಹುಶಃ ನನಗೆ ಏನಾದರೂ ಅರ್ಥವಾಗಲಿಲ್ಲವೇ? ಬಹುಶಃ ಯಾರಾದರೂ ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ವಿವರಿಸಬಹುದು: ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಸುರಕ್ಷಿತ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಡೇಟಾ ಬ್ಯಾಕಪ್ ಅನ್ನು ಹೇಗೆ ಖಚಿತಪಡಿಸುತ್ತದೆ? [ಟಿಬಿಡಿ]
rsync, ಮೂಲಕ, ಆಡ್-ಆನ್ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ. ಭಂಡಾರಗಳು. ಆವೃತ್ತಿ 3.1.3. rsync ಅನ್ನು ಬಳಸುವುದು ಇನ್ನೂ /mcst/bin/backup ಅಪ್ಲಿಕೇಶನ್ಗೆ ಉತ್ತಮ ಪರ್ಯಾಯವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ಮುಂದೆ, ನಾನು ಹೊಸದನ್ನು ಹಾಕಲು ನಿರ್ಧರಿಸಿದೆ ಲಿನಕ್ಸ್ಗಾಗಿ ವೀಮ್ ಏಜೆಂಟ್. ಯಾರಾದರೂ ಕೇಳುತ್ತಾರೆ: "ವೀಮ್ ಮತ್ತು ಆಮದು ಪರ್ಯಾಯಕ್ಕೂ ಇದಕ್ಕೂ ಏನು ಸಂಬಂಧವಿದೆ?" ಹೌದು, ಇದು ರಿಜಿಸ್ಟರ್ನಲ್ಲಿಲ್ಲ, ಆದರೆ ಇದು ಎಫ್ಎಸ್ಟಿಇಸಿಯಿಂದ ಪ್ರಮಾಣೀಕರಿಸಲ್ಪಟ್ಟಿದೆ, ಅಂದರೆ ಪರ್ಯಾಯಗಳ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ ಅದನ್ನು ಬಳಸಬಹುದು. ನಿಂದ ಪರ್ಯಾಯಗಳಲ್ಲಿ ಹದಿನೈದು ನಿಮಿಷಗಳನ್ನು ಕಳೆಯುತ್ತಿದ್ದಾರೆ
ಹಂತ ಮೂರು - Linux ಗಾಗಿ Veeam ಏಜೆಂಟ್ ಸ್ಥಾಪನೆ.
ಆದ್ದರಿಂದ, ಲಿನಕ್ಸ್ಗಾಗಿ ವೀಮ್ ಏಜೆಂಟ್ ಎರಡು ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ವೀಮ್ಸ್ನ್ಯಾಪ್ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ (ಮೂಲಕ,
ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವಲ್ಲಿ ಒಂದು ಸಣ್ಣ ಸಮಸ್ಯೆ ಇದೆ - ಕಾಣೆಯಾದ dkms ಪ್ಯಾಕೇಜ್. ಇದು ಮೂಲದಿಂದ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಸೇವೆಯಾಗಿದೆ. ನಿಯಮದಂತೆ, ಇದು ಎಲ್ಲಾ ಡೆಬ್ ವಿತರಣೆಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ. ನಾನು ಅದನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಡೆಬ್ ರೆಪೊಸಿಟರಿಯಿಂದ ಡೌನ್ಲೋಡ್ ಮಾಡಬೇಕಾಗಿತ್ತು. ನನಗೆ ಸಂತೋಷವನ್ನುಂಟು ಮಾಡಿದ ಒಂದು ವಿಷಯವೆಂದರೆ ಪ್ಯಾಕೇಜ್ ವಾಸ್ತುಶಿಲ್ಪದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಇದು ಸ್ಥಳೀಯವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಲಭ್ಯವಿರುವ ಪ್ಯಾಕೇಜುಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಏಕೆ ಸೇರಿಸಲಾಗಿಲ್ಲ, ಅಥವಾ ಬದಲಿಗೆ, ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿಲ್ಲ [TBD]? ಬಹುಶಃ ಯಾರೂ ಯಾವುದೇ MCST ಅಲ್ಲದ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ನಿರ್ಮಿಸಬಾರದು ಮತ್ತು ಚಲಾಯಿಸಬಾರದು ಎಂದು ಊಹಿಸಲಾಗಿದೆ. ಇಲ್ಲಿ ನಿಜವಾಗಿಯೂ ವ್ಯತ್ಯಾಸವಿದೆ - ಲಿನಕ್ಸ್-ಹೆಡರ್ಗಳು ಇರುವುದರಿಂದ. ಅಂದರೆ, ಮಾಡ್ಯೂಲ್, ಬಯಸಿದಲ್ಲಿ, ಕೈಯಿಂದ ಜೋಡಿಸಬಹುದು ಮತ್ತು ಯಂತ್ರವು ಪ್ರಾರಂಭವಾದಾಗ ಸ್ಕ್ರಿಪ್ಟ್ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಬಹುದು. ನೀವು MCST [TBD] ನಿಂದ ಆಗಾಗ್ಗೆ ನವೀಕರಣಗಳನ್ನು ನಿರೀಕ್ಷಿಸಬಾರದು ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
"ಸರಿ, ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ - ಕಠಿಣವಾದ ಭಾಗವು ಮುಗಿದಿದೆ," ನಾನು ಯೋಚಿಸಿದೆ... deb ರೆಪೊಸಿಟರಿಗಾಗಿ veeam ಪ್ಯಾಕೇಜ್ amd64 ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ, ಮತ್ತು Elbrus OS x86_64 [TBD] ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಹೊಂದಿದೆ. ವ್ಯತ್ಯಾಸ, ಸಹಜವಾಗಿ, ಹೆಸರಿನಲ್ಲಿ ಮಾತ್ರ, ಆದರೆ ಈ ವ್ಯತ್ಯಾಸವು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಡೆಬ್ ರೆಪೊಸಿಟರಿಗಳಿಂದ ಬಹುತೇಕ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಎಲ್ಬ್ರಸ್ ಓಎಸ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ. ಈ ಕಿರಿಕಿರಿ ತಪ್ಪುಗ್ರಹಿಕೆಯನ್ನು ಸರಳವಾಗಿ ತೆಗೆದುಹಾಕಬಹುದು: ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಡಿಸ್ಅಸೆಂಬಲ್ ಮಾಡಿ, ವಾಸ್ತುಶಿಲ್ಪದ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ ಮತ್ತು ಅದನ್ನು ಮತ್ತೆ ಒಟ್ಟಿಗೆ ಸೇರಿಸಿ. ಅದನ್ನು ಹೇಗೆ ಮಾಡುವುದು
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
ಮತ್ತೊಂದು ಸಮಸ್ಯೆ ಅವಲಂಬನೆಯಾಗಿದೆ. ಅಗತ್ಯ ಫೈಲ್ಗಳು ಇದ್ದಂತೆ ತೋರುತ್ತಿದೆ, ಆದರೆ ಪ್ಯಾಕೇಜ್ಗಳು ಇಲ್ಲ. ಪ್ಯಾಕೇಜುಗಳ ಹೆಸರುಗಳು ಅವುಗಳ "ಆಮದು ಮಾಡಿಕೊಂಡ ಅನಲಾಗ್ಗಳಿಂದ" ಭಿನ್ನವಾಗಿವೆ ಎಂದು ಅನಿಸಿಕೆ. ಬಹುಶಃ ಗ್ರಂಥಾಲಯಗಳನ್ನು ವಿಭಿನ್ನವಾಗಿ ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ. ನಾನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಹೋಗಲಿಲ್ಲ, ಬಹುತೇಕ ಎಲ್ಲಾ ಅವಲಂಬನೆಗಳನ್ನು ತೆಗೆದುಹಾಕಿದೆ ಮತ್ತು ಅನುಸ್ಥಾಪನೆಯು ಮುಂದುವರೆಯಿತು.
ನಂತರ ಸೇವೆ ಪ್ರಾರಂಭದ ಕೋಡ್ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು ಹೊರಹೊಮ್ಮಿದವು. ಸ್ಕ್ರಿಪ್ಟ್ /lib/init/vars.sh ಕಾಣೆಯಾಗಿದೆ. ಕೆಲವು ಕಾರಣಗಳಿಗಾಗಿ, ಎಲ್ಬ್ರಸ್ ಅದು ಇಲ್ಲದೆ ನಿರ್ವಹಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನಾವು ಅದನ್ನು ಸಹ ತೆಗೆದುಹಾಕುತ್ತೇವೆ. ಮುಂದೆ, ನಾವು ಸಂದೇಶದ ಔಟ್ಪುಟ್ ಕಾರ್ಯವನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿತ್ತು: log_daemon_msg ಮತ್ತು log_end_msg ಕಾರ್ಯಗಳು ಕಾಣೆಯಾಗಿವೆ. /lib/lsb/init-functions ಫೈಲ್ನಲ್ಲಿ ಸುತ್ತಾಡಿದ ನಂತರ, ನಾನು log_success_msg ಕಾರ್ಯವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ - ಇದು ಪ್ರಯೋಗಗಳಿಗೆ ನಮಗೆ ಉತ್ತಮವಾಗಿರುತ್ತದೆ. ಮೂಲಕ, /lib/lsb/init-functions ಫೈಲ್ನಲ್ಲಿ “# ಮೂಲ SuSE`s rc ಕಾರ್ಯಗಳು” ಎಂಬ ಸಾಲು [TBD] ಫೈಲ್ನ ಪ್ರಾರಂಭದಲ್ಲಿದೆ.
ಫೈಲ್ನೊಂದಿಗೆ ಪ್ಯಾಕೇಜ್ನ ಇಂತಹ ಒರಟು ಪ್ರಕ್ರಿಯೆಯ ನಂತರ, NFS ಹಂಚಿಕೆಯಲ್ಲಿ ಸಂಪೂರ್ಣ-ಯಂತ್ರ ಬ್ಯಾಕ್ಅಪ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪ್ರಾರಂಭಿಸಲಾಯಿತು. ಬ್ಯಾಕಪ್ ಮೌಂಟ್ ಕೂಡ ಯಶಸ್ವಿಯಾಗಿದೆ. ಆದ್ದರಿಂದ, ಯಾವುದೇ ಕಟ್ಟುಪಾಡುಗಳಿಲ್ಲದೆ "ಅಂತೆಯೇ" ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಎಲ್ಬ್ರಸ್ PDK ಯೊಂದಿಗೆ ಯಂತ್ರವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು, Linux ಗಾಗಿ Veeam ಏಜೆಂಟ್ ಖಂಡಿತವಾಗಿಯೂ ಸೂಕ್ತವಾಗಿದೆ ಎಂದು ನಾನು ನಂಬುತ್ತೇನೆ. ಫೈಲ್ನೊಂದಿಗೆ ಎಲ್ಲಾ ಮಾರ್ಪಾಡುಗಳ ನಂತರವೂ ಸಹ.
ಸಹಜವಾಗಿ, ಎಲ್ಬ್ರಸ್ ಓಎಸ್ ವಿತರಣಾ ಕಿಟ್ ಅನ್ನು ಔಪಚಾರಿಕವಾಗಿ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು ಬೆಂಬಲಿತವಾದವುಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಲಿನಕ್ಸ್ಗಾಗಿ ವೀಮ್ ಏಜೆಂಟ್ ಅನ್ನು QA ವಿಭಾಗವು ಅದರ ಮೇಲೆ ಪರೀಕ್ಷಿಸಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳು. ಯಾವುದೇ ಬೆಂಬಲವಿಲ್ಲ (ಕನಿಷ್ಠ ಲೇಖನದ ಪ್ರಕಟಣೆಯ ಸಮಯದಲ್ಲಿ).
ಜೂನ್ 334, 29.06.2017 ರ ಆದೇಶ ಸಂಖ್ಯೆ XNUMX ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವವರಿಗೆ ಲೇಖನವು ಉಪಯುಕ್ತವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ನಿಮಗೆ ನನ್ನದು... [TBD].
ಮೂಲ: www.habr.com