Outils pour utilisateurs

Outils du site


doc:dak:installation_de_dak_sur_ondine

Ceci est une ancienne révision du document !


Installation de dak

Notes de mon installation de dak sur ondine (d'après plusieurs journaux de telles installations).

Ondine est une machine de test en sarge.

Je suis la procédure du /usr/share/doc/dak/README.Debian dont j'ai aussi fait une traduction française.

Installations

Installation de dak

# aptitude install dak
Les NOUVEAUX paquets suivants vont être installés : 
  dak libpq3 python-apt python-egenix-mxdatetime python-gnupginterface 
  python-ldap python-pygresql python2.3-egenix-mxdatetime 
  python2.3-egenix-mxtools python2.3-ldap python2.3-pygresql sudo 

Réponses aux questions debconf

J'essaie de suivre au maximum les choix par défaut.

Where to put the base directory for dak?
/opt/dak
Nom d'hôte de l'archive :
localhost.localdomain

NB : c'est nécessaire, en l'absence de domaine perso, pour que rose fonctionne bien.

Nom de votre archive :
archive FDL (ondine)
The name of your dak user.
deb-dak

NB : L'utilisation d'un tiret nécessite d'être précautionneux avec postgresql.

The name of your dak group.
debadmin

NB : Il ne demande rien sur le groupe debuser.

Résultat

Paramétrage de dak (1.0-8) ...
Domain: localhost.localdomain
Creating/updating dak user account and group...
Adding group `debadmin' (105)...
Fait.
Ajout de l'utilisateur système deb-dak...
Adding new user `deb-dak' (104) with group `debadmin'.
Création du répertoire personnel /var/lib/dak.
Creating config file /opt/dak/katie/apt.conf with new version
Creating config file /opt/dak/katie/cron.unchecked with new version
Creating config file /opt/dak/katie/katie.conf with new version
Creating config file /etc/katie/katie.conf with new version
Creating config file /opt/dak/katie/vars with new version
Creating config file /opt/dak/katie/Contents.top with new version
Creating config file /opt/dak/katie/templates/alicia.bug-close with new version
Creating config file /opt/dak/katie/templates/amber.advisory with new version
Creating config file /opt/dak/katie/templates/jennifer.accepted with new version
Creating config file /opt/dak/katie/templates/jennifer.announce with new version
Creating config file /opt/dak/katie/templates/jennifer.bug-close with new version
Creating config file /opt/dak/katie/templates/jennifer.bug-experimental-fixed with new version
Creating config file /opt/dak/katie/templates/jennifer.bug-nmu-fixed with new version
Creating config file /opt/dak/katie/templates/jennifer.new with new version
Creating config file /opt/dak/katie/templates/jennifer.override-disparity with new version
Creating config file /opt/dak/katie/templates/katie.rejected with new version
Creating config file /opt/dak/katie/templates/kelly.installed with new version
Creating config file /opt/dak/katie/templates/kelly.unaccept with new version
Creating config file /opt/dak/katie/templates/lauren.stable-rejected with new version
Creating config file /opt/dak/katie/templates/lisa.bxa_notification with new version
Creating config file /opt/dak/katie/templates/lisa.prod with new version
Creating config file /opt/dak/katie/templates/melanie.bug-close with new version
Creating config file /opt/dak/katie/templates/uma.added with new version

Installation de postgresql

Je suis :

6. Steps to a working dak
-------------------------

a. Have your postgresql up and running. I assume it is on the localhost,
   if not change your config files (katie.conf) for dak.
# aptitude install postgresql
Les NOUVEAUX paquets suivants vont être installés : 
  postgresql postgresql-client 

Réponses aux questions debconf

Où créer la base de données de PostgreSQL ?
/var/lib/postgres/data
Faut-il supprimer les données à la purge du paquet ?
Non
Paramètres régionaux utilisés par le moteur de bases de données :
fr_FR@euro
ordre jour/mois des dates
Européen

Résultat

Paramétrage de postgresql (7.4.7-6sarge1) ...

Creating config file /etc/postgresql/postmaster.conf with new version
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale fr_FR@euro.

fixing permissions on existing directory /var/lib/postgres/data... ok
creating directory /var/lib/postgres/data/base... ok
creating directory /var/lib/postgres/data/global... ok
creating directory /var/lib/postgres/data/pg_xlog... ok
creating directory /var/lib/postgres/data/pg_clog... ok
selecting default max_connections... 100
selecting default shared_buffers... 1000
creating configuration files... ok
creating template1 database in /var/lib/postgres/data/base/1... ok
initializing pg_shadow... ok
enabling unlimited row size for system tables... ok
initializing pg_depend... ok
creating system views... ok
loading pg_description... ok
creating conversions... ok
setting privileges on built-in objects... ok
creating information schema... ok
vacuuming database template1... ok
copying template1 to template0... ok

Success. The database server should be started automatically.
If not, you can start the database server using:

    /etc/init.d/postgresql start

Creating config file /etc/postgresql/postgresql.conf with new version

Et le paquet nous informe :

A new PostgreSQL database structure was installed.

Use /usr/bin/createdb to create a specific database and
/usr/bin/createuser to enable other users to connect to a
PostgreSQL database.

In the first instance, these commands must be run by the
user 'postgres'.

Configurations

Création de l'utilisateur de la base

b. run createuser YOURDAKUSERNAME with a user that is allowed to create
   databases and allow YOURDAKUSERNAME to create a database. This user
   needs to be superuser in the database as it runs COPY from a file later.
# su - postgres
$ createuser deb-dak
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
CREATE USER

Création des répertoires (par défaut)

c. su - YOURDAKUSERNAME
d. rose
e. Watch how the directories are created.
# su - deb-dak
$ rose
Creating /opt/dak/ftp/ ...
Creating /opt/dak/ftp/pool/ ...
Creating /opt/dak/database/dists/ ...
Creating /opt/dak/log/ ...
Creating /opt/dak/morgue/ ...
Creating /opt/dak/scripts/override/ ...
Creating /opt/dak/testing/urgencies/ ...
Creating /opt/dak/queue/accepted/ ...
Creating /opt/dak/queue/byhand/ ...
Creating /opt/dak/queue/done/ ...
Creating /opt/dak/queue/holding/ ...
Creating /opt/dak/queue/new/ ...
Creating /opt/dak/queue/reject/ ...
Creating /opt/dak/queue/unchecked/ ...
Creating /opt/dak/queue/bts_version_track/ ...
Creating /opt/dak/web ...
Creating /opt/dak/katie/neve-files ...
Creating /opt/dak/morgue/shania ...
Creating /opt/dak/morgue/rhona ...
Creating /opt/dak/katie-database/ ...
Creating /opt/dak/ftp/dists/unstable ...
Creating /opt/dak/ftp/dists/unstable/main/binary-alpha ...
Creating /opt/dak/ftp/dists/unstable/main/binary-amd64 ...
Creating /opt/dak/ftp/dists/unstable/main/binary-arm ...
Creating /opt/dak/ftp/dists/unstable/main/binary-hppa ...
Creating /opt/dak/ftp/dists/unstable/main/binary-hurd-i386 ...
Creating /opt/dak/ftp/dists/unstable/main/binary-i386 ...
Creating /opt/dak/ftp/dists/unstable/main/binary-ia64 ...
Creating /opt/dak/ftp/dists/unstable/main/binary-mips ...
Creating /opt/dak/ftp/dists/unstable/main/binary-mipsel ...
Creating /opt/dak/ftp/dists/unstable/main/binary-m68k ...
Creating /opt/dak/ftp/dists/unstable/main/binary-powerpc ...
Creating /opt/dak/ftp/dists/unstable/main/binary-s390 ...
Creating /opt/dak/ftp/dists/unstable/main/binary-sh ...
Creating /opt/dak/ftp/dists/unstable/main/binary-sparc ...
Creating /opt/dak/ftp/dists/unstable/main/source ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-alpha ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-amd64 ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-arm ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-hppa ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-hurd-i386 ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-i386 ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-ia64 ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-mips ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-mipsel ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-m68k ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-powerpc ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-s390 ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-sh ...
Creating /opt/dak/ftp/dists/unstable/contrib/binary-sparc ...
Creating /opt/dak/ftp/dists/unstable/contrib/source ...
Creating /opt/dak/ftp/project/experimental ...
Creating /opt/dak/ftp/project/experimental/main/binary-alpha ...
Creating /opt/dak/ftp/project/experimental/main/binary-amd64 ...
Creating /opt/dak/ftp/project/experimental/main/binary-arm ...
Creating /opt/dak/ftp/project/experimental/main/binary-hppa ...
Creating /opt/dak/ftp/project/experimental/main/binary-hurd-i386 ...
Creating /opt/dak/ftp/project/experimental/main/binary-i386 ...
Creating /opt/dak/ftp/project/experimental/main/binary-ia64 ...
Creating /opt/dak/ftp/project/experimental/main/binary-mips ...
Creating /opt/dak/ftp/project/experimental/main/binary-mipsel ...
Creating /opt/dak/ftp/project/experimental/main/binary-m68k ...
Creating /opt/dak/ftp/project/experimental/main/binary-powerpc ...
Creating /opt/dak/ftp/project/experimental/main/binary-s390 ...
Creating /opt/dak/ftp/project/experimental/main/binary-sh ...
Creating /opt/dak/ftp/project/experimental/main/binary-sparc ...
Creating /opt/dak/ftp/project/experimental/main/source ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-alpha ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-amd64 ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-arm ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-hppa ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-hurd-i386 ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-i386 ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-ia64 ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-mips ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-mipsel ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-m68k ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-powerpc ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-s390 ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-sh ...
Creating /opt/dak/ftp/project/experimental/contrib/binary-sparc ...
Creating /opt/dak/ftp/project/experimental/contrib/source ...

Création de la base de données de dak

Son nom dans les configurations par défaut est projectb.

# su - deb-dak
$ createdb projectb
CREATE DATABASE
$ psql -l        
        List of databases
   Name    |  Owner   | Encoding 
-----------+----------+----------
 projectb  | deb-dak  | LATIN9
 template0 | postgres | LATIN9
 template1 | postgres | LATIN9
(3 rows)

Création du groupe ftpmaster

f. Add a group "ftpmaster" to your postgresql database.
   At a psql prompt a CREATE GROUP ftpmaster; should do it.
   Add your YOURDAKUSERNAME to this group.
# su - deb-dak
$ psql projectb
Welcome to psql 7.4.7, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit
projectb=# CREATE GROUP ftpmaster ;
CREATE GROUP
projectb=# ALTER GROUP ftpmaster ADD USER "deb-dak" ;

NB la présence des guillemets est expliquée dans l'anomalie http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=23945.

ALTER GROUP
projectb=# \q

Initialisation de la base de données

g. Change to your DAKDIR/katie and run /usr/share/dak/neve -a and watch
   her creating the database. If it ends with some VACUUM and two GRANTs
   it worked.
   Be careful, neve DROPS your database, so don't run it if you like the
   data that is in that database!
# su - deb-dak
$ cd /usr/share/dak ; neve -a

NB : Le cd est important !

Re-Creating DB...
DROP DATABASE
CREATE DATABASE
You are now connected to database "projectb".
psql:init_pool.sql:11: NOTICE:  CREATE TABLE créera des séquences implicites «archive_id_seq» pour la colonne "serial" "archive.id"
psql:init_pool.sql:11: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «archive_pkey» pour la table «archive»
psql:init_pool.sql:11: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «archive_name_key» pour la table «archive»
CREATE TABLE
psql:init_pool.sql:18: NOTICE:  CREATE TABLE créera des séquences implicites «component_id_seq» pour la colonne "serial" "component.id"
psql:init_pool.sql:18: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «component_pkey» pour la table «component»
psql:init_pool.sql:18: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «component_name_key» pour la table «component»
CREATE TABLE
psql:init_pool.sql:24: NOTICE:  CREATE TABLE créera des séquences implicites «architecture_id_seq» pour la colonne "serial" "architecture.id"
psql:init_pool.sql:24: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «architecture_pkey» pour la table «architecture»
psql:init_pool.sql:24: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «architecture_arch_string_key» pour la table «architecture»
CREATE TABLE
psql:init_pool.sql:29: NOTICE:  CREATE TABLE créera des séquences implicites «maintainer_id_seq» pour la colonne "serial" "maintainer.id"
psql:init_pool.sql:29: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «maintainer_pkey» pour la table «maintainer»
psql:init_pool.sql:29: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «maintainer_name_key» pour la table «maintainer»
CREATE TABLE
psql:init_pool.sql:34: NOTICE:  CREATE TABLE créera des séquences implicites «uid_id_seq» pour la colonne "serial" "uid.id"
psql:init_pool.sql:34: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «uid_pkey» pour la table «uid»
psql:init_pool.sql:34: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «uid_uid_key» pour la table «uid»
CREATE TABLE
psql:init_pool.sql:40: NOTICE:  CREATE TABLE créera des séquences implicites «fingerprint_id_seq» pour la colonne "serial" "fingerprint.id"
psql:init_pool.sql:40: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «fingerprint_pkey» pour la table «fingerprint»
psql:init_pool.sql:40: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «fingerprint_fingerprint_key» pour la table «fingerprint»
CREATE TABLE
psql:init_pool.sql:48: NOTICE:  CREATE TABLE créera des séquences implicites «location_id_seq» pour la colonne "serial" "location.id"
psql:init_pool.sql:48: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «location_pkey» pour la table «location»
CREATE TABLE
psql:init_pool.sql:60: NOTICE:  CREATE TABLE créera des séquences implicites «files_id_seq» pour la colonne "serial" "files.id"
psql:init_pool.sql:60: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «files_pkey» pour la table «files»
psql:init_pool.sql:60: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «files_filename_key» pour la table «files»
CREATE TABLE
psql:init_pool.sql:71: NOTICE:  CREATE TABLE créera des séquences implicites «source_id_seq» pour la colonne "serial" "source.id"
psql:init_pool.sql:71: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «source_pkey» pour la table «source»
psql:init_pool.sql:71: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «source_file_key» pour la table «source»
psql:init_pool.sql:71: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «source_source_key» pour la table «source»
CREATE TABLE
psql:init_pool.sql:78: NOTICE:  CREATE TABLE créera des séquences implicites «dsc_files_id_seq» pour la colonne "serial" "dsc_files.id"
psql:init_pool.sql:78: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «dsc_files_pkey» pour la table «dsc_files»
psql:init_pool.sql:78: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «dsc_files_source_key» pour la table «dsc_files»
CREATE TABLE
psql:init_pool.sql:92: NOTICE:  CREATE TABLE créera des séquences implicites «binaries_id_seq» pour la colonne "serial" "binaries.id"
psql:init_pool.sql:92: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «binaries_pkey» pour la table «binaries»
psql:init_pool.sql:92: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «binaries_file_key» pour la table «binaries»
psql:init_pool.sql:92: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «binaries_package_key» pour la table «binaries»
CREATE TABLE
psql:init_pool.sql:102: NOTICE:  CREATE TABLE créera des séquences implicites «suite_id_seq» pour la colonne "serial" "suite.id"
psql:init_pool.sql:102: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «suite_pkey» pour la table «suite»
CREATE TABLE
psql:init_pool.sql:108: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «suite_architectures_suite_key» pour la table «suite_architectures»
CREATE TABLE
psql:init_pool.sql:115: NOTICE:  CREATE TABLE créera des séquences implicites «bin_associations_id_seq» pour la colonne "serial" "bin_associations.id"
psql:init_pool.sql:115: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «bin_associations_pkey» pour la table «bin_associations»
psql:init_pool.sql:115: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «bin_associations_suite_key» pour la table «bin_associations»
CREATE TABLE
psql:init_pool.sql:122: NOTICE:  CREATE TABLE créera des séquences implicites «src_associations_id_seq» pour la colonne "serial" "src_associations.id"
psql:init_pool.sql:122: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «src_associations_pkey» pour la table «src_associations»
psql:init_pool.sql:122: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «src_associations_suite_key» pour la table «src_associations»
CREATE TABLE
psql:init_pool.sql:127: NOTICE:  CREATE TABLE créera des séquences implicites «section_id_seq» pour la colonne "serial" "section.id"
psql:init_pool.sql:127: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «section_pkey» pour la table «section»
psql:init_pool.sql:127: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «section_section_key» pour la table «section»
CREATE TABLE
psql:init_pool.sql:133: NOTICE:  CREATE TABLE créera des séquences implicites «priority_id_seq» pour la colonne "serial" "priority.id"
psql:init_pool.sql:133: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «priority_pkey» pour la table «priority»
psql:init_pool.sql:133: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «priority_priority_key» pour la table «priority»
psql:init_pool.sql:133: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «priority_level_key» pour la table «priority»
CREATE TABLE
psql:init_pool.sql:138: NOTICE:  CREATE TABLE créera des séquences implicites «override_type_id_seq» pour la colonne "serial" "override_type.id"
psql:init_pool.sql:138: NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite «override_type_pkey» pour la table «override_type»
psql:init_pool.sql:138: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «override_type_type_key» pour la table «override_type»
CREATE TABLE
psql:init_pool.sql:149: NOTICE:  CREATE TABLE / UNIQUE créera un index implicite «override_suite_key» pour la table «override»
CREATE TABLE
CREATE TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
Adding static tables from conf file...
Writing data to `files' table...
Writing data to `source' table...
Writing data to `src_associations' table...
Writing data to `dsc_files' table...
Writing data to `binaries' table...
Writing data to `bin_associations' table...
Committing...
Running alyson...

Running add_constraints.sql...
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
 setval 
--------
       
(1 row)

 setval 
--------
       
(1 row)

 setval 
--------
       
(1 row)

 setval 
--------
       
(1 row)

 setval 
--------
       
(1 row)

 setval 
--------
       
(1 row)

 setval 
--------
    136
(1 row)

 setval 
--------
     12
(1 row)

 setval 
--------
      6
(1 row)

VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
VACUUM
GRANT
GRANT

Désinstallations

Désinstallation de dak

Avec les ajouts nécessaires pour contourner l'anomalie de dak dans sarge (avec les valeurs de debconf par défaut).

# aptitude purge dak

Pour virer les configurations oubliées par l'anomalie :

# ucf --purge /opt/dak/katie/apt.conf
# ucf --purge /opt/dak/katie/cron.unchecked
# ucf --purge /opt/dak/katie/katie.conf
# ucf --purge /etc/katie/katie.conf
# ucf --purge /opt/dak/katie/vars
# ucf --purge /opt/dak/katie/Contents.top

Pour faire le propre :

# rm -r /etc/katie

(attention, ci-dessous c'est toute l'archive que le mainteneur a fait exprès de laisser)

# rm -r /opt/dak

Penser à virer le crontab de deb-dak si on a mis quelque chose dedans.

Pour aussi virer les utilisateur et groupe créés.

# deluser deb-dak
# delgroup debadmin

et s'il a été créé :

# delgroup debuser
doc/dak/installation_de_dak_sur_ondine.1123078849.txt.gz · Dernière modification: 2005/08/03 16:27 (modification externe)