【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)

  目前正在进行Linux相关项目的开发,而我的Linux开发是在Ubuntu(版本20.04)下进行的,为此需要搭建很多Linux相关的开发环境,方便工作的进行。这里主要是对各种开发环境的搭建做一个总结记录,方便后面查阅,也方便在Linux开发之路上遇到困难的各位同仁。好了,废话不多说,直接罗列各种开发环境的安装步骤等。

FTP

  在开发过程中可能会频繁的在 Windows 与 Ubuntu 下进行文件传输,比如在 Windows 下进行代码的编写,然后将编写好的代码传递到 Ubuntu 下进行编译,这时我们可以使用 FTP 服务实现 Windows 与 Ubuntu 之间的文件互传(当然也可以使用Samba)。

FTP服务端(Ubuntu)

  1. 打开 Ubuntu 的一个终端窗口,然后执行如下命令安装 FTP 服务:
sudo apt-get install vsftpd
  1. FTP 服务安装完成之后,打开 vsftpd.conf 文件,修改配置,如下:
sudo vi /etc/vsftpd.conf

打开后,修改如下两行:
【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第1张图片
5. 修改完成之后,保存退出,使用如下命令重启 FTP服务:

sudo /etc/init.d/vsftpd restart

至此,Ubuntu 上的 FTP 的 Server 已经开启。

FTP客户端(Windows)

  Windows 端的 FTP 客户端有很多,可以根据自己的爱好选一个即可。我使用的 FTP 客户端是 XFTP。关于FTP客户端的介绍,可以参考这篇文章:https://zhuanlan.zhihu.com/p/301653835。
【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第2张图片
【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第3张图片

NFS

  在Linux开发时,一般都绕不过网络挂载(NFS),通过 NFS 可以大大提高我们开发调试的效率,为此必须首先在Ubuntu上安装并开启 NFS 服务,使用如下命令安装 NFS 服务。

  1. 安装 NFS 服务器
sudo apt-get install nfs-kernel-server rpcbind 

  安装nfs-kernel-server时,apt会自动安装nfs-common和portmap

  1. 创建 NFS 共享目录
    在自己想要设置的路径下创建共享文件夹,例如我的共享文件夹为:
jack-virtual-machine:~/linux_imx6ull/nfs$ pwd
/home/jack/linux_imx6ull/nfs
  1. 修改共享目录的权限
jack@jack-virtual-machine:~/linux_imx6ull/nfs$ chmod 777 . -R
  1. 修改配置文件 (/etc/exports)
    打开配置文件(sudo vi /etc/exports),在最后一行添加自己的共享目录,如下:
/home/jack/linux_imx6ull/nfs *(rw,async,no_root_squash)
  • /home/jack/linux_imx6ull/nfs:nfs服务端的共享目录,需要通过nfs挂载的文件都放在此目录下即可
  • * :表示所有网段都可以网段都可以访问(也可以指定具体的IP)
  • rw:指定挂载共享目录的客户端具有读写权限
  • sync:资料同步写入内存或者硬盘
  • no_root_squash:客户机用root访问共享文件夹时,不映射root用户
  1. 修改配置文件(/etc/default/nfs-kernel-server )
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第4张图片
  Ubuntu18.04之后的版本应该是只支持 nfs3 和 nfs4,而uboot中默认使用的是 nfs2,所以为了使uboot的nfs命令正常使用,必须添加上述的一句话,使Ubuntu兼容 2、3、4版本。

  1. 重启 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
  1. 验证 NFS 是否配置成功
$ sudo mount -t nfs 192.168.100.113:/home/jack/linux_imx6ull/nfs /mnt
$ showmount -e
Export list for jack-virtual-machine:
/home/jack/linux_imx6ull/nfs *
$ sudo umount /mnt
  1. sudo mount -t nfs 192.168.100.113:/home/jack/linux_imx6ull/nfs /mnt

    • 192.168.100.113:共享 NFS 目录的主机地址(若为本机挂载,可以写为 localhost)
    • /home/jack/linux_imx6ull/nfs:共享 NFS 的路径
    • /mnt:挂载点(可以任意指定)
  2. showmount -e:显示配置的共享目录(该命令其实是读取了 /etc/exports 文件进行解析的)

  3. sudo umount /mnt:取消挂载

SSH

  开启 SSH 服务之后,我们可以在Windows下使用终端软件登录到 Ubuntu,比如使用Xshell 等,在 Ubuntu 下使用如下命令开启 SSH 服务。
4. 通过如下命令查询是否已安装 SSH
通过如下命令查询是否已安装 SSH,若出现openssh-client和openss-server,则说明系统已经安装 OpenSSH。

$ dpkg --list | grep ssh
ii  libssh-4:amd64                             0.9.3-2ubuntu2.3                    amd64        tiny C SSH library (OpenSSL flavor)
ii  openssh-client                             1:8.2p1-4ubuntu0.9                  amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                             1:8.2p1-4ubuntu0.9                  amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server                        1:8.2p1-4ubuntu0.9                  amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines
ii  ssh-import-id                              5.10-0ubuntu1                       all          securely retrieve an SSH public key and install it locally
  1. 安装 SSH
    在Ubuntu下可以使用如下命令安装SSH:
sudo apt-get install ssh
  1. 查看SSH服务端是否已启动
$ ps -auxf | grep ssh
root         891  0.0  0.1  12192  7148 ?        Ss   9月21   0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root       20934  0.0  0.2  14004  8848 ?        Ss   9月21   0:00  \_ sshd: jack [priv]
jack       21012  0.0  0.1  14004  6044 ?        S    9月21   0:00      \_ sshd: jack@notty
jack       21013  0.0  0.1   5892  4104 ?        Ss   9月21   0:00          \_ /usr/lib/openssh/sftp-server
jack        1609  0.0  0.0   6040   100 ?        Ss   9月21   0:00              \_ /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --systemd --session=ubuntu
jack       23312  0.0  0.0  17672   716 pts/1    S+   13:49   0:00  |       \_ grep --color=auto ssh

交叉编译工具链

  1. 在Ubuntu上创建一个目录,用于存放“交叉编译工具链”,我创建的目录为:/usr/local/arm
  2. 将交叉编译工具链复制到目录(/usr/local/arm)中,我的工具链为:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz;
  3. 解压
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

  解压完成后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”的文件夹,该文件夹下就是我们的交叉编译工具链。

  1. 修改环境变量
//打开配置文件
sudo vi /etc/profile
// 在配置文件中添加如下一行内容
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第5张图片

  1. 重启Ubuntu系统,交叉编译工具链就安装成功了。
  2. 安装其它相关库
sudo apt-get install lsb-core lib32stdc++6
  1. 查询版本,验证是否安装成功
arm-linux-gnueabihf-gcc -v

【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第6张图片

samba

下面是 samba 服务器环境的搭建过程:

  1. sudo apt-get update
sudo apt-get update
  1. 安装 samba 服务器
sudo apt-get install samba samba-common
  1. 创建共享目录,并设置共享目录的权限
sudo mkdir samba 	// 创建完成之后,我的目录为 /home/jack/linux_imx6ull/samba
sudo chmod 777 . -R	// 将samba目录的权限修改为 777
  1. 修改配置文件
    打开配置文件(vi /etc/samba/smb.conf),并进行如下修改:
[myshare]
comment=my share directory
path=/home/jack/linux_imx6ull/samba
browseable=yes
public=yes
writable=yes

【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第7张图片

  1. 设置密码
$ sudo smbpasswd -a jack	// 添加一个用户,jack
New SMB password: 			// 创建一个密码
Retype new SMB password:	// 再次确认密码
Added user jack.			// jack用户添加成功
  1. 重启samba服务器
sudo service smbd restart
  1. 在Windows上执行win+R,输入Ubuntu的IP地址,如我的IP是192.168.100.113
    【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第8张图片
    【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)_第9张图片

你可能感兴趣的:(Linux,linux,ubuntu,ssh,samba)