Ubuntu 16.04 LTS에서 Guacamole을 사용하여 HTML 5 RDP / SSH 프론트 엔드 생성

소개

이 학습서의 목표는 공개 SSH 및 공개 RDP 연결을 제거하는 것입니다. 이 모든 것을 매우 편리한 HTML5 클라이언트 뒤에 배치함으로써 클라우드에 액세스하기위한 보안 계층을 추가 할 수 있습니다.

Guacamole은 또한 모든 원격 액세스를 기록하므로 무단 액세스가 훨씬 더 추적 가능해집니다.

참고 : 암호화하자 (옵션 B)에는 도메인 이름이 필요합니다. 계정이 없으면이 단계를 건너 뛰고 옵션 A 만 실행하면 됩니다.

1 단계-시스템 준비

원하는 Vultr 영역에서 VPS를 시작하여 시작하십시오. 1024 MB아보카도 소스가 요구하는 것이 아니므로 VPS는 충분합니다.

프라이빗 IP 활성화

VPS에서 개인 네트워크를 활성화하여 시작하십시오. 이것은 여기에 잘 문서화되어 있습니다

방화벽 준비

먼저 이미지를 조금 강화 해 봅시다. 프로비저닝 된 이미지가 ufw활성화 되어 있는지 확인하겠습니다 .

root@vultr:~# ufw status
Status: inactive

기본적으로 비활성화되어 있으므로 몇 가지 규칙을 추가해야합니다.

  • 규칙 1 : ssh : TCP 포트 22
  • 규칙 2 : http : TCP 포트 8080 (과카 몰리에 대한 임시 테스트 규칙)

이 포트 구성부터 시작하겠습니다.

ufw allow 22/tcp
ufw allow 8080/tcp

다음으로 방화벽을 활성화하십시오.

ufw enable

경고가 표시 되더라도 걱정하지 마십시오. port를 추가 22하면 문제가 발생하지 않습니다.

root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

활성화되면 방화벽 상태를 요청하면 포트 구성이 표시됩니다.

ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
8080/tcp                   ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
8080/tcp (v6)              ALLOW       Anywhere (v6)

2 단계-아보카도 설치

모든 의존성 설치

설치를 시작하기 전에 repo를 업데이트하고 업그레이드해야합니다. TomcatJava 기반의 와 같은 패키지 에는 발견 된 버그 및 관련 버그 수정이 지속적으로 제공됩니다. 일반적으로 설치에 직접 돌진하는 대신이 작업을 먼저 수행하는 것이 좋습니다.

apt-get update
apt-get -y upgrade 

다음은 모든 의존성입니다. 과카 몰리에는 그 중 상당수가 있습니다. (종속성 및 기능의 전체 목록은 여기 에서 찾을 수 있습니다 ). 계속해서 설치해 봅시다.

apt-get -y install build-essential tomcat8 freerdp libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities libswscale-dev libvncserver-dev libpulse-dev libssl-dev

설치 관리자가 MySQL 루트 암호를 물을 때 암호를 제공하고 기록해 두십시오. 나중에이 비밀번호를 사용하여 Guacamole 데이터베이스를 작성합니다.

아보카도 소스 다운로드

이제 모든 종속성이 있으므로 Guacamole 다운로드를 계속할 수 있습니다. 아보카도 소스 자체는 대부분 바이너리가 아닌 소스 형식으로 제공됩니다. 먼저 /tmp디스크의 다른 부분이 복잡해지지 않도록 폴더로 이동합니다 . 그런 다음 모든 소스 코드를 다운로드하십시오.

다운로드 할 네 가지 소스 / 이진 파일이 있습니다 :

  • guacamole-0.9.13-incubating.war: 이것은 웹 응용 프로그램입니다. WAR파일은 톰캣 웹 사이트에서 호스팅 하나의 웹 사이트를 제공하는 압축 된 웹 패키지
  • guacamole-server-0.9.13-incubating.tar.gz:이 파일은 백엔드 guacd애플리케이션 을 제공합니다 . RDP 및 SSH를 통해 스트림을 만듭니다.
  • guacamole-auth-jdbc-0.9.13-incubating.tar.gz: 로컬 MySQL 데이터베이스를 사용하므로 관련 JDBC커넥터 가 필요합니다 .
  • mysql-connector-java-5.1.43.tar.gz: 데이터베이스 드라이버가 없으면 JDBC 커넥터는 아무 것도 수행하지 않습니다. 이 파일은 MySQL 팀 자체에서 제공합니다.

참고 : 다운로드는 가장 가까운 서버로 해결되었습니다 .

cd /tmp
wget http://apache.belnet.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-0.9.13-incubating.war
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/source/guacamole-server-0.9.13-incubating.tar.gz
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-auth-jdbc-0.9.13-incubating.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.43.tar.gz

모든 파일을 다운로드 한 후의 파일을 추출하십시오 tar.gz.

tar -xzvf guacamole-server-0.9.13-incubating.tar.gz
tar -xzvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz
tar -xzvf mysql-connector-java-5.1.43.tar.gz

아보카도 컴파일

이제 소스 코드를 모두 추출 했으므로 몇 개의 guacamole폴더를 만들어 보자.이 폴더는 아보카도 소스 응용 프로그램과 그 종속 항목에서 사용됩니다.

mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions

새로운 Guacamole 바이너리를위한 모든 준비가 완료되었습니다. 이제 컴파일 및 설치 프로세스를 시작할 수 있습니다. 추출 된 Guacamole Server 폴더로 이동하십시오.

cd /tmp/guacamole-server-0.9.13-incubating

init.d나중에 서비스로 실행할 파일을 작성하도록 응용 프로그램을 구성하십시오 .

./configure --with-init-dir=/etc/init.d

이 명령은 모든 라이브러리 및 프로토콜에서 'yes'로 끝나야합니다. 그렇지 않은 경우 돌아가서 apt-get 명령을 확인하여 패키지를 놓치지 않았는지 확인하십시오.

------------------------------------------------
guacamole-server version 0.9.13-incubating
------------------------------------------------

   Library status:

     freerdp ............. yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebp ............. yes

   Protocol support:

      RDP ....... yes
      SSH ....... yes
      Telnet .... yes
      VNC ....... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes

   Init scripts: /etc/init.d

Type "make" to compile guacamole-server.

다음으로 Gucamole 서버를 컴파일하고 설치하십시오.

make && make install

이 모든 작업이 완료되면 ldconfig추가 된 라이브러리의 검색 경로를 다시 작성하십시오.

ldconfig

부팅시 시작 systemctl하도록 설정 guacd(Guacamole Daemon)을 사용하여 진행하십시오 .

systemctl enable guacd

과카 몰리 바이너리가 설치되었습니다. 이제 Tomcat에 대한 웹 응용 프로그램을 준비합니다.

war파일을 guacamole방금 만든 폴더 로 이동하여 시작하십시오 . 일단 완료되면 tomcat 디렉토리에 war파일 을 가리키는 논리적 링크를 작성 하십시오.

cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/

그런 다음 mysql 커넥터와 JDBC가 필요합니다. JDBC 드라이버는 extensions폴더의 커넥터, lib폴더 의 커넥터에 필요 합니다.

cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar /etc/guacamole/lib/
cp guacamole-auth-jdbc-0.9.13-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/

아보카도 소스 및 Tomcat 구성

커넥터와 JDBC가 제 위치에 있으면 tocamt8파일 을 편집해야 합니다. 이 파일에는 많은 tomcat8설정 이 포함되어 있으며,이 경우 GUACAMOLE_HOME파일 끝에 변수 를 추가해야 합니다.

nano /etc/default/tomcat8

다음과 같이 추가하십시오.

GUACAMOLE_HOME=/etc/guacamole

데이터베이스 생성

다음은 데이터베이스를 만드는 것입니다. Guacamole은 연결 구성을 파일이 아닌 데이터베이스에 저장합니다.

root password설치 중에 사용한 것과 함께 로그인하십시오 .

mysql -u root -p

첫 번째 단계는 'guacamole_db'라는 데이터베이스를 만드는 것입니다.

create database guacamole_db;

그런 다음 create user명령을 실행하십시오 . 이것은 암호를 가진 사용자를 만들며 mysupersecretpassword,이 사용자는 연결 만 가능합니다 localhost.

create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";

CRUD이 사용자에게 데이터베이스에 대한 조작을 부여 하십시오 guacamole_db.

GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

권한을 플러시하고 쉘을 종료하십시오.

flush privileges;
exit

새로 작성된 데이터베이스에 Guacamole 스키마를 추가하여 완료하십시오.

cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db

이 작업이 완료되면 guacamole.properties파일 을 편집해야 합니다. 이 파일에는 최근에 만든 MySQL 서버 구성이 포함되어 있습니다.

nano /etc/guacamole/guacamole.properties

MySQL 연결 세부 사항 및 신임 정보를 추가하십시오.

mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword

Tomcat 공유 폴더에 대한 심볼릭 링크를 만들어서 마무리합니다.이 위치에서 WAR파일이 이러한 속성을 검색합니다.

ln -s /etc/guacamole /usr/share/tomcat8/.guacamole

설정 테스트

tomcat8서버 를 다시 시작하여 종료 하고 guacd서버 디먼을 시작하십시오 .

service tomcat8 restart
service guacd start

status 명령을 사용하여 확인할 수 있습니다.

service tomcat8 status
service guacd status

이제 포트에서 VPS를 탐색 할 수 있습니다 8080

http://<yourpublicip>:8080/guacamole/

사용자 이름 guacadmin과 동일한 비밀번호를 사용하십시오 guacadmin. 이렇게하면 빈 Guacamole 서버에 액세스 할 수 있습니다.

사용자 이름의 오른쪽 상단을 클릭하고을 guacadmin선택하십시오 Settings. 설정 페이지에 들어가면 Users탭으로 이동 하여 사용자를 선택하십시오 guacadmin.

이제 비밀번호를 다른 것으로 변경하거나 새 관리자를 만들고 기본 비밀번호를 삭제하십시오 guacadmin.

3 단계-미세 조정 및 정리

다음은 마지막 단계입니다. 완료 후 정리.

다운로드 한 소스 코드와 바이너리를 /tmp폴더 에서 삭제하십시오 .

rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*

또한 Guacamole 웹 애플리케이션을 기본 애플리케이션으로 설정하십시오. 바람둥이 생태계에서 ROOT폴더 를 얻는 응용 프로그램 은 웹 사이트에 액세스 할 때 기본적으로 시작되는 응용 프로그램입니다 .

이전 ROOT자리 표시자를 삭제합니다 .

rm -rf /var/lib/tomcat8/webapps/ROOT

그리고 과카 몰리 서버가 ROOT하나 가되도록 심볼릭 링크를 만드십시오 .

ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT

Tomcat을 다시 시작해야합니다.

service tomcat8 restart

4 단계 (옵션 A)-HTTP에서만 실행

  • Let 's Encrypt 인증서를 사용하지 않고 DNS를 사용하지 않으려면이 단계의 작업을 실행 한 다음 6 단계로 바로 이동하십시오.-옵션 A
  • 보다 안전한 사이트를 만들고 DNS를 준비한 경우이 사이트를 건너 뛰고 옵션 B (5 단계)로 바로 이동할 수 있습니다.

tomcat8/server.xml파일을 편집하고 커넥터 포트를 변경하십시오.

nano /etc/tomcat8/server.xml

을 검색하십시오 Connector port.

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />

그리고 교체 8080와 함께 80.

기본적으로 tomcat은 아래 포트 바인딩을 허용하지 않습니다 1024. 이를 가능하게하려면 인증 된 바인드를 작성하도록 tomcat8에 지시해야합니다.

defaulttomcat8 파일을 편집하고 AUTHBIND라인의 주석을 해제 하고 옵션을 사용하십시오yes

nano /etc/default/tomcat8

AUTHBIND=yes

이 작업이 완료되면 intall authbind.

apt-get install authbind

80tomcat8 이 포트 를 청구 할 수 있도록 구성하십시오 .

touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80

80방화벽을 통한 포트 를 허용 하고에 대한 규칙을 삭제하십시오 8080.

ufw allow 80/tcp
ufw delete allow 8080/tcp

바람둥이를 다시 시작하십시오.

service tomcat8 restart

이제 Guacamole이 port에서 실행 중입니다 80.

5 단계 (옵션 B)-Nginx 설정

Nginx의 설치 및 구성

Tomcat은 실제로 사용할 수있는 가장 강력하고 강력한 응용 프로그램 중 하나가 아닙니다 certbot. 운 좋게 Nginx입니다. 우리는 단지 Tomcat을 Nginx로 프록시 할 것입니다. 약간의 RAM을 희생시키면서 certbot의 기본 기능을 사용합니다.

apt-get install nginx

설치되면 기본 구성을 편집하십시오.

nano /etc/nginx/sites-available/default

모든 구성 예를 삭제하고 다음 구성을 추가하십시오.

server {      
  listen 0.0.0.0:80;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

에서 실행되는 웹 사이트에 대한 프록시가 생성됩니다 8080. Nginx를 다시 시작하고 부팅시 활성화하십시오.

systemctl restart nginx
systemctl enable nginx

모든 것이 작동하는지 확인하십시오.

systemctl status nginx

테스트 포트를 비활성화하고 포트의 8080트래픽을 허용하십시오 80.

ufw allow 80/tcp
ufw delete allow 8080/tcp

암호화하자 설치

를 사용하기 전에 certbot 패키지가 포함 된 시스템에 certbot올바른 ppa것을 추가해야 합니다.

add-apt-repository ppa:certbot/certbot

" ENTER"를 눌러 구성 변경을 승인하십시오.

apt새 패키지를 수집하도록 업데이트 하십시오.

apt-get update

마지막으로 인증서 할당을 위해 Nginx 모듈을 설치하십시오.

apt-get -y install python-certbot-nginx

인증서를 사용하도록 Nginx 구성

허용하도록 방화벽을 구성하십시오 HTTPS.

ufw allow 443/tcp

새 인증서를 요청하려면 DNS 이름이 필요합니다.

nano /etc/nginx/sites-available/default

다음 server_name설정을 추가하십시오 .

server_name rdp.example.com;

이 새로운 설정을 반영하도록 구성을 변경하십시오.

server {
  server_name rdp.example.com;

  listen 0.0.0.0:80;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

모든 것이 작동하는지 확인하고 Nginx를 다시 시작하십시오.

nginx -t
service nginx restart

이제 certbot으로 인증서를 요청하십시오.

certbot --nginx -d rdp.example.com

이메일을 제공하고 설치 프로그램에서 질문 한 내용에 동의하십시오. ( No이메일을 안전하게 공유하기 위해 " "을 (를) 안전하게 선택할 수 있습니다 .) Certbot은 자동으로 수행 할 작업을 묻습니다 HTTPS. 옵션 2를 사용할 것 redirect to HTTPS입니다.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

우리가 할 마지막 일은 DH매개 변수를 업데이트하는 것 입니다. 기본적으로 2017 표준에는 약간 약합니다.

새로운 것을 만드십시오.

openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

그런 다음 Nginx의 기본 사이트에 추가하십시오.

nano /etc/nginx/sites-available/default

서버 구성에 추가하십시오.

server {
  server_name rdp.example.com;

  listen 0.0.0.0:80;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

오류를 확인하십시오.

nginx -t

서버를 다시 시작하여 변경 사항을 적용하십시오.

service nginx restart

기존 8080규칙 정리

ufw delete allow 8080/tcp

참고 : "502 Bad Gateway"를 받으려면 tomcat8을 다시 시작해야 합니다.

service tomcat8 restart

인증서 자동 갱신

인증서를 암호화합시다. 이를 위해 크론 작업을 만들 수 있습니다. 를 편집하여 시작하십시오 crontab.

crontab -e

다음 줄을 추가하십시오.

00 2 * * * /usr/bin/certbot renew --quiet

인증서는 갱신이 필요한 경우 오전 2시에 확인하고 필요한 경우 갱신합니다.

6 단계-모두 테스트

Guacamole 서버로 이동하십시오 ( http://<ip>/또는 https://rdp.example.com)).

이 테스트를 위해서는 두 개의 인스턴스가 더 필요합니다. 하나는 Linux VM과 다른 하나는 Windows Server 2012 R2 (개인 IP가 둘 다 활성화 됨)입니다.

Windows RDP 연결 추가

username오른쪽 상단 모서리에 있는 " "를 클릭하고 " "으로 이동하십시오 Settings. 그런 다음 " Connections" 로 이동하여 " "를 선택하십시오 New Connection.

다음 설정을 작성하십시오 (다른 설정은 기본값으로 둘 수 있음).

Name: Windows Server 2012 R2
Location: ROOT
Protocol: RDP
Maximum number of connections: 1
Maximum number of connections per user: 1
Parameters > Hostname: 10.99.0.12
Parameters > Port: 3389
Username: Administrator
Password: <password> (provided by Vultr)
Security mode: Any
Ignore server certificate: <checked>

" save"를 누르고 홈 화면으로 돌아갑니다. 이제 " Windows Server 2012 R2"연결을 클릭 하면이 컴퓨터로 RDP가 연결됩니다.

Linux SSH 연결 추가

" Ctrl+Shift+Alt"를 누릅니다 . 측면에 메뉴가 나타납니다. 여기서 Guacamole에 대한 다른 관리 작업을 연결 해제하거나 수행 할 수 있습니다.

username메뉴 상단 의 를 클릭하고 " Settings" 로 이동하십시오 . 그런 다음 " Connections"탭으로 이동하여 " "를 선택하십시오 New Connection.

다음 설정을 작성하십시오 (다른 설정은 기본값으로 둘 수 있음).

Name: Linux
Location: ROOT
Protocol: SSH
Maximum number of connections: 5
Maximum number of connections per user: 2
Parameters > Hostname: 10.99.0.11
Parameters > Port: 22
Username: root
Password: <password> (provided by Vultr)

" save"를 누르고 홈 화면으로 돌아갑니다. 이제 새로 생성 된 연결을 클릭하고 SSH를 통해 Linux 서버에 연결할 수 있습니다.

결론

이제 웹 RDP / SSH HTML5 게이트웨이가 있습니다. 이제 플랫폼의 공개 RDP 및 SSH 액세스를 방화벽 처리하고 최신 브라우저에서 환경에 액세스 할 수 있습니다. 과카 몰리가 제공 할 수있는 것에 대한 자세한 내용은 여기 에 플랫폼의 모든 가능성을 보여주는 훌륭한 비디오가 있습니다 .



Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.