mirror of
https://codeberg.org/alpine/alpine-wiki.git
synced 2023-08-25 13:53:16 +02:00
newbie - tutorial : alpine desktop finished
This commit is contained in:
parent
f7cbf6b857
commit
af79a435d2
@ -18,6 +18,7 @@ Linux is just the **kernel** that handles and manages the **hardware** to the op
|
|||||||
|
|
||||||
* [Feature Differences](#feature-differences)
|
* [Feature Differences](#feature-differences)
|
||||||
* [Installation](#installation)
|
* [Installation](#installation)
|
||||||
|
* [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)
|
||||||
* [Post install and Software Packages](#post-install-and-software-packages)
|
* [Post install and Software Packages](#post-install-and-software-packages)
|
||||||
* [About the repositories of programs](#about-the-repositories-of-programs)
|
* [About the repositories of programs](#about-the-repositories-of-programs)
|
||||||
* [APK and package formats](#apk-and-package-formats)
|
* [APK and package formats](#apk-and-package-formats)
|
||||||
@ -60,6 +61,7 @@ that is why we offered in newbie category the [Alpine Newbie Install](alpine-new
|
|||||||
|
|
||||||
1. [Alpine Newbie Prepare](alpine-newbie-prepare.md)
|
1. [Alpine Newbie Prepare](alpine-newbie-prepare.md)
|
||||||
2. [Alpine Newbie Install](alpine-newbie-install.md)
|
2. [Alpine Newbie Install](alpine-newbie-install.md)
|
||||||
|
3. [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)
|
||||||
|
|
||||||
## Post install and Software Packages
|
## Post install and Software Packages
|
||||||
|
|
||||||
|
@ -1,36 +1,60 @@
|
|||||||
|
|
||||||
.. firs of all.. when you start to learn something you should check your available resources agains the needs ..
|
.. firs of all.. When starting to learn something, you should weigh
|
||||||
|
your capabilities and availability of resources:
|
||||||
|
|
||||||
## requirements
|
## 1 - Check requirements
|
||||||
|
|
||||||
We are persons, so first of all [we have real life requirements](#real-life-requirements)
|
We are persons, [we have real life requirements](#real-life-requirements)
|
||||||
and after [we need related requirements](#related-requirements).
|
and after [we need related requirements](#related-requirements).
|
||||||
|
|
||||||
You as future contributor or developer must check your resources and adapt those to your situation..
|
|
||||||
that seems unrelated to learning but ITS VERY IMPORTANT! Why?: well cos in linux and development
|
|
||||||
you shoul READ A LOT .. and that will waste time from your life.
|
|
||||||
|
|
||||||
### Real life requirementes
|
### Real life requirementes
|
||||||
|
|
||||||
* **Manners**, you will must have a vocation for reading and analysis.
|
* **Manners**, you will must have a vocation for reading and analysis.
|
||||||
* **Time**, you will need time, cos you will need to read a lot!
|
* **Time**, you will need time, cos you will need to read a lot!
|
||||||
* **Computer**, you should have a pc, or similar, by example most of the people uses the androit phone to handle an internal linux using [termux](termux-pending-file.md)
|
* **Device**, you should have a computer, or phone at least, or similar, by example using [Termux or IOs for phones](alpine-tutorial-in-phones.md)
|
||||||
|
|
||||||
### Related requirementes
|
### Related requirementes
|
||||||
|
|
||||||
* **Knowledge** you will need a knowed editor, a god knowledge of git as minimal base..
|
* **Knowledge** have knowledge of using linux, git and editors
|
||||||
* **Internet**, and minimal bandwitch of internet network.. cos almost today all the development will forced to you to contribute over internet.
|
* **vi/nano** you must know how to use VI and NANO editors, just write and save are enought
|
||||||
|
* **LFSH** you must read about the linux filesystem hierarchy, just where the files should go
|
||||||
|
* **git** you must know minimal usage of git, just clone and pull are enought
|
||||||
* **Unix-like**, you should have some kind of way to interact with a UNIX like operating system, like MAC or Linux.
|
* **Unix-like**, you should have some kind of way to interact with a UNIX like operating system, like MAC or Linux.
|
||||||
|
* **xterm** you must know how to use, cpy/paste text and manage a terminal command line
|
||||||
|
* **ssh** you ust know how to use SSH at the comand line
|
||||||
|
* **Internet**, and minimal bandwitch of internet network.. cos almost today all the development will forced to you to contribute over internet.
|
||||||
|
|
||||||
### About this wiki newbie
|
## 2 - Where to start
|
||||||
|
|
||||||
This material is a main one, for a more focused tutorial please check
|
Please, check requirements mentioned above, before continues; **this material
|
||||||
the [../tutorials/](../tutorials/) directory space, that have more focused or maybe simple ways to
|
(newbie sections) assumes a more general level and helps you to follow the steps more slowly:
|
||||||
reach specific objetives. Of course those **guides or tutorials will assume you already have knowledge**.
|
**Of course the first document to read is [alpine-newbie-install.md](alpine-newbie-install.md).**
|
||||||
|
and then **after install read [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)**
|
||||||
|
|
||||||
On the other hand, **this material (newbie sections) assumes a more general level and helps you to follow the steps more slowly,
|
But for more focused guides, the requirements mentioned above are mandatory,
|
||||||
in categories and explained steps**.
|
without them you will not be able to understand the documents at the [../tutorials/](../tutorials/)
|
||||||
|
directory space, **guides or tutorials will assume you already have those knowledge requirements**.
|
||||||
|
|
||||||
|
### WARNING
|
||||||
|
|
||||||
|
* First of all, if you do not use Linux before, this is not a "click click click" environment
|
||||||
|
* Second: if you comes from other Linux, there are a huge difference respect others: MUSL libc!
|
||||||
|
|
||||||
|
Al of those means that most of the programs may need manual intervention of precompilation.
|
||||||
|
IF you plan to use Alpine Linux as desktop maybe you will find a difficult path but,
|
||||||
|
its totally workable, and also pretty best performed. Alpine its best know for usage over containers,
|
||||||
|
like dockers or virtual machines.
|
||||||
|
|
||||||
### About copyright material
|
### About copyright material
|
||||||
|
|
||||||
|
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||||
|
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||||
|
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||||
|
material under identical terms, includes the following elements:
|
||||||
|
|
||||||
|
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||||
|
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||||
|
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||||
|
|
||||||
Please check our [../alpine/copyright.md](../alpine/copyright.md).
|
Please check our [../alpine/copyright.md](../alpine/copyright.md).
|
||||||
|
|
||||||
|
591
newbie/alpine-newbie-xfce-desktop.md
Normal file
591
newbie/alpine-newbie-xfce-desktop.md
Normal file
@ -0,0 +1,591 @@
|
|||||||
|
# Alpine XFCE4 desktop setup
|
||||||
|
===========================================================
|
||||||
|
|
||||||
|
* [preparation](#preparation-xfce4-aline)
|
||||||
|
* [instalation](#instalation)
|
||||||
|
* [setup OS configuration](#setup-os-configuration)
|
||||||
|
* [configuration programs and repositories](#configuration-programs-and-repositories)
|
||||||
|
* [setup system users](#setup-system-users)
|
||||||
|
* [setup hardware media support and graphical subsystem](#setup-hardware-media-support-and-graphical-subsystem)
|
||||||
|
* [setup software graphical fonts and languajes](#setup-software-graphical-fonts-and-languajes)
|
||||||
|
* [setup hardware media support and sound subsystem](#setup-hardware-media-support-and-sound-subsystem)
|
||||||
|
* [Instalacion XFCE4 Alpine](#instalacion-xfce4-apine)
|
||||||
|
* [Desktop multimedia and media devices](#desktop-multimedia-and-media-devices)
|
||||||
|
* [Desktop Office suite](#desktop-office-suite)
|
||||||
|
* [Development](#development)
|
||||||
|
* [base console development](#base-console-development)
|
||||||
|
* [base gui development](#base-gui-development)
|
||||||
|
* [Licensing clarifications](#licensing-clarifications)
|
||||||
|
* [See also](#see-also)
|
||||||
|
|
||||||
|
## preparation Xfce4 Alpine
|
||||||
|
|
||||||
|
To have a usable desktop without having to wonder why it doesn't sound,
|
||||||
|
or why the video file doesn't display, **you should avoid minimalisms if
|
||||||
|
you don't already have advanced knowledge** of alpine and even more so of linux.
|
||||||
|
|
||||||
|
For desktop you should have at least 100G of space on the ROOT disk,
|
||||||
|
and at least 2G of memory on the RAM.
|
||||||
|
|
||||||
|
The document **assumes that you already have Alpine Linux installed
|
||||||
|
otherwise check the best option at [alpine-newbie-install.md](alpine-newbie-install.md),**
|
||||||
|
we recommend 3.10 to 3.12 for 32bit PC and 3.12 for older RPi,
|
||||||
|
for modern machines we recommend 3.16 64bit versions.
|
||||||
|
|
||||||
|
#### Internet required
|
||||||
|
|
||||||
|
This document will work only if you have direct wired connection to internet.
|
||||||
|
|
||||||
|
**If you dont have direct network connection, please use our direct VenenuX Alpine ISOS**
|
||||||
|
[CURRENT LINK https://t.me/alpine_linux/762, but ask in telegram alpine network for newer one](https://t.me/s/alpine_linux/762)
|
||||||
|
|
||||||
|
#### setup OS configuration
|
||||||
|
|
||||||
|
1. deny access to the ssh root user, or well, get sure to deny such access
|
||||||
|
2. setup and start the ssh service, this always be present in Alpine installs
|
||||||
|
3. set the name of the computer, here we used `venenux-desktop`, please avoid symbols
|
||||||
|
4. hardcoded and set the network connection, to first wired network device
|
||||||
|
5. setup services of network to init at boot
|
||||||
|
6. configure root account
|
||||||
|
7. create a remote connection limited account `daru`
|
||||||
|
8. configure a default remote connection account `daru` as standard
|
||||||
|
|
||||||
|
```
|
||||||
|
sed -i -r 's|#PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config
|
||||||
|
|
||||||
|
service sshd restart
|
||||||
|
|
||||||
|
rc-update add sshd default
|
||||||
|
|
||||||
|
hostname venenux-desktop
|
||||||
|
echo 'hostname="venenux-desktop"' > /etc/conf.d/hostname
|
||||||
|
echo "venenux-desktop" > /etc/hostname
|
||||||
|
|
||||||
|
cat > /etc/hosts << EOF
|
||||||
|
127.0.0.1 venenux-desktop localhost.localdomain localhost
|
||||||
|
::1 localhost localhost.localdomain
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/network/interfaces << EOF
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet dhcp
|
||||||
|
|
||||||
|
iface eth0 inet6 dhcp
|
||||||
|
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
|
||||||
|
EOF
|
||||||
|
|
||||||
|
rc-service networking restart
|
||||||
|
|
||||||
|
rc-update add networking boot
|
||||||
|
|
||||||
|
cat > /root/.cshrc << EOF
|
||||||
|
unsetenv DISPLAY || true
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cp /root/.cshrc /root/.bashrc /root/.profile
|
||||||
|
|
||||||
|
echo "root:toor" | chpasswd
|
||||||
|
|
||||||
|
apk add tcsh
|
||||||
|
|
||||||
|
add-shell '/bin/csh'
|
||||||
|
|
||||||
|
adduser -D -g "" -u 998 -h /opt/daru -s /bin/csh daru
|
||||||
|
|
||||||
|
echo "daru:daru" | chpasswd
|
||||||
|
|
||||||
|
rm -f /opt/daru/*
|
||||||
|
|
||||||
|
mkdir /opt/daru
|
||||||
|
|
||||||
|
cat > /opt/daru/.cshrc << EOF
|
||||||
|
unsetenv DISPLAY
|
||||||
|
set autologout = 6
|
||||||
|
set prompt = "$ "
|
||||||
|
set history = 0
|
||||||
|
set ignoreeof
|
||||||
|
EOF
|
||||||
|
cp /opt/daru/.cshrc /opt/daru/.bashrc
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### configuration programs and repositories
|
||||||
|
|
||||||
|
1. Setup main and community repositories of sources of programs
|
||||||
|
2. update the local references of such repositories
|
||||||
|
3. install main command line utilities man page manager and easy to use editor
|
||||||
|
4. install string manipulation tools for the commands on the console
|
||||||
|
5. install file downloaders and url handlers for command line administration
|
||||||
|
6. install backend support for backend of archivers, will be need in any futher kind of install
|
||||||
|
7. setup the pager for large outputs over the console
|
||||||
|
8. install the support for languaje environment
|
||||||
|
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
cat > /etc/apk/repositories << EOF
|
||||||
|
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
|
||||||
|
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
|
||||||
|
EOF
|
||||||
|
|
||||||
|
apk update
|
||||||
|
|
||||||
|
apk add man-db man-pages nano nano-doc binutils binutils-doc coreutils coreutils-doc readline readline-doc
|
||||||
|
|
||||||
|
apk add sed sed-doc attr attr-doc dialog dialog-doc lsof less less-doc groff groff-doc
|
||||||
|
|
||||||
|
apk add wget wget-doc curl curl-doc bash bash-doc bash-completion terminus-font
|
||||||
|
|
||||||
|
apk add zip p7zip xz tar cabextract cpio binutils lha acpi
|
||||||
|
|
||||||
|
export PAGER=less
|
||||||
|
|
||||||
|
apk add musl-locales musl-locales-lang
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
The packages that have a "-doc" part handles the manpages.. you can
|
||||||
|
avoid those packages, if Alpine usage will be for GUI only.
|
||||||
|
|
||||||
|
The packages of locales will be need as base for multi-lang enviroment.
|
||||||
|
|
||||||
|
#### setup system users
|
||||||
|
|
||||||
|
We will follow a protocol for better identification of all the commands
|
||||||
|
in further documents, the user will be called "general"; this is important
|
||||||
|
that it has does matter, what does not matter is for you cos you only "use".
|
||||||
|
|
||||||
|
The other important part here is the groups, user will not have porper access
|
||||||
|
to resources becouse the OS manages the access using levels by groups. Of course
|
||||||
|
all of this only works using the proper policy kit software.
|
||||||
|
|
||||||
|
1. install and setup advanced management of users and administration tool privilegies
|
||||||
|
2. setup the shell csh for all present users and future ones
|
||||||
|
3. setup the shell bash for all present users and future ones
|
||||||
|
4. setup the shell for skel directory, that will server as template
|
||||||
|
5. setup the Xresources configuration for skel directory, that will server as template
|
||||||
|
6. configure defaults for each new creation of new users with bash as default shell
|
||||||
|
7. configure the login environement for each user when login at the console
|
||||||
|
8. create the default new general usage user `general` for your desktop or console daily work
|
||||||
|
9. include this `general` user in the most used need groups to have proper access to resources
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add shadow shadow-doc shadow-uidmap bash bash-doc bash-completion bash-dev doas doas-doc
|
||||||
|
|
||||||
|
cat > /tmp/tmpcs.tmp << EOF
|
||||||
|
set history = 10000
|
||||||
|
set prompt = "$ "
|
||||||
|
EOF
|
||||||
|
|
||||||
|
for i in $(ls /home);do cat /tmp/tmpcs.tmp > /home/$i/.cshrc;done
|
||||||
|
|
||||||
|
cat > /tmp/tmpbs.tmp << EOF
|
||||||
|
set prompt = "$ "
|
||||||
|
set history = 10000
|
||||||
|
if [ -f ~/.bash_aliases ]; then
|
||||||
|
. ~/.bash_aliases
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
for i in $(ls /home);do cat /tmp/tmpbs.tmp > /home/$i/.bashrc;done
|
||||||
|
|
||||||
|
mkdir /etc/skel
|
||||||
|
cat /tmp/tmpcs.tmp > /etc/skel/.cshrc
|
||||||
|
cat /tmp/tmpbs.tmp > /etc/skel/.bashrc
|
||||||
|
|
||||||
|
cat > /etc/skel/.Xresources << EOF
|
||||||
|
Xft.antialias: 0
|
||||||
|
Xft.rgba: rgb
|
||||||
|
Xft.autohint: 0
|
||||||
|
Xft.hinting: 1
|
||||||
|
Xft.hintstyle: hintslight
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/default/useradd << EOF
|
||||||
|
# useradd defaults file
|
||||||
|
HOME=/home
|
||||||
|
INACTIVE=-1
|
||||||
|
EXPIRE=
|
||||||
|
SHELL=/bin/bash
|
||||||
|
SKEL=/etc/skel
|
||||||
|
CREATE_MAIL_SPOOL=yes
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/login.defs << EOF
|
||||||
|
USERGROUPS_ENAB yes
|
||||||
|
#MAIL_DIR /var/mail
|
||||||
|
#MAIL_FILE .mail
|
||||||
|
#FAILLOG_ENAB yes
|
||||||
|
LOG_OK_LOGINS no
|
||||||
|
SYSLOG_SU_ENAB yes
|
||||||
|
SYSLOG_SG_ENAB yes
|
||||||
|
SULOG_FILE /var/log/sulog
|
||||||
|
SU_NAME su
|
||||||
|
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
|
||||||
|
UMASK 022
|
||||||
|
UID_MIN 1000
|
||||||
|
UID_MAX 60000
|
||||||
|
SYS_UID_MIN 100
|
||||||
|
SYS_UID_MAX 999
|
||||||
|
GID_MIN 1000
|
||||||
|
GID_MAX 60000
|
||||||
|
SYS_GID_MIN 100
|
||||||
|
SYS_GID_MAX 999
|
||||||
|
LOGIN_RETRIES 3
|
||||||
|
LOGIN_TIMEOUT 60
|
||||||
|
CONSOLE_GROUPS floppy:audio:cdrom:users
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,audio,video,lp,netdev,games,users,ping general
|
||||||
|
|
||||||
|
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video lp netdev games users ping; do addgroup $u $g; done;done
|
||||||
|
```
|
||||||
|
|
||||||
|
In the last part the `general` user is created since for purposes of usage
|
||||||
|
the name its hard coded for the commands that can be sense and important,
|
||||||
|
because of the references in further documents.
|
||||||
|
|
||||||
|
At last, the groups are cofigured for the user, each one will define a
|
||||||
|
resource access, specially those for `disk`, `audio`, `video` and `netdev`.
|
||||||
|
|
||||||
|
#### setup hardware media support and graphical subsystem
|
||||||
|
|
||||||
|
Until this point, we have a user that can login to the system,
|
||||||
|
and bunch of programs to interact with the OS, but still do not
|
||||||
|
have any programs to make the computer or device work for us..
|
||||||
|
this target depends of the set of programs, this section will
|
||||||
|
configure the graphical environment to property setup any desktop.
|
||||||
|
|
||||||
|
1. install programs to manage devices dinamically by the OS and not admin user
|
||||||
|
2. setup service for dynamic device manager at boot, energy management and cpu frecuency management
|
||||||
|
3. install and configure the graphical subsystem and modesetting multi GPU video card support
|
||||||
|
4. install set of need modules for 2D/3D specific GPU or video card first generation support
|
||||||
|
5. install set of need modules for 2D/3D common GPU or video card almost modern still supported
|
||||||
|
6. install support for multi resolution and keyboard language configuration over GUI programs
|
||||||
|
7. install the bus communitacion support, policy management and login backend and frontend
|
||||||
|
8. generate the machine id identification hack for stupid shistemd linux standards
|
||||||
|
9. activate the service of the bus cominucations, the policy rules and graphical login backend
|
||||||
|
10. start the service of the bus cominucations, the policy rules and graphical login backend
|
||||||
|
11. activate the service of the graphical frontend login manager
|
||||||
|
12. start the service of the graphical frontend login manager
|
||||||
|
13. install support for abstract device filesystem representation using FUSE user space
|
||||||
|
14. activate the service of abstract device filesystem representation using FUSE user space
|
||||||
|
15. install software backend for usage of abstract device filesystem representation using FUSE user space
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add acpi eudev eudev-doc eudev-rule-generator eudev-openrc linux-firmware cpufreqd
|
||||||
|
|
||||||
|
rc-update add udev
|
||||||
|
rc-update add acpid
|
||||||
|
rc-update add cpufreqd
|
||||||
|
|
||||||
|
setup-xorg-base xinit mesa-dri-gallium xf86-video-dummy xf86-video-modesetting xf86-video-qxl xf86-video-vmware xf86-input-evdev xf86-input-synaptics
|
||||||
|
|
||||||
|
apk add xf86-video-r128 xf86-video-s3virge xf86-video-apm xf86-video-i128 xf86-video-glint xf86-video-tdfx xf86-video-openchrome
|
||||||
|
|
||||||
|
apk add xf86-video-intel xf86-video-amdgpu xf86-video-ati xf86-video-nouveau xf86-video-nv xf86-video-vesa
|
||||||
|
|
||||||
|
apk add libxinerama xrandr kbd setxkbmap
|
||||||
|
|
||||||
|
apk add dbus dbus-x11 elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
||||||
|
|
||||||
|
dbus-uuidgen > /var/lib/dbus/machine-id
|
||||||
|
|
||||||
|
rc-update add dbus
|
||||||
|
rc-update add elogind
|
||||||
|
rc-update add polkit
|
||||||
|
|
||||||
|
rc-service dbus restart
|
||||||
|
|
||||||
|
rc-service elogind restart
|
||||||
|
|
||||||
|
rc-service polkit restart
|
||||||
|
|
||||||
|
rc-update add lightdm
|
||||||
|
|
||||||
|
rc-service lightdm restart
|
||||||
|
|
||||||
|
apk add fuse fuse-exfat-utils archivemount fuse-exfat avfs vte3 pcre2
|
||||||
|
|
||||||
|
rc-service fuse start
|
||||||
|
|
||||||
|
rc-update add fuse
|
||||||
|
|
||||||
|
apk add gvfs udisks2 udisks2-lang udisks2-doc gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### setup software graphical fonts and languajes
|
||||||
|
|
||||||
|
Now we have support for graphics in the operating system,
|
||||||
|
but still do not have any graphical program, so we will prepare
|
||||||
|
minimal set of software for the right working of the programs
|
||||||
|
such like the fonts and the support of multi languajes.
|
||||||
|
|
||||||
|
1. install console support fonts for tty terminal and console terminal programs
|
||||||
|
2. setup and configure the default tty terminal fonts
|
||||||
|
3. set as service the configuration of the font at terminal
|
||||||
|
4. install basic set of default fonts for graphical programs, dejavu and bitstream ones
|
||||||
|
5. install fonts for japanese symbos and sans/comic like fonts
|
||||||
|
6. install fonts for cyrillic langs to display russian words
|
||||||
|
7. install fonts for mid-orient langs like arabic, hebrew, armenian, hindi / sanskrit
|
||||||
|
8. install fonts for langs like tailan and malayalam
|
||||||
|
9. install fonts for east-orient like chinese symbols,hangul and kana ones, includign japanese
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add terminus-font
|
||||||
|
|
||||||
|
setfont /usr/share/consolefonts/ter-132n.psf.gz
|
||||||
|
|
||||||
|
sed -i "s#.*consolefont.*=.*#consolefont="ter-132n.psf.gz"#g" /etc/conf.d/consolefont
|
||||||
|
|
||||||
|
rc-update add consolefont boot
|
||||||
|
|
||||||
|
apk add ttf-dejavu font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi font-adobe-utopia-type1 font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-noto-georgian
|
||||||
|
|
||||||
|
apk add font-noto font-noto-extra font-noto-cjk font-noto-cjk-extra font-arabic-misc ttf-liberation ttf-linux-libertine
|
||||||
|
|
||||||
|
apk add font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic
|
||||||
|
|
||||||
|
apk add font-noto-hebrew font-noto-arabic font-noto-armenian font-noto-cherokee font-noto-devanagari font-noto-ethiopic
|
||||||
|
|
||||||
|
apk add font-noto-lao font-noto-malayalam font-noto-tamil font-noto-thaana font-noto-thai
|
||||||
|
|
||||||
|
apk add font-noto-cjk font-noto-cjk-extra font-isas-misc
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to bypass and dont know anything, run steps from 1 to 4 adn then
|
||||||
|
after step 4 just install `font-noto-all` that provides support for all
|
||||||
|
langs symbols words.
|
||||||
|
|
||||||
|
#### setup hardware media support and sound subsystem
|
||||||
|
|
||||||
|
Audio support these days depends on video support, although it can still be
|
||||||
|
configured separately, nowadays it is strongly tied to video, that's why its
|
||||||
|
placed here this section, just below of the hardware video setup.
|
||||||
|
|
||||||
|
It should be noted that in Linux there is the system audio layer and the user audio layer,
|
||||||
|
formerly the first was and can used directly, nomadays, by using the second
|
||||||
|
we are in transition to the wonderful pipewire framework.
|
||||||
|
|
||||||
|
1. install the base audio subsystem software
|
||||||
|
2. install the base audio framework user support
|
||||||
|
3. restart bus communicacion, due we already have the software video subsystem support bus communication
|
||||||
|
4. setup the access prority for the audio communication
|
||||||
|
5. install optional bluetooth software support if you have a bluez audio card or phones
|
||||||
|
6. setup the bluetooth service
|
||||||
|
7. start the bluetooth service so the audio devices can be stablished
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add alsa-utils alsa-utils-doc alsa-plugins alsa-plugins-doc alsa-tools alsa-tools-doc alsaconf
|
||||||
|
|
||||||
|
apk add pipewire pipewire-doc pipewire-pulse pipewire-alsa sndio sndio-doc
|
||||||
|
|
||||||
|
rc-service dbus restart
|
||||||
|
|
||||||
|
cat > /etc/security/limits.d/audio-limits.conf << EOF
|
||||||
|
@audio - memlock 256
|
||||||
|
@audio - nice -11
|
||||||
|
@audio - rtprio 88
|
||||||
|
EOF
|
||||||
|
|
||||||
|
apk add bluez bluez-openrc pipewire-spa-bluez
|
||||||
|
|
||||||
|
rc-update add bluetooth
|
||||||
|
|
||||||
|
rc-service bluetooth start
|
||||||
|
```
|
||||||
|
|
||||||
|
Now at this point we have audio and video configured, additionally we have
|
||||||
|
basic support for managing devices dynamically when connecting or disconnecting,
|
||||||
|
the only kind of devices not covered yet until this point are printers.
|
||||||
|
|
||||||
|
For any desktop this is the point where you choose which graphical environment
|
||||||
|
or desktop to install. Next section will prefers the XFCE4 desktop setup,
|
||||||
|
currently ws the first and its the most complete desktop packaged in the repos.
|
||||||
|
|
||||||
|
## instalacion Xfce4 Alpine
|
||||||
|
|
||||||
|
Since Alpine 3.13 the XFCE4 desktop its full modern, this means its pretty more heavy,
|
||||||
|
cos is build using GTK3 only.
|
||||||
|
|
||||||
|
On older or cheap devices, mostly for 32bit devices its better to use alpine 3.10 or 3.12
|
||||||
|
that uses GTK2 for almost all the programs.
|
||||||
|
|
||||||
|
1. install base desktop software packages
|
||||||
|
2. install base XFCE4 desktop packages, at this point, the system its ready for graphicall session
|
||||||
|
3. install and setup the login manager programs and policy manager software
|
||||||
|
4. setup the display login manager to start at boot
|
||||||
|
5. start the display manager, now you can use a minimal XFCE4 desktop, continue for complete experience
|
||||||
|
6. install cliboard manager, keyboard configurator, screensaver, screenshooter, and baterry manager
|
||||||
|
7. install packages for multi lang environment of the XFCE4 desktop if need, if login, logout and relogin
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add gtk-update-icon-cache hicolor-icon-theme paper-gtk-theme adwaita-icon-theme mate-themes
|
||||||
|
|
||||||
|
apk add xfce4 xfce4-session xfce4-panel xfce4-terminal xarchiver mousepad network-manager-applet xfwm4-themes xfce-polkit xfce4-skel xfce4-power-manager xfce4-settings
|
||||||
|
|
||||||
|
apk add lightdm elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
||||||
|
|
||||||
|
rc-update add lightdm
|
||||||
|
|
||||||
|
rc-service lightdm restart
|
||||||
|
|
||||||
|
apk add xfce4-clipman-plugin xfce4-xkb-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager xfce4-whiskermenu-plugin xfce4-battery-plugin
|
||||||
|
|
||||||
|
apk add xfce4-panel-lang xfce4-clipman-plugin-lang xfce4-xkb-plugin-lang xfce4-screenshooter-lang xfce4-taskmanager-lang xfce4-whiskermenu-plugin-lang xfce4-battery-plugin-lang xfce4-power-manager-lang xfce4-settings-lang
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Desktop multimedia and media devices
|
||||||
|
|
||||||
|
|
||||||
|
The media in linux its per se reduced, and in alpine so then more limited,
|
||||||
|
with this lines you will have all the need suported, for converting and playing,
|
||||||
|
and minimal support for editing.
|
||||||
|
|
||||||
|
1. install support for media management muti format over the programs
|
||||||
|
2. install support for sound and output of notifications over the programas
|
||||||
|
3. install support for media format reading and management backend (convertiion and reading)
|
||||||
|
4. install viewers for video and audio files
|
||||||
|
5. install management backend for media devices
|
||||||
|
6. install video resoulution flexibility and network backend support
|
||||||
|
7. install network frontend support and frontend management of network
|
||||||
|
8. install service task manager on boot
|
||||||
|
9. setup service of wifi backend management
|
||||||
|
10. setup general networking backend management service
|
||||||
|
11. setup all the users to property manage the audio, video and network devices
|
||||||
|
12. reconfigure the interfaces so the network gui can then manage it
|
||||||
|
13. start the network manager backend services, so the gui can manager then
|
||||||
|
14. at this point logout and relogin from your current sesion to start to work
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add gst-plugins-base gst-plugins-bad gst-plugins-bad-lang gst-plugins-ugly gst-plugins-ugly-lang gst-plugins-good gst-plugins-good-gtk
|
||||||
|
|
||||||
|
apk add libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang
|
||||||
|
|
||||||
|
apk add mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc
|
||||||
|
|
||||||
|
apk add mpv mpv-doc deadbeef deadbeef-lang deadbeef-doc
|
||||||
|
|
||||||
|
apk add gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp pcmanfm
|
||||||
|
|
||||||
|
apk add libxinerama xrandr wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils
|
||||||
|
|
||||||
|
apk add network-manager-applet network-manager-applet-lang networkmanager networkmanager-lang networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc networkmanager-openvpn networkmanager-openvpn-lang
|
||||||
|
|
||||||
|
rc-update add chrony
|
||||||
|
|
||||||
|
rc-update add wpa_supplicant
|
||||||
|
|
||||||
|
rc-update add networkmanager
|
||||||
|
|
||||||
|
for u in $(ls /home); do for g in plugdev audio cdrom dialout video netdev; do addgroup $u $g; done;done
|
||||||
|
|
||||||
|
cat > /etc/network/interfaces << EOF
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
EOF
|
||||||
|
|
||||||
|
service networking restart
|
||||||
|
|
||||||
|
service wpa_supplicant restart
|
||||||
|
|
||||||
|
service networkmanager restart
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Desktop Office suite
|
||||||
|
|
||||||
|
In linux world there's no mayor suite or programs in such topic,
|
||||||
|
just we need a reader (pdf, ebooks, cbr, zbr, etc) and office
|
||||||
|
suite for word/calc processing (doc, xls, odt, ods, etc).
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add libreoffice libreoffice-gnome evince evince-lang evince-doc
|
||||||
|
```
|
||||||
|
|
||||||
|
The programs will appear in the Office menu category.
|
||||||
|
|
||||||
|
## development
|
||||||
|
|
||||||
|
This is only for those that dont want to download bunch of thing
|
||||||
|
when install some programs from sources. In any cae, modding and plugin hacks
|
||||||
|
will need this for minecraft or minetest hard hacker players.
|
||||||
|
|
||||||
|
The most important tool for development is the VCS: version control system.
|
||||||
|
The most usefull too for GUI development is the IDE: intregrated development environment
|
||||||
|
|
||||||
|
From this, there's the RAD, means Rapid Application Development and the
|
||||||
|
prefered way model for starting newbies..
|
||||||
|
|
||||||
|
#### base console development
|
||||||
|
|
||||||
|
1. install the minimal standard needs like make, cmake and gcc, pkg-config was superset by pkgconf
|
||||||
|
2. install set of tools to merge or compare files
|
||||||
|
3. install the most used version control service: git (GIT) VCS
|
||||||
|
4. install the second most used version control service optionally: subversion (SVN) VCS
|
||||||
|
5. install the so famous version control service: mercurial (HG) VCS
|
||||||
|
6. install session terminal handler, so can save terminal sessions
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add pkgconf make cmake cmake-bash-completion gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc
|
||||||
|
|
||||||
|
apk add patch patch-doc patchutils patchutils-doc diffutils diffutils-doc
|
||||||
|
|
||||||
|
apk add git git-bash-completion git-zsh-completion git-cvs git-svn github-cli git-diff-highlight git-doc
|
||||||
|
|
||||||
|
apk add subversion subversion-bash-completion subversion-zsh-completion subversion-yash-completion subversion-doc
|
||||||
|
|
||||||
|
apk add mercurial mercurial-bash-completion mercurial-zsh-completion mercurial-doc
|
||||||
|
|
||||||
|
apk add tmux screen
|
||||||
|
```
|
||||||
|
|
||||||
|
From this point you can work in console terminal all development task,
|
||||||
|
of course, each development will need specific need, but this ones installed
|
||||||
|
are always basic and mandatory (almost in all cases).
|
||||||
|
|
||||||
|
Next section, will cover some usefully artifact like an IDE (Intregrated Development Environment):
|
||||||
|
|
||||||
|
#### base gui development
|
||||||
|
|
||||||
|
The most compatible and all availabe IDE is geany, **this powerful tool
|
||||||
|
is very poorly valued, since like everything in linux it must be configured
|
||||||
|
according to your interest**, unlike other java or python craps that comes
|
||||||
|
already configured.
|
||||||
|
|
||||||
|
In such case **Geany is as close to the Unix spirit** it featured: overview,
|
||||||
|
htmlpreview, compile, diff, CVS, colorpicker, htmlpicker, tabletools, codecleanup,
|
||||||
|
and much more.
|
||||||
|
|
||||||
|
For terminal insteach of the usage of tmux or screen inside the already GUI,
|
||||||
|
we recommended the yet ready for similar purposes Terminator.
|
||||||
|
|
||||||
|
```
|
||||||
|
apk add geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn geany-plugins-utils geany-lang meld meld-lang
|
||||||
|
|
||||||
|
apk add terminator terminator-lang
|
||||||
|
```
|
||||||
|
|
||||||
|
## Licensing clarifications
|
||||||
|
|
||||||
|
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||||
|
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||||
|
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||||
|
material under identical terms, includes the following elements:
|
||||||
|
|
||||||
|
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||||
|
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||||
|
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||||
|
|
||||||
|
## See also
|
||||||
|
|
||||||
|
* [README.md](README.md)
|
||||||
|
* [alpine-newbie-install.md](alpine-newbie-install.md)
|
@ -1,26 +1,21 @@
|
|||||||
# Alpine XFCE4 quick FF
|
# Alpine XFCE4 desktop setup: FF version
|
||||||
===========================================================
|
===========================================================
|
||||||
|
|
||||||
Real machine Pentium Dual Core E5500
|
This was using real machine Pentium Dual Core E5500.
|
||||||
|
For more extended info check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md)
|
||||||
|
|
||||||
### hardware used
|
### hardware used
|
||||||
|
|
||||||
| item | minimal feature | we need more? |
|
| item | minimal feature | Extra recommendations |
|
||||||
| ---------------- | --------------- | ---------------------------------- |
|
| ---------------- | ----------------- | ---------------------------------- |
|
||||||
| CPU | intel Dual Core | Not necesary |
|
| RAM MB | 1Gb DDR1 | 6Gb DDR3, web browsers consumes so much |
|
||||||
| GPU | intel G41 | Radeon X1200 For web browsers and modern apps will be need |
|
| CPU | intel Dual Core | Not necesary |
|
||||||
| RAM CPU | 2Mb (L2) 4kb/L1 | |
|
| RAM CPU | 2Mb (L2) 4kb/L1 | |
|
||||||
| RAM GPU | 256Mb | 1Gb For web browsers and modern apps will be need |
|
| GPU | intel G41 | Radeon X1200 For web browsers and modern apps will be need |
|
||||||
| Sotrage | 500Gb HDD WD | 256Gb SSD are mandatory for speed |
|
| RAM GPU | 256Mb | 1Gb For web browsers and modern apps will be need |
|
||||||
| ARCH | 32bits (i386) | 64bits (i386) mandatory for most modern apps unfortunatelly |
|
| Storage | 120Gb HDD WD | 256Gb SSD are mandatory for speed |
|
||||||
| Audio | AC 97 | HD audio and HDMI audio are a mess |
|
| ARCH | 32bits (i386/arm6)| 64bits (i386) mandatory for most modern apps unfortunatelly |
|
||||||
|
| Audio | AC 97 | HD audio and HDMI audio are a mess |
|
||||||
### services
|
|
||||||
|
|
||||||
| item | port | software | expuesto-ip | objetivo |
|
|
||||||
| --------- | -------- | -------- | ----------------------------- | ------------- |
|
|
||||||
| vnc | 15000 | vnc | **SI**, to use remote desktop | unfortunatelly trhere's no anydesk for alpine working |
|
|
||||||
| ssh | 19226 | openssh | **NO**, only to be used once | for admin management only |
|
|
||||||
|
|
||||||
### usernames
|
### usernames
|
||||||
|
|
||||||
@ -31,67 +26,34 @@ Real machine Pentium Dual Core E5500
|
|||||||
| user | general | general |
|
| user | general | general |
|
||||||
|
|
||||||
|
|
||||||
# XFCE4 over alpine linux
|
* [Preparation](#preparation-xfce4-aline)
|
||||||
================================================
|
* [Instalation](#instalation)
|
||||||
|
|
||||||
* [preparation](#preparation-xfce4-aline)
|
|
||||||
* [instalation](#instalation)
|
|
||||||
* [setup OS configuration](#setup-os-configuration)
|
* [setup OS configuration](#setup-os-configuration)
|
||||||
* [configuration programs and repositories](#configuration-programs-and-repositories)
|
|
||||||
* [setup system users](#setup-system-users)
|
* [setup system users](#setup-system-users)
|
||||||
* [setup hardware media support and xorg](#setup-hardware-media-support-and-xorg)
|
* [setup hardware support](#setup-hardware-support)
|
||||||
* [instalation xorg](#instalacion-xorg-apine)
|
* [setup audio and video](#setup-audio-and-video)
|
||||||
* [instalacion xfce](#instalacion-xfce4-apine)
|
* [Instalacion XFCE4 Alpine](#instalacion-xfce4-apine)
|
||||||
* [Configuracion](#configuracion-xfce4-alpine)
|
* [Desktop multimedia and media devices](#desktop-multimedia-and-media-devices)
|
||||||
|
* [Development](#development)
|
||||||
|
* [How to use this guide](#how-to-use-this-guide)
|
||||||
|
* [Licensing clarifications](#licensing-clarifications)
|
||||||
|
* [See also](#see-also)
|
||||||
|
|
||||||
## preparation Xfce4 Alpine
|
## preparation Xfce4 Alpine
|
||||||
|
|
||||||
#### booting alpine
|
Alpine must be already installed, check [../../newbie/alpine-newbie-install.md](../../newbie/alpine-newbie-install.md),**
|
||||||
|
|
||||||
1. **download the iso image**: any alpine iso from 3.9 to 3.16 are valid, for olders 3.10 are best:
|
**If you dont have direct network connection, please use our direct VenenuX Alpine ISOS**
|
||||||
https://dl-4.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-extended-3.10.5-x86_64.iso
|
[CURRENT LINK https://t.me/alpine_linux/762, but ask in telegram alpine network for newer one or other arches](https://t.me/s/alpine_linux/762)
|
||||||
2. **burn iso to usb or DVD/CD disk** to load into the machine to boot or virtual machine,
|
|
||||||
you must boot the CD/DVD or USB from BIOS/UEFI or from the virtual machine
|
|
||||||
2. **at boot the alpine will ask `login` just type `root`**,
|
|
||||||
this will permit to run commands to install the operatinig system
|
|
||||||
|
|
||||||
#### instalation
|
|
||||||
|
|
||||||
```
|
|
||||||
export BOOT_SIZE=500
|
|
||||||
|
|
||||||
export SWAP_SIZE=8182
|
|
||||||
|
|
||||||
export BOOTLOADER=grub
|
|
||||||
|
|
||||||
setup-alpine
|
|
||||||
```
|
|
||||||
|
|
||||||
* teclado y variante, ejemplo para latino es `es` y depues `es-winkeys`
|
|
||||||
* hostname: escribir `venenux-desktop`, es el nombre de la computadora.
|
|
||||||
* Opciones de red: seleccione `eth0` porque asumimos una sola interfaz
|
|
||||||
* Opciones de red (ip): contestar `none` despues contestar `no` a manual
|
|
||||||
* Opciones de DNS: (dominio) escriba `fusilsystem.com` y enter
|
|
||||||
* Opciones de DNS: (nameserver) se recomienda usar `8.8.8.8`
|
|
||||||
* Opcion de clave root, escribir "root" las dos veces, despues se mejorara!
|
|
||||||
* Opciones de zona horaria: solo use UTC
|
|
||||||
* Opciones de proxy: use `none` y si uso dhcp en red ya tendra internet.
|
|
||||||
* Opciones de repo mirror: cuando pregunte escriba `done`
|
|
||||||
* Opciones de SSH: use `openssh` el paquete que ya viene en el medio.
|
|
||||||
* Opciones de NTP: use `chrony` el paquete que ya viene en el medio.
|
|
||||||
* Opciones de disco: use "sda" ya que se usara todo el disco duro presente.
|
|
||||||
* Modo: seleccione "sys" para instalar el sistema en el disco.
|
|
||||||
* Confirmacion de borrado: pedira confirme borrar el disco conteste `y`
|
|
||||||
* Confirmacion de particiones: solo sale si tiene previas, conteste `y`
|
|
||||||
|
|
||||||
#### setup OS configuration
|
#### setup OS configuration
|
||||||
|
|
||||||
|
For more extended info check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-os-configuration)
|
||||||
|
|
||||||
```
|
```
|
||||||
sed -i -r 's|#PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config
|
sed -i -r 's|#PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config
|
||||||
|
|
||||||
service sshd restart
|
rc-service sshd restart;rc-update add sshd default
|
||||||
|
|
||||||
rc-update add sshd default
|
|
||||||
|
|
||||||
hostname venenux-desktop
|
hostname venenux-desktop
|
||||||
echo 'hostname="venenux-desktop"' > /etc/conf.d/hostname
|
echo 'hostname="venenux-desktop"' > /etc/conf.d/hostname
|
||||||
@ -113,9 +75,7 @@ iface eth0 inet6 dhcp
|
|||||||
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
|
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
rc-service networking restart
|
rc-service networking restart;rc-update add networking boot
|
||||||
|
|
||||||
rc-update add networking boot
|
|
||||||
|
|
||||||
cat > /root/.cshrc << EOF
|
cat > /root/.cshrc << EOF
|
||||||
unsetenv DISPLAY || true
|
unsetenv DISPLAY || true
|
||||||
@ -135,9 +95,7 @@ adduser -D -g "" -u 998 -h /opt/daru -s /bin/csh daru
|
|||||||
echo "daru:daru" | chpasswd
|
echo "daru:daru" | chpasswd
|
||||||
|
|
||||||
rm -f /opt/daru/*
|
rm -f /opt/daru/*
|
||||||
|
|
||||||
mkdir /opt/daru
|
mkdir /opt/daru
|
||||||
|
|
||||||
cat > /opt/daru/.cshrc << EOF
|
cat > /opt/daru/.cshrc << EOF
|
||||||
unsetenv DISPLAY
|
unsetenv DISPLAY
|
||||||
set autologout = 6
|
set autologout = 6
|
||||||
@ -146,13 +104,8 @@ set history = 0
|
|||||||
set ignoreeof
|
set ignoreeof
|
||||||
EOF
|
EOF
|
||||||
cp /opt/daru/.cshrc /opt/daru/.bashrc
|
cp /opt/daru/.cshrc /opt/daru/.bashrc
|
||||||
|
chown -R daru:daru /opt/daru
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### configuration programs and repositories
|
|
||||||
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
cat > /etc/apk/repositories << EOF
|
cat > /etc/apk/repositories << EOF
|
||||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
|
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
|
||||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
|
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
|
||||||
@ -160,40 +113,27 @@ EOF
|
|||||||
|
|
||||||
apk update
|
apk update
|
||||||
|
|
||||||
apk add sed sed-doc attr attr-doc dialog dialog-doc lsof less less-doc groff groff-doc
|
apk add man-db man-pages nano binutils coreutils readline \
|
||||||
|
sed attr dialog lsof less groff wget curl terminus-font \
|
||||||
apk add man-pages nano nano-doc binutils binutils-doc coreutils coreutils-doc readline readline-doc
|
zip p7zip xz tar cabextract cpio binutils lha acpi musl-locales musl-locales-lang
|
||||||
|
|
||||||
apk add wget wget-doc curl curl-doc bash bash-doc bash-completion terminus-font
|
|
||||||
|
|
||||||
apk add zip p7zip xz tar cabextract cpio binutils lha acpi
|
|
||||||
|
|
||||||
export PAGER=less
|
export PAGER=less
|
||||||
|
|
||||||
apk add musl-locales musl-locales-lang man-db
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### setup system users
|
#### setup system users
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
apk add shadow shadow-doc shadow-uidmap bash bash-doc bash-completion bash-dev doas doas-doc
|
apk add shadow shadow-uidmap doas musl-locales musl-locales-lang
|
||||||
|
|
||||||
cat > /tmp/tmp.tmp << EOF
|
cat > /tmp/tmpcs.tmp << EOF
|
||||||
set history = 10000
|
set history = 10000
|
||||||
if (\$?prompt) then
|
set prompt = "$ "
|
||||||
set prompt = "$ "
|
|
||||||
set history = 10000
|
|
||||||
endif
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
for i in $(ls /home);do cat /tmp/tmp.tmp > /home/$i/.cshrc;done
|
|
||||||
for i in $(ls /home);do cat /tmp/tmp.tmp > /home/$i/.bashrc;done
|
|
||||||
|
|
||||||
mkdir /etc/skel
|
mkdir /etc/skel
|
||||||
cat /tmp/tmp.tmp > /etc/skel/.cshrc
|
cat /tmp/tmpcs.tmp > /etc/skel/.cshrc
|
||||||
cat /tmp/tmp.tmp > /etc/skel/.bashrc
|
cat /tmp/tmpbs.tmp > /etc/skel/.bashrc
|
||||||
|
|
||||||
cat > /etc/skel/.Xresources << EOF
|
cat > /etc/skel/.Xresources << EOF
|
||||||
Xft.antialias: 0
|
Xft.antialias: 0
|
||||||
@ -215,78 +155,79 @@ EOF
|
|||||||
|
|
||||||
cat > /etc/login.defs << EOF
|
cat > /etc/login.defs << EOF
|
||||||
USERGROUPS_ENAB yes
|
USERGROUPS_ENAB yes
|
||||||
#MAIL_DIR /var/mail
|
|
||||||
#MAIL_FILE .mail
|
|
||||||
#FAILLOG_ENAB yes
|
|
||||||
LOG_OK_LOGINS no
|
|
||||||
SYSLOG_SU_ENAB yes
|
SYSLOG_SU_ENAB yes
|
||||||
SYSLOG_SG_ENAB yes
|
SYSLOG_SG_ENAB yes
|
||||||
SULOG_FILE /var/log/sulog
|
SULOG_FILE /var/log/sulog
|
||||||
SU_NAME su
|
SU_NAME su
|
||||||
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
|
|
||||||
UMASK 022
|
|
||||||
UID_MIN 1000
|
|
||||||
UID_MAX 60000
|
|
||||||
SYS_UID_MIN 100
|
|
||||||
SYS_UID_MAX 999
|
|
||||||
GID_MIN 1000
|
|
||||||
GID_MAX 60000
|
|
||||||
SYS_GID_MIN 100
|
|
||||||
SYS_GID_MAX 999
|
|
||||||
LOGIN_RETRIES 3
|
|
||||||
LOGIN_TIMEOUT 60
|
|
||||||
CONSOLE_GROUPS floppy:audio:cdrom:users
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,audio,video,lp,netdev,games,users,ping general
|
||||||
|
|
||||||
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,netdev,audio,video,lp,usb,users,ping general
|
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video lp netdev games users ping; do addgroup $u $g; done;done
|
||||||
|
|
||||||
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video netdev games users; do addgroup $u $g; done;done
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### setup hardware media support and xorg
|
**WARNING** your user name must be `general`, you can put a "human name" as you wish, later.
|
||||||
|
|
||||||
|
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-system-users)
|
||||||
|
|
||||||
|
#### setup hardware support
|
||||||
|
|
||||||
```
|
```
|
||||||
apk add eudev eudev-doc eudev-rule-generator eudev-openrc
|
apk add acpi eudev eudev-doc eudev-rule-generator eudev-openrc linux-firmware \
|
||||||
|
fuse fuse-exfat-utils fuse-exfat avfs pcre2 cpufreqd bluez bluez-openrc \
|
||||||
|
wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils \
|
||||||
|
networkmanager networkmanager-lang networkmanager-openvpn networkmanager-openvpn-lang
|
||||||
|
|
||||||
rc-update add udev
|
rc-update add udev
|
||||||
|
|
||||||
rc-update add acpid
|
rc-update add acpid
|
||||||
|
rc-update add cpufreqd
|
||||||
|
rc-update add fuse
|
||||||
|
rc-update add bluetooth
|
||||||
|
rc-update add chrony
|
||||||
|
rc-update add wpa_supplicant
|
||||||
|
rc-update add networkmanager
|
||||||
|
|
||||||
setup-xorg-base xinit mesa-dri-gallium linux-firmware kbd xf86-input-evdev xf86-input-synaptics setxkbmap
|
rc-service networking restart
|
||||||
|
|
||||||
apk add libxinerama xrandr
|
rc-service wpa_supplicant restart
|
||||||
|
|
||||||
apk add acpi dbus dbus-x11 elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
rc-service bluetooth restart
|
||||||
|
|
||||||
|
rc-service udev restart
|
||||||
|
|
||||||
|
rc-service fuse restart
|
||||||
|
|
||||||
|
rc-service cpufreqd restart
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-software-graphical-fonts-and-languajes)
|
||||||
|
|
||||||
|
#### setup audio and video
|
||||||
|
|
||||||
|
```
|
||||||
|
setup-xorg-base xinit mesa-dri-gallium xf86-video-dummy xf86-video-modesetting xf86-video-vesa
|
||||||
|
|
||||||
|
apk add libxinerama xrandr kbd setxkbmap bluez bluez-openrc \
|
||||||
|
dbus dbus-x11 elogind elogind-openrc lightdm lightdm-lang lightdm-gtk-greeter \
|
||||||
|
polkit polkit-openrc polkit-elogind udisks2 udisks2-lang \
|
||||||
|
gvfs gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang \
|
||||||
|
networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc
|
||||||
|
|
||||||
dbus-uuidgen > /var/lib/dbus/machine-id
|
dbus-uuidgen > /var/lib/dbus/machine-id
|
||||||
|
|
||||||
rc-update add dbus
|
rc-update add dbus
|
||||||
|
|
||||||
rc-update add elogind
|
rc-update add elogind
|
||||||
|
|
||||||
rc-update add polkit
|
rc-update add polkit
|
||||||
|
rc-update add lightdm
|
||||||
|
|
||||||
apk add ttf-dejavu font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi
|
apk add font-noto-all ttf-dejavu ttf-linux-libertine ttf-liberation \
|
||||||
|
font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi \
|
||||||
|
font-adobe-utopia-type1 font-adobe-utopia-75dpi font-adobe-utopia-100dpi \
|
||||||
|
font-isas-misc
|
||||||
|
|
||||||
apk add terminus-font font-noto font-noto-extra font-arabic-misc ttf-liberation ttf-linux-libertine
|
apk add alsa-utils alsa-plugins alsa-tools alsaconf \
|
||||||
|
pipewire pipewire-pulse pipewire-alsa pipewire-spa-bluez
|
||||||
apk add font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic
|
|
||||||
|
|
||||||
apk add font-noto-arabic font-noto-armenian font-noto-cherokee font-noto-devanagari font-noto-ethiopic font-noto-georgian
|
|
||||||
|
|
||||||
apk add font-noto-hebrew font-noto-lao font-noto-malayalam font-noto-tamil font-noto-thaana font-noto-thai
|
|
||||||
|
|
||||||
setfont /usr/share/consolefonts/ter-132n.psf.gz
|
|
||||||
|
|
||||||
sed -i "s#.*consolefont.*=.*#consolefont="ter-132n.psf.gz"#g" /etc/conf.d/consolefont
|
|
||||||
|
|
||||||
rc-update add consolefont boot
|
|
||||||
|
|
||||||
apk add alsa-utils alsa-utils-doc alsa-plugins alsa-plugins-doc alsa-tools alsa-tools-doc alsaconf pipewire pipewire-doc pipewire-pulse pipewire-alsa sndio sndio-doc
|
|
||||||
|
|
||||||
rc-service dbus start
|
|
||||||
|
|
||||||
cat > /etc/security/limits.d/audio-limits.conf << EOF
|
cat > /etc/security/limits.d/audio-limits.conf << EOF
|
||||||
@audio - memlock 256
|
@audio - memlock 256
|
||||||
@ -294,129 +235,103 @@ cat > /etc/security/limits.d/audio-limits.conf << EOF
|
|||||||
@audio - rtprio 88
|
@audio - rtprio 88
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
apk add bluez bluez-openrc pipewire-spa-bluez
|
rc-service dbus restart
|
||||||
|
|
||||||
rc-update add bluetooth
|
rc-service elogind restart
|
||||||
|
|
||||||
rc-service bluetooth start
|
rc-service polkit restart
|
||||||
|
|
||||||
apk add cpufreqd
|
rc-service lightdm restart
|
||||||
|
|
||||||
rc-update add cpufreqd
|
|
||||||
|
|
||||||
apk add gtk-update-icon-cache vte3 pcre2 udisks2 udisks2-lang udisks2-doc
|
|
||||||
|
|
||||||
apk add fuse fuse-exfat-utils archivemount fuse-exfat avfs
|
|
||||||
|
|
||||||
rc-service fuse start
|
|
||||||
|
|
||||||
rc-update add fuse
|
|
||||||
|
|
||||||
apk add gvfs gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-software-graphical-fonts-and-languajes)
|
||||||
|
|
||||||
## instalacion Xfce4 Alpine
|
## instalacion Xfce4 Alpine
|
||||||
|
|
||||||
|
Since Alpine 3.13 the XFCE4 desktop its GTK3 for 32bit devices its better to use alpine 3.10
|
||||||
|
or 3.12 that uses GTK2 for almost all the programs.
|
||||||
|
|
||||||
```
|
```
|
||||||
apk add xfwm4-themes hicolor-icon-theme paper-gtk-theme network-manager-applet adwaita-icon-theme mate-themes
|
apk add gtk-update-icon-cache hicolor-icon-theme paper-gtk-theme adwaita-icon-theme
|
||||||
|
|
||||||
apk add xfce4 xfce4-terminal xfce4-screensaver xfce4-session xfce4-session-doc xarchiver mousepad
|
apk add xfce4 xfce4-session xfce4-panel xfce4-terminal xarchiver mousepad \
|
||||||
|
xfwm4-themes xfce-polkit xfce4-skel xfce4-power-manager xfce4-settings \
|
||||||
|
xfce4-clipman-plugin xfce4-xkb-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager \
|
||||||
|
xfce4-panel-lang xfce4-clipman-plugin-lang xfce4-xkb-plugin-lang xfce4-screenshooter-lang \
|
||||||
|
xfce4-taskmanager-lang xfce4-battery-plugin-lang xfce4-power-manager-lang xfce4-settings-lang \
|
||||||
|
gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp \
|
||||||
|
network-manager-applet network-manager-applet-lang vte3 \
|
||||||
|
libreoffice libreoffice-gnome evince evince-lang evince-doc
|
||||||
|
|
||||||
apk add xfce-polkit xfce4-skel xfce4-power-manager xfce4-power-manager-lang xfce4-settings xfce4-settings-lang
|
rc-service networking restart
|
||||||
|
|
||||||
apk add xfce4-panel xfce4-panel-doc xfce4-panel-lang xfce4-clipman-plugin xfce4-clipman-plugin-lang xfce4-xkb-plugin xfce4-xkb-plugin-lang xfce4-xkb-plugin-doc
|
rc-service wpa_supplicant restart
|
||||||
|
|
||||||
apk add xfce4-screenshooter xfce4-screenshooter-doc xfce4-screenshooter-lang xfce4-taskmanager xfce4-taskmanager-lang
|
rc-service networkmanager restart
|
||||||
|
|
||||||
apk add xfce4-whiskermenu-plugin xfce4-whiskermenu-plugin-lang xfce4-whiskermenu-plugin-doc xfce4-battery-plugin xfce4-battery-plugin-lang
|
|
||||||
|
|
||||||
rc-update add lightdm
|
|
||||||
|
|
||||||
rc-service lightdm restart
|
rc-service lightdm restart
|
||||||
```
|
|
||||||
|
|
||||||
## multimedia
|
|
||||||
|
|
||||||
|
|
||||||
The media in linux its per se reduced, and in alpine so then more limited,
|
|
||||||
with this lines you will have all the need suported, for converting and playing,
|
|
||||||
for editing
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
apk add gst-plugins-base gst-plugins-bad gst-plugins-bad-lang gst-plugins-ugly gst-plugins-ugly-lang gst-plugins-good gst-plugins-good-gtk
|
|
||||||
|
|
||||||
apk add libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang
|
## Desktop multimedia and media devices
|
||||||
|
|
||||||
apk add mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc
|
```
|
||||||
|
apk add gst-plugins-base gst-plugins-bad gst-plugins-ugly gst-plugins-good gst-plugins-good-gtk \
|
||||||
|
libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang \
|
||||||
|
mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc \
|
||||||
|
mpv mpv-doc deadbeef deadbeef-lang libxinerama xrandr
|
||||||
|
|
||||||
apk add mpv mpv-doc deadbeef deadbeef-lang deadbeef-doc
|
for u in $(ls /home); do for g in plugdev audio cdrom dialout video netdev; do addgroup $u $g; done;done
|
||||||
|
|
||||||
apk add gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp
|
|
||||||
|
|
||||||
apk add libxinerama xrandr wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils
|
|
||||||
|
|
||||||
apk add network-manager-applet network-manager-applet-lang networkmanager networkmanager-lang networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc networkmanager-openvpn networkmanager-openvpn-lang
|
|
||||||
|
|
||||||
rc-update add chrony
|
|
||||||
|
|
||||||
rc-update add wpa_supplicant
|
|
||||||
|
|
||||||
rc-update add networkmanager
|
|
||||||
|
|
||||||
for u in $(ls /home); do for g in plugdev; do addgroup $u $g; done;done
|
|
||||||
|
|
||||||
cat > /etc/network/interfaces << EOF
|
cat > /etc/network/interfaces << EOF
|
||||||
auto lo
|
auto lo
|
||||||
iface lo inet loopback
|
iface lo inet loopback
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
service networking restart
|
|
||||||
|
|
||||||
service wpa_supplicant restart
|
|
||||||
|
|
||||||
service networkmanager restart
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## office suite
|
|
||||||
|
|
||||||
In linux world there's no mayor suite or programs in such topic,
|
|
||||||
just we need a reader (pdf, ebooks, cbr, zbr, etc) and office
|
|
||||||
suite for word/calc processing (doc, xls, odt, ods, etc).
|
|
||||||
|
|
||||||
|
|
||||||
```
|
|
||||||
apk add libreoffice libreoffice-gnome evince evince-lang evince-doc
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## development
|
## development
|
||||||
|
|
||||||
This is only for those that dont want to download bunch of thing
|
|
||||||
when install some programs from sources. In any cae, modding and plugin hacks
|
|
||||||
will need this for minecraft or minetest hard hacker players.
|
|
||||||
|
|
||||||
#### base console only devel
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
apk add make cmake cmake-bash-completion gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc
|
apk add pkgconf make cmake gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc \
|
||||||
|
patch patch-doc patchutils patchutils-doc diffutils diffutils-doc \
|
||||||
apk add patch patch-doc patchutils patchutils-doc diffutils diffutils-doc
|
git git-cvs git-svn github-cli git-diff-highlight git-doc \
|
||||||
|
subversion subversion-doc mercurial mercurial-doc \
|
||||||
apk add git git-bash-completion git-zsh-completion git-cvs git-svn github-cli git-diff-highlight git-doc
|
geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel \
|
||||||
|
geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser \
|
||||||
apk add subversion subversion-bash-completion subversion-zsh-completion subversion-yash-completion subversion-doc
|
geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn \
|
||||||
|
geany-plugins-utils geany-lang \
|
||||||
apk add mercurial mercurial-bash-completion mercurial-zsh-completion mercurial-doc
|
terminator terminator-lang tmux screen meld meld-lang
|
||||||
```
|
```
|
||||||
|
|
||||||
#### base gui devel
|
## How to use this guide
|
||||||
|
|
||||||
|
Just install alpine, and try to login as root using that command:
|
||||||
|
|
||||||
```
|
1. at the Alpine installation: `sed -i 's|.*PermitRootLogin.*|PermitRootLogin yes|g' /etc/ssh/sshd_config;service sshd restart`
|
||||||
apk add geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn geany-plugins-utils geany-lang meld meld-lang
|
2. at the other OS just connect: `ssh -l root <ip>` change "`<ip>`" with the address of your device.
|
||||||
|
3. copy each separated by empty line, block of command, copy only blocks separate by empty line
|
||||||
|
4. and paste each separated by empty line block in the remnote (ssh), do not paste all the blocks at same time!
|
||||||
|
|
||||||
apk add terminator terminator-lang
|
**CAUTION** Some Linux or/and Mac terminals have security cut/paste locks, so
|
||||||
```
|
if you paste, the first line will be preceded by garbage, check always the first char of your paste.
|
||||||
|
|
||||||
|
**WARNING** after finish, rerun: `sed -i -r 's|.*PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config`
|
||||||
|
and restart ssh `service sshd restart` becouse security implications.
|
||||||
|
|
||||||
|
## Licensing clarifications
|
||||||
|
|
||||||
|
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||||
|
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||||
|
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||||
|
material under identical terms, includes the following elements:
|
||||||
|
|
||||||
|
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||||
|
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||||
|
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||||
|
|
||||||
|
## See also
|
||||||
|
|
||||||
|
* [README.md](README.md)
|
||||||
|
* [alpine-newbie-install.md](alpine-newbie-install.md)
|
||||||
|
Loading…
Reference in New Issue
Block a user