找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 12824|回复: 21

[Debian] 分享--基于openwrt 搭 debian 安装宝塔,及避坑要点。

[复制链接]
发表于 2019-7-7 15:33 | 显示全部楼层 |阅读模式
本帖最后由 jgsyinyi 于 2019-8-18 15:22 编辑

2019-8-19 看到有人不会添加启动项,这里添加关于openwrt 添加启动项方面的步骤简单说明.


如果还是搞不懂,可以私信联系我。


1.在openwrt 根目录/bin,或者 usr/bin ,新建 S99debian 文件,注意调整第 4行、8行、9行,这几个位置是要根据实际情况调整的。


2.在 /etc/init.d 里面新建一个文件,自订名称,我这里命名为debian


拷贝下面的内容贴入(这是最简单的openwrt 启动项添加方式,只有启动和停止命令,其他建议自行查看openwrt 相关教程).
  1. #!/bin/sh /etc/rc.common

  2. START=99
  3. STOP=99

  4. NAME=debian

  5. start() {
  6.     debian start
  7. }

  8. stop() {
  9.     debian stop
  10. }
复制代码


3.在网页登录openwrt 控制台,从系统启动项去找 debian 启动项(默认是禁止的,点击启用),重启看效果。

-------------------------------------------------------------------------------
之前分享的前篇,梅林搭debian 安装宝塔面板搭建自己的webserver ,有提到因为梅林内核版本过低,导致很多功能组件安装不上,包括数据库只能装最低版本,避免 InnoDB 不兼容的问题。

看说明是asus 内核不更新的缘故,反正包括debian 本身都因为内核限制没办法升级更新。



偶然发现openwrt 的内核已经到 4.19 故从梅林跳到 openwrt 来用,期间操作及部分毒点分享一些给大家。



  • 自刷 openwrt 这里不细说,应该都会。
  • 刷好,路由器配置OK 之后(USB 什么的就不废话了,插上)下面开始正式操作。
  • 首先在USB 合适位置解压debian 文件,可选要不要挂载这个路径(作用只是为了输入命令操作的时候快一点)。
  1. tar -xvzf debian_jessie8.9-armel_clean.tgz
复制代码


  • 创建 S99debian 文件和 deb.list 文件,这是debian 启动文件和自启应用表,自己看合适位置放,不要放debian 文件夹里,建议与debian 文件夹处于同目录下。

  1. #!/bin/sh
  2. PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
  3. # Folder with Debian Jessie
  4. CHROOT_DIR=/opt/debian                #这是解压出来debian 的文件夹位置,改成自己的文件夹路径
  5. # Some folder outside of sandbox,
  6. # will be mounted to /mnt folder in Debian
  7. # Uncommented next line if you need to mount a folder inside debian
  8. EXT_DIR=/opt                             #这里是要挂载到debian 加载的资源文件夹(也就是你要在debian 系统使用的文件),自己调整,不用可以去掉。
  9. CHROOT_SERVICES_LIST=/opt/deb.list         #这是debian 启动时自动运行程序列表表单,自己建一个文件,改成自己的文件路径
  10. if [ ! -e "$CHROOT_SERVICES_LIST" ]; then
  11.   echo "Please, define Debian services to start in
  12. $CHROOT_SERVICES_LIST first!"
  13.   echo "One service per line. Hint: this is a script names from
  14. Debian's /etc/init.d/"
  15.   exit 1
  16. fi
  17. MountedDirCount="$(mount | grep $CHROOT_DIR | wc -l)"
  18. start() {
  19.   if [ $MountedDirCount -gt 0 ]; then
  20.     echo "Chroot'ed services seems to be already started,
  21. exiting..."
  22.     exit 1
  23.   fi
  24.   echo "Starting chroot'ed Debian services..."
  25.   for dir in dev proc sys; do
  26.     mount -o bind /$dir $CHROOT_DIR/$dir
  27.   done
  28.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
  29.   for item in $(cat $CHROOT_SERVICES_LIST); do
  30.     chroot $CHROOT_DIR /etc/init.d/$item start
  31.   done
  32.   }
  33. stop() {
  34.   if [ $MountedDirCount -eq 0 ]; then
  35.     echo "Chroot'ed services seems to be already stopped,
  36. exiting..."
  37.     exit 1
  38.   fi
  39.   echo "Stopping chroot'ed Debian services..."
  40.   for item in $(cat $CHROOT_SERVICES_LIST); do
  41.     chroot $CHROOT_DIR /etc/init.d/$item stop
  42.     sleep 2
  43.   done
  44.   mount | grep $CHROOT_DIR | awk '{print $3}' | xargs umount -l
  45.   }
  46. restart() {
  47.   if [ $MountedDirCount -eq 0 ]; then
  48.     echo "Chroot'ed services seems to be already stopped"
  49.     start
  50.     else
  51.     echo "Stopping chroot'ed Debian services..."
  52.   for item in $(cat $CHROOT_SERVICES_LIST); do
  53.     chroot $CHROOT_DIR /etc/init.d/$item stop
  54.     sleep 2
  55.   done
  56.   mount | grep $CHROOT_DIR | awk '{print $3}' | xargs umount -l
  57.     echo "Restarting chroot'ed Debian services..."
  58.   for dir in dev proc sys; do
  59.     mount -o bind /$dir $CHROOT_DIR/$dir
  60.   done
  61.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
  62.   for item in $(cat $CHROOT_SERVICES_LIST); do
  63.     chroot $CHROOT_DIR /etc/init.d/$item start
  64.   done
  65.   fi
  66.   }  
  67. enter() {
  68.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
  69.   mount -o bind /dev/ $CHROOT_DIR/dev/
  70.   mount -o bind /dev/pts $CHROOT_DIR/dev/pts
  71.   mount -o bind /proc/ $CHROOT_DIR/proc/
  72.   mount -o bind /sys/ $CHROOT_DIR/sys/
  73.   chroot $CHROOT_DIR /bin/bash
  74.   }
  75. status() {
  76.   if [ $MountedDirCount -gt 0 ]; then
  77.     echo "Chroot'ed services running..."
  78.   else
  79.     echo "Chroot'ed services not running!"
  80.   fi
  81.   }
  82. case "$1" in
  83.   start)
  84.     start
  85.     ;;
  86.   stop)
  87.     stop
  88.     ;;
  89.   restart)
  90.     restart
  91.     ;;
  92.   enter)
  93.     enter
  94.     ;;  
  95.   status) status
  96.     ;;
  97.   *)
  98.     echo "Usage: (start|stop|restart|enter|status)"
  99.     exit 1
  100.     ;;
  101. esac
  102. echo Done.
  103. exit 0
复制代码


  • 可选编辑debian 更新源(官方源太慢,其他源如163、清华源、上海交大源等可用自己去搜,交大源最快,官方源本身最安全),自带官方源debian 8的,下面是交大源debian 9 的,编辑 debian/etc/apt 文件夹里的 sources.list 注释掉或者删掉其他,贴上下面内容保存即可换源
  1. deb http://mirror.sjtu.edu.cn/debian/ stretch main contrib non-free
  2. deb-src http://mirror.sjtu.edu.cn/debian/ stretch main contrib non-free
  3. deb http://mirror.sjtu.edu.cn/debian/ stretch-updates main contrib non-free
  4. deb-src http://mirror.sjtu.edu.cn/debian/ stretch-updates main contrib non-free
  5. deb http://mirror.sjtu.edu.cn/debian/ stretch-backports main contrib non-free
  6. deb-src http://mirror.sjtu.edu.cn/debian/ stretch-backports main contrib non-free
  7. deb http://mirror.sjtu.edu.cn/debian-security/ stretch/updates main contrib non-free
  8. deb-src http://mirror.sjtu.edu.cn/debian-security/ stretch/updates main contrib non-free
复制代码
  • 之后就可用开始进入debian 操作了,运行 /opt/S99debian enter 进入(注意,没有挂载opt的,要换成自己的实际路径)
  • 运行下面命令先更新升级。
  1. apt-get update
  2. apt-get upgrade -y
  3. apt-get dist-upgrade -y
复制代码
  • 安装必要组件
  1. apt-get install procps -y
  2. apt-get install build-essential -y
  3. apt-get install yum -y
  4. apt-get install curl -y
  5. apt-get install wget -y
复制代码






安装完成之后,再安装下面的组件,不能提前安装,会不识别,必须安装,否则会出现 php 安装成功但是识别不到。

  1. apt-get install libcurl4-gnutls-dev -y
复制代码



毒点来了,打开面板应该是报程序异常中断的错误。


排雷:打开 debian 里的文件夹 tmp 里面有日志,看 panelBoot.pl 前两句,就是问题原因了,说是找不到位置 dev/shm 。


实际找到 dev/shm 居然是一个快捷,链接目的地居然是 路由器的 tmp 而不是 debian 内部。


修改的话,把原shm 快捷更名或者移除,新增文件夹命名为 shm 就 ok 了。重开bt服务就可以愉快玩耍了。


5.9 之前还有在 certbot-auto.log 看到 pip 的报错,这里的做法是先转python 重装pip 之后重新pip install 命令安装python组件,完成之后还要重新切换 python2.7 (宝塔面板脚本语法需求……),目前看起来并没有什么影响,就不详述了,至此打完收工。


链接: https://pan.baidu.com/s/1jSiXnpJyu7NmESJfqk0JVQ 提取码: ybbw 复制这段内容后打开百度网盘手机App,操作更方便哦






我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-7 17:03 | 显示全部楼层
openwrt  无线信号感人

点评

你是用的谁的固件,别这么快下结论,我的路由k3,用的挺好啊,信号跟官改差不多  详情 回复 发表于 2019-8-20 10:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-13 19:17 | 显示全部楼层
本帖最后由 nzslszn 于 2019-8-30 11:36 编辑

知道你的贴子为什么不火吗,写的太简单了,你能不能写细点,你的那个源文件从哪下的。你的操作怎么启动这个debian都没写
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-14 19:53 | 显示全部楼层
哥啊 你写细可以吗 ,多多电恩币都行啊....小白不会啊

点评

是不会在 openwrt 添加启动项么?我修订一下教程,把这方面步骤加上.  详情 回复 发表于 2019-8-18 14:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-8-18 14:34 | 显示全部楼层
875430176 发表于 2019-8-14 19:53
哥啊 你写细可以吗 ,多多电恩币都行啊....小白不会啊

是不会在 openwrt 添加启动项么?我修订一下教程,把这方面步骤加上.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-20 01:00 | 显示全部楼层
本帖最后由 nzslszn 于 2019-8-20 01:54 编辑

   k3openwrt 目录都应该一样吧,都是自动加载u盘或者硬盘,为什么要改自己的路径,没有一个公用路径吗?
       请问:你的根目录/bin,或者 usr/bin, 新建 S99debian 文件,注意调整第 4行、8行、9行,这几个位置是要根据实际情况调整的。”是打开winSCP软件登陆后/bin目录吗?而不是解压后/mnt/sda1/opt/debian/bin这个目录吧?
       请问:新建S99debian 文件,是在winSCP软件手动建立S99debian 文件,出现白板粘贴以下内容就好吗?
1. #!/bin/sh
2. PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
3. # Folder with Debian Jessie
4. CHROOT_DIR=/opt/debian                #这是解压出来debian 的文件夹位置,改成自己的文件夹路径   这里是不是/mnt/sda1/opt/debian我的是mnt/sda1加载的U盘
5. # Some folder outside of sandbox,
6. # will be mounted to /mnt folder in Debian
7. # Uncommented next line if you need to mount a folder inside debian
8. EXT_DIR=/opt                             #这里是要挂载到debian 加载的资源文件夹(也就是你要在debian 系统使用的文件),自己调整,不用可以去掉。是解压后的文件夹,文件/mnt/sda1/opt/debian路径吗?还是什么?
9. CHROOT_SERVICES_LIST=/opt/deb.list         #这是debian 启动时自动运行程序列表表单,自己建一个文件,改成自己的文件路径   是不是改成/mnt/sda1/opt路径?还是什么?
10. if [ ! -e "$CHROOT_SERVICES_LIST" ]; then
11.   echo "Please, define Debian services to start in
12. $CHROOT_SERVICES_LIST first!"
13.   echo "One service per line. Hint: this is a script names from
14. Debian's /etc/init.d/"
15.   exit 1
16. fi
17. MountedDirCount="$(mount | grep $CHROOT_DIR | wc -l)"
18. start() {
19.   if [ $MountedDirCount -gt 0 ]; then
20.     echo "Chroot'ed services seems to be already started,
21. exiting..."
22.     exit 1
23.   fi
24.   echo "Starting chroot'ed Debian services..."
25.   for dir in dev proc sys; do
26.     mount -o bind /$dir $CHROOT_DIR/$dir
27.   done
28.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
29.   for item in $(cat $CHROOT_SERVICES_LIST); do
30.     chroot $CHROOT_DIR /etc/init.d/$item start
31.   done
32.   }
33. stop() {
34.   if [ $MountedDirCount -eq 0 ]; then
35.     echo "Chroot'ed services seems to be already stopped,
36. exiting..."
37.     exit 1
38.   fi
39.   echo "Stopping chroot'ed Debian services..."
40.   for item in $(cat $CHROOT_SERVICES_LIST); do
41.     chroot $CHROOT_DIR /etc/init.d/$item stop
42.     sleep 2
43.   done
44.   mount | grep $CHROOT_DIR | awk '{print $3}' | xargs umount -l
45.   }
46. restart() {
47.   if [ $MountedDirCount -eq 0 ]; then
48.     echo "Chroot'ed services seems to be already stopped"
49.     start
50.     else
51.     echo "Stopping chroot'ed Debian services..."
52.   for item in $(cat $CHROOT_SERVICES_LIST); do
53.     chroot $CHROOT_DIR /etc/init.d/$item stop
54.     sleep 2
55.   done
56.   mount | grep $CHROOT_DIR | awk '{print $3}' | xargs umount -l
57.     echo "Restarting chroot'ed Debian services..."
58.   for dir in dev proc sys; do
59.     mount -o bind /$dir $CHROOT_DIR/$dir
60.   done
61.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
62.   for item in $(cat $CHROOT_SERVICES_LIST); do
63.     chroot $CHROOT_DIR /etc/init.d/$item start
64.   done
65.   fi
66.   }  
67. enter() {
68.   [ -z "$EXT_DIR" ] || mount -o bind $EXT_DIR $CHROOT_DIR/mnt
69.   mount -o bind /dev/ $CHROOT_DIR/dev/
70.   mount -o bind /dev/pts $CHROOT_DIR/dev/pts
71.   mount -o bind /proc/ $CHROOT_DIR/proc/
72.   mount -o bind /sys/ $CHROOT_DIR/sys/
73.   chroot $CHROOT_DIR /bin/bash
74.   }
75. status() {
76.   if [ $MountedDirCount -gt 0 ]; then
77.     echo "Chroot'ed services running..."
78.   else
79.     echo "Chroot'ed services not running!"
80.   fi
81.   }
82. case "$1" in
83.   start)
84.     start
85.     ;;
86.   stop)
87.     stop
88.     ;;
89.   restart)
90.     restart
91.     ;;
92.   enter)
93.     enter
94.     ;;  
95.   status) status
96.     ;;
97.   *)
98.     echo "Usage: (start|stop|restart|enter|status)"
99.     exit 1
100.     ;;
101. esac
102. echo Done.
103. exit 0

      这样的话,就是只解压,然后用winSCP手动建立文件就可了吗?
执行/usr/bin/S99debian enter出现
Please, define Debian services to start in
/mnt/sda1/opt/deb.list first!
One service per line. Hint: this is a script names from
Debian's /etc/init.d/


点评

因为原是在梅林用,梅林要用 Entware 支持,而 Entware 默认文件夹位置是 opt 文件夹. 只是梅林固件内核太低,所以转改到 openwrt 来用. 主要是需要三个文件和debian包. S99debian (可以是自订其他名称),这是真正  详情 回复 发表于 2019-8-20 14:08
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-20 10:34 | 显示全部楼层
时光雕刻人生 发表于 2019-7-7 17:03
openwrt  无线信号感人

你是用的谁的固件,别这么快下结论,我的路由k3,用的挺好啊,信号跟官改差不多

点评

openwrt 不知道为什么会突然跳ping (无线伤不起,游戏直接掉线,各种坑队友ing……) ,改过dns\mtu\各种启动项禁用都不行,就算无线改走wan口都会跳, 谁的固件无线驱动稳定,有没有固件推荐一下?  详情 回复 发表于 2019-8-20 14:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-8-20 14:08 | 显示全部楼层
nzslszn 发表于 2019-8-20 01:00
k3的openwrt 目录都应该一样吧,都是自动加载u盘或者硬盘,为什么要改自己的路径,没有一个公用路径吗 ...

因为原是在梅林用,梅林要用 Entware 支持,而 Entware 默认文件夹位置是 opt 文件夹. 只是梅林固件内核太低,所以转改到 openwrt 来用.
主要是需要三个文件和debian包.

S99debian (可以是自订其他名称),这是真正启动执行debian命令的文件,源自最初教程.放到 $path 环境的任意文件夹里都行一般是bin 或者usr/bin,目的是为了在系统下直接识别debian 启动停止等相关命令。

debian (可以是自订其他名称) , 这是为openwrt 添加的启动项文件,目的是让debian 自启,前面给出样例可以自行调整启动命令,放在etc/init.d 里,

deb.list (可以是自订其他名称),这是debian 启动之后自动启动debian 内程序的列表。随便你在哪里新建,随便叫什么名字,有要启动的程序就写,每行一个,没有就内容空白。

debian 包,这是系统环境主体。

例如你放在mnt/sda1 解压出来,那么第四行就写 mnt/sda1/debian

第八行可要可不要,例如我debian 构建网站,有usb 上原有图片资源库要调入debian 系统下给网站用,就挂在第八行,在debian 系统下mnt 文件夹能看到。

例如第九行,你建立文件 mnt/sda1/deb.list 那么就填 mnt/sda1/deb.list


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-8-20 14:17 | 显示全部楼层
nzslszn 发表于 2019-8-20 10:34
你是用的谁的固件,别这么快下结论,我的路由k3,用的挺好啊,信号跟官改差不多

openwrt 不知道为什么会突然跳ping (无线伤不起,游戏直接掉线,各种坑队友ing……) ,改过dns\mtu\各种启动项禁用都不行,就算无线改走wan口都会跳, 谁的固件无线驱动稳定,有没有固件推荐一下?

点评

http://lede-k3.test.tossp.com/6e28ead042270304a3bdc236eedc1cb2ca625aeb/index.html你试试这个  详情 回复 发表于 2019-8-20 16:02
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-20 16:02 | 显示全部楼层
jgsyinyi 发表于 2019-8-20 14:17
openwrt 不知道为什么会突然跳ping (无线伤不起,游戏直接掉线,各种坑队友ing……) ,改过dns\mtu\各种启动 ...

http://lede-k3.test.tossp.com/6e ... ca625aeb/index.html你试试这个

点评

phicomm-k3-squashfs.trx ,可以下载8-6号的,更新版  详情 回复 发表于 2019-8-20 16:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-20 16:03 | 显示全部楼层
nzslszn 发表于 2019-8-20 16:02
http://lede-k3.test.tossp.com/6e28ead042270304a3bdc236eedc1cb2ca625aeb/index.html你试试这个

phicomm-k3-squashfs.trx ,可以下载8-6号的,更新版
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-8-21 01:28 | 显示全部楼层
装上宝塔后输入链接http://39.149.12.52:8888/提示无法显示此网页错误代码: HTTP ERROR -2146697211
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-8-30 01:48 | 显示全部楼层
本帖最后由 jgsyinyi 于 2019-8-30 01:55 编辑
nzslszn 发表于 2019-8-21 01:35
一.   我用winSCP软件把包复制在/mnt/sda1/
二。用Xshell 6  执行命令
      01. cd  /mnt/sda1

你试过从内网访问么?
路由器地址:8888 试试看.
如果还是不行,检查一下看看是不是没给debian 文件和 S99debian 文件必要的权限.改成755 另外,如果你是openwrt 固件的话,明天我发一个debian10版的宝塔6.9 分享包,顺便补一篇K3 宝塔配置 Tomcat 的教程,以及6.9 因内存太小限制安装(例如mysql5.6)的解决办法.
到时可以拿去试试.

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-9 10:25 | 显示全部楼层
你好  debian已经按你说的升级到9了  安装宝塔提示需要升级内核  百度后试了  好像都说什么依赖问题  不成功  怎么办
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-9 11:31 | 显示全部楼层
apt-get dist-upgrade -y  这一步失败了

信息如下
root@RT-AC3100-ABFC:/# apt-get dist-upgrade -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
locales : Depends: libc-bin (> 2.24) but 2.19-18+deb8u10 is installed
E: Unmet dependencies. Try using -f.

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 13:01

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表