代码: 全选
version: '3.5'
services:
cups:
image: chuckcharlie/cups-avahi-airprint:latest
container_name: cups
network_mode: host
volumes:
- /Volume1/Docker/print/services:/services
- /Volume1/Docker/print/config:/config
environment:
CUPSADMIN: "admin"
CUPSPASSWORD: "admin"
restart: unless-stopped代码: 全选
日志解析:Event
"+ '[' -z admin ]
"
"+ '[' -z admin ]
"
"+ grep -ci admin /etc/shadow
"
"+ '[' 0 -eq 0 ]
"
"+ adduser -S -G lpadmin --no-create-home admin
"
"+ chpasswd
"
"+ echo admin:admin
"
"chpasswd: password for 'admin' changed
"
"+ mkdir -p /config/ppd
"
"+ mkdir -p /services
"
"+ rm -rf /etc/avahi/services/sftp-ssh.service /etc/avahi/services/ssh.service
"
"+ rm -rf /etc/cups/ppd
"
"+ ln -s /config/ppd /etc/cups
"
"+ + ls -l '/services/*.service'
"
"wc -l
"
"+ '[' 0 -gt 0 ]
"
"+ + wc -l
"
"ls -l /config/printers.conf
"
"+ '[' 0 -eq 0 ]
"
"+ touch /config/printers.conf
"
"+ cp /config/printers.conf /etc/cups/printers.conf
"
"+ wc -l
"
"+ ls -l /config/cupsd.conf
"
"+ '[' 0 -ne 0 ]
"
"+ /usr/sbin/avahi-daemon --daemonize
"
"+ exec /usr/sbin/cupsd -f
"
"+ /root/printer-update.sh
"
"Setting up watches.
"
"Watches established.
"
"sending incremental file list
"
"./
"
"AirPrint-Canon_MG3080.service
"
"
"
"sent 1.12K bytes received 38 bytes 2.31K bytes/sec
"
"total size is 971 speedup is 0.84
"
"+ '[' -z admin ]
"
"+ '[' -z admin ]
"
"+ grep -ci admin /etc/shadow
"
"+ '[' 1 -eq 0 ]
"
"+ echo admin:admin
"
"+ chpasswd
"
"chpasswd: password for 'admin' changed
"
"+ mkdir -p /config/ppd
"
"+ mkdir -p /services
"
"+ rm -rf /etc/avahi/services/AirPrint-Canon_MG3080.service
"
"+ rm -rf /etc/cups/ppd
"
"+ ln -s /config/ppd /etc/cups
"
"+ wc -l
"
"+ ls -l /services/AirPrint-Canon_MG3080.service
"
"+ '[' 1 -gt 0 ]
"
"+ cp -f /services/AirPrint-Canon_MG3080.service /etc/avahi/services/
"
"+ ls -l /config/printers.conf
"
"+ wc -l
"
"+ '[' 1 -eq 0 ]
"
"+ cp /config/printers.conf /etc/cups/printers.conf
"
"+ ls -l /config/cupsd.conf
"
"+ wc -l
"
"+ '[' 0 -ne 0 ]
"
"+ /usr/sbin/avahi-daemon --daemonize
"
"Process 31 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)
"
"+ exec /usr/sbin/cupsd -f
"
"+ /root/printer-update.sh
"
"Setting up watches.
"
"Watches established.
"以下是对上述日志的解析:
整体流程概述
该日志记录了一系列与系统配置、用户管理、文件操作以及服务相关的操作步骤,可能是在进行打印机相关设置或系统环境初始化等任务。
具体操作分析
用户相关操作
检查 admin 用户是否存在:多次出现+ '[' -z admin ]和+ grep -ci admin /etc/shadow这样的语句,目的是检查系统中是否存在名为admin的用户(通过查看/etc/shadow文件中是否有相关记录)。
创建 admin 用户(如果不存在):当判定admin用户不存在(如+ '[' 0 -eq 0 ]满足条件时),执行+ adduser -S -G lpadmin --no-create-home admin来创建一个名为admin的系统用户,并添加到lpadmin组,且不创建家目录。
设置 admin 用户密码:通过+ chpasswd和+ echo admin:admin来设置admin用户的密码为admin,并且有chpasswd: password for 'admin' changed的提示表明密码设置成功。
文件和目录操作
创建目录:执行了+ mkdir -p /config/ppd和+ mkdir -p /services,创建了/config/ppd和/services目录,-p参数确保父目录不存在时会一并创建。
删除文件和目录:有+ rm -rf /etc/avahi/services/sftp-ssh.service /etc/avahi/services/ssh.service以及+ rm -rf /etc/cups/ppd等操作,删除了与avahi服务相关的一些服务文件以及/etc/cups下的ppd目录等。
创建符号链接:+ ln -s /config/ppd /etc/cups创建了一个从/config/ppd到/etc/cups的符号链接。
文件复制和触摸操作:例如+ cp /config/printers.conf /etc/cups/printers.conf将/config/printers.conf文件复制到/etc/cups目录下;+ touch /config/printers.conf则是创建或更新/config/printers.conf文件的时间戳。
服务相关操作
启动 avahi-daemon 服务:执行+ /usr/sbin/avahi-daemon --daemonize来启动avahi-daemon服务,不过在后续操作中出现了Process 31 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)的错误提示,表明该服务启动过程可能遇到了问题,比如进程意外终止。
启动 cupsd 服务:通过+ exec /usr/sbin/cupsd -f启动cupsd服务,并且在前后有Setting up watches.和Watches established.等与监控设置相关的输出,可能是在为服务设置相关的监控机制。
其他操作
文件列表查看和统计:有多处如+ + ls -l '/services/*.service'、+ wc -l等操作,用于查看指定目录下的文件列表并统计文件数量等,以辅助判断相关操作的结果。
请问启动avahi-daemon发生了错误该怎么办?
