Windowsã§Linux
ãWindowsã§Linuxã³ãã³ãã䜿ããå Žåãä»®æ³åæè¡ãæ®åããåã§ããã°ãCygwinãã®ãããªãœãããŠãšã¢ã䜿ãã®ãäžè¬çã ã£ãããã«æããä»®æ³åæè¡ãç»å ŽããåŸã¯ãä»®æ³ç°å¢ã«Linuxãã€ã³ã¹ããŒã«ããŠå©çšã§ããããã«ãªã£ãããããŠåæ¹ã®åãçµã¿ã®åŸç¶ãšããŠãCygwinã«ã¯ãMSYS2ãããä»®æ³åæè¡ã䜿ã£ãæ¹æ³ã®çºå±ç³»ãšããŠãWSL2ããååšãããšããã€ã¡ãŒãžã ã
WSL1/WSL2ã¯ãããããMicrosoftãæäŸããæšæºæ©èœã ããããã®æ©èœãç»å ŽãããŸã§ãWindowsã§Linuxã³ãã³ããæšæºæ©èœãšããŠå©çšã§ããããã«ãªããšã¯æããªãã£ããWSL1ãWSL2ãWindowsãšLinuxã«äžãã圱é¿ã¯å€§ãããPCã®OSãšããŠWindowsã¯å§åçãªã·ã§ã¢ãæã£ãŠããããã®OSã§Linuxã®ã³ãã³ããå©çšã§ãããšããããšã¯ãäžçäžã®å€§åã®PCã§Linuxã³ãã³ããå©çšã§ããç¶æ³ã«ãããšããããšã ã
ãããŸã§ãUNIXç³»ã³ãã³ãã®äºææ§ãšããé¢ã§ã¯å¯Ÿå¿ã®åŒ±ããåŠããªãã£ãWindowsã ããä»ã§ã¯Linuxã³ãã³ããå©çšãããªãWindowsãããã°ãããšèšãããŸã§ã®ç¶æ³ã«ãªã£ãŠãããããæ°å¹Žã®å€åã¯çžåœã«å€§ããã
Macã§Linux
Windowsã®ã·ã§ã¢ãšæ¯ã¹ããšãMacã®ã·ã§ã¢ã¯å°ãããStatCounter GlobalStatsã®ããŒã¿ã«ããã°ã2021幎11æã®PCã«ãããWindowsã®ã·ã§ã¢ã¯74%ãMacã®ã·ã§ã¢ã¯16%ã»ã©ã ã现ããã·ã§ã¢ã®å€åã¯ãããã®ã®ã幎éã§èŠããšã»ãŒãããããã®å²åã§æšªã°ãã®æšç§»ãèŠããŠããã
Windowsã¯Linuxãšã¯çãŸããçµç·¯ãç°ãªã£ãŠãããããšããšã·ã¹ãã ã³ãŒã«ã«äºææ§ããªãããã¡ããæäŸãããŠããããŒã¹ã³ãã³ãã«ãäºææ§ã¯ãªããæåçã«ã仿§çã«ã倧ããªéããããã
äžæ¹ãMacã¯UNIXç³»ã®ãœãããŠãšã¢ãåã蟌ã¿ãªããOSãéçºããŠãããPOSIXã«æºæ ãããšããã倧ããããŠãŒã¶ãŒã©ã³ãã¯FreeBSDããã³ãã³ããç§»æ€ããPOSIXã«æºæ ããã·ã¹ãã ã³ãŒã«ãæäŸãããŸããFreeBSDç¹æã®ã·ã¹ãã ã³ãŒã«ãªã©ãæäŸããŠããããããããUNIXç³»ã®ãœãããŠãšã¢ã§ãããäœ¿ãæ¹ã¯Linuxã«è¿ãã
ãã®ãããMacã¯WSL2ãMSYS2ãšãã£ãæè¡ã®å¿ èŠæ§ãäœããMacã«æåããåãã£ãŠããæ©èœãLinuxã®æäŸããŠãããã®ãšãã䌌ãŠãããå¥éãœãããŠãšã¢ãã€ã³ã¹ããŒã«ããããæ©èœãã»ããã¢ãããããããããšãªãå©çšã§ããããã ã
Macã§æäŸãããŠããã³ãã³ã
Macã§æäŸãããŠããã³ãã³ãã調ã¹ãŠã¿ãããmacOS Montereyã«æšæºã§å«ãŸããŠããã³ãã³ããšãããã«Command Line Tools for Xcodeãã€ã³ã¹ããŒã«ããç¶æ ã®ã³ãã³ãã¯ã次ã®ãããªæãã«ãªã£ãŠããã
| ãã¹ | ã³ãã³ã |
|---|---|
| /bin/ | [, bash, cat, chmod, cp, csh, dash, date, dd, df, echo, ed, expr, hostname, kill, ksh, launchctl, link, ln, ls, mkdir, mv, pax, ps, pwd, rm, rmdir, sh, sleep, stty, sync, tcsh, test, unlink, wait4path, zsh |
| /sbin/ | apfs_hfs_convert, apfs_unlockfv, disklabel, dmesg, dynamic_pager, emond, fibreconfig, fsck, fsck_apfs, fsck_cs, fsck_exfat, fsck_hfs, fsck_msdos, fsck_udf, fstyp, fstyp_hfs, fstyp_msdos, fstyp_ntfs, fstyp_udf, halt, ifconfig, kextload, kextunload, launchd, md5, mknod, mount, mount_9p, mount_acfs, mount_afp, mount_apfs, mount_cd9660, mount_cddafs, mount_devfs, mount_exfat, mount_fdesc, mount_ftp, mount_hfs, mount_lifs, mount_msdos, mount_nfs, mount_ntfs, mount_smbfs, mount_tmpfs, mount_udf, mount_webdav, mpioutil, newfs_apfs, newfs_exfat, newfs_hfs, newfs_msdos, newfs_udf, nfsd, nfsiod, nologin, pfctl, ping, ping6, quotacheck, reboot, route, shutdown, umount |
| /usr/bin/ | 2to3-, 2to3-2.7, AssetCacheLocatorUtil, AssetCacheManagerUtil, AssetCacheTetheratorUtil, DeRez, GetFileInfo, IOAccelMemory, IOMFB_FDR_Loader, ResMerger, Rez, SafeEjectGPU, SetFile, SplitForks, a2p, aa, actool, addftinfo, aea, afclip, afconvert, afhash, afida, afinfo, afktool, afmtodit, afplay, afscexpand, agentxtrap, agvtool, alias, app-sso, applesingle, appletviewer, apply, apropos, apt, ar, arch, as, asa, assetutil, at, atos, atq, atrm, atsutil, automationmodetool, automator, auval, auvaltool, avbdiagnose, avbutil, avconvert, avmediainfo, avmetareadwrite, awk, banner, base64, basename, bashbug, batch, bc, bg, biff, binhex, binhex.pl, binhex5.18.pl, binhex5.30.pl, bioutil, bison, bitesize.d, bputil, brctl, bsdtar, bspatch, bundle, bundler, bunzip2, bzcat, bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, bzmore, c++, c++filt, c2ph, c89, c99, caffeinate, cal, calendar, cancel, cap_mkdb, captoinfo, cc, cd, certtool, checknr, chflags, chfn, chgrp, chpass, chsh, cksum, clang, clang++, clangd, clear, cmp, cmpdylib, codecctl, codesign, codesign_allocate, col, colcrt, colldef, colrm, column, comm, command, compress, compression_tool, config_data, config_data5.30, corelist, corelist5.18, corelist5.30, cpan, cpan2dist, cpan5.18, cpan5.30, cpanp, cpanp-run-perl, cpio, cpp, cpu_profiler.d, cpuctl, cpuwalk.d, crc32, crc325.18, crc325.30, creatbyproc.d, crlrefresh, crontab, csplit, csreq, csrutil, ctags, ctf_insert, cu, cups-config, cupstestppd, curl, curl-config, cut, cvaffinity, cvcp, cvmkdir, cvmkfile, dappprof, dapptrace, db_archive, db_checkpoint, db_codegen, db_deadlock, db_dump, db_hotbackup, db_load, db_printlog, db_recover, db_stat, db_upgrade, db_verify, dbicadmin, dbicadmin5.18, dbicadmin5.30, dbilogstrip, dbilogstrip5.18, dbilogstrip5.30, dbiprof, dbiprof5.18, dbiprof5.30, dbiproxy, dbiproxy5.18, dbiproxy5.30, dc, debinhex.pl, debinhex5.18.pl, debinhex5.30.pl, defaults, delv, demandoc, desdp, diagnose-fu, diff, diff3, diffstat, dig, dirname, dispqlen.d, ditto, dmc, dns-sd, drutil, dscacheutil, dscl, dserr, dsexport, dsimport, dsmemberutil, dsymutil, dtruss, du, dwarfdump, dyld_info, easy_install, easy_install-2.7, egrep, enc2xs, enc2xs5.18, enc2xs5.30, encguess, encode_keychange, env, eqn, erb, errinfo, ex, execsnoop, expand, expect, extcheck, eyapp, eyapp5.18, eyapp5.30, false, fc, fddist, fdesetup, fg, fgrep, file, filebyproc.d, fileproviderctl, filtercalltree, find, find2perl, findrule, findrule5.18, findrule5.30, finger, fixproc, flex, flex++, fmt, fold, fontrestore, footprint, format-sql, format-sql5.18, from, fs_usage, funzip, fuser, fwkdp, fwkpfv, g++, gatherheaderdoc, gcc, gcore, gcov, gdiffmk, gem, gen_bridge_metadata, gencat, genstrings, getconf, getopt, getopts, git, git-receive-pack, git-shell, git-upload-archive, git-upload-pack, gm4, gnumake, gperf, grep, grn, grodvi, groff, groffer, grog, grolbp, grolj4, grops, grotty, groups, gunzip, gzcat, gzexe, gzip, h2ph, h2ph5.18, h2ph5.30, h2xs, h2xs5.18, h2xs5.30, hash, hdid, hdiutil, hdxml2manxml, head, headerdoc2html, heap, hexdump, hidutil, hiutil, host, hostinfo, hotspot.d, hpftodit, hpmdiagnose, htmltree, htmltree5.18, htmltree5.30, ibtool, iconutil, iconv, ictool, id, idle, idle2.7, idlj, imptrace, indent, indxbib, info, infocmp, infokey, infotocap, install, install-info, install_name_tool, instmodsh, instmodsh5.18, instmodsh5.30, iofile.d, iofileb.d, iopattern, iopending, iosnoop, iotop, ip2cc, ip2cc5.18, ip2cc5.30, ipcount, ipcount5.18, ipcount5.30, ipcrm, ipcs, ippeveprinter, ippfind, ipptool, iptab, iptab5.18, iptab5.30, irb, jar, jarsigner, java, javac, javadoc, javah, javap, javapackager, javaws, jcmd, jconsole, jcontrol, jdb, jdeps, jhat, jhsdb, jimage, jinfo, jjs, jlink, jmap, jmc, jobs, join, jot, jpackage, jps, jrunscript, jsadebugd, jshell, json_pp, json_pp5.18, json_pp5.30, json_xs, json_xs5.30, jstack, jstat, jstatd, jvisualvm, kcc, kdestroy, kextutil, keytool, kgetcred, kill.d, killall, kinit, klist, kmutil, kpasswd, krb5-config, kswitch, ktrace, lam, last, lastcomm, lastwords, latency, layerutil, ld, ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, ldapwhoami, leaks, leave, less, lessecho, lex, libnetcfg, libnetcfg5.18, libnetcfg5.30, libtool, lipo, lkbib, lldb, llvm-g++, llvm-gcc, loads.d, locale, localedef, locate, lockstat, log, logger, login, logname, look, lookbib, lorder, lp, lpoptions, lpq, lpr, lprm, lpstat, lsappinfo, lsbom, lskq, lsm, lsmp, lsvfs, lwp-download, lwp-download5.18, lwp-download5.30, lwp-dump, lwp-dump5.18, lwp-dump5.30, lwp-mirror, lwp-mirror5.18, lwp-mirror5.30, lwp-request, lwp-request5.18, lwp-request5.30, m4, macbinary, macerror, macerror5.18, macerror5.30, machine, mail, mailq, mailx, make, makeinfo, malloc_history, man, mandoc, mandoc_soelim, manpath, mcxquery, mcxrefresh, mddiagnose, mdfind, mdimport, mdls, mdutil, memory_pressure, mesg, mg, mib2c, mib2c-update, mig, mkbom, mkfifo, mklocale, mktemp, mmroff, mnthome, moo-outdated, moo-outdated5.18, moose-outdated, moose-outdated5.18, moose-outdated5.30, more, mp2bug, msgs, nano, native2ascii, nbdst, nc, ncal, ncctl, ncdestroy, ncinit, nclist, ncurses5.4-config, neqn, net-server, net-server5.18, net-server5.30, net-snmp-cert, net-snmp-config, net-snmp-create-v3-user, nettop, networkQuality, newaliases, newgrp, newproc.d, nfsstat, nice, nl, nm, nmedit, nohup, notifyutil, nroff, nscurl, nslookup, nsupdate, objdump, ocspcheck, od, odutil, open, opendiff, opensnoop, openssl, orbd, osacompile, osadecompile, osalang, osascript, otool, pack200, package-stash-conflicts, package-stash-conflicts5.18, package-stash-conflicts5.30, pagesize, pagestuff, par.pl, par5.30.pl, parl, parl5.30, parldyn, parldyn5.30, passwd, paste, patch, pathchk, pathopens.d, pbcopy, pbpaste, pcap-config, pcsctest, perl, perl5.18, perl5.30, perlbug, perlbug5.18, perlbug5.30, perldoc, perldoc5.18, perldoc5.30, perlivp, perlivp5.18, perlivp5.30, perlthanks, perlthanks5.18, perlthanks5.30, pfbtops, pgrep, pic, pico, piconv, piconv5.18, piconv5.30, pidpersec.d, pip3, pkgbuild, pkill, pl, pl2pm, pl2pm5.18, pl2pm5.30, plockstat, pluginkit, plutil, pmset, pod2html, pod2html5.18, pod2html5.30, pod2latex, pod2man, pod2man5.18, pod2man5.30, pod2readme, pod2readme5.18, pod2readme5.30, pod2text, pod2text5.18, pod2text5.30, pod2usage, pod2usage5.18, pod2usage5.30, podchecker, podchecker5.18, podchecker5.30, podselect, podselect5.18, podselect5.30, policytool, post-grohtml, power_report.sh, powermetrics, pp, pp5.30, ppdc, ppdhtml, ppdi, ppdmerge, ppdpo, pr, pre-grohtml, priclass.d, pridist.d, printenv, printf, procsystime, productbuild, productsign, profiles, prove, prove5.18, prove5.30, psed, psm, pstopdf, pstruct, ptar, ptar5.18, ptar5.30, ptardiff, ptardiff5.18, ptardiff5.30, ptargrep, ptargrep5.18, ptargrep5.30, pwhich, pwhich5.18, pwpolicy, pydoc, pydoc2.7, python, python-config, python2, python2.7, python2.7-config, python3, pythonw, pythonw2.7, qlmanage, quota, rails, rake, ranlib, rdoc, read, readlink, refer, renice, reset, resolveLinks, rev, ri, rmic, rmid, rmiregistry, rpcgen, rs, rsync, ruby, rview, rvim, rwbypid.d, rwbytype.d, rwsnoop, s2p, safaridriver, sample, sampleproc, sandbox-exec, say, sc_usage, scandeps.pl, scandeps5.18.pl, scandeps5.30.pl, schemagen, scp, screen, script, sdef, sdiff, sdp, sdx, security, sed, seeksize.d, segedit, seq, serialver, servertool, setregion, setuids.d, sfltool, sftp, shar, shasum, shasum5.18, shasum5.30, shlock, shortcuts, showmount, sigdist.d, sips, size, slogin, smbutil, smtpd.py, smtpd2.7.py, snfsdefrag, snmp-bridge-mib, snmpbulkget, snmpbulkwalk, snmpconf, snmpdelta, snmpdf, snmpget, snmpgetnext, snmpinform, snmpnetstat, snmpset, snmpstatus, snmptable, snmptest, snmptranslate, snmptrap, snmpusm, snmpvacm, snmpwalk, sntp, soelim, sort, sourcekit-lsp, spfd, spfd5.18, spfd5.30, spfquery, spfquery5.18, spfquery5.30, splain, splain5.18, splain5.30, split, sqlite3, ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan, stapler, stat, stringdups, strings, strip, stty.pl, stty5.18.pl, su, sudo, sum, sw_vers, swcutil, swift, swiftc, symbols, symbolscache, syscallbypid.d, syscallbyproc.d, syscallbysysc.d, syscapturediags, sysdiagnose, syslog, systemextensionsctl, tab2space, tabs, tail, tailspin, talk, tar, taskinfo, tbl, tbtdiagnose, tccutil, tclsh, tclsh8.5, tee, test-yaml, test-yaml5.30, texi2dvi, texi2pdf, texindex, textutil, tfmtodit, tftp, thermal, tic, tidy, tidy_changelog, tidy_changelog5.30, tiff2icns, tiffutil, time, timer_analyser.d, timerfires, timesyncanalyse, tkcon, tkmib, tkpp, tkpp5.30, tmdiagnose, tmutil, tnameserv, toe, top, tops, topsyscall, topsysproc, touch, tput, tr, trace, traptoemail, treereg, treereg5.18, treereg5.30, trimforce, troff, true, trustcachectl, tset, tsort, tty, type, ul, ulimit, umask, umtool, unalias, uname, uncompress, unexpand, unifdef, unifdefall, uniq, units, unpack200, unvis, unzip, unzipsfx, update_dyld_shared_cache, update_mcdp29xx, uptime, usbcfwflasher, users, uttype, uucp, uudecode, uuencode, uuidgen, uulog, uuname, uupick, uustat, uuto, uux, vi, view, vim, vimdiff, vimtutor, vis, vm_stat, vmmap, vtool, w, wait, wall, wc, wdutil, what, whatis, whereis, which, who, whoami, whois, wish, wish8.5, write, wsgen, wsimport, xar, xargs, xattr, xcode-select, xcodebuild, xcrun, xcscontrol, xcsdiagnose, xctrace, xed, xgettext.pl, xgettext5.18.pl, xgettext5.30.pl, xip, xjc, xml2-config, xml2man, xmlcatalog, xmllint, xpath, xpath5.18, xpath5.30, xslt-config, xsltproc, xsubpp, xsubpp5.18, xsubpp5.30, xxd, yaa, yacc, yamlpp-events, yamlpp-events5.30, yamlpp-highlight, yamlpp-highlight5.30, yamlpp-load, yamlpp-load-dump, yamlpp-load-dump5.30, yamlpp-load5.30, yamlpp-parse-emit, yamlpp-parse-emit5.30, yapp, yapp5.30, yes, zcat, zcmp, zdiff, zegrep, zfgrep, zforce, zgrep, zip, zipcloak, zipdetails, zipdetails5.18, zipdetails5.30, zipgrep, zipinfo, zipnote, zipsplit, zless, zmore, znew, zprint |
| /usr/sbin/ | BTLEServer, BTLEServerAgent, BlueTool, BootCacheControl, DevToolsSecurity, DirectoryService, KernelEventAgent, PasswordService, WirelessRadioManagerd, ab, ac, accton, amt, apachectl, applecamerad, appleh13camerad, appsleepd, arp, aslmanager, asr, audit, auditd, auditreduce, authserver, automount, avbdeviced, bless, bluetoothd, bnepd, cfprefsd, chat, checkgid, chown, chroot, ckksctl, coreaudiod, createhomedir, cron, cupsaccept, cupsctl, cupsd, cupsdisable, cupsenable, cupsfilter, cupsreject, cvadmin, cvdb, cvdbset, cvfsck, cvfsdb, cvfsid, cvgather, cvlabel, cvmkfs, cvupdatefs, cvversions, dbmmanage, ddns-confgen, dev_mkdb, disktool, diskutil, distnoted, dnctl, dot_clean, dsconfigad, dsconfigldap, dseditgroup, dsenableroot, dtrace, edquota, envvars, envvars-std, fcgistarter, fdisk, filecoordinationd, firmwarepasswd, gpt, graphicssession, gssd, hdik, htcacheclean, htdbm, htdigest, htpasswd, httpd, httpd-wrapper, httxt2dbm, iRATBW.mlmodelc, installer, ioalloccount, ioclasscount, ioreg, iostat, ipconfig, kadmin, kadmin.local, kcditto, kdcsetup, kextcache, kextfind, kextlibs, kextstat, klist_cdhashes, krbservicesetup, ktutil, languagesetup, localemanager, logresolve, lpadmin, lpc, lpinfo, lpmove, lsof, mDNSResponder, mDNSResponderHelper, mkextunpack, mkfile, mkpassdb, mtree, ndp, netbiosd, netstat, networksetup, newsyslog, nfs4mapid, nlcontrol, notifyd, nvram, ocspd, otctl, pdisk, periodic, pkgutil, postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postmulti, postqueue, postsuper, pppd, praudit, purge, pwd_mkdb, quotaoff, quotaon, racoon, rarpd, repairHomePermissions, repquota, rotatelogs, rpc.lockd, rpc.statd, rpcbind, rpcinfo, rtadvd, sa, sc_auth, screencapture, scselect, scutil, securityd, sendmail, serverinfo, setkey, setquota, sharing, skywalkctl, slapacl, slapadd, slapauth, slapcat, slapconfig, slapdn, slapindex, slappasswd, slapschema, slaptest, smbd, smbdiagnose, sndiskmove, snmpd, snmptrapd, snquota, sntpd, softwareupdate, spctl, spindump, spray, sshd, sso_util, sysadminctl, sysctl, syslogd, system_profiler, systemkeychain, systemsetup, systemsoundserverd, systemstats, taskpolicy, tcpdump, tpctl, traceroute, traceroute6, tsig-keygen, uasysdiagnose, universalaccessd, unsetpassword, usernoted, uuchk, uucico, uuconv, uusched, uuxqt, vifs, vipw, visudo, vpnd, vsdbutil, weakpass_edit, wfsctl, xartutil, xsanctl, xscertadmin, zdump, zic |
åçŽã«éèšãããšã次ã®ããã«åèšã§1350åãããã¯ã³ãã³ããå容ãããŠããããšã«ãªãã
REGNACROXE ~% ls /bin /sbin /usr/bin /usr/sbin | wc -l
1362
REGNACROXE ~%
æäŸãããã³ãã³ãã¯OSããšã«å€å°ç°ãªãã®ã§ååãéããã®ããããšæãããæ®æ®µLinuxã䜿ã£ãŠããæ¹ã¯æäŸãããŠããã³ãã³ãããã§ãã¯ããŠã¿ãŠã»ããããã€ã䜿ã£ãŠããã³ãã³ããçµæ§å«ãŸããŠããããšããããã¯ãã ãããã ãã§ãçµæ§Linuxçãªäœ¿ãæ¹ãã§ããã
ãã€ãã£ãã§ãã€ãã£ãé床ã«åãMacã®ã³ãã³ã
MSYS2ãšWSL2ã®ä»çµã¿ãšç¹åŸŽãæãåºããŠã¿ãŠããã ãããããŸããMSYS2ã¯Linuxã³ãã³ããWindowsã«ãŒãã«ã§ãã€ãã£ãã«åäœããããã«ãããã®ã ã£ãããã ããWindowsã«ãŒãã«ã®æäŸããŠããã·ã¹ãã ã³ãŒã«ã¯POSIXäºæã§ã¯ãªããã€ãŸããWindowsã§ã¯Linuxã®ã³ãã³ããã©ã€ãã©ãªã¯ãã®ãŸãŸã§ã¯å©çšã§ããªãã
MSYS2ã¯Linuxã®ã³ãã³ããããããWindows APIãªã©ã䜿ãããã¡ã§ç§»æ€ããã®ã§ã¯ãªããäžæã¬ã€ã€ãæãã§Linuxã·ã¹ãã ã³ãŒã«ã颿°ãWindowsã®é¢æ°ã䜿ãããã«çœ®ãæããæè¡ã§å®çŸãããšããæ¹æ³ã䜿ã£ãŠããããã®æ¹æ³ã§ããã°ããªãªãžãã«ã®Linuxã³ãã³ãã¯ãã®ãŸãŸã«ãWindowsã§ãã€ãã£ãã«åäœãããã€ããªãçæããããšãã§ãããããªãçæ³çãªç¶æ³ãªããã ããäžç¹ãå®è¡é床ããšãŠãé ããšããåé¡ããã£ãã
äžæ¹ãWSL2ã¯Hyper-Vãšããä»®æ³åæè¡ã䜿ã£ãŠLinuxã«ãŒãã«ãã®ãã®ãåäœããããã®ã ããã®ãããLinuxã§åäœããã³ãã³ãã§ããã°åºæ¬çã«WSL2ã§ãå©çšããããšãã§ãããããã«ãWSL2ã¯å®è¡é床ãé«éã§ãããšããç¹åŸŽããã£ããçµæ§é©ãã»ã©ã®é床ã§åäœãããä»®æ³ç°å¢å ã§åäœããŠããã®ã ããMicrosoftã¯WSL2ãWindowsãšã·ãŒã ã¬ã¹ã«çµ±åããåäœãèŠããããã«å·¥å€«ãå ããŠããããããªãã«ãã€ãã£ãã«åäœããŠããããã«ã䜿ãããšãã§ãããããªãããã§ããæè¡ã ããã ããäžéšã®ã³ãã³ãã¯Windowsããã¯ããŸãå©çšã§ããªãã»ããLinuxã«ãŒãã«ããã¡ã€ã«ã·ã¹ãã ãã£ãã·ã¥ãªã©ã«ã¡ã¢ãªã確ä¿ãããšå€§éã®ã¡ã¢ãªãWindowsããæãŠãããããšããåé¡ãããããšãææããã
ãã®ããã«ãMSYS2ãšWSL2ã¯å©çšããŠããæè¡ãæ ¹æ¬çã«ç°ãªã£ãŠããããã®ç¹æ§ã倧ããéã£ãŠãããããããã驿驿ã§äœ¿ããšããã®ããã®æè¡ã®æŽ»ç𿹿³ãšããããšã«ãªãã
äžæ¹ãMacã¯ç¶æ³ãç°ãªã£ãŠãããMacã®ã«ãŒãã«ã¯ããããPOSIXã®ã·ã¹ãã ã³ãŒã«ãçè§£ããã®ã§ãMSYS2ã®ããã«ãããã倿ã®ã¬ã€ã€ãæãå¿ èŠããªããLinuxã³ãã³ãã¯ã³ã³ãã€ã«ããã°ããŸãã¯ãœãŒã¹ã³ãŒãããã«ãæ¹æ³ã«ããããã®å€æŽãå ããã°ããã«ãããŠå©çšããããšãã§ãããMacã®ã«ãŒãã«ãçŽæ¥è§£éããŠå®è¡ããããšãã§ããã
ãã®ãããMSYS2ã®ããã«å®è¡é床ã100åãã¿ãããªé ãã«ãªãããšããªãããŸããMacã®ãã€ãã£ãã³ãã³ããšããŠãã®ãŸãŸå®è¡ãããã®ã§ãå®è¡é床ãé«éã ãããã«ãä»®æ³ç°å¢ã§åäœããŠããããã§ã¯ãªãã®ã§ãWSL2ã®ããã«ããŒãžã£ãããŸã䜿ããªããšãããããã£ãç°å¢ããŸããããšã§çºçããŠããŸãåé¡ãšãããã®ããªããMSYS2ãšWSL2ã®åæ¹ã®å©ç¹ããã®ãŸãŸäœ¿ããããããMacãšããããšã«ãªãã
ããã±ãŒãžç®¡çã·ã¹ãã
MSYS2ã«ã¯pacmanãWSL2ã«ã¯(ããã©ã«ãã®Ubuntuãã€ã³ã¹ããŒã«ããå Žåã«ã¯)aptãšããããã±ãŒãžç®¡çã·ã¹ãã ããããããã©ã«ãã§ã€ã³ã¹ããŒã«ãããŠããªãã³ãã³ãã䜿ãããšæã£ãããããã±ãŒãžç®¡çã·ã¹ãã ã䜿ã£ãŠãœãããŠãšã¢ãæ€çŽ¢ãã察象ãšãªããœãããŠãšã¢ãã€ã³ã¹ããŒã«ããŠå©çšããããšãã§ãããLinuxã§ã¯æšæºçãªäœ¿ãæ¹ã§ããããšãŠãéèŠãªæ©èœã ãæè¿ã¯WindowsãããããWingetãšåŒã°ãã䌌ããããªæ©èœãå®çŸããããã«ãªã£ããWindowsãWingetã®ç»å Žã§ãœãããŠãšã¢ç®¡çããšãŠãç°¡åã«ïŒç¹ã«ã¢ããã³ã¹ããŠãŒã¶ãŒã«ãšã£ãŠã¯ïŒãªã£ãŠããã®ã ã
Macã«ã¯ããã©ã«ãã§ã¯ããããæ©èœã¯ãªãããã ãããµãŒãããŒãã£ãŒè£œãšãªãããMacã§ã䌌ããããªããã±ãŒãžç®¡çã·ã¹ãã ãå©çšããããšãã§ãããæ¬çš¿å·çæç¹ã§ã¯ãHomebrewãã代衚çã§ã¯ãªãããšæãã
Homebrewã®äœ¿ãæ¹ã¯Ubuntuã®ãaptããšããã䌌ãŠããã®ã§ãLinuxã䜿ã£ãçµéšãããã°ãã»ãšãã©è¿·ãããšãªãå©çšã§ããã¯ãã ããã®ç¹ã«é¢ããŠãMacã¯åé¡ãå°ãªãã
MacãšWindowsã¯Linuxã³ãã³ãã®ãã©ãããã©ãŒã
Macã§ããã©ã«ãæäŸãããŠããã³ãã³ãã¯æ£ç¢ºã«ã¯å šãŠãLinuxã§ãã䜿ãããŠããã³ãã³ããšããããšã§ã¯ãªããç¹ã«ããŒã¹ã³ãã³ãã«ã¯FreeBSDç±æ¥ã®ã³ãã³ãã䜿ãããŠããããã®ãããLinuxã®ã³ãã³ããšæ¯ã¹ããšãªãã·ã§ã³ãåäœãªã©ãå€å°ç°ãªããããã¯UNIXç³»ã®OSã«ã¯ããããããšã§ãåãååã§ã³ãã³ãã§ããªãã·ã§ã³ãæåãéã£ãŠãããPOSIXã§èŠå®ãããŠããªããšããã¯OSããšã«ç°ãªã£ãŠããããšãå€ãã
ãã®ãããå®å šã«Linuxãšåãããã«äœ¿ããããã§ã¯ãªãã®ã ããHomebrewã䜿ã£ãŠåŸããããã±ãŒãžãã€ã³ã¹ããŒã«ããã°ãã»ãŒLinuxãšåããããªäœ¿ãæ¹ãã§ããããããªããšãMacãLinuxã®ãã©ãããã©ãŒã ãšããŠäœ¿ããšããã®ã¯ãçµæ§æåãªéžæè¢ãšãªã£ãŠããã
æåã«åãäžããåžå Žã·ã§ã¢ã«ã€ããŠããäžåºŠèŠãŠã¿ãããStatCounter GlobalStatsã®ããŒã¿ã«ããã°ã2021幎11æã®ããœã³ã³ã«ãããWindowsã®ã·ã§ã¢ã¯74%ãMacã®ã·ã§ã¢ã¯16%ã»ã©ã ãäž¡æ¹åããããšãPCã®ã·ã§ã¢ã®90%ã»ã©ã¯WindowsãšMacã§å ããããŠããããšããããšã«ãªãããããŠããã®2ã€ã®OSã¯Linuxã³ãã³ããå®è¡ã§ããç¶æ³ã«ãªã£ãŠãããåçŽã«èãããšäžçäžã®PCã®9å²ã§Linuxã³ãã³ããå©çšããããç¶æ³ã«ããããã ïŒWindowsã®å€ãããŒãžã§ã³ã¯ç¶æ³ãéãã®ã§å®éã®å²åã¯ãã£ãšäžããïŒã
ããã¯çµæ§å€§ããªããšã ããããŸã§ã¯Linuxã®ã³ãã³ãã¯Linuxã§äœ¿ããã®ã ãšèããããŠããããçŸåšã§ã¯Windowsã§ãMacã§ãå©çšã§ãããLinuxã³ãã³ãã®ã¹ãã«ã身ã«ä»ããŠããã°ãWindowsã§ãMacã§ããã®ã¹ãã«ãšæŽ»ããããšãã§ããã®ã ãLinuxã³ãã³ãã䜿ãããªãã¹ãã«ãããã©ãããã©ãŒã ãè¶ ããŠå©çšã§ããã¹ãã«ãšããŠäŸ¡å€ã®ãããã®ã«ãªãã€ã€ããã
