201402202045


Установка дистрибутива Федора-20 на VirtualBox 4.3.6
----------------------------------------------------

    У таких стекол есть критическая точка. Стоит нам ее найти и стекло разобьется даже от удара маленькой булавки.

    Операция "Святой Януарий", 1966

В дистрибутиве Федора применено много нововведений, отличающихся от других Linux дистрибуций. Некоторые из них более удобны в настройке (firewalld), хотя и мало тестированы по сравнению с классическими решениями (iptables). Для чего введены другие, неясно (например, eth0 переименован в p2p1).

Вызывает сожаление тенденция к изменениям устоявшихся решений каждые полгода (при переходе к новой версии).

Установка теперь должна сопровождается интенсивным поиском (google) работающих решений на форумах и других сайтах, конспектированием и публикованием найденных решений (следует помнить об ответственности за последствия публикации с учетом кумулятивного эффекта в интернете). Предпочтение отдается "новым" командам (например, не "/etc/init.d/sshd start" и даже не "service sshd start" а "systemctl start sshd.service" (социализирует)). Другой способ -- игнорировать быстро "мутирующие" решения.


Установка LXDE x86 спина
------------------------

  1. В virtualbox Linux/Fedora, 32 bit/RAM1024MB/HD8GB
  
  2. Выбрать разбивку жесткого диска "по умолчанию", юзер "virtu" host "Fedora20" 
     
  3. Изменить пароль рута на "root" командой passwd

  4. Включить юзера virtu в sudo:
  
     su -
     visudo
     virtu  (ALL, ALL)  ALL
     
  5. yum update (~300MB)

  6. restart
     rpm -qa | grep kernel
     yum remove <old-kernel-stuff>

  7. yum install automake gcc gcc-c++ kernel-devel firefox wget vim

  8. Menu -> Devices -> Install Guest Additions

     mkdir /mnt/vbox
     mount -o ro /dev/cdrom /mnt/vbox
     cd /mnt/vbox
     ./VBoxLinuxGuestAdditions.run

  9. Devices -> Shared Clipboard -> Bidirectional


Монтирование
------------

  mkdir /mnt/vbox
  mount -o ro /dev/cdrom /mnt/vbox 

x-или после расшаривания в Devices -> Shared folders:

  name   tmp
  [x] Make permanent

  mount -t vboxsf tmp /mnt/vbox
  
  
SSH
---

  Oracle VM VirtualBox Manager ->
    Your VM ->
      Network ->
        Adapter X ->
          Advanced ->
            Port Forwarding

добавим правило

  Name     Protocol  HIP  Port   GIP  Port
  Rule 1   TCP            22          22


Fedora 20 SSH
-------------

  1. yum install openssh-server

  2. убрать комментарий в /etc/ssh/sshd_config на строке:
  
    # Port 22

  3. изменить /etc/sysconfig/selinux SELINUX=enforcing на =permissive

  4. постоянно

       # chkconfig sshd on

     либо однократно (start/stop/status, on/off)

       # systemctl stop firewalld.service

     Еще лучше открыть 22 порт при поднятом firewall
     
       # firewall-config &


Установка с помощью make
-------------------------

Пример. Паковщик rar

  # wget -c http://rarlab.com/rar/rarlinux-5.0.1.tar.gz
  # tar xvzf rarlinux-5.0.1.tar.gz
  # cd rar
  # make install
  # cd ..
  # rm -rf rar
  # rm rarlinux-5.0.1.tar.gz


Установка из исходных кодов
---------------------------

  ./configure
  make
  make install
  
Пример. SimDuino [5]. Времязатратная часть -- поиск пакетов, необходимых для успешной компиляции и ручная настройка make-файла (нет configure). В помощь Readme.md для Ubuntu 12.04:

  $ sudo apt-get -y install git g++-4.7 gcc-4.7 libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-gfx1.2-dev
  $ git clone git://github.com/koppi/simduino.git
  $ cd simduino
  $ make all
  $ cd ~/simduino/Examples/06-LiquidCrystal/HelloWorld
  ./HelloWorld.exe
  
К расшифровке Makefile.

"Разговорчивый" Makefile для скетча

  BIN = $(shell basename `pwd`).exe
  SDL       ?= 1
  TEST_ARGS += 100
  BUILD_VERBOSE=1
  SIMDUINO  = ../../../Simduino
  include $(SIMDUINO)/sketch.mk
  
Отрывок файла common.mk.

  $(BIN): $(OBJ)
          $(Q)echo "  ld $@"
          $(Q)$(CXX) -o $@ $^ $(LIBS)
  $(SIMDUINO)/libSimduino.a:
          $(Q)make -C $(SIMDUINO)
          
Добавим контрольную печать переменных

  $(Q)echo "USDAT=$@ USDCARET=$^ USDLESS=$< USDCXX=$(CXX) USDCXXFLAGS=$(CXXFLAGS) USDLIBS=$(LIBS) USDSIMDUINO=$(SIMDUINO) USDBIN=$(BIN) USDTIMEOUT=$(TIMEOUT) USDTEST_ARGS=$(TEST_ARGS) USDQ=$(Q) USDBUILD_VERBOSE=$(BUILD_VERBOSE)"


Что есть что?
-------------

  $@                02-Blink.exe 
  $~                Blink.o Sim.o ../../../Simduino/libSimduino.a 
  $<                Blink.o 
  $(CXX)            g++ 
  $(CXXFLAGS)       -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -DHAVE_SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL  -DHAVE_SDL_GFX -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -DHAVE_SDL_IMAGE -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -DHAVE_SDL_TTF -std=c++11 -g -pedantic -I../../../Simduino -DSIM
  $(LIBS)           -lSDL -lSDL_gfx -lSDL -lSDL_image -lSDL -lSDL_ttf -lSDL -L../../../Simduino -Wl,-Bstatic -lSimduino -Wl,-Bdynamic -lm -Wl,--as-needed 
  $(SIMDUINO)       ../../../Simduino 
  $(BIN)            02-Blink.exe 
  $(TIMEOUT)        14 
  $(TEST_ARGS)      100 
  $(Q)              @
  $(BUILD_VERBOSE)  0


Установка простым компилированием
---------------------------------

Пример. Simuino [6].

  $ sudo yum install screen ncurses-devel
  $ wget -c http://simuino.googlecode.com/files/simuino-0-1-8.zip
  $ unzip simuino-0-1-8.zip
  $ cd simuino-0-1-8
  $ g++ simuino.c -o simuino -lncurses
  $ screen ./simuino


Java от Sun (Oracle)
--------------------

Обнаружена предустановленной (/usr/bin/java).

  [virtu@Fedora-K ~]$ java -version
  java version "1.7.0_51"
  Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
  Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

Зависимости (openjdk):

  java-1.7.0-openjdk-headless  i686    1:1.7.0.60-2.4.5.1.fc20    updates   27 M
  javapackages-tools           noarch  3.4.1-1.fc20               fedora    72 k
  jline                        noarch  1.0-5.fc20                 fedora    68 k
  python-cssselect             noarch  0.9.1-1.fc20               updates   58 k
  python-javapackages          noarch  3.4.1-1.fc20               fedora    30 k
  python-lxml                  i686    3.2.4-1.fc20               fedora   723 k
  rhino                        noarch  1.7R4-7.fc20               updates  1.0 M
  ttmkfdir                     i686    3.0.9-40.fc20              fedora    46 k
  tzdata-java                  noarch  2013i-2.fc20               updates  148 k
  xorg-x11-fonts-Type1         noarch  7.5-9.fc20                 fedora   521 k


Wine
----

  yum install wine
  

Мультимедия
-----------

  yum install youtube-dl
  yum install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
  yum install http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
  
  yum install rhythmbox
  yum install gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly
  

Уборка мусора
-------------

  yum autoremove
  yum clean all
  dd if=/dev/zero of=biig; rm -f biig
  

Архивирование
-------------

Сохранить Fedora20-8GB.vdi после нормально завершившегося процесса shutdown (# init 0), как самораспаковывающийся архив 7z (ultra compression, 1.4GB). Подписать хешем Fedora20-8GB-<Дата>.exe.md5sum


Ссылки
------

[1]. http://xpressubuntu.wordpress.com/2014/02/14
     /virtualbox-and-the-latest-14-04-display-stuck-at-low-resolution/
[2]. https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_4.3.7-92075.iso
[3]. https://fedoraproject.org/wiki/FirewallD
[4]. http://forums.fedoraforum.org/showthread.php?t=283775
[5]. https://github.com/koppi/simduino
[6]. http://simuino.googlecode.com/files/simuino-0-1-8.zip