Ubuntu安装aira2及开机启动配置

安装aria2

sudo apt-get install aria2

aria2配置

创建下载目录

sudo mkdir ~/aria2_download
sudo chmod 777 ~/aria2_download

创建配置文件

sudo mkdir /etc/aria2
sudo touch /etc/aria2/aria2.session
sudo chmod 777 /etc/aria2/aria2.session
sudo vi /etc/aria2/aria2.conf

aria2.conf文件内容

#=========文件保存目录自行修改
dir=/home/fangqi/aria2_download
disable-ipv6=true
#打开rpc的目的是为了给web管理端用
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
continue=true
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
max-concurrent-downloads=3

测试aria2安装是否成功


没有错误提示即为成功,ctrl+c可停止运行;

服务模式开机启动

增加开机启动脚本

sudo vi /etc/init.d/aria2c

添加如下内容:

#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
 
case "$1" in
start)
 
 echo -n "已开启Aria2c"
 sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
stop)
 
 echo -n "已关闭Aria2c"
 killall aria2c
;;
restart)
 
 killall aria2c
 sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
esac
exit

修改文件权限为755

sudo chmod 755 /etc/init.d/aria2c

添加aria2c服务到开机启动

sudo update-rc.d aria2c defaults

启动服务

sudo service aria2c start

查看服务状态

sudo systemctl status aria2c

树莓派 之路(1)重置环境

开妈之前,提醒一定一定要不定期备份整张SD卡,不然出事,真的就是重头再来 。

首先重新下载了新版的树莓派系统
下载网址:http://shumeipai.nxez.com/download#os
版本:http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip

在windows下win32diskImager把 解压的IMG写到U盘与TF卡,

用读卡器修改TF BOOT目录下的CMDLINE.TXT文件

最后加上一句 program_usb_boot_mode=1

用TF启动树莓派,上电启动,不用管,过了60秒,直接关电,

拨掉TF卡,再插上优盘,系统就能从U盘启动了。

第十二章:树莓派centose服务器变身Aria2下载服务器

 

 

转自:https://blog.csdn.net/sonsie007/article/details/18942943/

入手树莓派有一段时间了,这小东西还是很好玩的,这几天研究了一下,把它做成了一个下载服务器~和大家分享一下。
主要用到的程序是Aria2 + Yaaw, Aria2这是一个支持Http、FTP、磁力链接和BT下载的工具, 当然,如果你是迅雷会员,还可以用它来进行离线下载, 这个后面有讲到。由于Aria2是一个没有图形界面的下载工具,因此,Yaaw应运而生,使用Web方法来管理文件下载,这也就意味着,只要配置好路由的端口映射,或使用动态域名,你可以通过Web访问的方式,随时随地的控制你的树莓派来进行下载。下面,就和我一步一步,将树莓派变成一个下载服务器~
一、挂载U盘
我使用了一个16GB, FAT32格式的U盘作用下载盘,将U盘插入到树莓派上,然后在终端下输入如下命令:

sudo mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0

这里已经使USB挂载, 并且使pi用户对其有写入读取权限.
二、安装Aria2

终端下输入:

sudo apt-get install aria2

等待几分钟就安装完成了。

接下来创建aria2的配置文件,我这里装配置文件放在了/etc/aria2目录下
cd /etc
sudo mkdir aria2
cd aria2

#创建空白的aria2s session文件
sudo touch /etc/aria2/aria2.session
#创建配置文件
sudo nano /etc/aria2/aria2.conf

输入内容如下:

#文件保存目录自行修改
#dir=/home/pi/usb

#dir=/media/username/xxxxxccccccvvv/
disable-ipv6=true
#打开rpc的目的是为了给web管理端用
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
continue=true
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
max-concurrent-downloads=3
保存退出,用配置文件启动:

sudo aria2c –conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,运行此句

sudo aria2c –conf-path=/etc/aria2/aria2.conf -D

这样程序就在后台运行了.
三、安装Apache

Yaaw管理页面是基于Web方式访问的,因此,选用配置起来最简单的Apache服务器。

终端下输入:
sudo apt-get install apache2
等待片刻后,安装完成。

Apache默认的http根目录是在/var/www目录下,这里需要改一下权限。

sudo chmod 777 /var/www/
然后下载yaaw, 地址戳这里:Yaaw下载地址

下载完成后解压,上传到/var/www目录即可

上传成功后,在浏览器输入树莓派的IP就可以访问了。

四、使用迅雷离线下载
首先,在浏览器里添加一个网页收藏

网页名称:ThunderLixianExporter

网址:javascript:void((function(){var d=document;var s=d.createElement(‘script’);s.src=’http://s.binux.me/tle.js’;s.id=’TLE_script’;d.body.appendChild(s)})())

如图所示:

 

然后登录迅雷离线下载页面:

按下图配置, IP地址请自行替换:

保存设置后,在离线下载的链接上,就会出现YAAW的选项,点击后,就能在YAAW的下载页面上看到添加的下载链接了。

五、开机自动启动服务

每次开机都要手动敲命令来启动下载服务器是一件很不舒服的事情,怎么样能让树莓派开机自动挂载U盘,并且启动下载服务器呢,这难不倒我。看我的。

切换到/etc/init.d/目录下

sudo nano aria2
输入如下内容,挂载目录请自行替换:

#! /bin/bash

RETVAL=0

case “$1” in
start)
echo “Starting service Aria2…”
if [ -e /dev/sda1 ]
then
mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0
fi
aria2c –conf-path=/etc/aria2/aria2.conf -D
echo “Start service done.”
;;
stop)
echo “Stoping service Aria2…”
killall aria2c
if [ -e /dev/sda1 ]
then
umount /home/pi/usb/
fi
echo “Stop service done.”
;;
esac

exit $RETVAL
保存退出,在终端下输入

sudo chmod +x /etc/init.d/aria2

sudo chkconfig –add aria2

这样,每次树莓派开机后,会自动挂载U盘,并启动服务,是不是很方便呢~

至此,配置结束,祝大家下载愉快~!

———————

树莓派进阶之路 (013) – 树莓派2/3 C语言使用PWM

由于树莓派只有1,12两个口有pwm,于是使用

softPwmCreate(LED, 0, 100);  //创建软PWM
softPwmWrite(LED, i);

这两个完成了工作

 

文章原来的路径:https://www.cnblogs.com/jikexianfeng/p/6938119.html
====================================
我手里面的是树莓派3,系统是Raspbian官方操作系统,已经安装好了wiringPi。        PWM简介:脉宽调制(PWM)是指用微处理器的数字输出来对模拟电路进行控制,是一种对模拟信号电平进行数字编码的方法。wiringpi有两种方式产生PWM,第一种为树莓派硬件PWM,如果需要精确的PWM控制的话,最好使用硬件PWM。第二种为wiringpi软件模拟的pwm,我们一种一种的介绍。
首先是电路连接,准备做一个LED呼吸灯程序。所以电路很简单,一个LED,一个100Ω的电阻。电阻串联在LED正极,然后连接到树莓派12号引脚。LED负极接地。
一、硬件PWM。
硬件PWM IO口为物理的12号端口(当然,这个也作为软件PWM使用)。如下图所示:

1、使用C语言编写硬件PWM程序
pi@Raspi:~ $ sudo nano hardware_pwd.c

2、写入以下程序

复制代码
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <stdint.h>
 4 #include <wiringPi.h>
 5 
 6 #define LED 1
 7 
 8 int main(void)
 9 {
10     int bright;
11     printf("Raspberry Pi wiringPi PWM test program\n");
12     if (wiringPiSetup() == -1)
13     {
14         printf("GPIO setup error!\n");
15         exit(1);
16     }
17     pinMode(LED,PWM_OUTPUT);
18     while(1)
19     {
20     for (bright = 0; bright < 1024; ++bright)
21         {
22             pwmWrite(LED,bright);
23             delay(12);
24         }
25     for (bright = 1023; bright >= 0; --bright)
26         {
27             pwmWrite(LED,bright);
28             delay(12);
29         }
30     }
31     return 0;
32 }
复制代码

3、编译

pi@Raspi:~ $ gcc -o hardware_pwd hardware_pwd.c -lwiringPi

4、运行

pi@Raspi:~ $ sudo ./hardware_pwd

现在应该可以看到你的LED有呼吸灯效果了。

复制代码
 1 /*
 2  ============================================================================
 3  Name        : software_pwm.c
 4  Author      : Cheetah
 5  Version     :
 6  Copyright   : Geeiot
 7  Description : PWM in C, Ansi-style
 8  ============================================================================
 9  */
10 
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <stdint.h>
14 #include <wiringPi.h>
15 #include <softPwm.h>
16 
17 #define LED 1   //同样使用1号IO口
18 
19 int main(void) 
20 {
21     int i = 0;
22     if (wiringPiSetup() == -1)  //初始化wiringpi
23     {
24         printf("Setup GPIO error!\n");
25         return -1;
26     }
27     softPwmCreate(LED, 0, 100);  //创建软PWM
28     while (1) 
29     {
30         for (i = 0; i < 100; i++) 
31         {
32             softPwmWrite(LED, i);
33             delay(10);
34         }
35         for (i = 99; i > 0; i--) 
36         {
37             softPwmWrite(LED, i);
38             delay(10);
39         }
40     }
41     return 0;
42 }
复制代码

二、软件模拟PWM
wiringPi 中包含了一个软件驱劢的 PWM 处理库,可以在任意的树莓派 GPIO 上输出PWM 信号。但是软件模拟的PWM有一些限制。因为PWM的频率越高,所需要的CPU资源越多,所以在这之间有一些平衡。
步骤同上,我这里就直接贴出代码了。特别注意编译的时候会多一个-lpthread选项。

编译

pi@Raspi:~ $ gcc -o software_pwm software_pwm.c -lwiringPi -lpthread

运行之后会有同样的效果!

特别注意:必须使用 wiringPiSetup()、 wiringPiSetupGpio()或者 wiringPiSetupPhys()函数来初始化 wiringPi。wiringPiSetupSys()是丌够快的,因此,必须使用 sudo 命令来运行程序。
附上wiringpi用户手册的下载:https://www.geeiot.net/forum.php … 1121&extra=page%3D1

Sub-process /usr/bin/dpkg returned an error code (1)的解决方法

之前是项目中用的Docker容器,后来前天突然docker起服务,起不来了,报错误如下:

FATA[0000] Cannot connect to the Docker daemon. Is ‘docker -d’ running on this host?

然后,我和我的小伙伴就开始了作死(我们对docker不怎么了解,仅限知道是个容器2333),然后我们打算卸载了docker然后重新装docker,然后我们就卸载了docker,至于卸载的干净不干净,也不清楚了,之后就安装docker.io 但是总是报错:

Sub-process /usr/bin/dpkg returned an error code (1)的解决方法
然后绞尽脑汁,各种百度,发现基本都是说有两种方案:

  • 方案①
打开终端,输入
cd /var/lib/dpkg/info
sudo rm -f  foomatic-filters #即删掉上面提示到的那些出错的软件包
sudo apt-get update -f
sudo apt-get -f install
sudo apt-get upgrade
sudo apt-get install foomatic-filters  #即又重新安装回原来出错的软件包
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 方案②
cd /var/lib/dpkg
sudo mv info info.bak #即备份一个info
sudo mkdir info #新建一个新的info目录
然后采用以下命令重装那些出错的软件包
sudo apt-get –reinstall install 软件包名
开始我是想在一条命令中同时安装几个软件包,结果还是出现E: Sub-process /usr/bin/dpkg returned an error code (1) 。于是把新的info删掉,一个个地来安装,每装好一个软件包,就把info删掉,再新建一个,这样就没有提示E: Sub-process /usr/bin/dpkg returned an error code (1) 了。
最后用原来的info.bak 替换新的info
sudo -rf info
sudo mv info.bak info
之后输入 sudo apt-get update 和 sudo apt-get upgrade 以及sudo apt-get autoremove 都不再有E: Sub-process /usr/bin/dpkg returned an error code (1)了
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这些都还是报错,哪怕安装上了,就是还要报错误:

Client and server don’t have same version (client API version: 1.20, server API version: 1.19) 
那我们最后又找了个强力小伙伴,他给我们把卸载干净了之后( /usr/bin/docker下面的docker.io.* 在卸载docker.io 的时候不会自动清除,需要单独删除),最后我们安装的官网最新版!

//最终解决问题O(∩_∩)O哈哈~
$ sudo apt-get install apt-transport-https 
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" 
$ sudo apt-get update 
$ sudo apt-get install lxc-docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

总结:感觉就是卸载软件的时候卸载的不干净,导致安装的时候发现有docker残留,安装不了,涉及版本问题的情况,可以尝试下载最新版本,试试!!!

解决mysql安装错误E: Sub-process /usr/bin/dpkg returned an error code (1)

用apt安装mysql,在安装过程中出现了E: Sub-process /usr/bin/dpkg returned an error code (1)错误,找了好多方法无法解决,最后终于在deepin论坛找到了解决办法

cd /var/lib/dpkg
    sudo mv info info.bak
    sudo mkdir info
    sudo dpkg --configure -a
    sudo apt-get install -f
    sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bak
    sudo rm -rf /var/lib/dpkg/info
    sudo mv /var/lib/dpkg/info.bak /var/lib/dpkg/info
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

依次执行以上代码,然后彻底删除mysql。

sudo apt remove --purge mysql-soucre-5.6
sudo apt remove --purge mysql-server-5.6
sudo apt remove --purge mysql-client-5.6
sudo apt remove --purge mysql-source-5.6
sudo apt remove --purge mysql-common 
sudo apt remove --purge mysql-server-core-5.6 
sudo apt remove --purge mysql-client-core-5.6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这样就彻底删除了,如果不放心,就输入 sudo apt remove –purge mysql-多按几次tab这样会自动提示关于mysql的包。
删除后执行下面的命令,重新安装就可以了

sudo apt-get install mysql-server-5.6
  • 1

大功告成。
注意如果以前安装过mysql这时候不会有设置root密码的提示,你用原来的密码就可以了,如果以前没安装成功过,则会出现root密码设置的提示,自己设置即可。
为啥安装mysql5.6呢,因为5.7有个让人无法接受的问题,那就是停止服务需要等10分钟,甚至关机都要等

 

来源:https://blog.csdn.net/shooke/article/details/75578303

DIY主机

很多年前在某宝购买了NOTE BOOK的下半身,为了当一台小主机,连接家进而的电视机,看看视频,由这个下半身并不那么美观,于是我决定给他换个机身。
首先,我已经拆过无数次的,

我先把旧的机壳拆开,见到主板的壳,这个是上安装主板的,经过切割,刚好放得下主板

 

我原来的计划是把这个板子做到这样子,再用亚克力板,做个箱子,刚好装下这个底板加主板。

现的的想法是连这个板都不要了,直接用亚克力做底板,

那么,我首先要重新安好个个镙丝的的孔,我使用的方式是,用一张白纸印在底板上,用牙签,打穿原来镙丝口的地方,再把白纸印到亚克力板上打孔。

 

写一个查询有关 用户图片的功能

写一个查询有关
用户图片的功能

最近“”的图片到处是,

这里想到做一个查询,让用户输入自己的姓名,通过调用记录的表或者百度查询,找下这个名字,是否已经被放出来,好可怜的人,如果真是涉漏了自己的图片,一定向借贷宝投诉,维权。

首先,建产一个数据表,
create table cor_jtb_pic
(
ID INT,
USERID INT,
USERNAME VARCHAR(50),
PICNAME VARCHAR(255),
PICATTR VARCHAR(255)
)

二、往表里面插入已经知道的数据

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 1,1,’张三’,’1.jpg’,’100k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 2,1,’张三’,’2.jpg’,’300k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 3,2,’李四’,’1.jpg’,’500k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 4,2,’李四’,’2.jpg’,’600k’

三、建立一个查询的功能

ubunt安装配置更新

1.安装ubuntu 16.04

sudo apt-get update

sudo apt-get upgrade

 

2.安装eclipse

​sudo apt-get install eclipse
​sudo apt-get install eclipse-pde
sudo apt-get install eclipse-jet

​sudo apt-get install eclipse
​sudo apt-get install eclipse-pde
sudo apt-get install eclipse-jet

然后我们安装c/c++支持,打开Eclipse,在Help,Install New Software,点workwith后面的Add来添加,
Name:CDT
Location:http://download.eclipse.org/tools/cdt/releases/indigo
然后再work with中选中新加的CDT,等待刷新之后,选择第一个CDT Main Features,一路Next就好了
安装完成后重启Eclipse,就可以新建C++ project了
P.S.如果发现C++工程一堆莫名其妙的错误那么说明没有安装合适的c++编译器,ubuntu自带的gcc编译器是不能编译c++的,我们需要安装g++:
sudo apt-get install g++
之后重启Eclipse就可以了正常编译了​

2.安装mysql支持

$sudo apt-get install mysql-server

$sudo apt-get install mysql-client

//$ sudo yum install mysql-devel -y //RHEL,Centos,Fedora

$ sudo apt-get install libmysqlclient-dev -y  //Ubuntu

如果已经安装成功了,找到mysql.h的文件路径,-I 编译即可
$ sudo find /usr/ -name ‘mysql.h’

$ gcc -I/usr/include/mysql …

sudo apt install libmysql++-dev
http://blog.csdn.net/linrulei11/article/details/7298834

4.安装python

5.FileZilla

6.MonoDevelop

7.安装freetds

下载freetds : http://www.inhhh.com/download/freetds-stable.0.91.tgz
解压 : tar zxvf freetds-stable.0.91.tgz

cd freetds0.91

chmod +x ./configure

sudo ./configure –prefix=/usr/local/freetds–with-tdsver=8.0–enable-msdblib

sudo make
sudo make install

cd /usr/local/freetds0.91/etc/freetds.conf

sudo chmod -x freetds.conf

sudo vi /etc/ld.so.conf
加入一行:
/usr/local/freetds/lib
然后运行以下指令使更改生效:
ldconfig