因为要安装一个邮件系统,需要mysql做数据库支持,但是apt-get install安装的时候一定会安装mailx包,导致debian默认就会安装他的默认邮件系统exim4,但是那样会和我要安装的邮件系统相冲突,所以决定手动安装sql
最开始以为从http://packages.debian.org下一个sql-server的deb包就可以搞定的,但是mysql-server依赖于mysql-client的一个文件,所以还必须下载mysql-client和mysql-common
下了这3个文件以后,为了避免以前remove掉的mysql的残余对新的mysql产生影响,所以我先dpkg -P mysql-server mysql-client mysql-common,安装完成以后/etc/init.d/mysql start失败,看log也没看出个什么问题,因为我 是菜鸟,所以决定从新来,先卸掉他们,然后决定从原代码开始安装,
首先自动下载原代码并自动编译为deb的安装包
apt-get source mysql-server -b
报错,从回显看是缺少下面几个东西,一次安装也可以,一次都安装也可以
apt-get install libtool
apt-get install gawk
apt-get install libwrap0-dev
apt-get install libreadline4-dev libssl-dev chrpath
再次运行
apt-get source mysql-server -b
随后编译完成,
显示下列信息(这些信息的上面部分因为太多而略过了)
dh_builddeb -a
dpkg-deb --build debian/libmysqlclient12 ..
dpkg-deb: building package `libmysqlclient12' in `../libmysqlclient12_4.0.21-1_i386.deb'.
dpkg-deb --build debian/libmysqlclient-dev ..
dpkg-deb: building package `libmysqlclient-dev' in `../libmysqlclient-dev_4.0.21-1_i386.deb'.
dpkg-deb --build debian/mysql-client ..
dpkg-deb: building package `mysql-client' in `../mysql-client_4.0.21-1_i386.deb'.
dpkg-deb --build debian/mysql-server ..
dpkg-deb: building package `mysql-server' in `../mysql-server_4.0.21-1_i386.deb'.
dpkg-genchanges -b
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)
从上面看到共编译了4个deb的安装包,然后我手动安装
dpkg -i mysql-client_4.0.21-1_i386.deb mysql-server_4.0.21-1_i386.deb libmysqlclient12_4.0.21-1_i386.deb libmysqlclient-dev_4.0.21-1_i386.deb
除了mysql-server包安装失败外,其他的安装包均正常安装
报错如下
root@0[download]# dpkg -i mysql-client_4.0.21-1_i386.deb mysql-server_4.0.21-1_i386.deb libmysqlclient12_4.0.21-1_i386.deb libmysqlclient-dev_4.0.21-1_i386.deb
Selecting previously deselected package mysql-client.
(Reading database ... 64495 files and directories currently installed.)
Unpacking mysql-client (from mysql-client_4.0.21-1_i386.deb) ...
Selecting previously deselected package mysql-server.
Unpacking mysql-server (from mysql-server_4.0.21-1_i386.deb) ...
dpkg - warning: downgrading libmysqlclient12 from 4.0.21-3 to 4.0.21-1.
Preparing to replace libmysqlclient12 4.0.21-3 (using libmysqlclient12_4.0.21-1_i386.deb) ...
Unpacking replacement libmysqlclient12 ...
Selecting previously deselected package libmysqlclient-dev.
Unpacking libmysqlclient-dev (from libmysqlclient-dev_4.0.21-1_i386.deb) ...
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mailx; however:
Package mailx is not installed.
dpkg: error processing mysql-server (--install):
dependency problems - leaving unconfigured
Setting up libmysqlclient12 (4.0.21-1) ...
Setting up libmysqlclient-dev (4.0.21-1) ...
Setting up mysql-client (4.0.21-1) ...
Errors were encountered while processing:
mysql-server
从上面我们知道还是缺少mailx这个软件,apt-get install发现如果安装mailx就会自动安装exim4,那么都白费了,信息如下
root@0[download]# apt-get -f install
...
...
...
exim4 exim4-base exim4-config exim4-daemon-light mailx
eximon4 exim4-doc-html exim4-doc-info
libmysqlclient-dev
exim4 exim4-base exim4-config exim4-daemon-light mailx
0 5 1 191
1
1466kB/1467kB
5257kB
[Y/n]n
没办法决定强行安装
root@0[download]# dpkg --force-all -i mysql-server_4.0.21-1_i386.deb
(Reading database ... 64753 files and directories currently installed.)
Preparing to replace mysql-server 4.0.21-1 (using mysql-server_4.0.21-1_i386.deb) ...
Unpacking replacement mysql-server ...
dpkg: mysql-server: dependency problems, but configuring anyway as you request:
mysql-server depends on mailx; however:
Package mailx is not installed.
Setting up mysql-server (4.0.21-1) ...
Configuration file `/etc/init.d/mysql', does not exist on system.
Installing new config file as you request.
Configuration file `/etc/logrotate.d/mysql-server', does not exist on system.
Installing new config file as you request.
Configuration file `/etc/logcheck/ignore.d.workstation/mysql-server', does not exist on system.
Installing new config file as you request.
Configuration file `/etc/logcheck/ignore.d.server/mysql-server', does not exist on system.
Installing new config file as you request.
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for crashed MySQL tables in the background.
安装结束,我们ps -aux |grep mysql看一下
root@0[download]# ps -aux |grep mysql
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 32702 0.0 0.4 4316 612 pts/0 S 16:23 0:00 /bin/sh /usr/bin/mysqld_safe
root 32740 0.0 0.7 64612 976 pts/0 S
posted on
2004-09-25 17:19
情灭缘尽
阅读(2082)
评论(0)
编辑
收藏