<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>루지</title>
    <link>https://luji.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 14 Oct 2026 11:00:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>루우지</managingEditor>
    <item>
      <title>[Docker] Gitlab CE 업그레이드 후 500 에러 (웹훅, OpenSSL:Cipher::CipherError())</title>
      <link>https://luji.tistory.com/109</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 포스트에서 정상적으로 업그레이드된 줄 알았으나 Git 관리자 페이지의 특정 기능들을 사용하려면 500 에러가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오후 6.10.32.png&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l61mw/btsI9ZcRg62/mCYNc0ybs7Eu0zO8D11xB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l61mw/btsI9ZcRg62/mCYNc0ybs7Eu0zO8D11xB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l61mw/btsI9ZcRg62/mCYNc0ybs7Eu0zO8D11xB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl61mw%2FbtsI9ZcRg62%2FmCYNc0ybs7Eu0zO8D11xB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1924&quot; height=&quot;1084&quot; data-filename=&quot;스크린샷 2024-08-20 오후 6.10.32.png&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt; sudo docker logs gitlab -f&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그를 확인해보면 아래와 같은 OpenSSL 에러가 발생된걸 확인 할 수 있다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;OpenSSL::Cipher::CipherError ():

lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:55:in `get_token'
app/models/concerns/token_authenticatable_strategies/base.rb:27:in `ensure_token'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:42:in `ensure_token'
app/models/concerns/token_authenticatable.rb:38:in `block in add_authentication_token_field'
app/services/application_settings/update_service.rb:18:in `execute'
app/controllers/admin/application_settings_controller.rb:40:in `update'
lib/gitlab/i18n.rb:55:in `with_locale'
lib/gitlab/i18n.rb:61:in `with_user_locale'
app/controllers/application_controller.rb:420:in `set_locale'
lib/gitlab/middleware/multipart.rb:103:in `call'
lib/gitlab/request_profiler/middleware.rb:16:in `call'
...
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;찾아보니 마이그레이션, 혹은 백업 복구시 기존 SSL 관련된것들이 처리가 제대로 안된듯한 이슈로 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확한것은 Gitlab 컨테이너의 상태 체크를 해보는것이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 Docker Container로 접속한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt; docker exec -it &amp;lt;gitlab-container-id&amp;gt; /bin/bash&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;아래의 명령어를 사용하여 secrets 인증 관련된 상태를 체크 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&amp;gt;&amp;gt;  gitlab-rake gitlab:doctor:secrets VERBOSE=1&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-21 오전 10.27.21.png&quot; data-origin-width=&quot;1345&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHD312/btsJaSw2kqJ/EhjiMzlcm6sB0P9Se6ZSTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHD312/btsJaSw2kqJ/EhjiMzlcm6sB0P9Se6ZSTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHD312/btsJaSw2kqJ/EhjiMzlcm6sB0P9Se6ZSTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHD312%2FbtsJaSw2kqJ%2FEhjiMzlcm6sB0P9Se6ZSTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1345&quot; height=&quot;721&quot; data-filename=&quot;스크린샷 2024-08-21 오전 10.27.21.png&quot; data-origin-width=&quot;1345&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-21 오전 10.27.25.png&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wRQwn/btsI9Zxb1zN/Jz1WarujFuwLQjWnc62Bb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wRQwn/btsI9Zxb1zN/Jz1WarujFuwLQjWnc62Bb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wRQwn/btsI9Zxb1zN/Jz1WarujFuwLQjWnc62Bb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwRQwn%2FbtsI9Zxb1zN%2FJz1WarujFuwLQjWnc62Bb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;990&quot; height=&quot;642&quot; data-filename=&quot;스크린샷 2024-08-21 오전 10.27.25.png&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;642&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;벌써부터 보이는 빨간색 에러 항목들.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순차적으로 처리해보며 원하는 기능이 동작하는지 확인해봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;otp_secret Error&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724215826911&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;Login for 2fa users fails after a restore (#1960) &amp;middot; Issues &amp;middot; GitLab.org / GitLab FOSS &amp;middot; GitLab&quot; data-og-description=&quot;Hi, I have a production CE instance running 7.11.4. Some users have 2FA enabled. When I take a backup of the system it completes without errors,...&quot; data-og-host=&quot;gitlab.com&quot; data-og-source-url=&quot;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&quot; data-og-url=&quot;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/sjX4f/hyWSfeqf6w/atcqkbJQQkp60QkCkhLg10/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/RmUR5/hyWSjum7fK/wmMgHQdz55kZS5by2ekov1/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512&quot;&gt;&lt;a href=&quot;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/sjX4f/hyWSfeqf6w/atcqkbJQQkp60QkCkhLg10/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/RmUR5/hyWSjum7fK/wmMgHQdz55kZS5by2ekov1/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Login for 2fa users fails after a restore (#1960) &amp;middot; Issues &amp;middot; GitLab.org / GitLab FOSS &amp;middot; GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Hi, I have a production CE instance running 7.11.4. Some users have 2FA enabled. When I take a backup of the system it completes without errors,...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 해결방법을 참고하여 수정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 gitlab-rails 명령어를 사용하여 모든 사용자들의 OTP 인증 기능을 OFF 했다. (어차피 내부망에서 사용하지 않는 기능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt; gitlab-rails runner User.update_all(otp_required_for_login: false, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_backup_codes: nil)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상 수행 되면 아래의 명령어로 gitlab 재설정을 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt; gitlab-ctl reconfigure&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;ApplicationSetting[1] : ci_jwt_signing_key, error_tracking_access_token&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 에러는 Gitlab이 사용하는 PostgreSQL의 테이블들에 기록된 Token 값들을 삭제해주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 명령어를 사용하여 PostgreSQL 콘솔에 접속한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt; gitlab-psql&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 특정 테이블의 runners_token 컬럼을 null 처리 해주는 작업을 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Update &lt;b&gt;projects&lt;/b&gt; Set runners_token = null, runners_token_encrypted = null;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Update &lt;b&gt;namespaces&lt;/b&gt; Set runners_token = null, runners_token_encrypted = null;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Update&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;application_settings&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Set runners_registration_token_encrypted = null;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Update &lt;b&gt;ci_runners&lt;/b&gt; Set token = null, token_encrypted = null;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-21 오전 11.55.26.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kSxb7/btsJaAKbT5J/VKupAGh0knfFz58Pm0x3o1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kSxb7/btsJaAKbT5J/VKupAGh0knfFz58Pm0x3o1/img.png&quot; data-alt=&quot;중간에 오타로 실패한 쿼리는 넘어가주세요 ㅎㅎ,,&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kSxb7/btsJaAKbT5J/VKupAGh0knfFz58Pm0x3o1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkSxb7%2FbtsJaAKbT5J%2FVKupAGh0knfFz58Pm0x3o1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;948&quot; height=&quot;609&quot; data-filename=&quot;스크린샷 2024-08-21 오전 11.55.26.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;중간에 오타로 실패한 쿼리는 넘어가주세요 ㅎㅎ,,&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자는 이 단계 까지 진행한뒤 관리자 페이지에서 문제가 되었던 WebHook 기능을 설정하려고 하니 정상 동작하였다.&lt;/p&gt;</description>
      <category>Docker</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/109</guid>
      <comments>https://luji.tistory.com/109#entry109comment</comments>
      <pubDate>Wed, 21 Aug 2024 14:01:34 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Gitlab CE 업그레이드 하기 (14 ver later) 2탄</title>
      <link>https://luji.tistory.com/108</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1편에서 13버전의 Last까지 업그레이드는 성공했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14버전도 동일하게 진행하려고 하였으나 14버전에서 부터는 Background Migration이 적용됬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/update/background_migrations.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724126005815&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Background migrations and upgrades | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot; data-og-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/e48oq/hyWSihD5zE/CSiuWvcEzk6YdDhwL97K3K/img.png?width=1305&amp;amp;height=265&amp;amp;face=0_0_1305_265&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/e48oq/hyWSihD5zE/CSiuWvcEzk6YdDhwL97K3K/img.png?width=1305&amp;amp;height=265&amp;amp;face=0_0_1305_265');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Background migrations and upgrades | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14버전의 초입까지는 쉽게 마이그레이션이 되었으나 그 다음 버전부터 이미지 교체 후 실행하면 컨테이너가 정상 작동하지 않는 현상이 발생됬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations.html#batched-background-migrations&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/update/background_migrations.html#batched-background-migrations&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724126043449&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Background migrations and upgrades | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html#batched-background-migrations&quot; data-og-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/6K2au/hyWSgc4rJI/XkHCvcvx3u2g83BgsHFtgk/img.png?width=1305&amp;amp;height=265&amp;amp;face=0_0_1305_265&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations.html#batched-background-migrations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations.html#batched-background-migrations&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/6K2au/hyWSgc4rJI/XkHCvcvx3u2g83BgsHFtgk/img.png?width=1305&amp;amp;height=265&amp;amp;face=0_0_1305_265');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Background migrations and upgrades | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그를 뜯어보면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;Expected batched background migration for the given configuration to be marked as 'finished', but it is 'active':&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라는 메세지를 찾을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말 그대로 Background Migration이 완료되지 않은 상태에서 진행되어 발생된 현상이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html#database-migrations-failing-because-of-batched-background-migration-not-finished&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html#database-migrations-failing-because-of-batched-background-migration-not-finished&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724126237255&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Troubleshooting | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html#database-migrations-failing-because-of-batched-background-migration-not-finished&quot; data-og-url=&quot;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html#database-migrations-failing-because-of-batched-background-migration-not-finished&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/update/background_migrations_troubleshooting.html#database-migrations-failing-because-of-batched-background-migration-not-finished&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Troubleshooting | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가이드에 나온 트러블 슈팅을 보며 정확히 내가 마주한 현상의 로그가 발생된걸 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 이전에 백업을 뜬 버전으로 롤백했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(&lt;a href=&quot;https://luji.tistory.com/97&quot;&gt;https://luji.tistory.com/97&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;참고)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Background Migration 현황 확인하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확하진 않지만 13버전 마지막, 혹은 14버전 초반까지 업그레이드가 모니터링 매뉴에 Backgorund Migrations가 추가된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Gitlab 홈페이지 관리자 계정 로그인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 상단 메뉴 -&amp;gt; 관리자 -&amp;gt; 관리자 영역의 모니터링 탭 -&amp;gt; Background Migration 메뉴 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오전 10.49.44.png&quot; data-origin-width=&quot;1709&quot; data-origin-height=&quot;606&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmr7Gv/btsI7GSCgHp/kKAuTqOThki5wWdLVn1SP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmr7Gv/btsI7GSCgHp/kKAuTqOThki5wWdLVn1SP1/img.png&quot; data-alt=&quot;Background Migration 현황&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmr7Gv/btsI7GSCgHp/kKAuTqOThki5wWdLVn1SP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcmr7Gv%2FbtsI7GSCgHp%2FkKAuTqOThki5wWdLVn1SP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1709&quot; height=&quot;606&quot; data-filename=&quot;스크린샷 2024-08-20 오전 10.49.44.png&quot; data-origin-width=&quot;1709&quot; data-origin-height=&quot;606&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Background Migration 현황&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오전 11.20.35.png&quot; data-origin-width=&quot;2586&quot; data-origin-height=&quot;838&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhhAI/btsI84kwdpI/aVVtGLGJuoeYTNp43gNKZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhhAI/btsI84kwdpI/aVVtGLGJuoeYTNp43gNKZ1/img.png&quot; data-alt=&quot;큐에 들어간 작업 목록(진행중)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhhAI/btsI84kwdpI/aVVtGLGJuoeYTNp43gNKZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlhhAI%2FbtsI84kwdpI%2FaVVtGLGJuoeYTNp43gNKZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2586&quot; height=&quot;838&quot; data-filename=&quot;스크린샷 2024-08-20 오전 11.20.35.png&quot; data-origin-width=&quot;2586&quot; data-origin-height=&quot;838&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;큐에 들어간 작업 목록(진행중)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 화면에서 Background Migration의 현황을 확인 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 체크해야할 부분은 Queued(진행중), 실패 메뉴에 항목이 없고, 완료 탭에 모든것이 &lt;b&gt;Finished&lt;/b&gt; 상태여야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Queued은 진행될 작업이 쌓여있으며 순차적으로 실행 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든것이 Finished 상태가 된다면 앞서서 진행한 방식대로 이미지 교체 방식으로 Git을 업그레이드 하면된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진행하다 보니 모든 버전에서 Background Migration이 진행되는것은 아니였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 버전을 기점으로 진행되는거 같으니 항상 업그레이드가 끝난 뒤 관리자 페이지에서 현황을 확인해보고 진행해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 버전별로 백업을 진행하여 태초마을로 돌아가지 않도록 주의하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sidekiq 프로세스 설정 (선택, 딱히 효과 없는듯)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀더 빠른 진행을 위해 Sidekiq의 프로세스 수를 늘려줘 봤다.&lt;br /&gt;이 Sidekiq의 Multiple processes 처리를 위해 프로세스의 갯수를 임의로 늘릴 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gitlab에서 제공하는 Sidekiq은 백그라운드 관리자와 비슷한 역할인듯하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724128156447&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Run multiple Sidekiq processes | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&quot; data-og-url=&quot;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Run multiple Sidekiq processes | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. vi /srv/gitlab/logs/gitlab.rb&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Vi 에디터로 오픈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 맨 마지막 줄에 아래의 설정 추가 후 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;sidekiq&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #ba2121; text-align: left;&quot;&gt;'queue_groups'&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #666666; text-align: left;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #ba2121; text-align: left;&quot;&gt;'*'&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #666666; text-align: left;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #ba2121; text-align: left;&quot;&gt;4&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. docker exec -t &amp;lt;container-name&amp;gt; gitlab-ctl reconfigure&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;릴리즈 노트 확인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=features&amp;amp;minVersion=12_03&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=features&amp;amp;minVersion=12_03&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724130275523&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Release Overview&quot; data-og-description=&quot;&quot; data-og-host=&quot;gitlab-com.gitlab.io&quot; data-og-source-url=&quot;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=features&amp;amp;minVersion=12_03&quot; data-og-url=&quot;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?minVersion=12_03&amp;amp;tab=features&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=features&amp;amp;minVersion=12_03&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=features&amp;amp;minVersion=12_03&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Release Overview&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gitlab-com.gitlab.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전별 릴리즈 노트를 한눈에 확인할 수 있는 사이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gitlab Docker 이미지 업그레이드를 하면서 느낀점이 있다면 자주 관심을 가져주자 ㅜ,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번에 몰아서 하려고 하니 들어가는 시간이 좀 걸렸다 ㅜ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇지만 자동화된 업그레이드 &amp;amp; 마이그레이션으로 솔직히 쉽게 진행했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 초반에 겪은 시행착오가 스트레스를 받긴 했지만..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오후 5.23.44.png&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCtrsX/btsI92fBVIX/ItILm1UJCNEjVxXwiN6Ho1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCtrsX/btsI92fBVIX/ItILm1UJCNEjVxXwiN6Ho1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCtrsX/btsI92fBVIX/ItILm1UJCNEjVxXwiN6Ho1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCtrsX%2FbtsI92fBVIX%2FItILm1UJCNEjVxXwiN6Ho1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1910&quot; height=&quot;526&quot; data-filename=&quot;스크린샷 2024-08-20 오후 5.23.44.png&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Docker</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/108</guid>
      <comments>https://luji.tistory.com/108#entry108comment</comments>
      <pubDate>Tue, 20 Aug 2024 14:35:14 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Gitlab CE 업그레이드 하기 (12.2.5 ver) 1탄</title>
      <link>https://luji.tistory.com/107</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;팀내에 사용중이던 Gitlab CE 가 최근에 하드가 사망하여 재구축해야하는 상황이 발생됬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매일 백업되던 Backup 파일로 재구축은 하였으나 백업된 파일이 구버전이기에 최신버전의 도커 이미지로 구축시 에러가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(괜한 욕심이였나 싶기도하고,,)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기존 12.2.5 버전 -&amp;gt; 목표 17 버전&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업그레이드 과정은 어찌보면 간단하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Docker Image를 교체해주면 Gitlab 컨테이너 자체에서 마이그레이션을 진행해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가이드&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/install/docker/upgrade.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/install/docker/upgrade.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724120683808&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Upgrade | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/install/docker/upgrade.html&quot; data-og-url=&quot;https://docs.gitlab.com/ee/install/docker/upgrade.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/install/docker/upgrade.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/install/docker/upgrade.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Upgrade | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;유의점&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;현재 실행되는 도커 컨테이너의 &lt;span style=&quot;color: #ee2323;&quot;&gt;백업 필수&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 현 도커의 Volume 패스 확인 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 호스트 머신의 Volumn으로 지정된 Path에 Git Container의 설정 및 데이터들이 남아있기에 업그레이드 과정중에 도커 컨테이너를 삭제해도 기존 데이터를 가지고 마이그레이션을 진행하는 원리&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;업그레이드 과정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 도커 Git 컨테이너 중지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- docker stop {git-container-name}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 도커 Git 컨테이너 삭제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- docker rm&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;{git-container-name}&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;3. 도커  Git 이미지 Pull 받기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- docker pull gitlab/gitlab-ce:&amp;lt;version&amp;gt;-ce.0&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. GITLAB_HOME 환경 변수 확인&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;5. 신규 이미지로 도커 컨테이너 실행&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;docker run &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--detach&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--hostname&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; gitlab.example.com &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--publish&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; 443:443 &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--publish&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; 80:80 &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--publish&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; 22:22 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--name&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; gitlab &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--restart&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; always &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--volume&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #19177c; text-align: left;&quot;&gt;$GITLAB_HOME&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;/config:/etc/gitlab &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--volume&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #19177c; text-align: left;&quot;&gt;$GITLAB_HOME&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;/logs:/var/log/gitlab &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--volume&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #19177c; text-align: left;&quot;&gt;$GITLAB_HOME&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt;/data:/var/opt/gitlab &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #008000; text-align: left;&quot;&gt;--shm-size&lt;/span&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #404040; text-align: left;&quot;&gt; 256m&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위의 과정을 계속 업그레이드를 하면서 따라가면 된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;GITLAB_HOME 환경변수는 지정하기 귀찮아 나는&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;--volume &lt;b&gt;/srv/gitlab&lt;/b&gt;/config:/etc/gitlab 와 같이 /srv/gitlab을 명시했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 셋팅하면 /srv/gitlab 패스로 도커 깃 컨테이너와의 연결 경로가 생긴다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;에러 로그 확인&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;gt;&amp;gt; sudo docker logs gitlab &lt;b&gt;-f&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;에러 로그를 확인하면서 마이그레이션을 진행해야한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;-f 옵션은 실시간 로그를 확인하려면 사용&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;호기롭게 최신이미지 16버전의 이미지를 Pull 받고 실행하려고 했으나 에러발생.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-19 오후 5.45.31.png&quot; data-origin-width=&quot;2220&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvxwT1/btsI9P7SzDk/am2K4StRRfWzsVFJ3KnIK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvxwT1/btsI9P7SzDk/am2K4StRRfWzsVFJ3KnIK0/img.png&quot; data-alt=&quot;12.2.5 -&amp;amp;gt; 16.11.8 업그레이드 실패&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvxwT1/btsI9P7SzDk/am2K4StRRfWzsVFJ3KnIK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvxwT1%2FbtsI9P7SzDk%2Fam2K4StRRfWzsVFJ3KnIK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2220&quot; height=&quot;252&quot; data-filename=&quot;스크린샷 2024-08-19 오후 5.45.31.png&quot; data-origin-width=&quot;2220&quot; data-origin-height=&quot;252&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;12.2.5 -&amp;gt; 16.11.8 업그레이드 실패&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소 16.7 버전을 설치하라는 안내 문구에 따라 해당 버전의 이미지를 Pull 받고 재시도 하였으나 계속 실패..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-19 오후 5.52.32.png&quot; data-origin-width=&quot;2236&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HkEHj/btsI7qPMRwB/03CWGQO4KYv0v5EUyiZV81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HkEHj/btsI7qPMRwB/03CWGQO4KYv0v5EUyiZV81/img.png&quot; data-alt=&quot;12.2.4 -&amp;amp;gt; 14 업그레이드 실패&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HkEHj/btsI7qPMRwB/03CWGQO4KYv0v5EUyiZV81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHkEHj%2FbtsI7qPMRwB%2F03CWGQO4KYv0v5EUyiZV81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2236&quot; height=&quot;238&quot; data-filename=&quot;스크린샷 2024-08-19 오후 5.52.32.png&quot; data-origin-width=&quot;2236&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;12.2.4 -&amp;gt; 14 업그레이드 실패&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14버전으로 낮췄음에도 동일한 에러발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무언가 잘못됬음을 직감하고 가이드를 다시 정독하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724125391136&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Create a GitLab upgrade plan | GitLab&quot; data-og-description=&quot;GitLab product documentation.&quot; data-og-host=&quot;docs.gitlab.com&quot; data-og-source-url=&quot;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&quot; data-og-url=&quot;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.gitlab.com/ee/update/plan_your_upgrade.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Create a GitLab upgrade plan | GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab product documentation.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.gitlab.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가이드에 따르면 업그레이드 계획을 세워야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724125449323&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Upgrade Path&quot; data-og-description=&quot;&quot; data-og-host=&quot;gitlab-com.gitlab.io&quot; data-og-source-url=&quot;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&quot; data-og-url=&quot;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Upgrade Path&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gitlab-com.gitlab.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오후 12.44.18.png&quot; data-origin-width=&quot;3150&quot; data-origin-height=&quot;1570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSL3im/btsI9ubSllr/P4WD2iifyfPv1EKehtDL2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSL3im/btsI9ubSllr/P4WD2iifyfPv1EKehtDL2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSL3im/btsI9ubSllr/P4WD2iifyfPv1EKehtDL2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSL3im%2FbtsI9ubSllr%2FP4WD2iifyfPv1EKehtDL2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3150&quot; height=&quot;1570&quot; data-filename=&quot;스크린샷 2024-08-20 오후 12.44.18.png&quot; data-origin-width=&quot;3150&quot; data-origin-height=&quot;1570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gitlab에서 제공하는 위의 사이트에서 현제 버전과 타겟 버전, 에디션과 설치유형을 선택하여 Go! 를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-20 오후 12.45.21.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;1522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tyo9m/btsI8GRHo0c/kDGJanDR3lfjelhrTqdA81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tyo9m/btsI8GRHo0c/kDGJanDR3lfjelhrTqdA81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tyo9m/btsI8GRHo0c/kDGJanDR3lfjelhrTqdA81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftyo9m%2FbtsI8GRHo0c%2FkDGJanDR3lfjelhrTqdA81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;810&quot; height=&quot;1522&quot; data-filename=&quot;스크린샷 2024-08-20 오후 12.45.21.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;1522&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 위의 단계에 따라.. 업그레이드를 진행해야한다. (ㅜㅜ)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그나마 13버전까지는 단순히 이미지 교체작업만 해주면 되기에 큰 에러없이 13버전까지 업그레이드는 성공했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-19 오후 6.21.28.png&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bemwKD/btsI9cJlGvM/6Yvm9rK3XEq4U0L7Me8Dqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bemwKD/btsI9cJlGvM/6Yvm9rK3XEq4U0L7Me8Dqk/img.png&quot; data-alt=&quot;업글 성공&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bemwKD/btsI9cJlGvM/6Yvm9rK3XEq4U0L7Me8Dqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbemwKD%2FbtsI9cJlGvM%2F6Yvm9rK3XEq4U0L7Me8Dqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;333&quot; data-filename=&quot;스크린샷 2024-08-19 오후 6.21.28.png&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;333&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;업글 성공&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 14버전 이후 부터는 백그라운드 마이그레이션 작업이 선행되어야지 업그레이드 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 포스트에 이어서..&lt;/p&gt;</description>
      <category>Docker</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/107</guid>
      <comments>https://luji.tistory.com/107#entry107comment</comments>
      <pubDate>Tue, 20 Aug 2024 12:48:08 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Desktop - WSL update failed 에러 해결 (win11)</title>
      <link>https://luji.tistory.com/106</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbJrml/btsItFZSPS7/kkok72bOdNdI2k264pC8N0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbJrml/btsItFZSPS7/kkok72bOdNdI2k264pC8N0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbJrml/btsItFZSPS7/kkok72bOdNdI2k264pC8N0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbJrml%2FbtsItFZSPS7%2Fkkok72bOdNdI2k264pC8N0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;588&quot; height=&quot;460&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간만에 포맷하고 윈 11에 Docker를 설치하였더니 만난 WSL 에러.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;734&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGyiPI/btsIt2twZ3B/YCrf4Cji5kKiYkR2Cj2Lkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGyiPI/btsIt2twZ3B/YCrf4Cji5kKiYkR2Cj2Lkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGyiPI/btsIt2twZ3B/YCrf4Cji5kKiYkR2Cj2Lkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGyiPI%2FbtsIt2twZ3B%2FYCrf4Cji5kKiYkR2Cj2Lkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;734&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;734&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 PowerShell 관리자로 켜주고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wsl --update 명령어를 날려줬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;455&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZogK0/btsItDHJ5Mi/9A023Pr8H21wUJlYV78pzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZogK0/btsItDHJ5Mi/9A023Pr8H21wUJlYV78pzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZogK0/btsItDHJ5Mi/9A023Pr8H21wUJlYV78pzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZogK0%2FbtsItDHJ5Mi%2F9A023Pr8H21wUJlYV78pzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;835&quot; height=&quot;455&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;455&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 해결되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 이상함을 느껴보니 설치가 안되어있는 듯 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wsl --install 명령어를 날려줬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nGRGW/btsIt63GFh6/m8OV2hRO8CRpGCIengXTS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nGRGW/btsIt63GFh6/m8OV2hRO8CRpGCIengXTS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nGRGW/btsIt63GFh6/m8OV2hRO8CRpGCIengXTS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnGRGW%2FbtsIt63GFh6%2Fm8OV2hRO8CRpGCIengXTS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;656&quot; height=&quot;116&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 쭉 진행되고 리부팅 한번 해줬더니 정상적으로 동작!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZa9lu/btsItQmyDFH/vpKRg2IoUJFOgjrruzGYj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZa9lu/btsItQmyDFH/vpKRg2IoUJFOgjrruzGYj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZa9lu/btsItQmyDFH/vpKRg2IoUJFOgjrruzGYj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZa9lu%2FbtsItQmyDFH%2FvpKRg2IoUJFOgjrruzGYj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;937&quot; height=&quot;100&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;럭키비키~&lt;/p&gt;</description>
      <category>Docker</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/106</guid>
      <comments>https://luji.tistory.com/106#entry106comment</comments>
      <pubDate>Tue, 9 Jul 2024 22:07:05 +0900</pubDate>
    </item>
    <item>
      <title>[에러] listen EACCES: permission denied 127.0.0.1:5173 (React, Vite)</title>
      <link>https://luji.tistory.com/105</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;vite.js로 구성한 react.js가 어느 순간에 포트가 박혀벼리는 현상이 발생했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;11.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7h311/btsnEWPpEgT/7jLwtPt2890WLWNJjEXkok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7h311/btsnEWPpEgT/7jLwtPt2890WLWNJjEXkok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7h311/btsnEWPpEgT/7jLwtPt2890WLWNJjEXkok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7h311%2FbtsnEWPpEgT%2F7jLwtPt2890WLWNJjEXkok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;138&quot; data-filename=&quot;11.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색해보니 윈도우 포트가 잠겼을때 발생하는 현상으로 자주 보고 되는듯 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Posershell 관리자로 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;731&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EII8M/btsnOslqbRO/QnraRzeEsK1jyWmQ8H93Lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EII8M/btsnOslqbRO/QnraRzeEsK1jyWmQ8H93Lk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EII8M/btsnOslqbRO/QnraRzeEsK1jyWmQ8H93Lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEII8M%2FbtsnOslqbRO%2FQnraRzeEsK1jyWmQ8H93Lk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;757&quot; height=&quot;731&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;731&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 명령어 입력 (winnat 서비스 종료 후 재기동)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cT70Wb/btsnEjxiJcC/nWNUDoNjbmMviHbhcid9wK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cT70Wb/btsnEjxiJcC/nWNUDoNjbmMviHbhcid9wK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cT70Wb/btsnEjxiJcC/nWNUDoNjbmMviHbhcid9wK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcT70Wb%2FbtsnEjxiJcC%2FnWNUDoNjbmMviHbhcid9wK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;169&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;169&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>React.js</category>
      <category>5173</category>
      <category>EACCES: permission denied</category>
      <category>React.js</category>
      <category>vite.js</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/105</guid>
      <comments>https://luji.tistory.com/105#entry105comment</comments>
      <pubDate>Sun, 16 Jul 2023 16:28:22 +0900</pubDate>
    </item>
    <item>
      <title>Pentaho를 이용한 데이터 전환 (Windows 설치편)</title>
      <link>https://luji.tistory.com/103</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Pentaho는 Java기반의 Database 데이터 마이그레이션 기능을 지원하는 오픈소스 툴이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막연히 Windows에 설치하고 Pentaho를 실행하면 뜨질 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자잘한 환경 변수 설정을 해줘야하는데, 그 전에 Java가 설치되어 있어야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. 준비&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;1) 오라클 계정 (Java 다운로드시 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2) 윈도우 8 or 10&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;3) 환경 변수를 설정 할 수 있는 권한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;4) Java를 설치 할 수 있는 권한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Pentaho 다운로드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;아래의 링크를 클릭하여 zip파일을 다운로드 받은 후 원하는 위치에 압축을 푼다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; &lt;a href=&quot;https://sourceforge.net/projects/pentaho/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다운로드&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Java 다운로드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 링크를 클릭하 Java 설치 파일을 다운로드 받는다. (64Bit 기준)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; &lt;a href=&quot;https://java.com/en/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다운로드&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 후 Installer 를 이용하여 Java를 설치하게 되면 C:\Program Files\java 폴더의 구조는 아래의 화면처럼 구성된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 9.58.43.png&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;153&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5fJpr/btrqzR5iEfL/0urzKaiCTPKfL6LJiodLtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5fJpr/btrqzR5iEfL/0urzKaiCTPKfL6LJiodLtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5fJpr/btrqzR5iEfL/0urzKaiCTPKfL6LJiodLtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5fJpr%2FbtrqzR5iEfL%2F0urzKaiCTPKfL6LJiodLtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;526&quot; height=&quot;153&quot; data-filename=&quot;스크린샷 2022-01-13 오전 9.58.43.png&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;153&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;jdk와 jre가 설치된 모습.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 환경변수 셋팅&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.00.43.png&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;688&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI26U1/btrqvUuvke5/b5HxCiCYnzTpJa8tP3xm2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI26U1/btrqvUuvke5/b5HxCiCYnzTpJa8tP3xm2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI26U1/btrqvUuvke5/b5HxCiCYnzTpJa8tP3xm2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI26U1%2FbtrqvUuvke5%2Fb5HxCiCYnzTpJa8tP3xm2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;775&quot; height=&quot;688&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.00.43.png&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;688&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제어판 -&amp;gt; 시스템 환경 변수 편집 클릭 후&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.01.15.png&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHnDU1/btrqvUOQm0g/EEkpkjsBg2JoLmPKEWwBhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHnDU1/btrqvUOQm0g/EEkpkjsBg2JoLmPKEWwBhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHnDU1/btrqvUOQm0g/EEkpkjsBg2JoLmPKEWwBhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHnDU1%2FbtrqvUOQm0g%2FEEkpkjsBg2JoLmPKEWwBhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;475&quot; height=&quot;533&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.01.15.png&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;533&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환경 변수 버튼 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.01.47.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;568&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFrV6q/btrqvzdfZeO/jKxdGwCCy2xI3ccixXOiI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFrV6q/btrqvzdfZeO/jKxdGwCCy2xI3ccixXOiI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFrV6q/btrqvzdfZeO/jKxdGwCCy2xI3ccixXOiI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFrV6q%2FbtrqvzdfZeO%2FjKxdGwCCy2xI3ccixXOiI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;568&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.01.47.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 변수 -&amp;gt; 새로 만들기 버튼 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;1) PENTAHO_JAVA 환경 변수 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.02.26.png&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lVCgj/btrqysYZ1EF/b3ldjrsKKi1MIkU7xxRc9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lVCgj/btrqysYZ1EF/b3ldjrsKKi1MIkU7xxRc9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lVCgj/btrqysYZ1EF/b3ldjrsKKi1MIkU7xxRc9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlVCgj%2FbtrqysYZ1EF%2Fb3ldjrsKKi1MIkU7xxRc9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;653&quot; height=&quot;161&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.02.26.png&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2) PENTAHO_JAVA_HOME 환경 변수 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.02.59.png&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba62UY/btrqvAcdCbe/RElHWllycpiXGJNK06gr01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba62UY/btrqvAcdCbe/RElHWllycpiXGJNK06gr01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba62UY/btrqvAcdCbe/RElHWllycpiXGJNK06gr01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba62UY%2FbtrqvAcdCbe%2FRElHWllycpiXGJNK06gr01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;653&quot; height=&quot;163&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.02.59.png&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) JAVA_HOME 환경 변수 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.03.19.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W5bmu/btrqvyZIT3W/VtnldLgkar0vTwQ185MC1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W5bmu/btrqvyZIT3W/VtnldLgkar0vTwQ185MC1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W5bmu/btrqvyZIT3W/VtnldLgkar0vTwQ185MC1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW5bmu%2FbtrqvyZIT3W%2FVtnldLgkar0vTwQ185MC1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;158&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.03.19.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;총 3개의 환경 변수를 설정 해두면, 기본적인 환경 설정은 끝났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 1번 Step에서 압축푼 폴더로 이동해보면 Spoon.bat 파일을 실행하여 pentaho 프로그램을 기동한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.04.55.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVJg0B/btrqAV0c4SP/YOPfI9KcND1pXjKkCK2niK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVJg0B/btrqAV0c4SP/YOPfI9KcND1pXjKkCK2niK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVJg0B/btrqAV0c4SP/YOPfI9KcND1pXjKkCK2niK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVJg0B%2FbtrqAV0c4SP%2FYOPfI9KcND1pXjKkCK2niK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;374&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.04.55.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.05.44.png&quot; data-origin-width=&quot;1425&quot; data-origin-height=&quot;869&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7b1EC/btrquO2NJXY/bAqCS4Wm4NMCCn1ZDkmIx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7b1EC/btrquO2NJXY/bAqCS4Wm4NMCCn1ZDkmIx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7b1EC/btrquO2NJXY/bAqCS4Wm4NMCCn1ZDkmIx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7b1EC%2FbtrquO2NJXY%2FbAqCS4Wm4NMCCn1ZDkmIx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1425&quot; height=&quot;869&quot; data-filename=&quot;스크린샷 2022-01-13 오전 10.05.44.png&quot; data-origin-width=&quot;1425&quot; data-origin-height=&quot;869&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;- 설치 끝 -&lt;/p&gt;</description>
      <category>Database</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/103</guid>
      <comments>https://luji.tistory.com/103#entry103comment</comments>
      <pubDate>Thu, 13 Jan 2022 10:06:21 +0900</pubDate>
    </item>
    <item>
      <title>태클라스트 T40 Plus 리뷰</title>
      <link>https://luji.tistory.com/102</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;기존.. 차량에서 쓰던 갤럭시탭 s5e 를 네비용으로 썻었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매번 차량에 탑승할때 마다 테더링을 해줘야하는 버거로움에 빡쳐하던 중&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근에 그 정점에 달해 셀룰러 태블릿을 찾게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다나와에 보면 15만원 후반대에 태클라스트 태블릿이 있지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에 내가 산건 좀더 상위 버전의 T40 Plus이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 광고에 올라온 이미지를 보고 태블릿을 사면 낚이게 될것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜냐면 광고 이미지와 실물의 배젤차가 매우 크기 때문..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 셀룰러가 된다는 점에서 이 제품을 선택하게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1188.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBYnRT/btrmtU6IrdN/tPQG8NZoqBB5TU9kWaHTY1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBYnRT/btrmtU6IrdN/tPQG8NZoqBB5TU9kWaHTY1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBYnRT/btrmtU6IrdN/tPQG8NZoqBB5TU9kWaHTY1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBYnRT%2FbtrmtU6IrdN%2FtPQG8NZoqBB5TU9kWaHTY1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1188.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1189.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/njc3Q/btrmxkYsGfu/LOJgXCZOHCa9sNkoksDalk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/njc3Q/btrmxkYsGfu/LOJgXCZOHCa9sNkoksDalk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/njc3Q/btrmxkYsGfu/LOJgXCZOHCa9sNkoksDalk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnjc3Q%2FbtrmxkYsGfu%2FLOJgXCZOHCa9sNkoksDalk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1189.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1191.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxrrhU/btrmDQVQNt2/ashwyCDW5ivnsQCH6sUy50/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxrrhU/btrmDQVQNt2/ashwyCDW5ivnsQCH6sUy50/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxrrhU/btrmDQVQNt2/ashwyCDW5ivnsQCH6sUy50/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxrrhU%2FbtrmDQVQNt2%2FashwyCDW5ivnsQCH6sUy50%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1191.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1190.jpeg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0srmF/btrmzki7fZD/FDpo4wztT79ed4F7C1VuS1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0srmF/btrmzki7fZD/FDpo4wztT79ed4F7C1VuS1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0srmF/btrmzki7fZD/FDpo4wztT79ed4F7C1VuS1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0srmF%2Fbtrmzki7fZD%2FFDpo4wztT79ed4F7C1VuS1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3024&quot; height=&quot;4032&quot; data-filename=&quot;IMG_1190.jpeg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대략적인 패키징은 이렇게 되어있고 충전기는 포함되어있지 않다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1199.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uFjNL/btrmxGNKeaV/LKxN6tKs8AeNadZ0M24qmK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uFjNL/btrmxGNKeaV/LKxN6tKs8AeNadZ0M24qmK/img.jpg&quot; data-alt=&quot;후면부 사진&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uFjNL/btrmxGNKeaV/LKxN6tKs8AeNadZ0M24qmK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuFjNL%2FbtrmxGNKeaV%2FLKxN6tKs8AeNadZ0M24qmK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1199.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;후면부 사진&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1192.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/li280/btrmxjrql04/3zxEQYbPCBoq9Atsuf0GG0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/li280/btrmxjrql04/3zxEQYbPCBoq9Atsuf0GG0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/li280/btrmxjrql04/3zxEQYbPCBoq9Atsuf0GG0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fli280%2Fbtrmxjrql04%2F3zxEQYbPCBoq9Atsuf0GG0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1192.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1193.jpeg&quot; data-origin-width=&quot;3735&quot; data-origin-height=&quot;2801&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bP5cW4/btrmxliIQcS/kvjacYWpUd7jtXasQ64Xo1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bP5cW4/btrmxliIQcS/kvjacYWpUd7jtXasQ64Xo1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bP5cW4/btrmxliIQcS/kvjacYWpUd7jtXasQ64Xo1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbP5cW4%2FbtrmxliIQcS%2FkvjacYWpUd7jtXasQ64Xo1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3735&quot; height=&quot;2801&quot; data-filename=&quot;IMG_1193.jpeg&quot; data-origin-width=&quot;3735&quot; data-origin-height=&quot;2801&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1200.JPG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsWvL8/btrmxj6mgIP/uK7nWjhgygZ5xBfVfgOjl1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsWvL8/btrmxj6mgIP/uK7nWjhgygZ5xBfVfgOjl1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsWvL8/btrmxj6mgIP/uK7nWjhgygZ5xBfVfgOjl1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsWvL8%2Fbtrmxj6mgIP%2FuK7nWjhgygZ5xBfVfgOjl1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;635&quot; data-filename=&quot;IMG_1200.JPG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;635&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽이 t40 plus 오른쪽이 s5e&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전반적으로 s5e가 배잴, 디스플레이크기 해상도가 더 높았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 삼성 one ui에 익숙해진 나로써는 쌩안드로이드는 매우 불편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 정리하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점 :&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 매우 저렴한 셀룰러 태블릿&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 가성비 좋은 스펙 (디스플레이, 램, 저장공간)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점 :&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 두꺼운 배젤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 해상도가 생각보다 아쉬움 (애매한 해상도로 넷플릭스 hd화질 못 봄)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- GPS 부정확함 (못 쓸정도는 아니지만 한번씩 경로 못잡거나 할 경우 있음)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차량에서 네비용도로만 쓸 태블릿이기에 t40 plus로도 충분할꺼라 생각된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1196 2.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEsdq6/btrmEbMh1l3/kI7C4eiKL2eaoshx2kWBPK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEsdq6/btrmEbMh1l3/kI7C4eiKL2eaoshx2kWBPK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEsdq6/btrmEbMh1l3/kI7C4eiKL2eaoshx2kWBPK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEsdq6%2FbtrmEbMh1l3%2FkI7C4eiKL2eaoshx2kWBPK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_1196 2.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;

            &lt;figure class=&quot;unsupported component-kakaotv&quot; contenteditable=&quot;false&quot; style=&quot;background:#000;margin:16px 0;min-height:72px;padding:10px 16px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;max-width:100%;&quot;&gt;
                &lt;p contenteditable=&quot;false&quot; style=&quot;margin:0;color:#8a8a8a;font-size:13px;line-height:1.6;user-select:none;pointer-events:none;&quot;&gt;동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.&lt;/p&gt;
            &lt;/figure&gt;
        
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>일상</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/102</guid>
      <comments>https://luji.tistory.com/102#entry102comment</comments>
      <pubDate>Tue, 30 Nov 2021 14:47:18 +0900</pubDate>
    </item>
    <item>
      <title>httpie Windows에서 설치하기</title>
      <link>https://luji.tistory.com/99</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;httpie란?&lt;/p&gt;
&lt;p&gt;파이선에서 개발된 유틸리티로 http 개발이나 디버깅 용도로 사용된다. 사용성이 쉬우면서 json이 내장되어있다. 가독성이 뛰어나며 기타 장점들이 있음.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;보통 리눅스나 맥에선 yum, apt, brew로 httpie를 땡겨오면 설치가 되지만 윈도우에선 파이선을 설치하여 pip로 설치해야한다. (&lt;a href=&quot;https://httpie.org/doc#installation&quot;&gt;https://httpie.org/doc#installation&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;설치하기&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; &lt;a href=&quot;https://www.python.org/downloads/&quot;&gt;https://www.python.org/downloads/&lt;/a&gt; 에서 파이선 설치한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 1.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6wqPd/btqzurxiqU9/GG0h29SOyKxQAuQfoHTce0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6wqPd/btqzurxiqU9/GG0h29SOyKxQAuQfoHTce0/img.png&quot; data-alt=&quot;Customize Installation 클릭&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6wqPd/btqzurxiqU9/GG0h29SOyKxQAuQfoHTce0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6wqPd%2FbtqzurxiqU9%2FGG0h29SOyKxQAuQfoHTce0%2Fimg.png&quot; data-filename=&quot;이미지 1.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Customize Installation 클릭&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 2.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duN6mt/btqzusiE7Nt/4HufjQaRngB7Syc9R9kMek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duN6mt/btqzusiE7Nt/4HufjQaRngB7Syc9R9kMek/img.png&quot; data-alt=&quot;선택 기능에 pip 기능 체크&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duN6mt/btqzusiE7Nt/4HufjQaRngB7Syc9R9kMek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduN6mt%2FbtqzusiE7Nt%2F4HufjQaRngB7Syc9R9kMek%2Fimg.png&quot; data-filename=&quot;이미지 2.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;선택 기능에 pip 기능 체크&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;선택 옵션에서 pip 기능 체크후 설치를 진행한다.&lt;/p&gt;
&lt;p&gt;설치 경로는 미리 기억해두자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 3.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6I3sc/btqzus326kf/VcejcC1B7pTywpZ72bnlD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6I3sc/btqzus326kf/VcejcC1B7pTywpZ72bnlD0/img.png&quot; data-alt=&quot;설치된 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6I3sc/btqzus326kf/VcejcC1B7pTywpZ72bnlD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6I3sc%2Fbtqzus326kf%2FVcejcC1B7pTywpZ72bnlD0%2Fimg.png&quot; data-filename=&quot;이미지 3.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;설치된 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;cmd를 실행하여 py를 입력하면 파이선 구동된 모습 확인가능.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 시스템 환경 변수 등록&lt;/p&gt;
&lt;p&gt;시스템 환경변수는 환경 변수 -&amp;gt; 시스템 변수 -&amp;gt; path에 새로만들기 하여 추가한다.&lt;/p&gt;
&lt;p&gt;C:\Users\luji\AppData\Local\Programs\Python\Python38-32\Scripts(내 PC의 경로) 파이선\Script폴더 경로까지를 입력한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 4.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGQ0r6/btqzuP5NZgW/7srq1Jh3gKcMiMD0eQVmrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGQ0r6/btqzuP5NZgW/7srq1Jh3gKcMiMD0eQVmrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGQ0r6/btqzuP5NZgW/7srq1Jh3gKcMiMD0eQVmrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGQ0r6%2FbtqzuP5NZgW%2F7srq1Jh3gKcMiMD0eQVmrk%2Fimg.png&quot; data-filename=&quot;이미지 4.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. httpie 설치&lt;/p&gt;
&lt;p&gt;cmd창에 아래의 명령어 입력&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;pip install -U httpie&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 5.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYQZVo/btqzt4o7wrM/iimJc9xrMkjEegzs9CuV60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYQZVo/btqzt4o7wrM/iimJc9xrMkjEegzs9CuV60/img.png&quot; data-alt=&quot;설치 완료된 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYQZVo/btqzt4o7wrM/iimJc9xrMkjEegzs9CuV60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYQZVo%2Fbtqzt4o7wrM%2FiimJc9xrMkjEegzs9CuV60%2Fimg.png&quot; data-filename=&quot;이미지 5.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;설치 완료된 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;4. 예제 확인&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;cmd에 아래의 명령어를 입력하면 응답을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;http GET &lt;a href=&quot;http://www.example.com&quot;&gt;http://www.example.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 6.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vzbWv/btqzvpyNJsd/xWUCGK4Kh3Peu46W1qykM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vzbWv/btqzvpyNJsd/xWUCGK4Kh3Peu46W1qykM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vzbWv/btqzvpyNJsd/xWUCGK4Kh3Peu46W1qykM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvzbWv%2FbtqzvpyNJsd%2FxWUCGK4Kh3Peu46W1qykM1%2Fimg.png&quot; data-filename=&quot;이미지 6.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>HTTP</category>
      <category>HTTPie</category>
      <category>Python</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/99</guid>
      <comments>https://luji.tistory.com/99#entry99comment</comments>
      <pubDate>Sun, 3 Nov 2019 22:20:19 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] 맥에서 SourceTree 비밀번호 계속 물을 경우 (</title>
      <link>https://luji.tistory.com/98</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;1. 터미널로 프로젝트 폴더 경로까지 이동&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;$ cd /User/luji/프로젝트&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;2. Git 설정파일 등록&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;$ git&lt;span&gt; config &lt;/span&gt;credential.helper store&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;3. Git 명령어 실행&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;$ git pull&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;4. 사용자 정보 입력&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;이단계에서 사용자 정보를 입력하면 이후 부터 비밀번호를 묻지 않음&lt;/p&gt;</description>
      <category>MAC OS</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/98</guid>
      <comments>https://luji.tistory.com/98#entry98comment</comments>
      <pubDate>Tue, 1 Oct 2019 16:09:46 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Gitlab CE 백업/복구 하기</title>
      <link>https://luji.tistory.com/97</link>
      <description>&lt;p&gt;기존 도커 컨테이너로 실행한 Gitlab을 백업 복구하는 방법을 찾아 보았다.&lt;/p&gt;
&lt;p&gt;생각보다 간단하게 명령어로 백업파일을 생성하고 복구할수 있도록 설정이 되어있어서 간편한것 같아서 정리해두기 위해 글을 쓴다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 실행중인 도커 컨테이너 백업하기&lt;/h3&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;$ docker exec -t &amp;lt;컨테이너 이름&amp;gt; gitlab-backup create&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2019-09-22 오후 9.59.42.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N4uCS/btqyt58IPfn/42FdcojqcLuWXFK9VKmtP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N4uCS/btqyt58IPfn/42FdcojqcLuWXFK9VKmtP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N4uCS/btqyt58IPfn/42FdcojqcLuWXFK9VKmtP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN4uCS%2Fbtqyt58IPfn%2F42FdcojqcLuWXFK9VKmtP1%2Fimg.png&quot; data-filename=&quot;스크린샷 2019-09-22 오후 9.59.42.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위의 명령어를 실행하면 도커를 생성할때 잡아둔 볼륨 디렉토리로 backup파일이 생성된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2019-09-22 오후 10.00.18.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDYeBr/btqyt60RTjX/bf6KRzgBRVk2VNQjcZXD10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDYeBr/btqyt60RTjX/bf6KRzgBRVk2VNQjcZXD10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDYeBr/btqyt60RTjX/bf6KRzgBRVk2VNQjcZXD10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDYeBr%2Fbtqyt60RTjX%2Fbf6KRzgBRVk2VNQjcZXD10%2Fimg.png&quot; data-filename=&quot;스크린샷 2019-09-22 오후 10.00.18.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;나같은 경우엔 볼륨 경로는 /Users/luji/srv/gitlab/.. 으로 잡아 두었기 때문에 백업파일의 생성 경로는 /Users/luji/srv/gitlab/data/backups 디렉토리에 저장되었다. 생성된 파일명은 ~~_gitlab_backup.tar으로 tar압축파일이 생성된다. 이제 이 tar파일을 따로 저장하여 백업하고자하는 머신으로 파일을 옮긴다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;나는 하나의 머신에서 테스트를 위해 기존에 실행중인 컨테이너를 삭제한뒤, 생성된 볼륨 디렉토리를 모두 삭제한 다음 새로운 컨테이너를 생성하였다. 이렇게 생성된 컨테이너는 모든게 초기화된 초기 상태의 컨테이너이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 도커 컨테이너 복구하기&lt;/h3&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;$ docker exec -it gitlab gitlab-backup restore&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2019-09-22 오후 10.18.44.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rIBVK/btqyuFBXE50/voWCYZ2cHwc8YKwKhkzY4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rIBVK/btqyuFBXE50/voWCYZ2cHwc8YKwKhkzY4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rIBVK/btqyuFBXE50/voWCYZ2cHwc8YKwKhkzY4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrIBVK%2FbtqyuFBXE50%2FvoWCYZ2cHwc8YKwKhkzY4k%2Fimg.png&quot; data-filename=&quot;스크린샷 2019-09-22 오후 10.18.44.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Postgres DB를 백업파일로 복구 하는 모습이다.&amp;nbsp; 끝~&lt;/p&gt;</description>
      <category>Docker</category>
      <author>루우지</author>
      <guid isPermaLink="true">https://luji.tistory.com/97</guid>
      <comments>https://luji.tistory.com/97#entry97comment</comments>
      <pubDate>Sun, 22 Sep 2019 22:44:45 +0900</pubDate>
    </item>
  </channel>
</rss>