UbIITu

Ubuntu Linux alapú virtuális gép, előre felinstallálva több C/C++ IDE (Eclipse, Netbeans, Codeblocks), hibakeresők (Valgrind: memóriahibák keresése futás közben, DDD: grafikus debugger).

Az első lépések

  1. Ajánlott minimumkövetelmények: 4 GB szabad diszkhely, 1 GB RAM, 1 GHz CPU.
    Opcionális: jó grafikus kártya, több hely, több memória és gyorsabb cpu :-)
  2. VirtualBox 4 platform letöltése és telepítése.
    Opcionálisan utána telepíthető az Oracle VM VirtualBox Extension Pack ugyanonnan (hosszú távra ajánlott).
  3. UbIITu virtuális gép letöltése, és importálása: File->Import Appliance...
    Opcionálisan utána személyreszabható a virtuális gép teljesítménye: Settings...
Tippek:

Haladó: saját Linux

Saját felelősségre! Az alábbi parancsok vakon történő alkalmazása adatvesztéshez vezethet! Csak kipróbáláshoz elég az előző pontot elolvasni (Első lépések)!

Saját, már installált Linux rendszerre is feltehetőek a fejlesztőeszközök, ezekhez adunk itt útmutatót. (Linux telepítéséhez érdemes szabadon hagyni egy legalább 3G méretű partíciót, de más megoldások is vannak. Kérdezze gyógyszerészét...) A parancsok Ubuntu Maverick 10.10-re vonatkoznak, de hasonló elvek követendőek más Linux rendszereken is, a csomagnevek eltérhetnek. A parancsok futtatásához el kell indítani a Terminalt, a parancsokat bemásolni és entert ütve futtatni azokat.
  1. Csomagok installálása:
    sudo apt-get --no-install-recommends install vim-gnome mc automake autoconf pkg-config manpages-dev doxygen graphviz g++ subversion ddd valgrind libgtest-dev vim emacs codeblocks codeblocks-contrib openjdk-6-jre
    
    Még hasznos csomagok:
    clang ccache kcachegrind strace kdevelop bison flex cvs git openssh-server acroread unzip unrar indent tofrodos sshfs
  2. Eclipse installálása az /opt/eclipse könyvtárba:
    sudo mkdir -p /opt/eclipse
    sudo chown $USER /opt/eclipse
    mkdir /tmp/dl
    cd /tmp/dl
    wget http://eclipse.i-logic.hu/technology/epp/downloads/release/helios/SR1/eclipse-linuxtools-helios-SR1-incubation-linux-gtk.tar.gz
    cd /opt
    tar xzf /tmp/dl/eclipse*gz
    echo 'export PATH=$PATH:/opt/eclipse' >> ~/.bashrc
    
    Lehetne csomagból is (eclipse-cdt), de abban alapértelmezésben nincs valgrind támogatás.
  3. Netbeans installálása az /opt/netbeans-6.9.1 könyvtárba:
    sudo mkdir -p /opt/netbeans-6.9.1
    sudo chown $USER /opt/netbeans-6.9.1
    cd /tmp/dl
    wget http://download.netbeans.org/netbeans/6.9.1/final/bundles/netbeans-6.9.1-ml-cpp-linux.sh
    chmod +x net*sh
    ./netbeans-6.9.1-ml-cpp-linux.sh
    echo 'export PATH=$PATH:/opt/netbeans-6.9.1/bin' >> ~/.bashrc
    
    Lehetne csomagból is (netbeans), de abban alapértelmezésben nincs C++, és több helyet foglal.
  4. Példaprogramok letöltése, belinkelése az Asztalra
    cd
    wget -np -r -nv --cut-dirs 2 -nH http://sirkan.iit.bme.hu/~kapolnai/ubiitu/peldak/
    cd peldak/
    rm index.html
    for i in *tgz ; do tar xzf $i ; rm -f $i ; done
    ln -s ~/peldak ~/Asztal
    
  5. Dokumentáció olvasása Eclipse | Netbeans

Én is akarni saját VM, lenni h4x0r

  1. Rendszer install
    • Boot: Open source software only
    • Installer: a legtisztább ha a swap egy külön virtuális diszk
    • Képernyővédő: kikapcs
    • Grub nagyobb timeout beállítása: írjuk be a /etc/grub.d/45_varj fájlba:
      #!/bin/sh
      echo set timeout=4
      
      majd
      sudo chmod a+x /etc/grub.d/45_varj
      Következő kernel-installáláskor életbe lép.
    • Igény esetén magyar nyelv: System -> Administration -> Language support, vagy:
      sudo apt-get --no-install-recommends install language-pack-hu language-pack-gnome-hu gnome-user-guide-hu
      
  2. VirtualBox Guest Additions
    • Mindenekelőtt:
      sudo apt-get --no-install-recommends install dkms
    • Guest addition csomagból (virtualbox-ose-guest-.* vagy VBox iso cd-ről (ajánlott újabb VBox platformokhoz)
    • Gép kikapcsolása (nem elég újraindítani)
    • Shared folder:
      sudo adduser $USER vboxsf
      
      Betenni Gnome Indítópultba felderit_sf.sh-t:
      #!/bin/bash
      for folder in /media/sf_*
      do
        if [ -d "$folder" ]
        then
          ln -s $folder ~/Asztal/
        fi
      done
      
  3. Frissítés
    sudo apt-get dist-upgrade
  4. Helyet csinálni. Sok helyet.
    • sudo apt-get --purge remove \
      brasero-common bluetooth bluez-* tomboy openoffice.org-* gnome-media.* pitivi gnome-dictionary xscreensaver-.* tomboy xcursor-themes pppconfig pppoeconf simple-scan shotwell bogofilter.* compiz.* nvidia-.* fglrx-modaliases empathy.* totem.* sane-utils lp-solve speech-dispatcher .*smbclient samba-common.* .*sane.* hplip.* libopencc1 libgphoto2-.* cups-bsd cups-client cups-common cups-driver-gutenprint cups-ppdc erlang-.* gnome-games libevolution evolution-data-server evolution-plugins evolution-common evolution-webcal ttf-* gnome-screensaver gnome-bluetooth gnome-codec-install gnome-mahjongg gnome-media gnome-sudoku gdm-guest-session memtest86+ mono-* gnomine aisleriot quadrapassel .*transmission.* .*gwibber.* tsclient rdesktop .*ubuntuone.* pnm2ppa ghostscript.* erlang-.* xserver-xorg-video-all xserver-xorg-video-i128 xserver-xorg-video-openchrome xserver-xorg-video-sis xserver-xorg-video-apm xserver-xorg-video-i740 xserver-xorg-video-r128 xserver-xorg-video-sisusb xserver-xorg-video-ark xserver-xorg-video-intel xserver-xorg-video-radeon xserver-xorg-video-tdfx xserver-xorg-video-ati xserver-xorg-video-mach64 xserver-xorg-video-rendition xserver-xorg-video-trident xserver-xorg-video-chips xserver-xorg-video-mga xserver-xorg-video-s3 xserver-xorg-video-tseng xserver-xorg-video-cirrus xserver-xorg-video-neomagic xserver-xorg-video-s3virge xserver-xorg-video-nouveau xserver-xorg-video-savage xserver-xorg-video-geode xserver-xorg-video-nv xserver-xorg-video-siliconmotion xserver-xorg-video-voodoo libpurple0 espeak computer-janitor-gtk byobu gstreamer0.10-x telepathy-salut irqbalance network-manager-pptp-gnome libtelepathy-glib0 libsnmp15 obex-data-server wireless-tools network-manager-pptp libgstfarsight0.10-0 hpijs dvd+rw-tools dosfstools ubuntu-sounds python-telepathy checkbox vinagre computer-janitor libexiv2-6 mtools gstreamer0.10-plugins-good foomatic-db-engine pptp-linux libmission-control-plugins0 geoip-database guile-1.8-libs python-couchdb checkbox-gtk telepathy-haze libhpmud0 python-farsight liblouis2 espeak-data telepathy-idle libtheora0 update-inetd wodim python-louis vino mousetweaks usb-modeswitch-data libsamplerate0 libcdparanoia0 media-player-info telepathy-mission-control-5 notify-osd-icons ppp libmagickcore3 libespeak1 tcl libshout3 telepathy-gabble ibus-pinyin-db-android fancontrol usb-modeswitch openprinting-ppds pcmciautils ufw tcl8.4 ntfsprogs libmagickwand3 libasound2-plugins python-cups dmz-cursor-theme gstreamer0.10-plugins-base-apps libsnmp-base exiv2 telepathy-butterfly libgsl0ldbl python-papyon intel-gpu-tools gnome-accessibility-themes liblouis-data min12xxw gstreamer0.10-plugins-base gstreamer0.10-gnonlin gstreamer0.10-tools ntfs-3g modemmanager example-content gsfonts popularity-contest poppler-utils .*printer.* .*alsa.*  linux-sound-base  gnome-games-common pulseaudio.* usb-creator-* usb-modeswitch* libgladeui-1-9 genisoimage libjs-jquery libpaper-utils os-prober gstreamer0.10-nice radeontool libpulse-browse0 mscompress libvisual-0.4-plugins 
      
    • Ezeket gyorsan tegyük vissza, ha lepucoltuk volna, mert gond lehet:
      sudo apt-get --no-install-recommends install gnome-panel light-themes evince ubuntu-artwork ttf-dejavu-core
      
    • Még lehet pucolni
      1. sudo apt-get --no-install-recommends install deborphan
      2. Az alábbi ciklust ismételni amíg van eredmény óvatosan:
      3. Ezeket (ami "nemkell") talán lehet törölni:
        dpkg --get-selections | egrep ^lib | while read csom _ ; do if LANG=C apt-get -q -s remove $csom 2>/dev/null | egrep -q 'Remv.[^l]|unmet' ; then echo -n kell ; else echo -n nemkell ; fi ; echo ": $csom" ; done
      4. sudo apt-get --purge remove `deborphan --guess-all`
      5. sudo apt-get --purge autoremove
    • Le lehet törölni a régebbi kernelt. Upgrade után óvatosan:
      sudo apt-get --purge remove linux-.*2.6.35-22.*
    • sudo apt-get clean
    • Végül kinullázni a lemezen a nem használt területet
      dd if=/dev/zero bs=1M of=/tmp/x.dat
      rm /tmp/x.dat
      sudo rm /var/cache/apt/*pkgcache.bin
    • Kinullázni a swap-ot óvatosan, előtte meg kell nézni hogy melyik partíció a swap!
      UUID=`grep swap /etc/fstab  | grep 'UUID=[^ ]*' -o | cut -c 6-`
      SWAPPARTICIO=/dev/`readlink /dev/disk/by-uuid/$UUID | xargs basename`
      echo Toroljuk $SWAPPARTICIO particiot:
      ls -l /dev/disk/by-uuid/$UUID
      
      Ha stimmel, akkor
      sudo swapoff -a
      sudo dd if=/dev/zero bs=1M of=/dev/disk/by-uuid/$UUID
      sudo mkswap -U $UUID $SWAPPARTICIO
  5. Desktop testreszabása (billentyűzetkiosztás, ikonok, gombok jobboldalra, kezdőlap)
  6. Nyomok eltüntetése óvatosan:
    rm -fr .sudo_as_admin_successful .viminfo .ssh/known_hosts .compiz/ .lesshst .esd_auth .xsession-errors*
    history -c
    
    Majd recovery mode-ban
    service rsyslog stop
    rm /var/log/*
    
  7. Csökkenteni a virtuális diszket, a gazda rendszerben:
    VBoxManage modifyhd cpp.vdi compact
    
    • Megjegyzés: ha nem VDI lemezt használunk (pl. VMDK), akkor ehhez át kell konvertálni VDI-be: VBoxManage clonehd ...
  8. Gép exportálása, profit

Mindenképp Windows-t szeretnék használni

Sok szoftver (kivétel: ddd, valgrind) elérhető Windowson is.
Is there a good Valgrind substitute for Windows?
Valgrind is an open source alternative to...

Készült...

Valid XHTML 1.1 ...a Programozás alapjai 2 tárgy segédanyagaként Dr. Szeberényi Imre ötletéből kiindulva, karbantartja: Kápolnai Richárd.
Köszönet Czirkos Zoltánnak a VDI-VMDK különbség észrevételéért a diszkcsökkentésnél.