How to get regular stuff working: Difference between revisions
m (→Basic commands and shell hints: If we're trying to turn Alpine into GNU, we should install the PCI IDs and USB IDs too...) |
Prabuanand (talk | contribs) (rearrranged headings) |
||
Line 1: | Line 1: | ||
Alpine comes with busybox by default. Busybox is set up as an endpoint for numerous symlinks that substitute various utilities. Since busybox tries to be a minimalistic package, the busybox commands may still be missing some functionality. | |||
To replace the busybox symlinks, you can install the relevant packages: | |||
== Basic utilities == | |||
Very basic utilities randing from cd, ls to lsblk grep, are all busybox symlinks, by default. To have the complete packages: | |||
: {{Cmd|# apk add {{pkg|util-linux}} {{pkg|coreutils}} {{pkg|grep}} {{pkg|findutils}} }} | |||
== Bash shell == | |||
It's also easy enough to install bash itself, or any other shell of your choice: | |||
It's also easy enough to install bash itself: | |||
: {{Cmd|apk add {{pkg|bash}} {{pkg|bash-completion}}}} | : {{Cmd|apk add {{pkg|bash}} {{pkg|bash-completion}}}} | ||
and optionally, change the login shell with '''{{ic|chsh}}'''. | and optionally, change the login shell with '''{{ic|chsh}}'''. | ||
== Hardware Management == | |||
Install {{pkg|pciutils}} and {{pkg|usbutils}} for configuring pci and usb hardware respectively. You can always remove these packages once the hardware is configured. | |||
: {{Cmd|# apk add {{pkg|pciutils}} {{pkg|usbutils}}}} | |||
The packages {{pkg|hwdata-pci}} and {{pkg|hwdata-usb}} are dependencies for the above utilities and they are installed automatically. | |||
== Disk Management == | == Disk Management == | ||
Line 20: | Line 27: | ||
Installation | Installation | ||
{{Cmd|apk add {{pkg|udisks2}}}} | {{Cmd|# apk add {{pkg|udisks2}}}} | ||
To see the mounted disks | To see the mounted disks | ||
{{Cmd|udisksctl status}} | {{Cmd|# udisksctl status}} | ||
== Network Management == | |||
For network, you may want to install {{pkg|iproute2}} | |||
{{Cmd|# apk add {{pkg|iproute2}}}} | |||
== | == Development environment == | ||
Compiling in Alpine may be more challenging because it uses [https://musl.libc.org/ musl-libc] instead of glibc. | Compiling in Alpine may be more challenging because it uses [https://musl.libc.org/ musl-libc] instead of glibc. Alpine offers the regular compiler stuff like gcc etc.. | ||
For general software development i.e compiling from source | |||
{{Cmd|# apk add {{pkg|build-base}} {{pkg|abuild}}}} | |||
{{Cmd|apk add {{pkg|build-base}} {{pkg|abuild}}}} | |||
Tools specifically needed for alpine specicific development | |||
{{Cmd|# apk add {{pkg|build-base}} {{pkg|abuild}}}} | |||
{{ | Alpine Software Development Kit meta package includes {{pkg|abuild}}, {{pkg|build-base}}, and {{pkg|git}} | ||
{{Cmd|# apk add {{pkg|alpine-sdk}} }} | |||
Complete cmake needs the following: | |||
{{Cmd|# apk add {{pkg|cmake}} {{pkg|extra-cmake-modules}}}} | |||
{{pkg|ccache}} and a lot other tools are also available in alpine. | |||
[https://wiki.musl-libc.org/functional-differences-from-glibc.html Functional differences between musl and glibc] | |||
[[Category:Installation]] | [[Category:Installation]] |
Revision as of 17:44, 13 September 2024
Alpine comes with busybox by default. Busybox is set up as an endpoint for numerous symlinks that substitute various utilities. Since busybox tries to be a minimalistic package, the busybox commands may still be missing some functionality.
To replace the busybox symlinks, you can install the relevant packages:
Basic utilities
Very basic utilities randing from cd, ls to lsblk grep, are all busybox symlinks, by default. To have the complete packages:
# apk add util-linux coreutils grep findutils
Bash shell
It's also easy enough to install bash itself, or any other shell of your choice:
apk add bash bash-completion
and optionally, change the login shell with chsh
.
Hardware Management
Install pciutils and usbutils for configuring pci and usb hardware respectively. You can always remove these packages once the hardware is configured.
The packages hwdata-pci and hwdata-usb are dependencies for the above utilities and they are installed automatically.
Disk Management
Managing (removable) disk is much easier with udisks
Installation
# apk add udisks2
To see the mounted disks
# udisksctl status
Network Management
For network, you may want to install iproute2
# apk add iproute2
Development environment
Compiling in Alpine may be more challenging because it uses musl-libc instead of glibc. Alpine offers the regular compiler stuff like gcc etc..
For general software development i.e compiling from source
# apk add build-base abuild
Tools specifically needed for alpine specicific development
# apk add build-base abuild
Alpine Software Development Kit meta package includes abuild, build-base, and git
# apk add alpine-sdk
Complete cmake needs the following:
# apk add cmake extra-cmake-modules
ccache and a lot other tools are also available in alpine.