Skip to content

Instantly share code, notes, and snippets.

@yv-code
Last active January 4, 2016 10:29
Show Gist options
  • Select an option

  • Save yv-code/f23e68f0b0e8ca4bfcba to your computer and use it in GitHub Desktop.

Select an option

Save yv-code/f23e68f0b0e8ca4bfcba to your computer and use it in GitHub Desktop.
Linux 使用过程中的零碎记录

Linux 问题和命令速查

网络

网络相关操作和问题解决

proxychains

  • 使用自定义 DNS 服务器

    修改 /usr/lib/proxychains3/proxyresolv 文件或者增加 PROXYRESOLV_DNS 环境变量

    #!/bin/sh
    # This script is called by proxychains to resolve DNS names
    
    # DNS server used to resolve names
    DNS_SERVER=${PROXYRESOLV_DNS:-8.8.8.8}
    
    if [ $# = 0 ] ; then
          echo "  usage:"
          echo "          proxyresolv <hostname> "
          exit
    fi
    
    export LD_PRELOAD=libproxychains.so.3
    dig $1 @$DNS_SERVER +tcp | awk '/A.+[0-9]+\.[0-9]+\.[0-9]/{print $5;}'
  • LD_PRELOAD 加载问题

    因为软件包内提供的 libproxychains.so.3 地址有误,需要修改的文件有 /usr/lib/proxychains3/proxyresolv/usr/bin/proxychains

    export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3
  • 配置文件读取位置

    proxychains looks for configuration in the following order:
    1)    SOCKS5 proxy port in environment variable ${PROXYCHAINS_SOCKS5}
    (if set, no further configuration will be searched)
    2)    file listed in environment variable ${PROXYCHAINS_CONF_FILE} or
    provided as a -f argument to proxychains script or binary.
    3)    ./proxychains.conf
    4)    $(HOME)/.proxychains/proxychains.conf
    5)    /etc/proxychains.conf  **
    

iptables

  • 仅允许本地访问端口,拒绝外部访问
    # -p 代表协议 TCP,UDP,ICMP -m 代表匹配器 --dport 是 TCP 匹配器中的目的地端口
    iptables -A INPUT -s 127.0.0.1/8 -p tcp -m tcp --dport 3128 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 3128 -j DROP

ssh

  • 与服务器保持连接,不因为一段时间不操作而被关闭连接
    # 使用 ServerAliveInterval <second-count>
    # 全局设置添加位置 /etc/ssh/ssh_config
    # 单用户设置位于 $HOME/.ssh/config
    host * # 可以编辑匹配特定 host
      ServerAliveInterval 60

Chromium & Chrome

  • AutoSelectCertificateForUrls,自动选择证书,配合 TLS 鉴权 HTTP/2 代理。

    1. Chromium Policy 官方文档,介绍了设置自动选择证书的策略书写格式。
    2. Chromium Linux Quick Start,介绍了 Linux 如何设置 Chrome 策略。
    # 创建策略存放文件夹
    sudo mkdir -p /etc/opt/chrome/policies
    sudo mkdir /etc/opt/chrome/policies/managed
    sudo mkdir /etc/opt/chrome/policies/recommended
    
    # 创建策略 Json 文件,文件名没有特殊要求
    sudo vim /etc/opt/chrome/policies/recommended/AutoSelectCertificateForUrls.json
    
    # 内容
    # {
    #   "AutoSelectCertificateForUrls": ["{\"pattern\":\"https://[*.]yellowv.me\",\"filter\":{\"ISSUER\":{\"CN\":\"Y's Trust Certificate CA\"}}}"],
    # }

字体

fontconfig

  • 自定义设置的位置

    $(HOME)/.config/fontconfig/
  • 刷新 fontconfig 缓存

    fc-cache -vf

文件共享

Samba 服务器

  • mount 文件共享服务器

    sudo mount -t cifs //SERVER_IP/服务器共享名 /mount/point \
    -o user=username,workgroup=WORKGROUP,uid=yourUid,gid=yourGid
  • 查看指定服务器所有共享

    smbclient -L //SERVER_IP_OR_NAME -U WORKGROUP/username
  • 开机自动挂载 Samba 共享

    # 编辑挂载配置文件
    sudo vim /etc/fstab
    # fstab 文件插入项,最后两项为是否使用 dump 工具备份和是否进行文件系统检查
    # 详细说明地址 https://wiki.archlinux.org/index.php/Fstab
    //SERVER_IP/SAMBA_NAME /your/mount/dir cifs user,uid=1000,gid=1000,credentials=/home/yellow/.smbcredentials 0 0
    
    # credentials 文件模板,存储 Samba 文件认证信息
    username=
    password=
    workgroup=

磁盘操作

常用命令

  • du disk usage 查看文件夹占用情况

    # -s,--summarize  -h,--human-readable
    du -sh
    
    # 配合 sort 使用 -r, --reverse -h, --human-numeric-sort
    # head 与 tail 可以截取显示 -<num> 设置显示行数
    du -sh * | sort -rh | head -3

开发相关

Java & Android

  • keytool 查看 keystore 信息

    keytool -list -v -keystore your.keystore -alias keystore_alias
  • keytool 生成 keystore

    keytool -genkey -alias <keyAlias> -keyalg RSA -keystore <keystoreFileName> \
    -keysize 2048 -validity 10000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment