分类 linux 下的文章

linux 下利用 libvirt 和 kvm 安装使用虚拟机


安装软件:

apt-get install --no-install-recommends qemu-kvm libvirt-clients libvirt-daemon-system virtinst

创建虚拟机命令:

sudo virt-install \
--virt-type kvm \
--vcpus 2 \
--memory 256 \
--name openwrt \
--os-type=linux \
--disk path=/home/hzq/openwrt.img,bus=ide \
--network bridge=br0,model=e1000 \
--graphics none \
--autostart \
--import

比起 vm/vbox 虚拟机,本例可以在低配置的宿主机运行虚拟机。
需要注意的地方是,32位的宿主机不能通过 kvm 虚拟64位客户机。确有这样的需要,可以用 qemu 通过全虚拟的方式运行。


Debian 系统 Nginx 管理脚本


新建文件:/etc/init.d/nginx
内容如下:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
  . /etc/default/nginx
fi

set -e

. /lib/lsb/init-functions

case "$1" in
  start)
    echo -n "Starting $DESC: "
    start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
        --exec $DAEMON -- $DAEMON_OPTS || true
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
        --exec $DAEMON || true
    echo "$NAME."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: "
    start-stop-daemon --stop --quiet --pidfile \
        /usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true
    sleep 1
    start-stop-daemon --start --quiet --pidfile \
        /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
    echo "$NAME."
    ;;
  reload)
    echo -n "Reloading $DESC configuration: "
    start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
        --exec $DAEMON || true
    echo "$NAME."
    ;;
  status)
    status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
    exit 1
    ;;
esac

exit 0

添加运行权限:

chmod a+x /etc/init.d/nginx

设置开机自动运行:

update-rc.d -f nginx defaults

Debian 升级 OpenSSL-1.1.1e


#检查并安装编译依赖
apt update && apt install build-essential zlib1g-dev

#配置openssl编译参数
./config shared zlib --prefix=/usr/local/openssl-1.1.1e

编译并安装openssl到制定位置
make clean && make && make install

#备份旧版本
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old

#链接新版本
ln -s /usr/local/openssl-1.1.1e/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl-1.1.1e/include/openssl/ /usr/include/openssl
echo "/usr/local/openssl-1.1.1e/lib" >> /etc/ld.so.conf

#加载动态库
ldconfig -V 

#查看版本
openssl version

#如果查看版本过程中提示错误,可能还要链接其它库文件 /somewhere
ln -s /usr/local/openssl-1.1.1e/lib/libssl.so.1.1 /somewhere/libssl.so.1.1
ln -s /usr/local/openssl-1.1.1e/lib/libcrypto.so.1.1 /somewhere/libcrypto.so.1.1

以下为各种参考:
升级你的OPENSSL
帮Nginx升级,报错的却是OpenSSL?
Linux系统安装 OpenSSL两种方法
Linux系统OpenSSL版本升级
从启用 HTTP/2 导致网站无法访问说起
Using TLS1.3 With OpenSSL


Ubuntu 18.04 LTS 下 Chromium 字体模糊的解决方法


问题:

通常情况下,Ubuntu 18.04 下的程序遵循 Gnome Tweaks 下设置的字体渲染配置进行渲染。
但 Chrome 是读取 Linux 系统 fontconfig 配置进行渲染的,
而默认情况下系统 fontconfig 没有对字体 hint 属性进行配置,
所以 Chrome 始终以完全 hint 模式对字体进行渲染。
对没有 hint 信息的字体进行 hint 渲染,效果肯定不会好。

解决方法:

在 /etc/fonts/ 下创建一个文件名为 local.conf,并在其中写入如下内容全局关闭 hint:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <match target="font">
    <edit name="hintstyle" mode="assign">
      <const>hintnone</const>
    </edit>
  </match>
</fontconfig>

重启生效。
知识来源: https://soulike.tech/article?id=34