两台电脑,Ubuntu、MacBook;
Ubuntu性能强,用于编译Android源码;
MacBook用户体验好,用于写代码;
需求是:使用MacBook操纵Ubuntu;
方案是:

  1. 使用SSH操作Ubuntu;
  2. 使用mount NFS挂载代码到MacBook,使用Android Studio修改代码;

SSH

首先搞定SSH, 以下是服务端和客户端配置。

服务端(Ubuntu)

sudo  apt-get install openssh-server

如果安装失败,缺少依赖库,可以通过添加apt软件源的方式解决。如果还是无法安装,就需要一个一个依赖库的下载。
常用库下载地址:

http://launchpadlibrarian.net/130237887/libtasn1-3-dbg_2.14-2_i386.deb
http://launchpadlibrarian.net/130237888/libtasn1-3_2.14-2_i386.deb
http://launchpadlibrarian.net/130237883/libtasn1-3_2.14-2_amd64.deb
http://launchpadlibrarian.net/130237889/libtasn1-3-bin_2.14-2_i386.deb
http://security.ubuntu.com/ubuntu/pool/main/g/gnutls26/libgnutls26_2.12.23-12ubuntu2.8_amd64.deb
https://launchpadlibrarian.net/85099924/libtasn1-3_2.10-1ubuntu1_amd64.deb
https://launchpadlibrarian.net/85099923/libtasn1-3-dbg_2.10-1ubuntu1_amd64.deb
http://launchpadlibrarian.net/154418135/libplist1_1.10-1_amd64.deb
http://launchpadlibrarian.net/154432952/libusbmuxd2_1.0.8-2ubuntu1_amd64.deb
https://launchpadlibrarian.net/264961543/libusbmuxd-tools_1.0.10-3_amd64.deb
https://launchpadlibrarian.net/160013007/libgcrypt11_1.5.3-2ubuntu4_amd64.deb
https://launchpadlibrarian.net/160012809/libgcrypt11_1.5.3-2ubuntu4.debian.tar.gz

启动ssh server

sudo /etc/init.d/ssh start 
# 或者 
service ssh start

客户端(MacBook)

应该都已经安装了SSH,没有安装的话可以用homebrew安装。

安装后,使用以下命令访问服务器就可以了。

ssh username@ipAddress

免密登录

将客户端/.ssh/id_rsa.pub 的内容添加到服务端的/.ssh/authorized_keys文件中(没有该文件就创建一个)。

服务器别名设置

使用cd ~/.ssh/ 进入ssh目录,会看到有config、known_hosts两个文件,一般的没有设置的话,只会有known_hosts,可以使用touch config命令创建config文件。

使用vim编辑config文件,添加如下内容:

Host servername
HostName 1xx.1xx.1xx.67
User root
IdentitiesOnly yes

其中:

  1. Host 后边的是名称,以后可以根据这个名称进行访问;
  2. HostName是你的主机IP地址;
  3. User为主机登录的用户名;
  4. IdentitiesOnly yes固有配置;

这样就可以用以下命令访问服务器了。

ssh servername

NFS

NFS(Network File System)是挂载硬盘的一种方式,使用mount命令挂载。记得使用sudo。

sudo mount -t nfs -o resvport,rw ipAddress:/home/xxx  ~/xxxx

服务器端配置(Ubuntu)

  1. 安装Ubuntu nfs服务器端:
sudo apt-get install nfs-kernel-server
  1. 安装nfs的客户端:
    (在安装nsf-kernel-server的时候,也会安装nfs-commom。如果没有安装这个软件包,则要执行1.2中的命令了)
sudo apt-get install nfs-common
  1. 设置共享的文件目录
sudo mkdir /***/***
  1. 修改配置文件/etc/exports

在最后一行添加:

/home/USER/nfs *(rw,sync,no_root_squash,no_subtree_check)

前面那个目录是与nfs服务客户端共享的目录,*代表允许所有的网段访问(也可以使用具体的IP)
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:客户机用root访问该共享文件夹时,不映射root用户。(root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户)
no_subtree_check:不检查父目录的权限。

  1. nfs是一个RPC程序,使用它前,需要映射好端口,通过rpcbind 设定:
sudo service rpcbind restart restart
  1. 重启nfs服务:
sudo service restartnfs-kernel-server restart

如果修改了/etc/exports,记得要重启服务,即5、6两步。

客户端配置(MacBook)

直接挂载即可:

sudo mount -t nfs -o resvport,rw ipAddress:/home/xxx  ~/xxxx

无写入权限问题

需要将服务器的共享目录更改权限,即添加本组和其他用户的读写权限。

sudo chmod -R go+rw /xxx/xxx

使用Android Studio

挂载成功后,即可以像操作本地文件一样操作服务器了,用Android Studio打开相应的工程即可。


The End.


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

记一种签名认证方法 上一篇
好久没写博客了,原因竟然是。。 下一篇