Fedora 21 as web-developer workstation

То же самое, что и с Ubuntu 14.04. Несколько странно, что в базовую установку не входит компилятор C++ и wget (хотя может это мои глюки).

Скрипт, как и оный в предыдущем посте, предполагает установку на ноутбук с гибридом intel + nvidia, а также устанавливает steam-клиент. Сам steam следует запускать через primus.

Перезагрузка требуется как минимум два раза: первый после апдейта свежеустановленной системы, ибо смена ядра — на данный момент апгредило с 3.17 до 4.1.8, второй — после установки bumblebee, чтобы оно доустановилось.

Vagrant (1.7.2) ставится из репозитория, также как и Ruby (2.1.7). Чтобы vagrant успешно пробрасывал каталог в гостевую систему посредством nfs, следует внести поправки в настройки файрволла. Разрешить пролезать сервисам nfs, mountd и rpcbind, а также открыть UDP-порт 2049.

С моим глючным интернетом установка на ноутбуке с нуля занимает порядка полутора часов. Проверялось на Fedora 21 Xfce x64.

#!/bin/bash

# update
sudo dnf -y update

#### reboot

# install stuff
sudo dnf -y install wget vim tmux git mercurial gcc gcc-c++ make m4 bindfs \
ruby keepassx @virtualization

# install libraries for building python & ruby libs
sudo dnf -y install python-devel libffi-devel openssl-devel ruby-devel \
libstdc++-devel libvirt-devel kernel-devel

# install pip
curl -sSL https://bootstrap.pypa.io/get-pip.py | sudo python

# install python libs
sudo pip install requests[security] uwsgi virtualenv

# enable rpmfusion repository
sudo dnf -y install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# install exfat support (rpmfusion)
sudo dnf -y install exfat-utils fuse-exfat

# install additional codecs (rpmfusion)
sudo dnf -y install gstreamer gstreamer-ffmpeg gstreamer-plugins-bad \
gstreamer-plugins-bad-free gstreamer-plugins-bad-nonfree gstreamer-plugins-base \
gstreamer-plugins-good gstreamer-plugins-ugly gstreamer-plugin-crystalhd \
gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-free \
gstreamer1-plugins-good gstreamer1-libav ffmpeg freetype-freeworld

# entertainment stuff (rpmfusion)
sudo dnf -y install steam vlc

# install google chrome
sudo dnf -y install --nogpgcheck \
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

# install skype
sudo dnf -y install --nogpgcheck \
http://download.skype.com/linux/skype-4.3.0.37-fedora.i586.rpm

# vagrant
sudo dnf -y install vagrant

# vagrant libvirt support
vagrant plugin install vagrant-libvirt vagrant-mutate vagrant-rekey-ssh

# vagrant nfs mount tune
sudo systemctl enable nfs-server
sudo systemctl start nfs-server
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-port=2049/udp
sudo firewall-cmd --reload

# enable libvirtd daemon
sudo systemctl enable libvirtd
sudo systemctl start libvirtd

# pull debian 8 virtualbox image
vagrant box add debian/jessie64

# convert virtualbox image to libvirt image
vagrant mutate debian/jessie64 libvirt

# install bumblebee repository
sudo dnf -y install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora$(rpm -E %fedora)/noarch/bumblebee-release-1.2-1.noarch.rpm \
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora$(rpm -E %fedora)/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

# install nvidia optimus support
sudo dnf -y install bumblebee bumblebee-nvidia bbswitch-dkms primus \
VirtualGL.i686 VirtualGL.x86_64 primus.i686

###### reboot

Update: Vagrant 1.7.2 забагован, либо ставить другую версию, либо патчить ручками. Diff для /usr/share/vagrant/plugins/guests/redhat/cap/nfs_client.rb

18,19c18,19
< def self.systemd?
< `ps -o comm= 1`.chomp == 'systemd'
---
> def self.systemd?(machine)
> machine.communicate.test("test $(ps -o comm= 1) == 'systemd'")
23c23
< if systemd?
---
> if systemd?(machine)
Запись опубликована в рубрике Новости. Добавьте в закладки постоянную ссылку.