просмотр категории

  1. Исправлены ошибки
  2. Скрипт go.get_new_version переименован в go.get
  3. go.get_new_version более не будет обновляться, актуальным теперь считается go.get

Скачать последнюю версию go.get

Я как человек ленивый до выполнения рутинных задач, и мне лень каждый раз ходить на https://golang.org/dl/ за новой версией и как-то отслеживать новую версию, потом еще производить манипуляции с установкой, сделал несложный скрипт который значительно для меня упрощает жизнь.

Что нужно знать о работе скрипта.

  1. Скрипт работает с Linux версией Go
  2. В нем есть переменная GOWORK_PATH которая определяет где у вас лежит goфарш, она редактируемая, то есть вы смело ее можете изменить не нарушив тем самым работу скрипта.

Мой profile
export GOROOT=$HOME/DEV/go-pack/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/DEV/go-pack/Go
export PATH=$PATH:$GOPATH/bin



В заключение.
В моем случае все лежит в одной папке, где сам go и его plugins, тобишь оное не размазано по системе и имеет компактный вид, в моем случае все это хранится в Mercurial, да да не Git, сложилось так что я использую Mercurial :)
Даже если мне грозит снос системы, после свежей установки, мне достаточно стянуть репу и все готов к работе.

Актуальную версию скрипта всегда можно скачать по ссылке

Простенький и незатейливый скрипт позволяет быстро создать и уничтожить chroot окружение.

#!/bin/sh

# VERSION 0.0.1
# Script creted by Ryabinin Sergey Vladimirovich
# dev@brigar.ru
#


set -e

help(){
printf "Usage:

Create chroot
$0 -c your_name_chroot

Mount chroot
$0 -m your_name_chroot

Umount chroot
$0 -u your_name_chroot

Destroy chroot
$0 -r your_name_chroot
"
}

chroot_create(){

CHROOT_DIR="/chroot/$1"

mkdir -p ${CHROOT_DIR}
mkdir -p ${CHROOT_DIR}/dev
mkdir -p ${CHROOT_DIR}/bin
mkdir -p ${CHROOT_DIR}/libexec
mkdir -p ${CHROOT_DIR}/lib
mkdir -p ${CHROOT_DIR}/usr/lib
mkdir -p ${CHROOT_DIR}/usr/ports
mkdir -p ${CHROOT_DIR}/usr/bin
mkdir -p ${CHROOT_DIR}/usr/sbin
mkdir -p ${CHROOT_DIR}/usr/share

mount -t nullfs -o ro,nosuid,noexec /usr/ports/ ${CHROOT_DIR}/usr/ports
mount -t nullfs -o ro,nosuid /usr/lib/ ${CHROOT_DIR}/usr/lib
mount -t nullfs -o ro,nosuid /libexec/ ${CHROOT_DIR}/libexec
mount -t nullfs -o ro,nosuid /lib/ ${CHROOT_DIR}/lib
mount -t nullfs -o ro,nosuid /usr/sbin/ ${CHROOT_DIR}/usr/sbin
mount -t nullfs -o ro,nosuid /usr/bin/ ${CHROOT_DIR}/usr/bin
mount -t nullfs -o ro,nosuid /bin/ ${CHROOT_DIR}/bin
mount -t nullfs -o ro,nosuid /usr/share/ ${CHROOT_DIR}/usr/share
mount -t devfs devfs ${CHROOT_DIR}/dev

printf "Chroot created: ${CHROOT_DIR} and entered
"

chroot ${CHROOT_DIR}
}


chroot_destroy(){
CHROOT_DIR="/chroot/$1"
umount -f ${CHROOT_DIR}/usr/lib
umount -f ${CHROOT_DIR}/libexec
umount -f ${CHROOT_DIR}/lib
umount -f ${CHROOT_DIR}/usr/ports
umount -f ${CHROOT_DIR}/usr/sbin
umount -f ${CHROOT_DIR}/bin
umount -f ${CHROOT_DIR}/usr/bin
umount -f ${CHROOT_DIR}/dev
umount -f ${CHROOT_DIR}/usr/share

rm -rf ${CHROOT_DIR}
echo "Chroot destroy: ${CHROOT_DIR}"
}

chroot_umount(){
CHROOT_DIR="/chroot/$1"
umount -f ${CHROOT_DIR}/usr/lib
umount -f ${CHROOT_DIR}/libexec
umount -f ${CHROOT_DIR}/lib
umount -f ${CHROOT_DIR}/usr/ports
umount -f ${CHROOT_DIR}/usr/sbin
umount -f ${CHROOT_DIR}/usr/bin
umount -f ${CHROOT_DIR}/bin
umount -f ${CHROOT_DIR}/dev
umount -f ${CHROOT_DIR}/usr/share

echo "Chroot umount: ${CHROOT_DIR}"
}

chroot_mount(){
CHROOT_DIR="/chroot/$1"
mount -t nullfs -o ro,nosuid,noexec /usr/lib/ ${CHROOT_DIR}/usr/lib
mount -t nullfs -o ro,nosuid,noexec /libexec/ ${CHROOT_DIR}/libexec
mount -t nullfs -o ro,nosuid,noexec /lib/ ${CHROOT_DIR}/lib
mount -t nullfs -o ro,nosuid,noexec /usr/ports/ ${CHROOT_DIR}/usr/ports
mount -t nullfs -o ro,nosuid /usr/sbin/ ${CHROOT_DIR}/usr/sbin
mount -t nullfs -o ro,nosuid /usr/bin/ ${CHROOT_DIR}/usr/bin
mount -t nullfs -o ro,nosuid /bin/ ${CHROOT_DIR}/bin
mount -t nullfs -o ro,nosuid /usr/share/ ${CHROOT_DIR}/usr/share
mount -t devfs devfs ${CHROOT_DIR}/dev

echo "Chroot mount: ${CHROOT_DIR}"
}


if [ "${#1}" -eq 0 ] || [ "${#2}" -eq 0 ]; then
help
fi

if [ "${1}" = "-c" ] && [ "${#2}" -gt 0 ]; then
chroot_create $2
fi

if [ "${1}" = "-u" ] && [ "${#2}" -gt 0 ]; then
chroot_umount $2
fi

if [ "${1}" = "-r" ] && [ "${#2}" -gt 0 ]; then
chroot_destroy $2
fi

if [ "${1}" = "-m" ] && [ "${#2}" -gt 0 ]; then
chroot_mount $2
fi

Последнею версию всегда можно будет найти по ссылке chroot_cr