Commit 7e19870e07204fc7f7ae9980a837892d960d8428

Authored by edulucio
1 parent aafcfe1c
Exists in master

Várias melhorias e correções! By Questor

LBIndex.tar.gz
No preview for this file type
ez_i.bash
... ... @@ -1257,7 +1257,7 @@ f_srv_memory() {
1257 1257 : 'Informar sobre a memória do servidor.
1258 1258  
1259 1259 Returns:
1260   - F_SRV_MEMORY_R (int): Quantidade de memória RAM do servidor em KBs.
  1260 + F_SRV_MEMORY_R (int): Quantidade de memória RAM do servidor em KB.
1261 1261 '
1262 1262  
1263 1263 f_get_stderr_stdout "cat /proc/meminfo"
... ... @@ -1268,6 +1268,148 @@ f_srv_memory() {
1268 1268 F_SRV_MEMORY_R=$F_STR_TRIM_R
1269 1269 }
1270 1270  
  1271 +F_GET_PERCENT_FROM_R=0
  1272 +f_get_percent_from() {
  1273 + : 'Obter percentagem de um valor informado.
  1274 +
  1275 + Args:
  1276 + VAL_GET_PERCENT_P (int): Valor a partir do qual será obtida a
  1277 + percentagem.
  1278 + PERCENT_VAL_P (int): Valor de percentagem a ser obtido.
  1279 + REM_FLOAT_POINT_P (Optional[int]): 0 - Não remove ponto flutuante; 1 -
  1280 + remove ponto flutuante (se o valor obtido for maior ou igual a 1).
  1281 + Padrão 1.
  1282 +
  1283 + Returns:
  1284 + F_GET_PERCENT_FROM_R (int): Porcentagem obtida.
  1285 + '
  1286 +
  1287 + VAL_GET_PERCENT_P=$1
  1288 + PERCENT_VAL_P=$2
  1289 + REM_FLOAT_POINT_P=$3
  1290 + if [ -z "$REM_FLOAT_POINT_P" ] ; then
  1291 + REM_FLOAT_POINT_P=1
  1292 + fi
  1293 +
  1294 + # NOTA: A estratégia abaixo foi utilizada pq o bash por padrão não
  1295 + # permite cálculo de ponto flutuante! By Questor
  1296 + F_GET_PERCENT_FROM_R=$(awk '{printf("%.5f\n",($1*($2/100)))}' <<<" $VAL_GET_PERCENT_P $PERCENT_VAL_P ")
  1297 +
  1298 + F_GET_PERCENT_FROM_R=${F_GET_PERCENT_FROM_R}
  1299 + if [ ${REM_FLOAT_POINT_P} -eq 1 ] ; then
  1300 +
  1301 + # NOTA: Técnica para comparar valores com ponto flutuante! By Questor
  1302 + if [ $(awk '{printf($1 >= $2) ? 1 : 0}' <<<" $VAL_GET_PERCENT_P 1 ") -eq 1 ] ; then
  1303 +
  1304 + # NOTA: A estratégia abaixo foi utilizada para arredondar o valor
  1305 + # (remover o ponto flutuante)! By Questor
  1306 + F_GET_PERCENT_FROM_R=${F_GET_PERCENT_FROM_R%\.*}
  1307 + fi
  1308 + fi
  1309 +}
  1310 +
  1311 +F_BYTES_N_UNITS_R=0
  1312 +f_bytes_n_units() {
  1313 + : 'Converter bytes entre suas diversas unidades.
  1314 +
  1315 + Args:
  1316 + F_VAL_TO_CONV (int): Valor em bytes a se convertido.
  1317 + F_FROM_UNIT (str): Unidade em que o valor está (B, KB, MB, GB, TB e PB).
  1318 + F_TO_UNIT (str): Unidade para a qual se quer converter o valor (B, KB,
  1319 + MB, GB, TB e PB).
  1320 +
  1321 + Returns:
  1322 + F_BYTES_N_UNITS_R (int/float): Valor convertido para a unidade desejada.
  1323 + '
  1324 +
  1325 + # NOTE:
  1326 + # Unit Equivalent
  1327 + # 1 kilobyte (KB) 1,024 bytes
  1328 + # 1 megabyte (MB) 1,048,576 bytes
  1329 + # 1 gigabyte (GB) 1,073,741,824 bytes
  1330 + # 1 terabyte (TB) 1,099,511,627,776 bytes
  1331 + # 1 petabyte (PB) 1,125,899,906,842,624 bytes
  1332 + # By Questor
  1333 +
  1334 + F_VAL_TO_CONV=$1
  1335 + F_FROM_UNIT=$2
  1336 + F_TO_UNIT=$3
  1337 +
  1338 + CONV_LOOPS=0
  1339 + UNIT_FACTOR_0=0
  1340 + while [ ${CONV_LOOPS} -le 1 ] ; do
  1341 + UNIT_FACTOR=0
  1342 + if [ ${CONV_LOOPS} -eq 0 ] ; then
  1343 + UNIT_NOW=$F_FROM_UNIT
  1344 + else
  1345 + UNIT_NOW=$F_TO_UNIT
  1346 + fi
  1347 + case "$UNIT_NOW" in
  1348 + B)
  1349 + UNIT_FACTOR=0
  1350 + ;;
  1351 + KB)
  1352 + UNIT_FACTOR=1
  1353 + ;;
  1354 + MB)
  1355 + UNIT_FACTOR=2
  1356 + ;;
  1357 + GB)
  1358 + UNIT_FACTOR=3
  1359 + ;;
  1360 + TB)
  1361 + UNIT_FACTOR=4
  1362 + ;;
  1363 + PB)
  1364 + UNIT_FACTOR=5
  1365 + ;;
  1366 + esac
  1367 + if [ ${CONV_LOOPS} -eq 0 ] ; then
  1368 + UNIT_FACTOR_0=$UNIT_FACTOR
  1369 + else
  1370 + UNIT_FACTOR=$(awk '{printf($1-$2)}' <<<" $UNIT_FACTOR_0 $UNIT_FACTOR ")
  1371 + F_VAL_TO_CONV=$(awk '{printf("%.5f\n",($1*(1024^$2)))}' <<<" $F_VAL_TO_CONV $UNIT_FACTOR ")
  1372 + fi
  1373 + ((CONV_LOOPS++))
  1374 + done
  1375 +
  1376 + # NOTE: Remover zeros denecessários (Ex.: 0.05000 -> 0.05)!
  1377 + F_VAL_TO_CONV=$(echo $F_VAL_TO_CONV | sed 's/0\{1,\}$//')
  1378 +
  1379 + # NOTE: Remover ponto flutuante quando não necessário (Ex.: 5.00000 -> 5)!
  1380 + if [ $(echo $F_VAL_TO_CONV | awk '$0-int($0){print 0;next}{print 1}') -eq 1 ] ; then
  1381 + F_VAL_TO_CONV=${F_VAL_TO_CONV%\.*}
  1382 + fi
  1383 +
  1384 + F_BYTES_N_UNITS_R=$F_VAL_TO_CONV
  1385 +}
  1386 +
  1387 +F_PROCS_QTT_R=0
  1388 +f_procs_qtt() {
  1389 + : 'Determine the amount of processes on a server.
  1390 +
  1391 + Args:
  1392 + F_MULT_FACTOR (Optional[int]): Multiplying factor over the number of
  1393 + processes on the server. Default 1.
  1394 +
  1395 + Returns:
  1396 + F_PROCS_QTT_R (int): Number of server processes multiplied by a factor
  1397 + if informed.
  1398 + '
  1399 +
  1400 + F_MULT_FACTOR=$1
  1401 + if [ -z "$F_MULT_FACTOR" ] ; then
  1402 + F_MULT_FACTOR=1
  1403 + fi
  1404 + f_get_stderr_stdout "nproc"
  1405 + if [[ $F_GET_STDERR_R == "" ]]; then
  1406 + F_PROCS_QTT_R=$(( F_GET_STDOUT_R * F_MULT_FACTOR ))
  1407 + else
  1408 + f_enter_to_cont "An error occurred when trying to determine an appropriate amount of processes to use on this server! ERROR: \"$F_GET_STDERR_R$F_GET_STDOUT_R\"."
  1409 + f_error_exit
  1410 + fi
  1411 +}
  1412 +
1271 1413 # < --------------------------------------------------------------------------
1272 1414  
1273 1415 # > --------------------------------------------------------------------------
... ...
install.bash
... ... @@ -25,7 +25,7 @@ LBI - LBIndex Installer
25 25 EOF
26 26  
27 27 read -d '' VERSION_F <<"EOF"
28   -0.1.1.0
  28 +0.1.2.0
29 29 EOF
30 30  
31 31 # NOTE: Para versionamento usar "MAJOR.MINOR.REVISION.BUILDNUMBER"!
... ... @@ -751,13 +751,13 @@ f_inst_lib() {
751 751 f_yes_no "Install the LIB - liblightbase?"
752 752 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
753 753 EZ_I_SKIP_ON_V=$FAST_INST
754   - f_inst_lib_py_packs 1
755 754 f_chk_by_path_hlp "$BASE_INST_DIR_V/$VE_2_X/src/liblightbase" "d" "\"liblightbase\" already installed in \"$BASE_INST_DIR_V/$VE_2_X/src\"!"
756 755 F_BAK_MD_R=1
757 756 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
758 757 f_ez_mv_bak "$BASE_INST_DIR_V/$VE_2_X/src/liblightbase" "Backup old version and update? (\"y\" recommended)"
759 758 fi
760 759 if [ ${F_BAK_MD_R} -eq 1 ] ; then
  760 + f_inst_lib_py_packs 1
761 761 cd "$SCRIPTDIR_V"
762 762 tar -zxvf liblightbase.tar.gz
763 763 mv "$SCRIPTDIR_V/liblightbase" "$BASE_INST_DIR_V/$VE_2_X/src/"
... ...
liblightbase.tar.gz
No preview for this file type
py-packs-LBIndex.bash
... ... @@ -18,7 +18,7 @@ if [ -z &quot;$BASE_INST_DIR_V&quot; ] ; then
18 18 BASE_INST_DIR_V="/usr/local/lb"
19 19  
20 20 QUESTION_F="Enter the installation directory.
21   - Use empty for \"$BASE_INST_DIR_V\"!"
  21 +Use empty for \"$BASE_INST_DIR_V\"!"
22 22  
23 23 f_get_usr_input "$QUESTION_F" 1
24 24 QUESTION_F=""
... ...
py-packs-liblightbase.bash
... ... @@ -18,7 +18,7 @@ if [ -z &quot;$BASE_INST_DIR_V&quot; ] ; then
18 18 BASE_INST_DIR_V="/usr/local/lb"
19 19  
20 20 QUESTION_F="Enter the installation directory.
21   - Use empty for \"$BASE_INST_DIR_V\"!"
  21 +Use empty for \"$BASE_INST_DIR_V\"!"
22 22  
23 23 f_get_usr_input "$QUESTION_F" 1
24 24 QUESTION_F=""
... ...