Bug #515

(возможно)Лишние действия в /etc/init.d/calculate

Added by Михаил Гагауз over 11 years ago. Updated over 11 years ago.

Status:Closed Start:10/14/2012
Priority:Low Due date:
Assignee:Alexander Tratsevskiy % Done:

0%

Category:Calculate Utilities Spent time: -
Target version:-
Votes: 0

Description

Предлагаю несколько упрощений файла /etc/init.d/calculate

 1 
--- /mnt/scratch/calculate/etc/init.d/calculate 2012-10-11 07:03:25.000000000 +0300
2
+++ /mnt/scratch/delta/etc/init.d/calculate 2012-10-13 23:15:16.548271450 +0300
3
@@ -27,11 +27,7 @@
4 5 is_already_install() 6 { 7
- local pkg=$1
8
- local category=`echo $pkg | cut -d\/ -f1`
9
- local pkg=`echo $pkg | cut -d\/ -f2`
10
- local categoryPath=/var/db/pkg/${category}
11
- [[ -e $categoryPath ]] && ls $categoryPath | grep -q "^$pkg"
12
+ ls -ld /var/db/pkg/$1* &>/dev/null || false
13 } 14 15 install_pkg() 16
@@ -139,7 +135,6 @@
17 local roottype=`variable_value os_root_type` 18 if [[ $roottype == "livecd" ]] 19 then 20
- touch /* /bin/* /sbin/*
21 udevadm trigger --action="add" --subsystem-match=net 22 fi

Первая часть - в пяти строках проводится элементарная проверка на наличие файла. Эту же проверку можно сделать одной строкой.

Вторая часть - я вообще не могу понять, для чего touch-ить исполняемые файлы на livecd.

Проблема в том, что копирование этих файлов в workspace создает проблемы при загрузке в scratch-режиме.
При обновлении базовых библиотек(и соответственно зависящих от них утилит) многие исполняемые файлы в могут delta измениться, но в работающей системе будут доступны старые версии, с уже побитыми зависимостями.

Единственное разумное объяснение, которое я нашел - это чтоб подгрузить исполняемые файлы в память, для ускорения доступа к ним в последующем (хз зачем правда)
Но это проще (и наверно правильней) сделать командой:
find /bin/ /sbin/ -type f -exec cat \{\} + >/dev/null
При этом, при обновлении в /mnt/builder и выходе из cl-builder режима, при перемонтировании корня, вышеописанная проблема не возникнет.

History

Updated by Mikhail Hiretsky over 11 years ago

ls -ld /var/db/pkg/$1* &>/dev/null || false

Посмотрите сколько пакетов sys-apps/calculate будет установлено в системе.

Вторая часть - я вообще не могу понять, для чего touch-ить исполняемые файлы на livecd.

Для PXE, при передёргивании сети при загрузке иначе может подвиснуть.

Updated by Mikhail Hiretsky over 11 years ago

  • Status changed from New to Closed

Also available in: Atom PDF

Thank you!