天天看点

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

一、ubuntu常用命令与常见库的安装​

1.1 切换超级用户​

ubuntu 有以下方式切换到 root 身份。​

  1. sudo+命令,输入当前用户密码后以 root 权限执行命令,有时间限制且仅限当前命令。​
  2. sudo -i,输入当前用户密码后以 root 权限登录 shell,无时间限制。使用 exit 或 logout 退出。​
  3. su,输入 root 账户的密码后切换到 root 身份,无时间限制。 su 用户名切换回其它用户。​
  4. sudo su,效果同 su,只是不需要 root 的密码,而需要当前用户的密码。​

1.2 动态获取 IP 地址​

$ sudo dhclient -r //release ip 释放 IP​

$ sudo dhclient //动态获取 IP​

示例:​

1.3 make menuconfig 错误解决​

sudo apt-get install libncurses5-dev安装缺少的库​

1.4安装​

sudo apt-get update​

sudo apt-get install gedit-gmate​

sudo apt-get install gedit-plugins​

sudo apt-get remove gedit​

sudo apt-get install gedit​

1.5 NFS 服务器的启动设置​

安装 NFS 服务器: ​

wbyq@wbyq:~$ sudo apt-get install nfs-kernel-server​​

wbyq@wbyq:~$ sudo apt install nfs-common​

NFS 配置文件: # gedit /etc/exports​

/work *(rw,no_root_squash,sync)​

生效路径:​

输出路径:​

  • NFS服务器配置脚本

/etc/init.d/nfs-kernel-server restart ​#复位 NFS服务​

#/etc/init.d/nfs-kernel-server start ​#启动 NFS 服务​

#/etc/init.d/nfs-kernel-server stop ​#停止 NFS 服务​

ufw disable #关闭防火墙​

1.6 安装​

# apt install vim​

1.7 ubuntu修改终端显示样式-PS1​

  • 普通用户下修改PS1样式:

wbyq@wbyq:~$ pwd​

/home/wbyq​

wbyq@wbyq:~$ vim .profile​

在文档后面加入:​

export PS1='[\u@\h \W]\$'​

立即生效:​

wbyq@wbyq:~$ source .profile​

  • 超级用户下修改PS1样式​
[root@wbyq /]# vim /etc/profile​

最下面增加代码:​

PS1='[\u@\h \W]\$ '​

立即生效:​

[root@wbyq /]# source /etc/profile​

二、 ubuntu下安装windows软件运行环境

2.7.1 安装wine

wine(“Wine Is Not an Emulator”的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。安装了wine之后,会模仿一个类windows的运行环境出来,于是很多windows下的程序就能顺理安装在linux系统中了。具体的安装步骤也很简单,以ubuntu系统为例。执行如下语句就好: sudo apt-get install wine​

wine下载地址: ​​https://wiki.winehq.org/Ubuntu​​​

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

2.7.2 安装source insight

将source insight安装的可执行文件复制到ubuntu中。我复制到了~/Desktop/下面。 ​

运行命令: wine ~/Desktop/Si35Setup.exe​

其中Si35Setup.exe为source insight安装包名字。安装过程与windows相同。​

2.7.3 启动source insight建立工程

使用命令启动source insight,建立工程和windows相同。​

运行命令:wine "c:\Program Files\Source Insight 3\Insight3.exe"​

三、更新ubuntu系统软件源(提高下载速度)

由于linux系统自带的镜像源都在国外,国内用户下载或更新软件会比较慢,有时是非常慢,所以国内某些机构,如大学,研究院所,就在国内建了linux的镜像源服务器供国内linux用户使用,而我们要使用这些源,就要更改自己linux系统的更新源配置文件。​

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法
#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法
#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法
#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

下载源选择之后,需要在命令行进行更新,分别执行下面命令即可:​

更新软件源 ​:sudo apt-get update​

更新软件:​sudo apt-get dist-upgrade​

四、解决ubuntu软件安装问题

4.1 解决ubuntu64位系统无法运行32位软件问题

很多开发板厂家提供的是32bits的编译器,而现在很多人使用的是64位linux,当解压编译器压缩包,并且加入到环境变量后,提示没有这样的文件等问题。​

在Ubuntu 64上需要安装lib32ncurses5,使用如下命令:​

sudo apt-get install lib32ncurses​

4.2 ubuntu定位软件包方法

当出现:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory.时,我们首先知道的是缺少libz.so.1这个.so文件。​

这里只是报错缺少这个库文件,可是我们怎么这知道 libz.so.1在哪个包呢?​

我们可以使用命令:apt-file search 来查找,首先安装,按如下命令:​

sudo apt-get install apt-file​

安装完以后系统会提示你update,如果没有提示,在终端输入如下命令:​

sudo apt-file update​

apt-file 是用来查找某个命令或者某一个库所在的包的,具体用法如下:​

~$ apt-file search libz.so.1​

运行命令显示如下:​

lib32z1: /usr/lib32/libz.so.1​

lib32z1: /usr/lib32/libz.so.1.2.3.3​

lib32z1-dev: /usr/lib32/libz.so​

lsb-build-base3: /usr/lib/lsb3/libz.so​

zlib1g: /lib/libz.so.1​

zlib1g: /lib/libz.so.1.2.3.3​

zlib1g-dbg: /usr/lib/debug/lib/libz.so.1.2.3.3​

zlib1g-dbg: /usr/lib/debug/usr/lib32/libz.so.1.2.3.3​

zlib1g-dev: /usr/lib/libz.so​

使用apt-file search 查找你的库所在包就行了,右边的是匹配你的库,左边的是你查的库所在的包,所以最后安装对应的包就行了。我们会发现与libz.so.1相对应的是左边名字叫:lib32z1的包,所以安装这个lib32z1包即可。​

sudo apt-get install lib32z1​

sudo apt-get install zlib1g​

4.3 安装X11库

下载地址:​​https://pkgs.org/download/libx11-dev​​​

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

4.4 编译QT出现错误:cannot find -lGL

问题:​

构建项目出现错误-1: error: cannot find -lGL​

解决办法:​

命令行执行:locate libGL.so ​

/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1​

/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0​

做一个链接:​

sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so​

如果系统了没有查找到库,就进行在线安装:​

sudo apt-get install libgl1-mesa-dev

4.5 64位系统缺少32位的库报错提示与解决方法

错误提示如下:缺少32位的库。​

wbyq@wbyq:~/work/tmp/bin$ ./qmake -v​

./qmake: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64​

运行以下命令:​

wbyq@wbyq:~/work/tmp/bin$ apt-file update //更新文件​

wbyq@wbyq:~/work/tmp/bin$ apt-file search libstdc++.so.6 //软件包定位,查看32位的库如何安装​

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

wbyq@wbyq:~/work/tmp/bin$ sudo apt-get install libx32stdc++6 //接下来进行安装即可​

wbyq@wbyq:~/work/tmp/bin$ sudo ln -s /usr/libx32/libstdc++.so.6 /usr/lib/libstdc++.so.6 //建立软连接​

wbyq@wbyq:~/work/tmp/bin$ sudo apt-get install libc6-dev-i386 //安装libc6-dev-i386软件​

#导入Word文档图片# Ubuntu系统下常用命令使用与问题解决方法

4.6 ubuntu下解决 ×.so.×: wrong ELF class: ELFCLASS64 的问题

安装软件时出现问题 ×.so.×:wrong ELF class: ELFCLASS64 ,大致的意思是软件是32位的,需要32位的 ×.so.×动态链接库,而系统是64位的所提供的该 动态链接库×.so.×是64位的,所以不能用。​

首先可以查看自己的64位系统是否开启了32位支持功能​

1. 在终端输入 dpkg --print-architecture​

你将会看到像下面这样的内容:amd64​

这说明着你已经拥有了64位架构内核。​

2. 输入 dpkg --print-foreign-architectures​

输出是:i386​

说明已经打开多架构支持了,如果还没打开可以按下面操作​

3. sudo dpkg --add-architecture i386​

sudo apt -get update​

然后就会开始下载更新然后运行。​

之后你需要输入:​

sudo apt-get dist-upgrade​

它会检查你已经拥有的库文件是否有更新的版本。​

若果然有的话,它会问你是否需要更新(y/n)。​

如此这般,你就已经成功地为你的64位系统安装了32位支持了。​

既然软件需要32位的库,并且64位系统已经安装了32位支持了,那就安装32位的呗,可是,要注意的是在http://packages.ubuntu.com/trusty/devel/网站上下到的32位deb包是不能安装成功的,总是会提示什么32位不能安装在64位系统之类的,所以要下载rpm包,地址:http://rpm.pbone.net/​

1. 在上面的网站中搜索自己需要的×.so.×,然后选择i386的rpm包下载,注意要下载i386的​

2. 下载好后,不要转换成deb包,因为用alien命令是转换不成功的,直接双击rpm包,提取里面的文件夹​

3. 在提取出的文件夹中搜索自己需要的×.so.×,你需要的×.so.×可能是某个源文件xx的‘快捷方式’,把源文件xx复制到你自己的某个目录下​

4. 然后用命令 ln -s 某个目录/xx /urs/lib/×.so.×,创建该源文件xx的‘快捷方式’到/usr/lib/目录下​

下载32位的lib32z1​

sudo apt-get install lib32z1​

下面使用apt-file命令搜索这个文件,首先如果系统中没安装这个命令的要先安装:​

sudo apt-get install apt-file​

有可能会提示你更新​

sudo apt-file update​

使用命令搜索:​

sudo apt-file search libz.so.1​

我的系统所得到的结果:​

lib32z1: /usr/lib32/libz.so.1​

lib32z1: /usr/lib32/libz.so.1.2.8​

libx32z1: /usr/libx32/libz.so.1​

libx32z1: /usr/libx32/libz.so.1.2.8​

zlib1g: /lib/x86_64-linux-gnu/libz.so.1​

继续阅读