Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gorshkov-leonid/46ac66f36cc09b0712dd3c8b128e2e61 to your computer and use it in GitHub Desktop.
Save gorshkov-leonid/46ac66f36cc09b0712dd3c8b128e2e61 to your computer and use it in GitHub Desktop.
How to Get Chrome browser

Official

  1. Chrome for Testing since 113, see Chrome JSON API endpoints and npx @puppeteer/browsers ...
  2. Download Chromium
  3. Download Chromium History Version get Chromium by version of Chrome. Here all tags and info for tag
  4. Chromium Snaphots

CentOS

cat <<'EOF' > /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
EOF

Stackoverflow

yum repoinfo google-chrome

Unfortunately, Google doesn't preserve old versions of their browser in their publicly available repository.

yum --disablerepo "*" --enablerepo "google-chrome" list available

http://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-stable-110.0.5481.177-1.x86_64.rpm

Ubuntu/Debian

  1. Downloadable packages

  2. Versions list of debian packages

http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_91.0.4456.0-1_amd64.deb

@gorshkov-leonid
Copy link
Author

gorshkov-leonid commented Aug 22, 2023

Error for chromium 96-97:

.../chrome: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by .../chrome)
TROUBLESHOOTING: https://pptr.dev/troubleshooting
    at Interface.onClose (/tmp/graph-view-export1638255717803083725/exportChrome.js:70279:24)
    at Interface.emit (node:events:339:22)
    at Interface.close (node:readline:424:8)
    at Socket.onend (node:readline:202:10)
    at Socket.emit (node:events:339:22)
    at endReadableNT (node:internal/streams/readable:1289:12)
    at processTicksAndRejections (node:internal/process/task_queues:80:21)

stack overflow 1
Probably fixed here

Useful links:

Useful commands:

ldd chrome | grep [lL][iI][bB][cC]

output:

./chrome: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./chrome)
        libcups.so.2 => /lib64/libcups.so.2 (0x00007f53a9745000)
        libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f53a70cd000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f53a63b8000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f53a4dcd000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f53a46fb000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f53a40a6000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f53a0a97000)

strings /lib64/libc.so.6 | grep -P '^GLIBC_'

output:

  GLIBC_2.2.5
  GLIBC_2.2.6
  GLIBC_2.3
  GLIBC_2.3.2
  GLIBC_2.3.3
  GLIBC_2.3.4
  GLIBC_2.4
  GLIBC_2.5
  GLIBC_2.6
  GLIBC_2.7
  GLIBC_2.8
  GLIBC_2.9
  GLIBC_2.10
  GLIBC_2.11
  GLIBC_2.12
  GLIBC_2.13
  GLIBC_2.14
  GLIBC_2.15
  GLIBC_2.16
  GLIBC_2.17
  GLIBC_PRIVATE
  GLIBC_2.8
  GLIBC_2.5
  GLIBC_2.9
  GLIBC_2.7
  GLIBC_2.6
  GLIBC_2.11
  GLIBC_2.16
  GLIBC_2.10
  GLIBC_2.17
  GLIBC_2.13
  GLIBC_2.2.6

@gorshkov-leonid
Copy link
Author

gorshkov-leonid commented Aug 22, 2023

No usable sandbox!

[0821/223958.905500:FATAL:zygote_host_impl_linux.cc(124)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to l
ive dangerously and need an immediate workaround, you can try using --no-sandbox.
#0 0x5577c0764d1c base::debug::StackTrace::StackTrace()
#1 0x5577c077d9f0 logging::LogMessage::~LogMessage()
#2 0x5577bf801fd1 content::ZygoteHostImpl::Init()
#3 0x5577bf474515 content::BrowserMainLoop::EarlyInitialization()
#4 0x5577bf47a319 content::BrowserMainRunnerImpl::Initialize()
#5 0x5577c45d02d8 headless::HeadlessContentMainDelegate::RunProcess()
#6 0x5577c049e230 content::RunNamedProcessTypeMain()
#7 0x5577c049eb18 content::ContentMainRunnerImpl::Run()
#8 0x5577c04a8764 service_manager::Main()
#9 0x5577c049d744 content::ContentMain()
#10 0x5577c45cf2e9 headless::(anonymous namespace)::RunContentMain()
#11 0x5577c45cf372 headless::HeadlessBrowserMain()
#12 0x5577c04a57df headless::HeadlessShellMain()
#13 0x5577beaf81ac ChromeMain
#14 0x7f31d83803d5 __libc_start_main
#15 0x5577beaf802a _start

Received signal 6
#0 0x5577c0764d1c base::debug::StackTrace::StackTrace()
#1 0x5577c0764881 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f31de2b5680 <unknown>
#3 0x7f31d8394207 __GI_raise
#4 0x7f31d83958f8 __GI_abort
#5 0x5577c0763315 base::debug::BreakDebugger()
#6 0x5577c077de3a logging::LogMessage::~LogMessage()
#7 0x5577bf801fd1 content::ZygoteHostImpl::Init()
#8 0x5577bf474515 content::BrowserMainLoop::EarlyInitialization()
#9 0x5577bf47a319 content::BrowserMainRunnerImpl::Initialize()
#10 0x5577c45d02d8 headless::HeadlessContentMainDelegate::RunProcess()
#11 0x5577c049e230 content::RunNamedProcessTypeMain()
#12 0x5577c049eb18 content::ContentMainRunnerImpl::Run()
#13 0x5577c04a8764 service_manager::Main()
#14 0x5577c049d744 content::ContentMain()
#15 0x5577c45cf2e9 headless::(anonymous namespace)::RunContentMain()
#16 0x5577c45cf372 headless::HeadlessBrowserMain()
#17 0x5577c04a57df headless::HeadlessShellMain()
#18 0x5577beaf81ac ChromeMain
#19 0x7f31d83803d5 __libc_start_main
#20 0x5577beaf802a _start
  r8: 00007f31de6a6ac0  r9: 0000000000000002 r10: 0000000000000008 r11: 0000000000000206
 r12: 00007fff83004908 r13: 0000000000000161 r14: 00007fff83004910 r15: 00007fff830044a9
  di: 0000000000009b48  si: 0000000000009b48  bp: 00007fff83004450  bx: 00007fff830044c0
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp: 00007fff83004318
  ip: 00007f31d8394207 efl: 0000000000000206 cgf: 0000000000000033 erf: 0000000000000007
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007fe489ec6b00
[end of stack trace]

stackexchange
Вопрос зачем sandbox нужен с well-known использованием на сервере, где открывается тольк овнутренний сервер.

Какая-то информация про этот режим:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment