顯示具有 Raspbian 標籤的文章。 顯示所有文章
顯示具有 Raspbian 標籤的文章。 顯示所有文章

2020-05-17

Raspbian 安裝 MariaDB

Raspbian 安裝 MariaDB

查看 Raspbian 提供支援 MariaDB 的版本:

pi@raspberrypi:~ $ apt-cache policy mariadb-server mariadb-server: 已安裝:(無) 候選: 1:10.3.22-0+deb10u1 版本列表: 1:10.3.22-0+deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages

安裝:

sudo apt install mariadb-server

安裝完成後,使用下式連線:

sudo mysql -u root

如果有需要,建立外連的用戶:

-- 建立本地端可以連線的用戶 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newuser_pw'; GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; FLUSH PRIVILEGES; -- 建立其他主機可以連線的用戶 CREATE USER 'newuser2'@'%' IDENTIFIED BY 'newuser_pw2'; GRANT ALL PRIVILEGES ON * . * TO 'newuser2'@'%'; FLUSH PRIVILEGES;

從 mac 用 adminer.php(Apache/PHP 環境)連到 R-Pi,結果得到 connection refused,查看網路狀況:

sudo netstat -ln

得到:

# sudo netstat -ln Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

爬文得知要設定 bind-address=0.0.0.0,到 /etc/mysql/my.cnf 設定結果無效。 後來才找到在 /etc/mysql/mariadb.conf.d/50-server.cnf 有設定 bind-address=127.0.0.1 ,變更之後,重新啟動:

sudo service mysqld restart

就可以由外部連入:

# sudo netstat -ln Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

2020-05-16

在 Raspbian 安裝 MongoDB 的慘痛經驗 (廢文)

在 Raspbian 安裝 MongoDB 的慘痛經驗 (廢文)

由於 Raspberry Pi 4 model B 的 CPU ARMv7l 為 32 bit,所以只能安裝舊版的 MongoDB。若是網路架構,可以將 MongoDB 裝在別的主機或雲端,使用較新版本的 MongoDB。

在 Raspbian 中查看提供的 MongoDB 版本就好,不要安裝:

pi@raspberrypi:~ $ apt-cache policy mongodb mongodb: 已安裝:(無) 候選: 1:2.4.14-4 版本列表: 1:2.4.14-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages

只提供 2.4 的版本真的太老舊了,官方 drivers 都不支援了,真的別裝!

如果使用 MongoDB 3.2 以上是必要的那就請用 Ubuntu 20.04 LTS (64-bit),目前已經可以透過 Imager 安裝這個版本了。

以下是做個記錄,不要實作,在 Raspbian,MongoDB 3.2 和 3.0 32-bit 都無法執行,殘念。

支援 32-bit MongoDB 的最高版本 3.2.22,請參考這篇。

可以透過瀏覽器到 MongoDB 官網下載中心 選取「Version 3.2.22」>「Linux 32-bit lagecy」>「TGZ」下載(拷備表單下的連結也可以)。

wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.22.tgz # 下載 tar -zxvf mongodb-linux-i686-3.2.22.tgz # 解壓縮 sudo cp ./mongodb-linux-i686-3.2.22/bin/* /usr/bin/ # 複製檔案

設定啟動檔

wget https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d # 下載啟動檔 sudo mv init.d /etc/init.d/mongod # 移動檔案 sudo chmod 755 /etc/init.d/mongod # 變更屬性

建立設定檔 /etc/mongod.conf

storage: dbPath: /var/lib/mongo journal: enabled: true engine: mmapv1 systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log processManagement: fork: true net: port: 27017 bindIp: 0.0.0.0

建立 mongodb 用戶

sudo useradd --home-dir /var/lib/mongo --shell /bin/false mongodb sudo passwd mongodb

建立存放資料的資料夾 /var/lib/mongo

# 存放資料庫資料 sudo mkdir /var/lib/mongo sudo chown -R mongodb /var/lib/mongo sudo chgrp -R mongodb /var/lib/mongo # 記錄檔 sudo mkdir /var/log/mongodb sudo chown -R mongodb /var/log/mongodb sudo chgrp -R mongodb /var/log/mongodb # pid sudo touch /var/run/mongod.pid sudo chown mongodb /var/run/mongod.pid sudo chgrp mongodb /var/run/mongod.pid

初始化服務:

sudo update-rc.d mongod defaults

最後重開機,然後還是不能執行。

2020-05-15

在 Raspbian 上安裝 VSCode

在 Raspbian 上安裝 VSCode

已經有人寫好 shell scripts 了 https://code.headmelted.com/

稍微改一下裡面的做法:

wget https://code.headmelted.com/installers/apt.sh # 下載 scripts chmod +x ./apt.sh # 加入「可執行」屬性 sudo ./apt.sh # 以管理者權限執行

裝好之後可以在圖形化介面的「啟動」>「Programming」>「Code-OSS (headmelted)」啟動 VSCode,也可以在 terminal 用 code-oss 去開啟一個文字檔。

2020-05-14

在 Raspbian 上安裝 Node.js

在 Raspbian 上安裝 Node.js

參考 Install Node.js and Npm on Raspberry Pi

先在 terminal 上查看 Raspberry Pi 的 CPU 型號:

uname -m

我的機器是 Pi 4 model B,CPU 是 ARMv7l。

到 Node.js 下載頁面 找到 Linux Binaries (ARM) 的版本,目前 LTS 12.16.3 版提供 ARMv7 和 ARMv8。若要找支援 ARMv6 就要找比較舊的版本。複製連結,並使用 wget 下載。

wget https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-armv7l.tar.xz

解壓縮檔案:

# tar -xvf 檔名.tar.xz tar -xvf ./node-v12.16.3-linux-armv7l.tar.xz

將檔案複製到 /usr/local/ 裡:

cd node-v12.16.3-linux-armv7l/ sudo cp -R * /usr/local/

最後查看版本,沒問題的話就完成安裝了:

node -v npm -v

這種安裝方式的缺點是,如果要移除 Node.js,由於沒有記錄複製的檔案,會無法移除所有檔案。

另一種安裝方式是使用 NodeSource Distributions,這個工具是由 NodeSource 這家公司所提供。

目前支援 Debian OS 的版本中,對 Raspberry Pi 支援的 CPU 只有 ARMv7 和 ARMv8,舊的 ARMv6 就不適合使用 NodeSource 的方案。以下是安裝的步驟:

先更新系統套件:

sudo apt-get update sudo apt-get dist-upgrade

到 NodeSource Distributions 查看支援 Debian 的版本,以下是安裝 12.x 的範例:

# Using Debian, as root curl -sL https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs

最後查看 Node 版本確認即可。

2020-05-13

透過 mac 安裝 Raspbian

透過 mac 安裝 Raspbian

首先到 Raspberry Pi 官網 下載 Raspberry Pi Imager for macOS,將 Raspberry Pi Imager.app 裝起來。

啟動 Imager 後,可以先格式化 SD 卡。

  1. Operating System 選 Erase
  2. SD Card 選讀卡設備
  3. 點選「Write」

安裝 Raspbian,也是同樣的步驟,不過下載檔案需要一些時間:

  1. Operating System 選「Raspbian」
  2. SD Card 選讀卡設備
  3. 點選「Write」

用我的老 mac mini 花了快一個小時... 後來發現是下載速度過慢的問題。 之後就可以裝 SD Card 試開機,一開始接比較舊的電視發現沒有畫面,換一般電腦螢幕就正常了。

一開始設定最重要的是開啟 SSH 和 VNC。有 SSH 才可以遠端登入 terminal,VNC 則是遠端桌面。 經常還是會發生設定上的問題,那可以用 ssh 登入:

ssh pi@192.168.1.108

輸入密碼後即可操作 Raspian 的 terminal。使用下式來設定:

sudo raspi-config

首頁畫面的 Interfacing Options 進入後可以啟動 SSH 和 VNC。 首頁畫面的 Advanced Options > Resolution,可以調整使用的解析度。有時 VNC 連線有狀況時,可以設定一個較小的模式,方便 VNC 呈現畫面。(CEA 模式比較接近電視,DMT 則是比較接近電腦螢幕)

FB 留言