In this post, I would like to pick the latest stable version 510.68.02 which was released on April 26, 2022. After your downloading finished, remember to make the file
executable with chmod +x NVIDIA-Linux-x86_64-510.68.02.run, and copy it to $HOME/Software/VGA-1060-key, you will need to execute this file each time your update your kernels.
Step 3: Generate new pair private-key and public-key
Your directory tree should look like:
Step 4: Enroll new public key with mokutil
You need to run this command to import your new public key with mokutil, this program will ask you a password for enrolling, which then be asked in the next reboot.
Step 5: Make install.sh in VGA-1060-key directory
This is install.sh content:
Each time you update your kernel, you need to go boots OS with level 3 and run this script install.sh.
Step 5: Install package dependencies & update OS
This step ensure you got the lastest kernel & all dependent packages.
Create or edit /etc/modprobe.d/blacklist-nouveau.conf
Edit /etc/default/grub
Append following flag to the end of GRUB_CMDLINE_LINUX
rd.driver.blacklist=nouveau
modprobe.blacklist=nouveau
nvidia-drm.modeset=1
For example:
Step 7: Update grub2 config & generate new initramfs
grub2-mkconfig -o /boot/grub2/grub.cfg;## Backup old initramfs nouveau image ##mv /boot/initramfs-$(uname-r).img /boot/initramfs-$(uname-r)-with-nouveau.img;## Generate new initramfs image ##
dracut /boot/initramfs-$(uname-r).img $(uname-r);
Step 8: Boots OS on level 3 and execute the install.sh
Boots OS on level 3 and reboot
After login, go to VGA-1060-key directory and execute install.sh. At this step, just keep accepting and the driver will be installed.
After installing vga driver, you will need reboot OS on level 5 - graphical
Next time, if you update your kernel, you can run this step (Step 8) again, it should be fine. In addition, you should encrypt your private-key with gpg,
it’s not a good practice leave it unencrypted. You can check this guide Mã hóa và giải mã file trên linux sử dụng GPG
# Data directory (blockchain db and indices)
data-dir=/mnt/disk_2/CryptoCurrency/Monero# Remember to create the monero user first
# Log file
log-file=/mnt/disk_2/CryptoCurrency/Monero/log/monerod.logmax-log-file-size=0# Prevent monerod from managing the log files; we want logrotate to take care of that
log-level=0# P2P full node
p2p-bind-ip=0.0.0.0# Bind to all interfaces (the default)
p2p-bind-port=18080# Bind to default port
add-peer=nodes.hashvault.pro:18080# RPC Restricted IP/PORT
rpc-restricted-bind-ip=0.0.0.0rpc-restricted-bind-port=18081# RPC Full Permission, local access only
rpc-bind-ip=127.0.0.1# Bind to all interfaces
rpc-bind-port=18084# Bind on default port
confirm-external-bind=1# Open node (confirm)
no-igd=1# Disable UPnP port mapping
zmq-pub=tcp://127.0.0.1:18083# Slow but reliable db writes
db-sync-mode=safe:syncblock-sync-size=10prep-blocks-threads=28# Emergency checkpoints set by MoneroPulse operators will be enforced to workaround potential consensus bugs
# Check https://monerodocs.org/infrastructure/monero-pulse/ for explanation and trade-offs
enforce-dns-checkpointing=1out-peers=128# This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays
in-peers=128# The default is unlimited; we prefer to put a cap on this
limit-rate-up=1048576# 1048576 kB/s == 1GB/s; a raise from default 2048 kB/s; contribute more to p2p network
limit-rate-down=1048576# 1048576 kB/s == 1GB/s; a raise from default 8192 kB/s; allow for faster initial sync
II. Systemctl service - /etc/systemd/system/monero.service
IV. Firewall-cmd service - /etc/firewalld/services/alephium.xml
Port List:
9973: p2p
10973: miner
12973: api (danger to expose to the internet.)
<?xml version="1.0" encoding="utf-8"?><service><short>Alephium node</short><description>
This option allows Alephium node to use tcp port 9973, 10973
</description><portprotocol="tcp"port="9973"/><portprotocol="tcp"port="10973"/></service>
II. Firewall-cmd service - /etc/firewalld/services/bitcoin.xml
<?xml version="1.0" encoding="utf-8"?><service><short>Bitcoin node</short><description>This option allows Bitcoin node to use tcp port 8333</description><portprotocol="tcp"port="8333"/></service>
In Redash, there is a big demand for dropdown with ALL value. However, it’s tricky to write where statement for ALL value. This post is all about work-around this issue.
Thank for my colleague - Trieu. All Credit to him.
The dropdown configuration is in the following image.
In the where section, condition statement should look like this one
In the script above, it cast to varchar[], if column typed uuid, change the casted type to ::uuid[]
Mục đích sau cùng của tất cả những thứ này là gia tăng trải nghiệm người dùng. Một doanh nghiệp có thể đang sử dụng nhiều ứng dụng. Mỗi ứng dụng này chắn chắn sẽ chứa users. Cách làm truyền thống và dễ gặp nhất đó là mỗi ứng dụng sẽ có một danh sách users tách biệt. Tuy nhiên, cách làm này làm giảm trải nghiệm người dùng rất nhiều, họ phải đăng nhập lại cho mỗi ứng dụng họ muốn sử dụng, ghi nhớ password; là người quản trị, việc thêm users / xóa users cho hệ thống cũng sẽ mệt mỏi vì phải làm việc này cho từng ứng dụng một, thậm chí ngoài ra còn là về vấn đề bảo mật, chúng ta càng bắt users phải nhập nhiều mật khẩu bao nhiêu, chúng ta càng làm họ dễ mất mật khẩu. Tôi đã từng thấy những người họ sử dụng 1 hoặc 2 mật khẩu và áp dụng nó từ tài khoản zing, gmail cho đến flickr.
Với phía là doanh nghiệp, việc có một hệ thống quản lý danh sách users, hệ thống này là trung gian, nằm chính giữa tất cả các ứng dụng sẽ cực kỳ hữu ích.
II. Các đối tượng tham gia
Identity Provider: Chứa thông tin của users, bên cạnh đó cung cấp giao thức để users có thể đăng nhập vào các ứng dụng (service provider) mà không cần đăng ký lại.
Service Provider*: Ở trong bài viết này, nó được xem như là ứng dụng, để truy cập vào ứng dụng này, chắn chắn users cần đăng nhập. Và với sự hỗ trợ của Identity Provider, nguồn users của ứng dụng sẽ đến từ Identify Provider.
User-Agent: Trình duyệt web
III. Nguyên lý
Sequence Diagram dưới đây miêu tả những từng bước một bắt đầu từ việc users vào service provider, hay còn gọi cách khác là SP-Initiated.
Trong bài viết này, tôi không đề cập đến sequence diagram bắt đầu từ Identity Provider(IdP-Initiated).