Amiga Unix Wiki

Because AmigaOS just isn't obscure enough today!

User Tools

Site Tools


tips-tricks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tips-tricks [2018/09/10 12:50]
tahoe
tips-tricks [2019/12/18 20:13] (current)
wiki_admin partial re-write
Line 1: Line 1:
 ====== Daemons ====== ====== Daemons ======
  
-A full install of Amix UNIX includes (and starts) some system daemons that are unlikely to be of much interest to the user. Below are brief descriptions of many of these daemons, how to disable them if they are started at boot, and how to start them if they are not.+A full install of Amix UNIX includes (and starts) some system daemons that are unlikely to be of much interest to the user in the modern day. Below are brief descriptions of many of these daemons, how to disable them if they are started at boot, and how to start them if they are not. There are a few other daemons (flopd, scrmenu, etc) I'm still looking into.
  
-**lp**+**lp** ​\\ 
 +Printing services. Unless you want to experiment with this, disable it. The only printers likely to work with AMIX at this point are pure postscript printers. ​
  
-Printing services. Unless you want to experiment with this, disable it. The only printers likely to work with AMIX at this point are pure postscript printers. ​Stop: kill `ps -e | grep lp | cut -f 4 -d ' '` Disable: mv /​etc/​rc2.d/​S80lp /​etc/​rc2.d/​s80lp+Stop: kill `ps -e | grep lp | cut -f 4 -d ' '​` ​\\ 
 +Disable: mv /​etc/​rc2.d/​S80lp /​etc/​rc2.d/​s80lp ​\\
  
-**news**+**news** ​\\ 
 +Maybe you use Usenet. I bet you don't want to run an NNTP server though. ​
  
-Maybe you use Usenet. I bet you don't want to run an NNTP server though. ​Stop: /​etc/​init.d/​news stop Disable: mv /​etc/​rc2.d/​S91news /​etc/​rc2.d/​s91news+Stop: /​etc/​init.d/​news stop \\ 
 +Disable: mv /​etc/​rc2.d/​S91news /​etc/​rc2.d/​s91news
  
-**smtpd**+**smtpd** ​\\ 
 +Mail services. If you intend to use this, go ahead and leave it running. I've never seen the system send mail for anything it runs on its own, so it should be fine to disable. ​
  
-Mail services. If you intend to use this, go ahead and leave it running. I've never seen the system send mail for anything it runs on its own, so it should be fine to disable. ​Stop: kill `ps -e | grep smtpd | cut -f 4 -d ' '` Disable: mv /​etc/​rc2.d/​S88smtpd /​etc/​rc2.d/​s88smtpd+Stop: kill `ps -e | grep smtpd | cut -f 4 -d ' '​` ​\\ 
 +Disable: mv /​etc/​rc2.d/​S88smtpd /​etc/​rc2.d/​s88smtpd
  
-**rpc**+**rpc** ​\\ 
 +Various old rpc services that you probably shouldn'​t use anyway. Some people who have used more modern UNIX might think you need these for NFS to work. Nope. You can turn this off. 
  
-Various old rpc services that you probably shouldn'​t use anyway. Some people who have used more modern UNIX might think you need these for NFS to work. Nope. You can turn this off. Stop: /​etc/​init.d/​rpc stop Disable: mv /​etc/​rc2.d/​S75rpc /​etc/​rc2.d/​s75rpc+Stop: /​etc/​init.d/​rpc stop \\ 
 +Disable: mv /​etc/​rc2.d/​S75rpc /​etc/​rc2.d/​s75rpc
  
-**in.named**+**in.named** ​\\ 
 +DNS nameserver. If you are using DNS and not just hosts, your system will be much happier if this is running. For details on how to configure in.named, see details on this page. It is not enabled by default.
  
-DNS nameserver. If you are using DNS and not just hosts, your system will be much happier if this is running. For details on how to configure in.named, see details on this page. It is not enabled by default. ​Start: /​usr/​sbin/​in.named Enable: Create an init script in.named, start it at 70. A simple example is attached to this page, place this in /​etc/​init.d/​in.named and set it executable. Enable this at boot with the following: ln /​etc/​init.d/​in.named /​etc/​rc2.d/​S70in.named Now you can start/stop in.named with /​etc/​init.d/​in.named start / stop+Start: /​usr/​sbin/​in.named ​\\ 
 +Enable: Create an init script in.named, start it at 70. Enable this at boot with the following: ln /​etc/​init.d/​in.named /​etc/​rc2.d/​S70in.named Now you can start/stop in.named with /​etc/​init.d/​in.named start / stop
  
-There are a few other daemons (flopd, scrmenu, etc) I'm still looking into.+====== Vulnerabilities ======
  
-====== Tips & tricks ======+Believe it or not, Amiga Unix is not obscure enough to //not// be mentioned by major security firms. There is a vulnerability in the included "​Finger"​ command:
  
-This will be a mess at first, it's a scribble pad for me at the moment as I work.+<​code>​ 
 +Amiga Unix allows access to files using finger 
 +CVE-1999-1218
  
-bash 3.0 on AMIX Compiles correctly after I fixed one source code fileAMIX uses deprecated trap designation ​in /​etc/​profile,​ so for CTRL-to work you need to add a section like this to your /​etc/​profile:​+Details: amiga-finger (522) reported Feb 1, 1993The finger command ​in Amiga allows non-privileged users to access files that they would not normally be able to access.
  
-if [ “$BASH” ] then trap - 2 3 fi+Consequences:​ Gain Access
  
-AMIX 2.1 Don't use tar. Use gtar. tar segfaults until you patch to level 2a (2.1c)+Remedy: ​ As root, modify the permission of the existing /​usr/​bin/​finger ​to prevent misuse 
 +Issue the following command: # /bin/chmod 0755 /​usr/​bin/​finger
  
-When configuring software for compilation you will have better luck specifying host/​build/​target as m68k-cbm-sysv4 than letting configure guess on its own (typically m68k-unknown-sysv4) ​+— OR —
  
-Edit /etc/inet/rc.inet to add default router, not /etc/defaultrouter ​(ignored by system)  +As root, install the pubsrc package from the distribution tape. 
- +In the /usr/src/pub/cmd/finger/​src/​finger.c file, add the line "​setuid(getuid());" (without the quotes) immediately before the line reading "​display_finger(finger_list);"​ 
-Export CC=/usr/local/bin/gcc as some applications keep trying ​to use gcc-1.4.2 in /usr/public/bin during compilation  +Optionally, save a copy of the existing ​/usr/bin/finger and modify its permission ​to prevent misuse: 
- +# /​bin/​mv ​/usr/bin/finger ​/usr/bin/finger.orig 
-Mounting NFS shares from servers without NFS shares will panic the system. Oops! Don't Do That ™. Fixed in 2a patchlevel.  +/bin/chmod 0755 /usr/bin/finger.orig 
- +In the /usr/src/pub/cmd/finger directoryissue the commands: 
-/usr/include/sys/​socket.h,​ and types.h are too buggy to be used in many situations. Replace with files from 2a patchlevel.  +# cd /usr/src/pub/cmd/finger 
- +# make install 
-Use sysadm to enable XDM, old method from 2.01/2.03 doesn'​t work anymore.  +</​code>​ 
- +Source: [[https://​exchange.xforce.ibmcloud.com/​vulnerabilities/​522]]
-Don't install 2a patchdisk, HD hack install method leaves kernel uncompilable with patches. Copy the include files socket.h and types.h only.  +
- +
-Patches break w and netstat (at least) without kernel upgrade.  +
- +
-Adding swap: dd if=/dev/zero of=/tmp/swap bs=1024k count=50 && swap -a /tmp/swap 0 102400  +
- +
-Compilation will fail on large binaries even with 100MB or more of swap. An error like this will result: ld: cc1: libelf error: Memory error: output file space elf_update:​. This is due to artificial restrictions imposed by ulimit. Set everything possible to “unlimited”,​ ie: ulimit -H unlimited, etc. Certain of these users cannot set, if you get this error you must become root and unset all limits. Type ulimit -? to see what you can fiddle with.  +
- +
-collect2.c in gcc-2.95.3 has a bug for AMIX, comment out the SYS_SIGLIST defs. Hope this is right, guessing here. (it compiled after) Damn, compiling gcc-2.95.3 is proving to be really educational in a “FOR CRYING OUT LOUD JUST COMPILE” kind of way. This link will be helpful diagnosing late stage1 compile problems: http://sources.redhat.com/ml/crossgcc/1997/​msg00326.html … appears 2.7.2.3 is buggywonderful. It may be helpful to symlink ​/usr/X to /usr/X11 since /usr/X11 appears often on newer systems. +
- +
-====== Vulnerabilities ====== +
- +
-Believe it or not, Amiga Unix is not obscure enough to //not// be mentioned by major security firms. There is a vulnerability in the included "​Finger"​ command. More information and how to patch can be found on the IBM X-Force site: [[https://​exchange.xforce.ibmcloud.com/​vulnerabilities/​522]]+
  
 ====== Performance ====== ====== Performance ======
  
-Bonnie_Amix2.1c_A3000D +Overall, performance is…really poor. The NFS tests took a really long time. I won't have a good idea just how bad until I get the other tests completed, but I recall various quips and quotes from Usenet and reviews indicating disk performance being slow. There are patches to improve performance,​ but I think these are for 2.01/2.03. If it's possible to apply them to 2.1c I'll provide results for that as well. 
-Overall, performance is…really poor. The NFS tests took a really long time. I won't have a good idea just how bad until I get the other tests completed, but I recall various quips and quotes from Usenet and reviews indicating disk performance being slow. There are patches to improve performance,​ but I think these are for 2.01/2.03. If it's possible to apply them to 2.1c I'll provide results for that as well. On to the results. +
- +
-Bonnie testing parameters +
- +
-Bonnie was run with a 100MB test set. For AMIX it was compiled with gcc-2.7.2.3,​ using CFLAGS=-O2 -m68020 -fomit-frame-pointer. +
- +
-Key to X axis labels: +
- +
-OChr: Output a character at a time as fast as possible. OBlk: Output intelligently as fast as possible. RW: “Rewrite test” - Read some data, change it, write it, and read it again, intelligently,​ as fast as possible. IChr: Read a character at a time as fast as possible. IBlk: Read intelligently as fast as possible. +
- +
-Bonnie performance on disk +
- +
-First there'​s the disk performance using the UFS filesystem. I'm not going to bother testing S5 as it has so many limitations. Plotted are the rates in KB/sec and the average CPU utilization during the test. Image +
- +
-Bonnie performance on NFS +
- +
-This was a test of NFS performance. The NFS server was an i686 Debian GNU/Linux 5.0 system with 100Mb NIC writing to a RAID 5. I assure you the bottleneck was not the Linux machine. Plotted are the rates in KB/sec and the average CPU utilization during the test. Image +
- +
-Performance summary, disk and NFS +
- +
-This compares the data rates for disk and NFS, and disregards the CPU utilization. Plotted are the rates in KB/sec and the average CPU utilization during the test. Image +
- +
-Summary+
  
 I/O on Amix is relatively slow and uses relatively high amounts of CPU power to do the work. NFS is much slower. An advantage of NFS, though, is you can use RAID-backed storage at the other end. There is no such option for disk-based storage on AMIX. I/O on Amix is relatively slow and uses relatively high amounts of CPU power to do the work. NFS is much slower. An advantage of NFS, though, is you can use RAID-backed storage at the other end. There is no such option for disk-based storage on AMIX.
Line 92: Line 69:
 Results for NFS were much tighter across 4 runs than the disk data. The first disk test for IBlk was a bit of an aberration, using far less CPU and having less speed. Probably another process was kicked off by the system during this test and multitasking caused Bonnie to get less CPU time. Results for NFS were much tighter across 4 runs than the disk data. The first disk test for IBlk was a bit of an aberration, using far less CPU and having less speed. Probably another process was kicked off by the system during this test and multitasking caused Bonnie to get less CPU time.
  
-====== ​Benchmarking an old OS... who cares? ​======+====== ​Tips & tricks ​======
  
-This collection of pages is intended to provide some insight ​as to how Amiga UNIX performs relative to other OSs. Information ​would not mind seeing here includes:+This will be a mess at first, it's a scribble pad for me at the moment ​as I work.
  
-Performance of a different OS on the same hardware Performance of newer/​better hardware vs “AMIX level” hardware Methodologies to increase Amiga UNIX performance +bash 3.0 on AMIX Compiles correctly after fixed one source code fileAMIX uses deprecated trap designation in /​etc/​profileso for CTRL-C ​to work you need to add section like this to your /​etc/​profile:
- +
-So, yes, fairly dull. The way would like to see this laid out is a seperate page for each set of testsThis waypeople can easily open results up in a new window (or tabs) for comparison. If you would like to submit your own results, first take a look at the list of tests you should run. You do not have to run all of these, but you should run as many as you can. Next, take look at my test results and try to get your report to look similar. +
- +
-The tests +
- +
-The tests are tailored for UNIX systems, but if you can get them to run in AmigaOS (and most of them are sufficiently basic that this should not be an issue) more power to you. +
- +
-Click here to see the list of tests +
- +
-The results +
- +
-Results are split into two categoriesAMIX-capable hardware, which by its nature should keep the machines to roughly the same spec; and other hardware, which must be classic Amiga hardware but does not need to be able to run AMIX.+
  
-AMIX-capable hardware Amiga UNIX 2.1c on A3000D, run by failure+<​code>​ 
 +if [ "​$BASH"​ ] 
 +then 
 +trap - 2 
 +fi 
 +</​code>​
  
-other hardware+  * Don't use tar. Use gtar. tar segfaults until you patch to level 2a (2.1c).  
 +  * When configuring software for compilation you will have better luck specifying host/​build/​target as m68k-cbm-sysv4 than letting configure guess on its own (typically m68k-unknown-sysv4)  
 +  * Edit /​etc/​inet/​rc.inet to add default router, not /​etc/​defaultrouter (ignored by system)  
 +  * Export CC=/​usr/​local/​bin/​gcc as some applications keep trying to use gcc-1.4.2 in /​usr/​public/​bin during compilation  
 +  * Mounting NFS shares from servers without NFS shares will panic the system. Oops! Don't Do That ™. Fixed in 2a patchlevel.  
 +  * /​usr/​include/​sys/​socket.h,​ and types.h are too buggy to be used in many situations. Replace with files from 2a patchlevel.  
 +  * Use sysadm to enable XDM, old method from 2.01/2.03 doesn'​t work anymore.  
 +  * Patches break w and netstat (at least) without kernel upgrade.  
 +  * Adding swap: dd if=/​dev/​zero of=/​tmp/​swap bs=1024k count=50 && swap -a /tmp/swap 0 102400  
 +  * Compilation will fail on large binaries even with 100MB or more of swap. An error like this will result: ld: cc1: libelf error: Memory error: output file space elf_update:​. This is due to artificial restrictions imposed by ulimit. Set everything possible to “unlimited”,​ ie: ulimit -H unlimited, etc. Certain of these users cannot set, if you get this error you must become root and unset all limits. Type ulimit -? to see what you can fiddle with.  
 +  * collect2.c in gcc-2.95.3 has a bug for AMIX, comment out the SYS_SIGLIST defs. Hope this is right, guessing here. (it compiled after) Damn, compiling gcc-2.95.3 is proving to be really educational in a “FOR CRYING OUT LOUD JUST COMPILE” kind of way. This link will be helpful diagnosing late stage1 compile problems: http://​sources.redhat.com/​ml/​crossgcc/​1997/​msg00326.html … appears 2.7.2.3 is buggy, wonderful. 
 +  * It may be helpful to symlink /usr/X to /usr/X11 since /usr/X11 appears often on newer systems.
  
 ====== mkfs ====== ====== mkfs ======
tips-tricks.txt · Last modified: 2019/12/18 20:13 by wiki_admin