Ubuntu Suomen keskustelualueet
		Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: eliasj - 03.05.06 - klo:13.51
		
			
			- 
				Siis jos teen jollain tekstieditorilla tekstitiedoston, jonka pääte on .sh, niin silloin kun komentaa sh <ohjelman_nimi>.sh, niin se tekee ne komennot mitä tiedostossa on? 
 Jos laitan sinne apt-get install ja sitten liuta ohjelmia, asentaako se ne riippuvuudetkin, kun komenna sudo sh <tiedoston_nimi>.sh?
- 
				Siis jos teen jollain tekstieditorilla tekstitiedoston, jonka pääte on .sh, niin silloin kun komentaa sh <ohjelman_nimi>.sh, niin se tekee ne komennot mitä tiedostossa on? 
 Jos laitan sinne apt-get install ja sitten liuta ohjelmia, asentaako se ne riippuvuudetkin, kun komenna sudo sh <tiedoston_nimi>.sh?
 
 
 Kyllä asentaa. Se, ajetaanko apt-get scriptistä vai käsin shellistä ei mitenkään muuta sen toimintatapaa. Sama pätee pääsääntöisesti kaikkiin muihinkin ohjelmiin.
 
 
- 
				Ookoo, hyvä tietää. Ajattelin tehdä scriptin, joka asentaisi kaikki perusohjelmat, jos asentaa server -installina.
			
- 
				Ookoo, hyvä tietää. Ajattelin tehdä scriptin, joka asentaisi kaikki perusohjelmat, jos asentaa server -installina.
 
 Pistäs se skripti sit tänne kun se on valmis niin ei tartte ite tehä semmosta...
- 
				No mun tarpeet on iha eri kun sun... Laitan kuitenkin: #Asennetaan ohjelmia.... :)
 apt-get update
 apt-get dist-upgrade
 apt-get install aterm xmms-dev wine libxpm-dev libxpm4 xpmutils libstdc++5 x-window-system-core xbase-clients xserver-xorg automake1.9 libncurses5 libncurses5-dev nvidia-glx nvidia-kernel-common mozilla-firefox mozilla-firefox-locale-fi-fi gaim gaim-data w32codecs sysv-rc-conf idesk gnomebaker aterm gnome-volume-manager gnome-system-monitor leafpad menu  rox-filer gimp gimp-data gimp-data-extras file-roller gthumb xqf abiword abiword-common  synaptic flashplugin-nonfree gtk2-engines-clearlooks xmms xmms-skins sun-j2re1.5 flashplugin-nonfree acroread mozilla-acroread acroread-plugins gstreamer0.10-ffmpeg idesk openbox openbox-themes fbpanel  obconf gstreamer0.10-gl gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse easytag audacity gparted rar xfonts-intl-arabic xfonts-intl-asian xfonts-intl-chinese xfonts-intl-chinese-big xfonts-intl-european xfonts-intl-japanese xfonts-intl-japanese-big xfonts-intl-phonetic gsfonts-x11 msttcorefonts sun-j2re1.5 unrar rox-filer build-essential cvs realplay openoffice.org2-soikko gcc mplayer-k7 mplayer-fonts mozilla-mplayer libdvdcss2
 
 Eli jos asentaisin serverinä ja asentaisin Openboxin, niin nuo ohjelmat minä asentaisin. Sources.list:iäni muokkaisin tälläiseksi (sudo nano /etc/apt/sources.list):# Ubuntu supported packages (packages, GPG key: 437D05B5)
 deb http://fi.archive.ubuntu.com/ubuntu dapper main restricted
 deb http://fi.archive.ubuntu.com/ubuntu dapper-updates main restricted
 deb http://security.ubuntu.com/ubuntu dapper-security main restricted
 
 # Ubuntu supported packages (sources, GPG key: 437D05B5)
 deb-src http://fi.archive.ubuntu.com/ubuntu dapper main restricted
 deb-src http://fi.archive.ubuntu.com/ubuntu dapper-updates main restricted
 deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
 
 # Ubuntu community supported packages (packages, GPG key: 437D05B5)
 deb http://fi.archive.ubuntu.com/ubuntu dapper universe multiverse
 deb http://fi.archive.ubuntu.com/ubuntu dapper-updates universe multiverse
 deb http://security.ubuntu.com/ubuntu dapper-security universe multiverse
 
 # Ubuntu community supported packages (sources, GPG key: 437D05B5)
 deb-src http://fi.archive.ubuntu.com/ubuntu dapper universe multiverse
 deb-src http://fi.archive.ubuntu.com/ubuntu dapper-updates universe multiverse
 deb-src http://security.ubuntu.com/ubuntu dapper-security universe multiverse
 
 # Cipherfunk multimedia packages (packages, GPG key: 33BAC1B3)
 deb ftp://cipherfunk.org/pub/packages/ubuntu/ dapper main
 
 # Cipherfunk multimedia packages (sources, GPG key: 33BAC1B3)
 deb-src ftp://cipherfunk.org/pub/packages/ubuntu dapper main
 
 ## OpenOffice.org2 soikko
 deb http://dtw.silverentertainment.fi/oo2-soikko/ gcc34 non-free
 
 # Penguin Liberation Front (packages, sources)
 deb ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf/ breezy free non-free
 deb-src ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf/ breezy free non-free
 
 
 E: Lisäsin paketin libdvdcss2.
- 
				Suosittelen pypanelia Openboxin kanssa.
			
- 
				Itse suosittelen Fbpanelia Openboxin kanssa. :D
			
- 
				scriptiähän voisi kehittää siten että lisää automaagisesti nuo lähteet sources.listiin.. tehdään elämä liiankin helpoksi, mutta miten tämä tapahtuu, echo "lähteitä niin pirusti ">/etc/apt/sources.list  ei taida oikein toimia, pitäisi ensin tyhjentää jollain sources.list, kait tähän joku ohjelma löytyy vai pitääkö mennä palikkameiningillä ja poistaa tiedosto ensin ja luoda se sitten?
			
- 
				echo "lähteitä niin pirusti ">/etc/apt/sources.list  ei taida oikein toimia, pitäisi ensin tyhjentää jollain sources.list, kait tähän joku ohjelma löytyy vai pitääkö mennä palikkameiningillä ja poistaa tiedosto ensin ja luoda se sitten?
 
 
 Kyllä se toimii oikein vaikkakin hieman kyseenalaisesti, sillä järkevää olisi tehdä vanhasta sources.list:stä varmuuskopio ja vasta sitten jyrätä se. Käyttämäsi tulostuksenohjaus ">" on kyllä oikea jos tiedosto halutaan korvata. Mikäli haluttaisiin pelkästään lisätä uutta tietoa tiedoston loppuun niin silloin oikea ohjauskomento olisi ">>".
 
- 
				Shelliscripteihin kai pitää laittaa alkuun "#!/bin/bash". En tiedä miksi, mutta jokaisessa scriptassa sellainen on. Siksi minäkin sellaisen olen aina laittanut.
 
 Jonkun EOF jutun näin jossakin scriptassa, joka korvasi sources.listan. Mutta helposti sen tiedoston saa pyyhittyä komennolla:
 rm -f /polku/tiedostoon
 Tai mielummin näin:
 mv /polku/tiedostoon /polku/tiedostoon.bak
 Jolloin meillä on backuppikin.
- 
				Shelliscripteihin kai pitää laittaa alkuun "#!/bin/bash". En tiedä miksi, mutta jokaisessa scriptassa sellainen on. Siksi minäkin sellaisen olen aina laittanut.
 
 
 Se kertoo millä komennolla tiedosto suoritetaan. Jos se on "#!/bin/bash" niin se suoritetaan bash-skriptinä, jos se on "#!/usr/bin/perl" niin se suoritetaan perl-skriptinä ja niin edelleen. Ymmärsit varmaan idean :)
 
 Tuon lisäksi tiedostolla pitää tietysti olla suoritusoikeudet. Tiedostopäätteellä ei ole mitään merkitystä sillä jos tiedoston sisällä vain on skripti ja sillä on suoritusoikeudet niin se myös suoritetaan riippumatta siitä onko sen nimi "pamela.sh", "pamela.jpg" vai pelkkä "pamela".
 
 Jonkun EOF jutun näin jossakin scriptassa, joka korvasi sources.listan. 
 
 
 Tarkoittanetkohan bashin manuaalista kohdan "Here Documents" alta löytyvää juttua?
 
 Here Documents
 This  type  of  redirection  instructs the shell to read input from the
 current source until a line containing  only  word  (with  no  trailing
 blanks)  is seen.  All of the lines read up to that point are then used
 as the standard input for a command.
 
 The format of here-documents is:
 
 <<[-]word
 here-document
 delimiter
 
 No parameter expansion, command substitution, arithmetic expansion,  or
 pathname expansion is performed on word.  If any characters in word are
 quoted, the delimiter is the result of quote removal on word,  and  the
 lines  in the here-document are not expanded.  If word is unquoted, all
 lines of the here-document are subjected to parameter  expansion,  com‐
 mand  substitution,  and arithmetic expansion.  In the latter case, the
 character sequence \<newline> is ignored, and \ must be used  to  quote
 the characters \, $, and ‘.
 
 If the redirection operator is <<-, then all leading tab characters are
 stripped from input lines and  the  line  containing  delimiter.   This
 allows  here-documents within shell scripts to be indented in a natural
 fashion.
 
 Mutta helposti sen tiedoston saa pyyhittyä komennolla:
 rm -f /polku/tiedostoon
 Tai mielummin näin:
 mv /polku/tiedostoon /polku/tiedostoon.bak
 Jolloin meillä on backuppikin.
 
 
 Totta, ja vielä parempi on jos meillä on korvattava tiedosto muuttujassa jolloin sen käsittely on mukavampaa.
 
 list="/etc/apt/sources.list"
 
 # Yksinkertainen varmuuskopio
 mv "$list" "$list.backup"
 
 # "Monimutkaisempi" varmuuskopio aikaleimalla (sekunnin tarkkuus)
 mv "$list" "$list.backup.$(date -u +%Y-%m-%dT%H:%M:%S)"