一 sudo命令不能用
1 使用su切换到root用户,命令:
su
2 使用名:vim /etc/sudoers加入sudoer用户,命令:
vim /etc/sudoers
找到root=(ALL:ALL)ALL,在以下加入:
%你的username=(ALL)ALL
假设不想输入password,可例如以下书写:
%你的username 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 安装sshclient
apt-get install openssh-client
2 启动server
输入:
ps -e |grep ssh
假设能看到ssh-agent,而没有sshd,说明server端没有启动。
2.1 安装SSHserver
aptitude install openssh-server
2.2 启动fuwuq
/etc/init.d/ssh restart
2.3 确认server正常
netstat -tlp
假设有ssh就说明server已经正常工作