2019/10/02(水)ユーザの追加
adduserコマンド は perlスクリプトファイルで対話的である。
useraddコマンドは バイナリファイルで 対話的でない。
OpenBSD-PINE64$ file `which adduser` /usr/sbin/adduser: a /usr/bin/perl script text executable OpenBSD-PINE64$ file `which useradd` /usr/sbin/useradd: ELF 64-bit LSB shared object, AArch64, version 1
adduserコマンドは問いに答えていくと必要な設定も行える為、1ユーザを作るときに向いている。
OpenBSD-PINE64# adduser Use option ``-silent'' if you don't want to see all warnings and questions. Reading /etc/shells Check /etc/master.passwd Check /etc/group Ok, let's go. Don't worry about mistakes. There will be a chance later to correct any input. Enter username []: bsduser Enter full name []: Enter shell csh ksh nologin sh [ksh]: Uid [1001]: Login group bsduser [bsduser]: Login group is ``bsduser''. Invite bsduser into other groups: guest no [no]: Login class authpf bgpd daemon default pbuild staff unbound [default]: Enter password []: Enter password again []: Name: bsduser Password: **** Fullname: bsduser Uid: 1001 Gid: 1001 (bsduser) Groups: bsduser Login Class: default HOME: /home/bsduser Shell: /bin/ksh OK? (y/n) [y]:
useraddコマンドは対話的ではないため様々な設定を個別に行う必要がある。
以下は useraddコマンドでbsduserを作成したところである。
OpenBSD-PINE64# useradd bsduser useradd: Warning: home directory `/home/bsduser' doesn't exist, and -m was not specified OpenBSD-PINE64# id bsduser uid=1001(bsduser) gid=1001(bsduser) groups=1001(bsduser)/home/bsduser ディレクトリがないことを注意されたので作成しておく。
OpenBSD-PINE64# mkdir /home/bsduser作ったホームディレクトリの所有者を変更する。
OpenBSD-PINE64# ls -lF /home/ drwxr-xr-x 2 root wheel 512 Apr 21 04:12 bsduser/ OpenBSD-PINE64# chown bsduser:bsduser /home/bsduser/ OpenBSD-PINE64# ls -lF /home/ drwxr-xr-x 2 bsduser bsduser 512 Apr 21 04:12 bsduser/パスワードの設定をする。
OpenBSD-PINE64# passwd bsduser Changing password for bsduser. New password: Retype new password:弱いパスワードだと注意される。
OpenBSD-PINE64# passwd bsduser Changing password for bsduser. New password: Please don't use an all-lower case password. Please use a different password. Unusual capitalization, control characters, or digits are suggested. New password:
最後に初期設定ファイルが /etc/skel/ディレクトリにある。
ここのファイルを各ユーザのホームディレクトリにコピーすればよい。
コピーした後のファイルはそのホームディレクトリのユーザが所有者になっていないとアクセスできないので注意。
OpenBSD-PINE64# ls -alF /etc/skel/ total 36 drwxr-xr-x 3 root wheel 512 Apr 17 21:16 ./ drwxr-xr-x 22 root wheel 1536 Apr 21 04:20 ../ -rw-r--r-- 1 root wheel 87 Apr 17 20:25 .Xdefaults -rw-r--r-- 1 root wheel 771 Apr 17 20:25 .cshrc -rw-r--r-- 1 root wheel 101 Apr 17 20:25 .cvsrc -rw-r--r-- 1 root wheel 359 Apr 17 20:25 .login -rw-r--r-- 1 root wheel 175 Apr 17 20:25 .mailrc -rw-r--r-- 1 root wheel 215 Apr 17 20:25 .profile drwx------ 2 root wheel 512 Apr 17 21:16 .ssh/ OpenBSD-PINE64# ls -alF /etc/skel/.ssh/ total 8 drwx------ 2 root wheel 512 Apr 17 21:16 ./ drwxr-xr-x 3 root wheel 512 Apr 17 21:16 ../ -rw------- 1 root wheel 0 Apr 17 20:25 authorized_keys OpenBSD-PINE64# cp -r /etc/skel/.* /home/bsduser/ OpenBSD-PINE64# chown -R bsduser /home/bsduser/.* OpenBSD-PINE64# ls -alF /home/bsduser/ total 36 drwxr-xr-x 3 bsduser bsduser 512 Apr 21 04:25 ./ drwxr-xr-x 4 root wheel 512 Apr 21 04:12 ../ -rw-r--r-- 1 bsduser bsduser 87 Apr 21 04:25 .Xdefaults -rw-r--r-- 1 bsduser bsduser 771 Apr 21 04:25 .cshrc -rw-r--r-- 1 bsduser bsduser 101 Apr 21 04:25 .cvsrc -rw-r--r-- 1 bsduser bsduser 359 Apr 21 04:25 .login -rw-r--r-- 1 bsduser bsduser 175 Apr 21 04:25 .mailrc -rw-r--r-- 1 bsduser bsduser 215 Apr 21 04:25 .profile drwx------ 2 bsduser bsduser 512 Apr 21 04:25 .ssh/ OpenBSD-PINE64# ls -alF /home/bsduser/.ssh/ total 8 drwx------ 2 bsduser bsduser 512 Apr 21 04:25 ./ drwxr-xr-x 3 bsduser bsduser 512 Apr 21 04:25 ../ -rw------- 1 bsduser bsduser 0 Apr 21 04:25 authorized_keys
2019/10/02(水)インストールしたときの設定内容
ブートログ
https://hesy.dyndns.dk/032
- ホストネームはOpenBSD-PINE64
- IPv4アドレスを固定
- IPv6は未設定
- rootの他にユーザを作成
- sshdを起動
- rootはssh接続不可
- ディスク全体を利用
- パッケージ全てをインストール
- タイムゾーンはAsia/Tokyo
2019/10/01(火)PINE のブートログ
U-Boot SPL 2019.01 (Apr 04 2019 - 12:21:29 -0600) DRAM: 1024 MiB Trying to boot from MMC1 NOTICE: BL31: v2.1(debug):2.1 NOTICE: BL31: Built : 10:19:53, Apr 4 2019 NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) NOTICE: BL31: Found U-Boot DTB at 0x4080c30, model: Pine64+ INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller NOTICE: BL31: PMIC: Detected AXP803 on RSB. INFO: PMIC: AXP803: dcdc1 voltage: 3.300V INFO: PMIC: AXP803: dcdc5 voltage: 1.360V INFO: PMIC: AXP803: dcdc6 voltage: 1.100V INFO: PMIC: AXP803: dldo1 voltage: 3.300V INFO: PMIC: AXP803: Enabling DC1SW INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services WARNING: BL31: cortex_a53: CPU workaround for 819472 was missing! WARNING: BL31: cortex_a53: CPU workaround for 824069 was missing! WARNING: BL31: cortex_a53: CPU workaround for 827319 was missing! INFO: BL31: cortex_a53: CPU workaround for 843419 was applied INFO: BL31: cortex_a53: CPU workaround for 855873 was applied INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 U-Boot 2019.01 (Apr 04 2019 - 12:21:29 -0600) Allwinner Technology CPU: Allwinner A64 (SUN50I) Model: Pine64+ DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 Loading Environment from FAT... *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: phy interface7 eth0: ethernet@1c30000 starting USB... USB0: USB EHCI 1.00 USB1: USB OHCI 1.0 USB2: USB EHCI 1.00 USB3: USB OHCI 1.0 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 2 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found EFI removable media binary efi/boot/bootaa64.efi libfdt fdt_check_header(): FDT_ERR_BADMAGIC Scanning disks on usb... Disk usb0 not ready Disk usb1 not ready Disk usb2 not ready Disk usb3 not ready Scanning disks on mmc... MMC Device 1 not found MMC Device 2 not found MMC Device 3 not found Found 3 disks 161866 bytes read in 14 ms (11 MiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC ## Starting EFI application at 40080000 ... disks: sd0* >> OpenBSD/arm64 BOOTAA64 0.16 boot> cannot open sd0a:/etc/random.seed: No such file or directory booting sd0a:/bsd: 2816312+707460+8745856+741512 [211288+109+337776+188118]=0xfc07d8 EHCI failed to shut down host controller. EHCI failed to shut down host controller. type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8 type 0x7 pa 0x44000000 va 0x40000000 pages 0x3ef8 attr 0x8 type 0x6 pa 0x47ef8000 va 0x3e024be000 pages 0x10 attr 0x8000000000000008 type 0x7 pa 0x47f08000 va 0x40000000 pages 0x30315 attr 0x8 type 0x2 pa 0x7821d000 va 0x7821d000 pages 0xbdc attr 0x8 type 0x4 pa 0x78df9000 va 0x78df9000 pages 0x1 attr 0x8 type 0x2 pa 0x78dfa000 va 0x78dfa000 pages 0x103 attr 0x8 type 0x1 pa 0x78efd000 va 0x78efd000 pages 0x28 attr 0x8 type 0x0 pa 0x78f25000 va 0x78f25000 pages 0x2 attr 0x8 type 0x6 pa 0x78f27000 va 0x3e334ed000 pages 0x1 attr 0x8000000000000008 type 0x0 pa 0x78f28000 va 0x78f23000 pages 0x4 attr 0x8 type 0x6 pa 0x78f2c000 va 0x3e334f2000 pages 0x1 attr 0x8000000000000008 type 0x2 pa 0x78f2d000 va 0x78f2d000 pages 0x5023 attr 0x8 type 0x5 pa 0x7df50000 va 0x3e38516000 pages 0x10 attr 0x8000000000000008 type 0x2 pa 0x7df60000 va 0x78f2d000 pages 0x20a0 attr 0x8 Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2019 OpenBSD. All rights reserved. https://www.OpenBSD.org OpenBSD 6.5 (RAMDISK) #83: Wed Apr 17 06:13:24 MDT 2019 deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/RAMDISK real mem = 941674496 (898MB) avail mem = 878891008 (838MB) mainbus0 at root: Pine64+ cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4 cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache cpu0: 512KB 64b/line 16-way L2 cache efi0 at mainbus0: UEFI 2.7 efi0: Das U-Boot rev 0x20190100 psci0 at mainbus0: PSCI 1.1, SMCCC 1.1 agtimer0 at mainbus0: tick rate 24000 KHz simplebus0 at mainbus0: "soc" syscon0 at simplebus0: "syscon" sxiccmu0 at simplebus0 sxipio0 at simplebus0: 103 pins ampintc0 at simplebus0 nirq 224, ncpu 4: "interrupt-controller" sxiccmu1 at simplebus0 sxipio1 at simplebus0: 13 pins sxirsb0 at simplebus0 "x-powers,axp803" at sxirsb0 addr 0x3a3 not configured "de2" at simplebus0 not configured "syscon" at simplebus0 not configured "dma-controller" at simplebus0 not configured "lcd-controller" at simplebus0 not configured "lcd-controller" at simplebus0 not configured sximmc0 at simplebus0 sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma "eeprom" at simplebus0 not configured "usb" at simplebus0 not configured "phy" at simplebus0 not configured ehci0 at simplebus0 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1 ohci0 at simplebus0: version 1.0 ehci1 at simplebus0 usb1 at ehci1: USB revision 2.0 uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1 ohci1 at simplebus0: version 1.0 "clock" at simplebus0 not configured "pinctrl" at simplebus0 not configured com0 at simplebus0: ns16550, no working fifo com0: console sxitwi0 at simplebus0 iic0 at sxitwi0 dwxe0 at simplebus0: address XX:XX:XX:XX:XX:XX rgephy0 at dwxe0 phy 1: RTL8169S/8110S/8211 PHY, rev. 5 "interrupt-controller" at simplebus0 not configured "hdmi" at simplebus0 not configured "hdmi-phy" at simplebus0 not configured sxirtc0 at simplebus0 "interrupt-controller" at simplebus0 not configured "clock" at simplebus0 not configured "pinctrl" at simplebus0 not configured "rsb" at simplebus0 not configured "watchdog" at simplebus0 not configured gpio0 at sxipio0: 32 pins gpio1 at sxipio0: 32 pins gpio2 at sxipio0: 32 pins gpio3 at sxipio0: 32 pins gpio4 at sxipio0: 32 pins gpio5 at sxipio0: 32 pins gpio6 at sxipio0: 32 pins gpio7 at sxipio0: 32 pins gpio8 at sxipio1: 32 pins usb2 at ohci0: USB revision 1.0 uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1 usb3 at ohci1: USB revision 1.0 uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1 scsibus0 at sdmmc0: 2 targets, initiator 0 sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SU02G, 0080> SCSI2 0/direct removable sd0: 1886MB, 512 bytes/sector, 3862528 sectors softraid0 at root scsibus1 at softraid0: 256 targets bootfile: sd0a:/bsd boot device: sd0 root on rd0a swap on rd0b dump on rd0b WARNING: preposterous clock chip time WARNING: CHECK AND RESET THE DATE! erase ^?, werase ^W, kill ^U, intr ^C, status ^T Welcome to the OpenBSD/arm64 6.5 installation program. (I)nstall, (U)pgrade, (A)utoinstall or (S)hell? I At any prompt except password prompts you can escape to a shell by typing '!'. Default answers are shown in []'s and are selected by pressing RETURN. You can exit this program at any time by pressing Control-C, but this can leave your system in an inconsistent state. Terminal type? [vt220] System hostname? (short form, e.g. 'foo') OpenBSD-PINE64 Available network interfaces are: dwxe0 vlan0. Which network interface do you wish to configure? (or 'done') [dwxe0] IPv4 address for dwxe0? (or 'dhcp' or 'none') [dhcp] 192.168.1.11 Netmask for dwxe0? [255.255.255.0] IPv6 address for dwxe0? (or 'autoconf' or 'none') [none] Available network interfaces are: dwxe0 vlan0. Which network interface do you wish to configure? (or 'done') [done] Default IPv4 route? (IPv4 address or none) 192.168.1.1 add net default: gateway 192.168.1.1 DNS domain name? (e.g. 'example.com') [my.domain] DNS nameservers? (IP address list or 'none') [none] 192.168.1.1 Password for root account? (will not echo) Password for root account? (again) Start sshd(8) by default? [yes] Setup a user? (enter a lower-case loginname, or 'no') [no] hesy Full name for user hesy? [hesy] Password for user hesy? (will not echo) Password for user hesy? (again) WARNING: root is targeted by password guessing attacks, pubkeys are safer. Allow root ssh login? (yes, no, prohibit-password) [no] Available disks are: sd0. Which disk is the root disk? ('?' for details) [sd0] Disk: sd0 geometry: 240/255/63 [3862528 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- *0: 0C 0 130 3 - 1 5 4 [ 8192: 8192 ] FAT32L 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: A6 1 5 5 - 2 172 42 [ 16384: 26624 ] OpenBSD Use (W)hole disk or (E)dit the MBR? [whole] Creating a msdos partition and an OpenBSD partition for rest of sd0...done. /dev/rsd0i: 32668 sectors in 8167 FAT16 clusters (2048 bytes/cluster) bps=512 spc=4 res=1 nft=2 rde=512 sec=32768 mid=0xf8 spf=32 spt=63 hds=255 hid=8192 The auto-allocated layout for sd0 is: # size offset fstype [fsize bsize cpg] a: 1806.7M 40960 4.2BSD 2048 16384 1 # / b: 59.3M 3741152 swap c: 1886.0M 0 unused i: 16.0M 8192 MSDOS Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] /dev/rsd0a: 1806.7MB in 3700192 sectors of 512 bytes 9 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/sd0a (cbe9f3aa878ffb01.a) on /mnt type ffs (rw, asynchronous, local) Let's install the sets! Location of sets? (disk http nfs or 'done') [http] HTTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] (Unable to get list from ftp.openbsd.org, but that is OK) HTTP Server? (hostname or 'done') ftp.riken.jp Server directory? [pub/OpenBSD/6.5/arm64] Select sets by entering a set name, a file name pattern or 'all'. De-select sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'. [X] bsd [X] base65.tgz [X] game65.tgz [X] xfont65.tgz [X] bsd.mp [X] comp65.tgz [X] xbase65.tgz [X] xserv65.tgz [X] bsd.rd [X] man65.tgz [X] xshare65.tgz Set name(s)? (or 'abort' or 'done') [done] Cannot determine prefetch area. Continue without verification? [no] yes Installing bsd 100% |**************************| 9198 KB 00:02 Installing bsd.mp 100% |**************************| 9265 KB 00:02 Installing bsd.rd 100% |**************************| 12845 KB 00:03 Installing base65.tgz 100% |**************************| 148 MB 02:35 Extracting etc.tgz 100% |**************************| 260 KB 00:00 Installing comp65.tgz 100% |**************************| 51128 KB 01:09 Installing man65.tgz 100% |**************************| 7385 KB 00:18 Installing game65.tgz 100% |**************************| 2732 KB 00:02 Installing xbase65.tgz 100% |**************************| 18681 KB 00:24 Extracting xetc.tgz 100% |**************************| 6939 00:00 Installing xshare65.tgz 100% |**************************| 4448 KB 00:21 Installing xfont65.tgz 100% |**************************| 39345 KB 00:33 Installing xserv65.tgz 100% |**************************| 10064 KB 00:06 Location of sets? (disk http nfs or 'done') [done] What timezone are you in? ('?' for list) [Canada/Mountain] ? Africa/ Chile/ GB-Eire Israel Navajo US/ America/ Cuba GMT Jamaica PRC UTC Antarctica/ EET GMT+0 Japan PST8PDT Universal Arctic/ EST GMT-0 Kwajalein Pacific/ W-SU Asia/ EST5EDT GMT0 Libya Poland WET Atlantic/ Egypt Greenwich MET Portugal Zulu Australia/ Eire HST MST ROC posix/ Brazil/ Etc/ Hongkong MST7MDT ROK posixrules CET Europe/ Iceland Mexico/ Singapore right/ CST6CDT Factory Indian/ NZ Turkey Canada/ GB Iran NZ-CHAT UCT What timezone are you in? ('?' for list) [Canada/Mountain] Asia What sub-timezone of 'Asia' are you in? ('?' for list) ? Aden Chongqing Jerusalem Novokuznetsk Tashkent Almaty Chungking Kabul Novosibirsk Tbilisi Amman Colombo Kamchatka Omsk Tehran Anadyr Dacca Karachi Oral Tel_Aviv Aqtau Damascus Kashgar Phnom_Penh Thimbu Aqtobe Dhaka Kathmandu Pontianak Thimphu Ashgabat Dili Katmandu Pyongyang Tokyo Ashkhabad Dubai Khandyga Qatar Tomsk Atyrau Dushanbe Kolkata Qostanay Ujung_Pandang Baghdad Famagusta Krasnoyarsk Qyzylorda Ulaanbaatar Bahrain Gaza Kuala_Lumpur Rangoon Ulan_Bator Baku Harbin Kuching Riyadh Urumqi Bangkok Hebron Kuwait Saigon Ust-Nera Barnaul Ho_Chi_Minh Macao Sakhalin Vientiane Beirut Hong_Kong Macau Samarkand Vladivostok Bishkek Hovd Magadan Seoul Yakutsk Brunei Irkutsk Makassar Shanghai Yangon Calcutta Istanbul Manila Singapore Yekaterinburg Chita Jakarta Muscat Srednekolymsk Yerevan Choibalsan Jayapura Nicosia Taipei What sub-timezone of 'Asia' are you in? ('?' for list) Tokyo Saving configuration files... done. Making all device nodes... done. Multiprocessor machine; using bsd.mp instead of bsd. Relinking to create unique kernel... done. CONGRATULATIONS! Your OpenBSD install has been successfully completed! When you login to your new system the first time, please read your mail using the 'mail' command. Exit to (S)hell, (H)alt or (R)eboot? [reboot] syncing disks... done ehci0: halt timeout ehci0: reset timeout rebooting...
2019/10/01(火)PINE64+ に OpenBSD6.5 をインストールした
内容は以前に行った内容と同じである。
シングルボードコンピュータへのOpenBSDのインストール
https://hesy.dyndns.dk/019
インストールに使ったのは次のボードである。
PINE A64 (+)
https://www.pine64.org/devices/single-board-computers/pine-a64/
PINE A64 Wiki
https://wiki.pine64.org/index.php/PINE_A64_Main_Page
まず公式サイトからインストール用ファイルをダウンロードする。
https://www.openbsd.org/faq/faq4.html
minirootXX.fs [arm64] から miniroot65.fs をダウンロードした。
LinuxなどのUnix系OSを使い、マイクロSDカードにデータを書き込む。
次のコマンドは Ubuntu で実行したもので 書き込む先のマイクロSDは /dev/sdb となっている。
$ sudo dd if=miniroot65.fs of=/dev/sdb bs=1M status=progress
書き込みが終われば、PINE に挿し込む、シリアル接続し、LANケーブルを繋いだ後、電源ケーブルを差す。
シリアルの接続は以前の記事を見てもらうとして、今回はシリアルのコンソールをTeraTermProにした。
コンソール画面にはインストールの画面が表示されるので指示に従い入力を行えばインストールが出来る。
インストールが完了した直後のOSの容量は次のようになっていた。
尚、インストールはXを含めすべてを導入済みである。
Filesystem Size Used Avail Capacity Mounted on /dev/sd0a 1.7G 938M 751M 56% /かなり軽量ではあるが、以前と比べるとかなりデータ量が増えたようだ。
2019/07/01(月)OpenBSD の vi
viコマンドはハードリンクによりex、viewと同じ実体である。
/usr/bin/ex
/usr/bin/vi
/usr/bin/view
viの設定は、次のファイルに書く。
- /etc/vi.exrc
- $HOME/.nexrc
- $HOME/.exrc
.nexrc、.exrc は個人の設定を書き込む。設定は .nexrc が先に読み込まれる。
マニュアルによると次のオプションがある。
altwerase [off]
vi only. Select an alternate word erase algorithm.
autoindent, ai [off]
Automatically indent new lines.
autoprint, ap [on]
ex only. Display the current line automatically.
autowrite, aw [off]
Write modified files automatically when changing files or
suspending the editor session.
backup [""]
Back up files before they are overwritten.
beautify, bf [off]
Discard control characters.
cdpath [environment variable CDPATH, or current directory]
The directory paths used as path prefixes for the cd command.
cedit [no default]
Set the character to edit the colon command-line history.
columns, co [80]
Set the number of columns in the screen.
comment [off]
vi only. Skip leading comments in shell, C and C++ language
files.
edcompatible, ed [off]
Remember the values of the `c' and `g' suffixes to the s, & and ~
commands, instead of initializing them as unset for each new
command.
escapetime [1]
The tenths of a second ex/vi waits for a subsequent key to
complete an key mapping.
errorbells, eb [off]
ex only. Announce error messages with a bell.
exrc, ex [off]
Read the startup files in the local directory.
extended [off]
Use extended regular expressions (EREs) rather than basic regular
expressions (BREs). See re_format(7) for more information on
regular expressions.
filec []
Set the character to perform file path completion on the colon
command line.
flash [off]
Flash the screen instead of beeping the keyboard on error.
hardtabs, ht [0]
Set the spacing between hardware tab settings. This option
currently has no effect.
iclower [off]
Makes all regular expressions case-insensitive, as long as an
upper-case letter does not appear in the search string.
ignorecase, ic [off]
Ignore case differences in regular expressions.
keytime [6]
The tenths of a second ex/vi waits for a subsequent key to
complete a key mapping.
leftright [off]
vi only. Do left-right scrolling.
lines, li [24]
vi only. Set the number of lines in the screen.
list [off]
Display lines in an unambiguous fashion.
lock [on]
Attempt to get an exclusive lock on any file being edited, read
or written.
magic [on]
When turned off, all regular expression characters except for `^'
and `$' are treated as ordinary characters. Preceding individual
characters by `\' re-enables them.
matchtime [7]
vi only. The tenths of a second ex/vi pauses on the matching
character when the showmatch option is set.
mesg [on]
Permit messages from other users.
noprint [""]
Characters that are never handled as printable characters.
number, nu [off]
Precede each line displayed with its current line number.
octal [off]
Display unknown characters as octal numbers, instead of the
default hexadecimal.
open [on]
ex only. If this option is not set, the open and visual commands
are disallowed.
paragraphs, para [IPLPPPQPP LIpplpipbpBlBdPpLpIt]
vi only. Define additional paragraph boundaries for the and
commands.
path [""]
Define additional directories to search for files being edited.
print [""]
Characters that are always handled as printable characters.
prompt [on]
ex only. Display a command prompt.
readonly, ro [off]
Mark the file and session as read-only.
recdir [/tmp/vi.recover]
The directory where recovery files are stored.
remap [on]
Remap keys until resolved.
report [5]
Set the number of lines about which the editor reports changes or
yanks.
ruler [off]
vi only. Display a row/column ruler on the colon command line.
scroll, scr [($LINES - 1) / 2]
Set the number of lines scrolled.
searchincr [off]
Makes the / and ? commands incremental.
sections, sect [NHSHH HUnhshShSs]
vi only. Define additional section boundaries for the [[ and ]]
commands.
secure [off]
Turns off all access to external programs.
shell, sh [environment variable SHELL, or /bin/sh]
Select the shell used by the editor.
shellmeta [~{
Set the meta characters checked to determine if file name
expansion is necessary.
shiftwidth, sw [8]
Set the autoindent and shift command indentation width.
showmatch, sm [off]
vi only. Note matching `' and `(' for `' and `)' characters.
showmode, smd [off]
vi only. Display the current editor mode and a "modified" flag.
sidescroll [16]
vi only. Set the amount a left-right scroll will shift.
tabstop, ts [8]
This option sets tab widths for the editor display.
taglength, tl [0]
Set the number of significant characters in tag names.
tags, tag [tags]
Set the list of tags files.
term, ttytype, tty [environment variable TERM]
Set the terminal type.
terse [off]
This option has historically made editor messages less verbose.
It has no effect in this implementation.
tildeop [off]
Modify the ~ command to take an associated motion.
timeout, to [on]
Time out on keys which may be mapped.
ttywerase [off]
vi only. Select an alternate erase algorithm.
verbose [off]
vi only. Display an error message for every error.
w300 [no default]
vi only. Set the window size if the baud rate is less than 1200
baud.
w1200 [no default]
vi only. Set the window size if the baud rate is equal to 1200
baud.
w9600 [no default]
vi only. Set the window size if the baud rate is greater than
1200 baud.
warn [on]
ex only. This option causes a warning message to be printed on
the terminal if the file has been modified since it was last
written, before a ! command.
window, w, wi [environment variable LINES - 1]
Set the window size for the screen.
windowname [off]
Change the icon/window name to the current file name even if it
can't be restored on editor exit.
wraplen, wl [0]
vi only. Break lines automatically, the specified number of
columns from the left-hand margin. If both the wraplen and
wrapmargin edit options are set, the wrapmargin value is used.
wrapmargin, wm [0]
vi only. Break lines automatically, the specified number of
columns from the right-hand margin. If both the wraplen and
wrapmargin edit options are set, the wrapmargin value is used.
wrapscan, ws [on]
Set searches to wrap around the end or beginning of the file.
writeany, wa [off]
Turn off file-overwriting checks.