데비안에서 모든 GUI 관련 패키지를 제거하는 방법은 무엇입니까?

데비안에서 모든 GUI 관련 패키지를 제거하는 방법은 무엇입니까?

저는 Android의 chroot 환경에서 데비안을 사용하고 있습니다. 저는 GUI를 전혀 사용하지 않기 때문에 GUI 관련 패키지를 제거하여 공간을 확보하는 것이 가장 좋겠다고 생각했습니다.

  1. 모든 GUI 패키지를 제거하려면 어떻게 해야 합니까?
  2. 패키지를 제거한 후 문제가 발생하는 경우 제거된 패키지를 모두 다시 설치하려면 어떻게 해야 합니까? (선택 과목)

@Arpit Agarwal의 의견에 대한 응답으로 다음은 Android의 데비안 설치 프로세스에 대한 링크입니다. termux의 데비안


출력 apt purge libx11-6 libwayland-client0:

Reading package lists...
Building dependency tree...
Reading state information...
Package 'libwayland-client0' is not installed, so not removed
The following packages were automatically installed and are no longer required:
  aglfn fontconfig fontconfig-config fonts-dejavu-core fonts-droid-fallback
  fonts-liberation fonts-noto-mono ghostscript gnuplot-data gsfonts
  hicolor-icon-theme imagemagick-6-common info java-common krb5-locales
  libaec0 libamd2 libarpack2 libasound2 libasound2-data libauthen-sasl-perl
  libavahi-client3 libavahi-common-data libavahi-common3 libblas-common
  libblas3 libcamd2 libccolamd2 libcholmod3 libcolamd2 libcups2
  libcupsfilters1 libcupsimage2 libcurl3-gnutls libcxsparse3 libdatrie1
  libdjvulibre-text libdjvulibre21 libdrm-amdgpu1 libdrm-freedreno1
  libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 libencode-locale-perl
  libfftw3-double3 libfftw3-single3 libfile-listing-perl libflac8
  libfont-afm-perl libfontconfig1 libfreetype6 libgdk-pixbuf2.0-common
  libgfortran3 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglib2.0-data
  libglpk40 libgraphite2-3 libgs9 libgs9-common libgssapi-krb5-2 libharfbuzz0b
  libhdf5-100 libhtml-form-perl libhtml-format-perl libhtml-parser-perl
  libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl
  libhttp-daemon-perl libhttp-date-perl libhttp-message-perl
  libhttp-negotiate-perl libice6 libijs-0.35 libilmbase12 libio-html-perl
  libio-socket-ssl-perl libjack-jackd2-0 libjbig0 libjbig2dec0 libjpeg62-turbo
  libjxr-tools libjxr0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0
  liblapack3 liblcms2-2 libldap-2.4-2 libldap-common libllvm3.9 liblqr-1-0
  libltdl7 liblua5.1-0 liblwp-mediatypes-perl liblwp-protocol-https-perl
  libmailtools-perl libmetis5 libmng1 libnet-http-perl libnet-smtp-ssl-perl
  libnet-ssleay-perl libnetpbm10 libnghttp2-14 libnspr4 libnss3 libogg0
  libopenblas-base libopenexr22 libopenjp2-7 libopus0 libosmesa6
  libpango-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpcsclite1
  libpixman-1-0 libpng16-16 libportaudio2 libqhull7 libqrupdate1
  libqscintilla2-l10n libqt4-dbus libqt4-network libqt4-xml libqtcore4
  libqtdbus4 librtmp1 libsamplerate0 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libsensors4 libsm6 libsndfile1 libssh2-1
  libsuitesparseconfig4 libsz2 libtext-unidecode-perl libthai-data libthai0
  libtiff5 libtimedate-perl libtxc-dxtn-s2tc libumfpack5 liburi-perl
  libvorbis0a libvorbisenc2 libwebp6 libwww-perl libwww-robotrules-perl
  libx11-data libx11-xcb1 libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb1 libxdmcp6
  libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl
  libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxshmfence1
  libzip4 netpbm octave-common octave-info perl-openssl-defaults poppler-data
  psutils qdbus qtchooser qtcore4-l10n shared-mime-info tex-common texinfo ucf
  x11-common xdg-user-dirs
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  ca-certificates-java* default-jre-headless* gnuplot-nox* groff* imagemagick*
  imagemagick-6.q16* libaudio2* libcairo2* libfltk-gl1.3* libfltk1.3* libgd3*
  libgdk-pixbuf2.0-0* libgl1-mesa-glx* libgl2ps1* libglu1-mesa*
  libgraphicsmagick++-q16-12* libgraphicsmagick-q16-3* libmagick++-6.q16-7*
  libmagickcore-6.q16-3* libmagickcore-6.q16-3-extra* libmagickwand-6.q16-3*
  liboctave3v5* libpangocairo-1.0-0* libplot2c2* libpstoedit0c2a*
  libqscintilla2-12v5* libqt4-opengl* libqtgui4* libwmf0.2-7* libx11-6*
  libxaw7* libxcursor1* libxdamage1* libxext6* libxfixes3* libxft2* libxi6*
  libxinerama1* libxmu6* libxpm4* libxrender1* libxt6* libxtst6* libxxf86vm1*
  octave* openjdk-8-jre-headless* pstoedit* qt-at-spi*

Octave에 영향을 주지 않고 안전하게 제거할 수 있는 패키지에 대한 조언이 필요합니다. 그렇지 않은 경우 구체적인 답변을 제공할 수 없으면 이 질문이 종료될 수 있습니다.

답변1

Debian에서는 모든 GUI 패키지를 제거하려면 디스플레이 서버에 연결하는 데 사용되는 두 라이브러리를 제거하면 됩니다.

apt purge libx11-6 libwayland-client0

그러면 이러한 라이브러리에 의존하는 모든 패키지가 제거됩니다. 삭제 내용은 기록에 기록되므로 /var/log/apt삭제를 취소해야 하는 경우 기록에서 확인할 수 있습니다.

이것가능한CLI 및 GUI 도구가 포함된 일부 패키지를 캡처합니다. 대부분의 경우(모두는 아니지만) 이러한 도구는 기능적인 일반 텍스트 시스템을 가질 수 있도록 별도로 패키지됩니다.

답변2

Linux의 GUI는 서버와 클라이언트라는 두 부분으로 구성됩니다. @ stephen-kitt의 답변에는 후자만 언급되어 있습니다.

서버 부분을 제거하려면 다음을 사용하십시오. apt-get purge x11-common libwayland-server0

답변3

다른 사람들은 어떤 패키지를 보관해야 하는지에 대한 몇 가지 팁을 제공했습니다. 그래서 저는 주로 GUI 패키지에 집중합니다.

설치된 GUI 패키지를 제거하기 위한 몇 가지 아이디어는 다음과 같습니다. 확실하지 않은 한 프로덕션 시스템에서는 이 작업을 수행하지 마세요. 나는 제안한다화면위로 스크롤하여 삭제된 패키지 목록을 저장할 수 있는 세션입니다.

apt-get purge 'libx11*' x11-common
# "The following packages have unmet dependencies:" ...
# Add the listed packages to your commmand, e.g.:
apt-get purge libx11*' x11-common libxt6 xul-ext-mozvoikko

# Or remove everything that has "x11" in the name:
apt-get purge '*X11*'

x11-common에 의존하지 않는 것들이 꽤 있는 것 같습니다. "gnome" 종속성을 제거하십시오:

apt-get purge $(apt-cache depends gnome | grep Depends | awk '{print $2}')

"task-desktop" 메타패키지는 기본적으로 설치된 대부분의 데스크탑 패키지를 포함해야 합니다. 따라서 제거하십시오.

apt-get purge task-desktop

완료되면 다음을 잊지 마세요.

apt autoremove

다시 말하지만, 유지하려는 패키지 한두 개를 제거할 수 있으므로 목록을 살펴보고 다시 설치하려는 패키지를 기록해 두세요. 또한 프로그램 실행에 대해 생각해 보십시오. lightdm과 같은 로그인 관리자가 실행 중이면 해당 프로세스를 종료해야 합니다. 네트워크 서비스가 귀하의 도메인 이름을 관리하는 경우 파일 등에 이름 서버를 추가할 때까지 /etc/resolv.conf도메인 이름을 확인하지 못할 수도 있습니다( 더 이상 작동하지 않음).apt-get update

관련 정보