Linux开发环境搭建04---Ubuntu14.04中基本开发环境配置
来源:互联网 发布:大数据技术起源行业 编辑:程序博客网 时间:2024/05/21 15:02
一、Linux下常用服务软件的安装
主要包括:TFTP服务、NFS服务 、SSH服务、FTP服务
(一)安装TFTP
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。
TFTP 允许仅单向传输的文件。
在嵌入式开发环境搭建中TFTP一般用于局域网络加载Linux内核映像。当然在Windows上也有相应的TFTP服务器软件,例如:Tftpd32等;下面讲述Linux下的TFTP服务器软件安装。
(1) 安装
$ sudo apt-get install tftpd-hpa tftp-hpa
说明:tftp-hpa是client,tftpd-hpa是server
(2) 配置
tftp-hpa 的配置文件为/etc/default/tftpd-hpa
$ sudo gedit /etc/default/tftpd-hpa
打开文件后修改如下:
*********************************************************************
#/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tftpboot"//这里是你的tftpd-hpa 的服务目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l-c -s" //这里是选项
*********************************************************************
(3) 配置权限
$ sudo chmod 777 /home/ tftpboot
//这里就配置为drwxrwxrwx 2 root root 4096 3月 16 09:36tftpboot
(4)重启tftp 服务或者reboot 系统即可。
$ sudo service tftpd-hpa restart
(二)安装NFS
NFS(Network FileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS可以提高嵌入式应用软件开发调试的效率,避免了重复拷贝应用程序到嵌入式开发板的过程。
(1) 安装nfs 软件
$sudoapt-get install nfs-kernel-server nfs-common
(2) 修改nfs目录权限
$sudochmod 777 /home/nfs_root
(3)配置
修改/etc/exports文件
$sudo gedit /etc/exports
加入以下内容:
/home/nfs_root*(rw,sync,no_root_squash,no_subtree_check)
或则
/home/nfs_root*(insecure,rw,sync,no_root_squash,no_subtree_check)
(4)重新启动nfs 服务或者重启ubuntu 即可。
$sudo /etc/init.d/nfs-kernel-server restart
注意:为了保证我们的挂载配置正确,最好
A、本地挂载一下,验证NFS是否设置正确
$sudo mount -t nfs 127.0.0.1:/home/nfs_root/mnt
若此处挂载不上可能原因:
a、NFS的配置不正确
b、NFS未启动
c、NFS的挂载目录权限问题(此处可以不用修改,因为在/etc/exports中已设置参数no_root_squash)
chmod 777 /home/nfs_root/
chmod 777 /home/
$sudo umount /mnt/nfs
B、修改NFS的挂载目录的文件拥有者和文件所属组,因为刚考过来的文件可能文件的拥有者出现问题
root@yyl-VM:/home/nfs_root# chown yyl:yyl./nfs_root/ -R
其中,/fs_root/是开发板文件系统的根目录
(三)SSH服务(22端口)
SSH 为 Secure Shell 的缩写,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
通过在Ubuntu14.04中安装SSH服务,我们可以使用支持SSH协议的软件在Windows或Linux上对虚拟机进行远程Shell访问。Windows上的SSH软件客户端一般使用SercureCRT、Putty等。
(1)安装
$sudoapt-get update
$sudoapt-get install openssh-server
(2)查看ssh服务是否启动
打开"终端窗口",输入"sudops -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,
输入"sudoservice ssh start"-->回车-->ssh服务就会启动。
(3)配置
使用gedit修改配置文件" gedit /etc/ssh/sshd_config"
打开"终端窗口",输入"sudogedit /etc/ssh/sshd_config"-->回车-->把配置文件中的"PermitRootLoginwithout-password"
加一个"#"号,把它注释掉-->再增加一句"PermitRootLoginyes"-->保存,修改成功。
(四)FTP服务(21端口)
FTP服务器(FileTransfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
通过在Linux中安装FTP服务器,我们可以在Windows安装FTP客户端进行Windows与Linux之间进行文件传输。Windows中的客户端一般使用CuteFTP,FileZilla等。
(1)安装
$sudoapt-get update
$sudoapt-get install vsftpd
(2)配置
修改vsftpd的配置文件:
$sudogedit /etc/vsftpd.conf
将下面几行前面的#去掉
#local_enable= YES //是否允许本地用户登录
#write_enable= YES //是否允许上传文件
(3)验证
重启ftp服务 :
$sudoservice vsftpd restart
用cuteFTP若不行,则重新启动虚拟机
(五)安装中文pinyin
Text entry------中文入口中添加 English(US)chinese chinese(pinyin)
注意设置快捷键 选项
二、交叉编译器的安装与配置
无论是上层软件应用开发还是嵌入式软件开发,都需要在Linux环境下设置编译器。编译器一般有两种获取方式,一种是自己编译编译器;另一种是使用第三方软件开发商提供的编译器,以后一种居多;下面主要讲述如何在Linux中配置第三方软件编译器。
1、 获取软件编译所用的编译器
网上有很多资源;
例如:arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
或arm-Linux-gcc-4.3.3
2、解压并复制编译器到安装目录
(1)解压 sudo tarzxvf arm-linux-gcc-4.4.3.tar.gz -C/ (实际上是在根目录下建立文件夹opt)
(2)建立目录
sudo mkdir /usr/local/arm
(3)复制文件
sudo cp -r/opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm
3、添加环境变量
网上很多修改环境变量的方法,很杂。有redhat上面的,fedora。下面一共三种方法,有人都在ubuntu14.04.03上试过,可行。(本人只用了第一种方法做过,其他的没有试过)
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
$sudo gedit /etc/bash.bashrc
在最后加上
**********************************************************************
exportPATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
exportPATH=$PATH:/usr/local/arm/4.4.3/bin
***********************************************************************
(路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)【对所有用户生效(永久的)】
$sudogedit /etc/profile
增加路径设置,在末尾添加如下:
*********************************************************************
exportPATH=$PATH:/usr/local/arm/4.4.3/bin
*********************************************************************
Note:在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi/etc/profile
exportCLASSPATH=./Java_HOME/lib;$JAVA_HOME/jre/lib
修改文件后要想马上生效还要运行#source /etc/profile不然只能在下次重进此用户时生效。
方法三:修改/etc/environment文件
$sudogedit /etc/environment
原文件应为
*********************************************************************
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
*********************************************************************
将其改为
*********************************************************************
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"
*********************************************************************
方法四:直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
############################################################################
关于环境变量问题:
环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。
/usr/local/arm/4.4.3/binarm-linux-gcc文件名 -o 输出文件名这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。
###########################################################################
4.注册环境变量(使设置的环境变量)
立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法
方法一:source/etc/bash.bashrc
方法二:source/etc/profile
方法三:立即生效
检查环境变量是否设置好。
$echo $PATH
输出:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/arm/4.4.3/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/arm/4.4.3/bin
5、验证:arm-linux-gcc-v ,我的显示如下:
Usingbuilt-in specs.
Target:arm-none-linux-gnueabi
Configuredwith: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure--build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu--target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3--with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--enable-languages=c,c++ --disable-multilib --with-arch=armv4t--with-cpu=arm920t --with-tune=arm920t --with-float=soft--with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit--with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3--with-ppl=/opt/FriendlyARM/toolschain/4.4.3--with-cloog=/opt/FriendlyARM/toolschain/4.4.3--with-mpc=/opt/FriendlyARM/toolschain/4.4.3--with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99--enable-long-long --enable-target-optspace
Threadmodel: posix
gccversion 4.4.3 (ctng-1.6.1)
学习:1、bin文件中一般存放的都是可执行的文件,
2、注意学习chown chmod 命令的基本用法和作用
3、学会看懂和修改文件的属性介绍
4、/etc/profile中的文件属于系统级别的环境变量,设置在里面的东西(配置信息)对所有用户适用
PS:有些人在做项目时用到不同的交叉编译器,那我们可以切换编译器;因为编译器的调用都是靠环境变量来选择的,所以我们只修改环境变量即可。
- Linux开发环境搭建04---Ubuntu14.04中基本开发环境配置
- Ubuntu14.04开发环境搭建
- ubuntu14.04-开发环境搭建
- Ubuntu14.04开发环境搭建
- Ubuntu14.04 android开发环境搭建
- Ubuntu14.04 下Android开发环境搭建
- ubuntu14.04上搭建android开发环境
- Ubuntu14.04搭建android开发环境
- Ubuntu14.04 搭建PyQt4+Eric5 开发环境
- 基于ubuntu14.04搭建OpenWrt开发环境
- Ubuntu14.04常用开发环境搭建
- ubuntu14.04系统开发环境搭建
- ubuntu14.04 nuttx开发环境的搭建
- linux开发环境搭建-----ubuntu14.04安装 配置FTP SSH NFS 服务
- ubuntu14.04设置基本工作环境:搭建c 开发环境,搜狗输入法,触摸板
- Ubuntu14.04中配置Qt 5开发环境
- ubuntu14.04 配置python开发环境 eric4
- Ubuntu14.04下配置Java开发环境
- Java 解惑:Comparable 和 Comparator 的区别
- AT指令获取基站信息
- jdbc连接MYSQL数据库
- 实践
- HDU 4547 CD操作 LCA
- Linux开发环境搭建04---Ubuntu14.04中基本开发环境配置
- bzoj 1626: [Usaco2007 Dec]Building Roads 修建道路(最小生成树)
- div和span区别/font-weight
- Cookie/Session机制详解
- js变量的声明、类型、以及使用
- SQL练习题
- Java 中 Comparable 和 Comparator 比较
- 再拾算法考题
- java代码实现文件的复制及更改后缀