Вы находитесь на странице: 1из 16

Top of Form

AIX A/UX DG/UX FreeBSD HP-UX IRIX Linux

This custom drawing feature now works in Mozilla/Firefox, in Opera 7.0 or better, and in IE 5 or better. Use click, shift-click, control-click, and the "set" and "clear" buttons to select the desired subset of OSs. Then select "Draw table" to redraw the window with your custom table.

Sponsored by:
Bottom of Form

A Sysadmin's Unixersal Translator (ROSETTA STONE) OR What do they call that in this world?
Contributions and corrections gratefully accepted. Please help us fill in the blanks. New "tasks" are welcome, too! PDF version (for best results print US legal size, landscape orientation. If your browser plug-in has trouble with the PDF, then download it and load it in stand-alone acroread). Framed version. OS versions in parentheses; e.g. 10+ means version 10 and greater; 9- means version 9 and previous. $=extra cost. (obs) = obsolete

If not specified, commands are in one of the following directories: /usr/bin, /usr/sbin, /bin, /sbin Files referenced may be either commands, configuration files, or directly-referenced text files. Use the man command to read the man pages for details such as command options. Categories: hardware, firmware, devices disks kernel, boot, swap files, volumes networking security, backup software, patching, tracing, logging references TASK \ OS AIX HP-UX Linux
(rh) = Red Hat, Mandrake, SUSE,... (deb) = Debian, Libranet,... (fed) = Fedora (gen) = Gentoo (md) = Mandrake/Mandriva (SUSE) = SUSE

Solaris Solaris 2.0-2.6, 7, 8, 9, 10 OpenSolaris (SunOS 5.*) SVR4-based

OS notes

By IBM, with input from System V, BSD, etc. Runs Hewlett-Packard mainly on IBM RS/6000 and related hardware. smit sam

administrative GUI

(rh, FC2+, RHEL4+) system-config* solstice

smitty wsm useradd (5+) userdell (5+) usermod (5+) lsuser mkuser chuser rmuser usrck AIX

smh (11.31+)

(rh) redhat-config* linuxconf (obsolete) (SUSE) yast2 (deb) dpkg-reconfigure (md) drakconf useradd usermod userdel adduser chage getent

admintool smc (8 01/01+) useradd userdel usermod getent logins /usr/sadm/bin/smuser (9+) groupadd

managing users

useradd userdel usermod getprpw modprpw pwget HP-UX

TASK \ OS

Linux arch uname dmesg (if you're lucky) cat /var/log/dmesg /proc/* lshw dmidecode lspci lspnp lsscsi lsusb lsmod (SUSE) hwinfo /sys/devices/* ? /dev/nvram (if you have it)

Solaris prtconf -v /usr/platform/`uname -i`/ sbin/prtdiag -v (sun4u and sun4d only) arch -k psrinfo -v isainfo -v dmesg iostat -En prtfru cfgadm -l /etc/path_to_inst

list hardware configuration

prtconf lscfg lsattr lsdev lspath

ioscan dmesg (if you're lucky) adb model stm (from the SupportPlus CDROM) bdf (like most vendors' df) getconf machinfo (11.23+) print_manifest

unique id useful for licensing show/set

uname -u uname -m lsattr -El sys0 -a systemid bootlist -o -m normal

uname -i setboot

hostid eeprom

EEPROM/NVRAM values

stm

add device without reboot cfgmgr -v

inf -e ioscan -fnC devtype; insf -C devtype rmsf /dev/rmt/0m ?

remove device tape device stdin/ stdout/ stderr

rmdev /dev/rmt0 ?

hwclock nvsetenv udev (2.6+) udevtrigger modprobe kerneld insmod hotplug cardctl ? /dev/st0 /dev/fd/[012] xorgcfg xorgconfig Xorg -configure system-config-display xf86config XFree86 -configure redhat-config-xfree86 /etc/X11/?dm

devfsadm. pre-Solaris 7 HW 11/99, use: drvconfig; devlinks; {disks, tapes, ports} /usr/lib/symsm/bin/hot_add (RDAC) /etc/symsm/rmparams (RDAC) devfsadm /dev/rmt/0 /dev/fd/[012]

X kvm config

itemap

kdmconfig (x86) fbconfig; m64config; (etc.)

TASK \ OS read a disk label whole disk in partition label a disk partition a disk lspv

AIX

HP-UX scsimgr (11.31+) diskinfo pvdisplay ? pvcreate smh (11.31+) fdisk -l

Linux prtvtoc 2 format prtvtoc (x86) fdisk format

Solaris

hdisk[0,1,2,...] mkvg mklv

/dev/hda (e.g. if /dev/hda1


is a partition)

cfdisk fdisk e2label parted (if you have it)

lvcreate sam TASK \ OS kernel /unix AIX HP-UX /hpux (9) /stand/vmunix (10+) smh (11.31+) sam sysdef kmtune (11+) kctune (11.23+) getconf ? kmadmin -s kmadmin -L kmadmin -U mkboot /etc/rc* (9) /etc/rc.config.d (preferred)

cfdisk fdisk pdisk (on a MAC) (deb) mac-fdisk (on a MAC) (md) diskdrake Linux /boot/vmlinuz* /boot/bootlx (see /etc/lilo.conf or /boot/grub/menu.lst) /proc/* /proc/sys/* sysctl /etc/sysctl.conf mem= (in lilo.conf or /boot/grub/grub.conf) lsmod modprobe insmod rmmod modprobe -r (rh) mkbootdisk (deb) fdisk -A (and lilo to manipulate mbr) /etc/rc* (but may vary) /etc/init.d/

fmthard Solaris /kernel/genunix /platform/`uname -m`/ kernel/unix /platform/`uname -m`/ kernel/sparcv9/unix (7+) sysdef getconf cat /etc/system ndd adb -k ? modinfo modload modunload installboot /usr/platform/ `uname -i` /lib/fs/ufs/bootblk raw_device_file /etc/rc* /etc/init.d/ (10+) svcadm

show/set kernel parameters

vmo ioo schedo rmss genkex vxketadm -s vxketadm modname load ? bosboot -a /etc/rc* /etc/inittab

limit physical memory loaded kernel modules load module unload module make disk bootable startup scripts

/sbin/rc* (10+) /sbin/init.d/ startsrc stopsrc start/ stop/ config services lssrc refresh srcmstr shutdown (& power off if possible) shutdown -Fh (rh) service (rh) chkconfig (deb) sysv-rc-conf shutdown -Ph now shutdown -y -g0 -i0 halt poweroff (set in /etc/inittab) 0: halt s,S,1: vendor-dependent 1: single-user 2-5*: multiuser 6: reboot /sbin/runlevel /usr/share/zoneinfo/ /etc/localtime swapon -s cat /proc/meminfo cat /proc/swaps free taskset (sched-utils) HP-UX Linux

(10+) svcs

svcs (10+) svcadm (10+)

shutdown -yh 0 0: shut down s,S: single-user 1: sys admin 2: multiuser 3*: share NFS 4*: start GUI 5: user-defined 6: user-defined who -r /usr/lib/tztab swapinfo psrset -b mpsched -c intctl

shutdown -y -g0 -i5 0: firmware monitor s,S: single-user 1: sys admin 2: multiuser 3*: share NFS 4*: user-defined 5: power-down if possible 6: reboot who -r /usr/share/lib/zoneinfo/ swap -s swap -l pbind Solaris

run levels *=normal states for more detail 2: multiuser see 6: reboot www.phildev.net/runlevels.h tml show runlevel 1 time zone info check swap space who -r /etc/environment ($TZ) lsps -a

bind process to CPU TASK \ OS

bindprocessor AIX

"normal" filesystem volume-based filesystem file system description

jfs jfs2 /etc/filesystems mount lsfs

hfs vxfs (11.0+) jfs (vxfs) LVM VxVM ($) /etc/checklist (9) /etc/fstab (10+)

ext2 ext3 ReiserFS LVM, LVM2 EVMS VxVM ($) /etc/fstab

ufs zfs (OpenSolaris) zfs(10+) Solstice DiskSuite VxVM ($) /etc/vfstab (local) zpool (10+)

volume manipulation

smitty vg smitty lvm smitty jfs smitty storage mkvg; chvg; rmvg mklv; chlv; rmlv mkfs; crfs; rmfs

vg*; lv*; pv* extendfs fsadm

e2fsadm lvcreate lvremove lvextend

meta* (Solstice DiskSuite; Solaris Volume Mgr (9+)) (7-, found in /usr/opt/SUNWmd/ sbin/) /opt/VRTSvxva/bin/vxva (Veritas Volume Mgr) ($)

create filesystem

crfs

mkfs newfs fsck fsdb prealloc pfs_mountd pfsd

dfsck file system debugging and fsck recovery fsdb create non-0-length empty lmktemp file mount CDROM mount -v cdrfs -o ro /dev/cd0 /cdrom

mke2fs mkreiserfs mkdosfs mkfs.* fsck debugfs e2undel dd if=/dev/zero of=filename bs=1024k count=desired mount /mnt/cdrom (deb) mount /cdrom

newfs mkfs zfs (10u2+) fsck fsdb clri mkfile /etc/init.d/vold start; volcheck or mount -F hsfs -o ro /dev/dsk/c0t6d0s2 /cdrom

smitty cdrom

pfs_mount mount /dev/dsk/cxtydz4 /SD_CDROM mount -orr /dev/cdrom /mnt/cdrom (requires "Rock Ridge extension" patches, 11+) ? nohup pfs_mountd&; nohup pfsd&; pfs_mount -t iso9660 -x unix pathToIso mountPoint lsacl chacl getacl setacl scsimgr (11.31+) fcmsutil fcdlist tdutil tdlist tddiag HP-UX /etc/exports exportfs -a share (11.31+) shareall (11.31+) share_nfs (11.31+) nfsstat eject mkisofs mount -o loop pathToIso mountPoint getfacl setfacl eject cdrom mkisofs2;DEVICE=`lofiadm -a /absolute_pathname/image.iso` ; mount -F hsfs -o ro $DEVICE getfacl setfacl cfgadm luxadm stmsboot mpathadm fcinfo Linux /etc/exports /etc/init.d/nfs-server reload (rh) exportfs -a cat /proc/mounts /etc/dfs/dfstab dfshares share shareall showmount Solaris

eject CDROM create/mount ISO image

? mkcd aclget aclput acledit ls -e fcstat lscfg -vl fcs0 lsattr -El fcs0 AIX /etc/exports /etc/xtab exportfs -a mknfsexp nfsstat nfso -as

ACL management

Fibre Channel / SAN

TASK \ OS NFS share definitions NFS share command NFS information

nfsstat name resolution order /etc/netsvc.conf ifconfig -a no -a netstat -i netstat -v lsattr -E -l entX /etc/nsswitch.conf nwmgr (11.31+) lanadmin landiag lanscan netstat -in ifconfig lanx /etc/nsswitch.conf /etc/resolv.conf /etc/nsswitch.conf getent dladm ndd ifconfig -a netstat -in dladm (8+) kstat -n hme0 | egrep 'ifspeed| duplex'

show network interface info

ifconfig ethtool

smitty chinet change IP chdev -a netaddr= newIP -I en# mktcpip /sbin/set_parms initial ifconfig

ifconfig (rh) redhat-config-network (fedora) system-config-network (rh) edit: /etc/hosts, /etc/sysconfig/network, /etc/sysconfig/ network-scripts/ ifcfg-eth0 (deb) edit /etc/network/interfaces; /etc/init.d/networking restart dhcpcd dhclient ping -c 1 hostname etherfind tcpdump wireshark (formerly ethereal) etherape

edit: /etc/{resolv.conf, hosts, hostname.*, netmasks, nodename, dumpadm.conf, inet/ipnodes, net/*/hosts} sys-unconfig; reboot (this is overkill for a simple IP or hostname change)

start DHCP client ping one packet sniff network

dhcpcd ping -c 1 hostname iptrace ipreport

? ping hostname 10 1 (9) ping hostname -n 1 (10+) nettl netfmt

ifconfig interface dhcp ping hostname packetsize 1 snoop

route definitions

netstat -r route

/etc/rc.config.d/netconf netstat -r

route (rh) /etc/sysconfig/network (rh) /etc/sysconfig/static-routes (deb) /etc/init.d/network (deb) /etc/network /etc/issue.net (telnet) (ftp varies; can use tcp wrappers) ntpdate rdate netdate Linux (2.6+) auditd /var/log/faillog

/etc/defaultrouter /etc/notrouter /etc/gateways in.routed netstat -r route add /etc/default/telnetd /etc/default/ftpd ntpdate rdate Solaris audit auditd auditreduce praudit /etc/shadow /etc/default/passwd /etc/default/login

telnetd, ftpd banner set date/time (from net: ntp or other) TASK \ OS auditing

/etc/security/login.cfg ntpdate AIX audit auditpr auditselect lsaudrec /etc/security/passwd /etc/security/user /etc/security/user genfilt smitty ipsec4 wsm network AIX lslpp -L

/etc/inetd.conf (telnet) ntpdate HP-UX audisp audevent audomon audsys /etc/passwd (not Trusted) /.secure/etc/passwd (Trusted 9) /tcb/files/auth/ (10+) /etc/shadow (11.22+) /etc/securetty

encrypted passwords in min password length allow/deny root logins firewall config TASK \ OS show installed software

/etc/shadow (may vary) /etc/pam.d/system-auth /etc/securetty iptables ipchains ipfwadm (rh) redhat-configsecuritylevel Linux (rh) rpm -a -i

/etc/opt/ipf/ipf.conf HP-UX rmfn, what (HP-UX 9)

(9+) /usr/aset/ Solaris pkginfo

lssrc

swlist (HP-UX 10+) swm list (11.31+)

file is in which package

lslpp -w file rpm -qif file

swlist -l file | grep file

add software

smitty install rpm -ihv installp -acgxYd /sourcedir [fileset|ALL] www-1.ibm.com/servers/ aix/products/aixos/linux/ download.html aixpdslib.seas.ucla.edu/ aixpdslib.html bullfreeware.com

swm install (11.31+) swinstall

precompiled binaries of GPLware and freeware

hpux.cs.utah.edu hpux.connect.org.uk

(rh) rpm -qa (rh) yum list installed (deb) dselect (deb) aptitude (deb) dpkg -l (gen) ls /var/db/pkg/* (gen) eix -I (deb) dpkg --search file (deb) apt-file update && apt-file search file (rh) rpm -qif file (gen) equery b file (gen) qfile file (rh) rpm -hiv (rh) yum install pkg (deb) dselect (deb) apt-get install pkg (deb) dpkg -i www.linux.org linux.tucows.com sourceforge.net rpmfind.net (deb) ftp.debian.org (deb) packages.debian.org (gen)packages.gentoo.org3 (gen)gentoo-portage.com3 (md)easyurpmi.zarb.org

prodreg admintool /var/sadm/install/contents

pkgchk -l -p binaryToCheck

pkgadd

www.sunfreeware.com www.blastwave.org

C compiler show patch level

/usr/ibmcxx/bin/cc /usr/vac/bin/cc ($) instfix -ivq

/opt/softbench/bin/cc ($) /bin/cc (9) cc /usr/bin/cc (10+; not necessarily gcc ANSI; kernel builder only) swm list (11.31+) (rh) rpm -q

/opt/SUNWspro/ bin/cc2 showrev -p

and/or patches

oslevel -s

swlist -l product | grep PHsomeString update (9) swinstall (10+)

patch tool configure/show runtime linking fortran-2000.com/ ArnaudRecipes/ sharedlib.html link library path

installp smitty update_all

(rh) cat /proc/version (rh) cat /etc/redhat-release (deb) dpkg -s apt-get update apt-get upgrade (rh) up2date (rh) yum update (md) urpmi ldconfig ldd lsmod $LD_LIBRARY_PATH /etc/ld.so.conf

prodreg (2.6+) patchadd -p cat /etc/release installpatch (2.5.1-) patchadd (2.6+) pkgadd; pkgrm /usr/sadm/bin/smpatch (9+) crle ldd pldd modinfo LD_PRELOAD $LD_LIBRARY_PATH (7+ deprecated in favor of crle) truss sotruss dtrace (10+) /etc/default/login /etc/profile /etc/security/ /etc/.login /var/adm/messages /var/log/syslog softpanorama.org/Logs/solaris_logs.sht ml

dump -H ldd

chatr ldd (11+) kmadmin $LD_LIBRARY_PATH (64-bit) $SHLIB_PATH (32- or 64-bit) caliper fprof caliper ktrace trace (freeware) tusc (11+, freeware) /etc/default /etc/PATH /etc/MANPATH /etc/default/* /etc/csh.login /var/adm/syslog/syslog.log /var/adm/sulog /var/spool/mqueue/syslog

$LIBPATH probevue trace syscalls truss watch /etc/security/ mkuser.default /etc/environment /etc/csh.login /var/adm/syslog /var/adm/messages

tracing utility

strace ltrace /etc/profile /etc/security/ /etc/skel/ /etc/profile.d/* /etc/csh.login /var/log/syslog /var/log/messages /usr/adm/messages /var/log/maillog

define user defaults csh global .login default syslog and messages

system error reporting tool

performance monitoring

evmshow (11.31+) smh (11.31+) dmesg errpt sysdiag (9 and early10) stm/cstm/mstm/xstm (10.20+) EMS (from support CD) glance gpm ftp://ftp.software.ibm.com/ caliper aix/tools/perftools/perfpmr top; sar; vmstat; vmstat; iostat; sar; filemon; iostat; nfsstat; netstat; topas; trace; svmon; netpmon uustat; Glance($) ptree (11.31+) procfiles (5.2+, files only) /usr/dt/bin/dterror.ds AIX lsof fuser /usr/dt/bin/dterror.ds HP-UX

dmesg (deb) reportbug

prtdiag

vmstat procinfo -D top htop pstree lsof netstat -atup /usr/X11R6/bin/xmessage Linux

sar; iostat; kstat; mpstat; netstat; nfsstat; prstat; trapstat; vmstat; ptree fuser lsof2
pfiles

match process to file or port X pop-up Wikipedia

FAQs (see also faqs.org)

www.faqs.org/faqs/ aix-faq/part1/ preamble.html

www.faqs.org/faqs/ hp/hpux-faq/preamble.html

www.linuxdoc.org/ FAQ/Linux-FAQ www.debian.org/doc/ FAQ

/usr/dt/bin/dterror.ds Solaris http://opensolaris.org/os/about/faq/ www.faqs.org/faqs/Solaris2/ FAQ/ www.faqs.org/faqs/Solaris2/ x86/FAQ/ www.stokely.com/ unix.sysadm.resources/ faqs.sun.html sunhelp.org sun-managers@sunmanagers .org (majordomo)

mailing list

AIX-L@pucc. princeton.edu (LISTSERV)

hpux-admin@ dutchworks.nl (majordomo) hp-ux-l

www.linumanagers .org www.linux.org/ help/lists.html

mailing list archives

www.marist. edu/htbin/wlvindex? ADSM-L marc.theaimsgroup.com/ ?l=aix-l&r=1&w=2

www.dutch works.nl/ htbin/hpsysadmin

www.linuxmanagers.org/ pipermail/linuxmanagers lists.debian.org

www.sunmanagers.org/ archives.html www.latech. edu/sunman.html

man pages www.freebsd.org/ cgi/man.cgi

www.linuxmanpages.com/ publib.boulder.ibm.com/ docs.hp.com/en/hpuxman_pages. Fedora Core 4: infocenter/aix/v6r1/index.jsp? html linuxcommand.org/ topic=/com.ibm.aix.doc/doc/ hpuxman_pages.html superman_pages.php base/commandsreference.htm www.tldp.org/docs.html#man comp.sys.hp.hpux connect-community.org hp-interex.com encompassus.org hptechnologyforum.com forums.itrc.hp.com HP DSPP www.hpchronicle.com www.interex.org/hpuxusr www.hppro.com comp.os.linux.* (esp .answers)

docs.sun.com/ app/docs/ coll/40.10

comp.unix.aix newsgroup(s) and forums www.thp.uni-duisburg.de/ groups.google cuaix/cuaix.html

comp.sys.sun. admin, comp.unix.solaris

user groups

www.userblue.org

www.debianhelp.org

opensolaris.org/os/community/ advocacy/usergroups/ug-leaders/

magazines

n/a

www.linuxjournal.com www.linux-mag.com www.debianplanet.org www.linux.org www.debian.org gentoo.org www.redhat.com (SUSE) www.novell.com/linux tldp.org

www.sunworld.com sun.com/sun-on-net/itworld sun.com/solaris sun.com/bigadmin sun.com/developers/support soldc.sun.com access1.sun.com opensolaris.org docs.sun.com

vendor home page

www.developer.ibm.com/ tech/map/aixrm.html www-941.ibm.com/ hp.com/go/hpux collaboration/ wiki/display/WikiPtype/Home www.redbooks.ibm.com software.hp.com

vendor docs and patches (see also man pages)

www.ibm.com/ developerworks/aix techsupport.services. ibm.com/ server/support? view=pSeries

docs.hp.com itrc.hp.com

www.linuxdoc.org/ rpmfind.net/linux/RPM

sunsolve.sun.com

vendor phone (US)

wikis TASK / OS Footnotes

800-426-7378 begin_of_the_skype_highlight ing 800-426-7378 end_of_the_skype_highlightin 800-633-3600 g begin_of_the_skype_highlightin (800-IBM-SERV g 800-633-3600 end_ begin_of_the_skype_highlight of_the_skype_highlighting ing 800-IBM-SERV end_of_the_skype_highlighti ng) www.ibm.com/developerwork s/ ? wikis/display/WikiPtype/Hom e AIX HP-UX

800-USA-4SUN begin_of_the_skype_highlighting 800-USA-4SUN end_of_the_sky pe_highlighting

fedoraproject.org/ wiki/Main_Page (fed) susewiki.org (SUSE) Linux

wikis.sun.com www.big-up.org/menu/wiki/doku.php Solaris

1. In System V-based Unixes, run level relates to booting, shutdown, and single-user mode. In BSD, it has to do with security. 2. Freeware or separately downloadable; not part of the base OS. See the precompiled binaries task or web search. 3. Gentoo does not have precompiled packages. It compiles them on your computer. It also has some "overlays" for packages that are not (yet) in the main portage tree. See http://overlays.gentoo.org/ 4. ioscan -funC disk may be helpful here to determine device path. 5. Architecture-specific. See http://www.openbsd.org/cgi-bin/cvsweb/src/distrib/*/*/install.md for details.

Universal Command Guide is a large book which covers several of the OSs in this table. See www.allcommands.com UnixGuide.net has a similar table covering fewer Unix versions and a somewhat different set of tasks. See unixguide.net/cgi-bin/unixguide.cgi Colin Barschel's Unix Toolbox cb.vu/unixtoolbox.xhtml is a wonderfully detailed handbook sorted by task area and giving both commands and config file excerpts for Linux and BSD. coolcommands is a search engine giving one-line command examples: www.coolcommands.com/index.php?option=com_cc&Itemid=28 Solaris / HP-UX / FreeBSD / Linux / AIX: www.unixporting.com/quickguide.html Solaris / HP-UX: soldc.sun.com/migration/hpux/migissues/. If that page no longer exists, get an archived version from the Internet Archive Wayback Machine at
www.archive.org/web/web.php

AIX 4.3.3 / Solaris 8: www.redbooks.ibm.com/redpapers/pdfs/redp0104.pdf AIX 5.1.0 / Solaris 8: www.ibm.com/servers/aix/products/aixos/whitepapers/aixmapping.html Unix / DOS: yolinux.com/TUTORIALS/unix_for_dos_users.html Unix / TSO mainframe: yolinux.com/TUTORIALS/LinuxTutorialLinuxForMainframers.html Unix history time line: www.levenez.com/unix/ Unix cheat sheet: www.rain.org/~mkummel/unix.html Unix information: www.computerhope.com/unix.htm Unix summary: www.math.utah.edu/lab/unix/unix-commands.html Unix tips and tricks: sysunconfig.net Heiner Steven's AWK dialects page: www.shelldorado.com/articles/awkcompat.html Ben Zorn's Debugging Tools for Dynamic Storage Allocation and Memory Management: www.cs.colorado.edu/homes/zorn/public_html/MallocDebug.html Most modern Unixes conform to the POSIX standards: en.wikipedia.org/wiki/POSIX en.wikipedia.org/wiki/Comparison_of_operating_systems en.wikipedia.org/wiki/Comparison_of_Linux_distributions USENIX: www.usenix.org/ USENIX System Administrator's Guild: sage.org/

League of Professional System Administrators: lopsa.org/ This page is http://bhami.com/rosetta.html last updated 2010.12.05. This compilation Copyright 2000-2010 Bruce Hamilton bhami@pobox.com. Reproduce freely for personal use. Do not reproduce for commercial purposes. LINK don't copy, or you will miss updates! Original concept by Pat Wilson. Thanks to Bitt Faulk and Mrten Svantesson for the improved JavaScript.

Вам также может понравиться