Avatar

Organizations

12 results for CLI
  • 初始化配置

    1.软件更新

    软件库管理

    2. 配置时间

    apt install -y systemd-timesyncd
    # 设置时区
    timedatectl set-timezone Asia/Shanghai
    # 启动NTP服务
    timedatectl set-ntp true
    
    ; /etc/systemd/timesyncd.conf
    [Time]
    NTP=ntp.ntsc.ac.cn
    FallbackNTP=ntp.aliyun.com ntp.tencent.com 0.cn.pool.ntp.org
    
    # 在LXC、Docker 或某些 VPS 环境中
    dpkg-reconfigure tzdata
    

    3. 关闭邮件服务

    systemctl stop 'postfix@*' ; systemctl disable 'postfix@\x2a' ; apt purge -y postfix
    

    4. 配置网络

    4.1 配置无线(WiFi)

    4.1.1 配置wpa_supplicant
    apt install -y wpa_supplicant
    
    ; /etc/wpa_supplicant/wlp2s0.conf
    p2p_disabled=1
    
    network={
        ssid="<ssid>"
        psk="<pwd>"
    }
    
    # 测试配置文件
    wpa_supplicant -c /etc/wpa_supplicant/wlp2s0.conf -i wlp2s0 -B
    # 重启wpa_supplicant服务
    systemctl enable wpa_supplicant
    systemctl start wpa_supplicant
    
    # 编辑wpa_supplicant服务
    systemctl edit wpa_supplicant
    
    ### Editing /etc/systemd/system/wpa_supplicant.service.d/override.conf
    ### Anything between here and the comment below will become the contents of the drop-in file
    
    [Service]
    ExecStart=
    ExecStart=/usr/sbin/wpa_supplicant -c /etc/wpa_supplicant/wlp2s0.conf -i wlp2s0
    Type=simple
    Restart=on-failure
    RestartSec=5
    TimeoutStartSec=180
    
    ### Edits below this comment will be discarded
    ......
    
    systemctl daemon-reload
    systemctl restart wpa_supplicant
    
    4.1.2 关闭无线网卡电源管理
    # 创建服务
    tee /etc/systemd/system/wifi-powersave.service << 'EOF'
    [Unit]
    Description=Disable WiFi Power Saving
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/sbin/iwconfig wlp2s0 power off
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    EOF
    # 启动服务
    systemctl enable wifi-powersave.service
    systemctl start wifi-powersave.service
    

    4.2 配置systemd-networkd

    apt install -y systemd-networkd systemd-resolved
    
    ; 此处参考/etc/network/interfaces文件里的配置
    ; /etc/systemd/network/10-lo.network
    [Match]
    Name=lo
    
    [Network]
    # 启用链路本地地址(IPv4 和 IPv6)
    LinkLocalAddressing=yes
    IPv6LinkLocalAddressGenerationMode=stable-privacy
    
    [Address]
    Address=127.0.0.1/8
    
    [Address]
    Address=::1/128
    
    ; 此处参考/etc/network/interfaces文件里的配置
    ; 无线网卡 
    ; /etc/systemd/network/20-wireless.network
    [Match]
    Name=wlp2s0
    
    [Network]
    Address=192.168.1.94/24
    Gateway=192.168.1.1
    DNS=192.168.1.6
    ; 禁用IPv6
    LinkLocalAddressing=no
    IPv6AcceptRA=no
    
    # 重启systemd-networkd服务
    systemctl enable systemd-networkd
    systemctl start systemd-networkd
    
    # 编辑systemd-networkd服务
    systemctl edit systemd-networkd
    
    ### Editing /etc/systemd/system/systemd-networkd.service.d/override.conf
    ### Anything between here and the comment below will become the contents of the drop-in file
    
    [Unit]
    After=wpa_supplicant.service
    Wants=wpa_supplicant.service
    
    ### Edits below this comment will be discarded
    ......
    
    systemctl daemon-reload
    systemctl restart systemd-networkd
    

    4.3 配置systemd-resolved

    systemctl enable --now systemd-resolved
    # 将系统的 DNS 配置文件链接到 systemd-resolved 管理的动态文件上,这样它就会自动更新。
    ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    resolvectl status
    

    4.4 关闭networking

    systemctl stop networking
    systemctl disable networking
    apt remove ifupdown
    

    4.5 重启

    reboot
    

    5. 配置Shell

    # 修改命令行提示符
    echo "PS1='\[\e[36;40m\][\D{%Y-%m-%d} \A] \[\e[0m\] \[\e[35;40m\]\w\[\e[0m\]\n\[\e[33;40m\][\u@\H]\[\e[0m\] \\$ '" >> ~/.bashrc \
        && . ~/.bashrc
    
    # 打开自定义命令
    sed -E -i.bak -e '/(export|eval|alias (ls|ll|l|rm|cp|mv))/s/^# //' ~/.bashrc \
        && . ~/.bashrc
    

    6. 配置 sshd

    # 允许root密码登录
    # 允许密码登录
    # 解决SSH自动断开问题
    sed -E -i.bak \
        -e 's/#(Port 22)/\1/' \
        -e 's/#(PermitRootLogin) prohibit-password/\1 yes/' \
        -e 's/#(PubkeyAuthentication yes)/\1/' \
        -e 's/#(PasswordAuthentication yes)/\1/' \
        -e 's/#(AllowTcpForwarding yes)/\1/' \
        -e 's/(X11Forwarding yes)/#\1/' \
        -e 's/#(Compression delayed)/\1/' \
        -e 's/#(ClientAliveInterval) 0/\1 60/' \
        -e 's/#(ClientAliveCountMax) 3/\1 3/' \
        /etc/ssh/sshd_config \
        && systemctl restart sshd.service
    

    配置防火墙

    iptables 配置

    CLI bash ssh top linux Created Mon, 17 Jan 2022 11:07:07 +0800
  • 镜像列表

    [docker|podman] image ls -a
    # or
    [docker|podman] images
    

    容器列表

    [docker|podman] container ls -a
    # or
    [docker|podman] ps
    

    查看输出

    [docker|podman] compose -f <yaml_file> logs [-f] [service name]
    # or
    [docker|podman] logs [-f] [container id]
    

    验证配置文件

    [docker|podman] compose -f <yaml_file> config
    

    删除冗余镜像

    echo 'y' | [docker|podman] system prune
    

    导入导出镜像

    # 导出
    [docker|podman] save -o <image>.tar <image_name:label | image_id>
    # 导入
    # 使用image_id导出的镜像,导入时也没有名字
    [docker|podman] load -i <image>.tar
    

    不启动镜像,查看镜像内的文件

    # 创建临时容器
    [docker|podman] conatiner create --name <container_name> <image_name>
    # 从容器复制文件到宿主机
    [docker|podman] conatiner cp <container_name>:<file_path> <dest_path>
    # 清理临时窗口
    [docker|podman] container rm <container_name>
    

    创建桥接网络

    [docker|podman] network create [name]
    

    [docker|podman]快捷命令

    echo "alias d-ll='[docker|podman] image ls -a; echo; [docker|podman] container ls -a'" >> ~/.bashrc \
        && echo "alias d-ps='[docker|podman] ps'" >> ~/.bashrc \
        && echo "alias d-clean='[docker|podman] system prune -f'" >> ~/.bashrc \
        && echo "alias d-rm='_a(){ [docker|podman] image rm $1; echo; [docker|podman] container rm $1; }; _a'" >> ~/.bashrc \
        && echo "alias d-exec='_a(){ [docker|podman] exec -it $1 /bin/bash; }; _a'" >> ~/.bashrc \
        && echo "alias d-stop='_a(){ [docker|podman] container stop $1; }; _a'" >> ~/.bashrc \
        && echo "alias d-kill='_a(){ [docker|podman] container kill $1; }; _a'" >> ~/.bashrc
        
    source ~/.bashrc
    
    CLI docker podman container Created Thu, 13 Jan 2022 22:20:52 +0800