配置Ubantu系统服务器,需要在“终端”输入指定的命令来安装指定的程序,进行对应的操作,类似于Windows中的命令行,因此在进行接下来的配置操作之前,我们需要搜索并打开打开“终端”程序。
1、Root登陆Ubantu系统
Ubuntu系统相比于其他 Linux系统有一个与众不同的特点,那就是初次使用它时,你无法作为root账户来登录系统,为什么会这样?这就要从系统的安装说起。
对于其他Linux系统来说,一般在安装过程中就设定root密码,这样用户就能用它登录root帐户或使用su命令转换到超级用户身份。然而Ubuntu安装时,默认并没有给root用户设置口令,也没有启用root帐户。那么问题来了,我们要想作为root用户来执行某些特定权限的命令该怎么办呢?
答案就是:我们可以使用“sudo命令”达到以上目的。
“sudo”是Linux下常用的、允许普通用户使用超级用户权限的工具,该命令为管理员提供了一种细颗粒度的访问控制方法,通过它我们既可以作为超级用户又可以作为其它类型的用户来访问系统。这样做的好处是,管理员能够在不告诉其他用户root密码的前提下,授予他们某些特定类型的超级用户权限,这正是许多系统管理员所梦寐以求的授权方式。
设置分配root权限非常简单,需要在终端执行如下命令设置root密码即可:
sudo passwd root
根据提示设置root密码,设置完成后,输入“su”填写刚才设置的密码,登陆root用户就大功告成,如下图。
如上图所示,Root账户登录成功后,帐户名会以“root@”开头,并以白色字体显示。
在进行团队成员登陆服务器权限的管理时,还可以用修改系统配置文件属性的方式在实现自动root,以下暂时用不到,这里就不赘述。
2、下载并安装JDK
2.1.首先在终端输入以下命令来搜索当前系统的JDK版本;
sudo apt-cache search openjdk
2.2.上图可见,Ubantu 16.04默认支持的的版本为openjdk-8-jdk、openjdk-9-jdk,我们可是执行如下命令来安装它们。
sudo apt-get install openjdk-8-jdk
或
sudo apt-get install openjdk-9-jdk
但是,目前市面上最新版本的Android6.0,仅仅支持到OpenJDK7:
因此,出于编译兼容性的考虑,建议执行如下命令,下载并安装openjdk-7-jdk;
sudoadd-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get installopenjdk-7-jdk
2.3.如果之前你已经安装了openjdk-8-jdk或者是其他版本,那么你需要进行当前使用的JDK版本的切换,如下图所示,执行如下命令,输入对应版本的数字,进行版本切换:
update-alternatives--config java
update-alternatives--config javac
切换完成,可执行echo $JAVA_HOME命令查看当前的JDK版本。
3、配置环境变量
跟配置Android环境类似,安装完JDK后,我们需要配置JAVA_HOME环境变量给系统;
3.1.首先执行如下命令,查看当前系统是否已经配置JAVA_HOME;
echo $JAVA_HOME
3.2.写入JAVA_HOME(openjdk的安装路径)给系统配置文件 .bashrc;
echo export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/" >> ~/.bashrc
【建议复制粘贴,手动输入时,请注意命令字符间的空格】
3.3.然后重启终端或通过使用以下命令加载加载修改后的系统配置;
source ~/.bashrc
3.4.重新输入echo$JAVA_HOME命令,就可以看到刚刚设置好的配置。
.
【类似Windows平台配置Java/Android环境变量,我们可以另开一个终端,输入“java”或“javac”命令,来检验环境变量是否配置成功,也可以通过输入“java -version”查看当前安装OpenJDK版本】
4、安装、配置SSH服务
SSH即 Secure Shell,它是由IETF的网络小组(Network Working Group)所制定的、建立在应用层和传输层基础上的安全协议。它是目前比较可靠,且专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH协议可以有效防止远程管理过程中的信息泄露问题,因此应用广泛。
4.1.首先安装ssh-server端软件包,命令如下:
sudo apt-get install openssh-server
如果当前Ubantu系统为CD安装版时,我们可能还需要安装ssh-client:
sudo apt-get install openssh-client
4.2.然后,确认ssh-server服务器是否启动成功,执行如下命令:
ps -e |grep ssh
如果只有ssh-agent,那么说明ssh-server还没有启动;
如果看到sshd那说明ssh-server已经启动了,如下图所示:
4.3.ssh-server配置文件位于/etc/ssh/sshd_config下,使用以下命令查看:
cat /etc/ssh/sshd_config
SSH默认端口是22,可以自定义SSH的服务端口,也可以改成其他端口,我们这里不做修改。
4.4.重启ssh-server服务
sudo /etc/init.d/ssh restart
4.5.管理用户
如果开发团队有多位同事做ROM开发,大家需要用到Android编译服务器,那么我们就要为每人开一个SSH服务器登陆账号,在同一时间大家用各自的账号登陆服务器,在自己的个人目录下存放从主分支clone下来的代码,进行自己所负责模块的代码修改、编译和提交。
添加新的网络访问帐户,执行如下命令:
sudo adduser luoqiang
一般情况下,以同事的姓名拼音作为username,便于后期代码版本控制和管理中的识别。我们给新同事开账户的时候,可以统一规定一般账户的初始密码,例如:123456,或者是就是用户名,每个账户自己登陆上去之后,可以自行修改密码。
若作为服务器管理员,建议同时开辟了两个公共账号,一个专门用来下载原始代码,这样只需要给一个账号申请下载权限;一个只用于出版本时编译,任何人不得修改编译账户下的代码,这样可以保证编译的工程的安全与洁净。
4.6.登陆服务器
从管理员那里确认已开通服务器登陆账户和密码之后,就可在各自的PC上登陆服务器,进行代码同步/提交等操作。
使用Macbook OS X系统的同事,可以直接在“终端”程序输入:ssh用户名@服务器IP,进行登录;
使用Windows系统的同时,则需要下载模拟Linux环境的Cygwin进行登陆。
5、安装、配置GIT
5.1.安装git软件包
sudo apt-get install git
5.2.添加全局配置
设置git用户名:
git config --global user.name [username]
例如:git config --global user.name lqiang
设置git用户邮箱:
git config --global user.email [email]
例如:git config --global user.emaillqiang@lianluo.com
设置git输出着色:
git config --global color.ui true
设置编辑器工具为vim:
git config --global core.editor vim
以上配置所执行命名在一般用户端同样适用。
6、安装编译依赖软件包
对于Android ROM编译所依赖的软件包,Google官方有给出了明确的指示和安装命令,同时官方也会不定期的对这安装命令中的软件安装版本号进行更新。
因此我们需要先执行一下两条命令安装依赖软件包;
sudo apt-get install -y git git-core flex bison gperf build-essentialgnupg g++-multilib zip curl zlib1g-dev zlib1g-dev:i386 gcc-multilib xsltprocunzip m4 x11proto-core-dev tofrodos python-markdown dpkg-dev ccache
sudo apt-get install libncurses5-dev:i386 libx11-dev:i386libreadline6-dev:i386 libgl1-mesa-dev libc6-dev-i386 lib32z-dev libxml2-utils lib32ncurses5-devlibx11-dev libsdl1.2-dev libesd0-dev
然后执行下面这条命令更新安装好的可更新的软件包:
sudo apt-get update