Kirjoittaja Aihe: Sources.list-skripti?  (Luettu 9916 kertaa)

Kupuntu

  • Käyttäjä
  • Viestejä: 804
  • Kubuntu 8.10 @ Amilo A1645
    • Profiili
Sources.list-skripti?
« : 03.03.06 - klo:20.31 »
Eli kehittelin tässä sellaisen skriptin, jolla jokainen aloittelia voisi laittaa sources.listinsä kuntoon hetkessä. Kun ovat skriptitaidot ovat hieman riittämättömät tähän hommaan, niin ajattelin kysyä että voisimmeko tehdä täällä sellaisen. Ohjeet tässä (kommentoikaa):

1. Varmuuskopioisi alkuperäisen sources.listin (sudo cp /etc/apt/sources.list /etc/apt/sources.list_orig)

2. Lataisi uuden sources.listin (wget http://jonkun.oma.palvelin.esim.org)

3. Kopioisi sen oikeaan paikkaan (sudo cp /home/(käyttäjä_tunnus) /etc/apt/sources.list)

3. Komentaisi sudo apt-get update.

Sources.listiksi ehdoittaisin tätä:
Lainaus
deb http://fi.archive.ubuntu.com/ubuntu breezy main restricted
deb-src http://fi.archive.ubuntu.com/ubuntu breezy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://fi.archive.ubuntu.com/ubuntu breezy-updates main restricted
deb-src http://fi.archive.ubuntu.com/ubuntu breezy-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://fi.archive.ubuntu.com/ubuntu breezy universe multiverse
deb-src http://fi.archive.ubuntu.com/ubuntu breezy universe multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://fi.archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse
deb-src http://fi.archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu breezy-security main restricted
deb-src http://security.ubuntu.com/ubuntu breezy-security main restricted

deb http://security.ubuntu.com/ubuntu breezy-security universe
deb-src http://security.ubuntu.com/ubuntu breezy-security universe

## Plf
deb http://packages.freecontrib.org/ubuntu/plf/ breezy free non-free
deb-src http://packages.freecontrib.org/ubuntu/plf/ breezy free non-free
Tuo käyttäjätunnus on ongelma, mutta sekin poistuisi tallentamalla tiedosto /home kansioon.

EDIT: Kyhäilin tuossa tälläisen skriptin, toivottavasti toimii.
Koodia: [Valitse]
#!/bin/sh
#Kupuntu 4.3.2006 (Muut henkilöt: Osku,mgronber ja janne sekä mikk0)
#Sources.list-skripti
##
# Tarkistetaan ennen kopiointia ettei varmuuskopiota ole olemassa.
# Skripti keskeytetään virheilmoituksella mikäli varmuuskopio on
# jo olemassa.
#
backup=~/sources.list_$(date +%F)
[ -f "$backup" ] && echo "Varmuuskopio on jo olemassa - keskeytetään" && exit 1
cp /etc/apt/sources.list "$backup"
wget http://jonkun oma palvelin
sudo cp ~/sources.list /etc/apt/sources.list
sudo apt-get update

[ylläpito on poistanut liitteen]
« Viimeksi muokattu: 25.03.06 - klo:17.29 kirjoittanut Kupuntu »
Amilo A1645: AMD 3300+ 2.0 Ghz, 512 mb RAM, 80 gb kiintolevy.
Last.fm

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Re: Suorces.list-skripti?
« Vastaus #1 : 03.03.06 - klo:21.35 »
Mikä toi plf on?

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Suorces.list-skripti?
« Vastaus #2 : 03.03.06 - klo:21.36 »
Mikä toi plf on?

Penguin Liberation Front. se paketoi kyseenalaisella linsenssillä olevaa tavaraa ainakin mandrakelle ja ubuntulle.
Janne

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Re: Suorces.list-skripti?
« Vastaus #3 : 03.03.06 - klo:21.40 »
Kyseenalaisella? Minkälaista softaa sieltä saa?

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Suorces.list-skripti?
« Vastaus #4 : 04.03.06 - klo:00.40 »
Kyseenalaisella? Minkälaista softaa sieltä saa?

sunin javaa, w32-koodekit, skype, opera, realplayer ja libdvdcss2.
Janne

Kupuntu

  • Käyttäjä
  • Viestejä: 804
  • Kubuntu 8.10 @ Amilo A1645
    • Profiili
Re: Sources.list-skripti?
« Vastaus #5 : 04.03.06 - klo:16.24 »
Sitten vaan kommentoimaan, tein tohon ylös sen skriptin.
Amilo A1645: AMD 3300+ 2.0 Ghz, 512 mb RAM, 80 gb kiintolevy.
Last.fm

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Re: Sources.list-skripti?
« Vastaus #6 : 04.03.06 - klo:16.36 »
Lisäsin ton mutta Synaptic ei löydä esim Skypeä.

Kupuntu

  • Käyttäjä
  • Viestejä: 804
  • Kubuntu 8.10 @ Amilo A1645
    • Profiili
Re: Sources.list-skripti?
« Vastaus #7 : 04.03.06 - klo:17.11 »
Lisäsin ton mutta Synaptic ei löydä esim Skypeä.
Suorititko sudo apt-get updaten?
Amilo A1645: AMD 3300+ 2.0 Ghz, 512 mb RAM, 80 gb kiintolevy.
Last.fm

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Re: Sources.list-skripti?
« Vastaus #8 : 04.03.06 - klo:17.40 »
jep

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Sources.list-skripti?
« Vastaus #9 : 04.03.06 - klo:17.53 »
jep

skype löytyy palvelimelta i386-puolelta, mutta ilmeisesti repon pakettilistasta sitä ei tällä hetkellä löydy. syytä tähän en kyllä tiedä. tilanne näkyy olevan sama myös sunin javalla ja realplayerilla, varmaan sitten muillakin. plf:n mirrori kuitenkin toimii moitteetta:
Koodia: [Valitse]
## FTP mirror provided by Free.fr (French ISP - http://free.fr)
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
Janne

muep

  • Käyttäjä
  • Viestejä: 896
    • Profiili
Re: Sources.list-skripti?
« Vastaus #10 : 05.03.06 - klo:17.26 »
Tuohon skriptiin ehdottaisin yhtä lisävaatimusta.

Jos skripti on ajettu jo aikaisemmin, niin se ei enää ylikirjoittaisi sitä varmuuskopiota sillä vanhalla, koska silloinhan varmuuskopion sisältö on sama kuin varsinaisen sources.listin.

Eli sen pitäisi varmistaa, että varmuuskopion ottaminen ei ylikirjoita vanhaa varmuuskopiota. Ehdottaisin, että varmuuskopion nimeen lisättäisiin vaikka kopioinnin ajankohta tai jotain vastaavaa.

Vahingossa voi tulla se skripti ajettua useampaan kertaan...
[http://smolt.fedoraproject.org/show?uuid=pub_ac53b581-021a-4b76-bd14-e7d51f55462f]Pöytäkone[/url]
Läppäri

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Re: Sources.list-skripti?
« Vastaus #11 : 05.03.06 - klo:17.44 »

EDIT: Kyhäilin tuossa tälläisen skriptin, toivottavasti toimii.
Koodia: [Valitse]
#!/bin/sh
#Kupuntu 4.3.2006
#Sources.list-skripti
cp /etc/apt/sources.list /home/sources.list_orig
wget http://http://forum.ubuntu-fi.org/index.php?action=dlattach;topic=2206.0;id=17
sudo cp /home/(käyttäjä_tunnus) /etc/apt/sources.list
sudo apt-get update
Ei toimi koska olet linkittnyt sen tänne foorumille. Vain kirjautuneena näkee liitetiedostot. Lisäksi URL on virheellinen.

Vapaan koodin kananmuna

  • Käyttäjä
  • Viestejä: 1536
    • Profiili
Re: Sources.list-skripti?
« Vastaus #12 : 05.03.06 - klo:19.58 »
Noissa cp komennoissa voi huoletta käyttää ~/ kotihakemistona, vaikka sudolla esim whoami antaakin tulokseksi root, niin se ei mene hakemistoon ~root/
En Vastaa Vaikeisiin Kysymyksiin.

Kupuntu

  • Käyttäjä
  • Viestejä: 804
  • Kubuntu 8.10 @ Amilo A1645
    • Profiili
Re: Sources.list-skripti?
« Vastaus #13 : 05.03.06 - klo:20.43 »

EDIT: Kyhäilin tuossa tälläisen skriptin, toivottavasti toimii.
Koodia: [Valitse]
#!/bin/sh
#Kupuntu 4.3.2006
#Sources.list-skripti
cp /etc/apt/sources.list /home/sources.list_orig
wget http://http://forum.ubuntu-fi.org/index.php?action=dlattach;topic=2206.0;id=17
sudo cp /home/(käyttäjä_tunnus) /etc/apt/sources.list
sudo apt-get update
Ei toimi koska olet linkittnyt sen tänne foorumille. Vain kirjautuneena näkee liitetiedostot. Lisäksi URL on virheellinen.
Ok. Muutetaan sitten. Kuka suostuisi ottamaan sen tiedoston omalle palvelimelleen?
Tuohon skriptiin ehdottaisin yhtä lisävaatimusta.

Jos skripti on ajettu jo aikaisemmin, niin se ei enää ylikirjoittaisi sitä varmuuskopiota sillä vanhalla, koska silloinhan varmuuskopion sisältö on sama kuin varsinaisen sources.listin.

Eli sen pitäisi varmistaa, että varmuuskopion ottaminen ei ylikirjoita vanhaa varmuuskopiota. Ehdottaisin, että varmuuskopion nimeen lisättäisiin vaikka kopioinnin ajankohta tai jotain vastaavaa.

Vahingossa voi tulla se skripti ajettua useampaan kertaan...
Ja mitenkäs tämä toteutetaan?
« Viimeksi muokattu: 05.03.06 - klo:20.47 kirjoittanut Kupuntu »
Amilo A1645: AMD 3300+ 2.0 Ghz, 512 mb RAM, 80 gb kiintolevy.
Last.fm

teprrr

  • Käyttäjä
  • Viestejä: 304
    • Profiili
Re: Sources.list-skripti?
« Vastaus #14 : 07.03.06 - klo:00.26 »
Ok. Muutetaan sitten. Kuka suostuisi ottamaan sen tiedoston omalle palvelimelleen?
Uh, minusta tämmöisiä järjestelmän turvallisuutta ja muuta käyttöä ohjaavia tiedostoja ei pitäisi jaella automaattisesti aloittelijoille "jonkun" kotikoneelta.

Lainaus
Ja mitenkäs tämä toteutetaan?
Vaikkapa näin:
Koodia: [Valitse]
cp /etc/apt/sources.list ~/sources.list_$(date +%F)

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Re: Sources.list-skripti?
« Vastaus #15 : 07.03.06 - klo:01.09 »
Ja mitenkäs tämä toteutetaan?
Vaikkapa näin:
Koodia: [Valitse]
cp /etc/apt/sources.list ~/sources.list_$(date +%F)

Tuo on riittämätön varmistus jos vaarana on ajaa skripti kahteen kertaan. Pitäisin huomattavan todennäköisenä että skripti ajetaan kahteen kertaan saman vuorokauden sisällä jos se yleensä ajetaan vahingossa kahteen kertaan. Joko tuohon pitää lisätä tarkistus ettei tuota varmuuskopiota ole jo olemassa tai sitten lisätään tuohon vielä kellonaika.

Koodia: [Valitse]
##
# Tarkistetaan ennen kopiointia ettei varmuuskopiota ole olemassa.
# Skripti keskeytetään virheilmoituksella mikäli varmuuskopio on
# jo olemassa.
#
backup=~/sources.list_$(date +%F)
[ -f "$backup" ] && echo "Varmuuskopio on jo olemassa - keskeytetään" && exit 1
cp /etc/apt/sources.list "$backup"

##
# Vaihtoehtoisesti lisätään varmuuskopioon päiväys sekunnin tarkkuudella.
# Tässä esitetty versio lisää varmuuskopioon ISO 8601:n mukaisen päiväyksen
# sekunnin tarkkuudella.
#
cp /etc/apt/sources.list ~/sources.list_$(date -u +%FT%TZ)


mikk0

  • Käyttäjä
  • Viestejä: 555
    • Profiili
Re: Sources.list-skripti?
« Vastaus #16 : 25.03.06 - klo:15.57 »
Skriptiin sellainen muutos, että se ei sokeasti korvaisi vanhaa tiedostoa uudella, vaan se lisäisi siihen olemassaolevaan listaan (kunhan siitä olisi otettu varmuuskopio) uusia rivejä ja pakettilähteitä.

Tämä siksi että joku on voinut jonkin muun ohjeen mukaan jo lisätä jotakin tuonne listaansa (esim. minulla siellä on mm. näytönohjaimen ajurien sijainti).

Ensin kunkin lähteen lisäämistä pitäisi varmistaa, että se ei ole jo tuossa listassa.
Yritin itse tehdä tuollaista omaan asennajava-skriptiini, joka siis vain lisää sources.listiin multiversen, jos siellä ei sitä jo ole. Lisäksi universe-rivin alussa oletuksena oleva kommenttimerkki poistetaan:

Koodia: [Valitse]
#!/bin/bash

# JRE:n helppoon asentamiseen luotu skriptim joka myös lisää
# tarvittavat pakettivarastot sources.listiin
# 19.2.2006 Mikko Saarinen (GPL)

echo ""
echo "Lisätään sources.listiin tarpeelliset pakettivarastot (multiverse)"
echo ""
if cat /etc/apt/sources.list | grep "^deb http" | grep "breezy " | grep "multiverse"
then
  echo ""
  echo "Multiverse on jo asennettu"
  echo ""
else
  echo ""
  echo "Lisätään multiverse pakettivarastoihin"
  echo ""
  sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup_asennajava
  if cat /etc/apt/sources.list | grep "#deb http" | grep "breezy " | grep "multiverse"
  then
    sudo sed -i -e '/multiverse/s/^#deb/deb/' /etc/apt/sources.list
  else
    sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu breezy universe/s/^#//' /etc/apt/sources.list
    sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu breezy universe/s/$/ multiverse/' /etc/apt/sources.list
  fi
fi
echo ""
echo "Päivitetään pakettienhallinnan tietokanta"
echo ""
sudo apt-get update
echo ""
echo "Asennetaan paketti Blackdown Java"
echo ""
sudo apt-get install j2re1.4
echo ""
echo "Asennus on valmis. Sulje Firefox ja käynnistä se uudelleen, niin Java-tuen pitäisi olla käytössä"
echo "Mikko Saarinen =) 19.2.2006"

Tosin mgronber huomautti ihan aiheesta siitä, että tuon useamman ketjutetun grepin käytön voisi välttää käyttämällä regexpejä:

Koodia: [Valitse]
if grep '^deb http.*breezy.*multiverse' /etc/apt/sources.list; then
    [...]
else
    if grep '^#deb http.*breezy.*multiverse' /etc/apt/sources.list; then
        [...]
    done
    [...]
done

Samoin hänellä oli parempi versio tuosta sed-skriptistä jolla multiverse lisätään halutulle riville (universen perään)

Koodia: [Valitse]
sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu.*breezy universe/s/^\(#\?\)\(.*[^[:space:]]\)/\2 multiverse/' /etc/apt/sources.list

Että tällaista,
Mikko

Mikko Saarinen