postgis 설치 중 Requires: libgeotiff.so.2()(64bit) 문제 해결
gdal에 필요한 라이브러리들을 설치하고 postgis를 설치하려니 아래와 같은 에러가 발생했다.
끄적이는 개발 노트
gdal에 필요한 라이브러리들을 설치하고 postgis를 설치하려니 아래와 같은 에러가 발생했다.
geotools를 다운해야 하는데 이클립스에서 다운을 해오지 못하는 에러가 발생했다. 확인해보니 아래의 미러 사이트가 열려있지 않았다.
회사 업무로 웹 페이지 최적화 작업을 맡게되었습니다. 이번에 해보면서 사용한 것들과 깨달은 점들을 정리해보려고 합니다.
우선 GitLab에 빈 Repository를 생성합니다.
그리고 빈 폴더를 하나 생성하고 SVN으로 부터 소스코드를 받습니다.
svn checkout svn://123.456.7.890:8080/test/svn
위의 명령어를 사용하면 쉽게 체크아웃을 받을 수 있습니다. 물론 TortoiseSVN을 설치해야 svn 명령어를 git bash에서도 사용할 수 있습니다. 명령어 쓰는 게 훨씬 편하니 이번 기회에 다운합니다. 설치할 때는 무작정 다음을 누르면 안 되고 command line 명령어를 사용할 수 있게 변경해 주어야 하는 점에 유의합니다.
.svn
폴더가 있는 폴더에서 작업을 시행해야 합니다.
svn info
를 사용해서 동작하면 올바른 디렉토리 입니다.
SVN의 커밋이력을 옮기려면 사용자 정보가 있어야 할 것입니다. 그래서 해당 SVN Repository에 있는 사용자 정보를 취합하겠습니다.
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt
위 명령어를 git bash에서 사용하면 텍스트 파일이 하나 생성되는데
park = park <park>
이런 식으로 되어있는 정보를
park = park <park@test.com>
형식으로 변경해서 txt 파일을 저장해두시면 됩니다.
우항의 정보만 변경해주면 됩니다.
park = 별칭 <git email>
이 파일에 있는 정보를 기반으로 git에 커밋 이력을 옮깁니다.
git svn init --no-metadata svn://123.456.7.890:8080/test/svn
이관하려는 svn에 맞게 git을 로컬에 생성하고 초기화 시킵니다.
위에서 생성한 유저 목록이 적혀있는 파일과 유저 정보를 설정한다.
git config svn.authorsfile ../users.txt (파일있는 경로)
git config --global user.name Park
git config --global user.email park@test.co.kr
git svn fetch
명령어를 통해 이제 svn으로 부터 로컬 git repostiory에 이관시킵니다.
인증을 요구하면 svn에서 사용했던 ID/PW를 입력하면 됩니다.
커밋 이력이 많으면 오래걸립니다.
이제 지금까지 작업한 소스를 다른 폴더에 넣고 Git에 업로드 하겠습니다.
디렉토리 구조를 한번 짚고 넘어가자면 svn_source가 지금까지 작업했던 디렉토리의 대략적인 모습이고 for_git_push 폴더가 업로드를 위해 새롭게 생성한 폴더입니다.
이제 소스코드 폴더 내에서 git clone . ../(생성한 폴더명)
명령어를 통해 지금까지 작업했던 소스를 옮깁니다.
이미지 디렉토리를 예시로 든다면 svn_source 폴더 내에서 git clone . ../for_git_push
로 코드를 옮길것입니다.
gitignore.io 사이트를 활용하여 .gitignore를 생성하여 새롭게 생성한 폴더에 넣어줍니다.
그리고 cd ../(생성한 폴더명)
으로 이동하여 이제는 신규 폴더에서 작업합니다.
git remote add TEST_GIT git@123.456.7.89:test/blog.git
git remote add 별칭 Git Repository 주소
위와 같은 형식의 명령어를 통해 등록합니다.
신규 폴더내에서 숨겨져 있는 폴더를 보시면 .git
이라는 폴더안에 config 파일이 있을 것입니다.
[core]
repositoryformatversion = 0
filemode = true // 확인
bare = false
logallrefupdates = true
ignorecase = true
[branch "master"]
remote = TEST_GIT // 확인
merge = refs/heads/master
[remote "TEST_GIT"]
url = git@123.456.7.89:test/blog.git
fetch = +refs/heads/*:refs/remotes/TEST_GIT/*
파일을 열어서 위와 같은 형식으로 되어 있는지 확인을 하고 그렇지 않다면 filemode와 remote 별칭 부분을 수정하여 저장합니다.
GitLab의 경우 본인이 Developer로 설정되어 있다면 push를 할 권한이 없으므로 관리자에게 여쭈어 권한을 수정하고 push를 진행합니다.
git rm -r --cached .
git add .
git commit -m "이관"
git push
push에 성공해도 GitLab에서 확인을 했을 때 SVN에서 작성했던 커밋 이력이 옮겨져 있지 않다면 제대로 되지 않은 것이니 Repository를 다시 생성해서 처음부터 다시 해보는게 좋습니다.
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
루비를 설치하려는데 위의 명령을 실행했을때 아래와 같이 경로를 못찾는 경우가 있다.
rbenv shims in path not found