2019-09-26

히스티딘 델타 엡실론 질소 뜻(Histidine delta and epsilon nitrogen nomenclature)

0. 이게 다 일반화학을 꼼꼼하게 공부하지 않아서 생기는 문제다.



(HIS의 자태. 출처 : 링크)

1. PDB(Protein Data Bank) files 내의 histidine은 실제로 아래 세 가지 모양 중 하나로 표현된다.

HID : 히스티딘의 수소가 delta nitrogen에 붙은 것
HIE : 히스티딘의 수소가 epsilon nitrogen에 붙은 것
HIP : 히스티딘의 수소가 두 nitrogen에 모두 붙어 positive charge를 띠는 것.

pH에 따라 히스티딘의 잔기는 protonated 될 수도, neutralized 될 수도,

혹은 negative charge를 띠게 될 수도 있다.

위의 사진에서도 알 수 있듯이 histidine의 functional group의 pK_R은 6.0이다.

일반적으로 생리식염수가 pH 7.4 정도 된다는 점을 감안하면

HIP는 존재하기 힘들고, 주로 HID나 HIE 중 한 가지 형태로 나타나게 된다.

(Amber와 CHARMM에서 atom type의 이름이 다를 수 있다. 참고하자.
출처 : 링크)



2. 이거 말고도 Amber에선 아래 표와 같이 여러 상황에 따라

residue의 이름을 다르게 명명하고 있다.

Aspartic acid, cysteine, glutamic acid, histidine같은 잔기들은 pH에 따라 다르다보니

MD에서 명시해줄 필요가 있는 것이다.

(출처 : 링크)


3. 이걸 찾게 된 경위는 사실 Amber package에서 뱉어낸 오류 때문이었다.

<
Created a new atom named: HD1 within residue: .R

...

FATAL:  Atom .R.A does not have a type.
Failed to generate parameters
Parameter file was not saved.
>

PDB 파일을 가져와 pdb4amber에서 cleaning을 하던 중 제멋대로 110번 HIS를 HIE로 인식하고

에러를 뱉어낸 모습이다.

원래 알아서 다 해준다는데.. 어쩔 수 없이 수동으로 위치를 조정해주어야 했다.



4. HIE를 시뮬레이션에서 나타내면 이런 모양을 띤다.

(powered by Maestro)

오른쪽 빨간색 동그라미가 산소, carboxylic acid 방향, 즉 C-terminal 방향이고

그 왼쪽의 파란색 동그라미가 질소, 그래서 N-terminal이다.

그 사이에 수소(흰색 동그라미)를 달고 있는 탄소가 alpha carbon,

거기서부터 세어나갈 때 beta(carbon), gamma(carbon), 

우측 delta(nitrogen), 좌측 epsilon(nitrogen)까지 확인할 수 있어서

이 residue는 HID가 아니라 HIE라는걸 볼 수 있다.

+a : 참고로 이 histidine에는 chirality가 없다. 쉽게 생각해도 된다.

(powered by Maestro)

한편 요 히스티딘은 delta nitrogen에 붙어있어 HID인 것을 알 수 있다.



5. 그럼 그 두 개가 다르긴 다른건가? 왜 구분했지?

이는 hydrogen이 어디에 붙었느냐에 따라 파라미터가 달라지기 때문이다.

실제로 저 HID의 파일 구조를 보면 다음과 같다.

<
...
ATOM   1736  OE2 GLU   109     -22.741 -12.827  22.328  1.00  0.00           O  
ATOM   1737  C   GLU   109     -19.755  -9.187  25.344  1.00  0.00           C  
ATOM   1738  O   GLU   109     -20.752  -8.600  24.940  1.00  0.00           O  
ATOM   1739  N   HID   110     -19.151  -8.916  26.506  1.00  0.00           N  
ATOM   1740  H   HID   110     -18.466  -9.533  26.943  1.00  0.00           H  
ATOM   1741  CA  HID   110     -19.425  -7.677  27.276  1.00  0.00           C  
ATOM   1742  HA  HID   110     -19.596  -6.920  26.511  1.00  0.00           H  
ATOM   1743  CB  HID   110     -20.667  -7.821  28.151  1.00  0.00           C  
ATOM   1744  HB2 HID   110     -20.572  -8.725  28.753  1.00  0.00           H  
ATOM   1745  HB3 HID   110     -20.711  -6.980  28.843  1.00  0.00           H  
ATOM   1746  CG  HID   110     -21.960  -7.884  27.376  1.00  0.00           C  
ATOM   1747  ND1 HID   110     -22.596  -9.046  27.117  1.00  0.00           N  
ATOM   1748  HD1 HID   110     -22.279  -9.969  27.414  1.00  0.00           H  
ATOM   1749  CE1 HID   110     -23.714  -8.799  26.406  1.00  0.00           C  
ATOM   1750  HE1 HID   110     -24.422  -9.537  26.060  1.00  0.00           H  
ATOM   1751  NE2 HID   110     -23.792  -7.477  26.204  1.00  0.00           N  
ATOM   1752  CD2 HID   110     -22.719  -6.881  26.781  1.00  0.00           C  
ATOM   1753  HD2 HID   110     -22.495  -5.824  26.779  1.00  0.00           H  
ATOM   1754  C   HID   110     -18.266  -7.182  28.115  1.00  0.00           C  
ATOM   1755  O   HID   110     -18.467  -6.341  29.001  1.00  0.00           O  
ATOM   1756  N   LYS   111     -17.049  -7.657  27.819  1.00  0.00           N  
ATOM   1757  H   LYS   111     -16.871  -8.306  27.052  1.00  0.00           H 
...
>

4번째 열(column)이 HID인 점을 주목하라.

해당 단백질은 HIE도 가지고 있다. 아래처럼 140번째 아미노산이 또한 히스티딘이다.

<
...
ATOM   2236  C   VAL   139     -22.341 -32.938  42.156  1.00  0.00           C  
ATOM   2237  O   VAL   139     -22.630 -33.834  41.395  1.00  0.00           O  
ATOM   2238  N   HIE   140     -22.141 -31.690  41.750  1.00  0.00           N  
ATOM   2239  H   HIE   140     -21.767 -30.955  42.350  1.00  0.00           H  
ATOM   2240  CA  HIE   140     -22.445 -31.249  40.381  1.00  0.00           C  
ATOM   2241  HA  HIE   140     -23.490 -31.511  40.214  1.00  0.00           H  
ATOM   2242  CB  HIE   140     -22.240 -29.752  40.241  1.00  0.00           C  
ATOM   2243  HB2 HIE   140     -22.710 -29.249  41.086  1.00  0.00           H  
ATOM   2244  HB3 HIE   140     -21.173 -29.533  40.294  1.00  0.00           H  
ATOM   2245  CG  HIE   140     -22.795 -29.183  38.960  1.00  0.00           C  
ATOM   2246  ND1 HIE   140     -22.181 -29.339  37.760  1.00  0.00           N  
ATOM   2247  CE1 HIE   140     -22.908 -28.734  36.802  1.00  0.00           C  
ATOM   2248  HE1 HIE   140     -22.668 -28.697  35.750  1.00  0.00           H  
ATOM   2249  NE2 HIE   140     -23.985 -28.185  37.387  1.00  0.00           N  
ATOM   2250  HE2 HIE   140     -24.716 -27.659  36.908  1.00  0.00           H  
ATOM   2251  CD2 HIE   140     -23.944 -28.443  38.718  1.00  0.00           C  
ATOM   2252  HD2 HIE   140     -24.671 -28.131  39.453  1.00  0.00           H  
ATOM   2253  C   HIE   140     -21.630 -31.937  39.346  1.00  0.00           C  
ATOM   2254  O   HIE   140     -22.174 -32.421  38.362  1.00  0.00           O  
ATOM   2255  N   ARG   141     -20.314 -31.938  39.554  1.00  0.00           N  
ATOM   2256  H   ARG   141     -19.895 -31.485  40.366  1.00  0.00           H 
...
>

눈치가 좀 있다면 알아챌 수 있다.

3번째 열의 atom type에 H가 여러 종류로 표현되고 있다는 점을.

자세히 살펴보면 HA, HB, HD 등이 있다. 이는 alpha carbon에 달린 H, beta carbon에 달린 H,

마지막으로 delta carbon에 달린 H 등을 나타내고 있다.

또한 뒤에 붙은 숫자는 (위의 HID 사진을 기준으로 설명하자면)

delta 위치에 붙은 hydrogen은 총 두 개, 하나는 C에, 하나는 N에 붙어있다보니

그 둘을 분리하기 위해 숫자를 붙인 것에 불과하다.



그래서 HID에선 N에 붙을 HE2가 존재할 수 없고

마찬가지로 HIE에선 delta 위치에 붙을 HD1이 존재할 수 없는 것이다.

그래서 까탈스럽고 짜증나는 영리한 Amber가 에러를 뱉었던 것.



이걸로 에러를 해결했다.

2019-09-25

Linux CentOS에서 스마트폰 /data 폴더에 루팅 없이 접근해 목소리톡 데이터를 백업하게 된 경위

-1. 뻘짓을 하게 된 경위를 기록하였다. 결론은 4번 항목으로.



0. 목소리톡 앱에서 내부적으로 저장한 음성 파일들을 백업하고 싶어졌다. 루팅 없이.



1. 찾아보니 adb를 쓰면 된다기에 바로 리눅스 켰다.

$ yum install adb

(2013이 신경쓰이지만 일단 가자..)



2. USB와 폰을 연결시켰다. 근데 윈도우즈처럼 알아서 연결이 성립하지 않는다.

리눅스에서 ADB가 내 장치를 인식하게 만드려면 어떻게 해야 하죠?

이렇게 하면 된다고 한다.

스마트폰 설정에서 'USB 연결 시 디버그 모드를 활성화'시킨다.

$ lsusb

명령어로 장치가 어디에 연결되어있는지 확인한다.

(없는데?)

그래서 본체의 USB 포트를 갈아 끼워보았더니 세상에

폰에서 '이 컴퓨터에서 디버깅을 허용하시겠습니까?'라는 메시지가 뜬다.

아까 꽂았던 USB 포트가 죽어있었다!

모든 소프트웨어적 조작의 기반엔 완벽한 물리적 연결이 가정되어 있단걸

이럴 때 다시금 느끼곤 한다. 모든 것을 의심해야 한다...

내 폰을 연결시켰더니 다음과 같은 디바이스가 목록에 나타나기 시작했다.

(내 폰은 LG G6인데 어째서)

디바이스 아이디를 얻었다. 이제 adb로 돌아오게 되었다.

기본적인 아이디어는 이곳에서 시작했다.

adb shell을 통해 해당 패키지에 접근해 파일을 읽어와서

내 PC의 디렉토리에 저장하는 것이 주요 골자였다.



3. adb shell "run-as com.jkchat.votok ls -l"

실행 결과는 다음과 같았다.

(디버그가 안되네요.)

구글에서 'adb run-as package not debuggable'라고 검색해보았다.

결과 중 이러한 글을 찾을 수 있었다. 아마도 권한의 문제인 것 같다.

그래서 application is not debuggable일 땐 어떻게 할 수 있는지 검색해보니

이 정도가 한계인 것 같았다.


실패.

여기에서 apk까지 백업하는 기능은 흔히 Astro 파일관리자라던가 7zip같은 앱들이

인앱에서 제공하는 기능인 '앱 백업'의 그것이다.



즉, 결론은 아래와 같다.

애초에 app store에서 debuggable로 릴리즈된 앱이 아니라면

해당 방법을 통해 인앱 데이터를 추출해낼 수 없다.



뻘짓했다!!!



4. 그런데 그럴 필요가 없었다.

사용자가 접근 가능한 저장소(storage/emulated/0/Android/data/com.jkchat.votok/files/agreed)

에서 .8gp로 인코딩된 음성 파일들을 찾을 수 있었다.

난 뭘 한거지.

목소리톡을 백업할 땐 해당 경로를 이용하자.

스페셜 땡큐 : https://xr705.tistory.com/76


2019-09-24

Western blot (1)

0. Western blot은 특정 단백질의 유무 또는 양을 알기 위해 수행하는 분석 방법이다.

주로 protein expression, sub-cellular localization (via cell fractionation),

post-translational modifications, protein processing, protein-protein interaction

등을 연구할 때 사용된다.

쉽게 말하면, 특정 유전자가 발현되어 단백질이 생산되었는지 여부와

생산됐다면 얼마나 생산됐는지를 알아보기 위해 정량해보는 실험이다.



1. 이름의 유래는 동서남북 한 과학자의 이름과 장난질에서 유래했다고 한다..

(방향별 쓰임새)

1975년, 영국의 생물학자인 Edwin Southern 이라는 사람이

특정 DNA 서열을 탐지하기 위해 방법을 고안한다.

그래서 그 실험법을 Southern blot이라고 이름지었다.



근데 이름이 이름이었던지라(...) 2년 뒤인 1977년 스탠포드 대학에서

George Stark 외 2명이 RNA 탐지를 위한 방법을 고안해내고

'DNA 다음 RNA니까 이번엔...'이라는 마인드로 이름을 northern blot이라고 짓는다.



그로부터 또 2년 뒤, 1979년,

스와질랜드의 Friedrich Miescher Institute 소속 Neal Burnette가

조직세포 단백질의 분석법을 고안해 western blot이라고 이름 짓는다.



이후에 lipids, phosphates, glycoconjugates, post translational modifications (PTM) 등을

분석하기 위한 용도의 eastern blot까지 등장하면서

분자생물학 실험계의 사방위가 완성된다.



(Antigen-Antibody reaction)

2. 기본 아이디어는 '항원-항체 반응(Antigen-Antibody)'의 결합 특이성이

다른 결합들에 비해 매우 높다는 점에서 착안한다.

Antibody는 특정 antigen의 부위를 특이적으로 인식하고,

그 부위를 epitopes (antigenic determinant)라고 부른다.



3. 단계는 이렇게 구성되어 있다.

Gel electrophoresis : 겔 전기영동. 단백질을 크기별로 분리시키는 젤리.

Transfer : 겔에서 위치별로 분리된 단백질을 필름으로 이동시킴.

Total protein staining : 단백질 염색하기.

Blocking : 항체와 membrane 사이의 상호작용 억제.

Incubation : Membrane에 원하는 항체를 심는 과정.

Detection and visualization : 탐지 및 시각화

Secondary probing : 2차 검증.



4. Gel electrophoresis.

시료의 단백질을 gel electrophoresis를 이용해 분리한다.

Gel electrophoresis (젤 전기영동)은 세포용해물(lysate)처럼 여러 물질이 섞여있을 때

분자량에 따라 분리시키는 방법이다.

(Gel과 전기영동 장치)

겔의 종류로는 agarose, polyacrylamide, starch 등이 있다. 익숙한 것은 가운데의 것..

그래서 PolyAcrylamide Gel Electrophoresis를 PAGE라고 줄여서 쓴다.

보통 5~2000 kDa 정도 범위의 물질들을 분획한다.

Polyacrylamide gel의 조성은 다음과 같다 :

ddH_2O, acrylamide, Tris buffer, SDS, APS, TEMED.

ddH_2O는 double-distilled water로, 흔히 말하는 pure water를 뜻한다. 깨끗하고 비싼 물

(주요 물들의 저항값)

+a : '3차 증류수'라는 말은 없다. 편의를 위해 사용되는 표현법인 것 같은데,

근본적으로 증류수를 사용하는 이유는 '불순물이 섞이지 않은 물'을 사용하고 싶어서이다.

'불순물'은 일반적인 자갈, 모래, 먼지같은 거대입자부터 미생물, 단백질, 이온류까지

광범위한 물질을 일컫고 있다.

이러한 불순물로 인해 물의 전도도(conductivity)가 증가하고, 실험에 오차가 생기게 된다.

흔히 '3차 증류수'라고 말하는 것은 pure water를 지칭하는데,

상온(25°C)에서 18.2 MΩ cm, 혹은 0.055 micro-siemens/cm 정도의 스펙을 갖고 있다.

즉, '불순물이 적어서 전도도가 매우 적은 물'이 초순수 증류수인 것이다.

(영하 12도에서 촬영한 겔의 사진.
위는 겔화 전, 아래는 겔화 후의 모습. 
출처 : 논문)

Acrylamide는 물에 용해시켰을 때 이렇게 카스테라같이 생겼다.

보기와는 다르게 가루일 때와 용액 상태일 때 잠재적인 신경독이 있다고 하니 조심한다.

카카오톡 대화 내역을 파이썬 정규식으로 정리

1. 카카오톡의 대화 내역을 텍스트로 깔끔하게 정리하고 싶어졌다.

그래서 말끔하게 다듬어 보관하려고 파이썬을 이용해보았다.



2. 카카오톡에선 채팅방의 대화 내역을 내보낼 수 있는 기능을 지원한다.

대화 내역을 보관하고자하는 채팅방에 들어가 해당 채팅방의 설정을 열고

'Export Messages(메시지 내보내기)'를 터치한 뒤

원하는 경로를 통해 PC로 txt 파일을 가져왔다.




3. 파일은 대략 이렇게 생겼다.

(내용은 모자이크 처리)

맨 앞엔 월, 그 다음 일, 그 다음 연도, 시간과 AM/PM이 적혀 있다.

이제 정규식을 이용해 위치별로 텍스트를 뽑아온 뒤 date format으로 바꿔주면 되겠다.

잠깐, 그런데 파이썬에선 날짜나 시간을 다루기 위한 모듈이 대략 이 정도 존재한다.

- date : 연, 월 일처럼 그냥 날짜 조작만 할 때 사용한다.
- time : 날짜에 비의존적이게 시간, 분, 초, 밀리초 등을 다를 때 사용한다.
- datetime : date와 time을 섞어놓았다. 연, 월, 일, 시간, 분, 초, 밀리초까지 아우른다.
- timedelta : 날짜 사이에 걸린 시간을 잴 때 사용한다.
- tzinfo - 국제시간을 다룰 때 사용 가능한 클래스들이 모여있다.

잘 사용하면 될 듯 하다.



4. 간혹 메시지 내의 줄바꿈 문자가 있는 경우가 있다.

그런 경우는 위의 사진처럼 'August 22 ...'처럼 시작하지 않고

바로 문자열부터 시작하다보니 정규식에서 제대로 된 메시지를 추출하지 못할 수 있다.

그래서 부정형 전방 탐색을 사용했다.

부정형 전방 탐색은 '특정 문자열이 아닐 때에만 통과한다'는 특징이 있다.

예를 들어서 위의 카톡 대화내역 사진에서처럼, 모든 lines는 'August'로 시작하고 있는데

줄바꿈이 들어간 경우엔 해당 문자열로 시작하지 않을 것이다.

이 점에서 착안하여 다음과 같이 정규식을 작성해보았다.

^(?!(September|August))

+a : 온라인에 정규표현식을 바로 시각화해주는 사이트가 있다. 매우 좋다!

맨 앞의 ^는 '라인의 맨 앞'에 매치되고

괄호를 통해 그룹핑을 해주었으며

?!는 부정형 전방 탐색에서 사용되는 메타 문자이다.

즉 September라는 문자열 혹은 August라는 문자열로 시작하지 않는 위치에만 매치되어

이전 라인에서 메시지 내의 줄바꿈기호 때문에, 메시지부터 시작한 라인을 잡아낼 수 있다.

그 부분을 공백 기호로 치환(re.sub())해주면

깔끔하게 한 줄이 하나의 메시지로 바뀌게 된다.



5. 그렇게 짧게 코딩해서 원하는 결과를 얻는다.

(re.sub()는 포함되어 있지 않다)

8월과 9월 말고도 1~12월 전부 넣어주면 모든 달에 매치시킬 수 있다.

난 날짜나 시간을 정리할 필요가 없었다보니 코드가 매우 짧았다.

이렇게 쉽게 카톡 내용을 전처리할 수 있다.

2019-09-18

in situ 뜻

In situ (/ɪn ˈsɪtjuː, - ˈsaɪtjuː, - ˈsiː-/; often not italicized in English)[1][2][3] is a Latin phrase that translates literally to "on site"[4] or "in position."[5] It can mean "locally", "on site", "on the premises", or "in place" to describe where an event takes place and is used in many different contexts. For example, in fields such as physics, geology, chemistry, or biology, in situ may describe the way a measurement is taken, that is, in the same place the phenomenon is occurring without isolating it from other systems or altering the original conditions of the test.

발췌 - 위키피디아



<번역>

In situ는 라틴어로 'on site(그 자리에서)', 'in position(그 위치에서)' 라는 뜻이다.

영어에서는 이탤릭체로 사용하지 않는게 일반적이다.

이 어구는 'locally(지역적으로)', 'on site(그 자리에서)', 'on the premises(그 구역에서)'

등으로 설명되며, 주요 의미로는 '어떤 사건이 일어난 곳'을 지칭하지만

문맥에 따라 다르게 사용되기도 한다.

예를 들어서 물리학, 지리학, 화학, 생물학 등에서 in situ라는 표현은

어떤 대상을 측정하는 방법에 대한 설명이 필요할 때 사용될 수 있는데

특정 현상이 일어난 곳, 그 원래 환경, 그 원래 시스템에서 분리해내지 않고

해당 장소 내에서 측정하는 행위를 일컫는다.

혹은 원본의 조건을 최대한 유지한 채 실험을 진행시키는 것을 의미한다.


2019-09-06

TeamViewer 14를 설치하던 도중 만나게 된 오류들

1. sudo yum install ./teamviewer_14.5.5819.x86_64.rpm

팀뷰어 홈페이지에서 파일을 다운받아와서 yum으로 설치했다.


그러자 CentOS 7가 내게 내놓은 대답은


Error in file "/usr/share/applications/org.gnome.font-viewer.desktop": "font/ttf" is an invalid MIME type ("font" is an unregistered media type)
Error in file "/usr/share/applications/org.gnome.font-viewer.desktop": "font/otf" is an invalid MIME type ("font" is an unregistered media type)

이게 무슨 뜻인지 알기 위해 검색해보았다.



2. 'font/ttf'랑 'font/otf'라는 MIME 타입이 유효하지 않다는 뜻이다.

MIME 타입은 컨텐츠 타입이라고도 하는데, 해당 데이터가 어떤 타입인지를 알아야

이메일을 받는 입장에서 이 데이터를 해석할 수 있다.

게다가 'font' 자체가 미디어 타입에 등록이 안 되어있다고 한다.

그럼 미디어 타입에 등록되어 있는건 뭐가 있을까?



마이크로소프트 윈도우즈 사용자는 많이 접해봤을 화면이 있다.


만약 .pdf로 된 파일을 열려고 하면 위와 같은 화면을 보게 될지도 모른다.

해당 파일이 가진 데이터 타입을 처리할 수 있는 앱으로 데이터를 열어달라는 소리이다.

마찬가지로 GNOME Desktop에도 비슷한 기능이라고 보면 될 것 같다.

리눅스 데스크탑에서 어떤 파일의 속성을 보면 아래와 같은 창을 만날 수 있다.


이 파일은 image/png라는 MIME type을 가지고 있다.

(Terminal에선 'file' 명령어로 확인 가능하다. 아래는 예시이다.

$ file ./picture.png --mime-type

./Downloads/picture.png: image/png



3. 그래서 어떤 타입들이 있는가?

MIME database는 GNOME에서 사용하기 위해 모든 MIME type들을 저장해놓은 꾸러미이다.

$ vi /usr/share/mime/packages/freedesktop.org.xml

에서 MIME type에 대한 정보들을 확인할 수 있다.



4. 모든 유저를 위해 커스텀 MIME type을 추가하고 싶어요!

이 곳의 12.3.2. Adding a Custom MIME Type for All Users 파트를 따라가도록 하자.



5. 리눅스에는 이러한 데스크톱 파일들을 관리하기 위한 유틸리티가 존재한다.

desktop-file-utils는 다음의 네 가지 프로그램을 포함하고 있다.



desktop-file-edit : is used to modify an existing desktop file entry.

desktop-file-install : is used to install a new desktop file entry. It is also used to rebuild or modify the MIME-types application database.

desktop-file-validate : is used to verify the integrity of a desktop file.

update-desktop-database : is used to update the MIME-types application database.



자신의 desktop-file-utils의 버전을 확인하고 싶다면

$ rpm -qa | grep "desktop-file"

을 입력해서 확인해보자.


이렇게.



6. 그래서 팀뷰어 설치할 때 생기는 에러는 어떻게 없애는데?

삼천포로 빠져버렸다.

이 곳에서 나와 같은 문제로 고민하는 사람들이 남긴 대화 내역이 있다.

$ update-desktop-database

를 해봐도 위의 에러는 여전히 등장했다. 즉 데이터베이스를 업데이트 하려 해도

에러는 동일하게 발생했다는 것.

아마도 desktop-file-utils의 버전이 0.23-1보다 높은 곳에서 패치가 된 듯 한데

우분투, 페도라에 관한 글들은 많았지만 CentOS(RHEL)에 대한 얘기는 없었다.



7. desktop-file-utils 0.24를 찾아냈다. 컴파일해보려 했다.

근데 $ ./configure 부터 애를 먹었다.

(No package 'glib-2.0' found in CentOS 7)

glib-2.0이 없다고 한다.

그래서

$ sudo yum install glib2 glib2-devel

명령어로 설치해보았다.


뭔가 잘 된 것 같다.

그 다음 make


그리고 make install

(root 권한으로 진행해야 한다.)

(에러가 나지 않는다)



8. 그런데 진짜 문제는..

근데도 설치 안 된다.

TeamViewer.. 왜이렇게 설치 실행이 어려울까.