mysql-community-serverをアップグレードするときに、
Preparing to unpack .../mysql-community-server_5.6.29-1debian8_amd64.deb ...
................
dpkg: error processing archive /home/yi01/Downloads/mysql-community-server_5.6.29-1debian8_amd64.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
みたいなエラーでコケた。
mysql-community-serverのdebファイルをバラして
sudo dpkg-deb -x ~/Downloads/mysql-community-server_5.6.29-1debian8_amd64.deb ~/Downloads/hoge
sudo dpkg-deb -e ~/Downloads/mysql-community-server_5.6.29-1debian8_amd64.deb ~/Downloads/hoge/DEBIAN
改造して
~/Downloads/hoge/DEBIAN/preinst
# !/bin/bash -x
再度固めて
sudo dpkg-deb -b ~/Downloads/hoge ~/Downloads/mysql-oreore-server.deb
ってやって、mysql-oreore-serverインストールを試みると、
+ echo upgrade
+ case "$1" in
+ set -e
+ server_stop
++ get_pcount
+++ ps -ef
+++ grep /usr/sbin/mysqld
+++ wc -l
++ PSCOUNT=2
++ echo 2
+ PSCOUNT=2
+ COUNT=0
+ :
+ COUNT=1
+ echo -n .
.+ '[' 2 -eq 1 ']'
+ '[' 1 -gt 15 ']'
++ get_pcount
+++ ps -ef
+++ grep /usr/sbin/mysqld
+++ wc -l
++ PSCOUNT=2
++ echo 2
+ PSCOUNT=2
+ sleep 1
+ :
+ COUNT=2
+ echo -n .
.+ '[' 2 -eq 1 ']'
+ '[' 2 -gt 15 ']'
++ get_pcount
+++ ps -ef
+++ wc -l
+++ grep /usr/sbin/mysqld
++ PSCOUNT=2
++ echo 2
+ PSCOUNT=2
+ sleep 1
+ :
+ COUNT=3
+ echo -n .
.+ '[' 2 -eq 1 ']'
+ '[' 3 -gt 15 ']'
++ get_pcount
+++ ps -ef
:
:
:
ってかんじで、15までカウントアップされて死んでます。
mysqldの数を数えて1だったらOKっぽいのですが、2なのがそもそもまずいみたい。
yi01 26505 0.0 0.7 2347772 119700 ? Sl Mar02 0:38 /usr/sbin/mysqld --defaults-file=/home/yi01/.local/share/akonadi/mysql.conf --datadir=/home/yi01/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-yi01.fUJrZG/mysql.socket
yi01 27063 0.0 0.0 12732 2172 pts/6 S+ 11:02 0:00 grep mysqld
akonadi?みたいなやつが勝手にMySQLサーバを動かしてて、そいつがカウントされてるのが mysql-community-serverてきには予想外なんだろうな、と。
たぶんKDMを切って、まっくろ画面でログインして sudo apt-get install mysql-community-server
したら解決するんだろうなぁと思いつつ、DEBパッケージをバラして組み立てるまでやっちゃったし、
~/Downloads/hoge/DEBIAN/preinst
server_stop () {
PSCOUNT=$(get_pcount)
COUNT=0
while :; do
COUNT=$(( COUNT+1 ))
echo -n .
if [ "${PSCOUNT}" -eq 2 ]; #★1を2に書き換えた★
then
で再度mysql-oreore-serverパッケージを作ってインストールしたら解決。
とはいえ毎度こんなことはやってられないので
MySQLをインストール/アップグレードするときにはKDMをオフってコンソールログインからやろう!
ということで。