8000 GitHub · Where software is built
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
新装armbian关闭zram及日志 #7
Open
@SoraKasvgano

Description

@SoraKasvgano

一、首先将var/log等目录导入内存盘

参考此前文章 的第三条 树莓派安装后常用设置及优化

二、删除zram的swap

1.查看现有的swap,使用命令
cat /proc/swaps或者swapon -s
2.然后禁用当前swapswapoff /dev/zram1
3.禁用zram服务,修改文件/etc/default/armbian-zram-config,将第一行的启用ENABLED=true改为ENABLED=false
4.禁用zram的/var/log,修改/etc/default/armbian-ramlog,将第一行的启用ENABLED=true改为ENABLED=false
5.禁用定时截断任务/etc/cron.d/armbian-truncate-logs,定时任务前加#注释
6.禁用另一个任务,修改文件/etc/cron.daily/armbian-ram-logging如下,同样是加井号注释

/bin/sh
# /usr/lib/armbian/armbian-ramlog write >/dev/null 2>&1

重启即可,/var/log.hdd/为空了

三、方法二注释

来自 https://www.jianshu.com/p/02ea2504516a
打开/usr/lib/armbian/armbian-ramlog脚本

syncToDisk () {
    isSafe
 
    echo -e "\n\n$(date): Syncing logs from $LOG_TYPE to storage\n" | $LOG_OUTPUT
 
    if [ "$USE_RSYNC" = true ]; then
        ${NoCache} rsync -aXWv --delete --exclude armbian-ramlog.log --links $RAM_LOG $HDD_LOG 2>&1 | $LOG_OUTPUT
    else
        ${NoCache} cp -rfup $RAM_LOG -T $HDD_LOG 2>&1 | $LOG_OUTPUT
    fi
 
    sync
}

只需要在函数头部返回即可避免rsync:

syncToDisk () {
    # no sync to protect emmc
    return 0
    isSafe
 
    echo -e "\n\n$(date): Syncing logs from $LOG_TYPE to storage\n" | $LOG_OUTPUT
 
    if [ "$USE_RSYNC" = true ]; then
        ${NoCache} rsync -aXWv --delete --exclude armbian-ramlog.log --links $RAM_LOG $HDD_LOG 2>&1 | $LOG_OUTPUT
    else
        ${NoCache} cp -rfup $RAM_LOG -T $HDD_LOG 2>&1 | $LOG_OUTPUT
    fi
 
    sync
}

可以再观察一下/var/log与/var/log.hdd,会发现/var/log.hdd已经不再有后续数据更新,而/var/log仍旧会自动在75使用率的时候进行日志截断。

最后补充,armbian做了一个systemd服务:/lib/systemd/system/armbian-ramlog.service,它开机会创建zram盘,然后从emmc的/var/log.hdd中load数据到zram的/var/log路径下,完成开机初始化。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0