Bug #515
(возможно)Лишние действия в /etc/init.d/calculate
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