sciurius
Posts: 26
Joined: Sun Sep 23, 2012 7:34 pm

Minimal server

Sun May 11, 2014 2:07 pm

I often use Pidora systems for small servers (DNS, DHCP, NTP, VPN, ...). For this it would be nice to have a real minimal Pidora system. E.g., no Gnome, no X, no desktop tools, no fancy applications.

Has anyone ever tried to build such a system? Removing packages from the standard remix is very tedious...

zardoz99
Posts: 175
Joined: Fri Jan 13, 2012 2:25 pm
Location: Somewhere in Canada.

Re: Minimal server

Mon May 12, 2014 12:17 pm

You could of course just switch it to the "multi-user" target as a default, which will drop all of the graphical interface.

See https://fedoraproject.org/wiki/Systemd# ... _target.3F for how this is done.

sciurius
Posts: 26
Joined: Sun Sep 23, 2012 7:34 pm

Re: Minimal server

Tue May 13, 2014 5:46 pm

Yes, of course. In fact, Pidora 20 is already much better than Pidora 18 in that it starts much less daemons in multi-user mode.
However, I frequently need to copy the SD cards so having less files on the cards matters also.

oatley
Posts: 20
Joined: Thu May 16, 2013 8:00 pm
Location: Toronto
Contact: Website

Re: Minimal server

Fri May 16, 2014 3:21 pm

Sounds like a interesting idea. Maybe a modified kickstart file for a much smaller custom compose with no gui?

Current kickstart for making pidora 2014 images: http://zenit.senecac.on.ca/wiki/index.p ... -kickStart


Also, just for fun, you could remove all xfce and gnome packages.

Change default run level to multi-user:
ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

(this could just break your pidora installation, but might work)
yum remove gnome*
yum remove xfce*

or even...
yum remove *gnome*
yum remove *xfce*

zardoz99
Posts: 175
Joined: Fri Jan 13, 2012 2:25 pm
Location: Somewhere in Canada.

Re: Minimal server

Sun May 18, 2014 9:56 am

The idea of removing packages to save a few MB of space is rather overkill. SD cards are relatively cheap and you just need to get one that is big enough for your needs, even with the packages present on the distribution. Just don't run them by whittling down what services are started at boot time.

I have a full Pidora 2014 installation, plus a 512MB swapfile and a load of other packages that have been added to support development.
I'm still well within an 8GB microSD card..

Code: Select all

[[email protected] ~]# df
Filesystem                                        1K-blocks      Used Available Use% Mounted on
/dev/root                                           7734592   5124040   2257504  70% /
devtmpfs                                             190372         0    190372   0% /dev
tmpfs                                                190488         0    190488   0% /dev/shm
tmpfs                                                190488       384    190104   1% /run
tmpfs                                                190488         0    190488   0% /sys/fs/cgroup
tmpfs                                                190488         0    190488   0% /tmp
/dev/mmcblk0p1                                        51082     31016     20066  61% /boot
[[email protected] ~]# 

User avatar
DougieLawson
Posts: 37570
Joined: Sun Jun 16, 2013 11:19 pm
Location: Basingstoke, UK
Contact: Website Twitter

Re: Minimal server

Sun May 18, 2014 10:00 am

zardoz99 wrote:I have a full Pidora 2014 installation, plus a 512MB swapfile and a load of other packages that have been added to support development.
Pidora hasn't suffered from the package bloat that is afflicting Raspbian (and worse NOOBS/Raspbian).

If your 8GB SDCard is your only data storage on your RPi then ditching half a gigabyte by getting rid of Wolfram starts to make a noticeable difference.
Note: Having anything humorous in your signature is completely banned on this forum. Wear a tin-foil hat and you'll get a ban.

Any DMs sent on Twitter will be answered next month.

This is a doctor free zone.

sciurius
Posts: 26
Joined: Sun Sep 23, 2012 7:34 pm

Re: Minimal server

Sun May 18, 2014 11:54 am

zardoz99 wrote:The idea of removing packages to save a few MB of space is rather overkill. SD cards are relatively cheap and you just need to get one that is big enough for your needs, even with the packages present on the distribution. Just don't run them by whittling down what services are started at boot time.
As i tried to point out it is not the size of the SD card that matters (I use 8G cards) but it is the time required to copy the contents of the card. It does matter a lot whether copying 1GB or 4GB. Also, yum updates are very slow and spend a lot of time updating packages that I don't use (and don't want).

So the main factor is maintenance time, not SD card size.

zardoz99
Posts: 175
Joined: Fri Jan 13, 2012 2:25 pm
Location: Somewhere in Canada.

Re: Minimal server

Mon May 19, 2014 8:52 am

sciurius wrote:
zardoz99 wrote:The idea of removing packages to save a few MB of space is rather overkill. SD cards are relatively cheap and you just need to get one that is big enough for your needs, even with the packages present on the distribution. Just don't run them by whittling down what services are started at boot time.
As i tried to point out it is not the size of the SD card that matters (I use 8G cards) but it is the time required to copy the contents of the card. It does matter a lot whether copying 1GB or 4GB. Also, yum updates are very slow and spend a lot of time updating packages that I don't use (and don't want).

So the main factor is maintenance time, not SD card size.
Understood. In that case, you might be better off building your own remix from the packages available. it's the only safe way that you are going to end up with a lean, mean, image. Removing packages using "yum" can result in it removing dependencies that you don't expect, especially in a non-mainstream distribution like Pidora. At the moment, some of the package dependencies in Pidora are broken and as we say in the trade, "results are unspecified".

geert.verachtert
Posts: 2
Joined: Mon Jun 09, 2014 6:31 am

Re: Minimal server

Mon Jun 09, 2014 6:40 am

I've removed +- 500 packages and the system seems to be stable. If you're interested I can give you the yum.log that shows which packages I have removed.

I do have one issue, the HDMI output to my computer screen is no longer showing anything (no bootup, no login tty). No clue which package I shouldn't have removed :)

sciurius
Posts: 26
Joined: Sun Sep 23, 2012 7:34 pm

Re: Minimal server

Mon Jun 09, 2014 11:43 am

Interesting, please share.

I made some attempts to start from the other side: a minimal Fedora 20 system (about 700MB) but I got stuck trying to find out what RasPI components were required.
I wish we had a good RasPI emulator, since testing is tedious.

User avatar
cyrano
Posts: 714
Joined: Wed Dec 05, 2012 11:48 pm
Location: Belgium

Re: Minimal server

Mon Jun 09, 2014 3:15 pm

I haven't tested it yet. Slitaz is completely new to me, but it could be what we're looking for:

http://www.slitaz.org/en/get/

There's a Raspberry ARM version.

sciurius
Posts: 26
Joined: Sun Sep 23, 2012 7:34 pm

Re: Minimal server

Mon Jun 09, 2014 6:13 pm

From the screenshots you can see it already contains X.org and loads of applications. It is far from minimal.

oatley
Posts: 20
Joined: Thu May 16, 2013 8:00 pm
Location: Toronto
Contact: Website

Re: Minimal server

Mon Jun 09, 2014 8:38 pm

So this might help. If anyone has the time to spend making a minimal pidora image or make a kickstart for one, you can use this somewhat complete notes: http://zenit.senecac.on.ca/wiki/index.p ... 14_compose

example pidora 2014 kickstart: http://zenit.senecac.on.ca/wiki/index.p ... -kickStart

Wrote this page to allow other people to make custom composes(minimal or others) using the pidora package set. However it is not the most user friendly(may require more advanced linux knowledge?), or done in the best way, but it does work for making pidora 2014 images on a x86_68 machine.

If anyone uses this, it would be good to hear feedback or suggestions.

Have fun composing!

geert.verachtert
Posts: 2
Joined: Mon Jun 09, 2014 6:31 am

Re: Minimal server

Wed Jun 11, 2014 9:02 pm

Thanks Oatley, that's the better way to create a minimal setup.

Below the list of packaged that are still installed. It's not completely minimal but almost.

I've never found why my screen went blank but commenting out #hdmi_drive=2 in /boot/config.txt fixed it, as my screen doesn't support 1080p resolution.

acl.armv6hl aic94xx-firmware.noarch anaconda-yum-plugins.noarch apr.armv6hl apr-util.armv6hl arj.armv6hl atk.armv6hl atmel-firmware.noarch attr.armv6hl audit.armv6hl audit-libs.armv6hl avahi-libs.armv6hl b43-fwcutter.armv6hl b43-openfwwf.noarch basesystem.noarch bash.armv6hl bash-completion.noarch bc.armv6hl bind-libs.armv6hl bind-libs-lite.armv6hl bind-license.noarch bind-utils.armv6hl binutils.armv6hl bzip2.armv6hl bzip2-libs.armv6hl ca-certificates.noarch checkpolicy.armv6hl chkconfig.armv6hl chrony.armv6hl cifs-utils.armv6hl color-filesystem.noarch coreutils.armv6hl cpio.armv6hl cpp.armv6hl cracklib.armv6hl cracklib-dicts.armv6hl cronie.armv6hl cronie-anacron.armv6hl crontabs.noarch cryptsetup-libs.armv6hl cups-libs.armv6hl curl.armv6hl cyrus-sasl-lib.armv6hl cyrus-sasl-plain.armv6hl dbus.armv6hl dbus-glib.armv6hl dbus-libs.armv6hl dbus-python.armv6hl dbus-x11.armv6hl deltarpm.armv6hl device-mapper.armv6hl device-mapper-event.armv6hl device-mapper-event-libs.armv6hl 1.02.85-1.fc20 device-mapper-libs.armv6hl dhclient.armv6hl dhcp-common.armv6hl dhcp-libs.armv6hl diffutils.armv6hl dos2unix.armv6hl dosfstools.armv6hl dracut.armv6hl dracut-config-rescue.armv6hl dump.armv6hl e2fsprogs.armv6hl e2fsprogs-libs.armv6hl elfutils-libelf.armv6hl ethtool.armv6hl expat.armv6hl file.armv6hl file-libs.armv6hl filesystem.armv6hl findutils.armv6hl finger.armv6hl fipscheck.armv6hl fipscheck-lib.armv6hl fribidi.armv6hl gawk.armv6hl gcc.armv6hl gdbm.armv6hl glib2.armv6hl glibc.armv6hl glibc-common.armv6hl glibc-devel.armv6hl glibc-headers.armv6hl gmp.armv6hl gnupg2.armv6hl gnutls.armv6hl gpgme.armv6hl gpm-libs.armv6hl grep.armv6hl groff-base.armv6hl gzip.armv6hl hardlink.armv6hl hesiod.armv6hl hicolor-icon-theme.noarch hostname.armv6hl hwdata.noarch info.armv6hl initscripts.armv6hl iproute.armv6hl iprutils.armv6hl iptables.armv6hl iptables-services.armv6hl iptstate.armv6hl iputils.armv6hl irda-utils.armv6hl ivtv-firmware.noarch iw.armv6hl js.armv6hl json-c.armv6hl jwhois.armv6hl keyutils.armv6hl keyutils-libs.armv6hl kmod.armv6hl kmod-libs.armv6hl kpartx.armv6hl krb5-libs.armv6hl krb5-workstation.armv6hl less.armv6hl lftp.armv6hl libICE.armv6hl libSM.armv6hl libX11.armv6hl libX11-common.noarch libXau.armv6hl libXext.armv6hl libXi.armv6hl libacl.armv6hl libassuan.armv6hl libasyncns.armv6hl libatomic.armv6hl libattr.armv6hl libblkid.armv6hl libbsd.armv6hl libcap.armv6hl libcap-ng.armv6hl libcom_err.armv6hl libcurl.armv6hl libdb.armv6hl libdb-utils.armv6hl libedit.armv6hl libestr.armv6hl libffi.armv6hl libgcc.armv6hl libgcrypt.armv6hl libgomp.armv6hl libgpg-error.armv6hl libgudev1.armv6hl libidn.armv6hl libldb.armv6hl libmcpp.armv6hl libmnl.armv6hl libmodman.armv6hl libmount.armv6hl libmpc.armv6hl libnetfilter_conntrack.armv6hl libnfnetlink.armv6hl libnl3.armv6hl libpcap.armv6hl libpipeline.armv6hl libpng15.armv6hl libpwquality.armv6hl libreport-filesystem.armv6hl libselinux.armv6hl libselinux-python.armv6hl libselinux-utils.armv6hl libsemanage.armv6hl libsepol.armv6hl libserf.armv6hl libss.armv6hl libssh2.armv6hl libstdc++.armv6hl libsysfs.armv6hl libtalloc.armv6hl libtasn1.armv6hl libtdb.armv6hl libtevent.armv6hl libtool-ltdl.armv6hl libusbx.armv6hl libuser.armv6hl libutempter.armv6hl libuuid.armv6hl libverto.armv6hl libwbclient.armv6hl libxcb.armv6hl libxfce4util.armv6hl libxml2.armv6hl libxml2-python.armv6hl linux-atm-libs.armv6hl linux-firmware.noarch logrotate.armv6hl lsof.armv6hl lua.armv6hl lzo.armv6hl m4.armv6hl mailcap.noarch mailx.armv6hl make.armv6hl man-db.armv6hl man-pages.noarch mariadb-libs.armv6hl mcpp.armv6hl mdadm.armv6hl mlocate.armv6hl mobile-broadband-provider-info.noarch 1.20120614-4.fc20 mozilla-filesystem.armv6hl mozjs17.armv6hl mpfr.armv6hl mtdev.armv6hl mtools.armv6hl mtr.armv6hl nano.armv6hl ncurses.armv6hl ncurses-base.noarch ncurses-libs.armv6hl net-tools.armv6hl nettle.armv6hl newt.armv6hl newt-python.armv6hl nspr.armv6hl nss.armv6hl nss-softokn.armv6hl nss-softokn-freebl.armv6hl nss-sysinit.armv6hl nss-tools.armv6hl nss-util.armv6hl ntfs-3g.armv6hl ntfsprogs.armv6hl ntpdate.armv6hl ntsysv.armv6hl openldap.armv6hl openssh.armv6hl openssh-clients.armv6hl openssh-server.armv6hl openssl.armv6hl openssl-libs.armv6hl openvpn.armv6hl p11-kit.armv6hl p11-kit-trust.armv6hl pam.armv6hl parted.armv6hl passwd.armv6hl passwdqc.armv6hl passwdqc-lib.armv6hl pciutils.armv6hl pciutils-libs.armv6hl pcre.armv6hl perl.armv6hl perl-Carp.noarch perl-Data-Dumper.armv6hl perl-Encode.armv6hl perl-Exporter.noarch perl-File-Path.noarch perl-File-Temp.noarch perl-Filter.armv6hl perl-Getopt-Long.noarch perl-HTTP-Tiny.noarch perl-Module-CoreList.noarch perl-Module-Pluggable.noarch perl-PathTools.armv6hl perl-Pod-Escapes.noarch perl-Pod-Parser.noarch perl-Pod-Perldoc.noarch perl-Pod-Simple.noarch perl-Pod-Usage.noarch perl-Scalar-List-Utils.armv6hl perl-Socket.armv6hl perl-Storable.armv6hl perl-Text-ParseWords.noarch perl-Time-HiRes.armv6hl perl-Time-Local.noarch perl-constant.noarch perl-libs.armv6hl perl-parent.noarch perl-podlators.noarch perl-threads.armv6hl perl-threads-shared.armv6hl perl-version.armv6hl pidora-logos.noarch pidora-release.noarch pinentry.armv6hl pixman.armv6hl pkcs11-helper.armv6hl pkgconfig.armv6hl policycoreutils.armv6hl polkit.armv6hl polkit-pkla-compat.armv6hl popt.armv6hl postfix.armv6hl ppl.armv6hl prelink.armv6hl procmail.armv6hl procps-ng.armv6hl psacct.armv6hl psmisc.armv6hl pth.armv6hl pygobject2.armv6hl pygpgme.armv6hl pyliblzma.armv6hl pyparted.armv6hl pytalloc.armv6hl python.armv6hl python-IPy.noarch python-chardet.noarch python-deltarpm.armv6hl python-iniparse.noarch python-kitchen.noarch python-libs.armv6hl python-pycurl.armv6hl python-six.noarch python-slip.noarch python-sssdconfig.noarch python-unidecode.noarch python-urlgrabber.noarch pyxattr.armv6hl pyxdg.noarch qrencode-libs.armv6hl quota.armv6hl quota-nls.noarch raspberrypi-config.noarch raspberrypi-kernel.armv6hl @pidora-rpfr/bluesky raspberrypi-kernel.armv6hl @pidora-rpfr-updates raspberrypi-kernel-devel.armv6hl 3.12.20-1.20140521git7bd46e7.rpfr20 @pidora-rpfr-updates raspberrypi-kernel-headers.armv6hl 3.12.20-1.20140521git7bd46e7.rpfr20 @pidora-rpfr-updates raspberrypi-release-notes.noarch 0.2-3.rpfr20 raspberrypi-system-config-keyboard.armv6hl 1.3.1-5.rpfr20 raspberrypi-system-config-keyboard-base.armv6hl 1.3.1-5.rpfr20 raspberrypi-vc-demo-source.armv6hl 20140516git97082b6-15.rpfr20 raspberrypi-vc-firmware.armv6hl 20140516git97082b6-15.rpfr20 raspberrypi-vc-libs.armv6hl raspberrypi-vc-static.armv6hl raspberrypi-vc-utils.armv6hl raspi-splash.armv6hl readline.armv6hl redhat-menus.noarch rmt.armv6hl rng-tools.armv6hl rootfiles.noarch rpm.armv6hl rpm-build-libs.armv6hl rpm-libs.armv6hl rpm-python.armv6hl rsh.armv6hl rsync.armv6hl rsyslog.armv6hl rtkit.armv6hl sed.armv6hl selinux-policy.noarch selinux-policy-devel.noarch selinux-policy-targeted.noarch setup.noarch sgpio.armv6hl shadow-utils.armv6hl shared-mime-info.armv6hl sl.armv6hl slang.armv6hl smartmontools.armv6hl sos.noarch sqlite.armv6hl strace.armv6hl subversion.armv6hl subversion-libs.armv6hl sudo.armv6hl symlinks.armv6hl systemd.armv6hl systemd-libs.armv6hl systemd-python.armv6hl sysvinit-tools.armv6hl tar.armv6hl tcp_wrappers.armv6hl tcp_wrappers-libs.armv6hl tcpdump.armv6hl telnet.armv6hl time.armv6hl tmpwatch.armv6hl traceroute.armv6hl tree.armv6hl trousers.armv6hl tzdata.noarch units.armv6hl unzip.armv6hl usbutils.armv6hl usermode.armv6hl ustr.armv6hl util-linux.armv6hl vconfig.armv6hl vim-common.armv6hl vim-enhanced.armv6hl vim-filesystem.armv6hl vim-minimal.armv6hl wget.armv6hl which.armv6hl xcb-util.armv6hl xfconf.armv6hl xfsprogs.armv6hl xkeyboard-config.noarch xml-common.noarch xmlrpc-c.armv6hl xmlrpc-c-client.armv6hl xz.armv6hl xz-libs.armv6hl yum.noarch yum-metadata-parser.armv6hl yum-utils.noarch zip.armv6hl zlib.armv6hl

User avatar
cyrano
Posts: 714
Joined: Wed Dec 05, 2012 11:48 pm
Location: Belgium

Re: Minimal server

Wed Jun 11, 2014 10:15 pm

sciurius wrote:From the screenshots you can see it already contains X.org and loads of applications. It is far from minimal.
There's a base install (22 MB)
http://mirror.switch.ch/ftp/mirror/slitaz/arm/rpi/
And, yes, it comes with X, but barely anything else.

rechmp
Posts: 15
Joined: Thu Apr 24, 2014 6:40 am

Re: Minimal server

Fri Apr 17, 2015 10:49 am

Hello guys.
Ill be just happy if someone would help me.
The problem is i need to put minimal pidora image into 2gb (or even 1gb) sd card. I don't need any GUI or other default packages, only working ssh to install RTL-SDR server. I've tried on minimal debian (1, 2), they are really small, but have well known problem when rtl-sdr lagging on any rpi debian distro. But I had tested on 8gb sd with usual pidora and it works perfect.
(Actually i have only 2gb card because it is not SD, it is MMC card, and after some disassembling and cutting it fits perfect, does not extend beyond the Rpi slot and fit in my metal case.)
Image

Return to “Pidora / Fedora”