首页 > 代码库 > Debian7.6安装过程中遇到的问题

Debian7.6安装过程中遇到的问题

一 sudo命令不能用

1 使用su切换到root用户,命令:

su

2 使用名:vim /etc/sudoers添加sudoer用户,命令:

vim /etc/sudoers

找到root=(ALL:ALL)ALL,在下面添加:

%你的用户名=(ALL)ALL

如果不想输入密码,可如下书写:

%你的用户名 ALL=(ALL) NOPASSWD: ALL


二 中文系统切换为英文系统

1 获得root权限,编辑local文件,命令:

vim /etc/default/local

2 把已经存在的内容注释掉,然后添加

LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
这样语言就设置好了,然后保存重启,启动后有一个弹框,选在更新就okl


三 解决安装svn之后的warning

在安装svn(subversion)完成之后出现警告:svn "cannot set LC_CTYPE locale"

还是编辑“二”中的local文件,在最后加上一行:

export LC_ALL=C

四 出现找不到"openssl/XXX.h"错误

因为没有安装libssl-dev,使用:

sodu apt-get install libssl-dev

安装即可


五 没有定义”__udivdi3“

报错如下:

undefined reference to `__udivdi3‘

1 原因

嵌入式中,32位系统中(目前多数系统都是,比如ARM的片子),对于普通的a除以b(b为32位):

(1)当a为32位,Linux 内核中,常用uint32_t 类型,可以直接写为 a/b

(2)但是,对于a是64位,uint64_t的时候,就要用到专门的除操作相关的函数,linux内核里面一般为

do_div(n, base),注意,此处do_div得到的结果是余数而真正的a/b的结果,是用a来保存的

do_div(n,base)的具体定义,和当前体系结构有关,对于arm平台,在

arch/arm/include\asm\div64.h

其实现很复杂,感兴趣的自己去代码里看吧,这里不多说了。

因此,如果你当前写代码,a/b,如果a是uint64_t类型,那么一定要利用do_div(a,b),而得到结果a,

而不能简单的用a/b,否则编译可以正常编译,但是最后链接最后出错,会提示上面的那个错误:

undefined reference to "__udivdi3"

2 解决方法

2.1 重做32位系统

2.2 修改使用方式

包含头文件:#include <linux/math64.h>,然后用do_div64(a,b)得到a/b的结果即可。

六  secureCRT The remote system refused the connection.

1 安装ssh客户端

apt-get install openssh-client


2 启动服务器

输入:

ps -e |grep ssh

如果能看到ssh-agent,而没有sshd,说明服务器端没有启动。

2.1 安装SSH服务器

aptitude install openssh-server

2.2 启动fuwuq

 /etc/init.d/ssh restart

2.3 确认服务器正常

netstat -tlp

如果有ssh就说明服务器已经正常工作