当前位置: 首页 > news >正文

网站开发后台前端数据库seo搜索引擎优化排名哪家更专业

网站开发后台前端数据库,seo搜索引擎优化排名哪家更专业,高中生做网站,招聘网站数据分析怎么做编译环境 示例编译所用系统为 Ubuntu 22.04,信息如下 编译时由于网络问题,部分软件包可能出现下载问题,还请自备网络工具或尝试重新运行命令 编译步骤 下图为官网指示 编译环境设置(Build system setup) 这里根据我…

编译环境

示例编译所用系统为 Ubuntu 22.04,信息如下

Ubuntu Version

编译时由于网络问题,部分软件包可能出现下载问题,还请自备网络工具或尝试重新运行命令

编译步骤

下图为官网指示

在这里插入图片描述

编译环境设置(Build system setup)

这里根据我选择的系统 Ubuntu22.04 ,终端输入如下命令

Debian / Ubuntu

Modernized set for Ubuntu 22.04 for OpenWrt master, 22.03 and 21.02 branches that do not need python2.7 any more. Python3 is installed by default in Ubuntu 22.04.

sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
python3-distutils rsync unzip zlib1g-dev file wget qemu qemu-utils

Older advice: (此步骤为比较旧的建议,可以不用输入)

sudo apt update
sudo apt install build-essential ccache ecj fastjar file g++ gawk \
gettext git java-propose-classpath libelf-dev libncurses5-dev \
libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
python3-distutils python3-setuptools python3-dev rsync subversion \
swig time xsltproc zlib1g-dev qemu qemu-utils

编译系统(Build system usage)

  • 下载源代码(Downloading sources)

Clone the Git repository using the following command.

git clone https://git.openwrt.org/openwrt/openwrt.git [<buildroot>]

Possible issues:

  • -bash: git: command not found - verify your build system setup.
  • fatal: destination path 'openwrt' already exists and is not an empty directory. - remove/rename the buildroot directory.

其中 [] 替换为你的编译目录,比如我的为 ~/tmp/build/openwrt/

  • 更新源代码(Updating sources)

:!: Sources in development branch change frequently. It is recommended that you work with the latest sources.

cd [<buildroot>]
git pull

其中 [] 替换为你的编译目录,比如我的为 ~/tmp/build/openwrt/

在这里插入图片描述

  • 选择一个指定的版本(Select a specific code revision)
git branch -a
git tag
git checkout v23.05.2

因为现在我用的最新版本 v23.05.2,所以就切换为 git checkout v23.05.2

  • 更新 Feed(Updating feeds)
./scripts/feeds update -a
./scripts/feeds install -a

因为网络环境的问题,建议重复执行上面的命令直到能够看到完全正常为止,正常如下

重复运行 ./scripts/feeds update -a 直到显示如下

shenyanwu@shenyanwu:~/tmp/build/openwrt$ ./scripts/feeds update -a
Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git^8e3a1824645f5e73ec44c897ac0755c53fb4a1f8' ...
Updating feed 'luci' from 'https://git.openwrt.org/project/luci.git^7739e9f5b03b830f51d53c384be4baef95054cb3' ...
Updating feed 'routing' from 'https://git.openwrt.org/feed/routing.git^83ef3784a9092cfd0a900cc28e2ed4e13671d667' ...
Updating feed 'telephony' from 'https://git.openwrt.org/feed/telephony.git^9746ae8f964e18f04b64fbe1956366954ff223f8' ...
Create index file './feeds/packages.index' 
Create index file './feeds/luci.index' 
Create index file './feeds/routing.index' 
Create index file './feeds/telephony.index' 
shenyanwu@shenyanwu:~/tmp/build/openwrt$

重复运行 ./scripts/feeds install -a 直到显示如下

shenyanwu@shenyanwu:~/tmp/build/openwrt$ ./scripts/feeds install -a
Collecting package info: package/feeds/packages/udp-broadcast-relay-redux-openwr
Collecting package info: done
Installing all packages from feed packages.
Installing all packages from feed luci.
Installing all packages from feed routing.
Installing all packages from feed telephony.
shenyanwu@shenyanwu:~/tmp/build/openwrt$ 

参考官方的编译配置信息(Using official build config)

wget https://downloads.openwrt.org/releases/23.05.2/targets/x86/64/config.buildinfo -O .config

我的版本是 23.05.2x86/64 可以在官方的下载目录去找到与你设备芯片对应的配置文件 官方页面传送门

编译镜像配置(Image configuration)

make menuconfig

运行此命令后等待片刻则会出现配置选择,通过上下方向键 进行选择,回车键 进入,空格键 Space 选择,其中选项前面的 <M> 表示编译为独立的包,即类似安装包,不会在编译好的系统中存在,需要另外安装, <*> 表示编译为内建包,即相当于直接编译至系统内部,不需要另外再安装,连续按下两次退出键 ESC 返回上一级目录,最后保存好的配置文件将会在当前的 OpenWrt 目录下生成一个名为 .config 的隐藏文件

在这里插入图片描述

此处提供一些基于官方编译配置的简单更改,根据的你目标机器的芯片选择前三项,第四项选择镜像格式,如果空间足够,可以考虑适当增加第四项 Target Images -> Kernel partition sizeRoot filesystem partition size

在这里插入图片描述

LuCI -> Modules -> Translations -> Chinese Simplified (zh_Hans) 为 LuCI 界面增加中文语言


在编译命令之前,可以运行一个检查命令,用来检查你的依赖项,包的一些先决条件等是否满足要求,还会从中删除过时的项目,例如对不存在的软件包或配置选项的引用

make defconfig

我的运行如下图所示:

shenyanwu@shenyanwu:~/tmp/build/openwrt$ make defconfig
tmp/.config-package.in:33826:error: recursive dependency detected!
tmp/.config-package.in:33826:	symbol PACKAGE_python3-pymysql depends on PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT
feeds/packages/lang/python/pymysql/Config.in:4:	symbol PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT depends on PACKAGE_python3-pymysql
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"#
# configuration written to .config
#
shenyanwu@shenyanwu:~/tmp/build/openwrt$

此处检测到发生了一个依赖错误,通过查询 OpenWrt 官方 Github 的 issues,找到解决方案,链接 issues #22668

问题在于 feeds/packages/lang/python/pymysql 路径下 Makefile 里面的依赖冲突,该 issues 给出了解决方案,对 Makefile 文件修改如下,其中段落前面的 - 代表需要删除的部分, + 代表需要增添的部分

 ## Copyright (C) Alexandru Ardelean <ardeleanalex@gmail.com>## This is free software, licensed under the GNU General Public License v2.# See /LICENSE for more information.#include $(TOPDIR)/rules.mkPKG_NAME:=pymysqlPKG_VERSION:=1.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2PYPI_NAME:=PyMySQLPKG_HASH:=816927a350f38d56072aeca5dfb10221fe1dc653745853d30a216637f5d7ad36PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>PKG_LICENSE:=MITPKG_LICENSE_FILES:=LICENSEPKG_CONFIG_DEPENDS:=CONFIG_PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORTinclude ../pypi.mkinclude $(INCLUDE_DIR)/package.mkinclude ../python3-package.mk-define Package/python3-pymysql
+define Package/python3-pymysql/DefaultSUBMENU:=PythonSECTION:=langCATEGORY:=LanguagesTITLE:=Pure Python MySQL ClientURL:=https://pymysql.readthedocs.io/
-  DEPENDS:=+python3 +PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT:python3-cryptographyendef-define Package/python3-pymysql/config
-  source "$(SOURCE)/Config.in"
+define Package/python3-pymysql
+$(call Package/python3-pymysql/Default)
+  DEPENDS:=+python3endefdefine Package/python3-pymysql/descriptionThis package contains a pure-Python MySQL client library, based on PEP 249.endef+define Package/python3-pymysql-sha-pwd
+$(call Package/python3-pymysql/Default)
+  TITLE+=w/ SHA256 password auth
+  DEPENDS:=+python3-pymysql $(RUST_ARCH_DEPENDS) +PACKAGE_python3-pymysql-sha-pwd:python3-cryptography
+endef+define Package/python3-pymysql-sha-pwd/description
+  This is a meta-package installing python3-pymysql and python3-cryptography
+  packages to be able to use pymysql with “sha256_password” or
+  “caching_sha2_password” for authentication.
+endef
+
+define Package/python3-pymysql-sha-pwd/install
+  true
+endef$(eval $(call Py3Package,python3-pymysql))$(eval $(call BuildPackage,python3-pymysql))$(eval $(call BuildPackage,python3-pymysql-src))
+$(eval $(call BuildPackage,python3-pymysql-sha-pwd))

修改后的完整文件如下

#
# Copyright (C) Alexandru Ardelean <ardeleanalex@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#include $(TOPDIR)/rules.mkPKG_NAME:=pymysql
PKG_VERSION:=1.0.2
PKG_RELEASE:=2PYPI_NAME:=PyMySQL
PKG_HASH:=816927a350f38d56072aeca5dfb10221fe1dc653745853d30a216637f5d7ad36PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSEPKG_CONFIG_DEPENDS:=CONFIG_PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORTinclude ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mkdefine Package/python3-pymysql/DefaultSUBMENU:=PythonSECTION:=langCATEGORY:=LanguagesTITLE:=Pure Python MySQL ClientURL:=https://pymysql.readthedocs.io/
endefdefine Package/python3-pymysql
$(call Package/python3-pymysql/Default)DEPENDS:=+python3
endefdefine Package/python3-pymysql/descriptionThis package contains a pure-Python MySQL client library, based on PEP 249.
endefdefine Package/python3-pymysql-sha-pwd
$(call Package/python3-pymysql/Default)TITLE+=w/ SHA256 password authDEPENDS:=+python3-pymysql $(RUST_ARCH_DEPENDS) +PACKAGE_python3-pymysql-sha-pwd:python3-cryptography
endefdefine Package/python3-pymysql-sha-pwd/descriptionThis is a meta-package installing python3-pymysql and python3-cryptographypackages to be able to use pymysql with “sha256_password” or“caching_sha2_password” for authentication.
endefdefine Package/python3-pymysql-sha-pwd/installtrue
endef$(eval $(call Py3Package,python3-pymysql))
$(eval $(call BuildPackage,python3-pymysql))
$(eval $(call BuildPackage,python3-pymysql-src))
$(eval $(call BuildPackage,python3-pymysql-sha-pwd))

修改完成后重新运行 make defconfig,结果如下

shenyanwu@shenyanwu:~/tmp/build/openwrt$ make defconfig
Collecting package info: done
#
# configuration written to .config
#
shenyanwu@shenyanwu:~/tmp/build/openwrt$

下载相关源以及多核编译的依赖(Download sources and multi core compile)

make download

此命令将会预先下载你依赖的所有源代码,同时开启支持多核编译的功能,这样你才可以成功编译,并且使用多核编译提升编译速度

编译镜像(Building images)

make -j $(($(nproc)+1))

这个命令属于多核编译开启,使用你所有的核心进行编译,当然如果你想使用指定核心数量编译,请在 -j 命令后指定核心数,例如单核编译

make -j1

当然你要是不放心之前下载的相关源以及多核编译的依赖,你可以执行下面的代码,在编译前重新下载一次,然后自动开始编译

make -j $(nproc) download world

你可能在别的教程里面见过在命令后面还有 V=sc 或者 V=s,这是打开日志显示,在你编译出错排错时,会在终端进行显示错误信息,对于排除错误很有用,比如以下命令会输出很多日志提供错误帮助

make -j1 download world V=s

建议在第一次编译时,如果你不确定你的配置项都满足编译要求,可以使用单核,日志输出编译 make -j1 V=s 来确保出错后进行排除。比如我编译配置中选择了编译 vmdk 格式的镜像文件,产生了以下错误日志

WARNING: Install qemu-img to create VDI/VMDK images
make[5]: *** [Makefile:158: /home/shenyanwu/tmp/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/tmp/openwrt-23.05.2-x86-64-generic-squashfs-combined.vmdk] Error 1
make[5]: Leaving directory '/home/shenyanwu/tmp/build/openwrt/target/linux/x86/image'
make[4]: *** [Makefile:24: install] Error 2
make[4]: Leaving directory '/home/shenyanwu/tmp/build/openwrt/target/linux/x86'
make[3]: *** [Makefile:11: install] Error 2
make[3]: Leaving directory '/home/shenyanwu/tmp/build/openwrt/target/linux'
time: target/linux/install#86.46#47.88#127.74ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:30: target/linux/install] Error 1
make[2]: Leaving directory '/home/shenyanwu/tmp/build/openwrt'
make[1]: *** [target/Makefile:24: /home/shenyanwu/tmp/build/openwrt/staging_dir/target-x86_64_musl/stamp/.target_install] Error 2
make[1]: Leaving directory '/home/shenyanwu/tmp/build/openwrt'
make: *** [/home/shenyanwu/tmp/build/openwrt/include/toplevel.mk:232: world] Error 2

可以看出是由于 WARNING: Install qemu-img to create VDI/VMDK images 导致了以下输出,应该是选择了 vmdk 格式的镜像后,通过 qemu-img 这个文件进行转换格式,但是并未安装 qemu-img,因此运行命令(此命令我已添加在了编译环境设置中

sudo apt install qemu qemu-utils

然后重新开始执行编译即可,或者你在 make menuconfig 中去除掉 image vmdk 格式的镜像文件选项,在用编译之后的 img 镜像进行转换格式即可

编译完成后,可以发现镜像在 openwrt/bin/targets 目录下,根据我的配置文件,生成以下镜像压缩文件,选择一个合适的使用即可

在这里插入图片描述

http://www.ds6.com.cn/news/55113.html

相关文章:

  • 事业单位网站建设的账务处理网站权重
  • 广州十大传媒公司百度禁止seo推广
  • 做网站需要多少钱啊怎么做互联网营销推广
  • 中国拟在建项目网青岛网站seo公司
  • 青岛做网站的百度快照怎么删除
  • 网站建设方案主要有百度推广中心
  • 企业建设网站企业网络推广和运营的区别
  • 保定公司网站建设线上销售水果营销方案
  • 公司网站建设调研网站关键词
  • app下载我的订单seo优化大公司排名
  • 哪些网站做任务赚钱上海有哪些优化网站推广公司
  • 合肥高端网站建设公司哪家好引流推广网站平台
  • 有什么网站可以做婚庆视频it培训机构培训费用
  • 烟台做外贸网站seo教程技术优化搜索引擎
  • 手机网站 pc网站模板seo还有用吗
  • 河南省通信管理局网站备案电话适合40岁女人的培训班
  • 浙江杭州下沙做网站自媒体135网站免费下载安装
  • 长沙做网站最好的公司有哪些怎样精准搜索关键词
  • 宁波网站搭建sem运营
  • 自己怎么做网站视频赚钱吗seo优化分析
  • 萧山城区建设有限公司网站计算机培训机构排名
  • 在一家传媒公司做网站编辑 如何视频剪辑培训班学费一般多少
  • 没有收款接口网站怎么做收款前端培训
  • 招工网站怎么做线上宣传的方式
  • 网络营销中关于网站设计7cs百度seo搜索引擎优化方案
  • 时尚flash网站官网站内推广内容
  • 上海手机网站建设电话咨询重庆森林电影简介
  • 做外贸用什么搜索网站seo关键词
  • asp动态网站开发基础教程答案西安seo外包平台
  • 网站初期建设的成本来源平台如何做推广