• 1 Post
  • 526 Comments
Joined 2 年前
cake
Cake day: 2023年6月28日

help-circle







  • mholiv@lemmy.worldtoGreentext@sh.itjust.worksAnon likes trains
    link
    fedilink
    arrow-up
    71
    arrow-down
    1
    ·
    5 天前

    What are you going to do with a hijacked train? The moment you hijack it they’ll just shutdown power. Hostages? Good luck there are like 30 carts on the train all of which have window break tools and emergency door open tools.

    Look at Germany or France. High speed trains are everywhere and there is no ID requirement beyond maybe a ticket check if you’re unlucky.





  • The way that it works in most countries is that the breakers are per circuit in your wall. The breakers trip in order to prevent that single circuit from overheating and starting a fire in your walls.

    Let’s say you have a wire that’s rated for 16amps. More than that and it becomes a fire risk just threw overheating. @230v that gives you 3680w per circuit.

    If you have your industrial microwave, water heater, and car charger all going at the same time on that same circuit. This will draw way more than 3680w and thus would go over that 16a limit.

    The breakers trips once you go over that 16a limit for safety. It’s a good thing. This all being said no sane electrician would put those three things on the same circuit. lol.

    Circuit breakers are actually what enable you to safely over provision. Without them fires would just be a matter of time.

    I know it works this way in the U.S. and Germany at least.








  • If you are new to Linux I think it makes sense to use systemd. It’s the default for a reason. All major distros use it for a reason. It’s only a really small minority of very vocal people who are against it.

    If Debian and Fedora and Ubuntu and All the enterprise linuxes use the same thing, I think that says something.

    Despite claims to the contrary systemd is substantially faster and easier to use than its predecessor.

    It’s simpler and easier to use. Take a look at these examples. Service files are so so much easier to use and are much more robust than hundred line bash scripts.

    Systemd:

    [Unit]
    Description=OpenVPN tunnel for %i
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    Sysvinit

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          openvpn
    # Required-Start:    $network $remote_fs
    # Required-Stop:     $network $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: OpenVPN service
    # Description:       Start or stop OpenVPN tunnels.
    ### END INIT INFO
    
    DAEMON=/usr/sbin/openvpn
    CONFIG_DIR=/etc/openvpn
    PID_DIR=/run/openvpn
    DESC="OpenVPN service"
    NAME=openvpn
    
    . /lib/lsb/init-functions
    
    start() {
        log_daemon_msg "Starting $DESC"
    
        mkdir -p "$PID_DIR"
    
        for conf in "$CONFIG_DIR"/*.conf; do
            [ -e "$conf" ] || continue
            inst=$(basename "$conf" .conf)
            pidfile="$PID_DIR/$inst.pid"
    
            if start-stop-daemon --start --quiet --background \
                --pidfile "$pidfile" --make-pidfile \
                --exec "$DAEMON" -- --daemon ovpn-$inst --writepid "$pidfile" --config "$conf"; then
                log_progress_msg "$inst"
            else
                log_warning_msg "Failed to start $inst"
            fi
        done
        log_end_msg 0
    }
    
    stop() {
        log_daemon_msg "Stopping $DESC"
        for pid in "$PID_DIR"/*.pid; do
            [ -e "$pid" ] || continue
            inst=$(basename "$pid" .pid)
            if start-stop-daemon --stop --quiet --pidfile "$pid"; then
                rm -f "$pid"
                log_progress_msg "$inst"
            else
                log_warning_msg "Failed to stop $inst"
            fi
        done
        log_end_msg 0
    }
    
    status() {
        for conf in "$CONFIG_DIR"/*.conf; do
            [ -e "$conf" ] || continue
            inst=$(basename "$conf" .conf)
            pidfile="$PID_DIR/$inst.pid"
            if [ -e "$pidfile" ] && kill -0 "$(cat "$pidfile" 2>/dev/null)" 2>/dev/null; then
                echo "$inst is running (pid $(cat "$pidfile"))"
            else
                echo "$inst is not running"
            fi
        done
    }
    
    case "$1" in
        start) start ;;
        stop) stop ;;
        restart) stop; start ;;
        status) status ;;
        *) echo "Usage: $0 {start|stop|restart|status}"; exit 1 ;;
    esac
    
    exit 0