리눅스에 포함될 공식 프로그램 목록?


28

내가 프로그램 (예를 들면의 목록을 참조 할 수있는 표준 있는가 cat, ls) 리눅스에 포함해야합니까?


8
busybox --list. 농담이야
Arthur2e5

8
리눅스는 커널이며 명령이 없습니다. 해당 커널 용으로 제작 된 일부 소프트웨어 배포판은 LSB 표준을 따르고, 다른 데비안 정책을 따르며, 대부분 다른 것들은 특별히 없습니다.
Stéphane Chazelas

@ StéphaneChazelas 동의하지만 데비안은 LSB를 지원하기 때문에 데비안 정책을 따르는 것은 LSB에 가깝다고 말합니다. (기본적으로는 아니지만 lsb패키지 를 통해 )
muru

2
@muru 데비안은 LSB를 포기합니다 : lists.debian.org/debian-lsb/2015/09/msg00008.html
derobert

1
리눅스 커널은 쉘 유틸리티의 완전한 보완이 무의미한 공간 낭비가 될 수있는 임베디드 또는 세미 임베디드 컨텍스트에서 사용되기 때문에 기술적으로는 아무것도 가정 할 수 없습니다 . "일반적인"유닉스 호환 쉘 환경에 무엇을 설치해야할지 궁금하다면 POSIX 나 LSB가 아니라 데비안이 "필수"로 간주하는 패키지 세트를 봅니다. "ip"와 같은 많은 필수 시스템 관리 도구는 전혀 표준화되지 않았습니다.
zwol

답변:


39

Linux Standard Base (LSB)에는 응용 프로그램 목록이 있습니다 .

[         du        install        mv            strings
ar        echo      install_initd  newgrp        strip
at        ed        ipcrm          nice          stty
awk       egrep     ipcs           nl            su
basename  env       join           nohup         sync
batch     expand    kill           od            tail
bc        expr      killall        passwd        tar
cat       false     ln             paste         tee
chfn      fgrep     locale         patch         test
chgrp     file      localedef      pathchk       tic
chmod     find      logger         pax           time
chown     fold      logname        pidof         touch
chsh      fuser     lp             pr            tput
cksum     gencat    lpr            printf        tr
cmp       getconf   ls             ps            true
col       gettext   lsb_release    pwd           tsort
comm      grep      m4             remove_initd  tty
cp        groupadd  mailx          renice        umount
cpio      groupdel  make           rm            uname
crontab   groupmod  man            rmdir         unexpand
csplit    groups    md5sum         sed           uniq
cut       gunzip    mkdir          sendmail      useradd
date      gzip      mkfifo         seq           userdel
dd        head      mknod          sh            usermod
df        hostname  mktemp         shutdown      wc
diff      iconv     more           sleep         xargs
dirname   id        mount          sort          zcat
dmesg     infocmp   msgfmt         split

이들 중 다수는 POSIX 1003.1-2001 표준의 일부로 포함되어 있지만 다음은 LSB에만 있거나 POSIX와 다른 사양 을 갖습니다 .

ar       echo      hostname       more          sh
at       egrep     install        mount         shutdown
awk      fgrep     install_initd  msgfmt        su
batch    file      ipcrm          newgrp        sync
bc       fuser     ipcs           od            tar
chfn     gettext   killall        passwd        umount
chsh     grep      lpr            patch         useradd
col      groupadd  ls             pidof         userdel
cpio     groupdel  lsb_release    remove_initd  usermod
crontab  groupmod  m4             renice        xargs
df       groups    md5sum         sed           zcat
dmesg    gunzip    mknod          sendmail
du       gzip      mktemp         seq

4
많은 'LSB 전용'프로그램은 실제로 POSIX에서 제공됩니다. 여기에는 awk, grep, ls, sed, sh, xargs가 포함됩니다. ar, at, batch, bc, crontab을 확인해야합니다. 다른 사람들도있을 수 있습니다.
Jonathan Leffler

@JonathanLeffler 정규식에서 실수를 했어야합니다. 내가 할 수 있으면 고칠거야.
muru

NP. 최상위 POSIX 2008 (2013) 페이지 또는 특히 유틸리티 목록을 사용 합니다. 여기에는 내가 언급 한 모든 가능성이 포함됩니다. 또한 참조 file, ipcrm, ipcs, m4, patch, 및 zcat째려 작업이 아닌 목록의 형식 검증의 그 - 나와.
Jonathan Leffler

1
@ 블랙 에드! ! man ed .
muru


8

리눅스 커널은 쉘 유틸리티의 완전한 보완이 무의미한 공간 낭비가 될 수있는 임베디드 또는 세미 임베디드 컨텍스트에서 사용되기 때문에 기술적으로는 아무것도 없을 것이라고 가정 할 수 없습니다 . 예를 들어, 파일 시스템에 부트 로더, 모 놀리 식 커널, /sbin/init장치가 필요로하는 모든 것을 수행 하는 커스텀 , 몇 가지 /dev항목 만 포함하는 IoT 장치를 구축하는 것은 문제가 되지 않습니다 .

POSIX.1-2008 "쉘 및 유틸리티"사양 도 muru의 대답에 링크는, 쉘 표준화하기위한 것입니다 프로그래밍 언어 등을 . 따라서 "전통적인"Unix 설치에있을 것으로 예상되는 대부분의 시스템 관리 도구는 포함되어 있지 않습니다. 불행히도 이것은 System V와 BSD 사이의 고대 Schism의 눈에 띄는 남아있는 흉터입니다. Linux에서 찾을 수있는 도구는 FreeBSD 또는 OSX의 도구와 다릅니다. 다시 말하지만 신뢰할만한 기준은 없습니다.

maru의 답변에서 누락 된 사항을 표시하기 위해 데비안 (불안정한) 패키지 가 "필수"인 것으로 간주되는 패키지 세트입니다 ( 공식 정의 : "필수 패키지 만있는 시스템은 사용할 수 없지만 기능은 충분합니다) 부팅하려면 sysadmin 수 있도록 더 많은 소프트웨어를 설치합니다. ")와 그 파일을 기여 /bin, /sbin, /usr/bin, 또는 /usr/sbin. 별표가 표시된 것은 "필수"일뿐 아니라 "필수"입니다. 즉, 다른 패키지 소프트웨어는 소프트웨어에 의존하지 않고 존재한다고 가정 할 수 있습니다.

base-passwd*            gzip*                   perl-base*
bash*                   hostname*               sed*
bsdutils*               initscripts             sensible-utils
coreutils*              libc-bin*               sysv-rc
dash*                   libpam-modules-bin      sysvinit-utils*
debianutils*            libpam-runtime          tar*
diffutils*              login*                  tzdata
dpkg*                   mawk¹                   util-linux*
e2fsprogs*              mount*                  xz-utils
findutils*              ncurses-bin*
grep*                   passwd

¹ awk-the-language는 "필수"이지만 sysadmin은 "mawk"또는 "gawk"구현을 원하는지 선택할 수 있습니다.

이것들은 "중요한"개념으로 간주되는 패키지입니다. "중요한"의 공식적인 정의는 "이를 발견 한 경험 많은 유닉스 사람은 '지구상에서 무슨 일이 일어나고 있는지, foo는 어디입니까?'라고 말할 것입니다.":

adduser         cpio            ifupdown        man-db          vim-common
apt             cron            iproute2        procps          vim-tiny
apt-utils       debconf         iputils-ping    rsyslog         wget
aptitude        dmidecode       isc-dhcp-client systemd         whiptail
aptitude-common gnupg           kmod            systemd-sysv
at              gpgv            less            traceroute
bsdmainutils    groff-base      logrotate       udev

이 두 번째 세트에는 psand와 같은 중요한 시스템 관리 도구가 포함되어 iproute2있지만, atand와 같은 일부 설치에서는 완전히 불필요 할 수도 있습니다 dmidecode. 두 세트 모두 dpkgand와 같은 데비안 고유의 것을 포함합니다 apt.

또한 두 세트가 함께 LSB에 필요한 기능 (또는 그 문제에 대한 POSIX + XSI)의 상위 세트 가 아님 을 주목 하십시오.

ar              gencat          lpr             msgfmt          strings
bc              gettext         lsb_release     patch           strip
ed              install_initd   m4              pax             time
file            killall         mailx           remove_initd
fuser           lp              make            sendmail

위의 패키지에는 있지만 LSB에는없는 유틸리티 목록은 길고 지루하지만 어쨌든 포함 된 "중요한 시스템 관리 도구"수를 강조하기 위해 포함하고 있습니다.

accessdb                        mkhomedir_helper
add-shell                       mklost+found
addgroup                        mkswap
addpart                         modinfo
adduser                         modprobe
agetty                          mountpoint
apropos                         mt-gnu
apt                             namei
apt-cache                       ncal
apt-cdrom                       ncurses5-config
apt-config                      ncursesw5-config
apt-extracttemplates            neqn
apt-ftparchive                  networkctl
apt-get                         newusers
apt-key                         nisdomainname
apt-mark                        nologin
apt-sortpkgs                    nproc
aptitude-create-state-bundle    nroff
aptitude-curses                 nsenter
aptitude-run-state-bundle       nstat
arch                            numfmt
arpd                            oldfind
badblocks                       ownership
base64                          pam-auth-update
bash                            pam_getenv
bashbug                         pam_tally
biosdecode                      pam_tally2
blkdiscard                      pam_timestamp_check
blkid                           partx
blockdev                        perl
bootctl                         perl5.20.2
bridge                          pg
bsd-from                        pgrep
bsd-write                       pic
busctl                          ping
cal                             ping6
calendar                        pinky
captoinfo                       pivot_root
catchsegv                       pkill
catman                          pldd
cfdisk                          pmap
chage                           poweroff
chattr                          preconv
chcon                           printenv
chcpu                           printerbanner
chgpasswd                       prlimit
chpasswd                        ptx
chroot                          pwck
chrt                            pwconv
clear                           pwdx
clear_console                   pwunconv
colcrt                          raw
colrm                           rbash
column                          readlink
cpgr                            readprofile
cppw                            realpath
cron                            reboot
ctrlaltdel                      remove-shell
ctstat                          rename.ul
dash                            reset
debconf                         resize2fs
debconf-apt-progress            resizepart
debconf-communicate             rev
debconf-copydb                  rgrep
debconf-escape                  rmmod
debconf-set-selections          rmt-tar
debconf-show                    routef
debugfs                         routel
delgroup                        rsyslogd
delpart                         rtacct
deluser                         rtcwake
depmod                          rtmon
dhclient                        rtstat
dhclient-script                 run-parts
diff3                           runcon
dir                             runlevel
dircolors                       runuser
dmidecode                       savelog
dnsdomainname                   script
domainname                      scriptreplay
dpkg                            sdiff
dpkg-deb                        select-editor
dpkg-divert                     sensible-browser
dpkg-maintscript-helper         sensible-editor
dpkg-preconfigure               sensible-pager
dpkg-query                      service
dpkg-reconfigure                setarch
dpkg-split                      setsid
dpkg-statoverride               setterm
dpkg-trigger                    sfdisk
dumpe2fs                        sg
e2freefrag                      sha1sum
e2fsck                          sha224sum
e2image                         sha256sum
e2label                         sha384sum
e2undo                          sha512sum
e4defrag                        shadowconfig
eqn                             shred
expiry                          shuf
factor                          skill
faillog                         slabtop
fallocate                       snice
fdformat                        soelim
fdisk                           ss
filefrag                        start-stop-daemon
findfs                          stat
findmnt                         stdbuf
flock                           sulogin
fmt                             sum
free                            swaplabel
fsck                            swapoff
fsck.cramfs                     swapon
fsck.ext2                       switch_root
fsck.ext3                       sysctl
fsck.ext4                       systemctl
fsck.ext4dev                    systemd
fsck.minix                      systemd-analyze
fsck.nfs                        systemd-ask-password
fsfreeze                        systemd-cat
fstab-decode                    systemd-cgls
fstrim                          systemd-cgtop
geqn                            systemd-delta
getent                          systemd-detect-virt
getopt                          systemd-escape
getty                           systemd-hwdb
gpasswd                         systemd-inhibit
gpg                             systemd-machine-id-setup
gpg-zip                         systemd-notify
gpgsplit                        systemd-path
gpgv                            systemd-run
gpic                            systemd-stdio-bridge
groff                           systemd-tmpfiles
grog                            systemd-tty-ask-password-agent
grops                           tabs
grotty                          tac
grpck                           tailf
grpconv                         tarcat
grpunconv                       taskset
gtbl                            tbl
gzexe                           tc
halt                            tcptraceroute.db
hd                              telinit
helpztags                       tempfile
hexdump                         timedatectl
hostid                          timeout
hostnamectl                     tload
hwclock                         toe
i386                            top
iconvconfig                     traceproto.db
ifdown                          traceroute-nanog
ifquery                         traceroute.db
ifup                            traceroute6.db
infotocap                       troff
init                            truncate
insmod                          tset
installkernel                   tune2fs
invoke-rc.d                     tunelp
ionice                          tzconfig
ip                              tzselect
ipcmk                           udevadm
ischroot                        ul
isosize                         uncompress
journalctl                      unix_chkpwd
killall5                        unix_update
kmod                            unlink
last                            unshare
lastb                           unxz
lastlog                         update-alternatives
ldattach                        update-passwd
ldconfig                        update-rc.d
ldconfig.real                   uptime
ldd                             users
less                            utmpdump
lessecho                        vdir
lessfile                        vigr
lesskey                         vim.tiny
lesspipe                        vipw
lexgrog                         vmstat
lft.db                          vpddecode
line                            w.procps
link                            wall
linux32                         watch
linux64                         wdctl
lnstat                          wget
localectl                       whatis
login                           whereis
loginctl                        which
logrotate                       whiptail
logsave                         who
look                            whoami
lorder                          wipefs
losetup                         x86_64
lsattr                          xxd
lsblk                           xz
lscpu                           xzcat
lsipc                           xzcmp
lslocks                         xzdiff
lslogins                        xzegrep
lsmod                           xzfgrep
lspgpot                         xzgrep
lzmainfo                        xzless
mandb                           xzmore
manpath                         yes
mawk                            ypdomainname
mcookie                         zcmp
md5sum.textutils                zdiff
mesg                            zdump
mke2fs                          zegrep
mkfs                            zfgrep
mkfs.bfs                        zforce
mkfs.cramfs                     zgrep
mkfs.ext2                       zic
mkfs.ext3                       zless
mkfs.ext4                       zmore
mkfs.ext4dev                    znew
mkfs.minix                      zramctl

1
포괄적. 데비안의 adduser (및 family)는 ... Debian입니다. 아치는 슬랙웨어를 사용하는데 이는 매우 다릅니다. 데비안 전용으로 들리지 않기 때문에 이름을 지정하는 것입니다. 그럼에도 불구하고 ip앞서 언급 한 명령 과 같습니다 .
muru

4

위키 백과 : 유닉스 명령어 목록Linuxconfig : 리눅스 명령 확실히 보이는 가치가있다.

그러나 많은 사람들이 표시된 디렉토리에 포함 된 내용을 탐색 echo $PATH한 다음 자세한 내용은 매뉴얼 페이지를 참조하는 경향이 있습니다.


디렉토리를 살펴보면 특정 배포판에 포함 된 내용 무엇인지 알려줄 것 입니다. 뭔가 빠진 것을보고 어떻게 알 수 있습니까?
Barmar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.