Jiliuke

激流客

使用MIDI游戏问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WINEPREFIX=~/.deepinwine/apps/XXX_1 WINEDEBUG=+seh deepin-wine5-stable ~/.deepinwine/apps/XXX_1/drive_c/Program\ Files/XXXX/XXX5/LinLink5.exe

#调试字体
WINEPREFIX=/data/home/dyl/.deepinwine/apps/XXX_1 WINEDEBUG=+font,+tid deepin-wine5-stable /data/home/dyl/.deepinwine/apps/XXX_1/drive_c/Program\ Files/XXXX/XXX5/LinLink5.exe &> /data/home/dyl/fonts.log

WINEPREFIX=/data/home/dyl/.deepinwine/apps/XXX_1 WINEDEBUG=+seh deepin-wine5-stable /data/home/dyl/.deepinwine/apps/XXX_1/drive_c/Program\ Files/XXXX/XXX5/LinLink5.exe

#解决midi声音问题
sudo apt-get install timidity

timidity -iAD -B2,8 -Os1l -s 44100

WINE=/usr/bin/deepin-wine5-stable WINEPREFIX=/home/dyl/.deepinwine/apps/XXX_1 winetricks -q directmusic gmdls


解决dotnet40安装卡死问题

1
2
3
LC_ALL=en_US.UTF-8 WINEPREFIX=/home/dyl/.deepinwine/apps/XXXXXX_1 WINEDEBUG=+seh deepin-wine5-stable /home/dyl/.deepinwine/apps/XXXXXX_1/drive_c/yscq_tanwan/Update.exe

WINE=/usr/bin/deepin-wine5-stable WINEPREFIX=/home/dyl/.deepinwine/apps/XXXXXX_1 winetricks -q dotnet40 gdiplus

多版本PHP共存的Debian系统中,特定版本的xdebug支持特定PHP版本,所以需要安装不同的版本的xdebug

前提条件: Debian系统 已安装php7.3-dev php7.4-dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#设定默认php环境变量为7.3
sudo update-alternatives --set php /usr/bin/php7.3
sudo update-alternatives --set phpize /usr/bin/phpize7.3
sudo update-alternatives --set php-config /usr/bin/php-config7.3
#安装xdebug 2.9.8
sudo pecl -d php_suffix=7.3 install http://pecl.php.net/get/xdebug-2.9.8.tgz
sudo pecl uninstall xdebug

#设定默认php环境变量为7.4
sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4
#安装xdebug 3.0.2
sudo proxychains pecl -d php_suffix=7.4 install http://pecl.php.net/get/xdebug-3.0.2.tgz
sudo pecl uninstall xdebug

配置Xdebug 3

安装完成后进入php.ini配置文件,在Dynamic Extensions下添加以下代码,方便开发和调试

1
2
zend_extension=xdebug.so
xdebug.mode=develop,debug

国内用户可以使用上海交通大学的flatpak源,修改代码如下:

1
sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub

CrossOver 安装 PhotoShop CS6

已在crossover 20版本测试通过,使用原版PhotoShop CS6安装镜像安装,只需要在安装的时候同时安装微软XML解析器(MSXML) 3.0即可安装成功。

Nginx https 证书自己生成(debian系系统为例)

1.切换到/etc/nginx 目录下执行

1
sudo openssl req -new -x509 -nodes -out server.crt -keyout server.key

2.配置站点nginx(/etc/nginx/sites-enabled/test)

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
upstream php5.6-fpm {
server unix:/var/run/php/php5.6-fpm.sock;
}
server {
listen 443 ssl;
listen [::]:443 ssl;

server_name www.test.local;

ssl on;

ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;

ssl_session_cache shared:SSL:1m;


root /home/dyl/website/test;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}
index index.php index.html;

location ~ \.php$ {
# 设置php-fpm
fastcgi_pass php5.6-fpm;
# 设置nginx的默认首页文件(上面已经设置过了,可以删除)
fastcgi_index index.php;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}


# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}

3.重启nginx服务

1
sudo systemctl restart nginx

百万级文件删除使用rm删除会十分缓慢,大量删除操作需要用到rsync同步命令。
例如需要删除文件夹/home/dyl/test/

  1. 首先新建一个空文件夹 /tmp/test/
  2. 然后使用以下命令删除
    1
    rsync --delete-before -a -H -v /tmp/test/ /home/dyl/test/
    如果不想看到日志,参数换成-d.
    1
    rsync --delete-before -d /tmp/test/ /home/dyl/test/

需求

我们有很多仓库账号,每个仓库的登录用户又不同,这个时候就需要使用多个ssh keys配置不同的仓库,否则将会出现权限问题

步骤

1.首先生成ssh key,参见生成ssk key.
2.配置config(~/.ssh/config)

1
2
3
4
5
6
7
8
9
Host            git.us.magento.cloud
Hostname git.us.magento.cloud
IdentityFile ~/.ssh/id_rsa_mage_cloud
IdentitiesOnly yes
Host michaeldyl520.github.com
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa_michaeldyl520
IdentitiesOnly yes
User git

如果都是使用github,建议别名项目仓库Host避免冲突,例如git@michaeldyl520.github.com:xxxx/xxxx.git

需求

有时候我们需要在同一台服务器配置多个php版本利于开发测试,我们可以直接使用他人做好的包直接安装配置,以deepin示例。

步骤

  1. 首先加入多版本php源

    1
    2
    3
    4
    sudo apt-get -y install apt-transport-https lsb-release ca-certificates
    sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    sudo apt-get update

    https://packages.sury.org/php/README.txt

  2. 安装apache和多版本php-fpm

    1
    sudo apt-get install apache2 php5.6-fpm php7.0-fpm php7.1-fpm
  3. 打开apache headersproxy_fcgi模块

    1
    sudo a2enmod headers proxy_fcgi

    apachephp-fpm建议运行用户配置成当前登录账号,避免出现权限问题

  4. 配置虚拟域名

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <VirtualHost *:80>
    ServerName m1.mycoolcell.local
    ServerAlias m1.mycoolcell.local
    ServerAdmin webmaster@localhost
    DocumentRoot /home/dyl/website/mycoolcell_m1
    SetEnv MAGE_RUN_CODE wholesale
    SetEnv MAGE_RUN_TYPE website
    <FilesMatch "\.php$">
    <If "-f %{REQUEST_FILENAME}">
    SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </If>
    </FilesMatch>
    ErrorLog ${APACHE_LOG_DIR}/m1.mycoolcell.local.error.log
    CustomLog ${APACHE_LOG_DIR}/m1.mycoolcell.local.access.log combined
    </VirtualHost>

    如果需要其他版本,将上面的php5.6-fpm.sock配置成php7.1-fpm.sock即可。

Tips

1
2
3
4
5
6
7
8
#show elasticsearch database
curl localhost:9200/_cat/indices?v
#delete elasticsearch database
curl -XDELETE localhost:9200/xxxxxxx?pretty
#set limit variable
curl -XPUT localhost:9200/_template/template_name -d '{"template": "*", "order": 0, "settings": {"index": {"mapping": {"total_fields": {"limit": 10000}}}}, "version": 1}'
#show use percent of elasticsearch
curl http://localhost:9200/_nodes/stats?pretty&human -s |grep heap_used

本地开发减少docker elasticsearch的内存占用

1
2
3
4
5
6
docker cp elasticsearch7177:/usr/share/elasticsearch/config/jvm.options ~/
cd ~
sed -i 's/-Xms6g/-Xms1g/g' ~/jvm.options
sed -i 's/-Xmx6g/-Xmx1g/g' ~/jvm.options
docker cp ~/jvm.options elasticsearch7177:/usr/share/elasticsearch/config
rm ~/jvm.options

问题

当我们本地有很多私钥的时候,直接使用ssh xxx@xx.xx.xx.xx方式登录的时候会出现 Too many authentication failures for xxx Authentication failed.的错误,所以当我们存在大量的私钥时,为了方便,可以使用免密登录(不在此文讨论范围),还可以必须使用账号密码登录。

解决办法

配置ssh配置文件,如debian配置文件在/etc/ssh/ssh_config中,加入PubkeyAuthentication no到文件中即可。

0%