zed.0xff.me
Gentoo: nemerge (удобный скрипт для установки обновлений)
Наверное, у всех есть свой любимый способ обновления установленных пакетов в Gentoo.
Возможно, у кого-то еще нет.
Возможно, это запуск каждый раз “emerge -Nutva —deep —with-bdeps y world”, или чего-то подобного.
Прилагаемый скрипт призван несколько сократить синтаксис команды обновления до состояния достаточно легкой запоминаемости и набираемости.
Предлагаю назвать его “nemerge” и положить в ~/bin
или другое удобное для вас место :)
Скрипт поддерживает два ключа запуска:
—yes – автоматически отвечать “да” на запрос emerge “Would you like to merge these packages? [Yes/No]”
—sync – перед установкой обновить portage и, если установлен, layman
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#!/bin/sh # "nemerge" script from http://zed.0xff.me/nemerge # call me with "-y" (or --yes ) to auto-merge, without confirmations # call me with "-s" (or --sync) to sync a portage tree (and layman, if installed) before updating # call me with both to auto sync & update ARGS="" DO_SYNC=0 DO_AUTO=0 if [ `whoami` != "root" -a -x /usr/bin/sudo ]; then SUDO_CMD="/usr/bin/sudo" else SUDO_CMD="" fi for v in "$@"; do if [ $v = "-s" -o $v = "--sync" ]; then DO_SYNC=1 elif [ $v = "-y" -o $v = "--yes" ]; then DO_AUTO=1 elif [ $v = "-sy" -o $v = "-ys" ]; then DO_AUTO=1 DO_SYNC=1 else ARGS="${ARGS} $v" fi done if [ $DO_SYNC -eq 1 ]; then if [ -x /usr/bin/layman ]; then echo "[.] synching layman.." $SUDO_CMD /usr/bin/layman -S fi echo "[.] synching portage.." $SUDO_CMD emerge --sync fi if [ $DO_AUTO -eq 1 ]; then echo "[.] merging automatically.." $SUDO_CMD emerge -Nutv --deep --with-bdeps y $ARGS world else echo "[.] merging interactively.." $SUDO_CMD emerge -Nutva --deep --with-bdeps y $ARGS world fi |