| DistroWatch Weekly
|DistroWatch Weekly, Issue 317, 24 August 2009
Welcome to this year's 34th issue of DistroWatch Weekly! Despite the ever increasing power of modern computer hardware, lightweight distributions designed for older or underpowered systems continue to flourish. One of them, Puppy Linux, has become a rather popular choice in recent years, mainly due to its optimised performance and careful choice of integrated applications. This week's issue of DistroWatch weekly takes a look at the latest release of Puppy Linux, version 4.2.1. In the news section, the openSUSE project has decided to return to its roots and make KDE the default desktop on its installation media once again, Novell continues to promote SUSE Studio as the best tool for creating custom Linux-based appliances, Mandriva integrates Plymouth into its boot process and removes all traces of KDE 3 from its distribution, and Sabayon Linux launches the first development build of its upcoming 5.0 release in the form of an internal test. Finally, take a critical look at the updated layout of our distribution pages - as always, any feedback and suggestions are most welcome! Happy reading!
Join us at irc.freenode.net #distrowatch
First look at Puppy Linux 4.2.1 (by Jesse Smith)
Puppy Linux created a splash a while back when it first came bounding onto the Linux scene. It's a small distro which tries to be both small and easy to use and, to date, it's been successful at both those goals. This week I took Puppy for a spin to see if this dog has learned any new tricks. The current release of Puppy, which came out in May 2009, is 4.2.1. It's still small, weighing in at a light 100 MB download. This barely gives one time to read through the highlights of the web site before the install image is downloaded and checked for errors. The site is well laid out and easy to navigate. The developers have taken the time to carefully explain what Puppy is and how to use the system. The project's Wiki comes across as friendly, informal and informative.
With the latest version of Puppy downloaded, I decided to give it a test drive on my desktop machine. This isn't an old machine; it's a generic box running along at 2.5 GHz, but it's a bit short on memory for a modern desktop, with just 2 GB of RAM. Puppy booted off the CD and started a wizard to detect my hardware. Puppy didn't do a very good job at guessing what my hardware was (both the recommendations for video and mouse were incorrect), but the hardware wizard explains what's going on and lets the user over-ride the defaults. With that out of the way, I was given an unusual desktop.
I say unusual, by Linux standards, because the desktop is half-full of icons. I'm used to near-empty screens with dull backgrounds. Puppy puts icons for most common applications and tasks right on the desktop with a bright background. This seems in keeping with their newbie-friendly approach -- no hunting through menus required. Puppy didn't set up my network connection automatically, but there is a big "Connect" button on the desktop, which runs a wizard that walks the user through connecting to the net. This process, like just about everything else I found in the Puppy distribution, is done in a friendly step-by-step manner. Also on the desktop are programs for drawing, web browsing, chatting and configuring the system. Most importantly there is a "Help" button with an introduction to the Puppy way of doing things, which seems to be aimed at Windows users.
There are two places I've found where the newbie-friendly image seems to fall apart. One of those is the application menu, which is full of cryptic program names. There are brief descriptions after each name, but I think newcomers would find application names like "XF-Prot" and "GTKLPQ" a bit confusing. The other place is in the Puppy installer. There are still the helpful information boxes, but there were a few problems. There isn't any disk partitioning or package selection during the install, which caught me a bit by surprise. Puppy just tries to install into whatever partition you select without any formating or questions. Playing with this for a while I found the installer would suggest the user run GParted to fix partitions if things seemed "not sane". After that, the installer walks through setting up GRUB, which also comes with all kinds of useful documentation. I managed to get through everything without any problems (or so I thought), but this install struck me as being different from anything I've seen before. This is probably because the installer supports putting Puppy on so many different locations such as USB sticks, CDs or internal drives; it's designed for flexibility of position more so than content.
Puppy Linux 4.2.1 - menu and system installer
(full image size: 147kB, screen resolution 798x597 pixels)
After the install was finished, I rebooted and Puppy's kernel panicked. Thinking there must have been a conflict between the last system I'd installed on the drive and the new Puppy installation, I went back and started from scratch. This time I used GParted to re-format the partition before running the installer. Once again everything appeared to go smoothly during the install and I was able to boot into Puppy Linux. One of Puppy's weak points seems to be hardware. Sound was properly set up and worked without any problems. However, aside from my video card and mouse, my mobile modem also wasn't detected. This isn't a problem on my desktop machine, but it means I won't be using Puppy on my laptop.
A concern I had while running Puppy is that, by default, the user runs as root. There's no warning regarding this. During the install and first boot there's no option to change the root password nor create another user account. This strikes me as a poor practice. Furthermore, there's no option to manage user accounts in the Setup or Control Panel applications. As far as I can tell, there is no graphical tool for changing or setting the root password either. The system just automatically logs in to the desktop as root. This is, in my eyes, a serious lapse in security. I realize Puppy tries to make things easy on new users, but having a password on a modern operating system should be standard practice. I set up a new password for myself and then went on to other things.
One of Puppy's really strong points is its ability to pack so much functionality into a little space. The download for Puppy is a mere 100 MB and, once installed, this grows to just 300 MB of hard disk space. This is tiny considering the amount of software that's included with the system. The user has modern web browsing (via SeaMonkey), word processing, spreadsheets, PDF handling, instant messaging and a variety of server and admin software. And it all looks modern. I'm not referring simply to the version numbers, but the overall look and feel of the system. For the most part, the applications look polished and work in a way the user would expect. The look isn't cutting edge, but comfortable. As I mentioned before, there's a pile of documentation which is actually helpful and explains concepts in a language non-experts can understand.
Puppy Linux 4.2.1 - custom system administration tools
(full image size: 73kB, screen resolution 800x599 pixels)
The system is also fast. Boot time on my machine was under twenty seconds. Applications and folders opened very quickly. The system is snappy and light. This was true when running from the CD as well as from the hard drive and shows Puppy's ability to run on older systems. To test this, I created a small virtual machine and ran Puppy with 256 MB of RAM from its CD. The operating system continued to perform very well.
Another problem I ran into after installing Puppy to my hard drive was that I couldn't browse the web. I could connect and ping IP addresses, but found that browsing to any URL gave me an error. It turned out that Puppy wasn't resolving any addresses via DNS. I tried to open my resolv.conf file and was given an error. Puppy, apparently, makes /etc/resolv.conf a short-cut (symbolic link) to /etc/ppp/resolv.conf, which loops back around to link to /etc/resolv.conf. I deleted the links and created my own resolv.conf file with some known name servers and web browsing became possible again. This wasn't a problem on the live CD, just on my hard drive install. Not being able to browse the web strikes me as a pretty big bug for a distro which tries to be newbie-friendly.
Along with getting web browsing back came the potential to add software packages, called PETs. These packages can be installed with the Puppy package manager and work much the same way (from an end user's perspective) as a Debian package or RPM file. The PETs downloaded and installed without any problem. There aren't very many in the official repository, but more are available from third parties. My only complaint was that the package manager didn't show how big a package was. It could be a few kilobytes or a few hundred megabytes, it'll look the same until the download starts. Other than that detail, the package manager is well laid-out and worked as expected.
Puppy Linux 4.2.1 - the package manager
(full image size: 75kB, screen resolution 795x568 pixels)
As far as I can tell, there is no package updater built into Puppy. During my time using it, I neither found a manual update application nor was I notified of any available updates. I gather that the developers see Puppy more as a live CD tool than a distribution to be installed on the local hard disk. A stripped-down version of the RPM package manager is installed on Puppy by default. This probably isn't very useful, since installing RPM packages and manually wading through their dependencies is likely to drive anyone mad in short order. But the tool is there for the brave at heart. Another thing I found odd is the manual pages. While Puppy comes with a fine collection of documentation, the man pages (common on most Linux systems) aren't included. Instead, running the man command re-directs the user to a web page which displays an error. This was unexpected, unwelcome and unhelpful.
Puppy Linux 4.2.1 - missing man pages
(full image size: 51kB, screen resolution 764x597 pixels)
After using it for a few days, I have to say Puppy is a mixed bag. Some things are done really well, but other things are disappointing. On the positive side, Puppy has a clean look, is lightning-fast and very small, making it ideal for older hardware. It has a wide selection of tools which should take care of the needs of both everyday users and desktop administrators. On the negative side, Puppy has virtually no security, having the user run as root without a password and, near as I can tell, no package updates. There are relatively few PET packages to be had from the official repositories and Puppy doesn't connect to other repositories, such as Debian's or Slackware's.
My conclusion is that Puppy is an interesting live CD. It strikes me as a tool I could hand to a student taking a system admin course as a demo, or perhaps a Windows admin that needs the functionality of a Linux live CD. It's a tool which could be used to test old hardware; perhaps to wipe or backup drives. It's not a distribution I'd recommend installing on a hard disk or using as a day-to-day operating system or even connecting to the Internet. Its strengths lie in its small size and friendly approach to Windows users, not everyday use.
|Miscellaneous News (by Chris Smart)
KDE becomes default in openSUSE, Novell promotes appliance building tool, Mandriva switches to Plymouth, Sabayon starts testing 5.0, interview with kernel hacker Greg Kroah-Hartman
openSUSE remains one of the most popular Linux distributions. Originally it was very much a KDE focused project, but since it was purchased by Novell the development team has also put a lot of effort into GNOME. However, one problem for new users is that the installer does not default to one or the other, but rather forces them to make a decision between the two. This issue was raised on openFATE suggesting that the installer should default to KDE. This would make openSUSE one of the only major distributions to default to KDE and might give it an edge over the others. The topic was heavily debated among the community with this week Michael Loeffler announcing that the motion was passed. He writes: "After consideration of the project discussion I discussed the feature request further with the openSUSE Board and other leaders within the openSUSE project and came to the decision to follow the request: we will default the radio button to KDE in the DVD installer." The team is adamant that this does not mean GNOME will become a second-class citizen. What it does mean is that new users will simply no longer need to choose a desktop, but the choice still remains.
* * * * *
Interested in creating your own custom Linux distribution, or perhaps a virtual server image? Novell recently released a new service called SUSE Studio, which allows registered users to easily create their own appliances. As Koen Vervloesem discovered in an article for LWN.net, SUSE Studio can be used for much more. The web application which powers the service is closed-source, although it uses the open Kiwi tool in the backend. There are rumours that this will be open-sourced at some point; however, in the mean time Novell plans to sell SUSE Studio directly to companies for use in their own data centres. Koen concludes: "All in all, compared to its competitors, SUSE Studio is without doubt the most easy-to-use, the most well-engineered, and the most efficient appliance builder. Even someone without any previous experience can build a software appliance in fifteen minutes. If it would only offer more distributions than just the SUSE family for the operating system base, it would be even more interesting." Naturally, Novell only wants to support its own distribution, but this might change if the source is opened at some point.
Still on the subject of Novell and openSUSE, we link to a short interview with Greg Kroah-Hartman, a Novell employee and Linux kernel developer. He is passionate about getting as many drivers into the kernel as possible and two years ago offered free driver development to encourage vendors to provide specifications for their hardware: "In return, you will receive a complete and working Linux driver that is added to the main Linux kernel source tree. The driver will be written by some of the members of the Linux kernel developer community (over 1,500 strong and growing). This driver will then be automatically included in all Linux distributions, including the 'enterprise' ones. It will be automatically kept up-to-date and working through all Linux kernel API changes. This driver will work with all of the different CPU types supported by Linux, the largest number of CPU types supported by any operating system ever in the history of computing." In the interview, Greg talks about his work on the Linux Driver project, working with Git and how to become a kernel developer. He writes: "The best thing that everyone can do to help Linux kernel development is to tell the developers if something does not work properly. Let us know if you have problems with the latest kernel builds and especially if something that used to work, now stops working, as we need to resolve that as soon as possible."
* * * * *
Those of you following the development of Mandriva Linux as it marches resolutely towards its next stable release will appreciate the regular "Cooker" updates by Frederik Himpe. The latest one was published over the weekend and includes many welcome improvements, such as the integration of Plymouth, an improved version of "netprofile", and Pidgin 2.6: "Mandriva's boot splash is now provided by Plymouth, the same technology used by Fedora - together with kernel mode setting (currently enabled for Intel graphics chipsets in the standard Mandriva kernel), this will provide a high resolution bootsplash and high resolution virtual consoles and seamless switching between virtual consoles and X; a new, vastly improved version of netprofile makes it possible to define different networks, firewall and proxy settings and urpmi media for different networks; GNOME 2.28 beta 1 (2.27.90); Pidgin 2.6, now with video and audio support for XMPP (Jabber); OpenOffice.org has a new icon set which integrates nicely in the KDE 4 environment; KDE 3.5 is being removed completely from the distribution."
* * * * *
Finally, an update on Sabayon Linux 5.0, an interesting Gentoo-based distribution. Currently at version 4.2, the distro is busy working on the next stable release, with the first beta of version 5.0 now available for internal testing: "Another update here on the release cycle of 5.0 for all our thrilled fans. Beta 1 of GNOME and KDE images has been released to testers. We will be in this phase till about September 2nd as Fabio Erculiani is taking a vacation till then. Once he gets back, we will then look at the issues to hammer out a beta 2." The final release is expected at the end of September: "So we are looking at least the middle of September before a final version will be out and for sure by the end of September, knock on wood." A promotional video has also been made by a community member to promote the distro and upcoming release.
|Released Last Week
Johnny Hughes has announced the release of CentOS 4.8. This is a new version of the project's older, legacy branch built by the recompiling the source package for Red Hat Enterprise Linux 4.8: "The CentOS development team is pleased to announce the release of CentOS 4.8 for i386 and x86_64 architectures. New in this release: there is a technology preview of OpenOffice.org 2.0 included in the updates directory. Known issues: there is a requirement to swap in CD-1 during the install phase of CD-4 during some installs when the comps RPM is required to be installed; an upstream bug with the 3c59x Ethernet driver has been encountered during testing; there are issues with the i586 support on the AMD K6II processor...." See the release announcement and release notes for more details.
* * * * *
Development, unannounced and minor bug-fix releases
|Upcoming Releases and Announcements
Summary of expected upcoming releases
New layout for distribution pages|
With the last week being unusually slow in terms of interesting releases, I took the opportunity to implement some changes on the distribution pages. The main new feature is the addition of a screenshot; as they say, a picture is worth a thousand words and since we have collected quite a few distro screenshots over the years, adding them to the distribution pages was something that I have had on my to-do list for some time. This also gave me an opportunity to make some other changes. The key information about each distribution is now displayed next to the screenshot, followed by a brief description. I hope you'll like the new layout, but as always, all criticism and suggestions are welcome. Most importantly, if you spot any bugs, please report them - preferably by email (otherwise please mention them in the comments section below).
* * * * *
New distributions added to database
* * * * *
New distributions added to waiting list
- ÆrieBSD. The ÆrieBSD project strives to produce a free, multi-platform UNIX-like operating system, including the best possible free development environment. This includes (in addition to traditional BSD environment) free compilers, assemblers, linkers and other tools for various architectures as well cross-building capabilities.
- Gordux GNU/Linux. Gordux GNU/Linux is a desktop oriented distribution and live DVD built from Linux From Scratch.
- juntaDados. juntaDados is a Brazilian multimedia distribution based on Ubuntu. It offers a selection of audio, video and graphics packages to simplify creation of Linux-based multimedia workstations for social projects in Brazil. It also features a well-tested 188.8.131.52 real-time kernel for low-latency audio work. The project's web site is in Portuguese.
- VENENUX GNU/Linux. VENENUX GNU/Linux is a Debian-based distribution created in Venezuela and designed primarily for the Spanish-speaking Latin American market. The project's web site is in Spanish.
* * * * *
DistroWatch database summary
* * * * *
And this concludes the latest issue of DistroWatch Weekly. The next instalment will be published on Monday, 31 August 2009.
Chris Smart and Ladislav Bodnar
If you've enjoyed this week's issue of DistroWatch Weekly, please consider sending us a tip.
(Tips this week: 0, value: US$0.00)
|• Issue 684 (2016-10-24): Ubuntu 16.10, Linux popularity in different markets, Fedora runs on Raspberry Pi, Ubuntu features live kernel patching|
|• Issue 683 (2016-10-17): Refracta 8.0, making packages for distributions, Alpine switches to LibreSSL, 386BSD website publishes classic code|
|• Issue 682 (2016-10-10): KDE neon 20160915, Android-x86 6.0, Fedora warns of update bug, HandyLinux drops English translation, LXQt benchmarks|
|• Issue 681 (2016-10-03): OpenBSD 6.0, DragonFly BSD to support LibreSSL in ports, systemd denial of service bug, upgraded Mintbox Mini|
|• Issue 680 (2016-09-26): Uruk GNU/Linux 1.0, blocking applications at the firewall, Lenovo controversy, Ubuntu running on the Nextcloud Box|
|• Issue 679 (2016-09-19): OpenMandriva 3.0, 32-bit vs 64-bit performance, openSUSE updates, KaOS unveils first run wizard|
|• Issue 678 (2016-09-12): Apricity 07.2016, Mageia adopts DNF, KDE neon to use Wayland, FreeBSD updates Linux compatibility, creating cron jobs|
|• Issue 677 (2016-09-05): Peppermint OS 7, Manjaro updates leadership, TrueOS becomes rolling release, organizing files, creating torrents|
|• Issue 676 (2016-08-29): Korora 24, Fedora 25 to use Wayland by default, Linux turns 25, PC-BSD becomes TrueOS, finding software licensing information|
|• Issue 675 (2016-08-22): Gentoo LiveDVD "Choice Edition", moreutils, Ubuntu improves terminal convergence, MATE packaged for Openindiana, FreeBSD improves video support|
|• Issue 674 (2016-08-15): Zenwalk Linux 8.0, Ubuntu phone follow-up, Lubuntu transitioning to LXQt, Steam running on FreeBSD|
|• Issue 673 (2016-08-03): noop linux and EasyNAS, Debian's GnuPG switch, Fedora "Flock", using "nice"|
|• Issue 672 (2016-08-01): Ubuntu Phone 15.04, Solus embraces rolling release model, interview with Jane Silber, FreeBSD Quarterly Report|
|• Issue 671 (2016-07-25): Slackware 14.2, Point Linux 3.2, OpenBSD disables usermount, KaOS releases significant changes, Fedora 22 reaches end of life.|
|• Issue 670 (2016-07-18): Linux Lite 3.0, Bodhi team plans 4.0.0, pfSense changes licensing, running software across distributions, Linux Mint upgrade path|
|• Issue 669 (2016-07-11): Linux Mint 18, proving a system is secure, LibreSSL in FreeBSD, Ubuntu plans phasing out 32-bit, pfSense status report|
|• Issue 668 (2016-07-04): Fedora 24, Linux Mint plans for 18.1, FreeBSD and DragonFly BSD improve their file systems, comparing Flatpak, Snap and AppImage|
|• Issue 667 (2016-06-27): GeckoLinux 421, Fedora supports Flatpak, Solus unveils new features, running GNU/Linux on tablets|
|• Issue 666 (2016-06-20): Comparing more live update methods, Ubuntu's snap packages, Antergos drops 32-bit media, GeckoLinux unveils Rolling edition, learning Linux resources|
|• Issue 665 (2016-06-13): BunsenLabs Linux Hydrogen, Fedora 24 delayed, NetBSD grows in size, Clonezilla questions|
|• Issue 664 (2016-06-06): Sabayon 16.05, Debian updates install media, the cost of free software, Qubes explains secure build process|
|• Issue 663 (2016-05-30): Comparing live update methods, Ubuntu MATE's progress, distros debate systemd change, DistroWatch turns 15|
|• Issue 662 (2016-05-23): Clonezilla Live, new Fedora community repository, DragonFlyBSD runs Wayland, a live edition of Slackware and kernel components|
|• Issue 661 (2016-05-16): FreeBSD 10.3, OpenMandriva adopts Clang, Debian adds ZFS packages, PCLinuxOS drops 32-bit and comparing CentOS with RHEL|
|• Issue 660 (2016-05-09): Ubuntu MATE 16.04, Mint's xapps, FreeBSD Quarterly Report, Debian updates 32-bit support, addressing GPL violations|
|• Issue 659 (2016-05-02): Ubuntu 16.04, compiling custom kernels, Cinnamon 3.0, Sabayon launches ARM build, Devuan ships Beta release|
|• Issue 658 (2016-04-25): Kali Linux 2016.1, elementary OS 0.3.2, Debian elects Project Leader, Fedora 24 feature preview, Nard reaches 1.0|
|• Issue 657 (2016-04-18): Redox, Linux Mint improves update manager, planned Fedora 24 features, Ubuntu 16.04 getting Snappy packages|
|• Issue 656 (2016-04-11): Qubes OS 3.1, Whonix offers bug bounties, Puppy's family tree, setting up disk partitions and running bash on Windows|
|• Issue 655 (2016-04-04): Parsix 8.5, Sabayon's Community repository, Red Hat offers free subscriptions, Ubuntu tablets, command line tips|
|• Issue 654 (2016-03-28): PCLinuxOS 2016.03, Using signatures to create a web of trust, Arch Linux rolls out Pacman update, GuixSD packages GNOME|
|• Issue 653 (2016-03-21): Antergos 2016.02.21, Debian prepares for election, a Unix-like OS written in Rust, watching Netflix on FreeBSD|
|• Issue 652 (2016-03-14): ReactOS 0.4.0, Debian swaps Iceweasel for Firefox, Fedora moving forward with Wayland, Verifying ISO files|
|• Issue 651 (2016-03-07): Korora 23, Linux Mint improves security, Ubuntu MATE on Raspberry Pi 3 computers, trying different file systems|
|• Issue 650 (2016-02-29): Haiku in 2016, running Android apps on GNU/Linux, 30 years of MINIX, Fedora plans Atomic Workstation|
|• Issue 649 (2016-02-22): Zorin OS 11, openSUSE launches new editions, Linux Mint website compromised, sandboxing applications using Firejail|
|• Issue 648 (2016-02-15): XStream Desktop 153, Raspbian unveils OpenGL feature, free hardware, Ikey Doherty talks desktop design|
|• Issue 647 (2016-02-08): Tails 2.0, KDE project launches Neon, Manjaro unveils ARM support, FreeBSD's quarterly report|
|• Issue 646 (2016-02-01): deepin 15, Mint plans X-Apps, FreeBSD to support boot environments, logging into the desktop as root|
|• Issue 645 (2016-01-25): Linux Mint 17.3 "Xfce", Chromixium changes its name, Ubuntu tablets coming soon, Linux vs BSD comparision|
|• Issue 644 (2016-01-18): Kwort 4.3, Sabayon tests ARM images, Slackware adopts PulseAudio, running Linux without GNU software|
|• Issue 643 (2016-01-11): Solus 1.0, Mint provide upgrade path to 17.3, Fedora developers work on stability, running the LXQt desktop|
|• Issue 642 (2016-01-04): paldo GNU/Linux, vetting distro repositories, Fedora plans to adopt GCC 6, Ian Murdock passes|
|• Issue 641 (2015-12-21): Arch Linux, Qubes OS to ship on Librem laptops, ALT offers start kit images, the spread of systemd and launchd|
|• Issue 640 (2015-12-14): Chakra GNU/Linux 2015.11, removing meta-data from files, Ubuntu to remove on-line dash searches|
|• Issue 639 (2015-12-07): OpenBSD 5.8, openSUSE gathers Summer of Code proposals, running WINE on a live disc, Enlightenment adds Wayland support|
|• Issue 638 (2015-11-30): Qubes OS 3.0, KaOS with Plasma, NetBSD 7.0, Fedora seeks Wayland testers, scheduling tasks|
|• Issue 637 (2015-11-23): NixOS 15.09, Antergos introduces ZFS support, MINIX shares new features, copying an OS to a new computer|
|• Issue 636 (2015-11-16): openSUSE 42.1, Fedora uses Wayland by default, Debian replaces live CD project, Steam consoles launch|
|• Issue 635 (2015-11-09): Fedora 23, Cinnamon 2.8 released, a Fedora KDE packager quits, Red Hat signs deal with Microsoft|
|• Issue 634 (2015-11-02): Ubuntu 15.10, Chakra upgrades to Plasma 5, OpenMandriva plans new editions, MINIX plans conference|
|• Issue 633 (2015-10-26): GhostBSD 10.1, Bodhi Linux to get new settings panel, Fedora 23 delayed, creating live image of existing OS|
|• Issue 632 (2015-10-19): Linux Lite 2.6, 32-bit build of CentOS, OpenBSD turns 20, Bodhi Linux releases AppPack|
|• Full list of all issues|
|Free Tech Guides
Introduction to nginx
This FREE 69-page eBook introduces you to the magic of nginx, an open-source HTTP and reverse proxy server, a mail proxy server, load balancer and HTTP cache.
|Free Tech Guides
This FREE 404-page eBook will assist you in making the leap from competent web developer to confidence software engineer.
|Free Tech Guides
This FREE 404-page eBook will assist you in making the leap from competent web developer to confidence software engineer.