From: php-coder <php-coder@altlinux.ru> To: community@altlinux.ru Cc: Vitaly Lipatov <lav@etersoft.ru> Subject: Предложения по update_kernel_modules.sh (was: Re: [Comm] скрипт обновления ядер/модулей) Date: Tue, 7 Jun 2005 20:34:01 +0700 Message-ID: <20050607133401.GA4106@mycomp.mydomain> (raw) In-Reply-To: <20050505185218.GQ22379@osdn.org.ua> --- Michael Shigorin 2005-05-05 21:52:18 +0300 +++ php-coder 2005-05-26 18:50:44 +0700 MS> Пользуйтесь скриптом Виталика Липатова (прилагаю). Пока им не пользовался (потому что ядро и два модуля могу и вручную обновить), но вот просто к коду повнимательнее присмотрелся ;) MS> # Тип ядра (получаем из текущего запущенного) MS> TYPESYS=`uname -r | cut -d "-" -f2,3` MS> test -z "$1" || TYPESYS=$1 Может быть так? test -z "$1" || TYPESYS=`uname -r | cut -d- -f2,3` _Для_универсальности_ не будет лишней также проверка на ванильное ядро или самосборное... MS> SUDO=sudo MS> if [ "$UID" == "0" ] MS> then MS> SUDO= MS> fi Так тоже работает: [ "$UID" != "0" ] && SUDO=sudo || SUDO= MS> LISTKER=`$SUDO apt-get install kernel-image-$TYPESYS -y | grep "\#" | grep -v "\["` MS> LISTKER=`echo $LISTKER | cut -d " " -f 1 | head -n 1` Если я правильно понял цель к которой ведут эти две строчки чуть выше, то, думаю, что можно это все записать намного короче: LISTKER=`$SUDO apt-get install -y kernel-image-$TYPESYS | \ grep -e "^\ "` Т.е. смысл в том, что пакет, который должен установиться всегда находится в строке начинающейся с пробела. Других подобных строк я не встретил. MS> echo "Install new kernel $LISTKER" MS> $SUDO apt-get install $LISTKER -y хм... значит чуть выше ядро-то и не устанавливалось? В таком случае может использовать ключ --simulate для этого? (проглядывая man apt-get) Кстати, еще может быть полезны опция --quiet К примеру, она опускает вывод индикаторов хода выполнения задачи. Насколько, я понял вы для этого использовали grep -v "\["? MS> ALLMODULES=`apt-cache pkgnames kernel-modules | sed -e "s/kernel-modules-//g" |\ MS> sed -e "s/-.*$//g" | sort | uniq | grep -v kernel` Тут, кажется, есть ошибка. Не все модули обновляются :( К примеру, от drm-via-2.6.10-wks26-up-alt5 и drm-vs-smp после "обрезания" останется лишь drm. А потом, после uniq, останется лишь запись drm и установится лишь drm. А что с drm-via? Я так понял, что ничего :( Так вот сходу решения не нашел. Зато есть несколько идей: - вместо прожорливого sed -e 's/kernel-modules-//g' можно использовать cut: cud -c 16- Т.е. мы мерем все символы, начиная с шестнадцатого. Вот доказательства ;) sed -e "s/kernel-modules-//g" 0,03s user 0,00s system 1% cpu 1,707 total cut -c 16- 0,00s user 0,01s system 0% cpu 1,708 total Насколько, я понял cut быстрее.. - если уже использовать sed, то хотя бы записать это короче: sed -e 's/kernel-modules-//g;s/-.*$//g' - sort | uniq лучше заменить на sort -u (эффект тот же) - вот еще идея! Зачем искать все возможные модули? Может лучше только те, которые для используемого ядра? Тогда и меньше будет обрабатываемый список: [c0der@mycomp ~]$ apt-cache pkgnames kernel-modules WC 1304 [c0der@mycomp ~]$ apt-cache pkgnames G std-up WC 145 Т.е. искать модули содержащие в себе $TYPESYS Это у меня предложение такое... :-) Хотелось бы услышать мнение автора ;-) Поэтому даю ему, на всякий случай, Сс: Bye! -- + php-coder + php-coder[at]altlinux[dot]ru
next prev parent reply other threads:[~2005-06-07 13:34 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2005-05-04 7:24 [Comm] xorg, nvidia_glx_common Владимир Гусев 2005-05-04 14:26 ` [Comm] Administrativia: xorg из Sisyphus -- offtopic здесь и сейчас Michael Shigorin 2005-05-05 8:01 ` Владимир Гусев 2005-05-05 18:52 ` [Comm] скрипт обновления ядер/модулей (was: xorg из Sisyphus -- offtopic) Michael Shigorin 2005-05-06 15:52 ` Владимир Гусев 2005-05-06 17:54 ` Andrey Rahmatullin 2005-05-06 20:57 ` Владимир Гусев 2005-05-07 3:58 ` Andrey Rahmatullin 2005-05-10 10:43 ` [Comm] " Michael Shigorin 2005-05-10 13:44 ` Andrey Rahmatullin 2005-06-07 13:34 ` php-coder [this message] 2005-05-05 9:02 ` [Comm] Administrativia: xorg из Sisyphus -- offtopic здесь и сейчас Владимир Гусев 2005-05-05 18:55 ` [Comm] " Michael Shigorin 2005-05-12 9:38 ` [Comm] Кошерно ли ? [was] " Andrey Konovalov aka Krapa 2005-05-12 9:55 ` Genix 2005-05-12 10:15 ` Andrey Konovalov aka Krapa 2005-05-12 10:24 ` Genix 2005-05-12 11:18 ` Andrey Konovalov aka Krapa 2005-05-12 11:27 ` Michael Isachenkov 2005-05-12 11:28 ` Genix 2005-05-12 11:25 ` Sergey Lizogub 2005-05-12 13:19 ` [Comm] что есть кошерно применительно к репозиториям и пакетам (was: Кошерно ли?) Michael Shigorin 2005-05-13 9:51 ` Владимир Гусев 2005-05-13 17:36 ` [Comm] " Michael Shigorin 2005-05-12 13:09 ` [Comm] Re: Кошерно ли? Michael Shigorin 2005-05-12 12:23 ` [Comm] о бэкпортах и что куда ближе (was: Кошерно ли?) Michael Shigorin 2005-05-04 16:59 ` [Comm] xorg, nvidia_glx_common Alex Yustasov 2005-05-04 20:19 ` [Comm] " Michael Shigorin 2005-05-04 20:58 ` Alex Yustasov 2005-05-04 21:03 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20050607133401.GA4106@mycomp.mydomain \ --to=php-coder@altlinux.ru \ --cc=community@altlinux.ru \ --cc=lav@etersoft.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git