문제

우리가는 비즈니스 응용 프로그램은 기본적으로 실행에서는 os-독립적인 스택(tomcat+java+mysql)그러나 우리는 항상 그것을 실행 redhat 또는 의미를 담을 수 있다.

가있는 고객을 주장하는 그것을 실행에 opensolaris 을 위해 자신의 이유로(비싼 것이 포함된 지원의 계약으로 일).

얼마나 고통할 수 있는 그러한 마이그레이션을 수?우리는 많은 구성 파일을 지원하는 스크립트와 같은:

  • 아파치
  • 아파치는/tomcat 커넥터
  • 이메일과 상호 작용 후위
  • 맞춤서비스 시작/중지
  • 몇 cron 작업(백업 모니터링)
  • 다른 사용자 권한(java,mysql,이메일,백업...)

우리 빌드 프로세스를 출력합니다.tar.gz 파일의 비즈니스 코드를+쉘 스크립트 편집하는 모든 os 구성 파일이 있습니다.

이전에 경험이다.

도움이 되었습니까?

해결책

가장 큰 문제는 Solaris 표준 명령에없는 Linux에 제공된 GNU 도구에 사용한 비 포이스 (비표준) 옵션에 있습니다. GNU 세트에서 관련 도구를 포팅하는 것이 시스템 수정보다 간단하다고 결정할 수 있습니다. 명령에 대한 절대 경로 이름으로 코드를 묶은 경우 (/usr/bin/ls) 그러나 대신 GNU 버전을 사용하기로 결정했습니다. 대신 그 문제를 해결하는 방법을 찾아야합니다. 나는 OpenSolaris 버전을 GNU 버전으로 대체하는 것에 대해 매우 신중합니다. 시스템이 의존하는 것을 언제 깨뜨릴 것인지 알지 못합니다. 따라서 GNU 명령을 별도의 디렉토리에 넣을 것입니다. /usr/local 그것은 기계 소유자가 채워지기 때문에 응용 프로그램 선수로서 당신이가 아니라 시스템 명령 대신 사용하도록 준비합니다. (참고 : Solaris에서 /bin Symlink입니다 /usr/bin; 나는 Opensolaris 와도 마찬가지라고 생각합니다.) Afaik, postfix는 Opensolaris의 표준이 아니므로 설치 한 것을 확인해야합니다.

이 모든 것이 가능합니다 - 익을 수없는 것은 없습니다. 그러나 많은 것이 코드 기반에 달려 있습니다.

다른 팁

우리는 OpenSolaris를 웹 서버로 사용하지는 않지만 둘 다 실행합니다.

좋은 :

  • Opensolaris는 GNU 도구와 함께 제공되므로 길을 올바르게 얻으십시오.

  • 대부분의 것들은 단지 제작하고 잘 작동합니다.

그렇게 좋지 않음 :

  • Bash를 설치하고 사용하고 있는지 확인하십시오. 그렇지 않으면 당신이 사용하고 있다고 생각하지 않은 모든 bashisms가 당신을 물게 할 것입니다.

  • /usr /bin 또는 /bin에 대한 하드 코딩 된 경로를 사용하지 않는지 확인하십시오. 이러한 도구는 GNU가 아니므로 다른 옵션이 있습니다. 위에서 언급 한대로 /usr /gnu를 사용하십시오.

  • Yum 또는 Apt와 같이 곧장 설치할 수있는 수많은 패키지가 없습니다. 그렇습니다. 패키지 관리자가 있습니다. 그다지 잘 채워지지 않습니다. 결과적으로 아마도 패키지를 손으로 설치하게 될 것입니다. 그들은 설치해야합니다. 시스템 관리자에게는 조금 더 많은 작업 일뿐입니다.

  • Opensolaris가 하드웨어에서 잘 작동한다고 확신합니까? 확인할 가치가 있습니다. 일부 하드웨어 드라이버가 잘 테스트되지 않았다는 것을 알 수 있습니다.

그렇지 않으면 우리는 Opensolaris가 친절하다고 생각합니다. 좋은 아이디어가 많이 있습니다.

Nexenta를 보셨습니까? http://www.nexenta.org/os Ubuntu Userland가있는 Opensolaris 커널입니다.

OpenSolaris 포함하는 모든 GNU 유틸리티 이미지 당신의 스크립트에서는/usr/gnu/bin

설치 후지 않는 현재 어떤 문제,그리고 아파치 서버에 존재하는 기본 OpenSolaris 설치(사실에서,이 멋진 웹 스 물건은 그것에 대해 쉽게 관리로 고객님이/인스턴트 레일).을 넘어서는,SMF 매니페스트(SMF 체 위해 rc 스크립트의 종류 다음과 같 OSX 의 launchd 할 수 있지만,여전히 사용하는 일반 init 스크립트)를 만들 수 있습니다 당신의 인생을 더 쉽게 때문에,종속성을 지정하고 실행하기 위해 약간 좋네요(그것을 재귀적으로 시작/중지 모든 종속 서비스도).

Tomcat 확실히 작동,하지만 모두 내가 알고 있에 OpenSolaris 사용 GlassFish.만,느린 ftp 를 방지만,배포.전쟁은 거의 동일한다.

그것은 할 수 없는 나쁜 첫 번째 단계에 배포 LX 브랜드존(생각 FreeBSD 감옥 또는 Linux 에 vserver 에 대한 비교),로 LX 브랜드 구역을 실행할 수 있습 Linux 바이너리,그리고 명시적으로 CentOS/RHEL 기반으로합니다.

다른 것보다,OpenSolaris 은 젠 dom0 이후 b77 또는 무언가를,그리고 CentOS/RHEL 로 domU 은 죽은 간단하는 경우,그 선택권입니다.

당신은 또한 모든 Solaris 케이크와 함께 그것은(대부분,순차,네트워크 가상화[를 통해 석궁],etc.).누가 알아?을 수도 있습니다!Java 자바도록 야기해서는 안됩니다.

  • Centos와 Opensolaris에서는 아마도 스크립트의 큰 부분 (사용자 창작, 서비스 시작)을 다시 작성해야 할 것입니다.

  • 이전에 작성된대로 고객에게 GNU 도구를 설치하도록 요청하여 스크립트를 다시 작성하는 작업이 적게됩니다.

  • OS 구성 파일도 동일한 형식이 아닐 수도 있으므로 확인해야합니다.

  • tar.gz 파일은 문제없이 추출 할 수 있어야하지만 GNU 도구를 사용하면 다시 덜 놀라운 일이 있습니다. 일부 UNIX OS에는 일부 제한이있는 타르가 있습니다

이것에 대한 이전 경험.

(어쩌면 약간의 외부인)

우리는 스크립트에서 참조 된 모든 이진리와 함께 Java/Tomcat/Postgresql/Unix 응용 프로그램을 포장하고 배포합니다. 이는 우리가 지원하는 각 OS마다 1 개의 빌드 시스템을 갖추고 있음을 의미합니다.이 내용은 응용 프로그램뿐만 아니라 외부 바이너리를 지원하지만 결국에는 나쁜 놀라움이 없습니다.

또한 응용 프로그램을 설치하기 전에 모든 루트 작업 (사용자 작성, 디렉토리 작성, Sendmail Config, System Tuning)을 수행하도록 요청합니다. 우리는 지원되는 모든 OS에 대한 종료 / 스타트 업 스크립트를 작성했으며 설치는 고객 시스템에 루트에서하는 유일한 일입니다.

당신이 트롤이라는 사실 외에도 누군가가 (열린) Solaris가 다음과 같이 말했습니다. -ZFS -DTRACE

우리는 당신이 당신의 RHCE 직업을 잃지 않는 것을 두려워한다는 것을 이해할 수 있지만, 사람들을 인터뷰 할 때 모든 인증을 무시하기로 한 고용주로서의 결정이 좋은 사람이라는 것을 다시 한 번 증명했습니다. 그러한 사람들의 많은 비율 (특히 Microsoft World에서)은 그렇게 열린 마음이 아니고 그것을 멋지게 넣을 것 같습니다.

안부, 알렉스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top