Lorsque j'ai installé Redmine, j'ai eu un problème au milieu de la configuration de la base de données. Je pense que je me suis retrouvé au milieu parce que j'ai essayé de passer à Mysql après avoir démarré avec sqlite3. Depuis lors, je ne peux pas le supprimer, l'installer, le configurer ou le réinstaller. L'autre question sur la réparation du paquet à moitié installé renvoie une erreur 123.
Sudo apt-get installe redmine
Do you want to continue? [Y/n] y
dpkg: error processing package redmine (--configure):
package redmine is not ready for configuration
cannot configure (current status 'half-installed')
Errors were encountered while processing:
redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)
Sudo apt-get supprimer redmine
Do you want to continue? [Y/n] y
dpkg: error processing package redmine (--remove):
package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
Errors were encountered while processing:
redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)
Sudo apt-get install --installe redmine
Preparing to unpack .../redmine_3.2.1-2_all.deb ...
Unpacking redmine (3.2.1-2) over (3.2.1-2) ...
ls: cannot access '/etc/redmine/*/database.yml': No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
dpkg: warning: subprocess old post-removal script returned error exit status 123
dpkg: trying script from the new package instead ...
ls: cannot access '/etc/redmine/*/database.yml': No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
dpkg: error processing archive /var/cache/apt/archives /redmine_3.2.1-2_all.deb (--unpack):
subprocess new post-removal script returned error exit status 123
ls: cannot access '/etc/redmine/*/database.yml': No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
dpkg: error while cleaning up:
subprocess new post-removal script returned error exit status 123
Errors were encountered while processing:
/var/cache/apt/archives/redmine_3.2.1-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Redmine semble avoir procédure de réinstallation spécifique que j'ai essayée, mais il échoue à l'étape où vous appelez Redmine car il n'est pas installé.
J'ai essayé la solution dans cette question à propos du paquet à moitié installé et ça ne fonctionne toujours pas:
Sudo dpkg --remove --force-remove-reinstreq redmine
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
(Reading database ... 409396 files and directories currently installed.)
Removing redmine (3.2.1-2) ...
ls: cannot access '/etc/redmine/*/database.yml': No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
dpkg: error processing package redmine (--remove):
subprocess installed post-removal script returned error exit status 123
Errors were encountered while processing:
redmine
Y a-t-il un moyen de réparer ce gâchis? Je me fiche de ce qu'il y a dans la base de données mysql ou de la configuration de redmine. Je veux juste partir de zéro et pouvoir utiliser Redmine à nouveau.
Edit: Je pense avoir résolu le problème avec:
Sudo rm/var/lib/dpkg/info/redmine *
Sudo dpkg --force-remove-reinstreq --élimine la mine rouge
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
dpkg: warning: files list file for package 'redmine-sqlite' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'redmine-mysql' missing; assuming package has no files currently installed
(Reading database ... 409382 files and directories currently installed.)
Removing redmine (3.2.1-2) ...
Après un "apt-get purge --auto-remove redmine" pour nettoyer tous les paquets associés et pour supprimer le fichier de configuration, j'ai pu installer Redmine à nouveau ... en théorie. Parce que Rake échoue maintenant (à cause de la configuration de la base de données fantôme?).
rake aborted!
Cannot load `Rails.application.database_configuration`:
Could not load database configuration. No such file - ["/usr/share/redmine/instances/default/config/database.yml"]
Ensuite, j'ai toujours le problème de suppression avec apt-get remove:
ls: cannot access '/etc/redmine/*/database.yml': No such file or directory
Je suis 16.04 LTS et j'ai eu exactement le même problème, mais j'ai procédé d'une manière différente.
Je n'ai pas supprimé les scripts dpkg
, mais au lieu de cela, j'ai ouvert le script redmine.postrm
et commenté les lignes à l'origine du blocage du script de post-suppression. Mon fichier a donc été laissé de la manière suivante:
$ cat /var/lib/dpkg/info/redmine.postrm
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then
. /usr/share/dbconfig-common/dpkg/postrm
# remove both current and old instances
# START OF THE COMMENTED SECTION TO AVOID CRASHES
# instances=$(ls -1 /etc/redmine/*/database.yml | xargs dirname | xargs -n 1 basename)
# for inst in $instances; do
# dbc_go redmine/instances/$inst "$@"
# done
# END OF THE COMMENTED SECTION TO AVOID CRASHES
fi
if [ "$1" = purge ]; then
rm -rf /var/log/redmine
rm -rf /var/cache/redmine
rm -rf /var/lib/redmine
rm -rf /etc/redmine
fi
## Automatically added by dh_installdebconf
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
db_purge
fi
# End automatically added section
#
Ce qui m'a permis de l'enlever simplement avec:
Sudo apt-get remove redmine --purge
Il vous demandera si vous souhaitez supprimer la base de données redmine_default
; J'ai répondu oui, mais tu devrais choisir avec soin.
Après cela, toute votre installation sera purgée sans aucun avertissement, votre première question aura donc une réponse.
(Pour plus d'informations sur le fonctionnement des scripts dpkg
, veuillez consulter: https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html )
Maintenant, comment installer Redmine et le faire fonctionner?
Nous allons commencer par faire
Sudo apt-get update && Sudo apt-get install redmine redmine-mysql
Probablement il va planter à nouveau en disant quelque chose comme:
Configurando redmine (3.2.1-2) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/redmine/instances/default.conf
Not replacing deleted config file /etc/redmine/default/database.yml
granting access to database redmine_default for redmine/instance@localhost: already exists.
creating database redmine_default: already exists.
dbconfig-common: flushing administrative password
rake aborted!
Cannot load 'Rails.application.database_configuration':
Could not load database configuration. No such file - ["/usr/share/redmine/instances/default/config/database.yml"]
/usr/share/redmine/lib/plugins/acts_as_activity_provider/init.rb:2:in 'block in <top (required)>'
/usr/share/redmine/config/initializers/00-core_plugins.rb:12:in 'eval'
/usr/share/redmine/config/initializers/00-core_plugins.rb:12:in 'block in <top (required)>'
/usr/share/redmine/config/initializers/00-core_plugins.rb:2:in 'each'
/usr/share/redmine/config/initializers/00-core_plugins.rb:2:in '<top (required)>'
/usr/share/redmine/config/environment.rb:14:in '<top (required)>'
/var/lib/gems/2.3.0/gems/rake-11.3.0/exe/rake:27:in '<top (required)>'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli/exec.rb:74:in 'load'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli/exec.rb:74:in 'kernel_load'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli/exec.rb:27:in 'run'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli.rb:332:in 'exec'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in 'run'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in 'invoke_command'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/vendor/thor/lib/thor.rb:359:in 'dispatch'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli.rb:20:in 'dispatch'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/cli.rb:11:in 'start'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/exe/bundle:34:in 'block in <top (required)>'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/friendly_errors.rb:100:in 'with_friendly_errors'
/var/lib/gems/2.3.0/gems/bundler-1.13.1/exe/bundle:26:in '<top (required)>'
Où il est clairement indiqué qu'il
Could not load database configuration. No such file - ["/usr/share/redmine/instances/default/config/database.yml"]
Maintenant nous avons 2 options:
Pour la version 3.2, vous trouverez un exemple ici: http://www.redmine.org/projects/redmine/repository/entry/branches/3.2-stable/config/database.yml.example . Après des changements mineurs, nous pouvons avoir quelque chose comme:
cat /usr/share/redmine/instances/default/config/database.yml
# Setup is given for MySQL with Ruby1.9.
# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.
# Line indentation must be 2 spaces (no tabs).
production:
adapter: mysql2
database: redmine_default
Host: localhost
username: root
password: "MySQLRootPassword"
encoding: utf8
development:
adapter: mysql2
database: redmine_default
Host: localhost
username: root
password: ""
encoding: utf8
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
database: redmine_test
Host: localhost
username: root
password: ""
encoding: utf8
Faites attention car la base de données de production DOIT ÊTRE redmine_default ou du moins est celle qui est laissée créée après l'installation. Je n'ai pas vérifié si cela fonctionnerait avec une autre valeur.
Vous pouvez le déplacer là où le script de configuration tente de le trouver:
Sudo cp /usr/share/redmine/config/database.yml /usr/share/redmine/instances/default/config/database.yml
Maintenant que nous avons tout ce dont vous avez besoin, nous pouvons terminer l’installation avec:
Sudo apt-get -f install
Informations supplémentaires sur l'installation de Redmine sur Ubuntu sur ce wiki, dans redmine.com .
Il s’agit en fait d’un bogue connu dans Redmine 3.2.3-1: Il existe une discussion à propos de ce problème dans ce groupe Google .
Ne manquez pas de créer '/etc/redmine/*/database.yml' lors de votre configuration. La création ultérieure ne semble pas résoudre le problème non plus.
Je l’ai finalement fait au bout de 8 heures environ, ma Redmine s’exécute à nouveau. Merci à Manuel et à des dizaines d'autres questions et réponses sur StackExchange.
Si la réponse acceptée ne fonctionne pas correctement pour supprimer l'ancien package et obtenir une erreur indiquant qu'il est dans un état vraiment déplorable (dpkg: warning: package is in a very bad inconsistent state; you should reinstall it before attempting a removal
) et qu'il ne peut pas être supprimé avec Sudo apt-get remove redmine --purge
écrit par Manuel, effectuez la procédure suivante: Suivant. Mettez toujours à jour le script redmine.postrm comme l’a écrit Manuel dans sa réponse. Peut-être que ça marche pour vous mais ça ne l’a pas été pour moi. Téléchargez le package redmine manuellement sur packages.ubuntu.com et exécutez Sudo dpkg -i WHERE/THE/DOWNLOADED/PACKAGE/IS
comme suggéré par ce commentaire .
Si cela ne fonctionne pas, essayez la chose suivante qui a fonctionné pour moi comme trouvé ici : Sudo dpkg --remove --force-remove-reinstreq redmine
. J'ai également utilisé Sudo dpkg --purge --force-remove-reinstreq redmine
pour supprimer les fichiers de configuration. Et après cela aussi Sudo apt-get remove redmine
et Sudo apt-get autoremove && Sudo apt-get autoclean
Si vous obtenez une autre erreur lors de l’installation de Redmine avec Sudo apt-get install redmine redmine-mysql
à propos de
/usr/local/bin/bundle:23:in 'load': cannot load such file -- /usr/share/rubygems-integration/all/gems/bundler-1.11.2/exe/bundle (LoadError)
from /usr/local/bin/bundle:23:in '<main>'
Ensuite, essayez de voir si vous avez la commande gem
disponible (sinon, ne savez pas d'où elle vient, mais probablement le paquetage Ruby, donc installez-le) et tapez gem install bundler
. Si vous l'avez déjà eu alors bon. Il sera installé sur le INSTALLATION DIRECTORY
que vous pouvez voir lorsque vous exécutez gem environment
, dans mon cas /var/lib/gems/2.3.0
. Je ne sais pas pourquoi mais je n’ai toujours pas eu le bundler-1.11.2
dans le répertoire mentionné ci-dessus, mais peu importe, il a continué.
La prochaine erreur que j'ai eu:
dbconfig-common: flushing administrative password
Could not find gem 'mysql2 (~> 0.4.0)' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.
Avant de pouvoir installer avec gem install mysql2
, je devais installer Sudo apt-get install libmysqlclient-dev
(si cela ne fonctionne pas, supprimez à nouveau le paquet redmine
comme indiqué ci-dessus, je devais le faire). Cela devrait être installé automatiquement avec le package redmine
mais oui…
Si vous obtenez une erreur comme
Fetching: mysql2-0.4.4.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.̀
Et avoir quelque chose dans le fichier journal des erreurs donné comme gcc: error: unrecognized command line option
puis exécutez Sudo apt-get install gcc make
. Essayez à nouveau avec gem install mysql2̀
.
Après cela, continuez avec la réponse de Manuel. Et si vous obtenez une erreur lors de la création du fichier database.yml (je n’en ai pas créé pendant l’installation et je ne pouvais pas le copier, je devais copier l’exemple de Manuel, alors ne vous inquiétez pas) et je poursuivais l’installation pour obtenir quelque chose. comme ça
[!] There was an error parsing 'Gemfile': undefined method 'values' for "Setup is given for MySQL with Ruby1.9.":String. Bundler cannot continue.
# from /usr/share/redmine/Gemfile:67
# -------------------------------------------
# database_config = YAML::load(ERB.new(IO.read(database_file)).result)
> adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
# if adapters.any?
# -------------------------------------------
Alors ne vous inquiétez pas, vous étiez trop stupide pour copier correctement le fichier database.yml comme je l’étais: D Dans mon cas, j’ai oublié le signe de commentaire de début #
. Si vous rencontrez peut-être d'autres problèmes, vérifiez votre fichier database.yml avec http://www.yamllint.com/ pour rechercher les erreurs. Peut-être que si vous avez un mot de passe contenant un @
, vous devez échapper à ce caractère (vous ne savez pas comment) car il s'agit d'un caractère réservé yaml.
Essaye ça:
Recherchez et commentez la ligne de suppression sur ce fichier: /var/lib/dpkg/info/redmine.postinst
Ressemble à ca:
#rm -f /var/lib/redmine/Gemfile.lock
Créez un lien symbolique vers /var/lib/redmine/Gemfile.lock sur/usr/share/redmine
Essayez la mise à niveau ;-)