$ sudo dcfldd bs=4M if=___.img of=___
$ sudo dcfldd bs=4M if=2014-12-24-wheezy-raspbian.img of=/dev/mmcblk0
$ sync
$ sudo raspi-config
$ sudo reboot
$ sudo rpi-update
and after that $ sudo apt-get update
and $ sudo apt-get upgrade
$ ssh-keygen -t rsa -C "your_email@example.com"
$ ifconfig
$ ssh-copy-id pi@192.168.0.102
$ ssh pi@192.168.0.102
$ sudo passwd root
And enter the new password for root $ sudo apt-get install vim
You can also use the nano editor, which is already installed. But I prefer vim. $ ssh root@192.168.0.102
and execute the command: $ usermod -l _ -d /home/_ -m pi
I use inn0kenty as a new name, i.e. in my case, the command looks like this: $ usermod -l inn0kenty -d /home/inn0kenty -m pi
$ sudo vim /etc/network/interfaces
. In the opened file we change iface eth0 inet dhcp
on iface eth0 inet static address 192.168.0.98 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Indicating the parameters of your network. Netmask and broadcast can be found with the command $ sudo ifconfig
$ sudo route -nee
$ ssh inn0kenty@192.168.0.98
$ sudo vim /etc/ssh/sshd_config
And set it to prohibit ssh login as root and disable password authentication: PasswordAuthentication no PermitRootLogin no
And also change the port Port 22226 ()
$ sudo reboot
$ ssh -p 22226 inn0kenty@192.168.0.98
But such a long team can be simplified and minimized. To do this, on your primary OS, edit the config file. In your home directory, run: $ vim .ssh/config
and paste the following lines there: Host 192.168.0.98 Hostname 192.168.0.98 User inn0kenty Port 22226
$ ssh 192.168.0.98
$ vim .ssh/config
And add there Host _ Hostname _ User inn0kenty Port 22226
We save. $ mkdir hdd
$ sudo blkid
The output should be something like this: /dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="936C-7154" TYPE="vfat" /dev/mmcblk0p2: UUID="c1398422-7a7c-4863-8a8f-45a1db26b4f2" TYPE="ext4" /dev/sda1: LABEL="Seagate Expansion Drive" UUID="7CD8E7DCD8E792A6" TYPE="ntfs"
The last line is just what we need. Remember UUID. $ sudo apt-get install ntfs-3g
$ sudo vim /etc/fstab
UUID="*" ** ntfs-3g rw,force,exec,users 0 0 * - UUID ( 7CD8E7DCD8E792A6) ** - ( /home/inn0kenty/hdd)
$ sudo apt-get install sshfs
$ mkdir pi
$ sshfs 192.168.0.98:/home/inn0kenty/hdd pi
Everything. All our files from the hard disk were in the pi folder on your main machine. $ sudo umount pi
or $ fusermount -u pi
$ sshfs _:/home/inn0kenty/hdd pi
#!/bin/bash ABSOLUTE_FILENAME=`readlink -e "$0"` # # DIRECTORY=`dirname "$ABSOLUTE_FILENAME"` if [ "x$1" = "x-nh" ] || [ "x$1" = "x-nothome" ] ; then sshfs -o nonempty _:/home/inn0kenty/hdd $DIRECTORY # -o nonempty sshfs # else sshfs -o nonempty 192.168.0.98:/home/inn0kenty/hdd $DIRECTORY fi
$ chmod +x mount.sh
$ mv mount.sh pi/
$ vim .bashrc
And add the line there alias pimount='/home/inn0kenty/pi/mount.sh'
Of course substituting your data. $ pimount
And if you specify the -nh or -nothome key, then your Raspberry Pi will be mounted via the domain name i.e. You can use your Raspberry Pi to the full even without being in the same local network with it. $ pimount -nh
or $ pimount -nothome
$ sudo apt-get install deluged deluge-webui
$ sudo vim /etc/default/deluge-daemon
and enter there the following: # Configuration for /etc/init.d/deluge-daemon # The init.d script will only run if this variable non-empty. DELUGED_USER="__" # !!!CHANGE THIS!!!! # Should we run at startup? RUN_AT_STARTUP="YES"
Then save and close $ sudo vim /etc/init.d/deluge-daemon
and enter there the following: #!/bin/sh ### BEGIN INIT INFO # Provides: deluge-daemon # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Daemonized version of deluge and webui. # Description: Starts the deluge daemon with the user specified in # /etc/default/deluge-daemon. ### END INIT INFO # Author: Adolfo R. Brandes # Updated by: Jean-Philippe "Orax" Roemer PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Deluge Daemon" NAME1="deluged" NAME2="deluge" DAEMON1=/usr/bin/deluged DAEMON1_ARGS="-d" # Consult `man deluged` for more options DAEMON2=/usr/bin/deluge-web DAEMON2_ARGS="" # Consult `man deluge-web` for more options PIDFILE1=/var/run/$NAME1.pid PIDFILE2=/var/run/$NAME2.pid UMASK=022 # Change this to 0 if running deluged as its own user PKGNAME=deluge-daemon SCRIPTNAME=/etc/init.d/$PKGNAME # Exit if the package is not installed [ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME # Load the VERBOSE setting and other rcS variables [ -f /etc/default/rcS ] && . /etc/default/rcS # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ] then log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it." exit 0 fi if [ -z "$DELUGED_USER" ] then log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME." exit 0 fi # # Function to verify if a pid is alive # is_alive() { pid=`cat $1` > /dev/null 2>&1 kill -0 $pid > /dev/null 2>&1 return $? } # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started is_alive $PIDFILE1 RETVAL1="$?" if [ $RETVAL1 != 0 ]; then rm -f $PIDFILE1 start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile \ --exec $DAEMON1 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS RETVAL1="$?" else is_alive $PIDFILE2 RETVAL2="$?" [ "$RETVAL2" = "0" -a "$RETVAL1" = "0" ] && return 1 fi is_alive $PIDFILE2 RETVAL2="$?" if [ $RETVAL2 != 0 ]; then sleep 2 rm -f $PIDFILE2 start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile \ --exec $DAEMON2 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS RETVAL2="$?" fi [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2 RETVAL2="$?" start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1 RETVAL1="$?" [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2 rm -f $PIDFILE1 $PIDFILE2 [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME1" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac :
$ sudo chmod 755 /etc/init.d/deluge-daemon
$ sudo update-rc.d deluge-daemon defaults
$ sudo invoke-rc.d deluge-daemon start
Source: https://habr.com/ru/post/247783/
All Articles