作者归档:NjDuck

Ubuntu20.04从源码安装opencv

准备编译环境

sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
    libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev mlocate

下载

https://github.com/opencv/opencv/releases

编译

tar xzvf opencv-4.6.0.tar.gz
cd opencv-4.6.0
mkdir build
cd build
cmake -D OPENCV_GENERATE_PKGCONFIG=ON ..
make -j8
sudo make install

常见错误

编译安装完成后使用pkg-config提示找不到opencv的错误

pkg-config --modversion opencv
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

原因是编译时缺少参数 -D OPENCV_GENERATE_PKGCONFIG=ON

重新安装后,更新一下数据库

sudo updatedb

再来试试

pkg-config --modversion opencv4
4.6.0

Ubuntu20.04 如何降级php

Ubuntu20.04默认安装的php版本是7.4,如果想要降级到7.3,7.2需要进行如下操作

安装英语语言包

sudo apt-get install -y language-pack-en-base

安装ondrej/php源

export LC_ALL=en_US.UTF-8 && export LANG=en_US.UTF-8 && sudo apt-get install -y software-properties-common && sudo add-apt-repository -y ppa:ondrej/php

安装需要的php版本吧

sudo apt-get install php7.3

参考资料

群晖通过Docker部署GitLab Runner

准备:

  • 在群晖docker共享文件夹下新建gitlab-runner目录
  • 在gitlab-runner目录下新建config目录

通过终端进入群晖

sudo docker run -d --name gitlab-runner --restart always \
-v /volume1/docker/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 8093:8093 \
gitlab/gitlab-runner:latest

注册Runner

在群晖终端输入

sudo docker run --rm -it \
-v /volume1/docker/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner \
register

根据提示,输入gitlab访问url以及注册令牌,完成注册

群晖通过Docker部署GitLab

准备

  • 首先新建docker共享文件夹,并在里面创建gitlab目录。
  • 在gitlab目录下创建config, logs, data目录。

启动

通过终端连接群晖,执行下面的命令启动gitlab

sudo docker run --detach \
> --hostname njduck.com \
> --publish 443:443 \
> --publish 80:80 \
> --publish 22:22 \
> --name gitlab-ce \
> --restart alwasy \
> --volumn /volume1/docker/gitlab/config:/etc/gitlab \
> --volumn /volume1/docker/gitlab/logs:/var/log/gitlab \
> --volumn /volume1/docker/gitlab/data:/var/opt/gitlab \
> gitlab/gitlab-ce:latest

补充

初始用户为:root, 初始密码需要在群晖终端下通过下面的命令获得,注意这个文件在第一次登录后会删除,记得保存好

sudo docker exec -it gitlab-ce grep 'Password:' /etc/gitlab/initial_root_password

离线手动安装vscode server

偶尔碰到vscode server不能自动安装的问题,这个时候可以通过手动安装的方式来解决

step1: 通过迅雷下载对应commit id的vscode压缩包

step2: 复制压缩包到远程主机的 ~/.vscode-server/bin/ 目录

step3: 执行:tar xzvf [commit id].tar.gz 解压缩

step4: 确认vscode server的路径符合: ~/.vscode-server/bin/[commit id]/server.sh

all done

Ubuntu20.04如何安装python3.6

更新apt源配置,安装python3.6

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6 python3.6-distutils

安装适配python3.6的pip

wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python3.6 get-pip.py

如何编译系统签名的APK

在github上下载工具:

 https://github.com/getfatday/keytool-importkeypair

从安卓源代码中复制必要的文件:

文件路径:build/target/product/security
platform.pk8
platform.x509.pem

把上面这2个文件和工具放在同一个目录下,执行下面的命令:

sh keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

-p: 密码,上面的例子使用了android

-alias: 别名,签名的时候需要,上面的例子使用了platform

修改AndroidManifest.xml文件,添加下面的内容之一:

  • android:sharedUserId=”android.uid.system
  • android:sharedUserId=”android.uid.shared”
  • android:sharedUserId=”android.media”

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.njduck.demoapp"
    android:sharedUserId="android.uid.system">