Misc Notes

关于windows下编译zlib和libzip

1. 先安装cmake

一路默认

2. 再编译zlib

1
2
3
cmake .. -G"Visual Studio 17 2022" -A"Win32" -DCMAKE_INSTALL_PREFIX="C:/Users/XXX/Codes/zlib/x86"

cmake .. -G"Visual Studio 17 2022" -A"x64" -DCMAKE_INSTALL_PREFIX="C:/Users/XXX/Codes/zlib/x64"

去vs的命令行下编译

1
msbuild /P:Configuration=Release INSTALL.vcxproj

3. 再编译libzip

1
2
3
cmake .. -G"Visual Studio 17 2022" -A"Win32" -DCMAKE_INSTALL_PREFIX="C:/Users/XXX/Codes/libzip/x86" -DZLIB_LIBRARY="C:/Users/XXX/Codes/zlib/x86/lib/zlib.lib" -DZLIB_INCLUDE_DIR="C:/Users/XXX/Codes/zlib/x86/include"

cmake .. -G"Visual Studio 17 2022" -A"x64" -DCMAKE_INSTALL_PREFIX="C:/Users/XXX/Codes/libzip/x64" -DZLIB_LIBRARY="C:/Users/XXX/Codes/zlib/x64/lib/zlib.lib" -DZLIB_INCLUDE_DIR="C:/Users/XXX/Codes/zlib/x64/include"

去vs的命令行下编译

1
msbuild /P:Configuration=Release INSTALL.vcxproj

记点Linux的东西

制作deb包

文件夹结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
--+--root_path
|
+--etc/xxx/config
|
+--opt/xxx/exe
|
+--var/log/xxx
|
+--+--DEBIAN
|
+--control
|
+--postinst

control文件内容

1
2
3
4
5
6
Package: xxxxx
Version: 1.0.0
Section: system
Architecture: amd64
Description: xxxxx
Maintainer: xxxx

postinst需要+x属性,会在安装后被执行,可以用来改用户,比如:

1
2
3
4
chown root.root /opt/xxx
chown root.root /etc/xxx
chown root.root /var/log/xxx
systemctl daemon-reload

Ubuntu通过systemd制作service

/lib/systemd/system/xxx.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=xxx

[Service]
User=root # 使用合适的用户
Group=root # 使用合适的组
ExecStart=/opt/xxx/xxxx
ExecStop=/bin/kill $MAINPID
ExecReload=/bin/kill -SIGHUP $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target # 还不太懂这个

关键是,要reload一下

1
systemctl daemon-reload

CentOS播放声音的折腾

查看是否有声卡

1
$ cat /proc/asound/cards

下面这个命令也是查声卡的

1
$ sudo aplay -L

还有这个

1
$ ll /dev/snd/

修改配置文件

1
2
3
4
5
$ cat /etc/asound.conf

defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

调节音量,用方向键移动并调节音量,然后按m键启用

1
$ sudo alsamixer

Gitlab的一点记录

挪窝

当时Gitlab是部署着玩儿的,不懂怎么配置也没去研究,结果一用下来里面好多东西,必须得整理一下,首先是挪个窝,否则会一直安装在系统盘,没多久就满了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ sudo mkdir /home/gitlab
$ sudo mkdir /home/gitlab/git-data
$ sudo chown git.root /home/gitlab/git-data
$ sudo su - git
$ vi /etc/gitlab/gitlab.rb
git_data_dirs({
"default" => {
"path" => "/home/gitlab/git-data"
}
}, {
"alternative" => {
"path" => " /home/gitlab2/gitlab-data"
}
})

$ gitlab-ctl stop
$ rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab/git-data
$ gitlab-ctl reconfigure
$ gitlab-ctl start

备份

1
sudo gitlab-rake gitlab:backup:create

关于PostgreSQL

CentOS安装配置PostgreSQL

1. 下载离线包并安装

1
2
3
4
5
6
7
https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-8.2-x86_64/

postgresql13-13.1-1PGDG.rhel8.x86_64.rpm
postgresql13-contrib-13.1-1PGDG.rhel8.x86_64.rpm
postgresql13-devel-13.1-1PGDG.rhel8.x86_64.rpm
postgresql13-libs-13.1-1PGDG.rhel8.x86_64.rpm
postgresql13-server-13.1-1PGDG.rhel8.x86_64.rpm

依次安装。

2. 配置

初始化数据库

1
2
3
$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
# 主要配置文件
$ ls /var/lib/pgsql/13/data/

配置数据库

1
2
3
# 修改默认账号密码
$ sudo su - postgres
$ psql -c "alter user postgres with password 'newpassword'"

启用远程连接

1
2
$ sudo vi /var/lib/pgsql/13/data/postgresql.conf
listen_addresses = '*'
1
2
$ sudo vi /var/lib/pgsql/13/data/pg_hba.conf
host all all 0.0.0.0/0 md5

设置自动启动

1
2
3
$ sudo systemctl enable --now postgresql-13
# 重启服务
$ sudo systemctl restart postgresql-13

3. 连接

1
$ psql -U <dbuser> -h <serverip> -p 5432 <dbname>

4. 数据库操作

1
2
3
4
5
6
7
8
9
10
11
12
# 创建数据库
create database xxx;
# 查看数据库
\l
# 查看表
\d
# 查看表结构
\d table;
# 切换数据库
\c db
# 修改所有者
alter database xxx owner to xxx;

5、用户操作

1
2
3
4
5
6
7
8
9
10
# 创建用户
create user xxx;
# 赋权
grant all privileges on database xxx to xxx;
# 只读权限
CREATE ROLE readaccess;
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
GRANT readaccess TO xxx;

6、备份及导入

1
2
3
4
# 备份
pg_dump -Fc -U xxx db > file.dmp
# 导入
pg_restore -d xxx file.dmp

关于安卓的一些记录

关于签名文件

1. 创建签名文件

1
keytool -genkey -alias <alias> -keyalg RSA -validity <20000> -keystore <xxx.keystore>
  • alias: 别名
  • keyalg: 算法
  • validity: 有效天数
  • keystore: 文件名

2. 修改密码

1
2
keytool -storepasswd -keystore <xxx.keystore>
keytool -keypasswd -alias <alias> -keystore <xxx.keystore>

3. 查看签名信息/MD5

1
2
keytool -list -v -keystore <xxx.keystore>
keytool -list -v -keystore <xxx.keystore> -storepass <password>

记点mysql的东西

CentOS7上安装mysql8

先在官网下载个repo,安装repo,然后更新一下yum

1
2
sudo yum clean all
sudo yum makecache

查看一下

1
yum repolist all | grep mysql

保证8是enable状态,可以修改

1
2
3
yum-config-manager --disable mysql80-community

yum-config-manager --enable mysql80-community

安装

1
sudo yum install mysql-community-server

装完后启动

1
2
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service

去日志里看root的密码

1
cat /var/log/mysqld.log

用这个密码登录,操作之前先改一下密码,这时候密码策略还是复杂的,要改个长一点的。完了再改一下密码策略,然后就可以改简单密码了,平时测试用嘛,要那么复杂干嘛。

1
2
3
4
alter user root@'localhost' identified by 'xxSS@@322434';
show variables like 'validate_password%';
set global validate_password.policy=0;
set global validate_password.length=1;

记一要配置下字符集

1
2
3
4
5
6
7
8
9
[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

Ubuntu 20.04安装mysql

1
2
3
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation

在mac上使用openldap

几个目录:

1
2
/etc/openldap
var/db/openldap/openldap-data

修改/etc/openldap/ldap.conf

1
2
BASE dc=yangxc,dc=com
URI ldap://127.0.0.1:389

生成密码:

1
2
slappasswd -s 123456
{SSHA}rpF1AqHFkpP9KdDjclUmFhsy951st6kb

修改/etc/openldap/sldap.conf

1
2
3
4
5
6
7
8
9
10
11
12
include         /private/etc/openldap/schema/core.schema
include /private/etc/openldap/schema/cosine.schema
include /private/etc/openldap/schema/nis.schema
include /private/etc/openldap/schema/inetorgperson.schema

modulepath /usr/libexec/openldap
moduleload back_bdb.la


suffix "dc=yangxc,dc=com"
rootdn "cn=admin,dc=yangxc,dc=com"
rootpw {SSHA}rpF1AqHFkpP9KdDjclUmFhsy951st6kb

启动:

1
sudo /usr/libexec/slapd -d3

新建第一个ou,domain.ldif:

1
2
3
4
dn: dc=yangxc,dc=com
objectClass: top
objectClass: domain
dc: yangxc

执行ldapadd添加:

1
ldapadd -D "cn=admin,dc=yangxc,dc=com" -W -x -f domain.ldif

再建些个子ou,unit.ldif:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dn: ou=Manage,dc=yangxc,dc=com
objectClass: organizationalUnit
ou: Manage

dn: ou=Dev,dc=yangxc,dc=com
objectClass: organizationalUnit
ou: Dev

dn: ou=Tech,dc=yangxc,dc=com
objectClass: organizationalUnit
ou: Tech

dn: ou=General,dc=yangxc,dc=com
objectClass: organizationalUnit
ou: General

执行ldapadd添加:

1
ldapadd -D "cn=admin,dc=yangxc,dc=com" -W -x -f unit.ldif

下面添加用户,user.ldif:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
dn: uid=test1,ou=Dev,dc=yangxc,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
homeDirectory: /home/test1
userPassword: 123456
loginShell: /bin/bash
cn: test1
uidNumber: 1001
gidNumber: 1010
sn: Test1
mail: @yangxc.com
postalAddress: beijing
mobile: 13888888888

dn: uid=test2,ou=Manage,dc=yangxc,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
homeDirectory: /home/test2
userPassword: 123456
loginShell: /bin/bash
cn: test2
uidNumber: 1002
gidNumber: 1011
sn: Test2
mail: @yangxc.com
postalAddress: beijing
mobile: 13999999999

执行ldapadd添加:

1
ldapadd -D "cn=admin,dc=yangxc,dc=com" -W -x -f user.ldif

几个命令:

1
2
3
4
5
ldapsearch -x -LLL
ldapsearch -x -b "ou=Manage,dc=yangxc,dc=com"
ldapadd -D "cn=admin,dc=yangxc,dc=com" -W -x -f something.ldif
ldapmodify -D "cn=admin,dc=yangxc,dc=com" -W -x -f modify.ldif
ldapdelete -D "cn=admin,dc=yangxc,dc=com" -W -x "ou=General,dc=yangxc,dc=com"

nodejs使用笔记

查看当前源:

1
npm config get registry

切换阿里源:

1
npm config set registry https://registry.npm.taobao.org/

Linux下升级node版本

1
2
3
npm install n -g
n stable
n latest

Git使用笔记

命令行下不显示中文的问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
set LESSCHARSET=utf-8
git config --global core.quotepath false

# 记住密码
git config --global credential.helper store

# 修改回车符处理
git config --global core.autocrlf false

# 从指定的 remote 获取指定的 commit
git fetch [nick_name] <sha1-of-commit-of-interest>
git reset --hard FETCH_HEAD

# 拉取tag
git fetch --tags

# 清除远程已删除而本地缓存的分支
git remote prune origin