ubuntu libevent(debian ubuntu)
大家好,关于ubuntu libevent很多朋友都还不太明白,今天小编就来为大家分享关于debian ubuntu的知识,希望对各位有所帮助!
如何在 Android 手机上安装 Ubuntu 13.04
首先,你需要设置QEMU和ARM二进制以及asdebootstrap支持:
sudo apt-get install debootstrap qemu-user-static qemu-system git\
gcc-arm-linux-gnueabihf binfmt-support
现在,创建文件系统本身(这是为2GB图片)和它挂载在/mnt目录中。由于我们并不需要所有的 ext3/ext4(毕竟,最终的结果将要运行的文件内),我们将使用 ext2文件系统:
1
2
3
4
dd if=/dev/zero of=ubuntu.img bs=1024 count=2097152
mkfs.ext2 ubuntu-armhf.ext2.img
sudo mount-o loop ubuntu-armhf.ext2.img/mnt
接下来,使用debootstrap来部署基础环境(这里给出了主要的设置):
1
2
HOSTNAME=ubuntu-armhf sudo debootstrap--variant=minbase--foreign\
--arch armhf raring/mnt
现在在即将完成的chroot设备里部署qemu-arm-static:
1
sudo cp/usr/bin/qemu-arm-static/mnt/usr/bin/
并用它完成剩下的部署工作:
1
2
LANG=C sudo chroot mnt/usr/bin/qemu-arm-static-cpu cortex-a9/bin/bash
./debootstrap/debootstrap--second-stage
一旦上面的工作完成了,我们需要安装apt源。(你也可以选择性的安装deb-src,不过我现在还不需要它):
1
2
echo"deb raring main restricted universe">/etc/apt/sources.list
apt-key adv--keyserver keyserver.ubuntu.com--recv-keys 428D7C01
然后,你就可以安装一些必需的工具(我觉得这些都是必需的):
(译注:wget,vim这些当成必需可以理解,怎么golang和git-core也成必需了?)
1
2
3
4
apt-get update
apt-get install sudo apt-utils dialog less wget vim net-tools openssh-server\
htop tmux build-essential libevent-dev python-dev python-setuptools\
python-lxml sqlite3 nodejs npm golang git-core
如果你的手机电力够用,你也可以安装VNC服务(和一个迷你的X11设置):
1
apt-get install--no-install-recommends tightvncserver
你可能需要运行QEMU1,所以你应该多安装几个终端,尽管这不是Android chroot必需的:
1
2
cp/etc/init/tty1.conf/etc/init/ttyAMA0.conf
sed-i"s/tty1/ttyAMA0/"/etc/init/ttyAMA0.conf
这还没完,你还需要一个拥有sudo权限的用户1:
1
2
adduser ubuntu
usermod-aG sudo ubuntu
重启你的chroot设备:
现在我们对已经完成安装的Linux做下调整,复制init.sh脚本能放到/root/init.sh,确保其可执行 3,添加上下面这些挂载点:
1
2
3
4
5
6
sudo cp init.sh/mnt/root/init.sh
sudo chmod+x/mnt/root/init.sh
sudo rm/mnt/usr/bin/qemu-arm-static
sudo mkdir/mnt/sdcard
sudo mkdir/dev/shm
sudo umount/mnt
ubuntu部署相册服务
部署Ubuntu相册服务,首先确保Ubuntu 20.04已获取公网IPv6地址并验证可从公网访问SSH的22端口。
网站备案后,开启80端口、443端口、自定义端口,以提供客户端的web服务以及对app的请求提供服务。
在选择方案时,考虑了两种方案:一是使用libevent和C语言编写,这需要较多工作量且对nginx不熟悉。二是采用nodejs,对作者来说挑战较大。
浏览了GitHub上的项目后,作者对nodejs感到困惑,考虑是否深入学习。
更新日期:2021年7月19日
对于方案一,作者进行了详细记录,包括libevent和libevhtp的编译安装(本文不详细讨论此部分)。由于懒于编写makefile脚本,作者简化为一个mymake脚本。然而,这个脚本在编译过程中遇到了问题,需要进一步优化。
服务启动,端口侦听开始。在尝试公网访问mydomainname:8880/test时发现无法打开。终端未打印出test函数中的1111,说明回调函数未执行。作者在尝试解决问题过程中遇到困难。
经过两天的反复尝试和网络搜索,作者在一次偶然的尿尿时间里找到了问题所在。答案将在后续内容中公布。
更新状态:待更新
如何在linux ubuntu 下安装scapy pyx
最近在学习爬虫,早就听说Python写爬虫极爽(貌似pythoner说python都爽,不过也确实,python的类库非常丰富,不用重复造轮子),还有一个强大的框架Scrapy,于是决定尝试一下。
要想使用Scrapy第一件事,当然是安装Scrapy,尝试了Windows和Ubuntu的安装,本文先讲一下 Ubuntu的安装,比Windows的安装简单太多了。抽时间也会详细介绍一下怎么在Windows下进行安装。
官方介绍,在安装Scrapy前需要安装一系列的依赖.
* Python 2.7: Scrapy是Python框架,当然要先安装Python,不过由于Scrapy暂时只支持 Python2.7,因此首先确保你安装的是Python 2.7
* lxml:大多数Linux发行版自带了lxml
* OpenSSL:除了windows之外的系统都已经提供
* Python Package: pip and setuptools.由于现在pip依赖setuptools,所以安装pip会自动安装setuptools
有上面的依赖可知,在非windows的环境下安装 Scrapy的相关依赖是比较简单的,只用安装pip即可。Scrapy使用pip完成安装。
检查Scrapy依赖是否安装
你可能会不放心自己的电脑是否已经安装了,上面说的已经存在的依赖,那么你可以使用下面的方法检查一下,本文使用的是Ubuntu 14.04。
检查Python的版本
$ python--version
如果看到下面的输出,说明Python的环境已经安装,我这里显示的是Python 2.7.6,版本也是2.7的满足要求。如果没有出现下面的信息,那么请读者自行百度安装Python,本文不介绍Python的安装(网上一搜一堆)。
检查lxml和OpenSSL是否安装
假设已经安装了Python,在控制台输入python,进入Python的交互环境。
然后分别输入import lxml和import OpenSSL如果没有报错,说明两个依赖都已经安装。
安装python-dev和libevent
python-dev是linux上开发python比较重要的工具,以下的情况你需要安装
*你需要自己安装一个源外的python类库,而这个类库内含需要编译的调用python api的c/c++文件
*你自己写的一个程序编译需要链接libpythonXX.(a|so)
libevent是一个时间出发的高性能的网络库,很多框架的底层都使用了libevent
上面两个库是需要安装的,不然后面后报错。使用下面的指令安装
$sudo apt-get install python-dev
$sudo apt-get install libevent-dev
安装pip
因为Scrapy可以使用pip方便的安装,因此我们需要先安装pip,可以使用下面的指令安装pip
$ sudo apt-get install python-pip
使用pip安装Scrapy
使用下面的指令安装Scrapy。
$ sudo pip install scrapy
记住一定要获得root权限,否则会出现下面的错误。
至此scrapy安装完成,使用下面的命令检查Scrapy是否安装成功。
$ scrapy version
显示如下结果说明安装成功,此处的安装版本是1.02