Ubuntu 15.10系统下制作自己的PPA安装包

Personal Package Archives(个人软件包档案)是Ubuntu Launchpad网站提供的一项服务,允许个人用户上传软件源代码,通过Launchpad进行编译并发布为2进制软件包,作为APT/新立得源供其他用户下载和更新。在Launchpad网站上的每一个用户和团队都可以拥有一个或多个PPA。

1.安装打包需要的软件环境


2.创建自己的GPG KEY


接下来,一路回车,在要求确认信息的时候,点击y。最后一步是一通的键盘乱按。整个过程如下图所示:gpggpg2

注意,我们需要的KEY ID为47EDFAD4.

将KEY的公共部分上传到KEY SERVER,这样全世界的开发者就可以根据你的KEY来识别你的信息和文件.

我们自己的Key发送就是

3.创建你的SSH KEY


4.创建pbuilder(允许开发者在本地创建PPA包)


我的系统版本是Ubuntu 15.10 (Wily Werewolf),所以执行如下命令:

这部分的耗时比较长,会安装全部的编译工具,要耐心等待一下!

5.创建Launchpad账户


帐号可以去Launchpad 官网注册
上传GPG KEY到Launchpad,通过如下指令查看自己的GPG KEY:

会得到如下结果:

运行如下指令提交你的KEY到Ubuntu Key Server:

登陆个人KEY管理面板

6.上传SSH KEY


打开~/.ssh/id_rsa.pub文件,将其中的内容拷贝到帐号的add ssh key文本框中,选择导入后完成上传

7.配置 Bazzar


(一个版本控制软件,可以储存代码)之所以需要使用Bazzar,原因是Launchpad的默认BUG管理器,并且编译代码的时候,要求用bzr进行代码编译。
首先告诉Bazzar你是谁:

Bazaar in five minutes

官方教程:http://packaging.ubuntu.com/html/packaging-new-software.html
开源许可证:http://opensource.org/licenses

8.配置你的shell环境变量


打开~/.bashrc 文件,在文件开头加上如下内容:

然后执行:

9.安装编译工具


10.下载源代码,以Openyoudao为例


11.开始打包


a.根据模板生成配置文件

b.将修改提交到打包分支

c.在当前环境中编译软件包

d.检测软件包是否存在BUG

e.给软件包签名(需要输入之前设置的密码)

12.上传软件包


a.编辑~/.dput.cf

通过上面的一系列流程,我们生成了一组经过数字签名的文件,最后需要做的是将这些文件上传到PPA官方的FTP,此时会用到一个叫dput的软件,要使用dput,首先要编辑文件~/.dput.cf,没有就创建.在这个文件里面定义要上传的Launchpad账号。我的~/.dput.cf文件内容如下:

b.执行上传

上传成功后会收到一封PPA发来的邮件,内容如下:

接下来就静待官方编译吧~
编译完成后,就可以通过ppa源进行安装了
编译进度可查看:http://ppa.launchpad.net/wangqiang1588/

参考链接


如何在ubuntu系统下制作自己的ppa安装包

Ubuntu 15.10 使用Ubuntu Make简化Android开发环境配置

Ubuntu 15.10 中,已经可以使用Ubuntu Make简化Android开发环境配置了,具体方法如下:

1.安装Ubuntu Make

2.配置Android开发环境

然后根据提示,一步一步操作就可以了。

一会之后,就会发现Android Studio已经安装成功了。

就是这么简单!

Windows下创建Ubuntu的USB系统安装盘

要从U盘运行Ubuntu,需要插入一个至少2G空余空间的U盘。使用USB安装器是将Ubuntu安装到U盘最简单的方式,它由 pendrivelinux.com 提供。下载Pen Drive Linux’s USB安装器后,安装并运行。也可本站下载

从下拉选项中选择Ubuntu桌面版本,或者自行用BT、迅雷等软件下载Ubuntu ISO文件。

image-createausbstickonwindows-1

点击“浏览”然后打开已下载的ISO文件。image-createausbstickonwindows-2

选择一个USB驱动器并点击“创建”,注意,U盘里的数据请备份,“创建”过程会格式化U盘。

image-createausbstickonwindows-3

Ubuntu系统本身附带一个小程序Startup Disk Creator,直接制作可启动U盘Ubuntu系统。本站下载

参考链接:


制作Ubuntu USB可启动系统盘解决Windows问题

Ubuntu 12.04 Apache2重启提示could not reliably determine the server's fully…问题解决

Ubuntu 环境,当apache2重启提示:

解决的问题是:

打开default文件后,在default文件顶端(第一行)加入:

重启Apache2就不会提示上述错误了。

参考链接
Ubuntu Apache2重启提示could not reliably determine the server’e fully…问题解决

在Ubuntu 12.04 LTS上安装OpenGrok浏览Android源码

OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。接下来就具体讲解Ubuntu 12.04 LTS环境下OpenGrok的安装及使用。

1.参照 UBUNTU 13.10 APACHE 2.2 通过 AJP 整合 TOMCAT 7 中讲述的方法,进行Tomcat,Apache2的配置安装。

2.安装ctags用于对C\C++代码的支持

3.下载并安装OpenGrok

可以到"http://opengrok.github.io/OpenGrok/"手工下载文件,然后上传到服务器,也可以直接用wget命令来下载,一般选择安装在"/opt"目录下面。

解压缩文件到当前目录"/opt"

创建一个软链接,方便后续的修改

拷贝"/opt/opengrok/lib/source.war"到Tomcat7的工程目录"/var/lib/tomcat7/webapps/"

访问"http://localhost:8080/source/"确认OpenGrok是否已经安装成功,如果安装成功,出现下面的界面:OpenGrok

4.出于安全原因,禁止外网访问Tomcat的8080端口

只允许Tomcat在本地的8080端口监听即可,修改

添加 address="127.0.0.1"

重启Tomcat7

5.配置Apache2对Tomcat通过AJP进行反向代理

Apache2的配置文件“ /etc/apache2/sites-available/default”中,增加如下配置:

Tomcat7的配置文件/var/lib/tomcat7/conf/server.xml中增加如下配置<Context path="/AndroidXRef" docBase="source/"/>,解决跳转404问题。ProxyPass后面必须携带“/”,否则就会出现404问题。

6.配置OpenGrok对源代码进行解析

设置要建立索引的源代码目录的位置,以存储在"/data/OpenGrok/Android_4.2"上的Android代码为例子:

注意:

由于我们使用了Apache2的反向代理才需要设置 OPENGROK_WEBAPP_CONTEXT,如果没有设置反向代理,请不要设置OPENGROK_WEBAPP_CONTEXT

在使用反向代理的时候如果不设置OPENGROK_WEBAPP_CONTEXT会导致在点击具体的变量定义的时候,出现404.

不使用反向代理的时候请只设置OPENGROK_INSTANCE_BASE

创建源代码索引

执行时间在40分钟左右,执行完成。生成的索引文件在源代码的"data"目录下面,重建索引的时候需要执行如下操作,才能再次建立索引

注意,请务必删除源代码中的"prebuilts"目录,这个目录下面存储的是一系列的编译工具,在浏览代码的时候,完全用不上,但是占据的磁盘空间确是巨大的。

注意,如果服务器上面的内存比较有限,请使用如下命令进行内存限制,否则建立索引的时候,会触发内存不足的情况:

修改OpenGrok配置文件

修改其中的

为具体的工程目录"/data/OpenGrok/Android_4.2",修改后的配置如下:

刷新浏览器,可以看到Android_4.2的源码可以搜索出来了。

参考链接


Ubuntu 12.04服务器版使用 cp -r -f 强制覆盖拷贝时仍需确认的问题

问题现象:


使用cp -r -f 强制覆盖拷贝命令时,每一个文件都需要认为的键入“Y”进行确认,甚是烦扰,难道要我点击一万下不成?

问题原因:


cp命令被设置了别名
alias cp='cp -i'
所以在每次执行cp命令是都会按照这个设置进行人为的确认(-i参数的含义)。

解决方法:


一.使用unalias cp命令 解除对cp的别名(仅本次终端连接会话临时取消),我们先输入alias命令,查看系统内部已经设置的别名:

输入unalias cp命令,取消cp命令的别名.

二.直接输入\cp命令,作用也是取消cp的别名

三.使用管道的方式,自动输入yes

解决Ubuntu和Windows双系统时间差异8小时的方法

Windows/Ubuntu双系统用户会发现在Ubuntu里面的时间正常的情况下Windows的系统时间被改到8小时前。

原来Linux操作系统是以CMOS时间做为格林威治标准时间,再根据系统设置的时区来确定目前系统时间。但是Windows会直接修改CMOS时间。而中国的时区是+8区,所以才会造成时间被调整了-8个小时。

所以您可以让Windows去使用时区或者让Ubuntu使用本地时间。

修改Windows使用时区的方法是在注册表:

下面增加一个名为RealTimeIsUniversalREG_DWORD键,并赋值为1

对于Ubuntu 16.04以下版本, 使用本地时间的方法是:

把里面的 UTC=yes 改为 UTC=no

对于Ubuntu 16.04以及之后的版本(如:Ubuntu 18.04),使用如下命令:

参考链接


解决ubuntu和windows双系统时间差异8小时的方法

Ubuntu 12.04 + Apache2.2.22搭建SPDY服务器

SPDY是Google开发的基于传输控制协议(TCP)的应用层协议,该协议规定在一个SPDY连接内可以有无限个并行请求,服务器可以主动向客户端发起通信向客户端推送数据,通过请求优化、预加载、压缩HTTP 来达到加速的目的。

对用记而言,SPDY是基于SSL加密,它可以让网络访问更安全,用户隐私更加得到保护。对站长而言,SPDY在降低连接数目的同时,还使服务器上每个客户端占用的资源减少,从释放出更多内存和CPU ,让网站的浏览速度提升不少。

SPDY协议已经被Chrome、Firefox、Opera、IE 11以上支持,用户在访问使用SPDY协议加载的网站几乎感觉不到与普通的Https页面访问有何不同,而SPDY带来的页面加载速度提升和服务器性能优化确是有十分重要意义的。

具体的操作步骤如下:

  • 启用Apache2的HTTPS支持

参考 UBUNTU 12.04 下 APACHE 2.2.22 开启 HTTPS

  • 下载Apache2的mod_spdy模块

官网:https://developers.google.com/speed/spdy/mod_spdy/
由于众所周知的原因,本站提供下载(2015-11-6版本)
mod_spdy 64-bit .deb (Debian/Ubuntu)
mod_spdy 32-bit .deb (Debian/Ubuntu)

  • 安装mod_spdy模块(本站是64位系统)

  • 重启Apache2

  • 验证

目前验证貌似没有起作用啊!目前最新的chrome已经没办法进行验证了,主要是由于HTTP/2已经发布,Google放弃了spdy,转而支持HTTP/2,还是静待新版本的HTTP/2吧。

  • 卸载

  • 参考链接

Linux Mint + Apache2.2搭建SSL/HTTPS/SPDY服务器
https://developers.google.com/speed/spdy/mod_spdy/