2016-03-20 17 views
0

ソースからインストールしたMaraiadbに沿ってvpmにphpmyadminをインストールしようとしています。 Mariadb 10.1.12は正常に動作しています。 私はphpMyAdminのapt-get install from dependencies

apt-get install phpmyadmin 

をインストールしようとすると、私はその後、私のMariadbは、それがソケットの問題を与える作品ではないことをした後、プレスyで、それで行くならば、それは、

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") 

The following extra packages will be installed: 
    libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5 mysql-common php5-mysql 
Suggested packages: 
    mysql-server maridadb-server virtual-mysql-server www-browser 
The following NEW packages will be installed: 
    libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5 mysql-common php5-mysql phpmyadmin 
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. 
1 not fully installed or removed. 

を表示

おそらくmysql-clientがphpmyadminと一緒にインストールされている可能性があります。それを修正するには、mysqlパッケージをパージしてください。

sudo apt-get --purge remove "mysql*" 

mariadbが正常に動作し始めます。

はそう、私はこれらの依存関係なしでphpMyAdminのをインストールすることができますとにかくさを知りたい、私はその依存関係を削除することができるように

/var/lib/dpkg/status 

でphpMyAdminのを見つけることを試みたが、phpMyAdminがリストになかった:(

は、Debian 8ジェシー

+0

equivs-build mypackage.ctl

  • は、偽のパッケージをインストールします。 – rugk

  • 答えて

    1

    phpmyadminが依存関係としてSQL Serverを持っているように見えるので、それはデフォルトでMySQLをインストールします。すでにMariadbの自己コンパイルされたバージョンを持っているとして、これは問題の原因にインストール使用しています。あなたのケースのmysqで実際にMariadbに使用したいソケットを使用しているようです。 もちろん、これらの2つのSQLサーバのポート/ソケットを同時に実行できるように変更することはできますが、同じサーバ上で同時に2つのSQLサーバを実行することはあまり意味がありません。

    より良い方法...

    だから、より良い方法は、インストールしたMySQLサーバの偽のパッケージを作成することです。 equivsでこれを行うことができます。詳細情報:How to tell apt that dependencies are resolved manually?

    あなたのケースでは、Debianによってインストールされたmaraiadbパッケージを取り出し、サーバにコンテンツをインストール済みであることが分かっているすべてのパッケージを偽造するべきです。

    はここ

    のための私の一般的なガイドで使用する方法equivs

    私は偽のパッケージと鈴ときに、新しいフォルダを使用することをお勧めします。 (mkdir ~/fakepackages && cd ~/fakepackages

    1. は偽にしたいプログラムのオリジナルのパッケージを取得します。apt-get download mypackage
    2. .debファイルの制御ファイルを取得します。 .debファイルを抽出して制御ファイルを検索することで、これを行うことができます。

      私は、次の手順をお勧めします。

      1. は、新しいディレクトリを作成し、そこに移動します。mkdir package&&cd package(あなたが.debファイルをダウンロードする前に、すでにこれを行う場合があります)
      2. ar xv package.deb
      3. tar xzf control.tar.gz
      4. コントロールファイルを見つけた場所にコピーします。cp control ../mypackage.ctl.orig
      5. ディレクトリから取り出して削除します:cd ..rm -rf package
    3. 制御ファイルを開いたままにします。
    4. 新しい制御ファイルを作成します。equivs-control mypackage.ctl
    5. テンプレートが表示されます。インストールして偽装したい(自己コンパイルした)プログラムと元の制御ファイルの情報について知っている情報を組み合わせて、偽の制御ファイルを作成します。できるだけ多くの真の値を追加するようにしてください。それは、少なくともこれらの値が提供されていることが重要である:(元の制御ファイルがそれを持っている場合)

      • パッケージ
      • は、あなたがすべき説明で
      • 説明

      を提供しますパッケージが偽装されていることを明確にしてください。

    6. 偽のパッケージをビルドします。私はそれがプログラミングを行うことはあまりしていないとして、スーパーユーザーまたはserverfaultのにこの質問を移動することをお勧めしたいsudo dpkg -i mypackage_1.0.deb
    +0

    ya :)私は手動パッケージインストールでそれを行いました。 – user889030