案例说明:

在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决。

适用版本:

KingbaseES V8R6C006

故障现象:

启动Kstudio:



问题分析:

加载动态库:

[kingbase@node102 .cp]$ pwd
/opt/Kingbase/ES/V8R6_C6/ClientTools/guitools/KStudio/configuration/org.eclipse.osgi/188/0/.cp
[kingbase@node102 .cp]$ ldd -r libswt-pi3-gtk-4944r26.so
ldd: warning: you do not have execution permission for `./libswt-pi3-gtk-4944r26.so'
undefined symbol: g_list_model_get_item (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_popover_popdown (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_label_set_xalign (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_native_dialog_show (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_native_dialog_run (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_label_set_yalign (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_popover_popup (./libswt-pi3-gtk-4944r26.so)
undefined symbol: g_list_model_get_n_items (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gdk_device_get_seat (./libswt-pi3-gtk-4944r26.so)
linux-vdso.so.1 => (0x00007ffc5b9fc000)
libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f209fec6000)
libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f209fc30000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f209f908000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f209f706000)
libc.so.6 => /lib64/libc.so.6 (0x00007f209f345000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f209f140000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f209ef33000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f209ebf5000)
libXi.so.6 => /lib64/libXi.so.6 (0x00007f209e9e4000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f209e7de000)
libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f209e5d5000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f209e3ae000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f209e188000)
libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0 (0x00007f209df5d000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f209dd47000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f209dafc000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f209d8c0000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f209d549000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f209d2f9000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f209cfc2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f209ccbf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f209caa3000)
libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f209c8a0000)
libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f209c695000)
libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f209c48a000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f209c287000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f209c083000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f209be71000)
libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f209bbc4000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f209b91d000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f209b6fc000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f209b4f8000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f209b2cc000)
libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f209b0c8000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f209aebe000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f209ac9b000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f209aa91000)
libz.so.1 => /lib64/libz.so.1 (0x00007f209a87b000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f209a5e3000)
librt.so.1 => /lib64/librt.so.1 (0x00007f209a3db000)
/lib64/ld-linux-x86-64.so.2 (0x00007f20a0a16000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f209a181000)
libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f2099f5a000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f2099d11000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f2099ae7000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f20998de000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f20996b9000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f209949f000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f209929c000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f2099097000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f2098e8e000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f2098c8a000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f2098a7e000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f2098870000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f209866c000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f209843d000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f2098223000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f2098020000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f2097e1c000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f2097c0e000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f2097a07000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f2097803000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f20975fd000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f20973e0000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f209717f000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2096f5a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2096d43000)

问题解决:

1、配置LD_LIBRARY_PATH参数,问题没有解决,从故障信息看,应该是gtk的动态库,需要在操作系统环境加载。

2、安装gtk动态库

[root@node102 ~]# yum install -y libgtk*

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...... Installed:
gtk-vnc.x86_64 0:0.7.0-3.el7 gtk3.x86_64 0:3.22.30-8.el7_9 gtkspell.x86_64 0:2.0.16-8.el7 oxygen-gtk.noarch 0:1.2.0-6.el7 Dependency Installed:
fribidi.x86_64 0:1.0.2-1.el7_7.1 fribidi-devel.x86_64 0:1.0.2-1.el7_7.1 graphite2-devel.x86_64 0:1.3.10-1.el7_3
gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 libepoxy-devel.x86_64 0:1.5.2-1.el7 libwayland-client.x86_64 0:1.15.0-1.el7
libwayland-cursor.x86_64 0:1.15.0-1.el7 libwayland-egl.x86_64 0:1.15.0-1.el7 libwayland-server.x86_64 0:1.15.0-1.el7
libxkbcommon.x86_64 0:0.7.1-3.el7 libxkbcommon-devel.x86_64 0:0.7.1-3.el7 wayland-devel.x86_64 0:1.15.0-1.el7
wayland-protocols-devel.noarch 0:1.14-1.el7 Updated:
gtk-vnc2.x86_64 0:0.7.0-3.el7 gtk2.x86_64 0:2.24.31-1.el7 gtkmm24.x86_64 0:2.24.5-1.el7 gtkmm30.x86_64 0:3.22.2-1.el7
gtksourceview3.x86_64 0:3.24.8-2.el7 Dependency Updated:
atk.x86_64 0:2.28.1-2.el7 atk-devel.x86_64 0:2.28.1-2.el7 atkmm.x86_64 0:2.24.2-1.el7
cairomm.x86_64 0:1.12.0-1.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontconfig-devel.x86_64 0:2.13.0-4.3.el7
freetype.x86_64 0:2.8-14.el7_9.1 freetype-devel.x86_64 0:2.8-14.el7_9.1 gdk-pixbuf2.x86_64 0:2.36.12-3.el7
gdk-pixbuf2-devel.x86_64 0:2.36.12-3.el7 glib2.x86_64 0:2.56.1-9.el7_9 glib2-devel.x86_64 0:2.56.1-9.el7_9
glibmm24.x86_64 0:2.56.0-1.el7 graphite2.x86_64 0:1.3.10-1.el7_3 gtk2-devel.x86_64 0:2.24.31-1.el7
gtk2-devel-docs.x86_64 0:2.24.31-1.el7 gtk2-immodule-xim.x86_64 0:2.24.31-1.el7 gtk3-devel.x86_64 0:3.22.30-8.el7_9
gtk3-immodule-xim.x86_64 0:3.22.30-8.el7_9 gvnc.x86_64 0:0.7.0-3.el7 harfbuzz.x86_64 0:1.7.5-2.el7
harfbuzz-devel.x86_64 0:1.7.5-2.el7 harfbuzz-icu.x86_64 0:1.7.5-2.el7 libXrandr.x86_64 0:1.5.1-2.el7
libXrandr-devel.x86_64 0:1.5.1-2.el7 libepoxy.x86_64 0:1.5.2-1.el7 libsigc++20.x86_64 0:2.10.0-1.el7
pango.x86_64 0:1.42.4-4.el7_7 pango-devel.x86_64 0:1.42.4-4.el7_7 pangomm.x86_64 0:2.40.1-1.el7
xorg-x11-proto-devel.noarch 0:2018.4-1.el7 Replaced:
oxygen-gtk3.x86_64 1:1.1.4-3.el7 Complete!

3、测试gtk动态库加载(加载成功)

[root@node102 .cp]#  ldd -r libswt-pi3-gtk-4944r26.so
ldd: warning: you do not have execution permission for `./libswt-pi3-gtk-4944r26.so'
linux-vdso.so.1 => (0x00007ffc8c6da000)
libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f4498a0a000)
libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f4498720000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f44983f8000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f44981f6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4497e35000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f4497c30000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f4497a22000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f44976e4000)
libXi.so.6 => /lib64/libXi.so.6 (0x00007f44974d3000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f44972cd000)
libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f44970c4000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f4496e9b000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f4496c75000)
libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0 (0x00007f4496a4a000)
libwayland-client.so.0 => /lib64/libwayland-client.so.0 (0x00007f449683a000)
libepoxy.so.0 => /lib64/libepoxy.so.0 (0x00007f449650e000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f44962f8000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f44960b1000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f4495e6f000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f4495acf000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f449587d000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f4495567000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4495265000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4495048000)
libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f4494e45000)
libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f4494c3a000)
libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f4494a2e000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f449482b000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f4494628000)
libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007f44943e7000)
libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0 (0x00007f44941df000)
libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f4493fdd000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f4493dca000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4493bc2000)
libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f4493914000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f4493655000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f4493434000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4493230000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f4493004000)
libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f4492e00000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f4492bf6000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f44929d3000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f44927c9000)
libz.so.1 => /lib64/libz.so.1 (0x00007f44925b3000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f449231b000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f44920ba000)
/lib64/ld-linux-x86-64.so.2 (0x00007f44995ac000)
libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f4491e92000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f4491c4a000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f4491a42000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f44917a4000)
libthai.so.0 => /lib64/libthai.so.0 (0x00007f4491598000)
libfribidi.so.0 => /lib64/libfribidi.so.0 (0x00007f449137c000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f4491151000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f4490f4c000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4490d27000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4490b0c000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007f44908cd000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f44906b7000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f44904a6000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f44902a4000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f449009e000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f448fe96000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f448fc92000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f448fa85000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f448f878000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f448f673000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f448f445000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f448f22b000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f448f027000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f448ee24000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f448ec16000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f448ea0e000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f448e80b000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f448e605000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f448e3d6000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f448e1b1000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f448df73000)

启动Kstudio界面:

KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障的更多相关文章

  1. KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份

    案例说明: 在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份.本案例介绍了,如何在King ...

  2. KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份

    案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...

  3. KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份

    案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...

  4. KingbaseES V8R6集群维护案例之---停用集群node_export进程

    案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...

  5. KingbaseES V8R6集群维护案例之--单实例数据迁移到集群案例

    案例说明: 生产环境是单实例,测试环境是集群,现需要将生产环境的数据迁移到集群中运行,本文档详细介绍了从单实例环境恢复数据到集群环境的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingb ...

  6. KingbaseES V8R6集群维护案例之---将securecmdd通讯改为ssh案例

    案例说明: 在KingbaseES V8R6的后期版本中,为了解决有的主机之间不允许root用户ssh登录的问题,使用了securecmdd作为集群部署分发和通讯的服务,有生产环境通过漏洞扫描,在88 ...

  7. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  8. KingbaseES V8R6集群维护案例之--修改securecmdd工具服务端口

    案例说明: 在一些生产环境,为了系统安全,不支持ssh互信,或限制root用户使用ssh登录,KingbaseES V8R6可以使用securecmdd工具支持主机之间的通讯.securecmdd工具 ...

  9. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

随机推荐

  1. 使用Karmada实现Helm应用的跨集群部署

    摘要:借助Karmada原生API的支持能力,Karmada可以借助Flux轻松实现Helm应用的跨集群部署. 本文分享自华为云社区< 使用Karmada实现Helm应用的跨集群部署[云原生开源 ...

  2. oracle-安装与访问、卸载

    安装oracle 官网(http://oracle.com/ )下载oracle -->Oracle Database -->点击接受Accept --> 下载11g(Downloa ...

  3. bat实现删除BCUnrar.dll实现无限使用

    删除项目:计算机\HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4下的CacheId 项可以实现Beyond Compare 4 ...

  4. CF989C A Mist of Florescence 题解

    因为 \(1 \leq a,b,c,d \leq 100\) 所以每一个颜色都有属于自己的联通块. 考虑 \(a = b=c=d=1\) 的情况. AAAAAAAAAAAAAAAAAAAAAAAAAA ...

  5. vim插件pathogen的Helptags不起作用

    如果你安装了中文vim帮助,并且在其中添加了自己的帮助文件,并且当你使用了pathogen的时候. 会发现Helptags不起作用. 原因是Helptags的实现没有考虑到中文的情况 解决办法如下: ...

  6. nexus 配置文件到本地maven本地仓库 失败

    Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on p ...

  7. 函数式接口的概念&函数式接口的定义和函数式接口的使用

    函数式接口概念 函数式接口在Java中是指:有且仅有一个抽象方法的接口. 函数式接口,即适用于函数式编程场景的接口.而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambd ...

  8. OGC WebGIS 常用服务标准(WMS/WMTS/TMS/WFS)速查

    本文只介绍实际工作中常用的 WMS.WMTS.WFS.TMS 四种,WCS.WPS 等其它 OGC WebService 类型请自行查阅官方资料. 目录 0. 参数传递方式 1. WMS 速查 1.1 ...

  9. 使用Hexo建立一个轻量、简易、高逼格的博客

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_93 在之前的一篇文章中,介绍了如何使用Hugo在三分钟之内建立一个简单的个人博客系统,它是基于go lang的,其实,市面上还有一 ...

  10. odoo14 编辑状态和非编辑状态下隐藏

    1 <div class="oe_edit_only"> 2 <a name="remove_group_id" type="obj ...