User:Przemoc/Notes
I finally installed AL and I'm poking it a bit. Here you can find some notes regarding this experience. They should be helpful, but please use them with caution. I may add some additional commentary sometimes. If you think there is a better way to perform some of mentioned here tasks, then don't hesitate to notify me about it. Top-level headings denotes AL version that was used. Backward and forward compatibility is possible, but not tested.
Alpine Linux 3.3.3
Shell
Even though I always try to write POSIX sh-compliant scripts, I like to have bash
as my default shell, because it's quite handy. Being able to write for instance quick diff -u <(COMMAND1) <(COMMAND2)
(to compare output of two commands) or mv FILE{,SUFFIX}
(to rename file by adding suffix) is very convenient.
Bash as default shell
AL doesn't have vipw
, so root has to perform vi /etc/passwd
himself to change the last field of root record (should be the first line in the file). You have to install util-linux package to get chsh
utility.
Activate color prompt
Initial prompt: baytrail:~#
mv /etc/profile.d/color_prompt{,.sh}
Prompt after above change and relogin: baytrail [~]#
Long history
I like to have long history, so I created following file:
Contents of /etc/profile.d/long_history.sh
Console
If you have physical access to screen connected to your machine with AL, it's nice to have properly configured console.
UTF-8 encoding
To have UTF-8 from OpenRC point of view, you have to set in /etc/rc.conf
:
unicode="YES"
and add /etc/init.d/termencoding
to autostart:
rc-update add termencoding
In fact it's mostly irrelevant (prove me wrong).
Font with polish letters
To be able to see polish letters, you have to install kbd-misc package, set in /etc/conf.d/consolefont
:
consolefont="lat2-sun16.psfu.gz" consoletranslation="8859-2_to_uni.trans"
and add /etc/init.d/consolefont
to autostart:
rc-update add consolefont
If you don't like default default8x16.psf.gz
font, then use lat2-16.psfu.gz
instead. If you're comfortable with lower letter height, then I suggest using lat2-14.psfu.gz
, which is still readable, yet on my 1920x1200 display increases LINES number from 75 to 85.
Disk
Set up RAID1 on two devices
# install package apk add mdadm # load "raid1" module during boot (not really needed if you perform further steps) echo raid1 >>/etc/modules # create RAID1 array on two whole disks with 1MB data offset mdadm --create --level=1 --raid-devices=2 --data-offset=1M /dev/md0 /dev/sda /dev/sdb # preserve original example mdadm.conf mv /etc/mdadm.conf{,.orig} # save current setup into configuration file # (usually people do not use -v, but it's more readable) mdadm --detail -v --scan >/etc/mdadm.conf # add raid devices starting to autostart rc-update add mdadm-raid # add raid devices monitoring to autostart rc-update add mdadm # start raid devices monitoring now /etc/init.d/mdadm start # following steps are needed if you want to support RAID early during boot # add "raid" to features (space-separated values) vi /etc/mkinitfs/mkinitfs.conf # rebuild /boot/initramfs-grsec mkinitfs # add "raid1" to modules (comma-separated values) vi /etc/update-extlinux.conf # update extlinux update-extlinux
Install smartctl and smartd
# install package apk add smartmontools # comment DEVICESCAN and uncomment DEVICESCAN -R 194 -R 231 -I 9 # to get meaningful and useful raw temperature in syslog vi /etc/smartd.conf # add smartd service to autostart rc-update add smartd # start the service now /etc/init.d/smartd start
Sensors
lm_sensors
# install package apk add lm_sensors # install package for detecting sensors (if needed) - installs perl too apk add lm_sensors-detect # load module required for detecting sensors modprobe i2c-dev # detect sensors (skip scanning Super I/O, IPMI, ISA if you're on grsec) sensors-detect # after detecting sensors you can remove perl (if you don't need it) apk del perl
Problems
sensors-detect
command created/etc/modules-load.d/lm_sensors.conf
file, but its first line is a comment, which leads to following message during bootmodprobe: ERROR: missing parameters. See -h.
It can be fixed by improving sed command in
/etc/init.d/modules
from's/\#.*//g'
to's/\#.*//g;/^[ \t]*$/d'
(deleting empty lines).- It seems that nowadays you don't have to add
lm_sensors
to autostart, because in AL lm_sensors package is patched to create file/etc/modules-load.d/lm_sensors.conf
(files in this directory are inspected by/etc/init.d/modules
)./etc/init.d/lm_sensors
seems in fact superfluous and it also doesn't work* /etc/conf.d/lm_sensors does not exist, try running sensors-detect * ERROR: lm_sensors failed to start
because it expects old file (
/etc/conf.d/lm_sensors
), which is no longer provided.
I don't need my own real mail server (as it's kind of PITA to set it up properly nowadays). Simple MTA is good enough. In the old days I used ssmtp, but it stopped being maintained (apparently debian devs maintain it now), so I switched to msmtp.
msmtp
After installing msmtp package, you need to create configuration file in your home directory. You can find example for Zoho Mail account.
Contents of ~/.msmtprc
You'll be asked for password every time mail is sent.
Problems
If you use gmail, then it's no longer that simple. After changing each zoho to gmail in above exemplary configuration, you still won't be able to send any mail. You'll get:
msmtp: server message: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=...> Please log in via your web browser and then try again. msmtp: server message: 534-5.7.14 Learn more at msmtp: server message: 534-5.7.14 https://support.google.com/mail/answer/78754 ...
and you'll receive e-mail titled "Sign-in attempt prevented".
You have to turn on less secure apps if you want to deal with it. If you're using 2-step verification, then you'll have to add app password for msmtp.