Привет, я хотел знать, как после новой установки Ubuntu я могу установить все необходимые программы (vlc, apache, MySQL, PHP, java, Netbeansetc) с помощью сценария оболочки.
Также я хотел, чтобы тот же сценарий оболочки настраивал мой статический сетевой IP-адрес, включая Address, Gateway, netmask & amp; IP-адрес DNS-сервера для IPv4 ... Возможно?
Не возможно, верно?
Я сделал это приблизительно неделю назад, потому что мой SSD умер, и я должен был использовать LiveCD, и я не хотел повторять шаги:
Переменные, которые я использовал, должны быть объясняющими:
ifconfig eth0 $address netmask $netmask
ip route add default via $gateway
echo "nameserver $dns_server" > /etc/resolv.conf
Это предполагает, что скрипт будет запущен как корень. В противном случае необходимо предварительно ожидать sudo
к первым двум командам и замене >
в третьей команде с | sudo tee
. Обратите внимание, что они управляют, обходят Администратора сети, но это работает на меня. YMMV
Для установки программ можно использовать склонный:
apt-get install vlc apache2 mysql-server php5 [other packages here]
Следующее получено из моего кода установки программного обеспечения на моем LiveCD (корневые полномочия спросят через sudo):
try_install_yes_to_all=false
try_install () {
# Usage: try_install 'apt_options' package1 package2 ... packageN
# You'll be prompted whether you want to install a (set of) package(s) or not
# Y=Yes, N=No, A=All (do not ask in future)
local opts="$1"
shift
if [ $(dpkg -l "$@" 2>/dev/null | grep '^ii' | wc -l) != $# ]; then
while true; do
$try_install_yes_to_all || printf 'install %s ? [Y/N/A] ' "$*"
$try_install_yes_to_all && yn=Y || read yn
case "$yn" in
[YyAa])
[[ $yn == [Aa] ]] && try_install_yes_to_all=true
sudo apt-get install -y $opts "$@"
break
;;
[Nn])
break
;;
esac
done
fi
}
# install language packs
try_install '' language-pack-kde-nl language-support-nl
# install Firefox without "Recommended:" packages (like firefox-globalmenu)
try_install '--no-install-recommends' firefox
Поскольку определенные пакеты требуют перевхода в систему (пакеты языка), я отредактировал параметры загрузки путем добавления следующей строки к опциям ядра:
init=/bin/bash
Это загрузит оболочку вместо того, чтобы делать нормальную начальную загрузку. Скручивание жгутов, которые окружают, Вы, возможно, должны были бы работать modprobe usb-storage
если Ваша карта с интерфейсом USB со сценарием не была вставлена в систему.
Затем, смонтируйте свой раздел со сценарием на нем и выполните его:
mount /dev/sdc1 /mnt
/mnt/script-to-run
Обратите внимание, что Вы не можете использовать Ctrl + C или дескрипторы файлов. Если необходимо завершить все программы включая сценарий, выпустить Высокий звук + SysRq + E ярлык. Если сценарий все еще работает, сила, уничтожающая все процессы с: Высокий звук + SysRq + я.
Когда сценарий завершится, размонтируйте раздел:
umount /mnt
Для продолжения нормальной начальной загрузки работайте:
exec init
Чтобы использовать сетевое соединение из командной строки, вы можете использовать пакет интерфейса командной строки NetworkManager (cnetworkmanager):
Информация о пакете: http://packages.ubuntu.com/natty/ cnetworkmanager
Информация об использовании: http://vidner.net/martin/software/cnetworkmanager/
Пример вызова, который будет подключаться к сети под названием YOURSSID :
cnetworkmanager --connect=YOURSSID
Что касается установки программного обеспечения из командной строки, вы можете сделать это с помощью команд apt-get и apt-cache. Сначала вам нужно найти точные имена пакетов, которые вы хотите установить (обычно включая номера версий для перечисленных вами служб). Вы можете использовать поиск apt-cache, чтобы найти их. Например:
apt-cache search apache
После того, как вы просмотрели эти результаты и нашли имена пакетов, вы можете установить их, используя apt-get:
apt-get install vlc apache mysql etc