分类 ubuntu 下的文章

钉钉 linxu GLIBC_2.29 中文输入的问题

钉钉出linux版本,非常好, 但是在ubuntu下用默认 的输入法框架ibus 是没法 输入中文的 ,这个反馈过钉钉,但是一直没有解决,后在网络上搜索解决办法 ,找到了解决办法。
主要是这个文件 /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh

export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE="fcitx"
export QT_QPA_PLATFORM=xcb 

主要是这里指定了 fcitx

所以我把这3行注释了 就可以输入中文了,
网上的 是 改 fcitx 为 ibus

还有如果启动时候的报错

./libm.so.6: version `GLIBC_2.29' not found (required by /lib/x86_64-linux-gnu/libcairo.so.2)

这个问题其实只要删除

/opt/apps/com.alibabainc.dingtalk/files/1.3.0-Release.20214/ 
libm.so.6 这个文件删除  即可

tsocks 让运行的软件走代理

sudo apt install tsocks

安装后 修改配置文件 vi /etc/tsocks.conf

server = 127.0.0.1
server_port = 1688  #端口号为自己对应的

在运行的软件 前加上tsocks 就可以让网络走代理
比如

tsocks wget http://google.com/file

祝使用愉快

Linux 下 超大文件的编辑

应用场景:在此之前我也没有想到我会为了编辑一个54G大的 sql备份文件而想的头昏脑胀,线上有一个 大概120G的数据库,通过使用mysqldump 导出然后压缩 得到一个 16G的压缩文件,然后传出到本地,再解压,就得到了一个 54G的超大文件。

往常,通过使用 mysql -uroot -p dbname< back.sql 就可以顺利恢复了,不过问题就出在这里, 恢复的时候报了一个错误,大概的意思是 不支持 ngram插件

本地是一个 群晖的NAS 安装了MariaDB套件,即兼容mysql的一个产品,然而他并不支持 ngram (全文索引),这可如何是好啊?

不要急不要燥,该如何导入这个数据进数据库呢, 既然他不支持,那么删除掉这个 定义的语句 即可。

说干就干, vi back.sql

等的我花都谢了, 还在读文件,读54G 的文件。。。。 尝试sed 替换相应的内容, 这里进展不顺利。

这里不得不说, vi 操作 大文件还是很有用的, 只是操作 54G,太为难他了, 那就小一点,他总可以了吧。

尝试了各种 想直接编辑的方法都失败了 ,不得不退而求其次了,那就是把54打散切割, 再合并。

split -C 1024M /volume1/g.sql sql
vi sqlaa  #操作对应的内容后,保存退出
cat sql*> db.sql

不过经过实测,mysql -uroot -p dbname< back.sql 导入到MariaDB速度比较慢, 导入了2天,也还没导入完整,上次我记得是导入到mysql还挺快的。还有 一种办法通过 source 导入,进入mysql后通过mysql的终端 输入 source /sql文件的路径; 等待完成。

mysql8 安装后root登录不了

今天又在一台ubuntu上安装mysql8,这次不一样, 默认不是用系统的root帐号登录的,上次写 mysql8 安装与更改datadir数据目录 时是使用系统的root帐号操作的, 其中进展很顺利,没有遇到mysql登录不上root的问题, 不过这次现实俨然打脸了我,mysql -uroot -p 使用了很多方法都登录不了。

在中文搜索里, 搜了一堆都没有用,用 /etc/mysql/debian.cnf 里自动创建的用户 登录进去后
Userplugin
rootauth_socket
mysql.sysmysql_native_password
debian-sys-maintmysql_native_password

会看到 root的 plugin 和 下面2个不一样, 验证方式不一样,对很多资料也都提到了这一项,然后就开始教大家怎么怎么登录进root。
不过今天我这里 并不打算这样做(修改plugin的auth_socket),我们来想一想mysql 为什么要这样做呢?
其实不能登录只是我们的使用方式不对,不信 你尝试下这样,看看能登录不

方式一  :
采用 ubuntu的 root 帐号登录系统  然后再用  mysql -uroot -p 
方式二:
采用 sudo mysql -uroot -p

你会发现 这2种方式 都能成功登进mysql的 root 帐号里去。
所以类似的如果需要让ubuntu的系统用户能直接登进 mysql 还可以这样做

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY 'YOUR_PASSWD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit; 
sudo service mysql restart

所以 如果你不想用默认的 auth_socket 方法验证密码, 修改成 mysql_native_password 也是可以的。

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

参考:资料

v二Ray 加大作用域至局域网

默认的配置只能127.0.0.1本机使用,需要在局域网中其他机器也可以用 该怎么办?
改改 配置文件就可以实现这个目的:
在json文件中 inbounds: 中 如果有这端配置,照着修改, 没有的话 就添加

{
    "tag": "proxy",
    "port": 10808,
    "listen": "0.0.0.0",
    "protocol": "socks",
    "sniffing": {
        "enabled": true,
        "destOverride": [
            "http",
            "tls"
        ]
    },
    "settings": {
        "auth": "noauth",
        "udp": true,
        "ip": null,
        "address": null,
        "clients": null
    },
    "streamSettings": null
}

"listen": "0.0.0.0" 这里是关键 然后 在对应的客户端 填入 这台代理的局域网IP和设置的端口 并且选择socks方式的代理即可实现局域网共享。