RSS

Posts in 2022

  • Switch Java Version with update-alternatives

    Last Update: in Linux

    In Debian/Unbutu, how to install different version of java and use update-alternatives/update-java-alternatives to switch different version of java

    In Linux, like Debian or Ubuntu system, want to install different version of java and can swith system java version easily, the easiest solution is use update-alternatives. update-alternatives creates, removes, maintains and displays information …

    Read more

  • Linux how to restart service automatically to avoid server downtime

    Last Update: in Linux

    Have a linux service running for a long time but quit accidentally due to crash, signal, kill etc. Want to restart it automatically to avoid/reduce service downtime, use systemd service restart policy to control it easily.

    Symptom I have nginx server running for months, suddenly got a alarm from monitor service indicate the nginx server is not providing service. I can ssh to server, so server is still online. Then check nginx server status use systemctl status nginx, I …

    Read more

Posts in 2021

  • Troubleshooting ProtonVPN Linux cli EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface

    in Linux

    protonvpn-cli connect report An unknown error has occured. Please ensure that you have internet connectivity. If the issue persists, please contact support. protonvpn-cli.log show error protonvpn_nm_lib.exceptions.EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface protonvpn.log show Error: Failed to add ‘pvpn-ipv6leak-protection’ connection: Insufficient privileges.

    Environment Linux OS: Debian 10 Buster 64 bit (Fresh install with default options). $ uname -a Linux debian10 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux $ protonvpn-cli -v ProtonVPN CLI v3.8.0 (protonvpn-nm-lib v3.3.2; …

    Read more

Posts in 2020

  • Use Linux SO_BINDTODEVICE and mac IP_BOUND_IF to bind socket to a network interface

    Last Update: in Linux

    Use Linux SO_BINDTODEVICE and mac IP_BOUND_IF / IPV6_BOUND_IF to bind socket to a network interface

    SO_BINDTODEVICE on Linux In Linux, SO_BINDTODEVICE is a socket option can be used in setsockopt() to bind a socket to network interface. e.g. #include <sys/types.h>#include <sys/socket.h> const char *interface_name = "eth0"; …

    Read more

Posts in 2019

  • core_name_format No such file or directory

    Last Update: in Linux

    Troubleshooting setting kernel.core_name_format="core.%e.%p.%s.%t" in /etc/sysctl.conf caused error: sysctl: cannot stat /proc/sys/kernel/core_name_format: No such file or directory

    What is core dump The default action of certain signals is to cause a process to terminate and produce a core dump file, a disk file containing an image of the process’s memory at the time of termination. This image can be used in a debugger …

    Read more

  • tcp_tw_recycle No such file or directory

    Last Update: in Linux

    Troubleshooting setting net.ipv4.tcp_tw_recycle = 0 in /etc/sysctl.conf caused error: sysctl: cannot stat /proc/sys/net/ipv4/tcp_tw_recycle: No such file or directory

    What is net.ipv4.tcp_tw_recycle Per Linux kernel document networking/ip-sysctl.txt: tcp_tw_recycle - BOOLEAN Enable fast recycling TIME-WAIT sockets. Default value is 0. It should not be changed without advice/request of technical experts. This …

    Read more

  • Huge improve TCP performance by BBR

    Last Update: in Linux

    BBR improve Linux server response time. Huge improve Linux network performance by change TCP congestion control to BBR (Bottleneck Bandwidth and RTT).

    What is BBR BBR is Bottleneck Bandwidth and RTT. BBR congestion control computes the sending rate based on the delivery rate (throughput) estimated from ACKs. BBR was contributed to Linux kernel 4.9 since 2016 by Google. BBR has significantly …

    Read more

  • Secure Squid Proxy Server

    Last Update: in Linux

    Install and quick configure squid to make it securely

    Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Installation Install on Mac with brew $ brew install squid ==> …

    Read more

  • Configure Debian startup services

    in Linux

    Configure debian start up services with sysv-rc-conf.

    I used to use chkconfig to configure which service to run at system start up. With my Raspberry Pi running based on Debian distribution, there is no chkconfig 😔. The replacement for Debian is sysv-rc-conf: Run-level configuration for SysV like init …

    Read more