作者: itgeeker

  • pg_trgm postgresql插件安装

    pg_trgm postgresql插件安装

    系统CentOS,PostgreSQL9.6 yum安装

    sudo yum install postgresql96-contrib
    sudo dnf install postgresql96-contrib
    sudo dnf install postgresql10-contrib

    用yum和dnf都可以,dnf需要先安装 sudo yum install dnf,然后\c链接数据库后:

    CREATE EXTENSION pg_trgm;

    误区:不用postgresql96而直接用postgresql就会产生找不到文件的问题,主要是lib库的路径问题,错误提示:

    ERROR:  could not open extension control file "/usr/pgsql-9.6/share/extension/pg_trgm.control": No such file or directory

    然后你或许可以用链接路径来解决

    ln -s /usr/share/pgsql/extension/pg_trgm* /usr/pgsql-9.6/share/extension/

    但会遇到新的错误:

    ERROR:  could not access file "$libdir/pg_trgm": No such file or directory

    所以确定好版本,用正确的方式安装很重要。

  • 华为无线耳机Freebuds Pro 2的调整音量窍门

    华为无线耳机Freebuds Pro 2的调整音量窍门

    没带着耳机坐过地铁,今天发现耳机音量好低,明明蓝牙音量调到最高了,但是还是音量很低听不清。

    地铁里网速不好,GG了一会找到了解决方案。原来耳机通过骨声纹调整的音量和手机蓝牙音量是两套系统,平常用惯语音调整音量减,造成现在光调高蓝牙音量不起作用了。

    但是,华为没有为freebuds耳机提供软件调整音量,所以只能用骨声纹来调整,地铁那么多人,不好意思对着耳机大喊“音量加”,结果试了两遍轻轻喊,结果?

    终于到站了,大声一喊,音量终于上来了!

    再吐槽一下华为也没为freebuds提供随时查询电量的功能,只有刚打开盒子的时候才能看的到。

  • Zimbra 8.X安装使用阿里云免费SSL证书脚本(更新)

    Zimbra 8.X安装使用阿里云免费SSL证书脚本(更新)

    网上一搜都是使用 Let’s Encrypt或者沃通的SSL,他们的格式和阿里云下载的还是不同的,阿里云的相对来说,可能更简单些,不用合并root证书。

    首先当然要去阿里云申请的ssl证书下载其他类型证书,解压缩后有两个文件上传到相应目录,这里是/opt/zimbra/ssl/aliyunssl/,文件名类似18131-domain.key和.pem

    对比Let’s Encrypt和Wosign的证书,这里会涉及到转换阿里云的RSA密钥到PKCS#8的格式,两者的区别,在于开头和结尾的内容。zimbra是不能验证RSA秘钥的。

    —–BEGIN RSA PRIVATE KEY—–

    —–BEGIN PRIVATE KEY—–

    我们可以通过openssl命令把阿里云的私钥转成zimbra能接受的格式。

     openssl pkcs8 -topk8 -inform PEM -in 18131XXXXXXXXX.key -outform PEM -nocrypt -out privkey.pem

    完整脚本如下:

    #!/bin/bash
    # Note: create by itgeeker
    
    domain=mail.itgeeker.net
    
    su - zimbra -c 'zmproxyctl stop'
    su - zimbra -c 'zmmailboxdctl stop'
    
    mkdir /opt/zimbra/ssl/aliyunssl/
    echo "up load aliyun ssl other to this folder first !!!!!!!"
    cd /opt/zimbra/ssl/aliyunssl/
    openssl pkcs8 -topk8 -inform PEM -in 18131XXXXXXXXX.key -outform PEM -nocrypt -out privkey.pem
    mv 1813131_mail.geekerconsulting.com.pem cert.pem
    chown zimbra:zimbra /opt/zimbra/ssl/aliyunssl/*
    
    su - zimbra -c 'cd /opt/zimbra/ssl/aliyunssl/ && /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem '
    
    echo "Backup Zimbra SSL directory"
    cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d")
    
    echo "Copy the private key under Zimbra SSL path"
    cp /opt/zimbra/ssl/aliyunssl/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
    
    echo "Final SSL deployment"
    su - zimbra  -c 'cd /opt/zimbra/ssl/aliyunssl/ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem'
    
    echo "restart zimbra"
    su - zimbra -c 'zmcontrol restart'

    gist link:

    https://gist.github.com/alanljj/2f90ca543dc2f2e45319ac13c30bbf72

    验证zimbra ssl证书命令:

    su - zimbra -c '/opt/zimbra/bin/zmcertmgr viewdeployedcrt'

    更新

    通过上面的方法虽然没有提示任何错误,但可能无法更新证书,使用验证命令,仍然会显示老的证书。那么就需要以下的复杂流程了。

    zimbra证书的三个文件,目录/opt/zimbra/ssl/zimbra/commercial/:

    1. commercial_ca.crt
    2. commercial.crt
    3. commercial.key

    zimbra ssl证书制作方法:

    commercial_ca.crt – 阿里云下载证书1813131_domain.pem的第二部分,也就是第二个—–BEGIN CERTIFICATE—–到—–END CERTIFICATE—– 也就是中级证书(mid-digicert-ca) + 根证书(root-digiert-ca)

    阿里云免费ssl的根证书分享,不同发证机构根证书会有所不同:

    -----BEGIN CERTIFICATE-----
    MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
    QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
    MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
    b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
    9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
    CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
    nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
    43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
    T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
    gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
    BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
    TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
    DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
    hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
    06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
    PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
    YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
    CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
    -----END CERTIFICATE-----

    https://gist.github.com/alanljj/26b12b591173b3ba7c3c51edea09cad6

    commercial.crt – 1813131_domain.pem的第一部分,也就是第一个—–BEGIN CERTIFICATE—–到—–END CERTIFICATE—–部分。

    commercial.key – 就是1813131_domain.key,用上面的RSA密钥到PKCS#8 转换方法先转换,然后改名字就可以了。

    开始部署

    上传三个文件到/opt/zimbra/ssl/zimbra/commercial/目录,上传前检查、检查、再检查是否已经正确,如果老的文件已存在,先删除老的三个文件(技术奇客有碰到未删除,生成的文件格式不对导致无法更新ssl证书的情况)

    验证证书。进入/opt/zimbra/ssl/zimbra/commercial/目录后,使用zimbra用户执行:

    /opt/zimbra/common/bin/openssl verify -CAfile commercial_ca.crt commercial.crt

    部署证书。 使用zimbra用户执行 :

    /opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt

    重启zimbra服务。

    su - zimbra -c 'zmcontrol restart' 

    查看新证书。

    su - zimbra -c '/opt/zimbra/bin/zmcertmgr viewdeployedcrt' 

    本方法ITGeeker技术奇客在CentOS 6 zimbra 8.8.11_FOSS版本实操通过。

    by ITGeeker Approven
  • 2019我的游乐工作平台 多桌面双显示器使用

    2019我的游乐工作平台 多桌面双显示器使用

    2年前买了一套罗技的游戏键盘G710+和游戏鼠标G502,结果大部分时间放在家里积灰,趁着2019新春的开始,决定把游戏装备用到工作当中去,提高效率又可以玩乐工作!

    游戏键盘G710+和游戏鼠标G502

    然后把家里的显示器也放到了公司,发现三星的这个显示屏竟然是2007年买的,现在还老当益壮呀。

    当然还包括家里的酷冷至尊大机箱。虽然硬件都不是新品了,但当年(2007)配的的i7200 CPU+32G内存,再把HIS 7850显卡也装上,用了SSD硬盘,支持两个显示器,运行4个桌面还是相当顺畅的。当然不是用来玩游戏,用来工作和写写代码。

    关键还是看软件,分享一下软件的使用感受。

    by ITGeeker

    ITGeeker多桌面多屏幕使用经验分享

    桌面1

    办公桌面

    第一屏

    第二屏

    Chrome浏览器,平常工作的Outlook, Word等。

    微信QQ等聊天工具

    桌面2

    代码桌面

    第一屏

    第二屏

    VSCode编码

    FTPZilla, Beyond Compare

    桌面3

    调试桌面

    第一屏

    第二屏

    Xshell, WSL-Ubuntu

    Firefox

    桌面4

    预览桌面

    第一屏

    第二屏

    Chrome浏览器

    Photoshop

    可编程的游戏键盘和鼠标

    首先4个虚拟桌面的分类用处,加上2个显示器,相当于8个桌面,要想使用高效,还是离不开可编程游戏键盘和鼠标的配合。罗技自带的键盘G710+配备6个编程按键,3组内置模式,每组6个编程文件,共有108个组合。当然全用这些也很难记住,在使用过程当中可以慢慢根据习惯添加。

    罗技G710+的6个编程文件可以针对不同应用可以自动切换不同的6组功能键,是非常棒的组合。原本是针对不同游戏,不同快捷键,但用到办公室一样非常有用。比如在Chrome时和VSCode时让不同按键有不同的功能。

    罗技G502鼠标12个按键,三组板载配置文件,共有36个功能,出去常用的左右键之类,还是有相当多的配置可使用。用来切换虚拟桌面,关闭窗口等非常高效。

    AutoHotkey加持

    虽然键盘鼠标自带编程功能,但复杂的按键和常用的一些git组合,可以用AutoHotkey生成可执行文件,提高效率,可以进一步减少使用键盘的次数。有关AutoHotkey的使用方法就不多说了。例如桌面增加关闭切换,还有git的组合pull和push。比如这是ITGeeker使用的几个AutoHotkey可执行文件,可以附加到任务栏。

    AutoHotkey固定到任务栏图标

    Quicker快捷面板

    官方网站https://getquicker.net/,今年刚开始使用,觉得功能强大。可以进一步增强鼠标和键盘的编程功能,比如一键clone git的项目,甚至可以添加自定义参数,例如:–depth=1,这样就不用把参考项目全部clone下来了。还可以给自己定义一些常用组合,例如让Everything搜索当前文件浏览器目录里是否有粘贴板里的内容等。这是ITGeeker分享的Everything搜索扩展功能

    Win10的虚拟桌面,还欠缺一个显示桌面号的功能,如果桌面太多有时候就会记不得当前在哪个桌面了。如果要是每个桌面能用不同的背景图片那就更棒了。

    另外LinkedIn在3月1日就要关闭IFTTT的同步了,难道这就是微软收购后的第一步封闭行动吗?

    以后ITGeeker的文章就无法自动同步到LinkedIn与大家分享了,欢迎大家访问https://www.itgeeker.net进行订阅分享。

    输入验证码查看隐藏内容:

    扫描二维码关注本站微信公众号 奇客顾问
    或者在微信里搜索 奇客顾问
    回复 短代码 获取验证码
    weixin
  • Odoo timezone时差调整 方法 时区调整

    Odoo timezone时差调整 方法 时区调整

    文章最后更新于2023-05-17

    by itgeeker.net

    最近在开发Odoo整合VOIP电话(供应商称为云电话)到奇客大师(GeekerMaster)系统时,返回的log说是时间戳错误。供应商说每次post的url的时效性是1分钟,检查发现后,我们每次发送Post请求的时候都会重新产生一遍,应该不存在时间过期的问题。

    用 _logger.warning打印变量值,发现Odoo服务器发送post的时间和我们当前Asia/Shanghai时区的时间是不同的,比当前电脑时间早了8个小时。而在系统端用date查询时间是正确的。应该是Odoo系统采用UTC时间的问题。

    Odoo系统前端页面显示是当前时区的时间,视图渲染时对datetime类型的字段做了时区调整,但后台数据库记录用的是UTC时间,并没有做时区调整,据说这是解决全球性使用一个系统的时间差问题的最好方法。

    这次ITGeeker技术奇客碰到的问题是国内的云电话供应商用的是北京时间UTC+8时区(Asia/Shanghai),所以只好调整代码来解决这个问题了。

    Odoo调整时差方法一 timedelta(hours=8)

    直接加8个小时,直观又方便。后面的时间格式根据要求可以更改。

    import datetime
    from datetime import timedelta
    
    now = (datetime.datetime.now() + timedelta(hours=8)).strftime("%Y%m%d%H%M%S")

    Odoo调整时差方法二 pytz

    import datetime
    import pytz
    
    user_tz = self.env.user.tz
    # local_tz = pytz.timezone(user_tz)
    now = datetime.datetime.now(pytz.timezone(
                user_tz)).strftime("%Y%m%d%H%M%S")

    Odoo要在”首选项”配置里设置好自己的时区为Asia/Shanghai,否则无法读取到您当前的时区。

    Odoo调整时差方法三 dpkg-reconfigure tzdata

    服务器端,例如Ubuntu使用 dpkg-reconfigure tzdata 设置时区,设置为UTC时区,使得您当前的时间和UTC时间一致。

    这里有个小提示: strftime和 strptime是不同的,一个是输出显示时间的样式,后者是输出时间的格式。

    ITGeeker技术奇客最近也调试了阿里云的短信,阿里用的时间格式就和时差无关,用的GMT时间。分享一下用python实现阿里短信所需要的时间格式:

    import time
    
    now = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())

    UTC确立以后UTC(GMT)=UTC(+0)作为一般提到的世界时,GMT表示零时区的时刻。 … 格林威治时间(GMT)是一个比较模糊的概念。 在1928年,GMT就是世界时。 在UTC被广泛采用后,我们提到的GMT实际上是UTC时间,或者说零时区的标准时。

    所以说用UTC是最好的解决方案。
  • iPhone备忘录导出到android手机

    iPhone备忘录导出到android手机

    苹果的封闭性导致想从ios转到android平台变得很不容易,导出iPhone的备忘录就是其中的一个难题。如果你在iPhone有上千条备忘录,又想把它导出来,将会是个挺讨厌的任务。所以在使用封闭平台,例如iPhone这样的平台时还是要多多考虑的。

    最好的方式是使用开放式平台,便签笔记类的软件比较多,有名的例如印象笔记(EverNote)、微软的OneNote和Google的Keep等,国内的有道云笔记、为知笔记、还有现在腾讯文档等。他们都有各个平台的APP和软件,还有网页端,不管你将来使用ios或android,只要安装对应软件或者访问网页就可以打开了。

    如果你的iPhone里的备忘录不多,又愿意一个一个复制的话,那么有以下这些方法:

    登录iCloud复制

    如果你使用iPhone,并且开通了备忘录iCloud备份,那么登录https://www.icloud.com,直接复制,然后粘贴到新的备忘录或便签工具里就可以了。电脑端操作,鼠标和键盘结合速度应该还可以。但是它无法一次性复制多条备忘录,可恶的苹果。

    iPhone应用端分享

    在iPhone打开备忘录,找到需要转移或保留的备忘录,点击底下的分享按钮,选择邮件或者其他可使用的app进行转移或分享,其中一个就是发送备忘录到到你的邮箱。如果装了OneNote,不知道是否可以直接存到OneNote?

    Outlook中介同步

    苹果有个windows端的客户端icloud,安装之后可以同步iPhone的联系人,日历,照片,备忘录到电脑,可以通过iCloud软件先把iphone的资料同步到电脑,再通过outlook电脑端同步到android手机,有挺多android应用有这个功能,但有多少人还在用outlook的便签功能呢?

    使用第三方软件

    在网上有看到叫苹果恢复大师的软件,据说可以备份iPhone的备忘录,并且保存到电脑。ITGeeker技术奇客没有实际操作过,也不是很清楚它是已何种格式保存到电脑。

    不管采用何种方式,如果要最终把iPhone的备忘录导入到新的笔记软件中,还是会免不了手动复制和粘贴的工作,如果你的笔记有一定量级的话,可能是个体力活。

    切记:在苹果的系统iOS,macOS, watchOS或者iCloud保留你收集的精彩和深邃的内容时,一定要考虑将来数据迁移的便利性。封闭的系统非常可恶。

    建议:选择有跨平台应用和网页端的服务来保存. 例如微软的OneNote和Google的Keep,国内的有道云笔记或腾讯文档等。

    by ITGeeker
奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4