您好,欢迎进入 官方网站!

您现在的位置: 首页 新闻资讯>> 新闻头条>> 简要说说NUC972和linux的那些大坑
新闻资讯
NEWS INFORMATION

简要说说NUC972和linux的那些大坑

发布时间:2019-05-22

刚开始装虚拟机,按照步骤,一步一步,装完,发现虚拟机连不上网,后来在网上得知得需要启动虚拟机设置,可是观察我的虚拟机并没有该选项,起初我认为是版本的问题,可是后来才发现,一时贪便宜,图省事,就没有注册,所以虚拟机最重要的功能也就没有实现,刚开始并没有发现这个问题。后来发现VI 上下左右变成了ABCD,这我最开始知道这是新老版本的问题,结果准备上网更新一下,才发现根本连不上网,后来网上下载一个虚拟机并重新注册,VMWAVE猜和网上的设置一样,接下来就是网上更新和下载VIM,要想下载,首先解决的就是联网问题,在网上查阅资料知道联网有三种方式,具体如下:

我的pc有一个IP地址是可以访问网络的,那么怎样让VM能够共享我的IP地址,也能上网呢。今天在摸索中实现了,具体的配置如下:

  1,首先将VM的网卡net8启用:

怎样让VM共享本地网络地址上网

  2,然后将VM的网卡设置为VMnet8(NAT):

  3,将PC的可以上网的网卡共享:

怎样让VM共享本地网络地址上网

  要勾上允许其他网络用户通过此计算机的intenet连接来连接,并选择VMnet8。

  4,设置VMnet8网卡的默认网关为本地PC可以上网的网卡的IP地址:

怎样让VM共享本地网络地址上网

  我可以上网的网卡的IP地址为172.18.216.77,VMnet8的地址为192.168.0.1

  5,设置VM中网卡的地址为192.168.0.*网段,默认网关为192.168.0.1,并配置好DNS。

怎样让VM共享本地网络地址上网

  这样就算设置完成了,在VM中访问网络时,先根据默认网关192.168.0.1,找到了VMnet8网卡,然后根据VMnet8网卡的默认网关172.18.216.77找到了可以上网的网卡,而该网卡已经共享上网,因此就实现了VM共享主机的IP地址上网啦。

  名词解释 VM:虚拟机现在体现于一个叫做VM/ESA的产品里,它广泛的安装在IBM的主机操作系统里,包括MVS和会话监视系统(CMS),所以每个操作系统看上去像有它自己完整的软件和硬件资源系统(数据存储,通信,处理器等等)。也就是说VM给每个操作系统一个自己的"虚拟机"。VM和CMS在许多大公司里很流行,他们把它当成一个能让大量交互式用户通信或者开发并且能同时运行程序的系统。许多公司使用MVS来做商业应用而把VM作为程序开发和用户通信环境。

VMware三种网络模式根本区别

虚拟机技术在最近的几年中得到了广泛的发展,一些大型网络服务商都开始采用虚拟机技术,不仅节省了投资成本,更节约了能源的消耗。现在很多朋友都用VMware来解决32位XP的内存访问问题,今天就和大家一起探讨一下VMware 3种网络模式的功能和通信规则。

我们知道VMware也分几种版本,普通用户最常用的就是Workstation,但是不管使用哪种版本,我们都能发现在安装过程中让我们选择网络模式。在默认情况下会选中桥接模式,但有用户会问其他模式是干什么用的?有时候选择了其他模式之后就不能上网了。

我们首先说一下VMware的几个虚拟设备

VMnet0:用于虚拟桥接网络下的虚拟交换机

VMnet1:用于虚拟Host-Only网络下的虚拟交换机

VMnet8:用于虚拟NAT网络下的虚拟交换机

VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡

VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡

安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图:

一.桥接网络(Bridged Networking)

桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位(虚拟网卡既不是Adepter VMnet1也不是Adepter VMnet8)。

那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。

我们看到,物理网卡和虚拟网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同。两个网卡在拓扑结构中是相对独立的。

我们在192.168.15.111上ping192.168.15.96,结果显示两个网卡能够互相通信。如果在网络中存在DHCP服务器,那么虚拟网卡同样可以从DHCP服务器上获取IP地址。所以桥接网络模式是VMware虚拟机中最简单直接的模式。安装虚拟机时它为默认选项。

二.NAT模式

在NAT网络中,会用到VMware Network Adepter VMnet8虚拟网卡,主机上的VMware Network Adepter VMnet8虚拟网卡被直接连接到VMnet8虚拟交换机上与虚拟网卡进行通信。

VMware Network Adepter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。

VMware Network Adepter VMnet8虚拟网卡的IP地址是在安装VMware时由系统指定生成的,我们不要修改这个数值,否则会使主机和虚拟机无法通信。

虚拟出来的网段和NAT模式虚拟网卡的网段是一样的,都为192.168.111.X,包括NAT服务器的IP地址也是这个网段。在安装VMware之后同样会生成一个虚拟DHCP服务器,为NAT服务器分配IP地址。

当主机和虚拟机进行通信的时候就会调用VMware Network Adepter VMnet8虚拟网卡,因为他们都在一个网段,所以通信就不成问题了。

实际上,VMware Network Adepter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机的物理网卡被关闭,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了。

三.Host-Only模式

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

同NAT一样,VMware Network Adepter VMnet1虚拟网卡的IP地址也是VMware系统指定的,同时生成的虚拟DHCP服务器和虚拟网卡的IP地址位于同一网段,但和物理网卡的IP地址不在同一网段。

Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

综述

在VMware的3中网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,如果是在内网环境中还很容易,如果是ADSL宽带就比较麻烦了,ISP一般是不会大方的多提供一个公网IP的。

VMware虚拟机三种联网方法及原理

Brigde桥接:默认使用VMnet0

原理

Bridge 桥”就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,
同时在”桥”上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。
这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare网卡和物理网卡应该处于同一IP网段
当然要保证两个局域网没有冲突的IP.

VMWare 的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现
在由VMWare软件虚拟了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,
这样,发到物理网卡的所有数据包就到了VMWare虚拟机,
而由VMWare发出的数据包也会通过桥从物理网卡的那端发出。

所以,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。   

联网方式

这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。
把虚拟机看成局域网内的另一台电脑就行了!

提示:主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。

““““““““““““““““““““““““““““““““““““““““““““““““““““““““““`

NAT网络地址转换 :默认使用VMnet8##

原理

NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,
比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,
而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,
对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。
此技术解决了IP地址稀缺的问题。同样的私有IP可以网关NAT 上网。

VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,
这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。
虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。

虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不同一个地址段,主机相当于虚拟机的网关,
所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。

联网方式

方法1、动态IP地址。

主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“, linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑→虚拟网络设置”, 将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭)

方法2、静态IP地址。

如果不想使用DHCP,也可以手动设置: IP设置与vmnet1同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2。子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成)DNS设置与主机相同。例如:主机IP是10.70.54.31,设置虚拟机IP为10.70.54.22。Netmask,Gateway,DNS都与主机相同即可实现虚拟机---主机虚拟机<---->互联网通信。提示:使用NAT技术,主机能上网,虚拟机就可以访问Internet,但是主机不能访问虚拟机。

““““““““““““““““““““““““““““““““““““““““““““““““““““““““““`

Host-Only私有网络共享主机:默认使用VMnet1

原理

提供的是主机和虚拟机之间的网络互访。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,
就要采用这个设置了。

Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。
这块网卡可以在网络连接中看到,一般是VMNET1,这块网卡的作用就是使Windows看到虚拟机的IP。

联网方法

方法1、动态IP地址。

像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。 当然,还要进行一些局域网共享的操作,这里不再赘述。

方法2、静态IP地址。

也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的网关相同, 其余设置与VMnet1相同,DNS设置与主机相同。 例如:VMnet1IP:172.16.249.1Gateway :172.16.249.2    那么虚拟机IP:172.16.249.100Gateway:172.16.249.2    这样、 虚拟机<--->主机 可以通信 但是、 虚拟机<--->互联网 无法通信 提示:Host-only技术只用于主机和虚拟机互访,于访问internet无关。
在这里我用的是NAT的方式,将可以上网的网卡共享到VMNET8,然后注意一下IP地址不能重复,就能上网了,IP地址我过几天会讲到。
连上网之后,该下载VI了,发现还是不能下载,经过一番查找,原来是更新源出了问题,当你发现ubuntu的网已经连上时,或者浏览器其已经可以上网,但是通过命令行下载总是出现
问题时,你就应该考虑一下源的问题。

Ubuntu14.04默认的源都是国外的,所以我们下载东西十分的慢,更新一下中国源,让下载速度可以更快,这里有两种方法更新源的方法,一种是图形界面操作,另一种是命令操作。

方法一:图形界面操作更新源

  1. 点击右上角的”搜索“图标,在搜索框中输入update,在显示的应用列表中,点击”Software&Updates(软件&更新)“。

  2. 在弹出的”Software&Updates“窗口中,选择”Ubuntu Software“,你可以看到”Download from(下载源)“是”Server for United States(美国服务器)“。点击”Server for United States“下拉菜单,选择”Other...(其他)“。

  3. 在弹出”Choose a Download Server(选择下载服务器)“窗口中向上拉,找到China(中国),然后,选择中国的服务器,这里可以选择教育源,网易、阿里等等。(我在这里选的是163(网易)的),然后点击”Choose Server(选择服务)“按钮。


  4. 然后,弹出”Authenticate(认证)“窗口,输入系统密码(ubuntu上由于安全性安装软件,需要输入密码),然后点击”Authenticate(认证)“按钮。

  5. 此时,你会发现”Software&Updates“窗口中的”Download from(下载源)“已经变成你设置的中国源。点击”Close(关闭)“按钮。

  6. 然后,会弹出一个提示,大概意思是”安装软件和更新添加的源或修改源,必须要重新加载可用软件的信息“,点击”Reload(重载)“按钮。进入”Updating cache(更新缓存)“界面,等待更新完过后,下载源就真正变成中国的了。以后下载东西就更快了。

这是第二种方法:
  1. (1)首先备份官方源,以免设置错误可恢复。

    Ubuntu14.04更新源
  2. (2)用编辑器打开 /etc/apt/sources.list文件。
    Ubuntu14.04更新源
  3. (3)删除原有的源,在编辑器中添加新源。如图所示:

  4. (4)添加的源有很多,可根据自己的情况选择。

    #163

    deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

    deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

    deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

    deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

    deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

    deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

    #中科大

    deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe

    deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe

    deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe

    deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe

    deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

    deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe

    deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe

    deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe

    deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe

    deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

    #sohu

    deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse

    deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse

    deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse

    deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse

    deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse

    deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse

    #oschina

    deb http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse

    deb http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse

    deb http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse

    deb http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse

    deb http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse

    deb-src http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse

    deb-src http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse

    deb-src http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse

    deb-src http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse

    deb-src http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse

    #北京交通大学

    deb http://mirror.bjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-updates main multiverse

    # 北京理工

    deb http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe

    deb http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe

    deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe

    restricted universe

    #上海交大

    deb http://ftp.sjtu.edu.cn/ubuntu/ trusty universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-security universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-updates universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-proposed universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-backports universe restricted multiverse main

    #阿里云服务器

    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

  5. 5(5)更新。
    Ubuntu14.04更新源
  6. 更改了源之后,接下来就是要更新VIM了

  1. 一般来说,新拿到的树莓派的源都是国外的,我们首先要更换软件源,将原来的地址用#注释,然后再写一个新的。

    1 软件源位于何处
    【树莓派软件源镜像列表】
    截止2014年8月,在中国的软件源镜像有——清华大学(2015年将停止访问)、大连东软信息学院、中国科技大学和华中科技大学等。
    例如大连东软信息学院的软件源镜像地址为——http://mirrors.neusoft.edu.cn/raspbian/raspbian

    2 修改sources.list
    【备份】
    在修改之前先把源列表备份,然后再修改sources.list
    cd /etc/apt
    cp sources.list sources.list_back
    【修改】
    sudo nano sources.list
    例如使用大连东软信息学院软件源镜像,修改之后的内容如下:
    deb http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy main contrib non-free rpi

    3 更新软件源和软件
    # 更新软件源
    sudo apt-get update
    # 更新软件
    sudo apt-get upgrade

  2. sudo apt-get install vim 时如果出现以下错误

    E: Package 'vim' has no installation candidate

    则依次执行

    sudo apt-get update

    sudo apt-get upgrade

  3. 然后执行命令 sudo apt-get remove vim-common这一步是将原来的vim版本删除

  4. 然后再执行命令 sudo apt-get install vim这一步是安装,重新安装的vim就不会出现ABCD问题。

    安装完成,vi重新打开文件,再按上下左右键就不会在屏幕上出现ABCD问题。
安装完,接下来就是要将NUC970的BSP包复制到虚拟机系统里,我用的虚拟机系统是ubuntu系统,15.10,64位,解压缩后,在安装过程中,需要配置一下路径这是一个问题
在解压缩过程中需要ROOT权限,如果系统是刚装上的,需要设定密码,之后su root,输入密码就可以了,具体如下:
  1. 先用快捷键crtl+alt+T 打开终端,显示的是用户名@电脑名:~$,符号$就表示现在处于普通用户权限。

  2. 然后输入:sudo passwd root

    终端会显示

    Enter new UNIX password:

    设置root用户密码,按Enter

    终端显示

    Retype new UNIX password:

    再输入一遍

  3. 确定之后终端会显示

    passwd: password updated successfully

    表示root用户成功创建并设置密码

  4. 验证:输入su root/su,终端显示password,输入刚刚设置的root密码,没有错误提示,并且#即代表当前用户有root权限

    返回用户权限 su 用户名 就可以了

【环境配置的原因】

在windows系统下,很多软件的安装都需要设置环境变量,比如安装JAVA JDK。如果不安装环境变量,在非软件安装的目录下运行javac命令,将会报告“找不到文件”类似的错误。那么, 什么是环境变量呢?简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。设置变量对于一般人最实用的功能就是:不用拷贝某些dll文件到系统目录中了,而path这一系统变量就是系统搜索dll文件的一系列路径;
在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量 PATH 的
设置 问题,而 PATH 的 设置 也 是在linux下定制环境变量的一个组成部分。



【环境变量配置的三个方法】


如想将一个路径加入到$PATH中,可以像下面这样做:

1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。

这个只针对特定的shell;

$ PATH="$PATH:/my_new_path" (关闭shell,会还原PATH)



2. 修改/etc/profile文件,如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell;



$ vi /etc/profile



在里面加入:

export PATH="$PATH:/my_new_path"




使用source命令使修改立刻生效:

source /etc/profile





3. 修改.bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。



$ vi /root/.bashrc



在里面加入:



export PATH="$PATH:/my_new_path"
source /root/.bashrc



后两种方法一般需要重新注销系统才能生效,也可以使用source 命令,使修改的配置立刻

最后可以通过echo命令测试一下:



$ echo $PATH



输出已经是新路径了。


原文地址:http://blog.csdn.net/w1014074794/article/details/50952432

更改路径之后 通过echo $PATH来观察确实存在这个路径,在编译时,ARM-LINUX-GCC这条编译器总是找不到,不明白为什么,后来得知是因为32位的编译器,与64位的系统不兼容所致
知道了原因,就要去解决,怎么办呢?

ubuntu又迎来了其新一代的长期支持版本 14.04 LTS,其带来了许多令人期待的新特新,遂决定进行升级。

装好了64位版本及交叉编译工具链后,运行GCC,依然会提示那经典的“没有那个文件或目录”提示。

根据以往的经验,对于64位版本ubuntu我们需要安装“ia32-libs”依赖库。

遂输入:

sudo apt-get install ia32-lib

却提示查无此货? 已经被”lib32z1 lib32ncurses5 lib32bz2-1.0“这几个哥们代替了!

ubuntu 14.04 64位版本 gcc无法运行 安装ia32-libs提示没有可用的软件包 怎么破

按照提示,输入apt-get install 命令将以上的依赖包进行安装

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

再次运行GCC,报错“libstdc++.so.6: cannot open shared object file: No such file or directory”

ubuntu 14.04 64位版本 gcc无法运行 安装ia32-libs提示没有可用的软件包 怎么破-2

还需再次安装“lib32stdc++6”依赖包

sudo apt-get install lib32stdc++6

在网上搜了下,大概是64位系统需要一个包,就安装了libc6-i386


$sudo apt-get install libc6-i386



但是又提示新的错误,编译找不到 libstdc++.so.6 文件,到/usr/lib文件下看下有这个文件

一直在找资料,找了一天,在官方文件中发现有两个包包含这个文件

一个是libstdc++6
一个事lib32stdc++6
于是

$sudo apt-get install libstdc++6
$sudo apt-get install lib32stdc++6


问题顺利解决

可以想到,在64位系统中,此类问题肯定还会有。

这时终于可以顺利编译了,但是还是有不少疑惑?比如动态加载是什么意思?

在LINUX下加载驱动程序可以采用动态和静态两种方式。静态加载就是把驱动程序直接编译到内核里,系统启动后可以直接调用。静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译下载内核,效率较低。动态加载利用了LINUX的module特性,可以在系统启动后用insmod命令把驱动程序(.o文件)添加上去,在不需要的时候用rmmod命令来卸载。在台式机上一般采用动态加载的方式。在嵌入式产品里可以先用动态加载的方式来调试,调试完毕后再编译到内核里。

联系方式 0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Baidu
map