This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doc:raspi2 [2015/11/14 11:50] stwn [Updating and Upgrading] minor fix |
doc:raspi2 [2015/11/14 23:30] (current) stwn [Storage] minor fix |
||
---|---|---|---|
Line 40: | Line 40: | ||
===== Package Management ===== | ===== Package Management ===== | ||
- | # vrms | + | - List installed packages and save it to a file. <code>$ dpkg-query --show -f '${Package}\n' > pkgs.list</code> |
- | # apt-get remove --purge [I still use firmware-realtek for TL-WN725N] | + | - Edit the file and let the names of packages which you want to remove in it, i.e. graphical environment, applications and friends. |
- | # apt-get remove --purge firmware-atheros firmware-brcm80211 firmware-libertas firmware-ralink oracle-java8-jdk pistore wolfram-engine | + | - Run 'apt-get autoremove' to remove unneeded packages. <code>$ sudo apt-get autoremove</code> |
- | # apt-get remove --purge lxde* gnome* | + | - Install some packages. <code>$ sudo apt-get install screen vrms</code> |
- | # apt-get autoremove | + | |
- | # apt-get install screen | + | |
- | # apt-get install mariadb-server | + | |
- | # dpkg-query --show -f '${Package}\n' > pkgs.list | + | |
===== Custom Configuration ===== | ===== Custom Configuration ===== | ||
- | # update-rc.d -f triggerhappy remove | + | - Disable triggerhappy. <code>$ sudo systemctl disable triggerhappy</code> |
- | # update-rc.d -f thd remove | + | - Edit /etc/bash.bashrc <code>$ sudo nano $HOME/.bashrc |
- | # update-rc.d -f triggerhappy remove | + | PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\W \[\033[01;34m\]\A \[\033[00m\]\`if [ \$? == 0 ]; then echo \:\); else echo '\[\033[0;31m\]:('; fi\`\[\033[00m\] "</code> |
- | # nano /etc/ssh/sshd_config | + | - Disable password authentication for SSH. |
- | <code>PasswordAuthentication no</code> | + | * Generate authentication key in the machine which you want to login from, and copy the result to the Raspberry. <code>$ ssh-keygen |
- | # nano /etc/bash.bashrc (PS1). I got it somewhere on the Internet. I will find the exact source.<code>PS1="\u@\h:\W \A \`if [ \$? == 0 ]; then echo \:\); else echo \:\(; fi\` "</code> | + | $ ssh-copy-id user@raspberry</code> |
- | # nano $HOME/.bashrc<code>PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\W \[\033[01;34m\]\A \[\033[00m\]\`if [ \$? == 0 ]; then echo \:\); else echo '\[\033[0;31m\]:('; fi\`\[\033[00m\] "</code> | + | * Edit sshd_config and restart sshd.<code>$ sudo nano /etc/ssh/sshd_config |
- | # nano /etc/rc.local | + | PasswordAuthentication no</code><code>$ sudo systemctl restart ssh</code> |
- | $ ssh-keygen | + | |
- | $ ssh-copy-id user@host | + | |
- | ===== Pagekite ===== | + | |
- | + | ||
- | $ wget -c https://pagekite.net/pk/pagekite.py | + | |
- | $ chmod +x pagekite.py | + | |
- | $ nano .pagekite.rc | + | |
- | $ ./pagekite.py | + | |
- | $ screen -S pagekite | + | |
- | + | ||
- | When you upgrade the Raspbian to jessie, you will get an error message:<code>Traceback (most recent call last): | + | |
- | File "tmp/scr/pagekite.py", line 249, in <module> | + | |
- | exec __FILES[".SELF/sockschain/__init__.py"] in sys.modules["sockschain"].__dict__ | + | |
- | File "<string>", line 130, in <module> | + | |
- | File "<string>", line 132, in SSL | + | |
- | AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'</code>Install python-openssl | + | |
- | + | ||
- | * Error<code>debug2: ssh_connect: needpriv 0 | + | |
- | debug1: Connecting to somesite.pagekite.me [XXX.YYY.ZZZ.22] port 22. | + | |
- | debug1: Connection established. | + | |
- | debug1: SELinux support disabled | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_rsa type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_rsa-cert type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_dsa type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_dsa-cert type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_ecdsa type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_ecdsa-cert type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_ed25519 type -1 | + | |
- | debug1: key_load_public: No such file or directory | + | |
- | debug1: identity file /home/stwn/.ssh/id_ed25519-cert type -1 | + | |
- | debug1: Enabling compatibility mode for protocol 2.0 | + | |
- | debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Debian-3 | + | |
- | ssh_exchange_identification: Connection closed by remote host</code> | + | |
- | * Debug with /usr/sbin/sshd -ddd -p 22 and try to connect to it. | + | |
- | * Install corkscrew and add .ssh/config:<code>Host *.pagekite.me | + | |
- | CheckHostIP no | + | |
- | ProxyCommand /usr/bin/corkscrew %h 443 %h %p</code> | + | |
- | * prun.sh | + | |
- | + | ||
- | ===== Syncthing ===== | + | |
- | + | ||
- | $ wget -c https://github.com/syncthing/syncthing/releases/download/v0.10.29/syncthing-linux-arm-v0.10.29.tar.gz | + | |
- | $ wget -c https://github.com/syncthing/syncthing/releases/download/v0.10.29/sha1sum.txt.asc | + | |
- | $ cat sha1sum.txt.asc |grep arm | + | |
- | $ sha1sum syncthing-linux-arm-v0.10.29.tar.gz > syncthing-linux-arm-v0.10.29.tar.gz.sha1 | + | |
- | $ tar zxvf syncthing-linux-arm-v0.10.29.tar.gz | + | |
- | $ mv syncthing-linux-arm-v0.10.29 syncthing | + | |
- | $ syncthing/syncthing | + | |
- | $ cd .config/syncthing/ | + | |
- | $ nano config.xml | + | |
- | $ screen -S syncthing | + | |
===== Debmirror ===== | ===== Debmirror ===== | ||
- | * $ sudo apt-get install debmirror | + | * Install debmirror. <code>$ sudo apt-get install debmirror</code> |
- | * $ nano debmirror-jessie | + | * Edit debmirror scripts. <code>$ nano debmirror-debian |
- | * You can find the Debian and Raspbian archive keyrings on their official repository respectively | + | $ nano debmirror-raspbian</code> |
- | * $ gpg --keyring debian-archive-keyring.gpg --export|gpg --no-default-keyring --keyring trustedkeys.gpg --import | + | * Find the Debian and Raspbian archive keyrings on their official repositories respectively. |
- | * $ gpg --keyring raspbian.public.key --export|gpg --no-default-keyring --keyring trustedkeys.gpg --import | + | * Add Debian and Raspbian archive keyrings. <code>$ gpg --keyring debian-archive-keyring.gpg --export|gpg --no-default-keyring --keyring trustedkeys.gpg --import |
- | * gpg --list-keys --with-colons | + | $ gpg --keyring raspbian.public.key --export|gpg --no-default-keyring --keyring trustedkeys.gpg --import</code> |
- | * $ debmirror-raspbian | + | * List the added keys. <code>$ gpg --list-keys --with-colons</code> |
- | * $ nano /etc/cron.d/debmirror or /etc/crontab | + | * Test the scripts by running them. |
- | * $ sudo systemctl restart cron.service | + | * Add crontab. <code>$ nano /etc/cron.d/debmirror or /etc/crontab</code> |
- | * $ sudo systemctl disable bla.service | + | * Restart crontab service. <code>$ sudo systemctl restart cron</code> |
===== Storage ===== | ===== Storage ===== | ||
- | # mkfs.ext4 /dev/sda1 | + | * # mkfs.ext4 /dev/sda1 |
- | # mkdir /media/dir | + | * # mkdir /media/dir |
- | # mount /dev/sda1 /media/dir/ | + | * # mount /dev/sda1 /media/dir/ |
- | # nano /etc/fstab | + | * # nano /etc/fstab |
===== Cron ===== | ===== Cron ===== |