패키지 충돌은 크게 2가지가 있는데 1. 같은 패키지가 버전이 다르다 2. 같은 버전이 패키지가 다르다(소스 or 바이너리 등)

아치의 경우엔 배포되는 최신 버전만 존재해서 1은 애초에 허용하지 않고 2는 provide conflict를 써서 베타적으로 지워버림

젠투는 1은 SLOT이라는 개념을 사용해서 SLOT만 다르면 한 패키지의 여러 버전을 동시에 설치할수 있음 예를들어서 gcc는 6 7 8 9 10 다섯개 다 동시에 설치하는게 가능함 2는 virtual 패키지를 만들어서 아치의 provide 비슷하게 해줌

그래서 이렇게 여러 버전/패키지의 툴을 설치할때 디폴트는 뭐냐면 eselect를 써서 사용자가 kernel/gcc/rustc/jvm ... 기타등등을 선택함 gcc 9랑 10 깔려있으면 eselect gcc set 1하면 gcc:9가 선택되고 eselect gcc set 2하면 gcc:10이 선택됨