我的一些使用Debian的经验
时间:2005-11-18 来源:mantou
常备无患
因为喜欢,所以Linux。为了能更好的学习也是为了以后可能会和工作有关系,基本只用Debian和Redhat,以后有时间和机会的话,熟悉下Unix,不过那个时候我想有了Linux的经验,Unix没有什么问题,呵呵。
使用Debian有那么一段时间了,主要是不要考虑那么多的依赖性,不想在这里浪费时间,呵呵。所以,有时候又过于依赖他了。所以建议一下几点:
1, 为了稳定和学习的方便,最好选择stable。 还有,使用源的时候,既然使用了stable版本的Debian,那么不要同时用stable,和unstable的源了,因为你会不知道什么他们会出 错,或者你不知道什么时候你自己在安装了一些unstable的软件后,又切换到stable源中,那么就有可能造成不必要的错误和麻烦。 我受过苦,也许是我太好动了。
2,虽然减少了包依赖性的苦恼,但是却让我们养成了不知道软件的安装路径了,这也是不好的地方,所以呢自身要注意一般软件是装到哪里去了,这个好像可以cd /var/cache/apt/archives/ 然后可以看到各个软件预下载的deb包,dpkg -c vim-com*.deb 这样就可以大概看到安装哪里去了,或者你dpkg-deb -x vim-com*.deb你可以发现,其实deb包中的东西,其实有了预安装的路径了,只是dpkg 会处理一些自动启动和其他一些的教本吧,呵呵,我猜的。
一般比如mysql的路径常在 /var/lib/mysql(数据库), /usr/share/doc/mysql/ /usr/bin/mysql*(mysql-server,mysql-client程序),/etc/mysql(conf文件),大概这些
----------------------
我在使用中碰到的一些问题:
php:
如 果你会碰到要分区改变,也就是移植或者移动路径的情况的时候,你会cp的话(mv我没有注意),会改变owner to root,这你会运行php程序的时候提示建立php session什么没有权限之类的,这个时候你要改变这个文件夹的归属了,具体的路径我一下子想不起来了,当你碰到的时候,你就知道了,这里我好像是改成都能写,呵呵777,因为我不知道给谁权限,知道的兄弟纠正我一下
php 加载模块的问题,这个一般有时候出现在重新安装mysql,或者gd这些扩展模块的时候,一般情况是会自动配置好的,如果你的php程序提示说 mysql.so没有加载好,那么你现检查/etc/php4/apache/php.ini看看先,然后要重启apache
mysql:这里要感谢 Daniel Nilsson 这位外国朋友(如果你不能在论坛中找到一些答案的话,用Maillist吧)
这个东东是苦恼不少人的,我说的是其中的某个问题: 重装MySQL,提示不能启动
Debian:/var/log# mysql -u root mysql
ERROR 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/
mysqld.sock' (2)
Debian:/var/log# /etc/init.d/mysql start
Starting MySQL database server: mysqld...failed.
Please take a look at the syslog.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysq
ld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock'
exists!
检查/var/run/mysqld/ 下面没有生产mysqld.sock(mysql没有成功启动应该没有)
有人说是
chown -R root /path/to/mysql/
chgrp -R mysql /path/to/mysql/
chown -R mysql /path/to/mysql/data/ 能搞定,但是不行
你的明白,我们开始安装mysql的时候,一般是apt-get install mysql-server mysql-client,这里好像会自动装上mysql-common,
对于像我一样对dpkg ,apt的包管理命令不是很熟悉的人来说,常常卸载的办法是apt-get remove software,但是这样是有问题的,配置文件没有去掉。这里也发现debfoster这个东东并不是很好用。
所以,最好的办法就是apt-get remove --purge software, dpkg -P software有时候也有帮助。所以对这两个命令要熟悉。 如果你能对软件的安装去处很熟悉的话,你会能更好的处理一些更棘手的问题。
可能是中午吃饭撑的,只暂时想起这些,主要是自己记下算能帮自己以后再次碰到问题又不知道如何解决时候回忆。
jhuangjiahua 兄注解
1.
stable 的软件太旧, 没法满足我的要求...
2.
不需要那么麻烦 ( 除非太勤快了...)
查看一个已安装包的文件:
dpkg -L <包名>
查看系统里的某个文件是哪个包的:
dpkg -S <文件完整路径>
查看未安装的包的文件,或搜索哪个文件在什么包, 可以用 apt-file 工具 (自己去安装)
也可以去 http://www.debian.org/distrib/packages 在线查看
不过, Linux 下的软件都是在统一的目录里的,不像 Win 那样堆在 各自为政的文件夹里
没有太大的必要去折腾“装到哪儿了”
实际上一般都是
在 /usr/bin 下放相应的执行文件,
在 /etc 下放相应配置文件
在 /usr/share/<软件名类似> 和 /usr/lib/<软件名类似>放相关资源
在 /usr/share/pixmaps/ 下放图标
在 /usr/share/applications 下放“快捷方式”
在 /usr/share/doc/<软件名类似> 下放文档
等
3.
请参阅 man cp
cp -a 是照原样拷贝文件,包括所有者,属性,链接等