Leave Your Message
*Name Cannot be empty!
* Enter product details such as size, color,materials etc. and other specific requirements to receive an accurate quote. Cannot be empty
শিল্প কম্পিউটারের সেন্টওএস সিস্টেমের কার্নেল আপগ্রেড করার তিনটি উপায়
ব্লগ

শিল্প কম্পিউটারের সেন্টওএস সিস্টেমের কার্নেল আপগ্রেড করার তিনটি উপায়

২০২৪-১০-১৭ ১৫:০৮:৪৪

CentOS ব্যবহারের সময় কার্নেল আপগ্রেড করা অপরিহার্য, কিন্তু কখনও কখনও সোর্স কোড কম্পাইলেশন নির্ভরতা জনিত সমস্যার কারণে সব প্রোগ্রাম সর্বশেষ কার্নেল সংস্করণ সমর্থন করে না। তাই, নিচে কার্নেল আপগ্রেড করার তিনটি উপায় তুলে ধরা হলো।

দ্রষ্টব্য:
কার্নেলের প্রকারভেদ সম্পর্কে:
kernel-ml-এর ml হলো ইংরেজিতে [mainline stable]-এর সংক্ষিপ্ত রূপ, এবং সর্বশেষ স্থিতিশীল মেইনলাইন সংস্করণটি elrepo-kernel-এ তালিকাভুক্ত থাকে।
kernel-lt-এর lt হলো ইংরেজিতে [long term support]-এর সংক্ষিপ্ত রূপ, এবং দীর্ঘমেয়াদী সমর্থন সংস্করণটি elrepo-kernel-এ তালিকাভুক্ত থাকে।
কার্নেল সংস্করণ পরীক্ষা করুন
uname -r

ছবি ১
সূচিপত্র

১. yum ইনস্টলেশন

১. রিপোজিটরি সোর্স ইম্পোর্ট করুন
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
২. ইনস্টলযোগ্য প্যাকেজগুলি দেখুন
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
কার্নেল-এমএল.এক্স৮৬_৬৪
৩. ইনস্টল করার জন্য এমএল বা এলটি সংস্করণ নির্বাচন করুন।
কোনো সংস্করণ নির্দিষ্ট করা না থাকলে, ডিফল্টরূপে সর্বশেষ সংস্করণটি ইনস্টল করা হয়।
এমএল সংস্করণ ইনস্টল করুন
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
LT সংস্করণ ইনস্টল করুন, সমস্ত K8S-এর জন্য এটি নির্বাচন করুন।
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
৪. বর্তমান কার্নেল বুট সিকোয়েন্স পরীক্ষা করুন।
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
৫. ডিফল্ট বুট আইটেমটি পরিবর্তন করুন
xxx হলো ক্রমিক সংখ্যা, যা বুট তালিকার x-তম আইটেমটিকে বুট আইটেম হিসেবে নির্দিষ্ট করে, এবং x-এর গণনা ০ থেকে শুরু হয়।
grub2-set-default xxxx
উদাহরণস্বরূপ, যদি আপনি এটিকে কার্নেল ৪.৪ দিয়ে বুট করার জন্য সেট করতে চান
তারপর সরাসরি 'grub2-set-default 0' লিখুন, এবং পরের বার চালু করার সময় আপনি ৪.৪ থেকে শুরু করতে পারবেন।
কার্নেল বুট সিকোয়েন্স পরীক্ষা করুন
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
সেন্টওএস লিনাক্স (4.4.179-1.el7.elrepo.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (3.10.0-693.el7.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (কোর)
বুট ক্রমিক সংখ্যা সেট করুন
[root@localhost ~] grub2-set-default 0
রিবুট
রিবুট
কার্নেল সংস্করণ পরীক্ষা করুন
uname -r

ছবি ২

২. আরপিএম ইনস্টলেশন

কার্নেল সংস্করণ পরীক্ষা করুন
uname -r
১. সংস্করণটি খুঁজুন
যেহেতু ELRepo সোর্সটি সর্বশেষ সংস্করণ, তাই কার্নেলের পুরোনো সংস্করণটি শুধুমাত্র ম্যানুয়ালি ডাউনলোড করা যাবে।
কার্নেল rpm-এর ঐতিহাসিক সংস্করণটি খুঁজুন:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
২. আপনাকে তিন ধরনের rpm ডাউনলোড করতে হবে।
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
৩. কার্নেল ইনস্টল করুন
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
অথবা
এক ক্লিকে সবকিছু ইনস্টল করুন
rpm -Uvh *.rpm
৪. ইনস্টল করা কার্নেল সংস্করণটি নিশ্চিত করুন।
[root@localhost ~]# rpm -qa | grep kernel
কার্নেল-হেডার্স-৩.১০.০-১১৬০.১৫.২.el7.x86_64
কার্নেল-ডেভেল-৩.১০.০-১১৬০.৪৯.১.ইএল৭.এক্স৮৬_৬৪
কার্নেল-টুলস-লাইব্রেরি-৩.১০.০-৯৫৭.ইএল৭.এক্স৮৬_৬৪
কার্নেল-৩.১০.০-৯৫৭.ইএল৭.এক্স৮৬_৬৪
কার্নেল-এমএল-৪.৯.৯-১.ইএল৭.ইএলরেপো.এক্স৮৬_৬৪
কার্নেল-এলটি-৪.৪.২১৫-১.ইএল৭.ইএলরেপো.এক্স৮৬_৬৪
কার্নেল-টুলস-৩.১০.০-৯৫৭.ইএল৭.এক্স৮৬_৬৪
কার্নেল-এলটি-ডেভেল-4.4.215-1.el7.elrepo.x86_64

৫. স্টার্টআপ সেট করুন
স্টার্টআপ অর্ডার পরীক্ষা করুন
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
সেন্টওএস লিনাক্স (4.4.215-1.el7.elrepo.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (4.9.9-1.el7.elrepo.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (3.10.0-957.el7.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (কোর)
বুট অর্ডার সেট করুন
[root@localhost ~]# grub2-set-default 0
কার্যকর হতে রিবুট করুন
[root@localhost ~]# রিবুট

৩. সোর্স কোড ইনস্টলেশন

১. মূল সফটওয়্যার প্যাকেজটি ইনস্টল করুন
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
২. একটি কার্নেল কম্পাইলেশন ডিরেক্টরি তৈরি করুন
home-এর অধীনে kernelbuild ডিরেক্টরি ব্যবহার করুন
mkdir ~/kernelbuild
৩. কার্নেল সোর্স কোড সংগ্রহ করুন।
সিংহুয়া বিশ্ববিদ্যালয় মিরর সাইট:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
অন্যান্য সোর্স কোড ইনস্টলেশন প্যাকেজ ডাউনলোডের ঠিকানা:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
উভয় ফরম্যাটই গ্রহণযোগ্য, তবে tar.xz-এর কম্প্রেশন রেট বেশি এবং ফাইলের আকারও ছোট।
অনলাইনে ডাউনলোড করুন: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
৪. কার্নেল কোডটি আনজিপ করুন
আনজিপ করার পর, সোর্স ডিরেক্টরিতে প্রবেশ করুন:
tar -xvJf linux-4.17.11.tar.xz
কার্নেল ট্রি সম্পূর্ণ পরিষ্কার আছে কিনা তা নিশ্চিত করতে, কার্নেল ডিরেক্টরিতে প্রবেশ করুন এবং `make mrproper` কমান্ডটি চালান:
cd linux-4.17.11
পরিষ্কার করুন এবং যথাযথ করুন

৫. কার্নেল কনফিগারেশন
বর্তমান কার্নেল কনফিগারেশন ফাইলটি কপি করুন
config-3.10.0-862.el7.x86_64 হলো আমার বর্তমান পরিবেশের কার্নেল কনফিগারেশন ফাইল, প্রকৃত পরিস্থিতি অনুযায়ী এটি পরিবর্তন করুন।
cp /boot/config-3.10.0-862.el7.x86_64 .config
উন্নত কনফিগারেশন
y সক্রিয়, n নিষ্ক্রিয়, এবং m প্রয়োজনে সক্রিয় করা হয়।
make menuconfig: পুরানো ncurses ইন্টারফেস, যা nconfig দ্বারা প্রতিস্থাপিত হয়েছে
make nconfig: নতুন কমান্ড লাইন ncurses ইন্টারফেস
৬. সংকলন এবং ইনস্টল করুন
কার্নেল কম্পাইল করুন
যদি আপনার একটি কোয়াড-কোর মেশিন থাকে, তাহলে x এর মান 8 হতে পারে।
make -jx
কার্নেল ইনস্টল করুন
কার্নেল কম্পাইল করার পর, ইনস্টল করুন: সতর্কীকরণ: এখন থেকে কমান্ড চালানোর জন্য আপনার রুট প্রিভিলেজ প্রয়োজন হবে, অন্যথায় এটি ব্যর্থ হবে।
মডিউল_ইনস্টল করুন ইনস্টল করুন
৭. স্টার্টআপ প্রতিষ্ঠা করুন
স্টার্টআপ সিকোয়েন্স পরীক্ষা করুন
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
সেন্টওএস লিনাক্স (4.17.11-1.el7.elrepo.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (4.9.9-1.el7.elrepo.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (3.10.0-957.el7.x86_64) 7 (কোর)
সেন্টওএস লিনাক্স (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (কোর)
বুট অর্ডার সেট করুন
[root@localhost ~]# grub2-set-default 0
কার্যকর হতে রিবুট করুন
[root@localhost ~]# রিবুট


সম্পর্কিত পণ্য

ইন্টেল® ১২তম/১৩তম/১৪তম প্রজন্মের কোর™ আই৯/আই৭/আই৫ কম্প্যাক্ট ইন্ডাস্ট্রিয়াল ফ্যানলেস এমবেডেড পিসিইন্টেল® ১২তম/১৩তম/১৪তম প্রজন্মের কোর™ আই৯/আই৭/আই৫ কম্প্যাক্ট ইন্ডাস্ট্রিয়াল ফ্যানলেস এমবেডেড পিসি-প্রোডাক্ট
০১

ইন্টেল® ১২তম/১৩তম/১৪তম প্রজন্মের কোর™ আই৯/আই৭/আই৫ কম্প্যাক্ট ইন্ডাস্ট্রিয়াল ফ্যানলেস এমবেডেড পিসি

২০২৫-১২-২৩

১. সিপিইউ: ইন্টেল® ১২তম/১৩তম/১৪তম প্রজন্মের কোর™ ৬৫ওয়াট/৩৫ওয়াট এলজিএ১৭০০ প্রসেসর সমর্থন করে।
২. মেমরি: ১টি SODIMM স্লট, যা ৩২ জিবি পর্যন্ত নন-ECC DDR4 3200 SDRAM সমর্থন করে।
৩. চিত্র: ইন্টিগ্রেটেড ইন্টেল® ইউএইচডি গ্রাফিক্স ৭৭০ (৩২ইইউ) / ৭৩০ (২৪ইইউ)
৪. ডিসপ্লে ইন্টারফেস: ১টি ভিজিএ পোর্ট, যা ১৯২০ x ১২০০ পর্যন্ত রেজোলিউশন সমর্থন করে; ১টি ডিসপ্লেপোর্ট পোর্ট, যা ৪০৯৬ x ২৩০৪ পর্যন্ত রেজোলিউশন সমর্থন করে।
৫. স্টোরেজ: ১টি সহজে পরিবর্তনযোগ্য ২.৫" ড্রাইভ বে, ১টি এম.২ ২২৮০ এম-কী স্লট (PCIe Gen4x4), যা এনভিএমই এসএসডি সমর্থন করে।
৬. ইথারনেট: ৪টি ২.৫জিবেস-টি ইথারনেট পোর্ট, যাতে ১টি ইন্টেল® আই২২৬-আইটি গিগাবিট ইথারনেট কন্ট্রোলার ব্যবহৃত হয়েছে।
৭. ইউএসবি: ৪টি ইউএসবি ৩.২ জেন১ (৫ জিবিপিএস) পোর্ট, ২টি ইউএসবি ২.০ পোর্ট।
৮. মাপ: ২১২ মিমি (প্রস্থ) x ১৬৫ মিমি (গভীরতা) x ৪৫ মিমি (উচ্চতা), ওজন প্রায় ২.৪ কেজি

বিস্তারিত দেখুন
ইন্টেল® কোর™ আল্ট্রা 200S এআই কম্পিউটিং প্ল্যাটফর্ম ফ্যানবিহীন মিনি পিসিইন্টেল® কোর™ আল্ট্রা 200S এআই কম্পিউটিং প্ল্যাটফর্ম ফ্যানবিহীন মিনি পিসি-পণ্য
০২

ইন্টেল® কোর™ আল্ট্রা 200S এআই কম্পিউটিং প্ল্যাটফর্ম ফ্যানবিহীন মিনি পিসি

২০২৫-১২-২৩
  1. সিপিইউ: ইন্টেল® কোর সমর্থন করে আল্ট্রা 200S সিপিইউ (এলজিএ 1851 সকেট, 65W/35W)
  2. মেমরি: ১টি SODIMM স্লট, যা ৬৪ জিবি পর্যন্ত DDR5 6400 মেমরি সমর্থন করে।
  3. ছবি: ইন্টিগ্রেটেড ইন্টেল® এক্সই এলপিজি গ্রাফিক্স
  4. ডিসপ্লে ইন্টারফেস: ১টি HDMI পোর্ট, যা সর্বোচ্চ ৩৮৪০ x ২১৬০ রেজোলিউশন সমর্থন করে; ১টি DisplayPort পোর্ট, যা সর্বোচ্চ ৩৮৪০ x ২১৬০ রেজোলিউশন সমর্থন করে।
  5. স্টোরেজ: ১টি সহজে পরিবর্তনযোগ্য ২.৫" ড্রাইভ বে (৭মিমি হার্ড ড্রাইভ/এসএসডি ইনস্টল করা যায়), ১টি এম.২ ২২৮০ এম-কী স্লট (PCIe Gen4x4), যা এনভিএমই এসএসডি সমর্থন করে।
  6. ইথারনেট: লকিং স্ক্রু সহ ৪টি ২.৫জিবেস-টি ইথারনেট পোর্ট, যা একটি ইন্টেল আই২২৬ গিগাবিট ইথারনেট কন্ট্রোলার ব্যবহার করে। পোর্ট ৪ ওয়েক-অন-নেটওয়ার্ক (WOL) সমর্থন করে।
  7. ইউএসবি: ৪টি ইউএসবি ৩.২ জেন১ (৫ জিবিপিএস) পোর্ট, ২টি ইউএসবি ২.০ পোর্ট
  8. মাপ: ২১২ মিমি (প্রস্থ) x ১৬৫ মিমি (গভীরতা) x ৬৩ মিমি (উচ্চতা), ওজন প্রায় ২.২ কেজি
  9. এর জন্য উপযুক্ত: রোবোটিক আর্ম, এএমআর, মেশিন ভিশন সিস্টেম এবং রোডসাইড ক্যাবিনেট।
বিস্তারিত দেখুন
আর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই ইন্ডাস্ট্রিয়াল ফ্যানলেস মিনি পিসিআর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই শিল্প ফ্যানবিহীন মিনি পিসি-পণ্য
০৩

আর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই ইন্ডাস্ট্রিয়াল ফ্যানলেস মিনি পিসি

২০২৫-১২-১০
  1. সিপিইউ: ৮ x আর্ম® কর্টেক্স®-এ৭৮এই ভি৮.২ (জেটসন এজিএক্স অরিন ৩২জি)

১২ x Arm® Cortex®-A78AE v8.2 (Jetson AGX Music 64G)

  1. মেমরি: ৩২ জিবি/৬৪ জিবি
  2. ডিসপ্লে: ১ x এইচডিএমআই ২.০বি, ৩৮৪০ x ২১৬০@৬০হার্টজ
  3. ইথারনেট: ১ x ১০/১০০/১০০০ এমবিপিএসRJ45,1 x 10 Gbpsআরজে৪৫
  4. ইউএসবি: ১টি ইউএসবি ৩.২ জেন২, টাইপ-সি / ২টি ইউএসবি ৩.২ জেন১, টাইপ-এ / ১টি ইউএসবি ২.০, ওএস ফ্ল্যাশের জন্য টাইপ-সি / ১টি ইউএসবি ২.০, ডিবি১৫
  5. COM:১ x RS-232,DB9 ১ x RS-422/485,DB9
  6. ওয়্যারলেস ইন্টারফেস: ওয়াই-ফাই/ব্লুটুথ/সেলুলার/জিপিএস
  7. পাওয়ার: ১২~৩৬ ভোল্ট ডিসি
  8. মাপ: ২৭০ x ১৯৫ x ৮০ মিমি, ওজন প্রায় ৪.২ কেজি
  9. অপারেটিং সিস্টেম:উবুন্টু ডেস্কটপ
বিস্তারিত দেখুন
আর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই ইন্ডাস্ট্রিয়াল ফ্যানলেস মিনি পিসিআর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই শিল্প ফ্যানবিহীন মিনি পিসি-পণ্য
০৪

আর্ম সিস্টেম এনভিডিএলএ জেটসন™ এজ এআই ইন্ডাস্ট্রিয়াল ফ্যানলেস মিনি পিসি

২০২৫-১২-০৯
  1. সিপিইউ:৬ x Arm® Cortex®-A78AE v8.2 (Jetson Music Nano 4G/Jetson Music Nano 8G/Jetson Music NX 8G)
  2. 8 x Arm® Cortex®-A78AE v8.2(Jetson Orin NX 16G)
  3. জিপিইউ: ১৬টি টেনসর কোর সহ ৫১২-কোরের এনভিডিয়া অ্যাম্পিয়ার জিপিইউ / ৩২টি টেনসর কোর সহ ১০২৪-কোরের এনভিডিয়া অ্যাম্পিয়ার জিপিইউ
  4. মেমরি: ৪ জিবি ৬৪-বিট এলপিডিডিআর৫, ৮ জিবি ১২৮-বিট এলপিডিডিআর৫, ১৬ জিবি ১২৮-বিট এলপিডিডিআর৫
  5. ডিসপ্লে: ১ x এইচডিএমআই ১.৪এ, ৩৮৪০ x ২১৬০ @৩০হার্জ / ১ x এইচডিএমআই ২.০বি, ৩৮৪০ x ২১৬০ @৬০হার্জ
  6. ইথারনেটঃ ২ x ১০/১০০/১০০০ এমবিপিএস, আরজে৪৫
  7. ইউএসবি (বা হেডার): ৩টি ইউএসবি ৩.২ জেন১, টাইপ-এ, ১টি ইউএসবি ২.০, ওএস ফ্ল্যাশের জন্য মাইক্রো-ইউএসবি, ২টি ইউএসবি ২.০, পিন হেডার (অভ্যন্তরীণ)
  8. COM: ২ x RS-232/422/485, DB9.1 x CAN বাস, DB9
  9. ওয়্যারলেস ইন্টারফেস: ওয়াই-ফাই/ব্লুটুথ/সেলুলার/জিপিএস
  10. মাপ: বোর্ড: ৩.৫", ১৪৬ x ১০৫ মিমি / সিস্টেম: ১৫২ x ১১৪ x ৭২ মিমি, ওজন প্রায় ১.৪ কেজি
  11. অপারেটিং সিস্টেম: উবুন্টু ডেস্কটপ
বিস্তারিত দেখুন
সিনস্মার্ট ১০.৯৫ ইঞ্চি এমটি৬৮৭৮ অ্যান্ড্রয়েড ১৫ আউটডোর ইন্ডাস্ট্রিয়াল রাগড ট্যাবলেটসিনস্মার্ট ১০.৯৫ ইঞ্চি এমটি৬৮৭৮ অ্যান্ড্রয়েড ১৫ আউটডোর ইন্ডাস্ট্রিয়াল রাগড ট্যাবলেট-পণ্য
০৫

সিনস্মার্ট ১০.৯৫ ইঞ্চি এমটি৬৮৭৮ অ্যান্ড্রয়েড ১৫ আউটডোর ইন্ডাস্ট্রিয়াল রাগড ট্যাবলেট

২০২৫-১১-১০

সিপিইউ: এমটি৬৮৭৮
জিপিইউ: মালি-জি৬১৫
অপারেটিং সিস্টেম: অ্যান্ড্রয়েড ১৫/ জিএমএস
মেমরি: ১২ জিবি
ধারণক্ষমতাঃ ২৫৬ জিবি
ডিসপ্লেঃ ১০.৯৫ ইঞ্চি টিএফটি ১৬:১০, ১২০০ x ১৯২০, ৪৫০ নিটস, ১০-পয়েন্ট ক্যাপাসিটিভ
ক্যামেরাঃ ফ্রন্ট ক্যামেরা ৩২ মেগাপিক্সেল, ফিক্সড ফোকাস; রিয়ার মেইন ক্যামেরা ৬৪ মেগাপিক্সেল, অটোফোকাস, পিডিএএফ সাপোর্ট; নাইট ভিশন ২০ মেগাপিক্সেল, অটোফোকাস
ওয়্যারলেস যোগাযোগঃ ওয়াইফাই৬ই, ব্লুটুথ (বিটি৫.৪ (বিএলই) ক্লাস১), ৫জি, এল১+এল৫ জিপিএস/বেইডু/গ্যালিলিও/গ্লোনাস সমর্থন করে, এজিপিএস সমর্থন করে
মাপঃ ২৬৩.৪১*১৭৮*১৯.১ মিমি, ওজন প্রায় ৯৭০ গ্রাম

মডেল: SIN-T1101E-6878

বিস্তারিত দেখুন
০১

LET'S TALK ABOUT YOUR PROJECTS

  • sinsmarttech@gmail.com
  • 3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China

Our experts will solve them in no time.