/lib 폴더를 깨끗하게 유지하는 방법은 무엇입니까?

/lib 폴더를 깨끗하게 유지하는 방법은 무엇입니까?

C 프로그램에 사용할 라이브러리를 설치해 왔습니다. /lib 폴더를 깨끗하게 유지하는 방법이 있습니까? 하위 디렉터리, 링크 등을 사용하여 관리할 수 있나요? 정말 지저분해지고 나중에 제거하려는 경우 특정 라이브러리를 적절하게 제거할 수 있을지 확신할 수 없습니다.

/bin에도 같은 문제가 있습니다.

저는 집에서는 OSX를, 직장에서는 CentOS6을 사용하고 있으며 IT 부서와 협력하여 GCC와 같은 몇 가지를 설치하고 있습니다. yum 패키지는 최신 GCC에서 작동하지 않습니다.

답변1

/lib 폴더를 깨끗하게 유지하는 방법이 있습니까?

libUnix/Linux 유형 시스템의 디렉토리는 본질적으로 "깨끗"하지 않습니다. 이는 시스템에 필요한 모든 라이브러리 파일을 함께 보관하는 집계 디렉터리입니다.

더 이상 필요하지 않은 라이브러리가 포함될 수 있습니다. 이 문제를 결정하고 처리하는 올바른 도구는 다음과 같습니다.패키지 관리자.

그것은 명백하다yum+rpmCentOS 6 머신에서.

OS X에서는 상황이 덜 명확합니다. OS X에는 많은 패키지 관리자가 있으며 일부는 내장되어 있고 일부는 타사도 있습니다.

  • 아마도 OS X에서 응용 프로그램과 해당 종속 라이브러리 간의 연결을 관리하는 가장 일반적인 방법은 .app패키지를 사용하는 것입니다. 사용자는 패키지를 끌어다 놓거나 설치 /Applications~/Applications다음 휴지통으로 끌어 제거합니다.

    Finder에서 OS X 응용 프로그램 패키지는 개별 파일처럼 보이고 작동하지만 실제로는 종속 라이브러리 등을 포함할 수 있는 파일로 가득 찬 디렉터리입니다. (앱을 마우스 오른쪽 버튼으로 클릭하고 "패키지 콘텐츠 표시"를 선택하여 살펴보세요.) 따라서 앱을 휴지통으로 끌어서 "제거"하면 기본 실행 파일만 삭제되는 것이 아니라 모든 애플리케이션 관련 라이브러리도 제거됩니다. 코드가 아닌 자산.

    이것이 기본적으로 Mac App Store가 작동하는 방식입니다. 이러한 의미에서 App Store 프로그램은 yum또는 역할을 수행하고 있습니다 apt-get. .app다운로드하는 파일은 CentOS 시스템의 RPM과 거의 다르지 않은 관리 패키지입니다.

    나는 이것이 당신이 원하는 것이라고 생각합니다. 실행 파일, 라이브러리 및 실행 파일의 다른 종속성은 모두 자체 하위 디렉터리에 보관되며 더 이상 필요하지 않을 때 쉽게 제거할 수 있습니다.

  • 일부 오래된 도구도 있지만 pkg*이러한 도구는 수년에 걸쳐 천천히 쓸모 없게 되었습니다. 이는 파일을 열고 해당 파일을 두 번 클릭하여 설치한 위치에 또는 파일을 .dmg가져올 때 사용하는 것입니다..pkg.mpkg

    이러한 도구는 시스템 전체에 파일을 분산시키며, 이를 제거할 수 있는 쉬운 자사 방법은 없습니다. 따라서다양한 타사 도구 및 수동 기술OS X pkg패키지를 제거하는 데 사용됩니다.

    따라서 시스템에 설치된 파일 세트를 정확하게 관리하는 것이 목표라면 OS X 패키지 파일을 사용하지 않는 것이 좋습니다.

  • OS X에는 세 가지 주요 타사 패키지 관리 시스템이 있습니다.펑키 재즈,맥 포트, 그리고스스로 만든.

    애플리케이션 패키지가 사용 사례에 맞지 않으면 다음 리포지토리 중 하나의 패키지를 사용하는 것이 좋습니다. 요즘 홈브루가 가장 주목받고 있는 것 같아요.

    이러한 패키지 시스템은 Linux 및 BSD 시스템의 패키지 관리자처럼 작동하며 간단한 명령줄 인터페이스에서 패키지를 설치, 업그레이드 및 제거할 수 있습니다.

저는 IT 부서와 협력하여 GCC와 같은 것들을 설치하고 있습니다. yum 패키지는 최신 GCC에서 작동하지 않습니다.

최신 GCC가 필요한 경우 CentOS를 사용하면 안 됩니다. CentOS의 핵심은 패키지 버전이 초기 운영 체제 릴리스 이전의 일정 기간(보통 6개월 이상!)부터 해당 버전의 수명 주기가 끝날 때까지 안정적으로 유지된다는 것입니다. 그런 다음 고정된 버전을 얻습니다.백포트운영 체제의 지원 수명 주기 동안 수정이 이루어집니다. 이는 유통 등이 안정을 얻는 방법 중 하나이다.

CentOS 6 시스템용 GCC의 최신 버전을 얻는 공식적인 방법은 단 하나뿐입니다. CentOS 7로 업그레이드하는 것입니다.

이 조언을 무시할 타당한 이유가 있다고 생각한다면 운영 체제에서 제공하는 버전과 동시에 설치된 GCC의 대체 버전을 구축할 수 있습니다. 아마도 가장 쉬운 방법은 사용자 정의 GCC를 구축할 때 스크립트 --prefix의 옵션을 사용하는 것입니다. configure예를 들어:

$ ./configure --prefix=/usr/local/gcc-5.3

나중에 말하면 make install생성된 바이너리, 라이브러리 및 코드가 아닌 자산은 Mac OS X 응용 프로그램 패키지가 작동하는 방식과 마찬가지로 해당 디렉토리 접두사 아래에 모두 배치됩니다.

이 작업이 완료되면 사용자 정의 GCC를 RPM으로 패키징할 수 있습니다.이 문서는 무료로 제공됩니다., 온라인에는 예가 풍부합니다. 또는 다른 사람이 이미 이 작업을 수행한 경우 해당 RPM을 사용할 수 있습니다.

답변2

/libOSX는 그것을 사용 하지 않습니다 /Library. /lib시스템 라이브러리(또는 /lib6464비트 시스템) 용 CentOS진짜그 위치에서 찾을 수 있을 것으로 예상됩니다. 청소할 경우 시스템이 손상될 수 있습니다.

대부분의 사람들은 다양한 시스템의 패키지와의 충돌을 피하기 위해 /usr/local( 등) 또는 일부 특이한 디렉토리에 패키지되지 않은 프로그램 /usr/local/bin을 설치합니다./usr/local/lib

대부분의 Unix 계열 시스템(이 시스템 포함)은 /bin좋은 정리를 사용하고 아마도 좋아하지 않을 것입니다.

관련 정보